actor RainFlushBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_4B"
dropitem "RainFlushWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Obituary "$OB_RAINFLUSH"
weapon.ammotype "ShantaeDanceAmmo"
States
{
Spawn:
C_04 B 1
loop
Ready:
TARM A 0 ACS_ExecuteAlways(998,0,DYE_TOADMAN)
TARM A 0 A_GiveInventory("SpawningMisfire",1)
goto Ready2
Ready2:
TARM A 2 A_WeaponReady
TARM A 0 A_TakeInventory("SpawningMisfire",1)
Goto Ready3
Ready3:
TARM A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,15,1)
TARM A 0 A_GiveInventory("ToadLeapFlagE",1)
TARM A 0 A_TakeInventory("ToadLeapFlag",999)
TARM A 0 A_JumpIfInventory("ToadLeapDelay",1,"Ready3a")
TARM A 1 A_WeaponReady
wait
Ready3a:
TARM A 1 A_WeaponReady(8)
Goto Ready3+1

Deselect:
TARM AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
TARM A 1 A_Lower
loop
Select:
TARM AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
TARM A 1 A_Raise
Loop

SpawnProtect:
TARM A 1
Goto Ready2

Fire:
TARM A 0 A_JumpIfInventory("IsBot",1,"BotFire")
TARM A 0 A_JumpIfInventory("SpawningMisfire",1,"SpawnProtect")
TARM A 0 A_JumpIfInventory("VivifyFlag2",1,"FirePT2")
TARM A 0 A_GiveInventory("ToadLeapFlagE",1)
TARM A 0 A_GiveInventory("StunArmor",1)
TARM A 0 SetPlayerProperty(0,1,0)
TARM A 0 A_PlaySound("class/ToadDance",1,1.0)
TARM A 0 A_GiveInventory("VivifyFlag1",1)
TARM A 0 A_GiveInventory("ToadFireFlag",2)
TARM B 0 A_Refire(1)
TARM B 1
TARM B 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,0,1)

TARM B 0 A_GiveInventory("ShantaeDanceAmmo",1)

TARM B 0 A_TakeInventory("ToadLeapFlag",999)
TARM B 1 A_TakeInventory("ToadLeapFlagX",999)
TARM B 0 A_GunFlash("Flash.Toad", GFF_NOEXTCHANGE)
//TARM B 0 A_JumpIfInventory("IsBot",1,"BotFireL")
goto FireL

Flash.Toad:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_JumpIf(z-floorz!=0,3)
TNT1 A 1 A_ChangeVelocity((momx)*1.045,(momy)*1.045,(momz),CVF_REPLACE)
TNT1 A 0 A_JumpIfInventory("StunArmor",1,"Flash.Toad")
stop
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("StunArmor",1,"Flash.Toad")
stop

BotFireL:
TARM CCCDDDEEE 2 A_GiveInventory("ToadM_MainCharge_P")
Goto FirePT2

FireL:
TARM C 1 A_JumpIfInventory("PowerRage_ST",1,2)
TARM C 0 A_Refire(1)
goto FireLEnd1
TARM C 1 A_GiveInventory("ToadM_MainCharge_P")
TARM C 0 A_Refire(1)
goto FireLEnd1
TARM C 1 A_JumpIfInventory("PowerRage_ST",1,2)
TARM C 0 A_Refire(1)
goto FireLEnd1
TARM C 1 A_GiveInventory("ToadM_MainCharge_P")
TARM C 0 A_Refire(1)
goto FireLEnd1
TARM C 1 A_JumpIfInventory("PowerRage_ST",1,2)
TARM C 0 A_Refire(1)
goto FireLEnd1
TARM C 1 A_GiveInventory("ToadM_MainCharge_P")
TARM C 0 A_Refire(1)
goto FireLEnd1

TARM D 1 A_JumpIfInventory("PowerRage_ST",1,2)
TARM D 0 A_Refire(1)
goto FireLEnd2
TARM D 1 A_GiveInventory("ToadM_MainCharge_P")
TARM D 0 A_Refire(1)
goto FireLEnd2
TARM D 1 A_JumpIfInventory("PowerRage_ST",1,2)
TARM D 0 A_Refire(1)
goto FireLEnd2
TARM D 1 A_GiveInventory("ToadM_MainCharge_P")
TARM D 0 A_Refire(1)
goto FireLEnd2
TARM D 1 A_JumpIfInventory("PowerRage_ST",1,2)
TARM D 0 A_Refire(1)
goto FireLEnd2
TARM D 1 A_GiveInventory("ToadM_MainCharge_P")
TARM D 0 A_Refire(1)
goto FireLEnd2

TARM E 1 A_JumpIfInventory("PowerRage_ST",1,2)
TARM E 0 A_Refire(1)
goto FireLEnd3
TARM E 1 A_GiveInventory("ToadM_MainCharge_P")
TARM E 0 A_Refire(1)
goto FireLEnd3
TARM E 1 A_JumpIfInventory("PowerRage_ST",1,2)
TARM E 0 A_Refire(1)
goto FireLEnd3
TARM E 1 A_GiveInventory("ToadM_MainCharge_P")
TARM E 0 A_Refire(1)
goto FireLEnd3
TARM E 1 A_JumpIfInventory("PowerRage_ST",1,2)
TARM E 0 A_Refire(1)
goto FireLEnd3
TARM E 1 A_GiveInventory("ToadM_MainCharge_P")
TARM E 0 A_GiveInventory("VivifyFlag2",1)
TARM E 0 A_Refire("FirePT2")
goto FireLEnd3

FireLEnd3:
TARM E 0 A_PlaySound("class/ToadCroak",1,1.0)
TARM E 0 A_GiveInventory("ToadDanceReset_P",1)
TARM EE 2 A_TakeInventory("ShantaeDanceAmmo",4)
goto FireLEnd2+2
FireLEnd2:
TARM D 0 A_PlaySound("class/ToadCroak",1,1.0)
TARM D 0 A_GiveInventory("ToadDanceReset_P",1)
TARM DD 2 A_TakeInventory("ShantaeDanceAmmo",4)
goto FireLEnd1+2
FireLEnd1:
TARM C 0 A_PlaySound("class/ToadCroak",1,1.0)
TARM C 0 A_GiveInventory("ToadDanceReset_P",1)
TARM CC 2 A_TakeInventory("ShantaeDanceAmmo",4)
goto FireLEnd
FireLEnd:
TARM AA 2 A_TakeInventory("ShantaeDanceAmmo",14)
Goto Ready3

Altfire:
TARM A 0 A_JumpIf(floorz-z==0,"Leap")
TARM A 1
Goto Ready3
Leap:
TARM A 0 A_GiveInventory("StunArmor",1)
TARM A 0 A_GiveInventory("ToadLeapFlag",1)
TARM A 0 A_TakeInventory("ToadLeapStack",999)
TARM A 0 A_TakeInventory("ToadLeapFlagE",999)
TARM A 0 ThrustThingZ(0,20,1,0)
TARM GH 4
TARM G 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,0,1)
TARM G 0 A_PlaySoundEx("weapon/superarmuse","Weapon")
TARM G 0 ThrustThingZ(0,80,0,0)
TARM G 0 A_Recoil(-30)
TARM G 0 A_GiveInventory("ToadLeapRageCheck",1)
TARM G 0 A_JumpIfInventory("PowerRage_ST",1,"LeapUp_R")
//TARM G 15
//TARM G 0 A_TakeInventory("StunArmor",999)
//TARM G 25
Goto LeapUp

LeapUp:
TARM GGGGGGGGGGGGGGG 1 A_JumpIf(momz<=0,"LeapFallS")
goto LeapFallS
LeapUp_R:
TARM GGGGGGGG 1 A_JumpIf(momz<=0,"LeapFallS")
goto LeapFallS
LeapFallS:
TARM G 0 A_TakeInventory("StunArmor",999)
goto LeapFall
LeapBounce:
TARM HHG 2
TARM G 2 A_TakeInventory("ToadLeapFlagX",999)
goto LeapFall

LeapFall:
TARM G 0 A_JumpIfInventory("ToadLeapFlagX",1,"LeapBounce")
TARM G 0 A_JumpIf(z-floorz==0,"Ready3")
TARM G 0 A_JumpIf(momz==0,4)
TARM G 0 A_SpawnItemEx("ToadLeapCrush",1,0,-10,momx,momy,-12,0,8)
TARM G 1 A_WeaponReady(14)
TARM G 0 A_JumpIfInventory("ToadLeapDelay",1,"LeapFall")
goto LeapFallR
TARM G 0 A_JumpIfInventory("ToadLeapFlagX",1,"LeapBounce")
TARM G 0 A_SpawnItemEx("ToadLeapCrush",1,0,-10,momx,momy,-12,0,8)
TARM G 1 A_WeaponReady(14)
TARM G 0 A_JumpIf(z-floorz==0,"Ready3")
TARM G 0 A_JumpIf(momz==0,"Ready3")
TARM G 0 A_JumpIfInventory("ToadLeapDelay",1,"LeapFall")
goto LeapFallR
LeapFallR:
TARM G 0 A_JumpIfInventory("ToadLeapFlagX",1,"LeapBounce")
TARM G 0 A_JumpIf(z-floorz==0,"Ready3")
TARM G 0 A_JumpIf(momz==0,3)
TARM G 0 A_SpawnItemEx("ToadLeapCrush",1,0,-10,momx,momy,-12,0,8)
TARM G 1 A_WeaponReady(2)
loop
TARM G 0 A_JumpIfInventory("ToadLeapFlagX",1,"LeapBounce")
TARM G 0 A_SpawnItemEx("ToadLeapCrush",1,0,-10,momx,momy,-12,0,8)
TARM G 1 A_WeaponReady(2)
TARM G 0 A_JumpIf(z-floorz==0,"Ready3")
TARM G 0 A_JumpIf(momz==0,"Ready3")
loop

FirePT2://A_SpawnItemEx("RainFlushClass",0,0,0)
TARM F 0 A_GiveInventory("ShantaeDanceAmmo",4)
TARM F 2 offset(-16,32)A_GiveInventory("ToadmanMain_CI",1)//A_FireCustomMissile("RainFlushClass")
TARM F 2 offset(-8,32)A_TakeInventory("ToadFireFlag")
TARM F 2 offset(1,32)
TARM F 2 offset(8,32)
TARM F 2 offset(16,32)A_GiveInventory("ToadmanMain1_CI",1)
TARM F 2 offset(8,32)
TARM F 2 offset(-1,32)
TARM F 2 offset(-8,32)
TARM F 2 offset(-16,32)A_GiveInventory("ToadmanMain2_CI",1)
TARM F 2 offset(-8,32)
TARM F 2 offset(1,32)
TARM F 2 offset(8,32)
TARM F 2 offset(16,32)A_GiveInventory("ToadmanMain2_CI",1)
TARM F 2 offset(8,32)
TARM F 2 offset(-1,32)
TARM F 2 offset(-8,32)
TARM A 0 A_Refire("FireHRain")
goto FireEnd
FireHRain:
TARM F 0 A_GiveInventory("ToadmanMain3_CI",1)
TARM F 2 offset(-16,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 2 offset(-8,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 2 offset(1,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 2 offset(8,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 0 A_GiveInventory("ToadmanMain3_CI",1)
TARM F 2 offset(16,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 2 offset(8,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 2 offset(-1,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 2 offset(-8,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 0 A_GiveInventory("ToadmanMain3_CI",1)
TARM F 2 offset(-16,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 2 offset(-8,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 2 offset(1,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 2 offset(8,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 0 A_GiveInventory("ToadmanMain3_CI",1)
TARM F 2 offset(16,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 2 offset(8,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 2 offset(-1,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire(1)
goto FireEnd
TARM F 0 A_JumpIfInventory("IsBot",1,"BotFire4")
TARM F 2 offset(-8,32)A_GiveInventory("ToadFireFlag",1)
TARM F 1 A_Refire("FireHRainCheck")
goto FireEnd
FireHRainCheck:
TARM F 0 A_TakeInventory("ShantaeDanceAmmo",2,1)
TARM F 0 A_JumpIfInventory("ShantaeDanceAmmo",1,"FireHRain")
goto FireEnd

FireEnd:
TNT1 A 2 offset(1,32)A_GiveInventory("ToadDanceReset_P",1)
TNT1 AAAAAAAAAA 2 A_TakeInventory("ShantaeDanceAmmo",3)
TARM HG 2 A_TakeInventory("ShantaeDanceAmmo",14)
Goto Ready3

BotFire:
TNT1 A 0 A_JumpIfCloser(1000,"BotFire2")
TARM A 1 A_Jump(16,"AltFire")
goto Ready3
BotFire2:
TNT1 A 0 A_Jump(220,2)
TNT1 A 0 A_GiveInventory("BotJumpC",1)
//TNT1 A 0 A_JumpIfCloser(450,"BotFire3")
TNT1 A 0 A_JumpIfCloser(200,"BotFire3")
TARM A 1 A_Jump(4,"AltFire")
goto Ready3
BotFire3:
TARM A 0
goto Fire+2
BotFire4:
TARM F 0 A_JumpIfCloser(1000,2)
TARM F 0 A_Jump(32,"FireEnd")
TARM F 0 A_Refire("FireHRainCheck")
goto FireEnd
}
}

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

actor ToadFireFlag : Inventory
{
inventory.amount 1
inventory.maxamount 16
}

actor ToadLeapStack : Inventory
{
inventory.amount 1
inventory.maxamount 8
}

actor ToadLeapDelay : Powerup
{
+INVENTORY.ADDITIVETIME
Powerup.Duration 20
}
actor ToadLeapFlag :OnceC{}
actor ToadLeapFlagX :OnceC{}
actor ToadLeapFlagE :OnceC{}

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

actor ToadM_MainCharge_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("ShantaeDanceAmmo",3)
TNT1 A 1 A_GiveInventory("ToadFireFlag",1)
stop
}
}

actor ToadDanceReset_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("VivifyFlag1")
TNT1 A 0 A_TakeInventory("VivifyFlag2")
TNT1 A 0 A_TakeInventory("StunArmor")
TNT1 A 0 A_TakeInventory("ToadFireFlag")
TNT1 A 0 SetPlayerProperty(0,0,0)
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,15,1)
stop
}
}

actor ToadRainFlushBoom : BasicExplosion
{
Translation "202:202=248:248","199:199=104:104"
damagetype "ToadM_Rain"
Obituary "$OB_RAINFLUSH"
RenderStyle None
ReactionTime 35
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Stop
TNT1 A 0 A_PlaySoundEx("weapon/rainflush","Weapon")
TNT1 A 0 A_Explode(12,480,0,0,112)//256//A_Explode(500,450,0)
Spawn2:
TNT1 AAAA 0 A_SpawnItemEx("ToadRainSprinkleFX", random(-248,428), random(-438,438), 306, -30, 0, -30, 180, 129)
TNT1 A 0 A_SpawnItemEx("ToadM_DrizzleFX", random(-248,428), random(-438,438), 306, -30, 0, -30, 180, 1+32+128)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(-0.5,0.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(0.5,1.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(1.5,2.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(2.5,3.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(3.5,4.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(4.5,5.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(5.5,6.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(6.5,7.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(7.5,8.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(8.5,9.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(9.5,10.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(10.5,11.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(11.5,12.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(12.5,13.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(13.5,14.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",240,0,306,0,0,-30,22.5*frandom(14.5,15.5),1)
TNT1 A 1
TNT1 A 0 A_CountDown
loop
}
}
actor ToadRainFlushBoomB : ToadRainFlushBoom{Translation"202:202=205:205","199:199=74:74"}
actor ToadRainFlushBoomR : ToadRainFlushBoom{Translation"202:202=171:171","199:199=41:41"}
actor ToadRainFlushBoomO : ToadRainFlushBoom{Translation"202:202=104:104","199:199=128:128"}
actor ToadRainFlushBoomP : ToadRainFlushBoom{Translation"202:202=229:229","199:199=232:232"}

actor ToadRainFlushBoom2 : ToadRainFlushBoom
{
ReactionTime 1
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Stop
TNT1 A 0// A_PlaySoundEx("weapon/ShortRain","Weapon")
TNT1 A 0 A_Explode(12,488,0,0,80)
Spawn2:
TNT1 AAAA 0 A_SpawnItemEx("ToadRainSprinkleFX", random(-248,428), random(-438,438), 306, -30, 0, -30, 180, 129)
TNT1 A 0 A_SpawnItemEx("ToadM_DrizzleFX", random(-248,428), random(-438,438), 306, -30, 0, -30, 180, 1+32+128)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(-0.5,0.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(0.5,1.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(1.5,2.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(2.5,3.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(3.5,4.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(4.5,5.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(5.5,6.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(6.5,7.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(7.5,8.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(8.5,9.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(9.5,10.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(10.5,11.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(11.5,12.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(12.5,13.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(13.5,14.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",244,0,306,0,0,-30,22.5*frandom(14.5,15.5),1)
TNT1 A 1
TNT1 A 0 A_CountDown
loop
}
}
actor ToadRainFlushBoom2B : ToadRainFlushBoom2{Translation"202:202=205:205","199:199=74:74"}
actor ToadRainFlushBoom2R : ToadRainFlushBoom2{Translation"202:202=171:171","199:199=41:41"}
actor ToadRainFlushBoom2O : ToadRainFlushBoom2{Translation"202:202=104:104","199:199=128:128"}
actor ToadRainFlushBoom2P : ToadRainFlushBoom2{Translation"202:202=229:229","199:199=232:232"}

actor ToadRainFlushBoom3 : ToadRainFlushBoom
{
damagetype "ToadM_Rain2"
ReactionTime 1
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Stop
TNT1 A 0// A_PlaySoundEx("weapon/ShortRain","Weapon")
TNT1 A 0 A_Explode(10,496,0,0,48)
Spawn2:
TNT1 AAAA 0 A_SpawnItemEx("ToadRainSprinkleFX", random(-248,428), random(-438,438), 306, -30, 0, -30, 180, 129)
TNT1 A 0 A_SpawnItemEx("ToadM_DrizzleFX", random(-248,428), random(-438,438), 306, -30, 0, -30, 180, 1+32+128)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(-0.5,0.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(0.5,1.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(1.5,2.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(2.5,3.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(3.5,4.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(4.5,5.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(5.5,6.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(6.5,7.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(7.5,8.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(8.5,9.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(9.5,10.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(10.5,11.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(11.5,12.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(12.5,13.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(13.5,14.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",248,0,306,0,0,-30,22.5*frandom(14.5,15.5),1)
TNT1 A 1
TNT1 A 0 A_CountDown
loop
}
}
actor ToadRainFlushBoom3B : ToadRainFlushBoom3{Translation"202:202=205:205","199:199=74:74"}
actor ToadRainFlushBoom3R : ToadRainFlushBoom3{Translation"202:202=171:171","199:199=41:41"}
actor ToadRainFlushBoom3O : ToadRainFlushBoom3{Translation"202:202=104:104","199:199=128:128"}
actor ToadRainFlushBoom3P : ToadRainFlushBoom3{Translation"202:202=229:229","199:199=232:232"}

actor ToadRainFlushBoom4 : ToadRainFlushBoom
{
damagetype "ToadM_Rain2"
ReactionTime 9
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Stop
TNT1 A 0 A_PlaySoundEx("weapon/ShortRain","Weapon")
TNT1 A 0 A_Explode(9,512,0,0,16)
goto Spawn2
Spawn2:
TNT1 AAAA 0 A_SpawnItemEx("ToadRainSprinkleFX", random(-248,428), random(-438,438), 306, -30, 0, -30, 180, 129)
TNT1 A 0 A_SpawnItemEx("ToadM_DrizzleFX", random(-248,428), random(-438,438), 306, -30, 0, -30, 180, 1+32+128)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(-0.5,0.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(0.5,1.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(1.5,2.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(2.5,3.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(3.5,4.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(4.5,5.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(5.5,6.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(6.5,7.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(7.5,8.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(8.5,9.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(9.5,10.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(10.5,11.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(11.5,12.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(12.5,13.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(13.5,14.5),1)
TNT1 A 0 A_SpawnItemEX("ToadM_OutlineDrizzleFX",256,0,306,0,0,-30,22.5*frandom(14.5,15.5),1)
TNT1 A 1
TNT1 A 0 A_CountDown
loop
}
}
actor ToadRainFlushBoom4B : ToadRainFlushBoom4{Translation"202:202=205:205","199:199=74:74"}
actor ToadRainFlushBoom4R : ToadRainFlushBoom4{Translation"202:202=171:171","199:199=41:41"}
actor ToadRainFlushBoom4O : ToadRainFlushBoom4{Translation"202:202=104:104","199:199=128:128"}
actor ToadRainFlushBoom4P : ToadRainFlushBoom4{Translation"202:202=229:229","199:199=232:232"}

actor ToadRainSprinkleFX : BasicClientSide
{
States
{
Spawn:
TARM R 0
TARM RSRSRSRSRSRSRSR 2
stop
}
}

actor ToadM_DrizzleFX
{
PROJECTILE
+RIPPER
+NOINTERACTION
+THRUACTORS
+DONTBLAST
+DONTREFLECT
+CLIENTSIDEONLY
Reactiontime 1
Damage (0)
Radius 3
Height 4
Speed 30
Scale 2.5
Args 15
States
{
Spawn:
TARM R 0
TARM R 0
TARM RR 1 A_JumpIf(ceilingz-z>5,"Spawn2")
TARM R 0 A_JumpIf(momz==0,"Death")
TARM R 0 A_CountDownArg(0,"SpawnD")
TARM SS 1 A_JumpIf(ceilingz-z>5,"Spawn2")
TARM S 0 A_JumpIf(momz==0,"Death")
TARM S 0 A_CountDownArg(0,"SpawnD")
Goto Spawn+2
Spawn2:
TNT1 A 0 A_SpawnItemEx("ToadM_DrizzleFX1",0,0,0,-30,0,-30,0,1+32+32768)
stop
SpawnD:
TARM R 1// A_CountDown
stop
Death:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("ToadM_DrizzleBlipFX2",0,0,0,0,0,0,0,1+32)
TNT1 A 2
stop
}
}
actor ToadM_DrizzleFX1 : ToadM_DrizzleFX
{
-RIPPER
-NOINTERACTION
States
{
Spawn:
TARM RS 2 A_CountDownArg(0,"SpawnD")
TARM R 0 A_JumpIf(momz==0,"Death")
//TARM R 0 A_CountDown
loop
}
}
actor ToadM_DrizzleBlipFX2 : BasicClientSide
{
States
{
Spawn:
TARM T 0
TARM TU 2
stop
}
}

actor ToadM_OutlineDrizzleFX
{
PROJECTILE
+RIPPER
+NOINTERACTION
+THRUACTORS
+DONTBLAST
+DONTREFLECT
+CLIENTSIDEONLY
Reactiontime 1
Damage (0)
Radius 3
Height 4
Speed 30
Scale 2.5
Args 15
States
{
Spawn:
TARM R 0
TARM R 0
TARM VV 1 A_JumpIf(ceilingz-z>5,"Spawn2")
TARM R 0 A_JumpIf(momz==0,"Death")
TARM R 0 A_CountDownArg(0,"SpawnD")
TARM WW 1 A_JumpIf(ceilingz-z>5,"Spawn2")
TARM S 0 A_JumpIf(momz==0,"Death")
TARM S 0 A_CountDownArg(0,"SpawnD")
Goto Spawn+2
Spawn2:
TNT1 A 0 A_SpawnItemEx("ToadM_DrizzleOutlineFX1",0,0,0,0,0,-30,0,1+32+32768)
stop
SpawnD:
TARM R 1// A_CountDown
stop
Death:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("ToadM_DrizzleBlipFX2",0,0,0,0,0,0,0,1+32)
TNT1 A 2
stop
}
}

actor ToadM_DrizzleOutlineFX1 : ToadM_DrizzleFX1
{
-RIPPER
-NOINTERACTION
+DONTSPLASH
States
{
Spawn:
TARM VW 2 A_CountDownArg(0,"SpawnD")
TARM R 0 A_JumpIf(momz==0,"Death")
//TARM R 0 A_CountDown
loop
}
}

actor ToadLeapCrush
{
PROJECTILE
Obituary "$OB_TOADLEAP"
damagetype "ToadM_Leap"
+DONTBLAST
+DONTREFLECT
+THRUGHOST
renderstyle none
damage (20)
Radius 24
Height 2
States
{
Spawn:
TNT1 A 1
stop
}
}

actor ToadM_LeapProtect : PowerProtection
{
Powerup.Duration 6
DamageFactor "ToadM_Leap", 0.0
}

actor ToadM_Leap_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("ToadLeapFlagX",1)
TNT1 A 0 A_JumpIfInventory("ToadLeapStack",8,"Pickup2")
TNT1 A 0 A_GiveInventory("ToadLeapStack",1)
goto Pickup1
Pickup1:
TNT1 A 0 A_PlaySoundEx("weapon/ToadCrush","Body")
goto PickupT
Pickup2:
TNT1 A 0 A_PlaySoundEx("weapon/ToadCrushUp","Body")
TNT1 A 0 A_GiveInventory("CBM_HealThing100_PU",1)
goto PickupT
PickupT:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_JAX_CHECK_JUMP)==1,"PickupT2")
goto PickupT1
PickupT1:
TNT1 A 0 ThrustThingZ(0,48,0,0)
stop
PickupT2:
TNT1 A 0 ThrustThingZ(0,96,0,0)
stop
}
}


actor ToadmanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoomB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoomR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoomO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoomP",0,0,0,0)
goto Done
}
}


actor ToadmanMain1_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom2",0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom2B",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom2R",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom2O",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom2P",0,0,0,0)goto Done}}
actor ToadmanMain2_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom3",0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom3B",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom3R",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom3O",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom3P",0,0,0,0)goto Done}}
actor ToadmanMain3_CI : TeamColor_CI{states{
FireX:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom4",0,0,0,0)goto Done
FireB:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom4B",0,0,0,0)goto Done
FireR:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom4R",0,0,0,0)goto Done
FireO:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom4O",0,0,0,0)goto Done
FireP:TNT1 A 0 A_FireCustomMissile("ToadRainFlushBoom4P",0,0,0,0)goto Done}}
