actor SkullBarrierWep : MegaBuster
{
Weapon.AmmoUse 1
Weapon.AmmoGive 112
Weapon.SlotNumber 7
Obituary "%o was boned by %k's skull barrier."
Inventory.Pickupmessage "Power up! Skull Barrier!"
weapon.ammotype "SkullBarrierAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
inventory.icon "SKLBSI"
Scale 2.0
States
{
Spawn:
WEA2 O 0
WEA2 O 0 A_JumpIf(ACS_ExecuteWithResult(975,0)==1,"Death")
WEA2 O 0 A_JumpIf(ACS_ExecuteWithResult(975,0)==3,"Death")
WEA2 O 1 A_JumpIf(ACS_ExecuteWithResult(975,0)==4,"Death")
WEA2 O 1
Goto Spawn + 3
loop
Ready:
SKLA A 0 ACS_ExecuteAlways(998,0,34)
SKLA A 0 ACS_ExecuteAlways(994,0)
SKLA A 1 A_WeaponReady
Goto Ready+2
Deselect:
SKLA A 0 A_ChangeFlag("DONTRIP",0)
SKLA A 0 A_ChangeFlag("SHOOTABLE",1)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
SKLA A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
SKLA A 1 A_Raise
Loop
Fire:
SKLA A 1 ACS_ExecuteAlways(994,0)
SKLA A 0 A_JumpIfNoAmmo("Hold")
SKLA A 0 A_TakeInventory("BasicArmor",9999)
SKLA A 0 A_ChangeFlag("SHOOTABLE",0)
SKLA A 0 A_ChangeFlag("DONTRIP",1)
SKLA A 0 A_GiveInventory("ShieldCheck",1)
SKLA IJ 2 
Goto BarrierActive
BarrierActive:
SKLA K 1 A_SpawnItemEx("SkullBarrier1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier1", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier2", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA A 0 A_TakeInventory("SkullBarrierAmmo",1)
SKLA K 1 A_SpawnItemEx("SkullBarrier3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier3", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier4", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA A 0 A_TakeInventory("SkullBarrierAmmo",1)
SKLA K 1 A_SpawnItemEx("SkullBarrier5", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier5", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier5", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier6", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier6", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA K 1 A_SpawnItemEx("SkullBarrier6", 0, 0, 0, momx, momy, momz, 0, SXF_ABSOLUTEMOMENTUM, 0)
SKLA A 0 A_JumpIfNoAmmo("Finish")
SKLA A 0 A_TakeInventory("SkullBarrierAmmo",1)
loop
Finish:
SKLA A 0 A_ChangeFlag("SHOOTABLE",1)
SKLA A 0 A_ChangeFlag("DONTRIP",0)
SKLA A 0 A_TakeInventory("ShieldCheck",100)
SKLA A 0 ACS_Execute(194,0)
SKLA J 2
Goto Ready+2
Hold:
SKLA A 1 ACS_Execute(979,0)
SKLA A 0 A_Refire
Goto Ready+2
NoAmmo:
SKLA A 0 ACS_Execute(979,0)
Goto Hold
Death:
TNT1 A 0
stop
}
}

actor SkullBarrierAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
}

actor SkullBarrier1
{
scale 2.5
- SOLID
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
SKLB A 1
SKLB A 1
stop
}
}

actor SkullBarrier2
{
scale 2.5
- SOLID
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
SKLB B 1
SKLB B 1
stop
}
}

actor SkullBarrier3
{
scale 2.5
- SOLID
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
SKLB C 1
SKLB C 1
stop
}
}

actor SkullBarrier4
{
scale 2.5
- SOLID
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
SKLB D 1
SKLB D 1
stop
}
}


actor SkullBarrier5
{
scale 2.5
- SOLID
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
SKLB E 1
SKLB E 1
stop
}
}


actor SkullBarrier6
{
scale 2.5
- SOLID
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
SKLB F 1
SKLB F 1
stop
}
}

actor SkullBarrierGiver : CustomInventory 10065
{
Inventory.Pickupmessage "Power up! Skull Barrier!"
inventory.pickupsound "weapon/weaponup"
Inventory.RespawnTics 1800
scale 2.5
states
{
Spawn:
WEA2 O 1
loop
Pickup:
WEA2 O 0 A_GiveInventory("SkullBarrierWep")
stop
}
}