actor PhotonVulcanBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_VD"
Dropitem "PhotonMissileWepCDropped"
Weapon.AmmoUse 6
Weapon.AmmoGive 336
Obituary "$OB_MARSCLOSE"
Inventory.Pickupmessage "You become the martian!"
weapon.ammotype "RedPlanetAmmo"
weapon.ammotype2 "CandyBarAmmo"
inventory.icon "Mar1Icon"
States
{
Spawn:
C_0V D 1
loop

Ready:
GRDH A 0 A_JumpIfInventory("MarsIsATank",1,"ReadyT")
goto Ready0
ReadyT:
MARR N 2 A_TakeInventory("MarsIsATank",999)
MARR A 2 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)//Full jump
goto Ready0
Ready0:
MARR A 0 ACS_ExecuteAlways(998,0,DYE_MARS)
MARR A 0 A_GunFlash
goto Ready1

Ready1:
MARR A 0 A_JumpIfInventory("RedPlanetAmmo",12,"Ready2")
MARR A 4 A_WeaponReady(12)
MARR A 0 A_GiveInventory("RedPlanetAmmo",6)
loop
Ready2:
MARR A 4 A_WeaponReady(8)
MARR A 0 A_GiveInventory("RedPlanetAmmo",6)
loop

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
MARR G 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
MARR G 1 A_Raise
Loop

Fire:
MARR A 0 A_JumpIfNoAmmo("NoAmmo")
MARR A 0 A_GiveInventory("PowerMarsIsSlowed",1)
MARR A 0 A_PlaySoundEx("weapon/marsvulcan","Weapon")
MARR A 0 A_GiveInventory("MarsMain1_CI",1)
MARR BC 2
MARR A 0 A_PlaySoundEx("weapon/marsvulcan","Body")
MARR A 0 A_GiveInventory("MarsMain2_CI",1)
MARR A 0 A_GiveInventory("MarsSpreadFlag",3)
MARR DE 2
MARR A 0 A_Refire("FireH")
MARR A 2 A_TakeInventory("PowerMarsIsSlowed",9)
MARR A 0 A_TakeInventory("MarsSpreadFlag",99)
Goto Ready1
FireH:
MARR A 0 A_JumpIfNoAmmo("NoAmmo")
MARR A 0 A_GiveInventory("PowerMarsIsSlowed",1)
MARR A 0 A_PlaySoundEx("weapon/marsvulcan","Weapon")
MARR A 0 A_GiveInventory("MarsMain1_CI",1)
MARR FC 2
MARR A 0 A_PlaySoundEx("weapon/marsvulcan","Body")
MARR A 0 A_GiveInventory("MarsMain2_CI",1)
MARR A 0 A_GiveInventory("MarsSpreadFlag",3)
MARR DE 2
MARR A 0 A_Refire("FireH")
MARR A 2 A_TakeInventory("PowerMarsIsSlowed",9)
MARR A 0 A_TakeInventory("MarsSpreadFlag",99)
Goto Ready1

Altfire:
MARR A 1 A_GiveInventory("CandyBarAmmo",1)
Goto Ready1
NoAmmo:
MARR A 1 A_TakeInventory("PowerMarsIsSlowed",9)
MARR A 0 A_TakeInventory("MarsSpreadFlag",99)
MARR A 0 A_ClearRefire
Goto Ready1

Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_GiveInventory("MarsAltCheckF_P",1)
loop
}
}

actor PhotonMissileBoss : PhotonVulcanBoss
{
tag "$TAGC_VD2"
Weapon.AmmoUse 84
Inventory.Pickupmessage "You become the martian?"
inventory.icon "Mar2Icon"
States
{
Ready:
MARR A 0 A_JumpIfInventory("MarsIsATank",1,"Ready0")
goto ReadyT
ReadyT:
MARR A 2 A_GiveInventory("MarsIsATank",1)
MARR N 2 //ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,7,1)//Half jump
goto Ready0
Ready0:
MARR G 0 ACS_ExecuteAlways(998,0,DYE_MARS)
MARR G 0 A_GunFlash
goto Ready1

Ready1:
MARR G 0 A_JumpIfInventory("RedPlanetAmmo",84,"Ready2")
MARR G 4 A_WeaponReady(12)
MARR G 0 A_GiveInventory("RedPlanetAmmo",6)
loop
Ready2:
MARR G 4 A_WeaponReady(8)
MARR G 0 A_GiveInventory("RedPlanetAmmo",6)
loop

Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
MARR G 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
MARR G 1 A_Raise
Loop

Fire:
MARR G 0 A_JumpIfNoAmmo("NoAmmo")
MARR G 0 A_PlaySoundEx("weapon/marsmissile","Weapon")
MARR G 0 A_GiveInventory("MarsMain_CI",1)
MARR HIJ 2
MARR K 9
MARR LM 3
MARR G 2
Goto Ready1
Altfire:
MARR G 1 A_GiveInventory("CandyBarAmmo",1)
Goto Ready1
NoAmmo:
MARR G 1
Goto Ready1

Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_GiveInventory("MarsTankFlash_P",1)
loop
}
}

actor RedPlanetAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 336
+INVENTORY.IGNORESKILL
}

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

actor MarsTankFuel_F : Inventory
{
Inventory.amount 1
Inventory.maxamount 500
}

actor MarsFuelSpeedP : PowerSpeed
{
    +POWERSPEED.NOTRAIL
    speed 1.35
    powerup.duration 5
}

actor MarsIsATank : OnceC{}

actor MarsSpreadFlag : Inventory
{
Inventory.amount 1
Inventory.maxamount 30
}

actor PowerMarsIsSlowed : PowerSpeed
{
Speed 0.5
powerup.duration 20
+POWERSPEED.NOTRAIL
}

actor MarsMortarIsActive : Powerup
{
Powerup.Duration 9
}

actor MarsDelayFlag2 : Powerup
{
Powerup.Duration 2
}
actor MarsDelayFlag4 : Powerup
{
+INVENTORY.ADDITIVETIME
Powerup.Duration 2
}
actor MarsDelayFlag5 : Powerup
{
Powerup.Duration 5
}

actor MarsDelayFlag4_RC : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"PickupR")
TNT1 A 0 A_GiveInventory("MarsDelayFlag4",1)
goto PickupR
PickupR:
TNT1 A 0 A_GiveInventory("MarsDelayFlag4",1)
stop
}
}

actor MarsTankFuel_F_RC : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("MarsIsATank",1,"No")
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"PickupR")
TNT1 A 0 A_GiveInventory("MarsTankFuel_F",1)
stop
PickupR:
TNT1 A 0 A_GiveInventory("MarsTankFuel_F",2)
stop
No:
TNT1 A 0
stop
}
}

actor MarsAltCheckF_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("MarsTankFuel_F_RC",1)
TNT1 A 0 A_JumpIfInventory("MarsMortarIsActive",1,"No")
TNT1 A 0 A_JumpIfInventory("CandyBarAmmo",28,"Pickup_C")
goto Give
Pickup_C:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_SINGLE_INPUT,8)==1,"P_Fire")
stop
P_Fire:
TNT1 A 0 A_GiveInventory("MarsMortarIsActive",1)
TNT1 A 0 A_SpawnItemEx("MarsMortarSpawner")
stop
Give:
TNT1 A 0 A_JumpIfInventory("MarsDelayFlag5",1,"No")
TNT1 A 0 A_GiveInventory("MarsDelayFlag5",1)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"Give_R")
TNT1 A 0 A_GiveInventory("CandyBarAmmo",1)
stop
Give_R:
TNT1 A 0 A_GiveInventory("CandyBarAmmo",2)
stop
No:
TNT1 A 0
stop
}
}

actor MarsTankFlash_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("MarsAltCheckF_P",1)
TNT1 A 0 A_GiveInventory("MarsTankSnd_P",1)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,3)
TNT1 A 0 A_JumpIfInventory("MarsDelayFlag2",1,"No")
TNT1 A 0 A_GiveInventory("MarsDelayFlag2",1)
TNT1 A 0 A_SpawnItemEx("MarsTankExhaustFX_H",0,0,0,0,0,0,0,1)
TNT1 A 0 A_GiveInventory("MarsTankThrust_P",1)
stop
No:
TNT1 A 0
stop
}
}

actor MarsTankThrust_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("MarsTankFuel_F",1,"Pickup_Schmove")
goto Pickup_None
Pickup_Schmove:
TNT1 A 0 A_JumpIf(CallACS("cbm_CheckForwardBackInput")==1,"Pickup_Forward")
TNT1 A 0 A_JumpIf(CallACS("cbm_CheckForwardBackInput")==-1,"Pickup_Back")
goto Pickup_None
Pickup_None:
TNT1 A 0
stop
Pickup_Forward:
TNT1 A 0 A_GiveInventory("MarsFloorFX_P",1)
TNT1 A 0 A_GiveInventory("MarsTankThrustCheckF_P",1)
stop
Pickup_Back:
TNT1 A 0 A_GiveInventory("MarsFloorFX_P",1)
TNT1 A 0 A_GiveInventory("MarsTankThrustCheckB_P",1)
stop
}
}
actor MarsTankThrustCheckF_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("MarsTankFuel_F",1,"Pickup2")
//TNT1 A 0 A_JumpIfInventory("MarsRocketThrustBonus",1,"GroundW")
TNT1 A 0 A_JumpIf(z-floorz==0,"GroundW")
TNT1 A 0 A_JumpIf(1,"AirW")
stop
Pickup2:
//TNT1 A 0 A_JumpIfInventory("MarsRocketThrustBonus",1,"Ground")
TNT1 A 0 A_JumpIf(z-floorz==0,"Ground")
TNT1 A 0 A_JumpIf(1,"Air")
stop
Air:
TNT1 A 0 A_GiveInventory("MarsFuelSpeedP")
goto End
AirW:
TNT1 A 0 A_GiveInventory("MarsFuelSpeedP")
goto End
Ground:
TNT1 A 0 A_GiveInventory("MarsFuelSpeedP")
goto End
GroundW:
TNT1 A 0 A_GiveInventory("MarsFuelSpeedP")
goto End
End:
TNT1 A 0 A_TakeInventory("MarsTankFuel_F",2)
stop
}
}

actor MarsTankThrustCheckB_P : MarsTankThrustCheckF_P
{
States
{
Air:
TNT1 A 0 A_Recoil(0.3125)//1.25
goto End
AirW:
TNT1 A 0 A_Recoil(0.125)//0.5
goto End
Ground:
TNT1 A 0 A_Recoil(0.375)//1.5
goto End
GroundW:
TNT1 A 0 A_Recoil(0.1875)//0.75
goto End
}
}

actor MarsTankSnd_P: CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("VivifyDelay5",1,3)
TNT1 A 0 A_GiveInventory("VivifyDelay5",1)
TNT1 A 0 A_PlaySound("weapon/marstread",4,0.68)
TNT1 A 0
stop
}
}

actor MarsFloorFX_P: CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("MarsDelayFlag4",1,2)
TNT1 A 0 A_CheckFloor("Pickup_F")
TNT1 A 0
stop
Pickup_F:
TNT1 A 0 A_GiveInventory("MarsDelayFlag4_RC",1)
TNT1 A 0 A_SpawnItemEx("MarsTankDustFX",-2, 14,0,-2,0,0,0,129)
TNT1 A 0 A_SpawnItemEx("MarsTankDustFX",-2,-14,0,-2,0,0,0,129)
stop
}
}

actor MarsVulcanShot : FastProjectile
{

Translation "204:204=4:4","195:195=70:70"
PROJECTILE
damagetype "Mars_Shot"
Obituary "$OB_MARSVULCAN"
Damage (5)
radius 6
height 6
Speed 1//135
scale 2.5
States
{
Spawn:
TNT1 A 0
MARP Q 0 A_SpawnItemEx("MarsVulcanShot2",0,0,0,momx*120,momy*120,momz*120,0,9)
MARP Q 0
stop
Death:
BBAB BCD 2
stop
}
}

actor MarsVulcanShot2 : MarsVulcanShot
{
Speed 120
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
MARP Q 1 //A_SpawnItemEx("MarsVulcanShotFX",0,0,0,momx*0.1,momy*0.1,momz*0.1,0,8)
MARP QQQQQ 1 A_SpawnItemEx("MarsVulcanShotFX_H",0,0,0,momx*0.1,momy*0.1,momz*0.1,0,8)
MARP Q 1 A_SpawnItemEx("MarsVulcanShotFX_H",0,0,0,momx*0.1,momy*0.1,momz*0.1,0,8)
MARP Q 1
wait
}
}
actor MarsVulcanShotB : MarsVulcanShot{Translation"204:204=205:205","195:195=74:74"}
actor MarsVulcanShotR : MarsVulcanShot{Translation"204:204=171:171","195:195=41:41"}
actor MarsVulcanShotO : MarsVulcanShot{Translation"204:204=104:104","195:195=128:128"}
actor MarsVulcanShotP : MarsVulcanShot{Translation"204:204=229:229","195:195=232:232"}

actor MarsVulcanShotFX_H : BasicClientSide
{
ReactionTime 3
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SetPitch(pitch+1)
TNT1 A 0 A_SpawnItemEx("MarsVulcanShotFX",0,0,0,momx*(-pitch*5),momy*(-pitch*5),momz*(-pitch*5),0,8)
TNT1 A 0 A_CountDown
loop
}
}

actor MarsVulcanShotFX : BasicClientSide
{
RenderStyle Translucent
Alpha 0.65
Speed 100
States
{
Spawn:
MARP R 0
MARP R 1 A_Stop
MARP R 0 A_SetScale(ScaleX+0.25)
MARP R 1 A_FadeOut(0.15)
MARP R 0 A_SetScale(ScaleX+0.25)
MARP R 1 A_FadeOut(0.15)
stop
}
}

actor MarsPhotonMissile
{
Translation "202:202=210:210","195:195=70:70","249:249=42:42"
PROJECTILE
damagetype "Mars_Photon"
Obituary "$OB_MARSMISSILE"
+THRUGHOST
ReactionTime 1
Damage (5)
radius 9
height 8
Speed 45
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
VP_D C 0
VP_D C 0 A_PlaySoundEX("weapon/marsmissiletravel","Weapon")
VP_D CCDDEECCDDEE 1 A_SpawnItemEx("MarsPhotonMissileTravelFX",0,0,0,momx*0.1,momy*0.1,momz*0.1,0,8)
//VP_D C 2 A_ScaleVelocity(0.8)//48
//VP_D D 2 A_ScaleVelocity(0.6)//28.8
//VP_D E 2 A_ScaleVelocity(0.4)//11.52
VP_D C 1 A_CountDown
wait
Death:
TNT1 A 0 A_Stop
TNT1 A 0 A_PlaySoundEx("weapon/marsmortarboom","Weapon")
TNT1 A 0 A_Explode(25,88,0,0,16)
TNT1 A 0 A_SpawnItemEx("MarsPhotonMissileFX",0,0,0,0,0,0,0,1)
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("MarsTankFuel_F",1,"DeathBoost")
//TNT1 A 0 ACS_NamedExecuteAlways("cbm_MarsRocketJump",0,10,128,2)
goto DeathWait
DeathBoost:
//TNT1 A 0 ACS_NamedExecuteAlways("cbm_MarsRocketJump",0,20,128,2)
goto DeathWait
DeathWait:
TNT1 A 10
stop
}
}

actor MarsPhotonMissileB : MarsPhotonMissile{translation "202:202=205:205","195:195=74:74","249:249=74:74"}
actor MarsPhotonMissileR : MarsPhotonMissile{translation "202:202=171:171","195:195=41:41","249:249=41:41"}
actor MarsPhotonMissileO : MarsPhotonMissile{translation "202:202=104:104","195:195=128:128","249:249=128:128"}
actor MarsPhotonMissileP : MarsPhotonMissile{translation "202:202=229:229","195:195=232:232","249:249=232:232"}

actor MarsPhotonMissileTravelFX : BasicClientSide
{
    +BRIGHT
    States
    {
    Spawn:
        WHEE LLMMNN 1
        stop
    }
}

actor MarsPhotonMissileFX : BasicClientSide
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(256,"Spawn1","Spawn2")
Spawn1:
X_VC FGHIJKLMNO 1
stop
Spawn2:
X_VC FGPQRSTUVO 1
stop
}
}

actor MarsTankExhaustFX_H : BasicHelper
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 //A_SpawnItemEx("MarsTankExhaustFX",Random(-40,40),0,Random(60,70),random(-5,5),random(-5,5),random(3,5),random(0,359),64)
TNT1 A 0 A_SpawnItemEx("MarsTankExhaustFX",Random(-20,-10),Random(30,20),Random(60,70),frandom(-2,0),frandom(-1,1),frandom(4,5),0,1,32)
TNT1 A 0 A_SpawnItemEx("MarsTankExhaustFX",Random(-20,-10),Random(-30,-20),Random(60,70),frandom(-2,0),frandom(-1,1),frandom(4,5),0,1,32)
TNT1 A 1
stop
}
}

actor MarsTankExhaustFX
{
+MISSILE
+NOGRAVITY
+THRUACTORS
+DONTBLAST
+CLIENTSIDEONLY
damage 0
Radius 2
Height 2
scale 2.5
States
{
Spawn:
//SMFX XYZ 3
TNT1 A 0
MARR SSTTUUVV 1 ThrustThingZ(0,random(2,4),0,1)
stop
}
}

actor MarsTankDustFX
{
Scale 1.0
+NOINTERACTION
+NOGRAVITY
+CLIENTSIDEONLY
States
{
Spawn:
HSHH P 0
HSHH PQR 5
stop
}
}

actor MarsMortarSpawner : BasicHelper
{
ReactionTime 4
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0 A_GiveToTarget("MarsAlt_CI",1)
TNT1 A 0 A_GiveToTarget("MarsMortarIsActive",1)
TNT1 A 0 A_TakeFromTarget("CandyBarAmmo",7)
TNT1 A 1
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1,2)
TNT1 A 1
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1,2)
TNT1 A 1
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1,2)
TNT1 A 1 A_CountDown
loop
}
}

actor MarsMortar_H : BasicHelper
{
Translation "202:202=210:210","195:195=70:70"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("MarsMortar",11,0,28,20,frandom(0,1),frandom(15,16),random(-17,17),1)
TNT1 A 0 A_SpawnItemEx("MarsMortar",11,0,28,15,frandom(0,1),frandom(15,16),random(-17,17),1)
TNT1 A 0 A_SpawnItemEx("MarsMortar",11,0,28,10,frandom(-1,0),frandom(15,16),random(-17,17),1)
TNT1 A 0 A_SpawnItemEx("MarsMortar",11,0,28,5,frandom(-1,0),frandom(15,16),random(-17,17),1)
TNT1 A 0
TNT1 A 0 //A_SpawnItemEx("MarsMortar",11,-11,28,frandom(-2,4),frandom(-4.5f,-1),frandom(15,16),0,1)
TNT1 A 0 //A_SpawnItemEx("MarsMortar",11,11,28,frandom(-2,4),frandom(1,4.5f),frandom(15,16),0,1)
TNT1 A 0 //A_SpawnItemEx("MarsMortar",-11,-11,28,frandom(-4,2),frandom(-4.5f,-1),frandom(15,16),0,1)
TNT1 A 0 //A_SpawnItemEx("MarsMortar",-11,11,28,frandom(-4,2),frandom(1,4.5f),frandom(15,16),0,1)
TNT1 A 4
stop
}
}

actor MarsMortar_HB : MarsMortar_H{Translation"202:202=205:205","195:195=74:74"}
actor MarsMortar_HR : MarsMortar_H{Translation"202:202=171:171","195:195=41:41"}
actor MarsMortar_HO : MarsMortar_H{Translation"202:202=104:104","195:195=128:128"}
actor MarsMortar_HP : MarsMortar_H{Translation"202:202=229:229","195:195=232:232"}

actor MarsMortar
{
PROJECTILE
damagetype "Mars_Mortar"
Obituary "$OB_MARSMORTAR"
-NOGRAVITY
+BOUNCEONWALLS
+BOUNCEONCEILINGS
+USEBOUNCESTATE
+SKYEXPLODE
//+DONTSPLASH
BounceFactor 1.0
BounceCount 4
Damage (0)
Height 5
Radius 5
Speed 20
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
V_MR G 0
V_MR G 1 A_JumpIf(velz<=4,6)
V_MR G 1 A_JumpIf(velz<=4,6)
V_MR G 1 A_JumpIf(velz<=4,6)
V_MR H 1 A_JumpIf(velz<=4,6)
V_MR H 1 A_JumpIf(velz<=4,6)
V_MR H 1 A_JumpIf(velz<=4,6)
loop
Spawn2:
V_MR I 1 A_JumpIf(velz<=0,"Spawn3_1")
V_MR I 1 A_JumpIf(velz<=0,"Spawn3_2")
V_MR I 1 A_JumpIf(velz<=0,"Spawn3_3")
V_MR J 1 A_JumpIf(velz<=0,"Spawn3_4")
V_MR J 1 A_JumpIf(velz<=0,"Spawn3_5")
V_MR J 1 A_JumpIf(velz<=0,"Spawn3_6")
loop

Bounce.Ceiling:
V_MR K 0 A_ChangeFlag("USEBOUNCESTATE",0)
V_MR K 0 A_ChangeFlag("BOUNCEONCEILINGS",0)
V_MR K 0 A_ChangeVelocity(momx,momy,0,2)
V_MR K 0 A_PlaySound("weapon/marsmortarfly",1,0.45)
goto Spawn3

Spawn3_1:
V_MR K 0 A_ChangeFlag("BOUNCEONCEILINGS",0)
V_MR K 0 A_PlaySound("weapon/marsmortarfly",1,0.45)
goto Spawn3
Spawn3_2:
V_MR K 0 A_ChangeFlag("BOUNCEONCEILINGS",0)
V_MR K 0 A_PlaySound("weapon/marsmortarfly",1,0.45)
goto Spawn3+1
Spawn3_3:
V_MR K 0 A_ChangeFlag("BOUNCEONCEILINGS",0)
V_MR K 0 A_PlaySound("weapon/marsmortarfly",1,0.45)
goto Spawn3+2
Spawn3_4:
V_MR L 0 A_ChangeFlag("BOUNCEONCEILINGS",0)
V_MR L 0 A_PlaySound("weapon/marsmortarfly",1,0.45)
goto Spawn3+3
Spawn3_5:
V_MR L 0 A_ChangeFlag("BOUNCEONCEILINGS",0)
V_MR L 0 A_PlaySound("weapon/marsmortarfly",1,0.45)
goto Spawn3+4
Spawn3_6:
V_MR L 0 A_ChangeFlag("BOUNCEONCEILINGS",0)
V_MR L 0 A_PlaySound("weapon/marsmortarfly",1,0.45)
goto Spawn3+5
Spawn3:
V_MR K 1 A_JumpIf(velz<=-4,6)
V_MR K 1 A_JumpIf(velz<=-4,6)
V_MR K 1 A_JumpIf(velz<=-4,6)
V_MR L 1 A_JumpIf(velz<=-4,6)
V_MR L 1 A_JumpIf(velz<=-4,6)
V_MR L 1 A_JumpIf(velz<=-4,6)
loop
Spawn4:
V_MR M 1 A_JumpIf(velz<=-7,6)
V_MR M 1 A_JumpIf(velz<=-7,6)
V_MR M 1 A_JumpIf(velz<=-7,6)
V_MR N 1 A_JumpIf(velz<=-7,6)
V_MR N 1 A_JumpIf(velz<=-7,6)
V_MR N 1 A_JumpIf(velz<=-7,6)
loop
Spawn5:
V_MR OOOPPP 1
loop

Death:
TNT1 A 0 A_Stop
TNT1 A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_PlaySound("weapon/marsmortarboom",1,0.45)
TNT1 A 0 A_Explode(10,56,0,0,16)
UMFX J 2
XMFX S 2
UMFX JK 2
stop
}
}


actor MarsMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("MarsPhotonMissile",0,1,0,32)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MarsPhotonMissileB",0,1,0,32)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MarsPhotonMissileR",0,1,0,32)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MarsPhotonMissileO",0,1,0,32)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MarsPhotonMissileP",0,1,0,32)
goto Done
}
}

actor MarsMain1_CI : TeamColor_CI
{
States
{
FireX:
TNT1 A 0 A_FireCustomMissile("MarsVulcanShot",0,1,8+(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)),(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)))
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MarsVulcanShotB",0,1,8+(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)),(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)))
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MarsVulcanShotR",0,1,8+(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)),(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)))
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MarsVulcanShotO",0,1,8+(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)),(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)))
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MarsVulcanShotP",0,1,8+(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)),(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)))
goto Done
}
}

actor MarsMain2_CI : TeamColor_CI
{
States
{
FireX:
TNT1 A 0 A_FireCustomMissile("MarsVulcanShot",0,1,-8+(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)),(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)))
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MarsVulcanShotB",0,1,-8+(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)),(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)))
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MarsVulcanShotR",0,1,-8+(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)),(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)))
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MarsVulcanShotO",0,1,-8+(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)),(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)))
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MarsVulcanShotP",0,1,-8+(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)),(random(0,1)*2-1)*random(0,CallACS("cbm_countinv_acs",503,-1)))
goto Done
}
}

actor MarsAlt_CI : TeamColor_CI
{
States
{
FireX:
TNT1 A 0 A_FireCustomMissile("MarsMortar_H",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("MarsMortar_HB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("MarsMortar_HR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("MarsMortar_HO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("MarsMortar_HP",0,0,0,0)
goto Done
Done:
TNT1 A 0 A_PlaySound("weapon/GrenadeShot",7,1)
stop
}
}