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 1
loop
Ready:
SKLB G 0 ACS_ExecuteAlways(998,0,34)
SKLB G 0 ACS_ExecuteAlways(994,0)
SKLB G 1 A_WeaponReady
Goto Ready+2
Deselect:
SKLB G 0 A_ChangeFlag("DONTRIP",0)
SKLB G 0 A_ChangeFlag("SHOOTABLE",1)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
SKLB G 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
SKLB G 1 A_Raise
Loop
Fire:
SKLB G 0 A_JumpIfNoAmmo("Hold")
SKLB G 0 A_ChangeFlag("SHOOTABLE",0)
SKLB G 0 A_ChangeFlag("DONTRIP",1)
SKLB G 0 A_GiveInventory("ShieldCheck",1)
Goto BarrierActive
BarrierActive:
SKLB H 1 A_SpawnItemEx("SkullBarrier1", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier1", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier1", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier2", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 0 A_TakeInventory("SkullBarrierAmmo",1)
SKLB H 1 A_SpawnItemEx("SkullBarrier3", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier3", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier3", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier4", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier4", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier4", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 0 A_TakeInventory("SkullBarrierAmmo",1)
SKLB H 1 A_SpawnItemEx("SkullBarrier5", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier5", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier5", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier6", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier6", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 1 A_SpawnItemEx("SkullBarrier6", 0, 0, 0, 0, 0, 0, 0, 0, 0)
SKLB H 0 A_JumpIfNoAmmo("Finish")
SKLB H 0 A_TakeInventory("SkullBarrierAmmo",1)
loop
Finish:
SKLB G 0 A_ChangeFlag("SHOOTABLE",1)
SKLB G 0 A_ChangeFlag("DONTRIP",0)
SKLB G 0 A_TakeInventory("ShieldCheck",100)
SKLB G 0 ACS_Execute(194,0)
Goto Ready+2
Hold:
SKLB G 1 ACS_Execute(979,0)
SKLB G 0 A_Refire
Goto Ready+2
NoAmmo:
BUST E 0 ACS_Execute(979,0)
Goto Hold
}
}

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

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

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

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

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


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


actor SkullBarrier6
{
scale 2.5
- SOLID
+NOGRAVITY
+NONETID
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
}
}