actor PlantTrapperWep : BaseMM8BDMWep
{
dropitem "PlantTrapperWepCDropped"
Weapon.AmmoUse 1
Weapon.AmmoGive 112
Weapon.SlotNumber 3
Inventory.Pickupmessage "$PU_PLANTTRAPPER"
Obituary "$OB_PLANTTRAPPER"
Tag "$TAG_PLANTTRAPPER"
weapon.ammotype "PlantTrapperAmmo"
inventory.icon "XTR0WI_O"
States
{
Spawn:
XWI0 O 1
loop
Ready:
XH0O A 0 ACS_ExecuteAlways(998,0,DYE_PLANTTRAPPER)
XH0O A 1 A_WeaponReady
Goto Ready+1
Deselect:
XH0O AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
XH0O A 1 A_Lower
Loop
Select:
XH0O AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
XH0O A 1 A_Raise
Loop
Fire:
XH0O A 0 A_JumpIfNoAmmo("NoAmmo")
XH0O A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
XH0O B 2 A_FireCustomMissile("PlantTrapperShot",random(-5,5),1,8,0)
XH0O A 2
XH0O A 0 A_Refire
Goto Ready+1
Hold:
XH0O A 0 A_JumpIfNoAmmo("NoAmmo")
XH0O A 0 A_PlaySoundEx("weapon/mbuster","Weapon")
XH0O B 2 A_FireCustomMissile("PlantTrapperShot",random(-5,5),1,8,0)
XH0O A 2
XH0O A 0 A_Refire
Goto Ready+1
NoAmmo:
XH0O A 1 ACS_Execute(979,0)
Goto Ready+1
}
}

actor PlantTrapperAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 112
+INVENTORY.IGNORESKILL
}

actor PlantTrapSlow : PowerSpeed
{
powerup.duration -2
speed 0.5
}

actor PlantTrapperShot
{
Translation "204:204=104:104"
PROJECTILE
damagetype "PlantTrapper"
Obituary "$OB_PLANTTRAPPER"
-NOGRAVITY
+BOUNCEONWALLS
+FORCEXYBILLBOARD
+BRIGHT
wallbouncefactor 0.12
Damage (8)
radius 5
height 5
Speed 43
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ThrustThingZ(0,8,0,1)
CENX E 1
wait
Crash:
XDeath:
CENX E 1
stop
Death:
CENX E 0 A_JumpIf(z-floorz>0, "Crash")
CENX E 1 A_SpawnItemEx("PlantTrapperTrap")
stop
}
}

actor PlantTrapperTrap
{
PROJECTILE
damagetype "PlantTrapper2"
Obituary "$OB_PLANTTRAPPER"
+DONTBLAST
+DONTREFLECT
+THRUACTORS
+HITTRACER
ReactionTime 1
damage (8)
radius 32
height 32
scale 1.8
states
{
Spawn:
TNT1 A 1
TNT1 A 1 A_ChangeFlag("FLOORHUGGER",1)
XH0O RQ 12
XH0O P 2
XH0O P 90 A_ChangeFlag("THRUACTORS",0)
XH0O P 1 A_CountDown
wait
Death:
Fade:
XH0O PPPQQQRRR 1 A_FadeOut(0.1)
stop
XDeath:
Crash:
XH0O R 0 A_JumpIf(ACS_NamedExecutewithResult("cbm_istracerally")==1, "Fade")
XH0O R 0 //A_PlaySoundEx("weapon/slashclawhit","Weapon")
XH0O R 35 A_GiveInventory("PlantTrapSlow",1,AAPTR_TRACER)
XH0O RRRRRRRR 1 A_FadeOut(0.15)
stop
}
}

