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_NamedExecuteAlways("GayClownColors",0,11944,0)
CLWH A 0 A_GunFlash
Ready2:
CLWH A 0 A_JumpIfInventory("YoGeekyAmmo",150,"Ready3")
CLWH A 0 A_JumpIfInventory("ClownShockUpPeg",1,"HandGoneSwing")
CLWH A 0 A_JumpIfInventory("ThunderClawCooldown",1,"HandGone")
CLWH A 0 A_JumpIfInventory("ClownShockUp",1,"HandGone")
CLWH A 0 A_JumpIfInventory("ClownShockUpPeg2",1,"HandGone")
CLWH A 1 A_WeaponReady
CLWH A 0 A_GiveInventory("ClownmanAmmo_RC",1)
loop
Ready3:
CLWH A 0 A_JumpIfInventory("ClownShockUpPeg",1,"HandGoneSwing")
CLWH A 0 A_JumpIfInventory("ThunderClawCooldown",1,"HandGone")
CLWH A 0 A_JumpIfInventory("ClownShockUp",1,"HandGone")
CLWH A 0 A_JumpIfInventory("ClownShockUpPeg2",1,"HandGone")
CLWH A 1 A_WeaponReady(WRF_ALLOWRELOAD)
CLWH A 0 A_GiveInventory("ClownmanAmmo_RC",1)
loop
Fire:
TNT1 A 0 A_PlaySoundEx("weapon/NewClownClaw","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)
CLWH A 0 A_GiveInventory("ClownmanAmmo_RC",1)
goto Ready2
HandGoneSwing:
TNT1 A 1 A_WeaponReady(WRF_NOPRIMARY)
TNT1 A 0 
goto Ready2

Reload:
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

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

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

Flash:
TNT1 A 0 A_JumpIfInventory("GroundThunderClawOut",1,"FlashClawWait")
TNT1 A 0 A_JumpIfInventory("GroundThunderClawOut2",1,"FlashClawWait")
TNT1 A 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")
TNT1 A 0 A_JumpIfInventory("ClownShockUpPeg",1,"FlashAura")
TNT1 A 0 A_JumpIfInventory("ClownShockUpPeg2",1,"FlashAura")
loop
FlashClaw:
TNT1 A 0 A_GiveInventory("ClownmanAlt_CI",1)
TNT1 A 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_ChangeVelocity(momx*0.9,momy*0.9,momz)
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")
TNT1 A 0 A_JumpIfInventory("ClownShockUp",1,"FlashAura")
TNT1 A 0 A_JumpIfInventory("ClownShockUpPeg",1,"FlashAura")
TNT1 A 0 A_JumpIfInventory("ClownShockUpPeg2",1,"FlashAura")
goto Flash2
FlashAura:
TNT1 A 0 A_JumpIfInventory("ClownShockFrame",11,"FlashAura4b")
TNT1 A 0 A_GiveInventory("ClownShockFrame",1)
TNT1 A 0 A_JumpIfInventory("ClownShockFrame",10,"FlashAura4")
TNT1 A 0 A_JumpIfInventory("ClownShockFrame",7,"FlashAura3")
TNT1 A 0 A_JumpIfInventory("ClownShockFrame",4,"FlashAura2")
FlashAura1:
CLWH D 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
TNT1 A 0 A_SpawnItemEx("ClownSparkle",random(0,40),random(-40,40),random(0,60),0,0,0,0,SXF_TRANSFERTRANSLATION,0)
CLWH D 0 A_JumpIfInventory("ClownShockVisualDelay1",1,"FlashAuraLoop")
CLWH D 0 A_SpawnItemEx("ClownShockFX1",0,0,0,momx,momy,momz,0,137,0)
CLWH D 0 A_GiveInventory("ClownShockVisualDelay1",1)
goto FlashAuraLoop
FlashAura2:
CLWH E 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
CLWH D 0 A_JumpIfInventory("ClownShockVisualDelay1",1,"FlashAuraLoop")
CLWH D 0 A_SpawnItemEx("ClownShockFX2",0,0,0,momx,momy,momz,0,137,0)
CLWH D 0 A_GiveInventory("ClownShockVisualDelay1",1)
goto FlashAuraLoop
FlashAura3:
CLWH F 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
CLWH D 0 A_JumpIfInventory("ClownShockVisualDelay1",1,"FlashAuraLoop")
CLWH D 0 A_SpawnItemEx("ClownShockFX3",0,0,0,momx,momy,momz,0,137,0)
CLWH D 0 A_GiveInventory("ClownShockVisualDelay1",1)
goto FlashAuraLoop
FlashAura4b:
CLWH E 0 A_TakeInventory("ClownShockFrame",999)
FlashAura4:
CLWH E 1 A_JumpIfInventory("ClownAltFlag",1,"FlashClaw")
CLWH D 0 A_JumpIfInventory("ClownShockVisualDelay1",1,"FlashAuraLoop")
CLWH D 0 A_SpawnItemEx("ClownShockFX1",0,0,0,momx,momy,momz,0,137,0)
CLWH D 0 A_GiveInventory("ClownShockVisualDelay1",1)
goto FlashAuraLoop
FlashAuraLoop:
TNT1 A 0 A_GiveInventory("ClownShockPickup",1)
TNT1 A 0 A_JumpIfInventory("ClownShockUpPeg",1,"FlashSparkle")
TNT1 A 0 A_JumpIfInventory("ClownShockUpPeg2",1,"FlashSparkle")
TNT1 A 0 A_JumpIfInventory("ClownShockUp",1,"FlashAura")
goto Flash2
FlashSparkle:
TNT1 A 0 A_SpawnItemEx("ClownSparkle2",random(0,40),random(-40,40),random(0,60),0,0,0,0,SXF_TRANSFERTRANSLATION,0)
goto FlashAura
}
}

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

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

actor ClownMainFiredF : OnceC{}
actor ClownMainDoneF : OnceC{}
actor ClownAltFlag : OnceC{}
actor OpenGLFlagger : 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 : Powerup
{
powerup.duration 5
}

actor ClownShockVisualDelay1 : Powerup{powerup.duration 5}

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
No:
TNT1 A 0
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
Radius 2
Height 2
scale 2.5
RenderStyle "Translucent"
Alpha 0.5
States
{
Spawn:
TCAS D 0
TCAS ABCA 1 A_Warp(AAPTR_TARGET,0,0,0)
stop
}
}

actor ClownShockFX2 : ClownShockFX1
{
States
{
Spawn:
TCAS D 0
TCAS DCAE 1 A_Warp(AAPTR_TARGET,0,0,0)
stop
}
}

actor ClownShockFX3 : ClownShockFX1
{
States
{
Spawn:
TCAS D 0
TCAS CAFC 1 A_Warp(AAPTR_TARGET,0,0,0)
stop
}
}

actor ClownSparkle
{
PROJECTILE
+NOGRAVITY
-SOLID
+DONTSPLASH
+THRUGHOST
+CLIENTSIDEONLY
+NOINTERACTION
Radius 1
Height 1
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Jump(200,"SpawnBig","SpawnSmall")
TNT1 A 0
stop
SpawnSmall:
TNT1 A 0 A_SetScale(1.5,1.5)
goto SpawnBig
SpawnBig:
TNT1 A 1 A_Jump(256,"Spawn2","Spawn3","Spawn4")
goto Spawn2
Spawn2:
CAUW A 1 A_Warp(AAPTR_TARGET,random(-40,40),random(-80,80),random(-10,70))
CAUR A 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUB A 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUW B 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUY B 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUB B 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUW C 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUC C 1
CAUB C 1
CAUW D 1
CAUR D 1
CAUB D 1
CAUW E 1
CAUY E 1
CAUB E 1
CAUW F 1
CAUC F 1
CAUB F 1
stop
Spawn3:
CAUW A 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUY A 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUB A 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUW B 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUC B 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUB B 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUW C 1 A_Warp(AAPTR_TARGET,random(-60,60),random(-80,80),random(-10,70))
CAUR C 1
CAUB C 1
CAUW D 1
CAUY D 1
CAUB D 1
CAUW E 1
CAUC E 1
CAUB E 1
CAUW F 1
CAUR F 1
CAUB F 1
stop
Spawn4:
CAUW A 1 A_Warp(AAPTR_TARGET,random(-40,40),random(-50,50),random(-10,70))
CAUC A 1 A_Warp(AAPTR_TARGET,random(-40,40),random(-50,50),random(-10,70))
CAUB A 1 A_Warp(AAPTR_TARGET,random(-40,40),random(-50,50),random(-10,70))
CAUW B 1 A_Warp(AAPTR_TARGET,random(-40,40),random(-50,50),random(-10,70))
CAUR B 1 A_Warp(AAPTR_TARGET,random(-40,40),random(-50,50),random(-10,70))
CAUB B 1 A_Warp(AAPTR_TARGET,random(-40,40),random(-50,50),random(-10,70))
CAUW C 1 A_Warp(AAPTR_TARGET,random(-40,40),random(-50,50),random(-10,70))
CAUY C 1
CAUB C 1
CAUW D 1
CAUC D 1
CAUB D 1
CAUW E 1
CAUR E 1
CAUB E 1
CAUW F 1
CAUY F 1
CAUB F 1
stop
}
}

actor ClownSparkle2 : ClownSparkle
{
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Jump(160,"SpawnBig","SpawnSmall")
TNT1 A 0
stop
SpawnSmall:
TNT1 A 0 A_SetScale(1.5,1.5)
goto SpawnBig
SpawnBig:
TNT1 A 1 A_Jump(256,"Spawn2","Spawn3","Spawn4")
goto Spawn2
Spawn2:
CAUW A 1
CAUR A 1
CAUB A 1
CAUW B 1
CAUY B 1
CAUB B 1
CAUW C 1
CAUC C 1
CAUB C 1
CAUW D 1
CAUR D 1
CAUB D 1
CAUW E 1
CAUY E 1
CAUB E 1
CAUW F 1
CAUC F 1
CAUB F 1
stop
Spawn3:
CAUW A 1
CAUY A 1
CAUB A 1
CAUW B 1
CAUC B 1
CAUB B 1
CAUW C 1
CAUR C 1
CAUB C 1
CAUW D 1
CAUY D 1
CAUB D 1
CAUW E 1
CAUC E 1
CAUB E 1
CAUW F 1
CAUR F 1
CAUB F 1
stop
Spawn4:
CAUW A 1
CAUC A 1
CAUB A 1
CAUW B 1
CAUR B 1
CAUB B 1
CAUW C 1
CAUY C 1
CAUB C 1
CAUW D 1
CAUC D 1
CAUB D 1
CAUW E 1
CAUR E 1
CAUB E 1
CAUW F 1
CAUY F 1
CAUB F 1
stop
}
}

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

actor ClownShockRadius2 : ClownShockRadius
{
Damagetype "ClownM_Aura2"
States
{
Spawn:
TNT1 A 0
TNT1 A 2 A_Explode(24,140,0,0,70)
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/NewClownShock",7,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/NewClownShockSwing",7,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 ThunderClawB {
Translation "192:192=197:197", "198:198=229:229", "199:199=60:60", "202:202=41:41"
PROJECTILE
damagetype "ClownM_Claw"
Obituary "$OB_THUNDERCLAW"
-RIPPER
-BOUNCEONACTORS
+FORCEXYBILLBOARD
+DONTREFLECT
+USEBOUNCESTATE
BounceFactor 1.0
WallBounceFactor 1.0
//+RIPPER
+FORCEXYBILLBOARD
+DONTREFLECT
+DONTSPLASH
+HEXENBOUNCE
+SKYEXPLODE
+THRUGHOST
ReactionTime 1
damage (20)//40
height 18//8
radius 18//8
Speed 35
BounceCount 3
scale 3
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TCLB T 0
TCLB TTTTTTTTTTTTTTT 1 A_SpawnItemEx("ThunderClawB_R",0,0,0,0,0,0,0,1)
goto Death

XDeath:
TCLB T 0 A_PlaySound("weapon/ThunderClawHit",7,0.95)
Bounce.Actor:
Death:
TCLB T 1 A_SpawnItemEx("ThunderHandB_R", 0, 0, 0, 0, 0, 0, 0, 1)
stop
}
}

actor ThunderClawBB : ThunderClawB{translation "192:192=205:205", "198:198=74:74", "199:199=205:205", "202:202=74:74"}
actor ThunderClawBR : ThunderClawB{translation "192:192=171:171", "198:198=41:41", "199:199=171:171", "202:202=41:41"}
actor ThunderClawBO : ThunderClawB{translation "192:192=104:104", "198:198=128:128", "199:199=104:104", "202:202=128:128"}
actor ThunderClawBP : ThunderClawB{translation "192:192=229:229", "198:198=232:232", "199:199=229:229", "202:202=232:232"}

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


actor ThunderClawB2_Pickup : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("ThunderClawB_D")
TNT1 A 0 A_GiveToTarget("ClownShockUp",1)
stop
}
}

Actor ThunderClawB_R : DuoPunchWire
{
Translation "192:192=228:228", "198:198=61:61", "199:199=236:236", "202:202=77:77"
damagetype "ClownM_ClawChain"
+NOINTERACTION
+DONTBLAST
//Renderstyle add
Alpha 0.8
ReactionTime 35
Damage (0)
Speed 35
Scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
TNT1 A 1 A_RearrangePointers(0,0,2)//Target >> Tracer
SpawnRNG:
TNT1 A 0 A_CountDown
TNT1 A 0 A_JumpIfCloser(64,"Death2")
goto S_1
S_1:
TCLA GG 0 A_SeekerMissile(90,90,SMF_PRECISE)
TCLA GH 1 A_GiveInventory("ThunderClawB2_Pickup",1)
TCLA H 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death2")
goto SpawnRNG2
SpawnRNG2:
TNT1 A 0 A_CountDown
TNT1 A 0 A_JumpIfCloser(64,"Death2")
goto S_2
S_2:
TCLA GG 0 A_SeekerMissile(90,90,SMF_PRECISE)
TCLA IJ 1 A_GiveInventory("ThunderClawB2_Pickup",1)
TCLA H 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death2")
goto SpawnRNG

Death2:
TNT1 A 1
stop
Death:
TNT1 A 0
stop
}
}

Actor ThunderHandB_R : ThunderClawB_R
{
Renderstyle translucent
Alpha 1
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
TNT1 A 0 A_RearrangePointers(0,0,2)//Target >> Tracer
SpawnRNG:
TNT1 A 0 A_CountDown
TNT1 A 0 A_JumpIfCloser(64,"Death2")
goto S_1
S_1:
TCLB UU 0 A_SeekerMissile(90,90,SMF_PRECISE)
TCLB UU 1 A_GiveInventory("ThunderClawB2_Pickup",1)
TCLB U 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death2")
goto SpawnRNG

Death2:
TNT1 A 1
stop
Death:
TNT1 A 0
stop
}
}

Actor ThunderPegB_R : ThunderHandB_R
{
Renderstyle translucent
Alpha 1
scale 2.5
States
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TNT1 A 0
TNT1 A 0 A_RearrangePointers(0,0,2)//Target >> Tracer
SpawnRNG:
TNT1 A 0 A_CountDown
TNT1 A 0 A_JumpIfCloser(64,"Death2")
goto S_1
S_1:
THOO DD 0 A_SeekerMissile(90,90,SMF_PRECISE)
THOO DD 1 A_GiveInventory("ThunderClawB2_Pickup",1)
THOO D 0 A_JumpIf(ACS_ExecuteWithResult(C_CHECK_TARGET_OOC)==0,"Death2")
goto SpawnRNG

Death2:
TNT1 A 1
stop
Death:
TNT1 A 0
stop
}
}


actor ThunderClawB_D
{
PROJECTILE
damagetype "ClownM_ClawChain"
Obituary "$OB_THUNDERCLAW"
+DONTBLAST
+THRUGHOST
Damage(2)//5
//height 10//16
//radius 10//16
States
{
Spawn:
TNT1 A 0
TNT1 A 2
stop
}
}

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


actor ThunderClawB_FX : ThunderClawFX
{
States
{
Spawn:
TCLA D 0
TCLA D 0 A_JumpIfCloser(32,"Death")
TCLA D 0 A_Jump(256,"Frame1","Frame2","Frame3")
Frame1:
TCLA GH 1
stop
Frame2:
TCLA HI 1
stop
Frame3:
TCLA IG 1
stop
}
}

actor ThunderClawBT : ThunderClawB
{
Obituary "$OB_THUNDERCLAW"
damagetype "ClownM_ClawChain"
+SKYEXPLODE
+THRUACTORS
//+USEBOUNCESTATE
-BOUNCEONCEILINGS
states
{
Spawn:
THOO D 0
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TCLB TTTTTTTTTTTTTTTTT 1 A_SpawnItemEx("ThunderClawB_R",0,0,0,0,0,0,0,1)
THOO D 0 A_Stop
THOO D 0 A_JumpIf(z-floorz<64,"Linger")
goto Death
//Bounce:
//THOO D 0 A_JumpIf(z-floorz<64,"Linger")
//goto Death
Linger:
THOO D 1 A_SpawnItemEx("ThunderPegB_R", 0, 0, 0, 0, 0, 0, 0, 1)
stop
Death:
TNT1 A 1 A_SpawnItemEx("ThunderClawPegClown")
stop
}
}


actor ThunderClawBTB : ThunderClawBT
{
translation "192:192=205:205", "198:198=74:74", "199:199=74:74", "202:202=205:205", "225:225=196:196"
states
{
Spawn:
THOO D 0
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TCLB TTTTTTTTTTTTTTTTT 1 A_SpawnItemEx("ThunderClawB_R",0,0,0,0,0,0,0,1)
THOO D 0 A_Stop
THOO D 0 A_JumpIf(z-floorz<64,"Linger")
goto Death
//Bounce:
//THOO D 0 A_JumpIf(z-floorz<64,"Linger")
//goto Death
Linger:
THOO D 1 A_SpawnItemEx("ThunderPegB_R", 0, 0, 0, 0, 0, 0, 0, 1)
stop
Death:
TNT1 A 1 A_SpawnItemEx("ThunderClawPegClownB")
stop
}
}
actor ThunderClawBTR : ThunderClawBT
{
translation "192:192=171:171", "198:198=41:41", "199:199=41:41", "202:202=171:171", "225:225=170:170"
states
{
Spawn:
THOO D 0
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TCLB TTTTTTTTTTTTTTTTT 1 A_SpawnItemEx("ThunderClawB_R",0,0,0,0,0,0,0,1)
THOO D 0 A_Stop
THOO D 0 A_JumpIf(z-floorz<64,"Linger")
goto Death
//Bounce:
//THOO D 0 A_JumpIf(z-floorz<64,"Linger")
//goto Death
Linger:
THOO D 1 A_SpawnItemEx("ThunderPegB_R", 0, 0, 0, 0, 0, 0, 0, 1)
stop
Death:
TNT1 A 1 A_SpawnItemEx("ThunderClawPegClownR")
stop
}
}
actor ThunderClawBTO : ThunderClawBT
{
translation "192:192=104:104", "198:198=128:128", "199:199=128:128", "202:202=104:104", "225:225=138:138"
states
{
Spawn:
THOO D 0
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TCLB TTTTTTTTTTTTTTTTT 1 A_SpawnItemEx("ThunderClawB_R",0,0,0,0,0,0,0,1)
THOO D 0 A_Stop
THOO D 0 A_JumpIf(z-floorz<64,"Linger")
goto Death
Bounce:
THOO D 0 A_JumpIf(z-floorz<64,"Linger")
goto Death
//Linger:
//THOO D 1 A_SpawnItemEx("ThunderPegB_R", 0, 0, 0, 0, 0, 0, 0, 1)
//stop
Death:
TNT1 A 1 A_SpawnItemEx("ThunderClawPegClownO")
stop
}
}
actor ThunderClawBTP : ThunderClawBT
{
translation "192:192=229:229", "198:198=232:232", "199:199=232:232", "202:202=229:229", "225:225=214:214"
states
{
Spawn:
THOO D 0
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
TCLB TTTTTTTTTTTTTTTTT 1 A_SpawnItemEx("ThunderClawB_R",0,0,0,0,0,0,0,1)
THOO D 0 A_Stop
THOO D 0 A_JumpIf(z-floorz<64,"Linger")
goto Death
//Bounce:
//THOO D 0 A_JumpIf(z-floorz<64,"Linger")
//goto Death
Linger:
THOO D 1 A_SpawnItemEx("ThunderPegB_R", 0, 0, 0, 0, 0, 0, 0, 1)
stop
Death:
TNT1 A 1 A_SpawnItemEx("ThunderClawPegClownP")
stop
}
}


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",75)//150)
stop
No:
TNT1 A 0
stop
}
}

actor ThunderClawPegClown
{
translation "74:74=60:60", "76:76=197:197", "192:192=228:228", "196:196=229:229", "198:198=61:61", "199:199=236:236", "202:202=77:77", "204:204=77:77", "205:205=41:41"
-SHOOTABLE
+NODAMAGE
+NODAMAGETHRUST
+NOGRAVITY
+NOBLOOD
+QUICKTORETALIATE
+NORADIUSDMG
+FORCEXYBILLBOARD
+CANTSEEK
Health 9999
Mass 99999
painchance 256
Height 32
Radius 16
Speed 0
Scale 2.5
damagefactor "Normal", 0.0
damagefactor "ThunderClaw", 1.0
damagefactor "ThunderClawPegHelp", 1.0
damagefactor "ClownM_Claw", 1.0
damagefactor "PlantM_Vine", 1.0
States
{
Spawn:
THOO E 0
THOO E 0 A_GiveToTarget("TCPeg_YoGeekyAmmo_P",1)
THOO E 0 //A_SpawnItemEx("PegChainTopClown",0,0,19,0,0,0,0,1)
THOO E 0 A_JumpIf(ceilingz-z<16,2)
THOO E 0 A_SpawnItemEx("PegChainClown",0,0,-1,0,0,21,0,1)
goto Pain.ThunderClaw+2
Spawn2:
THOO E 0 A_GiveInventory("CutterFlag",1)
THOO E 0 A_JumpIfInventory("CutterFlag",400,"Death")
TNT1 A 1 A_SpawnItemEx("ClownOpenGLHelper",0,0,0,0,0,0,0,1)
loop
Pain.ThunderClaw:
Pain.ThunderClawPegHelp:
Pain.ClownM_Claw:
Pain.PlantM_Vine:
//THOO E 0 A_JumpIfTargetInLOS("TargetFound")
THOO E 0 A_ChangeFlag("SHOOTABLE",0)
THOO E 0 A_GiveInventory("CutterFlag",1)
THOO E 0 A_JumpIfInventory("CutterFlag",400,"Death")
THOO E 0 //A_Log("OUCH")
TNT1 A 1 ACS_NamedExecuteAlways("cbm_ClownPegSwing",0,70)
TNT1 A 0 A_GiveToTarget("ClownSwingNoise_P",1)
THOO E 0 A_SpawnItemEx("ClownOpenGLHelper",0,0,0,0,0,0,0,1)
TNT1 A 1 A_GiveInventory("CutterFlag",1)
THOO E 0 A_SpawnItemEx("ClownOpenGLHelper",0,0,0,0,0,0,0,1)
THOO E 0 A_ClearTarget
THOO E 0 A_ChangeFlag("SHOOTABLE",1)
Goto Spawn2
Death:
THOO E 0
stop
}
}

actor ClownSwingNoise_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0
TNT1 A 0 A_PlaySound("weapon/NewClownSwing",0,1,0,1)
stop
}
}

actor ThunderClawPegClownB : ThunderClawPegClown
{
translation ""
States
{
Spawn:
THOO E 0
THOO E 0 A_GiveToTarget("TCPeg_YoGeekyAmmo_P",1)
THOO E 0 //A_SpawnItemEx("PegChainTopClown",0,0,19,0,0,0,0,1)
THOO E 0 A_JumpIf(ceilingz-z<16,2)
THOO E 0 A_SpawnItemEx("PegChainClown",0,0,-1,0,0,20,0,1)
goto Pain.ThunderClaw+2
Spawn2:
THOO E 0 A_GiveInventory("CutterFlag",1)
THOO E 0 A_JumpIfInventory("CutterFlag",400,"Death")
TNT1 A 1 A_SpawnItemEx("ClownOpenGLHelperB",0,0,0,0,0,0,0,1)
loop
Pain.ThunderClaw:
Pain.ThunderClawPegHelp:
Pain.ClownM_Claw:
Pain.PlantM_Vine:
//THOO E 0 A_JumpIfTargetInLOS("TargetFound")
THOO E 0 A_ChangeFlag("SHOOTABLE",0)
THOO E 0 A_GiveInventory("CutterFlag",1)
THOO E 0 A_JumpIfInventory("CutterFlag",400,"Death")
THOO E 0 //A_Log("OUCH")
TNT1 A 1 ACS_NamedExecuteAlways("cbm_ClownPegSwing",0,70)
TNT1 A 0 A_GiveToTarget("ClownSwingNoise_P",1)
THOO E 0 A_SpawnItemEx("ClownOpenGLHelperB",0,0,0,0,0,0,0,1)
TNT1 A 1 A_GiveInventory("CutterFlag",1)
THOO E 0 A_SpawnItemEx("ClownOpenGLHelperB",0,0,0,0,0,0,0,1)
THOO E 0 A_ClearTarget
THOO E 0 A_ChangeFlag("SHOOTABLE",1)
Goto Spawn2
Death:
THOO E 0
stop
}
}

actor ThunderClawPegClownR : ThunderClawPegClown
{
translation "72:72=172:172", "74:74=174:174", "76:76=178:178", "192:192=227:227", "196:196=38:38", "198:198=185:185", "199:199=47:47", "202:202=169:169", "204:204=169:169", "205:205=41:41"
States
{
Spawn:
THOO E 0
THOO E 0 A_GiveToTarget("TCPeg_YoGeekyAmmo_P",1)
THOO E 0 //A_SpawnItemEx("PegChainTopClown",0,0,19,0,0,0,0,1)
THOO E 0 A_JumpIf(ceilingz-z<16,2)
THOO E 0 A_SpawnItemEx("PegChainClown",0,0,-1,0,0,20,0,1)
goto Pain.ThunderClaw+2
Spawn2:
THOO E 0 A_GiveInventory("CutterFlag",1)
THOO E 0 A_JumpIfInventory("CutterFlag",400,"Death")
TNT1 A 1 A_SpawnItemEx("ClownOpenGLHelperR",0,0,0,0,0,0,0,1)
loop
Pain.ThunderClaw:
Pain.ThunderClawPegHelp:
Pain.ClownM_Claw:
Pain.PlantM_Vine:
//THOO E 0 A_JumpIfTargetInLOS("TargetFound")
THOO E 0 A_ChangeFlag("SHOOTABLE",0)
THOO E 0 A_GiveInventory("CutterFlag",1)
THOO E 0 A_JumpIfInventory("CutterFlag",400,"Death")
THOO E 0 //A_Log("OUCH")
TNT1 A 1 ACS_NamedExecuteAlways("cbm_ClownPegSwing",0,70)
TNT1 A 0 A_GiveToTarget("ClownSwingNoise_P",1)
THOO E 0 A_SpawnItemEx("ClownOpenGLHelperR",0,0,0,0,0,0,0,1)
TNT1 A 1 A_GiveInventory("CutterFlag",1)
THOO E 0 A_SpawnItemEx("ClownOpenGLHelperR",0,0,0,0,0,0,0,1)
THOO E 0 A_ClearTarget
THOO E 0 A_ChangeFlag("SHOOTABLE",1)
Goto Spawn2
Death:
THOO E 0
stop
}
}

actor ThunderClawPegClownO : ThunderClawPegClown
{
translation "72:72=117:117", "74:74=116:116", "76:76=118:118", "192:192=107:107", "196:196=98:98", "198:198=111:111", "199:199=130:130", "202:202=96:96", "204:204=96:96", "205:205=120:120"
States
{
Spawn:
THOO E 0
THOO E 0 A_GiveToTarget("TCPeg_YoGeekyAmmo_P",1)
THOO E 0 //A_SpawnItemEx("PegChainTopClown",0,0,19,0,0,0,0,1)
THOO E 0 A_JumpIf(ceilingz-z<16,2)
THOO E 0 A_SpawnItemEx("PegChainClown",0,0,-1,0,0,20,0,1)
goto Pain.ThunderClaw+2
Spawn2:
THOO E 0 A_GiveInventory("CutterFlag",1)
THOO E 0 A_JumpIfInventory("CutterFlag",400,"Death")
TNT1 A 1 A_SpawnItemEx("ClownOpenGLHelperO",0,0,0,0,0,0,0,1)
loop
Pain.ThunderClaw:
Pain.ThunderClawPegHelp:
Pain.ClownM_Claw:
Pain.PlantM_Vine:
//THOO E 0 A_JumpIfTargetInLOS("TargetFound")
THOO E 0 A_ChangeFlag("SHOOTABLE",0)
THOO E 0 A_GiveInventory("CutterFlag",1)
THOO E 0 A_JumpIfInventory("CutterFlag",400,"Death")
THOO E 0 //A_Log("OUCH")
TNT1 A 1 ACS_NamedExecuteAlways("cbm_ClownPegSwing",0,70)
TNT1 A 0 A_GiveToTarget("ClownSwingNoise_P",1)
THOO E 0 A_SpawnItemEx("ClownOpenGLHelperO",0,0,0,0,0,0,0,1)
TNT1 A 1 A_GiveInventory("CutterFlag",1)
THOO E 0 A_SpawnItemEx("ClownOpenGLHelperO",0,0,0,0,0,0,0,1)
THOO E 0 A_ClearTarget
THOO E 0 A_ChangeFlag("SHOOTABLE",1)
Goto Spawn2
Death:
THOO E 0
stop
}
}

actor ThunderClawPegClownP : ThunderClawPegClown
{
translation "72:72=228:228", "74:74=229:229", "76:76=231:231", "192:192=218:218", "196:196=214:214", "198:198=217:217", "199:199=221:221", "202:202=213:213", "204:204=213:213", "205:205=221:221"
States
{
Spawn:
THOO E 0
THOO E 0 A_GiveToTarget("TCPeg_YoGeekyAmmo_P",1)
THOO E 0 //A_SpawnItemEx("PegChainTopClown",0,0,19,0,0,0,0,1)
THOO E 0 A_JumpIf(ceilingz-z<16,2)
THOO E 0 A_SpawnItemEx("PegChainClown",0,0,-1,0,0,20,0,1)
goto Pain.ThunderClaw+2
Spawn2:
THOO E 0 A_GiveInventory("CutterFlag",1)
THOO E 0 A_JumpIfInventory("CutterFlag",400,"Death")
TNT1 A 1 A_SpawnItemEx("ClownOpenGLHelperP",0,0,0,0,0,0,0,1)
loop
Pain.ThunderClaw:
Pain.ThunderClawPegHelp:
Pain.ClownM_Claw:
Pain.PlantM_Vine:
//THOO E 0 A_JumpIfTargetInLOS("TargetFound")
THOO E 0 A_ChangeFlag("SHOOTABLE",0)
THOO E 0 A_GiveInventory("CutterFlag",1)
THOO E 0 A_JumpIfInventory("CutterFlag",400,"Death")
THOO E 0 //A_Log("OUCH")
TNT1 A 1 ACS_NamedExecuteAlways("cbm_ClownPegSwing",0,70)
TNT1 A 0 A_GiveToTarget("ClownSwingNoise_P",1)
THOO E 0 A_SpawnItemEx("ClownOpenGLHelperP",0,0,0,0,0,0,0,1)
TNT1 A 1 A_GiveInventory("CutterFlag",1)
THOO E 0 A_SpawnItemEx("ClownOpenGLHelperP",0,0,0,0,0,0,0,1)
THOO E 0 A_ClearTarget
THOO E 0 A_ChangeFlag("SHOOTABLE",1)
Goto Spawn2
Death:
THOO E 0
stop
}
}

actor ClownPeggFX
{
+NOINTERACTION
+CLIENTSIDEONLY
-SOLID
+NOGRAVITY
Height 1
Radius 1
Scale 2.5
States
{
Spawn:
TNT1 A 0
THOO E 2
stop
}
}

actor ClownPeggFXOpenGL
{
+NOINTERACTION
+CLIENTSIDEONLY
-SOLID
+NOGRAVITY
Height 1
Radius 1
Scale 2.5
States
{
Spawn:
TNT1 A 0
THOO V 2
stop
}
}

actor ClownPeggFXOpenGLB : ClownPeggFXOpenGL
{
States
{
Spawn:
TNT1 A 0
THOO W 2
stop
}
}

actor ClownPeggFXOpenGLR : ClownPeggFXOpenGL
{
States
{
Spawn:
TNT1 A 0
THOO X 2
stop
}
}

actor ClownPeggFXOpenGLO : ClownPeggFXOpenGL
{
States
{
Spawn:
TNT1 A 0
THOO Y 2
stop
}
}

actor ClownPeggFXOpenGLP : ClownPeggFXOpenGL
{
States
{
Spawn:
TNT1 A 0
THOO Z 2
stop
}
}

actor ClownOpenGLHelper : BasicHelper
{
+CLIENTSIDEONLY
States
{
Spawn:
TNT1 A 0
TNT1 A 5 A_JumpIf(ACS_NamedExecuteWithResult("UEC OpenGL Check")==1,"Spawn2")
goto Spawn3
Spawn2:
TNT1 A 1 A_SpawnItemEx("ClownPeggFXOpenGL",0,0,0,0,0,0,0,1)
stop
Spawn3:
TNT1 A 1 A_SpawnItemEx("ClownPeggFX",0,0,0,0,0,0,0,1)
stop
Death:
TNT1 A 0
stop
}
}

actor ClownOpenGLHelperB : BasicHelper
{
+CLIENTSIDEONLY
States
{
Spawn:
TNT1 A 0
TNT1 A 5 A_JumpIf(ACS_NamedExecuteWithResult("UEC OpenGL Check")==1,"Spawn2")
goto Spawn3
Spawn2:
TNT1 A 1 A_SpawnItemEx("ClownPeggFXOpenGLB",0,0,0,0,0,0,0,1)
stop
Spawn3:
TNT1 A 1 A_SpawnItemEx("ClownPeggFX",0,0,0,0,0,0,0,1)
stop
Death:
TNT1 A 0
stop
}
}

actor ClownOpenGLHelperR : BasicHelper
{
+CLIENTSIDEONLY
States
{
Spawn:
TNT1 A 0
TNT1 A 5 A_JumpIf(ACS_NamedExecuteWithResult("UEC OpenGL Check")==1,"Spawn2")
goto Spawn3
Spawn2:
TNT1 A 1 A_SpawnItemEx("ClownPeggFXOpenGLR",0,0,0,0,0,0,0,1)
stop
Spawn3:
TNT1 A 1 A_SpawnItemEx("ClownPeggFX",0,0,0,0,0,0,0,1)
stop
Death:
TNT1 A 0
stop
}
}

actor ClownOpenGLHelperO : BasicHelper
{
+CLIENTSIDEONLY
States
{
Spawn:
TNT1 A 0
TNT1 A 5 A_JumpIf(ACS_NamedExecuteWithResult("UEC OpenGL Check")==1,"Spawn2")
goto Spawn3
Spawn2:
TNT1 A 1 A_SpawnItemEx("ClownPeggFXOpenGLO",0,0,0,0,0,0,0,1)
stop
Spawn3:
TNT1 A 1 A_SpawnItemEx("ClownPeggFX",0,0,0,0,0,0,0,1)
stop
Death:
TNT1 A 0
stop
}
}

actor ClownOpenGLHelperP : BasicHelper
{
+CLIENTSIDEONLY
States
{
Spawn:
TNT1 A 0
TNT1 A 5 A_JumpIf(ACS_NamedExecuteWithResult("UEC OpenGL Check")==1,"Spawn2")
goto Spawn3
Spawn2:
TNT1 A 1 A_SpawnItemEx("ClownPeggFXOpenGLP",0,0,0,0,0,0,0,1)
stop
Spawn3:
TNT1 A 1 A_SpawnItemEx("ClownPeggFX",0,0,0,0,0,0,0,1)
stop
Death:
TNT1 A 0
stop
}
}

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

actor PegChainFxClown : BasicClientSide
{
+FORCEYBILLBOARD
Reactiontime 41//400
Height 8
Radius 8
States
{
Spawn:
THOO F 0
THOO F 10 A_CountDown
wait
}
}

actor PegChainTopClown : PegChainFxClown
{
States
{
Spawn:
THOO G 0
THOO G 10 A_CountDown
wait
}
}

actor GroundThunderClawFX : FastProjectile
{
Translation "192:192=229:229", "198:198=197:197", "199:199=60:60", "202:202=41:41"
+DONTBLAST
+RIPPER
+THRUGHOST
+SKYEXPLODE
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("GroundThunderClawFXSpawner",0,0,0,0,0,0,0,1)
stop
}
}

actor GroundThunderClaw : GroundThunderClawFX
{
speed 100
States
{
Spawn:
TNT1 AA 0
TNT1 A 0 A_GiveToTarget("GroundThunderClawOut",1)
TNT1 A 1 //A_CountDown
loop
Death:
TNT1 A 0 A_SpawnItemEx("GroundThunderClaw2",0,0,0,0,0,0,0,1)
stop
}
}

actor GroundThunderClawFXB : GroundThunderClawFX{translation "192:192=196:196", "198:198=72:72", "199:199=74:74", "202:202=205:205"}
actor GroundThunderClawFXR : GroundThunderClawFX{translation "192:192=170:170", "198:198=40:40", "199:199=41:41", "202:202=171:171"}
actor GroundThunderClawFXO : GroundThunderClawFX{translation "192:192=138:138", "198:198=109:109", "199:199=128:128", "202:202=104:104"}
actor GroundThunderClawFXP : GroundThunderClawFX{translation "192:192=214:214", "198:198=228:228", "199:199=230:230", "202:202=229:229"}

actor GroundThunderClawB : GroundThunderClaw{translation "192:192=196:196", "198:198=72:72", "199:199=74:74", "202:202=205:205"}
actor GroundThunderClawR : GroundThunderClaw{translation "192:192=170:170", "198:198=40:40", "199:199=41:41", "202:202=171:171"}
actor GroundThunderClawO : GroundThunderClaw{translation "192:192=138:138", "198:198=109:109", "199:199=128:128", "202:202=104:104"}
actor GroundThunderClawP : GroundThunderClaw{translation "192:192=214:214", "198:198=228:228", "199:199=230:230", "202:202=229:229"}

actor ClownM_GroundProtect : Powerup//Protection
{
Powerup.Duration 6
}

actor GroundThunderClawFXSpawner
{
PROJECTILE
radius 1
height 1
scale 2.5
Obituary "$OB_THUNDERCLAW"
damagetype "ClownM_Ground"
damage (0)

//+NOINTERACTION
+DONTBLAST
+RIPPER
+THRUGHOST
+FLOORHUGGER

reactiontime 6
States
{
Spawn:
TNT1 A 0
TCLB C 0 A_PlaySoundEx("Bee/Charge","Weapon")
SpawnLoop:
TNT1 AAAA 1 A_SpawnItemEx("ClownSparkle2",random(-40,40),random(-40,40),0,0,0,frandom(0,5),0,SXF_TRANSFERTRANSLATION,0)
TCLB A 1 A_JumpIfInTargetInventory("GroundThunderClawOut2",1,"Death")
loop
Death:
TCLB C 0 A_StopSoundEx("Weapon")
stop
}
}

actor GroundThunderClaw2
{
PROJECTILE
radius 8
height 16
scale 2.5
Obituary "$OB_THUNDERCLAW"
damagetype "ClownM_Ground"
damage (0)

//+NOINTERACTION
+DONTBLAST
+RIPPER
+THRUGHOST
+FLOORHUGGER

reactiontime 6
States
{
Spawn:
TNT1 A 0
TCLB C 0 A_PlaySoundEx("weapon/NewClownGrab","Weapon")
TCLB A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB AAA 1 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB B 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB BBB 1 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB C 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB CCC 1 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB C 0
Spawn2:
TCLB C 0 A_Explode(5,88,0,0,8)
TCLB C 0 A_CountDown
TCLB D 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB DD 1 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB I 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB II 1 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB C 0 A_Explode(5,88,0,0,8)
TCLB C 0 A_CountDown
TCLB G 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB GG 1 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB I 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB II 1 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB C 0 A_Explode(5,88,0,0,8)
TCLB C 0 A_CountDown
TCLB E 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB EE 1 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB I 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB II 1 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB C 0 A_Explode(5,88,0,0,8)
TCLB C 0 A_CountDown
TCLB F 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB FF 1 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB I 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB II 1 A_GiveToTarget("GroundThunderClawOut2",1)
loop
Death:
TCLB C 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB CC 1 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB B 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB BB 1 A_GiveToTarget("GroundThunderClawOut2",1)
TCLB A 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
TCLB AA 1 A_GiveToTarget("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
States
{
Spawn:
TCLB K 0
TCLB K 1
stop
}
}

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



actor ClownmanMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("ThunderClawB",0,0,-8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("ThunderClawBB",0,0,-8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("ThunderClawBR",0,0,-8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("ThunderClawBO",0,0,-8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("ThunderClawBP",0,0,-8,0)
goto Done
}
}

actor ClownmanMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("ThunderClawBT",0,0,-8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("ThunderClawBTB",0,0,-8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("ThunderClawBTR",0,0,-8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("ThunderClawBTO",0,0,-8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("ThunderClawBTP",0,0,-8,0)
goto Done
}
}

actor ClownmanAlt_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("GroundThunderClawFX",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("GroundThunderClaw",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("GroundThunderClawFXB",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("GroundThunderClawB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("GroundThunderClawFXR",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("GroundThunderClawR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("GroundThunderClawFXO",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("GroundThunderClawO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("GroundThunderClawFXP",0,0,8,0)
TNT1 A 0 A_FireCustomMissile("GroundThunderClawP",0,0,8,0)
goto Done
}
}


actor ClownmanGrabSounder : BasicHelper
{
+NOINTERACTION
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_PlaySound("weapon/NewClownRelease",0,1,0)
stop
}
}
