actor CommandoBombBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_10C"
Dropitem "CommandoBombWepCDropped"
weapon.ammouse 4
weapon.ammogive 28
obituary "$OB_COMMANDOCLOSE"
Inventory.Pickupmessage "Oil Ocean Zone"
weapon.ammotype "FullMetalJacketAmmo"
inventory.icon "CMNDO_I1"
States
{
Spawn:
C_10 C 1
loop

Ready:
CMDH A 0 ACS_ExecuteAlways(998,0,DYE_COMMANDOMAN)
CMDH A 0 A_GunFlash
Goto Ready1

Ready1Wait:
CMDH A 0 A_JumpIfInventory("FullMetalJacketAmmo",4,"Ready2Wait")
CMDH A 5 A_WeaponReady(14)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH A 0 A_JumpIfInventory("FullMetalJacketAmmo",4,11)
CMDH A 5 A_WeaponReady(14)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH A 0 A_JumpIfInventory("FullMetalJacketAmmo",4,10)
CMDH A 5 A_WeaponReady(14)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH A 0 A_JumpIfInventory("FullMetalJacketAmmo",4,9)
CMDH A 5 A_WeaponReady(14)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
goto Ready1
Ready2Wait:
CMDH A 5 A_WeaponReady(10)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH A 5 A_WeaponReady(10)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH A 5 A_WeaponReady(10)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH A 5 A_WeaponReady(10)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
goto Ready2

Ready1:
CMDH A 0 A_JumpIfInventory("CommandoLeapFlag2",1,"ReadyAir1")
CMDH A 0 A_JumpIfInventory("FullMetalJacketAmmo",4,"Ready2")
CMDH A 5 A_WeaponReady(4)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
goto Ready1+1
Ready2:
CMDH A 5 A_WeaponReady
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
loop

ReadyAir1:
CMDH A 0 A_JumpIfInventory("FullMetalJacketAmmo",4,"ReadyAir2")
CMDH A 5 A_WeaponReady(12)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH A 0 A_JumpIfInventory("CommandoLeapFlag2",1,"ReadyAir1")
goto Ready1
ReadyAir2:
CMDH A 5 A_WeaponReady(8)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH A 0 A_JumpIfInventory("CommandoLeapFlag2",1,"ReadyAir2")
goto Ready2

Deselect:
CMDH AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
CMDH A 1 A_Lower
Loop
Select:
CMDH AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
CMDH A 1 A_Raise
Loop

Fire:
CMDH A 0 A_JumpIfInventory("CommandoLeapFlag",1,"FireLeap")
CMDH A 0 A_JumpIfNoAmmo("NoAmmo")
CMDH B 3
CMDH C 0 A_PlaySoundEX("weapon/commandoshot","Weapon")
CMDH C 0 A_GiveInventory("CommandoMain_CI")
CMDH CCCCBA 3
CMDH A 0 A_JumpIfInventory("CommandoLeapFlag2",1,"ReadyAir1")
goto Ready1
FireLeap:
CMDH A 0 A_GiveInventory("CommandoLeapFlag2",1)
CMDH A 0 A_GiveInventory("LadderEnable",1)
CMDH A 0 A_TakeInventory("NoJumpCancel",9)
CMDH A 0 A_TakeInventory("CommandoLeapFlag",999)
CMDH A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)//1.0 speed and jump
CMDH A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
CMDH A 0 A_ChangeFlag("THRUSPECIES",0)
CMDH A 0 A_SpawnItemEx("ResolidifyPlayer_H")
CMDH A 0 A_GunFlash("Flash.LandStart")
CMDH A 0 A_Refire(1)
CMDH A 0
goto Fire+1

AltFire:
CMDH A 0 A_JumpIfInventory("CommandoLeapFlag",1,"AltfireStomp")
CMDH A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,0,1)
CMDH A 0 A_GiveInventory("NoJumpCancel",1)
CMDH A 0 A_GiveInventory("LadderDisable",1)
CMDH A 2
CMDH B 2 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,250,100)
CMDH C 2
CMDH C 0 A_PlaySoundEx("weapon/GutThrow","Weapon")
CMDH C 0 ThrustThingZ(0,70,0,0)
CMDH C 0 A_TakeInventory("UnSolid",99)
CMDH C 0 A_ChangeFlag("SOLID",0)
CMDH C 0 A_ChangeFlag("THRUSPECIES",1)
CMDH C 0 A_GiveInventory("CommandoLeapFlag",1)
CMDH C 4
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(10)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(10)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(10)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(10)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(10)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(10)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(10)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(10)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(10)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(10)
goto AltFireFall
AltFireFall:
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 1 A_WeaponReady(2)
loop
AltfireStomp:
CMDH C 1 ThrustThingZ(0,9,1,1)
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_Refire("AltfireStomp")
goto AltFireFall
AltEnd:
CMDH C 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)
CMDH C 0 A_TakeInventory("NoJumpCancel",999)
CMDH C 0 A_GiveInventory("LadderEnable",1)
CMDH C 0 A_TakeInventory("CommandoLeapFlag",999)
CMDH C 0 A_PlaySoundEx("misc/quake","Weapon")
CMDH C 0 A_GiveInventory("CommandoAlt_CI")
CMDH C 2 offset(0,82)A_Quake(4,15,0,192,0)
CMDH C 5 offset(0,82)ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
CMDH C 0 A_ChangeFlag("THRUSPECIES",0)
CMDH C 0 A_SpawnItemEx("ResolidifyPlayer_H")
CMDH C 2 offset(-5,92)
CMDH C 2 offset(-10,102)
CMDH A 2 offset(10,52)
CMDH A 2 offset(-5,42)
CMDH A 8 A_WeaponReady(12+64)
goto Ready1Wait

NoAmmo:
CMDH A 1
goto Ready1

Flash:
TNT1 A 0 A_JumpIfInventory("CommandoLeapFlag2",1,"Flash.LandStart")
TNT1 A 1
stop
Flash.LandStart:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1
goto Flash.Land
Flash.Land:
TNT1 A 0 A_JumpIf(z-floorz==0,"Flash.LandEnd")
TNT1 A 0 A_JumpIf(momz==0,"Flash.LandZ")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1
loop
Flash.LandZ:
TNT1 A 1
TNT1 A 0 A_JumpIf(z-floorz==0,"Flash.LandEnd")
TNT1 A 0 A_JumpIf(momz==0,"Flash.LandEnd")
goto Flash.Land+2
Flash.LandEnd:
TNT1 A 1 A_TakeInventory("CommandoLeapFlag2",999)
stop
}
}

actor CommandoMineBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_10C2"
Dropitem "CommandoBombWepCDropped"
weapon.ammouse 6
weapon.ammogive 28
obituary "$OB_COMMANDOCLOSE"
Inventory.Pickupmessage "Sandopolis Zone"
weapon.ammotype "FullMetalJacketAmmo"
inventory.icon "CMNDO_I2"
States
{
Spawn:
C_10 C 1
loop

Ready:
CMDH D 0 ACS_ExecuteAlways(998,0,DYE_COMMANDOMAN)
CMDH D 0 A_GunFlash
Goto Ready1

Ready1Wait:
CMDH D 0 A_JumpIfInventory("FullMetalJacketAmmo",6,"Ready2Wait")
CMDH D 5 A_WeaponReady(14)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH D 0 A_JumpIfInventory("FullMetalJacketAmmo",6,11)
CMDH D 5 A_WeaponReady(14)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH D 0 A_JumpIfInventory("FullMetalJacketAmmo",6,10)
CMDH D 5 A_WeaponReady(14)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH D 0 A_JumpIfInventory("FullMetalJacketAmmo",6,9)
CMDH D 5 A_WeaponReady(14)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
goto Ready1
Ready2Wait:
CMDH D 5 A_WeaponReady(10)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH D 5 A_WeaponReady(10)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH D 5 A_WeaponReady(10)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH D 5 A_WeaponReady(10)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
goto Ready2

Ready1:
CMDH D 0 A_JumpIfInventory("CommandoLeapFlag2",1,"ReadyAir1")
CMDH D 0 A_JumpIfInventory("FullMetalJacketAmmo",6,"Ready2")
CMDH D 5 A_WeaponReady(4)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
goto Ready1+1
Ready2:
CMDH D 5 A_WeaponReady
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
loop

ReadyAir1:
CMDH D 0 A_JumpIfInventory("FullMetalJacketAmmo",6,"ReadyAir2")
CMDH D 5 A_WeaponReady(12)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH D 0 A_JumpIfInventory("CommandoLeapFlag2",1,"ReadyAir1")
goto Ready1
ReadyAir2:
CMDH D 5 A_WeaponReady(8)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH D 0 A_JumpIfInventory("CommandoLeapFlag2",1,"ReadyAir2")
goto Ready2

Deselect:
CMDH DDDDDDDDDDDDDDDDDDDDDD 0 A_Lower
CMDH D 1 A_Lower
Loop
Select:
CMDH DDDDDDDDDDDDDDDDDDDDDD 0 A_Raise
CMDH D 1 A_Raise
Loop

Fire:
CMDH D 0 A_JumpIfInventory("CommandoLeapFlag",1,"FireLeap")
CMDH D 0 A_JumpIfNoAmmo("NoAmmo")
CMDH E 3
CMDH F 0 A_PlaySoundEX("weapon/dustbit","Weapon")
CMDH F 0 A_GiveInventory("CommandoMain2_CI")
CMDH FFFFED 3
CMDH D 0 A_JumpIfInventory("CommandoLeapFlag2",1,"ReadyAir1")
goto Ready1
FireLeap:
CMDH D 0 A_GiveInventory("CommandoLeapFlag2",1)
CMDH D 0 A_GiveInventory("LadderEnable",1)
CMDH D 0 A_TakeInventory("NoJumpCancel",9)
CMDH D 0 A_TakeInventory("CommandoLeapFlag",999)
CMDH D 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)//1.0 speed and jump
CMDH D 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
CMDH D 0 A_ChangeFlag("THRUSPECIES",0)
CMDH D 0 A_SpawnItemEx("ResolidifyPlayer_H")
CMDH D 0 A_GunFlash("Flash.LandStart")
CMDH D 0 A_Refire(1)
CMDH D 0
goto Fire+1

AltFire:
CMDH D 0 A_JumpIfInventory("CommandoLeapFlag",1,"AltfireStomp")
CMDH D 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,0,1)
CMDH D 0 A_GiveInventory("NoJumpCancel",1)
CMDH D 0 A_GiveInventory("LadderDisable",1)
CMDH D 2
CMDH E 2 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,250,100)
CMDH F 2
CMDH F 0 A_PlaySoundEx("weapon/GutThrow","Weapon")
CMDH F 0 ThrustThingZ(0,70,0,0)
CMDH F 0 A_TakeInventory("UnSolid",99)
CMDH F 0 A_ChangeFlag("SOLID",0)
CMDH F 0 A_ChangeFlag("THRUSPECIES",1)
CMDH F 0 A_GiveInventory("CommandoLeapFlag",1)
CMDH F 4
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(10)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(10)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(10)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(10)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(10)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(10)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(10)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(10)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(10)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(10)
goto AltFireFall
AltFireFall:
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 1 A_WeaponReady(2)
loop
AltfireStomp:
CMDH F 1 ThrustThingZ(0,9,1,1)
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_Refire("AltfireStomp")
goto AltFireFall
AltEnd:
CMDH F 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)
CMDH F 0 A_TakeInventory("NoJumpCancel",999)
CMDH F 0 A_GiveInventory("LadderEnable",1)
CMDH F 0 A_TakeInventory("CommandoLeapFlag",999)
CMDH F 0 A_PlaySoundEx("misc/quake","Weapon")
CMDH F 0 A_GiveInventory("CommandoAlt_CI")
CMDH F 2 offset(0,82)A_Quake(4,15,0,192,0)
CMDH F 5 offset(0,82)ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
CMDH F 0 A_ChangeFlag("THRUSPECIES",0)
CMDH F 0 A_SpawnItemEx("ResolidifyPlayer_H")
CMDH F 2 offset(5,92)
CMDH F 2 offset(10,102)
CMDH D 2 offset(10,52)
CMDH D 2 offset(-5,42)
CMDH D 8 A_WeaponReady(12+64)
goto Ready1Wait

NoAmmo:
CMDH D 1
goto Ready1

Flash:
TNT1 A 0 A_JumpIfInventory("CommandoLeapFlag2",1,"Flash.LandStart")
TNT1 A 1
stop
Flash.LandStart:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1
goto Flash.Land
Flash.Land:
TNT1 A 0 A_JumpIf(z-floorz==0,"Flash.LandEnd")
TNT1 A 0 A_JumpIf(momz==0,"Flash.LandZ")
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1
loop
Flash.LandZ:
TNT1 A 1
TNT1 A 0 A_JumpIf(z-floorz==0,"Flash.LandEnd")
TNT1 A 0 A_JumpIf(momz==0,"Flash.LandEnd")
goto Flash.Land+2
Flash.LandEnd:
TNT1 A 1 A_TakeInventory("CommandoLeapFlag2",999)
stop
}
}

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

actor CommandoItem : BasicClassItem
{
inventory.icon "CmndoIco"
inventory.pickupmessage "wow you got an antennae"
Tag "Command Commando Bombs"
states
{
Spawn:
CMDH Z 1
loop
Use:
TNT1 A 0 A_JumpIfInventory("VivifyDelay8",1,"No")
TNT1 A 0 A_PlaySoundEx("weapon/commandoswitch","SoundSlot7")
TNT1 A 0 A_GiveInventory("VivifyDelay8",1)
TNT1 A 0 A_GiveInventory("CommandoCommandFlag",1)
fail
}
}


actor CommandoLeapFlag : OnceC{}
actor CommandoLeapFlag2 : OnceC{}
actor CommandoCommandFlag : Powerup
{
Powerup.Duration 3
}

actor CommandoM_Bomb
{
translation "204:204=88:88", "195:195=222:222", "202:202=210:210"
PROJECTILE
Damagetype "CommandoM_Shot"
Obituary "$OB_COMMANDOBOMB"
+SKYEXPLODE
+EXPLODEONWATER
Damage (100)
Radius 10
Height 10
Speed 20
Scale 2.5
States
{
Spawn:
W_AC A 0
W_AC A 1 A_JumpIfInTargetInventory("CommandoCommandFlag",1,"Command")
wait
Command:
W_AC A 0 A_PlaySoundEX("weapon/commandoswitch","Weapon")
W_AC A 1 A_GiveToTarget("CBM_TargetMarker",1)
W_AC A 1 ACS_ExecuteAlways(989,0,ACS_ExecuteWithResult(257)+100)
W_AC A 0 A_SpawnItemEx("CommandoM_Bomb2",0,0,0,Cos(pitch)*30,0,-sin(pitch)*30,0,1)
stop

Death:
TNT1 A 0 A_CheckFloor("DeathF")
TNT1 A 0 A_JumpIf(z-floorz<10,"DeathF")
//TNT1 A 0 A_SpawnItemEX("CommandoM_BombTrailFX",0,0,0,0,0,0,0,1)
TNT1 A 1 A_SpawnItemEx("CommandoM_BombToFloor",0,0,0,0,0,-30,0,1)
stop
DeathF:
TNT1 A 0 A_Explode(100,96,0,0,20)
TNT1 A 0 A_SpawnItemEx("CommandoM_Wave2_H")
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveFX",0,0,0,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail2",0,0,0,1,0,0,0*45,1+8192)//SXF_MULTIPLYSPEED = 8192
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail2",0,0,0,1,0,0,1*45,1+8192)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail2",0,0,0,1,0,0,2*45,1+8192)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail2",0,0,0,1,0,0,3*45,1+8192)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail2",0,0,0,1,0,0,4*45,1+8192)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail2",0,0,0,1,0,0,5*45,1+8192)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail2",0,0,0,1,0,0,6*45,1+8192)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail2",0,0,0,1,0,0,7*45,1+8192)
TNT1 A 4 A_PlaySoundEX("wep_L/commandoexplosion","Body")
stop
XDeath:
TNT1 A 0 A_Explode(100,96,0,0,20)
TNT1 A 0 A_PlaySoundEx("misc_L/mm3explosion","Weapon")
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
TNT1 A 2
stop
}
}

actor CommandoM_BombB : CommandoM_Bomb{translation"204:204=205:205","195:195=74:74","202:202=205:205"}
actor CommandoM_BombR : CommandoM_Bomb{translation"204:204=171:171","195:195=41:41","202:202=171:171"}
actor CommandoM_BombO : CommandoM_Bomb{translation"204:204=104:104","195:195=128:128","202:202=104:104"}
actor CommandoM_BombP : CommandoM_Bomb{translation"204:204=229:229","195:195=232:232","202:202=229:229"}


actor CommandoM_BombToFloor : CommandoM_Bomb
{
+THRUACTORS
+DONTBLAST
+DONTREFLECT
States
{
Spawn:
W_AC B 0
W_AC B 1 A_PlaySoundEX("weapon/commandoswitch","Weapon")
W_AC B 2 A_SpawnItemEX("CommandoM_BombTrailFX",0,0,0,0,0,0,0,1)
wait
Death:
TNT1 A 0
goto DeathF
}
}

actor CommandoM_Bomb2 : CommandoM_Bomb
{
damage (80)
Speed 30
States
{
Spawn:
W_AC A 0
W_AC A 0 A_SpawnItemEX("CommandoM_BombTrailFX",0,0,0,0,0,0,0,1)
W_AC A 3 A_SpawnItemEX("CommandoM_BombFX")
CMDH H 0 A_SpawnItemEX("CommandoM_BombTrailFX",0,0,0,0,0,0,0,1)
CMDH H 3 A_SpawnItemEX("CommandoM_BombFX")
loop
}
}

actor CommandoM_BombFX : BasicClientSide
{
renderstyle add
states
{
Spawn:
CMDH I 1 A_FadeOut(0.15)
loop
}
}

actor CommandoM_BombTrailFX : BasicClientSide
{
+BRIGHT
+FORCEXYBILLBOARD
States
{
Spawn:
TNT1 A 0
TNT1 A 2
UMFX JKD 2
stop
}
}

actor CommandoCrush : BasicExplosion
{
Obituary "$OB_COMMANDOLEAP"
damagetype "CommandoM_Crush"
renderstyle none
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(40,20,0,0,20)
stop
}
}

actor CommandoLeapExplosion : BasicExplosion
{
translation "202:202=210:210"//90
Damagetype "CommandoM_WaveBit"
Obituary "$OB_COMMANDOQUAKE"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail1_T_Snd",0,0,0,1,0,0,0,1+8192)

TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail1_T_Start",8,0,0,0,48,0,0,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail1_T_Start",8,0,0,0,-48,0,0,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail1_T_Start",-8,0,0,0,96,0,0,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail1_T_Start",-8,0,0,0,-96,0,0,1)

TNT1 A 0 //A_SpawnItemEx("CommandoM_WaveTrail1_T_Snd",8,48,0,1,0,0,0,1+8192)
TNT1 A 0 //A_SpawnItemEx("CommandoM_WaveTrail1_T_Snd",8,-48,0,1,0,0,0,1+8192)
TNT1 A 0 //A_SpawnItemEx("CommandoM_WaveTrail1_T_Snd",-8,96,0,1,0,0,0,1+8192)
TNT1 A 0 //A_SpawnItemEx("CommandoM_WaveTrail1_T_Snd",-8,-96,0,1,0,0,0,1+8192)
TNT1 A 2
//TNT1 A 0 A_PlaySoundEX("wep_L/commandoexplosion","Body")
//TNT1 A 0 A_PlaySoundEx("misc_L/mm3explosion","Weapon")
//TNT1 A 0 A_Explode(150,128,0,0,64)
//TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
TNT1 A 2
stop
}
}
actor CommandoLeapExplosionB : CommandoLeapExplosion{translation"202:202=205:205"}
actor CommandoLeapExplosionR : CommandoLeapExplosion{translation"202:202=171:171"}
actor CommandoLeapExplosionO : CommandoLeapExplosion{translation"202:202=104:104"}
actor CommandoLeapExplosionP : CommandoLeapExplosion{translation"202:202=229:229"}

actor CommandoM_WaveTrail1_T_Start
{
PROJECTILE
+THRUACTORS
+DONTBLAST
+STEPMISSILE
+NODROPOFF
MaxStepHeight 64
MaxDropOffHeight 64
RenderStyle None
Radius 6
Height 8
Speed 1
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail1_T_Snd",0,0,0,1,0,0,0,1+8192)
stop
}
}

actor CommandoM_WaveTrail
{
PROJECTILE
Damagetype "CommandoM_Wave"
Obituary "$OB_COMMANDOWAVE"
//-NOGRAVITY
+DONTBLAST
+DONTREFLECT
+THRUACTORS
//+FLOORHUGGER
//+EXPLODEONWATER
//+STEPMISSILE
//+NOEXPLODEFLOOR
//maxstepheight 24

+FLOORHUGGER
+NODROPOFF
MaxDropOffHeight 24

reactiontime 7
RenderStyle "None"

Damage (0)
Radius 6//20
Height 8//12
Speed 15//50
States
{
Spawn:
//TNT1 A 0
//TNT1 AAAAAAA 3 A_SpawnItemEx("CommandoM_Wave",0,0,0,0,0,0,0,1)
//stop

TNT1 A 0
TNT1 A 0 A_SpawnItemEx("CommandoM_Wave_H")
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveFX",0,0,0,0,0,0,0,1)
TNT1 A 2 A_CountDown
loop
}
}
actor CommandoM_WaveTrail1 : CommandoM_WaveTrail
{
MaxDropOffHeight 32
States
{
Spawn:
TNT1 A 0
TNT1 A 3
goto Super::Spawn
}
}
actor CommandoM_WaveTrail1_T : CommandoM_WaveTrail
{
MaxDropOffHeight 64
reactiontime 40//50
States
{
Spawn:
TNT1 A 0
//TNT1 A 3
goto Super::Spawn
}
}
actor CommandoM_WaveTrail1_T_Snd : CommandoM_WaveTrail1_T
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySound("wep/Comm_GRDBRAKE",1,0.2)
TNT1 A 0 A_SpawnItemEx("CommandoM_Wave_H")
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveFX",0,0,0,0,0,0,0,1)
TNT1 A 2 A_CountDown
TNT1 A 0 A_SpawnItemEx("CommandoM_Wave_H")
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveFX",0,0,0,0,0,0,0,1)
TNT1 A 2 A_CountDown
loop
}
}

actor CommandoM_WaveTrail2 : CommandoM_WaveTrail
{
Obituary "$OB_COMMANDOBOMB"
States
{
Spawn:
TNT1 A 1
TNT1 A 2
TNT1 A 0 A_SpawnItemEx("CommandoM_Wave2_H")
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveFX",0,0,0,0,0,0,0,1)
TNT1 A 2 A_CountDown
goto Spawn+2
}
}
actor CommandoM_WaveTrail3 : CommandoM_WaveTrail
{
Obituary "$OB_COMMANDOMINE"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("CommandoM_Wave3_H")
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveFX",0,0,0,0,0,0,0,1)
TNT1 A 2 A_CountDown
loop
}
}

actor CommandoM_WaveFX : BasicClientSide
{
+FLOORHUGGER
+FORCEYBILLBOARD
+BRIGHT
Radius 10
Height 30
States
{
Spawn:
TNT1 A 0
Y_AC TUVWVUT 1
//Y_AC TUVW 2
stop
}
}

actor CommandoM_WaveA
{
PROJECTILE
Damagetype "CommandoM_Wave"
Obituary "$OB_COMMANDOWAVE"
+DONTBLAST
+DONTREFLECT
+THRUGHOST
+FLOORHUGGER
+SERVERSIDEONLY
RenderStyle "None"
Damage (12)//50
Radius 10//14//20
Height 30//56
States
{
Spawn:
TNT1 A 0
TNT1 A 1
stop
}
}

actor CommandoM_WaveB : CommandoM_WaveA{Height 40}
actor CommandoM_WaveC : CommandoM_WaveA{Height 75}
actor CommandoM_WaveD : CommandoM_WaveA{Height 112}

actor CommandoM_WaveX : CommandoM_WaveA{Damage (12)}
actor CommandoM_WaveY : CommandoM_WaveB{Damage (12)}
actor CommandoM_WaveZ : CommandoM_WaveC{Damage (12)}

actor CommandoM_Wave2A : CommandoM_WaveA
{
Obituary "$OB_COMMANDOBOMB"
}
actor CommandoM_Wave2B : CommandoM_Wave2A{Height 40}
actor CommandoM_Wave2C : CommandoM_Wave2A{Height 75}
actor CommandoM_Wave2D : CommandoM_Wave2A{Height 112}
actor CommandoM_Wave2X : CommandoM_Wave2A{Damage (12)}
actor CommandoM_Wave2Y : CommandoM_Wave2B{Damage (12)}
actor CommandoM_Wave2Z : CommandoM_Wave2C{Damage (12)}

actor CommandoM_Wave3A : CommandoM_WaveA
{
Obituary "$OB_COMMANDOMINE"
}
actor CommandoM_Wave3B : CommandoM_Wave3A{Height 40}
actor CommandoM_Wave3C : CommandoM_Wave3A{Height 75}
actor CommandoM_Wave3D : CommandoM_Wave3A{Height 112}
actor CommandoM_Wave3X : CommandoM_Wave3A{Damage (12)}
actor CommandoM_Wave3Y : CommandoM_Wave3B{Damage (12)}
actor CommandoM_Wave3Z : CommandoM_Wave3C{Damage (12)}

actor CommandoM_Wave_H : BasicHelper
{
Obituary "$OB_COMMANDOWAVE"
States
{
Spawn:
TNT1 A 0
Y_AC T 1 //A_SpawnItemEx("CommandoM_WaveX")
Y_AC U 1 A_SpawnItemEx("CommandoM_WaveY")
Y_AC V 1 A_SpawnItemEx("CommandoM_WaveZ")
Y_AC W 1 A_SpawnItemEx("CommandoM_WaveD")
Y_AC V 1 A_SpawnItemEx("CommandoM_WaveC")
Y_AC U 1 A_SpawnItemEx("CommandoM_WaveB")
Y_AC T 1 //A_SpawnItemEx("CommandoM_WaveA")
//Y_AC TUVW 2
stop
}
}
actor CommandoM_Wave2_H : CommandoM_Wave_H
{//Bomb
Obituary "$OB_COMMANDOBOMB"
States
{
Spawn:
TNT1 A 0
Y_AC T 1 //A_SpawnItemEx("CommandoM_Wave2X")
Y_AC U 1 A_SpawnItemEx("CommandoM_Wave2Y")
Y_AC V 1 A_SpawnItemEx("CommandoM_Wave2Z")
Y_AC W 1 A_SpawnItemEx("CommandoM_Wave2D")
Y_AC V 1 A_SpawnItemEx("CommandoM_Wave2C")
Y_AC U 1 A_SpawnItemEx("CommandoM_Wave2B")
Y_AC T 1 //A_SpawnItemEx("CommandoM_Wave2A")
stop
}
}
actor CommandoM_Wave3_H : CommandoM_Wave_H
{//Mine
Obituary "$OB_COMMANDOMINE"
States
{
Spawn:
TNT1 A 0
Y_AC T 1 //A_SpawnItemEx("CommandoM_Wave3X")
Y_AC U 1 A_SpawnItemEx("CommandoM_Wave3Y")
Y_AC V 1 A_SpawnItemEx("CommandoM_Wave3Z")
Y_AC W 1 A_SpawnItemEx("CommandoM_Wave3D")
Y_AC V 1 A_SpawnItemEx("CommandoM_Wave3C")
Y_AC U 1 A_SpawnItemEx("CommandoM_Wave3B")
Y_AC T 1 //A_SpawnItemEx("CommandoM_Wave3A")
stop
}
}

actor CommandoM_WaveBitFX1 : BasicClientSide
{
+BRIGHT
States
{
Spawn:
UMFX J 0
UMFX J 1
stop
}
}
actor CommandoM_WaveBitFX2 : CommandoM_WaveBitFX1
{
States
{
Spawn:
UMFX K 0
UMFX K 1
stop
}
}
actor CommandoM_WaveBit
{
PROJECTILE
Damagetype "CommandoM_WaveBit"
Obituary "$OB_COMMANDOBIT"
-NOGRAVITY
+BOUNCEONWALLS
deathsound "wep_V/CommandoWave"
Wallbouncefactor 0.50
Radius 10
Height 10
Damage (50)
Speed 20
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ThrustThingZ(0,2,0,1)
TNT1 AA 1 A_SpawnItemEx("CommandoM_WaveBitFX1",0,0,25,0,0,0,0,1)
TNT1 AA 1 A_SpawnItemEx("CommandoM_WaveBitFX2",0,0,25,0,0,0,0,1)
goto Spawn+2
Death:
TNT1 A 0
TNT1 A 4 A_SpawnItemEx("CommandoM_WaveTrail",0,0,0,1,0,0,0,1+8192)
stop
}
}
actor CommandoM_BombBit : CommandoM_WaveBit
{
States
{
Death:
TNT1 A 0
TNT1 A 4 A_SpawnItemEx("CommandoM_WaveTrail2",0,0,0,1,0,0,0,1+8192)
stop
}
}
actor CommandoM_MineBit : CommandoM_WaveBit
{
States
{
Death:
TNT1 A 0
TNT1 A 4 A_SpawnItemEx("CommandoM_WaveTrail3",0,0,0,1,0,0,0,1+8192)
stop
}
}

actor CommandoMineStart
{
translation "249:249=42:42", "250:250=4:4", "202:202=210:210"//90
PROJECTILE
Damagetype "CommandoM_Mine"
Obituary "$OB_COMMANDOMINEX"
-NOGRAVITY
Damage(100)
Radius 20
Height 10
Speed 35
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ThrustThingZ(0,16,0,1)
CMDH NOPQRSTU 2
goto Spawn+2
Death:
CMDH N 0 A_Stop
CMDH N 0 A_ChangeFlag("NOGRAVITY",1)
CMDH N 0 A_CheckFloor("DeathF")
CMDH N 0 A_JumpIf(z-ceilingz==0-10,"DeathC")
CMDH N 0
CMDH N 1 A_SpawnItemEX("CommandoMineY_HelpStart",0,0,0,0,0,0,0,1)
stop
DeathF:
CMDH N 0 A_SpawnItemEx("CommandoMineX",0,0,0,0,0,0,0,1)
stop
DeathC:
CMDH N 0 A_SpawnItemEx("CommandoMineZ",0,0,0,0,0,0,0,1)
stop
XDeath:
TNT1 A 0 A_Explode(80,96,0,0,20)
TNT1 A 0 A_PlaySoundEx("misc_L/mm3explosion","Weapon")
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
TNT1 A 2
stop
}
}
actor CommandoMineStartB : CommandoMineStart{translation"202:202=205:205","250:250=196:196","249:249=199:199"}
actor CommandoMineStartR : CommandoMineStart{translation"202:202=171:171","250:250=170:170","249:249=43:43"}
actor CommandoMineStartO : CommandoMineStart{translation"202:202=104:104","250:250=138:138","249:249=131:131"}
actor CommandoMineStartP : CommandoMineStart{translation"202:202=229:229","250:250=214:214","249:249=223:223"}

actor CommandoMineX
{
PROJECTILE
Damagetype "CommandoM_Mine"
Obituary "$OB_COMMANDOMINE"
+DONTBLAST
+DONTREFLECT
+FLOORHUGGER
ReactionTime 1
damage (0)
radius 20
height 10
scale 2.5
States
{
Spawn:
CMDH J 3
CMDH JJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKK 1 A_JumpIfInTargetInventory("CommandoCommandFlag",1,"Command")
CMDH JJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKK 1 A_JumpIfInTargetInventory("CommandoCommandFlag",1,"Command")
CMDH K 1 A_Countdown
wait
Command:
CMDH K 1 A_GiveInventory("CommandoLeapFlag",1)
CMDH K 1 A_Countdown
wait
Death:
TNT1 A 0 A_PlaySoundEx("misc_L/mm3explosion","Weapon")
TNT1 A 0 A_PlaySoundEX("wep_L/commandoexplosion","Body")
TNT1 A 0 A_JumpIfInventory("CommandoLeapFlag",1,"Death2")
TNT1 A 0 A_Explode(150,180,0,0,100)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,0,1,0,0,45,1+8192)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,0,1,0,0,135,1+8192)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,0,1,0,0,225,1+8192)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,0,1,0,0,315,1+8192)
goto Death2+1
Death2:
TNT1 A 0 A_Explode(100,96,0,0,48)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,0,1,0,0,0,1+8192)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,0,1,0,0,90,1+8192)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,0,1,0,0,180,1+8192)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,0,1,0,0,270,1+8192)
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
TNT1 A 2
stop
}
}


actor CommandoMineY_HelpStart
{
PROJECTILE
+DONTBLAST
+DONTREFLECT
Renderstyle None
Damage (0)
Radius 10
Height 10
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("CommandoMineY_HelpF",0,0,0,0,0,0,0,1)
stop
Death:
TNT1 A 1 A_SpawnItemEx("CommandoMineY_HelpB",0,0,0,0,0,0,0,1)
stop
}
}
actor CommandoMineY_HelpF : CommandoMineY_HelpStart
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetPitch(pitch+1)
TNT1 A 0 A_JumpIf(pitch>=20,"Spawn2")
TNT1 A 0 A_SpawnItemEx("CommandoMineY_HelpF",2,0,0,0,0,0,0,545)
stop
Spawn2:
TNT1 A 1 A_SpawnItemEx("CommandoMineY",0,0,0,0,0,0,180,33)
stop
Death:
TNT1 A 1 A_SpawnItemEx("CommandoMineY",2,0,0,0,0,0,180,33)
stop
}
}
actor CommandoMineY_HelpB : CommandoMineY_HelpStart
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("CommandoMineY",0,0,0,0,0,0,180,33)
stop
Death:
TNT1 A 0 A_JumpIf(pitch>=10,"Death2")
TNT1 A 0 A_SpawnItemEx("CommandoMineY_HelpB",-2,0,0,0,0,0,0,545)
stop
Death2:
TNT1 A 1 A_SpawnItemEx("CommandoMineY",0,0,0,0,0,0,180,33)
stop
}
}

actor CommandoMineY
{
PROJECTILE
Damagetype "CommandoM_Mine"
Obituary "$OB_COMMANDOMINE"
+DONTBLAST
+DONTREFLECT
reactiontime 1
Damage (0)
Radius 10
Height 10
scale 2.5
States
{
Spawn:
CMDH L 0
CMDH L 3 A_GiveInventory("CutterFlag",1)
CMDH LLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMM 1 A_JumpIfInTargetInventory("CommandoCommandFlag",1,"Command")
CMDH LLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMM 1 A_JumpIfInTargetInventory("CommandoCommandFlag",1,"Command")
CMDH M 1 A_Countdown
wait
Command:
CMDH M 1 A_GiveInventory("CommandoLeapFlag",1)
CMDH M 1 A_Countdown
wait
Death:
TNT1 A 0 A_JumpIfInventory("CommandoLeapFlag",1,"XDeath")
TNT1 A 0 A_JumpIfInventory("CutterFlag",1,"Death2")
goto DeathX
DeathX:
TNT1 A 0 A_Explode(50,96,0,0,20)
TNT1 A 0 A_PlaySoundEx("misc_L/mm3explosion","Weapon")
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32+16384)
TNT1 A 2
stop

Death2:
TNT1 A 0 A_Explode(150,180,0,0,100)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),12.5,0,0,20,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),12.5,0,0,0,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),12.5,0,0,-20,1)
goto DeathEnd

XDeath:
Crash:
TNT1 A 0 A_Explode(100,96,0,0,48)
DeathEnd:
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),12.5,0,0,30,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),12.5,0,0,10,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),12.5,0,0,-10,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),12.5,0,0,-30,1)
TNT1 A 0 A_PlaySoundEx("misc_L/mm3explosion","Weapon")
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
TNT1 A 2
stop
}
}

actor CommandoMineZ
{
PROJECTILE
Damagetype "CommandoM_Mine"
Obituary "$OB_COMMANDOMINE"
+DONTBLAST
+DONTREFLECT
+CEILINGHUGGER
reactiontime 1
Damage (0)
Radius 20
Height 10
scale 2.5
States
{
Spawn:
CMDH V 0
CMDH V 3 A_GiveInventory("CutterFlag",1)
CMDH VVVVVVWWWWWWVVVVVVWWWWWWVVVVVVWWWWWWVVVVVVWWWWWWVVVVVVWWWWWWVVVVVVWWWWWWVVVVVVWWWWWWVVVVVVWWWWWWVVVVVVWWWWWW 1 A_JumpIfInTargetInventory("CommandoCommandFlag",1,"Command")
CMDH VVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWW 1 A_JumpIfInTargetInventory("CommandoCommandFlag",1,"Command")
CMDH W 1 A_Countdown
wait
Command:
CMDH W 1 A_GiveInventory("CommandoLeapFlag",1)
CMDH W 1 A_Countdown
wait
Death:
TNT1 A 0 A_JumpIfInventory("CommandoLeapFlag",1,"XDeath")
TNT1 A 0 A_JumpIfInventory("CutterFlag",1,"Death2")
goto DeathX
DeathX:
TNT1 A 0 A_Explode(50,96,0,0,20)
TNT1 A 0 A_PlaySoundEx("misc_L/mm3explosion","Weapon")
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
TNT1 A 2
stop

Death2:
TNT1 A 0 A_Explode(150,180,0,0,100)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,0,10,0,0,45,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,0,10,0,0,135,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,0,10,0,0,225,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,0,10,0,0,315,1)
goto DeathEnd

XDeath:
Crash:
TNT1 A 0 A_Explode(100,96,0,0,48)
DeathEnd:
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,0,10,0,0,0,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,0,10,0,0,90,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,0,10,0,0,180,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,0,10,0,0,270,1)
TNT1 A 0 A_PlaySoundEx("misc_L/mm3explosion","Weapon")
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32+16384)
TNT1 A 2
stop
}
}

actor CommandoMain_CI : TeamColor_CI
{
States
{
FireX:
TNT1 A 0 A_FireCustomMissile("CommandoM_Bomb",0,1,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("CommandoM_BombB",0,1,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("CommandoM_BombR",0,1,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("CommandoM_BombO",0,1,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("CommandoM_BombP",0,1,8,0)
goto Done
}
}

actor CommandoMain2_CI : TeamColor_CI
{
States
{
FireX:
TNT1 A 0 A_FireCustomMissile("CommandoMineStart",0,1,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("CommandoMineStartB",0,1,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("CommandoMineStartR",0,1,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("CommandoMineStartO",0,1,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("CommandoMineStartP",0,1,0,0)
goto Done
}
}

actor CommandoAlt_CI : TeamColor_CI
{
States
{
FireX:
TNT1 A 0 A_FireCustomMissile("CommandoLeapExplosion",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("CommandoLeapExplosionB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("CommandoLeapExplosionR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("CommandoLeapExplosionO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("CommandoLeapExplosionP",0,0,0,0)
goto Done
}
}
