actor TimeBenderWep : BaseMM8BDMWep
{
dropitem "TimeBenderWepCDropped"
Weapon.AmmoUse 28
Weapon.AmmoGive 28
Weapon.SlotNumber 6
Inventory.Pickupmessage "$PU_TIMEBENDER"
Obituary "$OB_TIMEBENDER"
Tag "$TAG_TIMEBENDER"
weapon.ammotype "YouBrokeItAmmo"
inventory.icon "XTR0WI_E"
States
{
Spawn:
XWI0 E 1
loop
Ready:
XH0E A 0 ACS_ExecuteAlways(998,0,13)
XH0E A 1 A_WeaponReady
Goto Ready+1
Deselect:
XH0E AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
XH0E A 1 A_Lower
Loop
Select:
XH0E AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
XH0E A 1 A_Raise
Loop
Fire:
XH0E A 0 A_JumpIfNoAmmo("NoAmmo")
XH0E BC 2
XH0E D 0 A_PlaySoundEx("weapon/timestopper","Weapon")
XH0E D 0 A_FireCustomMissile("TimeBenderRadius",0,1,0,0)
XH0E D 0 A_GiveInventory("TimeBenderFlag",28)
XH0E D 1 ACS_ExecuteAlways(976,0)
Goto TimeStop
TimeStop:
XH0E D 4 A_TakeInventory("TimeBenderFlag",1)
//XH0E D 0 A_JumpIfInventory("YouBrokeItAmmo",28,"Fire")
XH0E D 0 A_JumpIfInventory("TimeBenderFlag",1,"TimeStop")
XH0E A 0 A_Jump(256,"NoAmmo")
Goto NoAmmo
NoAmmo:
XH0E A 0 A_TakeInventory("TimeBenderFlag",28)
XH0E A 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor TimeBenderFlag : Inventory
{
inventory.amount 1
inventory.maxamount 28
}

actor YouBrokeItAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 28
+INVENTORY.IGNORESKILL
}

actor TimeBenderRadius : BasicExplosion
{
damagetype "TimeBender"
Obituary "$OB_TIMEBENDER"
+PIERCEARMOR
//+FOILINVUL
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("TimeBenderRadiusFX_H")
TNT1 A 4 A_Explode(8,512,0,0,256)
stop
}
}

actor TimeBenderRadiusFX_H : BasicClientSide
{
Translation "192:192=4:4","198:198=4:4","250:250=34:34","249:249=239:239"
RenderStyle None
ReactionTime 3
States
{
Spawn:
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("TimeBenderRadiusFX1",random(-384,384),random(-384,384),random(-384,384),0,0,0,0,129)
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("TimeBenderRadiusFX2",random(-384,384),random(-384,384),random(-384,384),0,0,0,0,129)
TNT1 A 2 A_CountDown
loop
}
}

actor TimeBenderRadiusFX1 : BasicClientSide
{
+BRIGHT
Renderstyle "Translucent"
Alpha 0.95
ReactionTime 10
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,1,2,3,4,5,6)
Spawn1:
X_2F ABC 2 A_CountDown
loop
Spawn2:
X_2F DEF 2 A_CountDown
loop
}
}

actor TimeBenderRadiusFX2 : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,1,2,3,4,5,6)
Spawn1:
V_2F ABC 2 A_CountDown
loop
Spawn2:
V_2F DEF 2 A_CountDown
loop
}
}


