actor CrashbombBoss : MegaBuster
{
Weapon.AmmoUse 4
Weapon.AmmoGive 16
Weapon.SlotNumber 1
Obituary "%o was crashed by %k's Crash Bomb."
Inventory.Pickupmessage "Power up! Crash Bomb!"
weapon.ammotype "ClashAmmo"
inventory.pickupsound "weapon/weaponup"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
TNT1 A 0
stop
Ready:
CRAA A 0 ACS_ExecuteAlways(998,0,77)
CRAA A 0 A_TakeInventory("WeaponFired", 999)
CRAA A 0 A_GunFlash
CRAA A 0 A_JumpIfInventory("ClashAmmo", 4, "Ready2")
CRAA A 1 A_WeaponReady(WRF_NOPRIMARY|WRF_NOSWITCH)
Goto Ready+3
Ready2:
CRAA A 1 A_WeaponReady(WRF_NOSWITCH)
loop
Deselect:
CRAA A 0 A_GiveInventory("ClashFlag1")
CRAA A 0 A_GiveInventory("ClashFlag2")
CRAA A 0 A_GiveInventory("ClashFlag3")
CRAA A 0 A_GiveInventory("ClashFlag4")
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
CRAA A 1 A_Lower
Loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
CRAA X 1 A_Raise
Loop
Fire:
CRAA A 0 A_JumpIfNoAmmo("NoAmmo")
CRAA A 0 A_GiveInventory("WeaponFired", 1)
CRAA A 0 A_GunFlash
CRAA B 0 A_PlaySoundEx("weapon/mbuster","Weapon")
CRAA A 0 A_JumpIfInventory("ClashLaunched1", 4, "ClashBomb1")
CRAA A 0 A_JumpIfInventory("ClashLaunched2", 4, "ClashBomb2")
CRAA A 0 A_JumpIfInventory("ClashLaunched3", 4, "ClashBomb3")
CRAA A 0 A_JumpIfInventory("ClashLaunched4", 4, "ClashBomb4")
CRAA A 0 A_JumpIfInventory("ClashLaunched1", 1, "Bomb2Check")
goto Clashbomb1
Bomb2Check:
CRAA A 0 A_JumpIfInventory("ClashLaunched2", 1, "Bomb3Check")
goto Clashbomb2
Bomb3Check:
CRAA A 0 A_JumpIfInventory("ClashLaunched3", 1, "Bomb4Check")
goto Clashbomb3
Bomb4Check:
CRAA A 0
goto Clashbomb4
ClashBomb1:
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==0,"Blue1")
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==2,"Orange1")
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==3,"Purple1")
CRAA B 0 A_FireCustomMissile("ClashBomb1",0,2,8,0)
CRAA A 0 A_GiveInventory("ClashFlag1", 1)
CRAA B 3
CRAA A 0 A_TakeInventory("ClashFlag1", 1)
goto EndFire
Blue1:
CRAA B 0 A_FireCustomMissile("ClashBomb1Blue",0,2,8,0)
goto ClashBomb1+4
Orange1:
CRAA B 0 A_FireCustomMissile("ClashBomb1Orange",0,2,8,0)
goto ClashBomb1+4
Purple1:
CRAA B 0 A_FireCustomMissile("ClashBomb1Purple",0,2,8,0)
goto ClashBomb1+4
ClashBomb2:
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==0,"Blue2")
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==2,"Orange2")
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==3,"Purple2")
CRAA B 0 A_FireCustomMissile("ClashBomb2",0,2,8,0)
CRAA A 0 A_GiveInventory("ClashFlag2", 1)
CRAA B 3
CRAA A 0 A_TakeInventory("ClashFlag2", 1)
goto EndFire
Blue2:
CRAA B 0 A_FireCustomMissile("ClashBomb2Blue",0,2,8,0)
goto ClashBomb2+4
Orange2:
CRAA B 0 A_FireCustomMissile("ClashBomb2Orange",0,2,8,0)
goto ClashBomb2+4
Purple2:
CRAA B 0 A_FireCustomMissile("ClashBomb2Purple",0,2,8,0)
goto ClashBomb2+4
ClashBomb3:
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==0,"Blue3")
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==2,"Orange3")
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==3,"Purple3")
CRAA B 0 A_FireCustomMissile("ClashBomb3",0,2,8,0)
CRAA A 0 A_GiveInventory("ClashFlag3", 1)
CRAA B 3
CRAA A 0 A_TakeInventory("ClashFlag3", 1)
goto EndFire
Blue3:
CRAA B 0 A_FireCustomMissile("ClashBomb3Blue",0,2,8,0)
goto ClashBomb3+4
Orange3:
CRAA B 0 A_FireCustomMissile("ClashBomb3Orange",0,2,8,0)
goto ClashBomb3+4
Purple3:
CRAA B 0 A_FireCustomMissile("ClashBomb3Purple",0,2,8,0)
goto ClashBomb3+4
ClashBomb4:
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==0,"Blue4")
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==2,"Orange4")
DIVA A 0 A_JumpIf(ACS_ExecuteWithResult(143,0)==3,"Purple4")
CRAA B 0 A_FireCustomMissile("ClashBomb4",0,2,8,0)
CRAA A 0 A_GiveInventory("ClashFlag4", 1)
CRAA B 3
CRAA A 0 A_TakeInventory("ClashFlag4", 1)
goto EndFire
Blue4:
CRAA B 0 A_FireCustomMissile("ClashBomb4Blue",0,2,8,0)
goto ClashBomb4+4
Orange4:
CRAA B 0 A_FireCustomMissile("ClashBomb4Orange",0,2,8,0)
goto ClashBomb4+4
Purple4:
CRAA B 0 A_FireCustomMissile("ClashBomb4Purple",0,2,8,0)
goto ClashBomb4+4
EndFire:
CRAA C 3
CRAA A 21
CRAA A 0 A_Refire
Goto Ready+1
AltFire:
CRAA A 0 A_GiveInventory("ClashFlag1", 1)
CRAA A 0 A_GiveInventory("ClashFlag2", 1)
CRAA A 0 A_GiveInventory("ClashFlag3", 1)
CRAA A 0 A_GiveInventory("ClashFlag4", 1)
CRAA A 2
CRAA A 0 A_TakeInventory("ClashFlag1", 1)
CRAA A 0 A_TakeInventory("ClashFlag2", 1)
CRAA A 0 A_TakeInventory("ClashFlag3", 1)
CRAA A 0 A_TakeInventory("ClashFlag4", 1)
goto Ready+3
NoAmmo:
CRAA A 0
//CRAA A 1 ACS_Execute(979,0)
Goto Ready+1
Flash:
TNT1 A 0 A_JumpIfInventory("WeaponFired", 1, "NoFlash")
goto Reload
Reload:
TNT1 A 11
CRAA A 0 A_GiveInventory ("ClashAmmo", 1)
loop
NoFlash:
TNT1 A 0
stop
}
}

actor ClashAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 16
}

actor ClashBomb1NES : CrashBomb
{
+DONTREFLECT
+NOTARGETSWITCH
speed 60
States
{
Spawn:
CRAS A 1
loop
Death:
CRAS A 0 A_JumpIfInTargetInventory("ClashLaunched1",1,"XDeath")
goto BombUpdate
BombUpdate:
CRAS A 0 A_JumpIfInTargetInventory("ClashLaunched1",1,"Bomb1")
CRAS A 0 A_JumpIfInTargetInventory("ClashLaunched2",1,"Bomb2")
CRAS A 0 A_JumpIfInTargetInventory("ClashLaunched3",1,"Bomb3")
CRAS A 0 A_JumpIfInTargetInventory("ClashLaunched4",1,"Bomb4")
CRAS A 0 A_Jump(256,"Self")
TNT1 A 1
goto BombUpdate+4
//goto Self
Bomb1:
CRAS A 0 A_GiveToTarget("ClashLaunched1",1)
goto BombUpdate+1
Bomb2:
CRAS A 0 A_GiveToTarget("ClashLaunched2",1)
goto BombUpdate+2
Bomb3:
CRAS A 0 A_GiveToTarget("ClashLaunched3",1)
goto BombUpdate+3
Bomb4:
CRAS A 0 A_GiveToTarget("ClashLaunched4",1)
goto BombUpdate+4
Self:
CRAS A 0 A_GiveToTarget("ClashLaunched1",1)
goto WallCheck
WallCheck:
CRAS A 0 A_JumpIf(z-floorz<5, "Floor")
CRAS A 0 A_JumpIf(z-ceilingz==0-6, "Ceiling")
CRAS B 3 A_PlaySound("weapon/crashland")
CRAS C 18
CRAS A 0 A_GiveToTarget("BombPowerScale", 1)
CRAS A 0 A_Jump(256,"WallBeep")
//goto WallBeep
TNT1 A 1
goto WallCheck+5
WallBeep:
CRAS DDDCCC 1 A_JumpIfInTargetInventory("ClashFlag1",1,"Detonate")
CRAS D 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
//CRAS D 0 A_JumpIfInTargetInventory("CrashBombBoss",1,"WallBeep")
loop
//goto XDeath
Floor:
CRAS E 3 A_PlaySound("weapon/crashland")
CRAS F 18
CRAS A 0 A_GiveToTarget("BombPowerScale", 1)
CRAS A 0 A_Jump(256,"FloorBeep")
//goto FloorBeep
TNT1 A 1
goto Floor+3
FloorBeep:
CRAS GGGFFF 1 A_JumpIfInTargetInventory("ClashFlag1",1,"Detonate") 
CRAS G 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
//CRAS G 0 A_JumpIfInTargetInventory("CrashBombBoss",1,"FloorBeep")
loop
//goto XDeath
Ceiling:
CRAS H 3 A_PlaySound("weapon/crashland")
CRAS I 18
CRAS A 0 A_GiveToTarget("BombPowerScale", 1)
CRAS A 0 A_Jump(256,"CeilingBeep")
//goto CeilingBeep
TNT1 A 1
goto Ceiling+3
CeilingBeep:
CRAS JJJIII 1 A_JumpIfInTargetInventory("ClashFlag1",1,"Detonate")
CRAS J 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
//CRAS J 0 A_JumpIfInTargetInventory("CrashBombBoss",1,"CeilingBeep")
loop
//goto XDeath
XDeath:
TNT1 A 1 A_SpawnItem("DirectBoom")
stop
Detonate:
CRAS A 0 A_TakeFromTarget("ClashLaunched1",999)
goto Detonate2
Detonate2:
CRAS A 0 A_JumpIfInTargetInventory("BombPowerScale", 4, "Kaboom4")
CRAS A 0 A_JumpIfInTargetInventory("BombPowerScale", 3, "Kaboom3")
CRAS A 0 A_JumpIfInTargetInventory("BombPowerScale", 2, "Kaboom2")
goto Kaboom1
//Translations made the explosion brighter for some reason
//They are seperate actors until further notice
/*
Kaboom4:
CRAS A 0 A_PlaySound("weapon/crashexplode")
CRAS K 3 A_Explode(12,64,0)
CRAS A 0 A_TakeFromTarget("BombPowerScale",1)
CRAS LM  3
CRAS N 3 A_Explode(12,64,0)
CRAS OP 3
CRAS Q 3 A_Explode(12,64,0)
CRAS RS 3
CRAS T 3 A_Explode(12,64,0)
CRAS VW 3
stop
Kaboom3:
CRAS A 0 A_PlaySound("weapon/crashexplode")
CRAS K 3 A_Explode(14,64,0)
CRAS A 0 A_TakeFromTarget("BombPowerScale",1)
CRAS LM  3
CRAS N 3 A_Explode(14,64,0)
CRAS OP 3
CRAS Q 3 A_Explode(14,64,0)
CRAS RS 3
CRAS T 3 A_Explode(14,64,0)
CRAS VW 3
stop
Kaboom2:
CRAS A 0 A_PlaySound("weapon/crashexplode")
CRAS K 3 A_Explode(16,64,0)
CRAS A 0 A_TakeFromTarget("BombPowerScale",1)
CRAS LM  3
CRAS N 3 A_Explode(16,64,0)
CRAS OP 3
CRAS Q 3 A_Explode(16,64,0)
CRAS RS 3
CRAS T 3 A_Explode(16,64,0)
CRAS VW 3
stop
Kaboom1:
CRAS A 0 A_PlaySound("weapon/crashexplode")
CRAS K 3 A_Explode(18,64,0)
CRAS A 0 A_TakeFromTarget("BombPowerScale",1)
CRAS LM  3
CRAS N 3 A_Explode(18,64,0)
CRAS OP 3
CRAS Q 3 A_Explode(18,64,0)
CRAS RS 3
CRAS T 3 A_Explode(18,64,0)
CRAS VW 3
stop
*/
Kaboom1:
TNT1 A 1 A_SpawnItem("ClashBoom1")
stop
Kaboom2:
TNT1 A 1 A_SpawnItem("ClashBoom2")
stop
Kaboom3:
TNT1 A 1 A_SpawnItem("ClashBoom3")
stop
Kaboom4:
TNT1 A 1 A_SpawnItem("ClashBoom4")
stop
Poof:
TNT1 A 0
stop

//More failsafes
/*Emphasis on "fail"*/
/*WallCheck2:
CRAS D 0 A_JumpIfInTargetInventory("CrashBombBoss",1,"WallBeep")
goto XDeath
FloorCheck2:
CRAS G 0 A_JumpIfInTargetInventory("CrashBombBoss",1,"FloorBeep")
goto XDeath
CeilingCheck2:
CRAS J 0 A_JumpIfInTargetInventory("CrashBombBoss",1,"CeilingBeep")
goto XDeath*/
}
}

actor ClashBomb2NES : ClashBomb1NES
{
States
{
Death:
CRAS A 0 A_JumpIfInTargetInventory("ClashLaunched2",1,"XDeath")
goto BombUpdate
Self:
CRAS A 0 A_GiveToTarget("ClashLaunched2",1)
goto WallCheck
WallBeep:
CRAS DDDCCC 1 A_JumpIfInTargetInventory("ClashFlag2",1,"Detonate")
CRAS D 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto WallCheck2
FloorBeep:
CRAS GGGFFF 1 A_JumpIfInTargetInventory("ClashFlag2",1,"Detonate")
CRAS G 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate") 
loop
//goto FloorCheck2
CeilingBeep:
CRAS JJJIII 1 A_JumpIfInTargetInventory("ClashFlag2",1,"Detonate")
CRAS J 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto CeilingCheck2
Detonate:
CRAS A 0 A_TakeFromTarget("ClashLaunched2",999)
goto Detonate2
}
}

actor ClashBomb3NES : ClashBomb1NES
{
States
{
Death:
CRAS A 0 A_JumpIfInTargetInventory("ClashLaunched3",1,"XDeath")
goto BombUpdate
Self:
CRAS A 0 A_GiveToTarget("ClashLaunched3",1)
goto WallCheck
WallBeep:
CRAS DDDCCC 1 A_JumpIfInTargetInventory("ClashFlag3",1,"Detonate")
CRAS D 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto WallCheck2
FloorBeep:
CRAS GGGFFF 1 A_JumpIfInTargetInventory("ClashFlag3",1,"Detonate")
CRAS G 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate") 
loop
//goto FloorCheck2
CeilingBeep:
CRAS JJJIII 1 A_JumpIfInTargetInventory("ClashFlag3",1,"Detonate")
CRAS J 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto CeilingCheck2
Detonate:
CRAS A 0 A_TakeFromTarget("ClashLaunched3",999)
goto Detonate2
}
}

actor ClashBomb4NES : ClashBomb1NES
{
States
{
Death:
CRAS A 0 A_JumpIfInTargetInventory("ClashLaunched4",1,"XDeath")
goto BombUpdate
Self:
CRAS A 0 A_GiveToTarget("ClashLaunched4",1)
goto WallCheck
WallBeep:
CRAS DDDCCC 1 A_JumpIfInTargetInventory("ClashFlag4",1,"Detonate")
CRAS D 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto WallCheck2
FloorBeep:
CRAS GGGFFF 1 A_JumpIfInTargetInventory("ClashFlag4",1,"Detonate") 
CRAS G 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto FloorCheck2
CeilingBeep:
CRAS JJJIII 1 A_JumpIfInTargetInventory("ClashFlag4",1,"Detonate")
CRAS J 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto CeilingCheck2
Detonate:
CRAS A 0 A_TakeFromTarget("ClashLaunched4",999)
goto Detonate2
}
}

actor ClashBomb1 : ClashBomb1NES
{
Translation "198:198=176:176","192:192=4:4"
States
{
Spawn:
CDRL C 1
loop
Self:
CRAS A 0 A_GiveToTarget("ClashLaunched1",1)
goto WallCheck
WallCheck:
CRAS A 0 A_JumpIf(z-floorz<5, "Floor")
CRAS A 0 A_JumpIf(z-ceilingz==0-6, "Ceiling")
CDRL F 3 A_PlaySound("weapon/crashland")
CDRL F 18
CRAS A 0 A_GiveToTarget("BombPowerScale", 1)
CRAS A 0 A_Jump(256,"WallBeep")
//goto WallBeep
TNT1 A 1
goto WallCheck+5
WallBeep:
CDRL IIIFFF 1 A_JumpIfInTargetInventory("ClashFlag1",1,"Detonate")
CDRL I 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto WallCheck2
Floor:
CDRL D 3 A_PlaySound("weapon/crashland")
CDRL D 18
CRAS A 0 A_GiveToTarget("BombPowerScale", 1)
CRAS A 0 A_Jump(256,"FloorBeep")
//goto FloorBeep
TNT1 A 1
goto Floor+3
FloorBeep:
CDRL GGGDDD 1 A_JumpIfInTargetInventory("ClashFlag1",1,"Detonate") 
CDRL G 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto FloorCheck2
Ceiling:
CDRL E 3 A_PlaySound("weapon/crashland")
CDRL E 18
CRAS A 0 A_GiveToTarget("BombPowerScale", 1)
CRAS A 0 A_Jump(256,"CeilingBeep")
//goto CeilingBeep
TNT1 A 1
goto Ceiling+3
CeilingBeep:
CDRL HHHEEE 1 A_JumpIfInTargetInventory("ClashFlag1",1,"Detonate")
CDRL H 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto CeilingCheck2
}
}

actor ClashBomb2 : ClashBomb1
{
states
{
Death:
CRAS A 0 A_JumpIfInTargetInventory("ClashLaunched2",1,"XDeath")
goto BombUpdate
Self:
CRAS A 0 A_GiveToTarget("ClashLaunched2",1)
goto WallCheck
WallBeep:
CDRL IIIFFF 1 A_JumpIfInTargetInventory("ClashFlag2",1,"Detonate")
CDRL I 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto WallCheck2
FloorBeep:
CDRL GGGDDD 1 A_JumpIfInTargetInventory("ClashFlag2",1,"Detonate") 
CDRL G 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto FloorCheck2
CeilingBeep:
CDRL HHHEEE 1 A_JumpIfInTargetInventory("ClashFlag2",1,"Detonate")
CDRL H 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto CeilingCheck2
Detonate:
CRAS A 0 A_TakeFromTarget("ClashLaunched2",999)
goto Detonate2
}
}

actor ClashBomb3 : ClashBomb1
{
states
{
Death:
CRAS A 0 A_JumpIfInTargetInventory("ClashLaunched3",1,"XDeath")
goto BombUpdate
Self:
CRAS A 0 A_GiveToTarget("ClashLaunched3",1)
goto WallCheck
WallBeep:
CDRL IIIFFF 1 A_JumpIfInTargetInventory("ClashFlag3",1,"Detonate")
CDRL I 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto WallCheck2
FloorBeep:
CDRL GGGDDD 1 A_JumpIfInTargetInventory("ClashFlag3",1,"Detonate") 
CDRL G 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto FloorCheck2
CeilingBeep:
CDRL HHHEEE 1 A_JumpIfInTargetInventory("ClashFlag3",1,"Detonate")
CDRL H 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto CeilingCheck2
Detonate:
CRAS A 0 A_TakeFromTarget("ClashLaunched3",999)
goto Detonate2
}
}

actor ClashBomb4 : ClashBomb1
{
states
{
Death:
CRAS A 0 A_JumpIfInTargetInventory("ClashLaunched4",1,"XDeath")
goto BombUpdate
Self:
CRAS A 0 A_GiveToTarget("ClashLaunched4",1)
goto WallCheck
WallBeep:
CDRL IIIFFF 1 A_JumpIfInTargetInventory("ClashFlag4",1,"Detonate")
CDRL I 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto WallCheck2
FloorBeep:
CDRL GGGDDD 1 A_JumpIfInTargetInventory("ClashFlag4",1,"Detonate") 
CDRL G 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto FloorCheck2
CeilingBeep:
CDRL HHHEEE 1 A_JumpIfInTargetInventory("ClashFlag4",1,"Detonate")
CDRL H 0 A_JumpIf(ACS_ExecuteWithResult(649,0)==0,"Detonate")
loop
//goto CeilingCheck2
Detonate:
CRAS A 0 A_TakeFromTarget("ClashLaunched4",999)
goto Detonate2
}
}

actor ClashBomb1Blue : ClashBomb1
{
Translation "192:192=4:4"
}
actor ClashBomb2Blue : ClashBomb2
{
Translation "192:192=4:4"
}
actor ClashBomb3Blue : ClashBomb3
{
Translation "192:192=4:4"
}
actor ClashBomb4Blue : ClashBomb4
{
Translation "192:192=4:4"
}

actor ClashBomb1Orange : ClashBomb1
{
Translation "198:198=218:218", "192:192=4:4"
}
actor ClashBomb2Orange : ClashBomb2
{
Translation "198:198=218:218", "192:192=4:4"
}
actor ClashBomb3Orange : ClashBomb3
{
Translation "198:198=218:218", "192:192=4:4"
}
actor ClashBomb4Orange : ClashBomb4
{
Translation "198:198=218:218", "192:192=4:4"
}

actor ClashBomb1Purple : ClashBomb1
{
Translation "198:198=254:254", "192:192=4:4"
}
actor ClashBomb2Purple : ClashBomb2
{
Translation "198:198=254:254", "192:192=4:4"
}
actor ClashBomb3Purple : ClashBomb3
{
Translation "198:198=254:254", "192:192=4:4"
}
actor ClashBomb4Purple : ClashBomb4
{
Translation "198:198=254:254", "192:192=4:4"
}


actor DirectBoom
{
PROJECTILE
Radius 6
Height 6
DamageType "Clash"
scale 2.5
damage 0
speed 0
+NOINTERACTION
+DONTBLAST
+DONTREFLECT
+NOTARGETSWITCH
States
{
Spawn:
CRAS A 0
//CRAS A 0 A_PlaySound("weapon/crashexplode")
CRAS A 0 A_PlaySound("weapon/directcrash")
CRAS K 3 A_Explode(18,64,0)
CRAS LM  3
CRAS N 3 A_Explode(18,64,0)
CRAS OP 3
CRAS Q 3 A_Explode(18,64,0)
CRAS RS 3
CRAS T 3 A_Explode(18,64,0)
CRAS VW 3
stop
}
}

actor ClashBoom1 : DirectBoom
{
DamageType "Crash"
states
{
Spawn:
CRAS A 0
CRAS A 0 A_PlaySound("weapon/crashexplode")
//CRAS A 0 A_PlaySound("weapon/directcrash")
CRAS K 3 A_Explode(18,64,0)
CRAS A 0 A_TakeFromTarget("BombPowerScale",1)
CRAS LM  3
CRAS N 3 A_Explode(18,64,0)
CRAS OP 3
CRAS Q 3 A_Explode(18,64,0)
CRAS RS 3
CRAS T 3 A_Explode(18,64,0)
CRAS VW 3
stop
}
}

actor ClashBoom2 : ClashBoom1
{
states
{
Spawn:
CRAS A 0
CRAS A 0 A_PlaySound("weapon/crashexplode")
//CRAS A 0 A_PlaySound("weapon/directcrash")
CRAS K 3 A_Explode(16,64,0)
CRAS A 0 A_TakeFromTarget("BombPowerScale",1)
CRAS LM  3
CRAS N 3 A_Explode(16,64,0)
CRAS OP 3
CRAS Q 3 A_Explode(16,64,0)
CRAS RS 3
CRAS T 3 A_Explode(16,64,0)
CRAS VW 3
stop
}
}
actor ClashBoom3 : ClashBoom1
{
states
{
Spawn:
CRAS A 0
CRAS A 0 A_PlaySound("weapon/crashexplode")
//CRAS A 0 A_PlaySound("weapon/directcrash")
CRAS K 3 A_Explode(14,64,0)
CRAS A 0 A_TakeFromTarget("BombPowerScale",1)
CRAS LM  3
CRAS N 3 A_Explode(14,64,0)
CRAS OP 3
CRAS Q 3 A_Explode(14,64,0)
CRAS RS 3
CRAS T 3 A_Explode(14,64,0)
CRAS VW 3
stop
}
}
actor ClashBoom4 : ClashBoom1
{
states
{
Spawn:
CRAS A 0
CRAS A 0 A_PlaySound("weapon/crashexplode")
//CRAS A 0 A_PlaySound("weapon/directcrash")
CRAS K 3 A_Explode(12,64,0)
CRAS A 0 A_TakeFromTarget("BombPowerScale",1)
CRAS LM  3
CRAS N 3 A_Explode(12,64,0)
CRAS OP 3
CRAS Q 3 A_Explode(12,64,0)
CRAS RS 3
CRAS T 3 A_Explode(12,64,0)
CRAS VW 3
stop
}
}

/*
actor ClashTimer
{
PROJECTILE
damagetype "Crash"
Radius 6
Height 6
scale 2.5
damage 2
speed 60
States
{
Spawn:
CDRL C 1
loop
Death:
CDRL C 0 A_JumpIf(z-floorz<5, "Floor")
CDRL C 0 A_JumpIf(z-ceilingz==0-6, "Ceiling")
CDRL A 0 A_PlaySound("weapon/crashland")
CRDL F 3
CDRL F 3 A_JumpIfInTargetInventory("ClashFlag2",1,"Detonate")
goto Death+4
Floor:
CDRL A 0 A_PlaySound("weapon/crashland")
CRDL A 3
CDRL D 3 A_JumpIfInTargetInventory("ClashFlag2",1,"Detonate")
goto Floor+2
Ceiling:
CDRL A 0 A_PlaySound("weapon/crashland")
CDRL B 3
CDRL E 3 A_JumpIfInTargetInventory("ClashFlag2",1,"Detonate")
goto Ceiling+2
Detonate:
CRAS A 0 A_PlaySound("weapon/crashexplode")
CRAS K 3 A_Explode(30,64,0)
CRAS LM  3 
CRAS N 3 A_Explode(30,64,0)
CRAS OP 3 
CRAS Q 3 A_Explode(30,64,0)
CRAS RS 3 
CRAS T 3 A_Explode(30,64,0)
CRAS VW 3 
stop
XDeath:
CRAS A 0 A_PlaySound("weapon/crashexplode")
CRAS K 3 A_Explode(18,64,0)
CRAS LM  3 
CRAS N 3 A_Explode(18,64,0)
CRAS OP 3 
CRAS Q 3 A_Explode(18,64,0)
CRAS RS 3 
CRAS T 3 A_Explode(18,64,0)
CRAS VW 3 
stop
}
}
*/

actor ClashFlag1 : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor ClashFlag2 : ClashFlag1
{
}

actor ClashFlag3 : ClashFlag1
{
}

actor ClashFlag4 : CLashFlag1
{
}

actor ClashLaunched : Inventory
{
inventory.amount 1
inventory.maxamount 4
}

actor ClashLaunched1 : ClashLaunched
{
}

actor ClashLaunched2 : ClashLaunched
{
}

actor ClashLaunched3 : ClashLaunched
{
}

actor ClashLaunched4 : ClashLaunched
{
}

actor BombPowerScale : ClashLaunched
{
}

actor WeaponFired : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor ClashFlagDC : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
States
{
Spawn:
TNT1 A 0
stop
Pickup:
TNT1 A 0 A_JumpIfInventory("CrashBombBoss",1,"InGame")
TNT1 A 0 A_GiveInventory("ClashFlag1", 1)
TNT1 A 0 A_GiveInventory("ClashFlag2", 1)
TNT1 A 0 A_GiveInventory("ClashFlag3", 1)
TNT1 A 0 A_GiveInventory("ClashFlag4", 1)
stop
InGame:
TNT1 A 0
stop
}
}