actor CommandoBombBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_10C"
Dropitem "CommandoBombWepCDropped"
weapon.ammouse 7
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_GiveInventory("CommandoItemFlag",1)
Goto Ready1

Ready1Wait:
CMDH A 0 A_JumpIfInventory("FullMetalJacketAmmo",4,"Ready2Wait")
CMDH A 3 A_WeaponReady(12)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH A 0 A_JumpIfInventory("FullMetalJacketAmmo",4,8)
CMDH A 3 A_WeaponReady(12)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH A 0 A_JumpIfInventory("FullMetalJacketAmmo",4,7)
CMDH A 3 A_WeaponReady(12)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
goto Ready1
Ready2Wait:
CMDH A 3 A_WeaponReady(8)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH A 3 A_WeaponReady(8)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH A 3 A_WeaponReady(8)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
goto Ready2

Ready1:
CMDH A 0 A_JumpIfInventory("FullMetalJacketAmmo",4,"Ready2")
CMDH A 3 A_WeaponReady(4)
CMDH A 0 A_JumpIfInventory("CommandDelayM",1,"Ready1")
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
loop
Ready2:
CMDH A 3 A_WeaponReady
CMDH A 0 A_JumpIfInventory("CommandDelayM",1,"Ready2")
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
loop

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

Fire:
	CMDH A 0 A_JumpIfNoAmmo("NoAmmo")
	CMDH A 0 A_JumpIfInventory("CommandDelayM",1,"NoAmmo")
	CMDH A 1
	CMDH A 0 A_PlaySoundEX("weapon/commandoshot","Weapon")
	CMDH A 0 A_GiveInventory("CommandoMain_CI")
	CMDI A 1 Offset(18, 50)A_JumpIfInventory("PowerRage_ST",1,1)
	CMDI A 1 Offset(27, 59)
	CMDI B 1 Offset(33, 65)A_JumpIfInventory("PowerRage_ST",1,1)
	CMDI B 1 Offset(36, 68)
	CMDI C 1 Offset(36, 68)A_JumpIfInventory("PowerRage_ST",1,1)
	CMDI C 1 Offset(36, 68)
	CMDH A 1 Offset(33, 65)A_JumpIfInventory("PowerRage_ST",1,1)
	CMDH A 1 Offset(27, 59)
	CMDH A 1 Offset(18, 50)A_JumpIfInventory("PowerRage_ST",1,1)
	CMDH A 1 Offset(9, 41)
	CMDH A 0 A_GiveInventory("CommandDelayM",1)
Goto Ready1

AltFire:
CMDH C 0 A_JumpIfInventory("CommandDelayA",1,"NoAmmo")
CMDH A 0 A_JumpIfInventory("CommandoLeapFlag",1,"AltfireStomp")
CMDH C 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 A_JumpIfInventory("ImpairmentStack",1,2)
CMDH C 0 ThrustThingZ(0,70,0,0)
goto AltFireCont
CMDH C 0 ThrustThingZ(0,70*ACS_NamedExecuteWithResult("ImpairmentACS")/100,0,0)
goto AltFireCont
AltFireCont:
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(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
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(WRF_NOPRIMARY|WRF_NOSWITCH)
loop
AltfireStomp:
CMDH C 0 A_JumpIfInventory("ImpairmentStack",1,"AltfireStompI")
CMDH C 0 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 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH C 0 A_Refire("AltfireStomp")
goto AltFireFall
AltfireStompI:
CMDH C 0 ThrustThingZ(0,9*ACS_NamedExecuteWithResult("ImpairmentACS")/100,1,1)
CMDH C 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH C 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH C 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
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 0 A_GiveInventory("CommandDelayA",70)
CMDH A 0 A_SpawnItemEx("CommandoDelayHelper")
goto Ready1Wait

NoAmmo:
CMDH A 5 A_WeaponReady(12)
CMDH A 0 A_GiveInventory("FullMetalJacketAmmo",1)
goto Ready1
}
}

actor CommandoDelayHelper : BasicHelper
{
reactiontime 71
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_TakeFromTarget("CommandDelayA",1)
TNT1 A 1 A_Countdown
loop
}
}

actor CommandoMineBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_10C2"
Dropitem "CommandoBombWepCDropped"
weapon.ammouse 7
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 A 0 A_TakeInventory("CommandoItemFlag",1)
Goto Ready1

Ready1Wait:
CMDH D 0 A_JumpIfInventory("FullMetalJacketAmmo",6,"Ready2Wait")
CMDH D 3 A_WeaponReady(12)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH D 0 A_JumpIfInventory("FullMetalJacketAmmo",6,8)
CMDH D 3 A_WeaponReady(12)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH D 0 A_JumpIfInventory("FullMetalJacketAmmo",6,7)
CMDH D 3 A_WeaponReady(12)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
goto Ready1
Ready2Wait:
CMDH D 3 A_WeaponReady(8)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH D 3 A_WeaponReady(8)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
CMDH D 3 A_WeaponReady(8)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
goto Ready2

Ready1:
CMDH D 0 A_JumpIfInventory("FullMetalJacketAmmo",6,"Ready2")
CMDH D 3 A_WeaponReady(4)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
loop
Ready2:
CMDH D 3 A_WeaponReady
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
loop

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
CMDH D 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
CMDH D 1 A_Raise
Loop

Fire:
	CMDH A 0 A_JumpIfInventory("CommandDelayM2",1,"NoAmmo")
	CMDH D 0 A_JumpIfNoAmmo("NoAmmo")
    CMDH D 1 Offset(0, 32)A_JumpIfInventory("PowerRage_ST",1,1)
    CMDH D 1 Offset(-7, 26)
    CMDH D 1 Offset(-13, 12)
	CMDH D 0 A_PlaySoundEX("weapon/dustbit","Weapon")
	CMDH D 0 A_GiveInventory("CommandoMain2_CI")
    CMDH E 1 Offset(-20, -3)A_JumpIfInventory("PowerRage_ST",1,1)
    CMDH E 1 Offset(-24, -10)
    CMDH E 1 Offset(-31, -20)A_JumpIfInventory("PowerRage_ST",1,1)
    CMDH F 1 Offset(-44, -39) 
    CMDH F 1 Offset(-52, -41)A_JumpIfInventory("PowerRage_ST",1,1)
    CMDH F 1 Offset(-56, -37)
    CMDH F 1 Offset(-58, -31)A_JumpIfInventory("PowerRage_ST",1,1)
    CMDH F 1 Offset(-55, -25)
    CMDH F 1 Offset(-52, -19)A_JumpIfInventory("PowerRage_ST",1,1)
    CMDH E 1 Offset(-30, -2) 
    CMDH E 1 Offset(-21, 5)A_JumpIfInventory("PowerRage_ST",1,1)
    CMDH E 1 Offset(-16, 18)
    CMDH D 1 Offset(-13, 23)A_JumpIfInventory("PowerRage_ST",1,1)
    CMDH D 1 Offset(-8, 28)
    CMDH D 1 Offset(-4, 30)
	CMDH A 0 A_GiveInventory("CommandDelayM2",1)
Goto Ready1

AltFire:
CMDH F 0 A_JumpIfInventory("CommandDelayA",1,"NoAmmo")
CMDH F 0 A_JumpIfInventory("CommandoLeapFlag",1,"AltfireStomp")
CMDH F 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,0,1)
CMDH F 0 A_GiveInventory("NoJumpCancel",1)
CMDH F 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(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
CMDH F 0 A_JumpIf(z-floorz==0,"AltEnd")
CMDH F 0 A_FireCustomMissile("CommandoCrush",0,0,0,-24)
CMDH F 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
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(WRF_NOFIRE|WRF_NOSWITCH)
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 0 A_GiveInventory("CommandDelayA",70)
CMDH D 0 A_SpawnItemEx("CommandoDelayHelper")
goto Ready1Wait

NoAmmo:
CMDH D 5 A_WeaponReady(12)
CMDH D 0 A_GiveInventory("FullMetalJacketAmmo",1)
goto Ready1
}
}

actor CommandDelayM : Powerup
{
powerup.duration 12
}

actor CommandDelayM2 : Powerup
{
powerup.duration 6
}

actor CommandoBombJustDied : Powerup
{
powerup.duration 5
}

actor CommandDelayA : Inventory
{
inventory.amount 1
inventory.maxamount 70
}


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

actor CommandoItem : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "CmndoIco"
Tag "$TAGC_10C3"
inventory.pickupmessage "wow you got an antennae"
scale 2.0
+INVBAR
states
{
Spawn:
CMDH Z 1
loop
Use:
TNT1 A 0 A_PlaySoundEx("item/ItemUseMM9","SoundSlot6")
TNT1 A 0 A_JumpIfInventory("CommandoItemFlag",1,"Use2")
TNT1 A 0 A_GiveInventory("CommandoCommandMine",1)
fail
Use2:
TNT1 A 0 A_GiveInventory("CommandoCommandBomb",1)
fail
}
}

actor CommandoItemFlag : OnceC{}
actor CommandoLeapFlag : OnceC{}
actor CommandoCommandBomb : Powerup
{
Powerup.Duration 3
}
actor CommandoCommandMine : CommandoCommandBomb{}

actor CommandoM_Bomb 
{
translation "204:204=88:88", "195:195=222:222", "202:202=210:210"
PROJECTILE
Damagetype "CommandoM_Shot"
Obituary "$OB_COMMANDOBOMB"
Damage (15)
Radius 10
Height 10
Speed 30
Scale 2.5
States
{
Spawn:
CMDH G 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
W_AC A 1 A_JumpIfInTargetInventory("CommandoCommandBomb",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)*40,0,-sin(pitch)*40,0,1)
stop
DeathF:
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail2",20,0,16,10,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail2",20,0,16,10,0,0,90,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail2",20,0,16,10,0,0,180,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail2",20,0,16,10,0,0,270,1)
TNT1 A 4 A_PlaySoundEX("wep_L/commandoexplosion","Body")
goto DeathEnd
DeathC:
TNT1 A 0 A_SpawnItemEX("CommandoM_BombBit",random(-10,10),0,-13,8,0,0,0,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_BombBit",random(-10,10),0,-13,8,0,0,90,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_BombBit",random(-10,10),0,-13,8,0,0,180,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_BombBit",random(-10,10),0,-13,8,0,0,270,1)
goto DeathEnd
Death:
TNT1 A 0 A_Explode(10,96,0,0,20)
TNT1 A 0 A_CheckFloor("DeathF")
//TNT1 A 0 A_JumpIf(z-floorz<9,"Floor")
TNT1 A 0 A_JumpIf(z-ceilingz==0-10,"DeathC")
TNT1 A 0 A_SpawnItemEX("CommandoM_BombBit",0,0,random(-10,10),10,0,0,210,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_BombBit",0,0,random(-10,10),10,0,0,190,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_BombBit",0,0,random(-10,10),10,0,0,170,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_BombBit",0,0,random(-10,10),10,0,0,150,1)
goto DeathEnd
XDeath:
TNT1 A 0 A_Explode(10,96,0,0,20)
goto DeathEnd
DeathEnd:
TNT1 A 0 A_PlaySoundEx("weapon/napalm","Weapon")
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
TNT1 A 35
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_WaveProtect : PowerProtection
{
Powerup.Duration 5
DamageFactor "CommandoM_Wave", 0.0
DamageFactor "CommandoM_WaveBit", 0.0
}

actor CommandoM_Bomb2 : CommandoM_Bomb
{
damage (12)
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnL:
W_AC A 3 A_SpawnItemEX("CommandoM_BombFX")
CMDH H 3 A_SpawnItemEX("CommandoM_BombFX")
loop
Death:
TNT1 A 0 A_Explode(8,96,0,0,20)
goto Super::Death+1
XDeath:
TNT1 A 0 A_Explode(8,96,0,0,20)
goto DeathEnd
}
}

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

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

actor CommandoCrushProtect : PowerProtection
{
Powerup.Duration 4
damagefactor "CommandoM_Crush", 0.0
}

actor CommandoLeapExplosion : BasicExplosion
{
translation "202:202=210:210"//90
Damagetype "CommandoM_WaveBit"
Obituary "$OB_COMMANDOQUAKE"
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail",20,0,16,10,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail",20,0,16,10,0,0,45,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail",20,0,16,10,0,0,90,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail",20,0,16,10,0,0,135,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail",20,0,16,10,0,0,180,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail",20,0,16,10,0,0,225,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail",20,0,16,10,0,0,270,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail",20,0,16,10,0,0,315,1)
//TNT1 A 0 A_Explode(10,32,0,0,32)
//TNT1 A 0 A_Explode(18,128,0,0,64)
TNT1 A 0 A_PlaySoundEX("wep_L/commandowave","Body")
TNT1 A 0 A_PlaySoundEx("weapon/napalm","Weapon")
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
TNT1 A 35
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_WaveTrail
{
PROJECTILE
Damagetype "CommandoM_Wave"
Obituary "$OB_COMMANDOWAVE"
-NOGRAVITY
+DONTBLAST
+DONTREFLECT
+THRUACTORS
//+FLOORHUGGER
+STEPMISSILE
+NOEXPLODEFLOOR
maxstepheight 16
gravity 5.0
Damage (0)
Radius 20
Height 12
Speed 50
States
{
Spawn:
TNT1 A 0
TNT1 AAAAAAA 3 A_SpawnItemEx("CommandoM_Wave",0,0,0,0,0,0,0,1)
stop
}
}
actor CommandoM_WaveTrail2 : CommandoM_WaveTrail
{
Obituary "$OB_COMMANDOBOMB"
States
{
Spawn:
TNT1 A 0
TNT1 AAAAAAA 3 A_SpawnItemEx("CommandoM_Wave2",0,0,0,0,0,0,0,1)
stop
}
}
actor CommandoM_WaveTrail3 : CommandoM_WaveTrail
{
Obituary "$OB_COMMANDOMINE"
States
{
Spawn:
TNT1 A 0
TNT1 AAAAAAA 3 A_SpawnItemEx("CommandoM_Wave3",0,0,0,0,0,0,0,1)
stop
}
}

actor CommandoM_Wave
{
PROJECTILE
Damagetype "CommandoM_Wave"
Obituary "$OB_COMMANDOWAVE"
+DONTBLAST
+DONTREFLECT
+THRUGHOST
+FLOORHUGGER
Radius 20
Height 26
Damage (6)
Speed 0
Scale 2.5
States
{
Spawn:
TNT1 A 0
Y_AC TUVW 2
stop
Death:
TNT1 A 0
stop
}
}
actor CommandoM_Wave2 : CommandoM_Wave
{
Obituary "$OB_COMMANDOBOMB"
}
actor CommandoM_Wave3 : CommandoM_Wave
{
Obituary "$OB_COMMANDOMINE"
}

actor CommandoM_WaveBit
{
PROJECTILE
Damagetype "CommandoM_WaveBit"
Obituary "$OB_COMMANDOBIT"
-NOGRAVITY
+BOUNCEONWALLS
deathsound "wep_V/CommandoWave"
Wallbouncefactor 0.50
Radius 10
Height 10
Damage (6)
Speed 20
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ThrustThingZ(0,2,0,1)
UMFX JK 2
goto Spawn+2
Death:
TNT1 A 0
TNT1 A 4 A_SpawnItemEx("CommandoM_WaveTrail",0,0,0,10,0,0,0,1)
stop
}
}
actor CommandoM_BombBit : CommandoM_WaveBit
{
States
{
Death:
TNT1 A 0
TNT1 A 4 A_SpawnItemEx("CommandoM_WaveTrail2",0,0,0,10,0,0,0,1)
stop
}
}
actor CommandoM_MineBit : CommandoM_WaveBit
{
States
{
Death:
TNT1 A 0
TNT1 A 4 A_SpawnItemEx("CommandoM_WaveTrail3",0,0,0,10,0,0,0,1)
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(9)
Radius 20
Height 10
Speed 35
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 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_Stop
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_Explode(8,96,0,0,20)
TNT1 A 0 A_PlaySoundEx("weapon/napalm","Weapon")
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
TNT1 A 35
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
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
CMDH JJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKKJJJJJJKKKKKK 1 A_JumpIfInTargetInventory("CommandoCommandMine",1,"Command")
CMDH JJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKKJJJKKK 1 A_JumpIfInTargetInventory("CommandoCommandMine",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("weapon/napalm","Weapon")
TNT1 A 0 A_PlaySoundEX("wep_L/commandoexplosion","Body")
TNT1 A 0 A_JumpIfInventory("CommandoLeapFlag",1,"Death2")
TNT1 A 0 A_Explode(15,96,0,0,48)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,16,10,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,16,10,0,0,90,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,16,10,0,0,180,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,16,10,0,0,270,1)
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
goto Death2+1
Crash:
Death2:
TNT1 A 0 A_Explode(10,96,0,0,48)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,16,10,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,16,10,0,0,90,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,16,10,0,0,180,1)
TNT1 A 0 A_SpawnItemEx("CommandoM_WaveTrail3",20,0,16,10,0,0,270,1)
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
TNT1 A 35
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 3
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
CMDH VVVVVWWWWWVVVVVWWWWWVVVVVWWWWWVVVVVWWWWWVVVVVWWWWWVVVVVWWWWWVVVVVWWWWWVVVVVWWWWWVVVVVWWWWW 1 A_JumpIfInTargetInventory("CommandoCommandMine",1,"Command")
CMDH VVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWWVVVWWW 1 A_JumpIfInTargetInventory("CommandoCommandMine",1,"Command")
CMDH W 1 A_Countdown
wait
Command:
CMDH W 1 A_GiveInventory("CommandoLeapFlag",1)
CMDH W 1
goto Death2
Crash:
Death2:
TNT1 A 0 A_PlaySoundEx("weapon/napalm","Weapon")
TNT1 A 0 A_PlaySoundEX("wep_L/commandoexplosion","Body")
TNT1 A 0 A_Explode(10,180,0,0,100)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,-40,5,0,0,90,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,-40,5,0,0,180,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,-40,5,0,0,270,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,-40,5,0,0,360,1)
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
stop
Death:
TNT1 A 0 A_PlaySoundEx("weapon/napalm","Weapon")
TNT1 A 0 A_PlaySoundEX("wep_L/commandoexplosion","Body")
TNT1 A 0 A_Explode(15,180,0,0,100)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,-40,5,0,0,90,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,-40,5,0,0,180,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,-40,5,0,0,270,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,-40,5,0,0,360,1)
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
TNT1 A 35
goto Death2+3
}
}


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)
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
CMDH LLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMMM 1 A_JumpIfInTargetInventory("CommandoCommandMine",1,"Command")
CMDH LLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMMLLLMMM 1 A_JumpIfInTargetInventory("CommandoCommandMine",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_Stop
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_Explode(5,96,0,0,20)
TNT1 A 0 A_PlaySoundEx("weapon/napalm","Weapon")
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
stop

Death2:
TNT1 A 0 A_Explode(15,180,0,0,100)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),11,0,0,30,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),11,0,0,10,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),11,0,0,-10,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),11,0,0,-30,1)
TNT1 A 0 A_PlaySoundEx("weapon/napalm","Weapon")
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
goto DeathEnd

XDeath:
Crash:
TNT1 A 0 A_Explode(10,96,0,0,48)
DeathEnd:
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),11,0,0,30,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),11,0,0,10,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),11,0,0,-10,1)
TNT1 A 0 A_SpawnItemEX("CommandoM_MineBit",0,0,random(-10,10),11,0,0,-30,1)
TNT1 A 0 A_PlaySoundEx("weapon/napalm","Weapon")
TNT1 A 0 A_SpawnItemEx("BasicBoom5FX_Y",0,0,0,0,0,0,0,1+32)
TNT1 A 35
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
}
}