actor ThunderClawBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_8D"
dropitem "ThunderClawWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 28
Obituary "$OB_THUNDERCLAW"
Inventory.Pickupmessage "See you in my dreams..."
weapon.ammotype "YoGeekyAmmo"
+WEAPON.NOAUTOAIM
inventory.icon "TCLAWI"
states
{
Spawn:
C_08 D 1
loop
Ready:
CLWH A 0 ACS_ExecuteAlways(998,0,DYE_CLOWNMAN)
CLWH A 0 A_GunFlash
Ready2:
CLWH A 0 A_JumpIfInventory("ThunderClawCooldown",1,"HandGone")
CLWH A 0 A_JumpIfInventory("ClownShockUp",1,"HandGone")
CLWH A 0 A_JumpIfInventory("ClownShockUpPeg",1,"HandGone")
CLWH A 0 A_JumpIfInventory("ClownShockUpPeg2",1,"HandGone")
CLWH A 1 A_WeaponReady
CLWH A 0 A_GiveInventory("ClownmanAmmo_RC",1)
loop
Fire:
TNT1 A 0 A_PlaySoundEx("weapon/thunderclaw","Weapon")
TNT1 A 0 A_GiveInventory("ThunderClawCooldown_RC",1)
TNT1 A 0 A_GiveInventory("ClownmanMain_CI",1)
goto HandGone
HandGone:
TNT1 A 1 A_WeaponReady(WRF_NOPRIMARY)
TNT1 A 0 A_GiveInventory("ClownmanAmmo_RC",1)
goto Ready2

AltFire:
CLWH A 0 A_GiveInventory("ClownAltFlag",1)
goto Ready2
NoAmmo:
CLWH A 0
goto Ready2

Deselect:
//CLWH A 0// A_SelectWeapon("ThunderClawBosT")
CLWH AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
CLWH A 1 A_Lower
Loop
Select:
CLWH AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
CLWH A 1 A_Raise
Loop

Flash:
CLWH C 0 A_JumpIfInventory("GroundThunderClawOut",1,"FlashClawWait")
CLWH C 0 A_JumpIfInventory("GroundThunderClawOut2",1,"FlashClawWait")
CLWH C 0 A_TakeInventory("ClownAltFlag",1)
Flash2:
CLWH C 0 A_JumpIfInventory("IsDead",1,"NoFlash")
CLWH C 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
CLWH C 0 A_JumpIfInventory("ClownShockUp",1,"FlashAura")
CLWH C 0 A_JumpIfInventory("ClownShockUpPeg",1,"FlashAura")
CLWH C 0 A_JumpIfInventory("ClownShockUpPeg2",1,"FlashAura")
loop
FlashClaw:
CLWH G 0 A_GiveInventory("ClownmanAlt_CI",1)
CLWH G 0 A_GiveInventory("GroundThunderClawOut",1)
CLWH G 0 A_JumpIfInventory("PowerRage_ST",1,2)
CLWH GG 1 A_GiveInventory("ThunderClawIntoGround")
CLWH H 0 A_JumpIfInventory("PowerRage_ST",1,2)
CLWH HH 1 A_GiveInventory("ThunderClawIntoGround")
FlashClawWait:
TNT1 A 1 A_GiveInventory("ThunderClawIntoGround")
TNT1 A 0 A_JumpIfInventory("GroundThunderClawOut",1,"FlashClawWait")
TNT1 A 0 A_JumpIfInventory("GroundThunderClawOut2",1,"FlashClawWait")
FlashClawReturn:
CLWH H 0 A_TakeInventory("ClownAltFlag",1)
CLWH H 0 A_JumpIfInventory("PowerRage_ST",1,5)
CLWH H 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
CLWH H 0 A_JumpIfInventory("ClownShockUp",1,"FlashAura")
CLWH H 0 A_JumpIfInventory("ClownShockUpPeg",1,"FlashAura")
CLWH H 0 A_JumpIfInventory("ClownShockUpPeg2",1,"FlashAura")
CLWH H 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
CLWH G 0 A_JumpIfInventory("ClownShockUp",1,"FlashAura")
CLWH G 0 A_JumpIfInventory("ClownShockUpPeg",1,"FlashAura")
CLWH G 0 A_JumpIfInventory("ClownShockUpPeg2",1,"FlashAura")
CLWH G 0 A_JumpIfInventory("PowerRage_ST",1,5)
CLWH G 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
CLWH G 0 A_JumpIfInventory("ClownShockUp",1,"FlashAura")
CLWH G 0 A_JumpIfInventory("ClownShockUpPeg",1,"FlashAura")
CLWH G 0 A_JumpIfInventory("ClownShockUpPeg2",1,"FlashAura")
CLWH G 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
CLWH C 0 A_JumpIfInventory("ClownShockUp",1,"FlashAura")
CLWH C 0 A_JumpIfInventory("ClownShockUpPeg",1,"FlashAura")
CLWH C 0 A_JumpIfInventory("ClownShockUpPeg2",1,"FlashAura")
goto Flash2
FlashAura:
CLWH C 0 A_JumpIfInventory("ClownShockFrame",11,"FlashAura4b")
CLWH C 0 A_GiveInventory("ClownShockFrame",1)
CLWH C 0 A_JumpIfInventory("ClownShockFrame",10,"FlashAura4")
CLWH C 0 A_JumpIfInventory("ClownShockFrame",7,"FlashAura3")
CLWH C 0 A_JumpIfInventory("ClownShockFrame",4,"FlashAura2")
FlashAura1:
CLWH D 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
CLWH D 0 A_SpawnItemEx("ClownShockFX1",0,0,40,momx,momy,momz,0,137,0)
goto FlashAuraLoop
FlashAura2:
CLWH E 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
CLWH E 0 A_SpawnItemEx("ClownShockFX2",0,0,40,momx,momy,momz,0,137,0)
goto FlashAuraLoop
FlashAura3:
CLWH F 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
CLWH F 0 A_SpawnItemEx("ClownShockFX3",0,0,40,momx,momy,momz,0,137,0)
goto FlashAuraLoop
FlashAura4b:
CLWH E 0 A_TakeInventory("ClownShockFrame",999)
FlashAura4:
CLWH E 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
CLWH E 0 A_SpawnItemEx("ClownShockFX2",0,0,40,momx,momy,momz,0,137,0)
goto FlashAuraLoop
FlashAuraLoop:
CLWH C 0 A_GiveInventory("ClownShockPickup",1)
CLWH C 0 A_JumpIfInventory("ClownShockUpPeg",1,"FlashSparkle")
CLWH C 0 A_JumpIfInventory("ClownShockUpPeg2",1,"FlashSparkle")
CLWH C 0 A_JumpIfInventory("ClownShockUp",1,"FlashAura")
goto Flash2
FlashSparkle:
CLWH C 0 A_SpawnItemEx("ClownSparkle",0,0,0,0,0,0,0,129,0)
goto FlashAura
}
}

actor ThunderClawBosT : ThunderClawBoss
{
tag "$TAGC_8D2"
Inventory.Pickupmessage "How did you get this?! This isn't a joking matter!"
inventory.icon "ClowIcon"
Weapon.AmmoUse 150
states
{
Ready:
CLWH B 0 ACS_ExecuteAlways(998,0,DYE_CLOWNMAN)
CLWH B 0 A_GunFlash
Ready2:
CLWH B 0 A_JumpIfInventory("ThunderClawCooldown",1,"HandGone")
CLWH B 0 A_JumpIfInventory("ClownShockUp",1,"HandGone")
CLWH B 0 A_JumpIfInventory("ClownShockUpPeg",1,"HandGone")
CLWH B 0 A_JumpIfInventory("ClownShockUpPeg2",1,"HandGone")
CLWH B 1 A_WeaponReady
CLWH B 0 A_GiveInventory("ClownmanAmmo_RC",1)
loop
Fire:
TNT1 A 0 A_JumpIfNoAmmo("NoAmmo")
TNT1 A 0 A_PlaySoundEx("weapon/thunderclaw","Weapon")
TNT1 A 0 A_GiveInventory("ThunderClawCooldown_RC",1)
TNT1 A 0 A_GiveInventory("ClownmanMain2_CI",1)
goto HandGone
HandGone:
TNT1 A 1 A_WeaponReady(WRF_NOPRIMARY)
TNT1 A 0 A_GiveInventory("ClownmanAmmo_RC",1)
goto Ready2
AltFire:
CLWH B 0 A_GiveInventory("ClownAltFlag",1)
goto Ready2
NoAmmo:
CLWH B 0
goto Ready2

Deselect:
//CLWH B 0// A_SelectWeapon("ThunderClawBoss")
CLWH BBBBBBBBBBBBBBBBBBBBBB 0 A_Lower
CLWH B 1 A_Lower
Loop
Select:
CLWH BBBBBBBBBBBBBBBBBBBBBB 0 A_Raise
CLWH B 1 A_Raise
Loop
}
}


actor YoGeekyAmmo : Ammo
{
+INVENTORY.IGNORESKILL
inventory.amount 1
inventory.maxamount 375
}

actor ClownShockFrame : Inventory
{
inventory.amount 1
inventory.maxamount 11
}

actor ClownMainFiredF : OnceC{}
actor ClownMainDoneF : OnceC{}
actor ClownAltFlag : OnceC{}

actor ThunderClawCooldown : Powerup
{
+INVENTORY.ADDITIVETIME
powerup.duration 15
}

actor ClownShockInterval : Powerup
{
powerup.duration 7
}
actor ClownShockIntervalR : Powerup
{
powerup.duration 4
}

actor ClownShockUp : Powerup
{
powerup.duration 5
}
actor ClownShockUpPeg : Powerup
{
powerup.duration 120
}
actor ClownShockUpPeg2 : Powerup
{
powerup.duration 15
}

actor GroundThunderClawOut : Powerup
{
powerup.duration 10
}
actor GroundThunderClawOut2 : GroundThunderClawOut{}

actor ClownmanAmmo_RC : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"PickupR")
TNT1 A 0 A_GiveInventory("YoGeekyAmmo",1)
stop
PickupR:
TNT1 A 0 A_GiveInventory("YoGeekyAmmo",2)
stop
}
}

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

actor ClownShockInterval_RC : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"PickupR")
TNT1 A 0 A_GiveInventory("ClownShockInterval",1)
stop
PickupR:
TNT1 A 0 A_GiveInventory("ClownShockIntervalR",2)
stop
}
}

actor ClownShockFX1
{
-SOLID
+NOGRAVITY
+DONTSPLASH
+FORCEXYBILLBOARD
+BRIGHT
Radius 2
Height 2
scale 2.5
States
{
Spawn:
TCRN A 0
TCRN A 1
stop
}
}

actor ClownShockFX2 : ClownShockFX1
{
States
{
Spawn:
TCRN B 0
TCRN B 1
stop
}
}

actor ClownShockFX3 : ClownShockFX1
{
States
{
Spawn:
TCRN C 0
TCRN C 1
stop
}
}

actor ClownSparkle
{
+NOGRAVITY
- SOLID
+DONTSPLASH
+THRUGHOST
+CLIENTSIDEONLY
+NOINTERACTION
+FORCEXYBILLBOARD
+BRIGHT
Radius 2
Height 2
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Jump(148,"F_1","F_2","F_3")
TNT1 A 1
stop
F_1:
TNT1 A 2
TCRN G 2
TNT1 A 2
TCRN G 2
TNT1 A 2
TCRN G 2
TNT1 A 2
TCRN G 2
TNT1 A 2
TCRN G 2
stop
F_2:
TNT1 A 2
TCRN H 2
TNT1 A 2
TCRN H 2
TNT1 A 2
TCRN H 2
TNT1 A 2
TCRN H 2
TNT1 A 2
TCRN H 2
stop
F_3:
TNT1 A 2
TCRN I 2
TNT1 A 2
TCRN I 2
TNT1 A 2
TCRN I 2
TNT1 A 2
TCRN I 2
TNT1 A 2
TCRN I 2
stop
}
}

actor ClownShockRadius : BasicExplosion
{
Obituary "$OB_THUNDERCARNIVAL"
Damagetype "ClownM_Aura"
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(80,100,0,0,12)
stop
}
}

actor ClownShockRadius2 : ClownShockRadius
{
Damagetype "ClownM_Aura2"
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(350,140,0,0,24)
stop
}
}



actor ClownShockPickup : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"Dead")
TNT1 A 0 A_JumpIfInventory("ClownShockInterval",1,"No")
TNT1 A 0 A_JumpIfInventory("ClownShockIntervalR",1,"No")
TNT1 A 0 A_GiveInventory("ClownShockInterval_RC",1)
TNT1 A 0 A_JumpIfInventory("ClownShockUpPeg",1,"SwingShock")
TNT1 A 0 A_JumpIfInventory("ClownShockUpPeg2",1,"SwingShock")
TNT1 A 0 A_PlaySound("weapon/ClownBall",4,0.65)
TNT1 A 0 A_SpawnItemEx("ClownShockRadius",0,0,28,0,0,0,0,1)
TNT1 A 0 A_JumpIfInventory("PowerSpread_ST",1,"Pickup_S")
stop
Pickup_S:
TNT1 AA 0 A_SpawnItemEx("ClownShockRadius",0,0,28,0,0,0,0,1)
stop
No:
TNT1 A 0
stop
SwingShock:
TNT1 A 0// A_PlaySoundEx("weapon/ClownBall","Body")
TNT1 A 0 A_PlaySound("weapon/ClownBall",4,0.95)
TNT1 A 0 A_SpawnItemEx("ClownShockRadius2",0,0,8,0,0,0,0,1)
TNT1 A 0 A_JumpIfInventory("PowerSpread_ST",1,"SwingShock_S")
stop
SwingShock_S:
TNT1 AA 0 A_SpawnItemEx("ClownShockRadius2",0,0,8,0,0,0,0,1)
stop
Dead:
TNT1 A 0
stop
}
}

actor ClownM_TClaw
{
Translation "192:192=228:228", "198:198=61:61", "199:199=236:236", "202:202=77:77"
PROJECTILE
damagetype "ClownM_Claw"
Obituary "$OB_THUNDERCLAW"
//+RIPPER
+FORCEXYBILLBOARD
+DONTREFLECT
+SKYEXPLODE
+EXPLODEONWATER
ReactionTime 16//20
damage (300)//400
height 12//8
radius 12//8
Speed 33//26
scale 2.5
states
{
Spawn:
TCLB T 0
TCLB T 0 A_SpawnItemEx("ClownM_TClawBitR",0,0,0,0,0,0,180,1)
TCLB T 0 A_GiveToTarget("ClownShockUp",1)
TCLB T 1
TCLB T 0 A_CountDown
loop
Death:
TNT1 A 0 A_FaceTarget
TNT1 A 1 A_SpawnItemEx("ClownM_TClawHandR",0,0,0,0,0,0,0,1)
stop
}
}
actor ClownM_TClawB : ClownM_TClaw{translation "192:192=205:205", "198:198=74:74", "199:199=74:74", "202:202=205:205"}
actor ClownM_TClawR : ClownM_TClaw{translation "192:192=171:171", "198:198=41:41", "199:199=41:41", "202:202=171:171"}
actor ClownM_TClawO : ClownM_TClaw{translation "192:192=104:104", "198:198=128:128", "199:199=128:128", "202:202=104:104"}
actor ClownM_TClawP : ClownM_TClaw{translation "192:192=229:229", "198:198=232:232", "199:199=232:232", "202:202=229:229"}

actor ClownM_TClaw_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("ClownM_TClawBitR",0,0,0,0,0,0,180,1)
TNT1 A 0 A_GiveToTarget("ClownShockUp",1)
stop
}
}

actor ClownM_ClawChainProtect : PowerProtection
{
Powerup.Duration 3
DamageFactor "ClownM_ClawChain", 0.0
}

actor ClownM_TClawDamager
{
PROJECTILE
damagetype "ClownM_ClawChain"
Obituary "$OB_THUNDERCLAW"
+DONTBLAST
+THRUGHOST
+SERVERSIDEONLY
RenderStyle "None"
Damage(20)//50
//Radius 20
//Height 16
States
{
Spawn:
TNT1 A 0
TNT1 A 2
stop
}
}

actor ClownM_TClawHandR : ClownM_TClaw
{
damagetype "ClownM_ClawChain"
+NOINTERACTION
+DONTBLAST
ReactionTime 30
Damage (0)
Speed 43
States
{
Spawn:
TCLB U 0
TCLB U 0 A_RearrangePointers(0,0,2)//Target >> Tracer

SpawnL:
TCLB U 0 A_GiveToTarget("ClownShockUp",1)
TCLB U 0 A_CountDown
TCLB U 0 A_JumpIfCloser(64,"DeathReturn")
TCLB U 0 A_SeekerMissile(90,90,2)//SMF_PRECISE
TCLB U 1 A_SpawnItemEx("ClownM_TClawDamager")
TCLB U 0 A_JumpIfCloser(64,"DeathReturn")
TCLB U 1 A_SpawnItemEx("ClownM_TClawDamager")
TCLB U 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
loop

DeathReturn:
TNT1 A 0 A_GiveToTarget("ClownShockUp",1)
TNT1 A 0 //A_TakeFromTarget("ClownShockUp")
stop

Death:
TNT1 A 0
stop
}
}

actor ClownM_TClawBitR : ClownM_TClawHandR
{
+FORCEXYBILLBOARD
+BRIGHT
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfCloser(64,"Death")
TNT1 A 0 A_RearrangePointers(0,0,2)
SpawnRNG:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death")
TNT1 A 0 A_CountDown
TNT1 A 0 A_SeekerMissile(90,90,2)
TNT1 A 0 A_SpawnItemEx("ClownM_TClawDamager")
TNT1 A 0 A_Jump(256,"S_1","S_2","S_3","S_4","S_5","S_6")
S_1:
TCLB Q 1
TCLB R 0 A_JumpIfCloser(64,"Death")
TCLB R 1 A_SpawnItemEx("ClownM_TClawDamager")
goto SpawnRNG
S_2:
TCLB R 1
TCLB S 0 A_JumpIfCloser(64,"Death")
TCLB S 1 A_SpawnItemEx("ClownM_TClawDamager")
goto SpawnRNG
S_3:
TCLB S 1
TCLB Q 0 A_JumpIfCloser(64,"Death")
TCLB Q 1 A_SpawnItemEx("ClownM_TClawDamager")
goto SpawnRNG
S_4:
TCLB Q 1
TCLB Q 0 A_JumpIfCloser(64,"Death")
TCLB Q 1 A_SpawnItemEx("ClownM_TClawDamager")
goto SpawnRNG
S_5:
TCLB R 1
TCLB R 0 A_JumpIfCloser(64,"Death")
TCLB R 1 A_SpawnItemEx("ClownM_TClawDamager")
goto SpawnRNG
S_6:
TCLB S 1
TCLB S 0 A_JumpIfCloser(64,"Death")
TCLB S 1 A_SpawnItemEx("ClownM_TClawDamager")
goto SpawnRNG
Death:
TNT1 A 0
stop
}
}

actor ClownM_TClawPeg : ClownM_TClaw
{
Obituary "$OB_THUNDERCLAW"
damagetype "ClownM_Peg"
states
{
Spawn:
CLWH U 0
CLWH UUUUUUUUUUUUU 1 A_GiveInventory("ClownM_TClaw_P")
CLWH U 0 A_Stop
CLWH U 0 A_JumpIf(z-floorz<64,"Linger")
CLWH U 0 A_SpawnItemEx("ClownM_ThunderClawPeg",0,0,0,0,0,0,0,1)
goto SpawnTheClown
Linger:
TCLB TTTT 1 A_GiveInventory("ClownM_TClaw_P")
SpawnTheClown:
CLWH U 0 A_FaceTarget
CLWH U 0 A_SpawnItemEx("ClownM_TClawHandR",0,0,0,0,0,0,0,1)
stop
Death:
CLWH U 0 A_Stop
CLWH U 0 A_JumpIf(z-floorz<64,2)
CLWH U 0 A_SpawnItemEx("ClownM_ThunderClawPeg",0,0,0,0,0,0,0,1)
CLWH U 0
goto SpawnTheClown//stop
}
}
actor ClownM_TClawPegB : ClownM_TClawPeg{translation "192:192=205:205", "198:198=74:74", "199:199=74:74", "202:202=205:205"}
actor ClownM_TClawPegR : ClownM_TClawPeg{translation "192:192=171:171", "198:198=41:41", "199:199=41:41", "202:202=171:171"}
actor ClownM_TClawPegO : ClownM_TClawPeg{translation "192:192=104:104", "198:198=128:128", "199:199=128:128", "202:202=104:104"}
actor ClownM_TClawPegP : ClownM_TClawPeg{translation "192:192=229:229", "198:198=232:232", "199:199=232:232", "202:202=229:229"}

actor TCPeg_YoGeekyAmmo_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("VivifyDelay5",1,"No")
TNT1 A 0 A_GiveInventory("VivifyDelay5",1)
TNT1 A 0 A_TakeInventory("YoGeekyAmmo",150,1)
stop
No:
TNT1 A 0
stop
}
}

actor ClownM_ThunderClawPeg
{
-SHOOTABLE
+NOTAUTOAIMED
+NODAMAGE
+NODAMAGETHRUST
+NOGRAVITY
+NOBLOOD
+NORADIUSDMG
+QUICKTORETALIATE
+FORCEXYBILLBOARD
+CANTSEEK
//+DONTDRAIN//
Health 9999
Mass 99999
painchance 256
damagefactor "Normal", 0.0
damagefactor "ThunderClaw", 1.0
damagefactor "ThunderClawPegHelp", 1.0
damagefactor "ClownM_Claw", 1.0
Height 32
Radius 16
Speed 0
Scale 2.5
States
{
Spawn:
CLWH V 0
CLWH V 0 A_GiveToTarget("TCPeg_YoGeekyAmmo_P",1)
CLWH V 0 A_SpawnItemEx("ClownM_PegChainTopFX",0,0,19,0,0,0,0,1)
CLWH V 0 A_JumpIf(ceilingz-z<16,2)
CLWH V 0 A_SpawnItemEx("ClownM_PegChain",0,0,9,0,0,20,0,1)
goto Pain.ThunderClaw+2
Spawn2:
CLWH V 0 A_GiveInventory("CutterFlag",1)
CLWH V 0 A_JumpIfInventory("CutterFlag",400,"Death")
CLWH V 1
loop
Pain.ThunderClaw:
Pain.ThunderClawPegHelp:
Pain.ClownM_Claw:
//CLWH V 0 A_JumpIfTargetInLOS("TargetFound")
CLWH V 0 A_ChangeFlag("SHOOTABLE",0)
CLWH V 0 A_GiveInventory("CutterFlag",1)
CLWH V 0 A_JumpIfInventory("CutterFlag",400,"Death")
CLWH V 0 //A_Log("OUCH")
CLWH V 1 ACS_ExecuteAlways(248,0,70,1)//Core
CLWH V 1 A_GiveInventory("CutterFlag",1)
CLWH V 0 A_ClearTarget
CLWH V 0 A_ChangeFlag("SHOOTABLE",1)
Goto Spawn2

Death:
CLWH V 0
stop
}
}

actor ClownM_PegChain
{
PROJECTILE
+THRUGHOST
+THRUACTORS
+DONTREFLECT
+DONTBLAST
Damage(0)
Height 8
Radius 8
Scale 2.5
States
{
Spawn:
TNT1 A 1 A_SpawnItemEx("ClownM_PegChainFX",0,0,0,0,0,0,0,1)
loop
}
}

actor ClownM_PegChainFX : BasicClientSide
{
+FORCEYBILLBOARD
Reactiontime 41//400
Height 8
Radius 8
States
{
Spawn:
CLWH W 0
CLWH W 10 A_CountDown
wait
}
}

actor ClownM_PegChainTopFX : ClownM_PegChainFX
{
States
{
Spawn:
CLWH X 0
CLWH X 10 A_CountDown
wait
}
}


actor ClownM_FloorTClaw : FastProjectile
{
Translation "192:192=228:228", "198:198=61:61"
+DONTBLAST
+DONTREFLECT
+RIPPER
+THRUGHOST
+NOTARGETSWITCH
+EXPLODEONWATER
reactiontime 5
damage (0)
radius 8
height 16
speed 1000
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_CountDown
loop
Death:
TNT1 A 0 A_SpawnItemEx("ClownM_FloorTClaw2",0,0,floorz-z,0,0,0,0,1)
stop
}
}

actor ClownM_FloorTClawB : ClownM_FloorTClaw{translation "192:192=205:205", "198:198=74:74"}
actor ClownM_FloorTClawR : ClownM_FloorTClaw{translation "192:192=171:171", "198:198=41:41"}
actor ClownM_FloorTClawO : ClownM_FloorTClaw{translation "192:192=104:104", "198:198=128:128"}
actor ClownM_FloorTClawP : ClownM_FloorTClaw{translation "192:192=229:229", "198:198=232:232"}

actor ClownM_GroundProtect : Powerup
{
Powerup.Duration 6
}//Prevent A_Stop Pain while you have this

actor ClownM_FloorTClaw2
{
PROJECTILE
Obituary "$OB_THUNDERCLAW"
damagetype "ClownM_Ground"
//+NOINTERACTION
+DONTBLAST
+THRUACTORS
+THRUGHOST
+FLOORHUGGER
reactiontime 6
damage (0)
radius 8
height 16
scale 2.5
States
{
Spawn:
TNT1 A 0
TCLB A 0 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB A 1 A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB AA 1
TCLB B 1 A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB BB 1
TCLB C 1 A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB CC 1
TCLB C 0
Spawn2:
TCLB C 0 A_PlaySoundEx("weapon/ClownBall","Weapon")
TCLB C 0 A_Explode(50,88,0,0,8)
TCLB C 0 A_CountDown
TCLB C 0 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB D 1 bright A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB D 1 bright
TCLB I 1 bright A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB I 1 bright
TCLB C 0 A_PlaySoundEx("weapon/ClownBall","Weapon")
TCLB C 0 A_Explode(50,88,0,0,8)
TCLB C 0 A_CountDown
TCLB G 1 bright A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB G 1 bright
TCLB I 1 bright A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB I 1 bright
TCLB C 0 A_PlaySoundEx("weapon/ClownBall","Weapon")
TCLB C 0 A_Explode(50,88,0,0,8)
TCLB C 0 A_CountDown
TCLB C 0 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB E 1 bright A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB E 1 bright
TCLB I 1 bright A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB I 1 bright
TCLB C 0 A_PlaySoundEx("weapon/ClownBall","Weapon")
TCLB C 0 A_Explode(50,88,0,0,8)
TCLB C 0 A_CountDown
TCLB F 1 bright A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB F 1 bright
TCLB I 1 bright A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB I 1 bright
loop
Death:
TCLB C 0 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB C 1 A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB C 1
TCLB B 1 A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB B 1
TCLB A 1 A_JumpIfInTargetInventory("PowerRage_ST",1,1)
TCLB A 1
TNT1 A 5 A_GiveToTarget("GroundThunderClawOut2",1)
TNT1 A 1 A_TakeFromTarget("GroundThunderClawOut2",1)
stop
}
}

actor ThunderClawIntoGround : CustomInventory
{
States
{
Pickup:
//TNT1 A 0 A_SpawnItemEx("ThunderClawIntoGroundFX2",0,24,36)
TNT1 A 0 A_SpawnItemEx("ThunderClawIntoGroundFX1",0,24,36-(z+36-floorz)*1/7,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("ThunderClawIntoGroundFX2",0,24,36-(z+36-floorz)*2/7,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("ThunderClawIntoGroundFX1",0,24,36-(z+36-floorz)*3/7,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("ThunderClawIntoGroundFX2",0,24,36-(z+36-floorz)*4/7,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("ThunderClawIntoGroundFX1",0,24,36-(z+36-floorz)*5/7,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("ThunderClawIntoGroundFX2",0,24,36-(z+36-floorz)*6/7,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("ThunderClawIntoGroundFX1",0,24,36-(z+36-floorz),0,0,0,0,1)
stop
}
}

actor ThunderClawIntoGroundFX1
{
scale 2.5
-SOLID
+NOGRAVITY
+DONTSPLASH
+CLIENTSIDEONLY
Radius 6
Height 6
States
{
Spawn:
TCLB O 0
TCLB O 1
stop
}
}

actor ThunderClawIntoGroundFX2 : ThunderClawIntoGroundFX1
{
States
{
Spawn:
TCLB P 0
TCLB P 1
stop
}
}



actor ClownmanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("ClownM_TClaw",0,0,-8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("ClownM_TClawB",0,0,-8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("ClownM_TClawR",0,0,-8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("ClownM_TClawO",0,0,-8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("ClownM_TClawP",0,0,-8,0)
goto Done
}
}

actor ClownmanMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("ClownM_TClawPeg",0,0,-8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("ClownM_TClawPegB",0,0,-8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("ClownM_TClawPegR",0,0,-8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("ClownM_TClawPegO",0,0,-8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("ClownM_TClawPegP",0,0,-8,0)
goto Done
}
}

actor ClownmanAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("ClownM_FloorTClaw",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("ClownM_FloorTClawB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("ClownM_FloorTClawR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("ClownM_FloorTClawO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("ClownM_FloorTClawP",0,0,8,0)
goto Done
}
}


