actor Uranus_W : BaseMM8BDMWep_CBM
{
tag "$TAGC_VG"
dropitem "DeepDiggerWep"
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Obituary "$OB_URANUSGORE"
weapon.ammotype "DeeperDiggerAmmo"
weapon.ammotype2 "UranusStampedeAmmo"
Inventory.Pickupmessage "You got a jolly good butt joke."
States
{
Spawn:
C_0V G 1
loop

Deselect:
URAH A 0
goto DeselectSwap
Select:
URAH A 0
goto SelectSwap

Ready:
URAH A 0 ACS_NamedExecuteWithResult("core_weaponcolor",DYE_URANUS)
URAH A 0 A_GunFlash("Flash",1)
URAH A 0 A_GiveInventory("SpawningMisfire",1)
goto Ready0
Ready0:
URAH A 2 A_WeaponReady
URAH A 0 A_TakeInventory("SpawningMisfire",1)
goto Ready2
Ready2:
URAH A 2 A_WeaponReady
URAH A 0 A_GiveInventory("DeeperDiggerAmmo",1)
loop

SpawnProtect:
URAH A 1
Goto Ready0

Fire:
URAH A 0 A_JumpIfInventory("SpawningMisfire",1,"SpawnProtect")
URAH A 0 A_JumpIfInventory("SuperArmTemp",1,"Throw")
URAH A 0 A_JumpIfInventory("UranusAnger",28,"GroundSlam")
goto FireBlockPick
FireBlockPick:
URAH G 0 A_WeaponReady(14)
URAH G 0 A_PlaySound("weapon/uranuspickup",1,1.0)
URAH G 0 A_GiveInventory("VivifyDelay7",1)
URAH G 0 A_GiveInventory("SuperArmTemp",1)
URAH G 0 A_Refire(1)
URAH G 0 A_SpawnItemEx("UranusDiggerPick",66,0,-28,0,0,0,0,33)
URAH G 2
URAH G 0 A_JumpIfInventory("UranusStampedeAmmo",56,"BlockBuffer2")
URAH G 0 A_JumpIfInventory("UranusStampedeAmmo",28,"BlockBuffer3")
Goto BlockBuffer4
BlockBuffer4:
URAH G 2
URAH HIJ 4
goto BlockBuffer
BlockBuffer3:
URAH G 1
URAH HIJ 3
goto BlockBuffer
BlockBuffer2:
URAH HIJ 2
goto BlockBuffer
BlockBuffer:
URAH K 2
URAH K 2 A_SpawnItemEx("UranusTempDigger",2,30,92)
Goto ReadyBlock
ReadyBlock:
URAH K 4 A_WeaponReady
URAH K 0 A_GiveInventory("DeeperDiggerAmmo",1)
loop
Throw:
URAH L 0 A_TakeInventory("SuperArmTemp",1)
URAH L 0 A_GiveInventory("Uranus_Fire1_P")
URAH L 0 A_Refire(1)
URAH LMNOP 2
URAH K 0 A_JumpIfInventory("DeeperDiggerAmmo",1,"ThrowDelayEndC")
URAH K 4
Goto ThrowDelayEnd1
ThrowDelayEndC:
URAH K 2
URAH G 0 A_JumpIfInventory("UranusStampedeAmmo",56,"ThrowDelayEnd3")
URAH G 0 A_JumpIfInventory("UranusStampedeAmmo",28,"ThrowDelayEnd2")
URAH K 2
Goto ThrowDelayEnd1
ThrowDelayEnd1:
URAH K 14
URAH Q 4
Goto Ready2
ThrowDelayEnd2:
URAH K 8
URAH Q 4
Goto Ready2
ThrowDelayEnd3:
URAH Q 4
Goto Ready2
RockCrush:
URAH K 0 A_GiveInventory("VivifyDelay4",1)
URAH K 0 A_TakeInventory("SuperArmTemp")
URAH K 0 A_Refire(1)
URAH L 2 A_SpawnItemEx("UranusDiggerPickAlt",2,30,92,0,0,0,0,33)
URAH MN 2
URAH O 2 A_GiveInventory("Uranus_Alt_P")
URAH P 2
URAH KQ 4
Goto Ready2

Altfire:
URAH B 0 A_JumpIfInventory("SpawningMisfire",1,"SpawnProtect")
URAH B 0 A_JumpIfInventory("SuperArmTemp",1,"RockCrush")
goto AltfireC0
AltfireC0:
URAH B 0 A_GunFlash("Flash.AltCharge",1)
URAH B 0 A_GiveInventory("CBM_Ratio8JumpPowerGiver",1)
URAH B 0 A_GiveInventory("VivifyCycle2",1)
URAH B 0 A_Refire(1)
URAH B 0
goto AltfireC1.a
AltfireC1.a:
URAH B 0 A_JumpIfInventory("UranusStampedeAmmo",56,"AltfireC2.a")
URAH B 0 A_GiveInventory("UranusWorkupSnd_P",1)
URAH B 4 A_GiveInventory("UranusDashFlag_P",1)
URAH B 0 A_Refire("AltfireC1.b")
URAH B 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC1.b:
URAH C 0 A_JumpIfInventory("UranusStampedeAmmo",56,"AltfireC2.b")
URAH C 4
URAH C 0 A_Refire("AltfireC1.c")
URAH C 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC1.c:
URAH D 0 A_JumpIfInventory("UranusStampedeAmmo",56,"AltfireC2.c")
URAH D 4 A_GiveInventory("UranusDashFlag_P",1)
URAH D 0 A_Refire("AltfireC1.d")
URAH D 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC1.d:
URAH E 0 A_JumpIfInventory("UranusStampedeAmmo",56,"AltfireC2.d")
URAH E 4
URAH E 0 A_Refire("AltfireC1.e")
URAH E 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC1.e:
URAH F 0 A_JumpIfInventory("UranusStampedeAmmo",56,"AltfireC2.e")
URAH F 0 A_GiveInventory("UranusWorkupSnd_P",1)
URAH F 4 A_GiveInventory("UranusDashFlag_P",1)
URAH F 0 A_Refire("AltfireC1.f")
URAH F 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC1.f:
URAH E 0 A_JumpIfInventory("UranusStampedeAmmo",56,"AltfireC2.f")
URAH E 4
URAH E 0 A_Refire("AltfireC1.g")
URAH E 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC1.g:
URAH D 0 A_JumpIfInventory("UranusStampedeAmmo",56,"AltfireC2.g")
URAH D 4 A_GiveInventory("UranusDashFlag_P",1)
URAH D 0 A_Refire("AltfireC1.h")
URAH D 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC1.h:
URAH C 0 A_JumpIfInventory("UranusStampedeAmmo",56,"AltfireC2.h")
URAH C 4
URAH C 0 A_Refire("AltfireC1.a")
URAH C 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End

AltfireC2.a:
URAH B 0 A_JumpIfInventory("UranusStampedeAmmo",84,"AltfireC3.a")
URAH B 0 A_GiveInventory("UranusWorkupSnd_P",1)
URAH B 3 A_GiveInventory("UranusDashFlag_P",1)
URAH B 0 A_Refire("AltfireC2.b")
URAH B 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC2.b:
URAH C 0 A_JumpIfInventory("UranusStampedeAmmo",84,"AltfireC3.b")
URAH C 3
URAH C 0 A_Refire("AltfireC2.c")
URAH C 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC2.c:
URAH D 0 A_JumpIfInventory("UranusStampedeAmmo",84,"AltfireC3.c")
URAH D 3 A_GiveInventory("UranusDashFlag_P",1)
URAH D 0 A_Refire("AltfireC2.d")
URAH D 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC2.d:
URAH E 0 A_JumpIfInventory("UranusStampedeAmmo",84,"AltfireC3.d")
URAH E 3
URAH E 0 A_Refire("AltfireC2.e")
URAH E 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC2.e:
URAH F 0 A_JumpIfInventory("UranusStampedeAmmo",84,"AltfireC3.e")
URAH F 0 A_GiveInventory("UranusWorkupSnd_P",1)
URAH F 3 A_GiveInventory("UranusDashFlag_P",1)
URAH F 0 A_Refire("AltfireC2.f")
URAH F 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC2.f:
URAH E 0 A_JumpIfInventory("UranusStampedeAmmo",84,"AltfireC3.f")
URAH E 3
URAH E 0 A_Refire("AltfireC2.g")
URAH E 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC2.g:
URAH D 0 A_JumpIfInventory("UranusStampedeAmmo",84,"AltfireC3.g")
URAH D 3 A_GiveInventory("UranusDashFlag_P",1)
URAH D 0 A_Refire("AltfireC2.h")
URAH D 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC2.h:
URAH C 0 A_JumpIfInventory("UranusStampedeAmmo",84,"AltfireC3.h")
URAH C 3
URAH C 0 A_Refire("AltfireC2.a")
URAH C 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End

AltfireC3.a:
URAH B 0 A_JumpIfInventory("UranusStampedeAmmo",112,"AltfireC4.a")
URAH B 0 A_GiveInventory("UranusWorkupSnd_P",1)
URAH B 2 A_GiveInventory("UranusDashFlag_P",1)
URAH B 0 A_Refire("AltfireC3.b")
URAH B 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC3.b:
URAH C 0 A_JumpIfInventory("UranusStampedeAmmo",112,"AltfireC4.b")
URAH C 2
URAH C 0 A_Refire("AltfireC3.c")
URAH C 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC3.c:
URAH D 0 A_JumpIfInventory("UranusStampedeAmmo",112,"AltfireC4.c")
URAH D 2 A_GiveInventory("UranusDashFlag_P",1)
URAH D 0 A_Refire("AltfireC3.d")
URAH D 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC3.d:
URAH E 0 A_JumpIfInventory("UranusStampedeAmmo",112,"AltfireC4.d")
URAH E 2
URAH E 0 A_Refire("AltfireC3.e")
URAH E 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC3.e:
URAH F 0 A_JumpIfInventory("UranusStampedeAmmo",112,"AltfireC4.e")
URAH F 0 A_GiveInventory("UranusWorkupSnd_P",1)
URAH F 2 A_GiveInventory("UranusDashFlag_P",1)
URAH F 0 A_Refire("AltfireC3.f")
URAH F 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC3.f:
URAH E 0 A_JumpIfInventory("UranusStampedeAmmo",112,"AltfireC4.f")
URAH E 2
URAH E 0 A_Refire("AltfireC3.g")
URAH E 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC3.g:
URAH D 0 A_JumpIfInventory("UranusStampedeAmmo",112,"AltfireC4.g")
URAH D 2 A_GiveInventory("UranusDashFlag_P",1)
URAH D 0 A_Refire("AltfireC3.h")
URAH D 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End
AltfireC3.h:
URAH C 0 A_JumpIfInventory("UranusStampedeAmmo",112,"AltfireC4.h")
URAH C 2
URAH C 0 A_Refire("AltfireC3.a")
URAH C 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
goto AltfireC_End

AltfireC4.a:
URAH B 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
URAH B 0 A_GiveInventory("UranusWorkupSnd_P",1)
URAH B 2 A_GiveInventory("UranusDashFlag_P",1)
URAH B 0 A_Refire("AltfireC4.b")
goto AltfireC_End
AltfireC4.b:
URAH C 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
URAH C 2
URAH C 0 A_Refire("AltfireC4.c")
goto AltfireC_End
AltfireC4.c:
URAH D 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
URAH D 2 A_GiveInventory("UranusDashFlag_P",1)
URAH D 0 A_Refire("AltfireC4.d")
goto AltfireC_End
AltfireC4.d:
URAH E 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
URAH E 2
URAH E 0 A_Refire("AltfireC4.e")
goto AltfireC_End
AltfireC4.e:
URAH F 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
URAH F 0 A_GiveInventory("UranusWorkupSnd_P",1)
URAH F 2 A_GiveInventory("UranusDashFlag_P",1)
URAH F 0 A_Refire("AltfireC4.f")
goto AltfireC_End
AltfireC4.f:
URAH E 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
URAH E 2
URAH E 0 A_Refire("AltfireC4.g")
goto AltfireC_End
AltfireC4.g:
URAH D 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
URAH D 2 A_GiveInventory("UranusDashFlag_P",1)
URAH D 0 A_Refire("AltfireC4.h")
goto AltfireC_End
AltfireC4.h:
URAH C 0 A_JumpIfInventory("UranusAnger",28,"BullStart")
URAH C 2
URAH C 0 A_Refire("AltfireC4.a")
goto AltfireC_End

AltfireC_End:
URAH D 0 A_GunFlash("Flash.Start",1)
URAH D 0 A_GiveInventory("VivifyDelay6",1)
URAH D 2 A_GiveInventory("UranusMaximumMoo_P",1)
URAH D 0 A_TakeInventory("CBM_Ratio8JumpPower")
URAH D 0 A_TakeInventory("UranusAnger")
URAH D 0 A_TakeInventory("VivifyCycle2")
URAH D 2
URAH A 2
goto Ready2

BullStart:
TNT1 A 0 A_SetArg(1,angle*65536)
TNT1 A 0 A_GunFlash("Flash.BullRamming",1)
TNT1 A 0 A_GiveInventory("VivifyFlag2",1)
TNT1 A 0 A_TakeInventory("VivifyCycle2")
TNT1 A 0 A_TakeInventory("WeaponCharge")
TNT1 A 0 ACS_NamedExecuteWithResult("core_unsolidplayer",0,USP_TOGGLEON)
TNT1 A 0 A_TakeInventory("CBM_Ratio8JumpPower")
URAH R 1
URAH R 0 A_JumpIfInventory("DeeperDiggerAmmo",28,"BullChargeSlam")
goto BullCharge

BullCharge:
URAH R 1 OffSet(0,34)A_GiveInventory("UranusThrust_P")
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,1)
goto BullEnd
URAH R 0 A_JumpIfInventory("PlayerPropertyRage",1,4)
URAH R 1 OffSet(0,34)A_GiveInventory("UranusThrust_P")
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,1)
goto BullEnd
URAH R 1 OffSet(0,36)A_GiveInventory("UranusThrust_P")
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,1)
goto BullEnd
URAH R 0 A_JumpIfInventory("PlayerPropertyRage",1,"BullCharge")
URAH R 1 OffSet(0,36)A_GiveInventory("UranusThrust_P")
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,"BullCharge_Check")//BullCharge
goto BullEnd
BullCharge_Check://Can it fix desync?
URAH R 0 A_JumpIfInventory("VivifyFlag2",1,"BullCharge")
goto BullEnd

BullChargeSlam:
URAH R 0 A_GiveInventory("UranusThrust_P")
URAH R 1 OffSet(0,34)A_WeaponReady(9)
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,1)
goto BullEnd
URAH R 0 A_JumpIfInventory("PlayerPropertyRage",1,5)
URAH R 0 A_GiveInventory("UranusThrust_P")
URAH R 1 OffSet(0,34)A_WeaponReady(9)
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,1)
goto BullEnd
URAH R 0 A_GiveInventory("UranusThrust_P")
URAH R 1 OffSet(0,36)A_WeaponReady(9)
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,1)
goto BullEnd
URAH R 0 A_JumpIfInventory("PlayerPropertyRage",1,"BullChargeSlam")
URAH R 0 A_GiveInventory("UranusThrust_P")
URAH R 1 OffSet(0,36)A_WeaponReady(9)
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,"BullChargeSlam_Check")//BullChargeSlam
goto BullEnd
BullChargeSlam_Check://Can it fix desync?
URAH R 0 A_JumpIfInventory("VivifyFlag2",1,"BullChargeSlam")
goto BullEnd

BullEnd:
URAH S 0 A_GunFlash("Flash.Start",1)
TNT1 A 0 A_SetArg(2,0)
TNT1 A 0 A_GiveInventory("UranusWorkupSlow",1)
TNT1 A 0 A_GiveInventory("VivifyDelay6",1)
TNT1 A 0 A_TakeInventory("VivifyFlag2")
TNT1 A 0 A_TakeInventory("UranusCarrying")
TNT1 A 0 A_TakeInventory("DynamicArmorDosage")
TNT1 A 0 A_TakeInventory("BasicArmor")
TNT1 A 0 A_ScaleVelocity(0.5)
TNT1 A 0 A_RearrangePointers(0,0,1)
URAH S 0 A_JumpIfInventory("DeeperDiggerAmmo",28,"BullAngryEnd")
URAH S 0 A_WeaponReady(14)
URAH S 3
URAH TU 3 A_TakeInventory("WeaponCharge")
TNT1 A 0 A_TakeInventory("UranusAnger")
TNT1 A 0 A_TakeInventory("UranusCarrying")
TNT1 A 0 ACS_NamedExecuteWithResult("core_unsolidplayer",0,USP_TOGGLEOFF_DAMAGE,CallACS("core_getmaxhealth")/10)
TNT1 A 15 A_WeaponReady(8)
URAH A 4 OffSet(0,45)
Goto Ready2
BullAngryEnd:
URAH S 3 A_WeaponReady(8)
URAH T 0 A_TakeInventory("WeaponCharge")
URAH T 3 A_WeaponReady(8)
URAH U 0 A_TakeInventory("WeaponCharge")
URAH U 3 A_WeaponReady(8)
TNT1 A 10 A_WeaponReady(8)
TNT1 A 0 ACS_NamedExecuteWithResult("core_unsolidplayer",0,USP_TOGGLEOFF_DAMAGE,CallACS("core_getmaxhealth")/10)
TNT1 A 0 A_TakeInventory("UranusAnger")
TNT1 A 0 A_TakeInventory("UranusCarrying")
TNT1 A 5 A_WeaponReady(8)
URAH A 4 OffSet(0,45)
Goto Ready2

GroundSlam:
URAH R 0 A_GunFlash("NoFlash",1)
TNT1 A 0 A_GiveInventory("UranusWorkupSlow",1)
TNT1 A 0 A_GiveInventory("VivifyDelay5",1)
TNT1 A 0 A_TakeInventory("UranusCarrying")
TNT1 A 0 A_TakeInventory("UranusAnger")
TNT1 A 0 A_TakeInventory("VivifyFlag2")
URAH R 0 A_ReFire(1)
URAH R 0 A_SetArg(2,0)
URAH R 0 A_RearrangePointers(0,0,1)
URAH R 0 //A_Stop
URAH R 1 OffSet(0,42)A_TakeInventory("UranusCarrying")
URAH R 1 OffSet(0,12)A_JumpIfInventory("PlayerPropertyRage",1,1)
URAH R 1 OffSet(0,-42)A_TakeInventory("UranusCarrying")
URAH R 1 OffSet(0,-82)A_JumpIfInventory("PlayerPropertyRage",1,1)
URAH S 1 OffSet(0,-102)A_TakeInventory("UranusCarrying")
URAH S 1 OffSet(0,-112)A_JumpIfInventory("PlayerPropertyRage",1,1)
URAH S 1 OffSet(0,-122)
URAH S 0 A_TakeInventory("DynamicArmorDosage")
URAH S 0 A_TakeInventory("BasicArmor")
URAH S 0 A_ChangeVelocity(0,0,-200)
URAH S 1 OffSet(0,-82)A_JumpIfInventory("PlayerPropertyRage",1,1)
URAH S 1 OffSet(0,-22)
URAH S 1 OffSet(0,22)A_JumpIfInventory("PlayerPropertyRage",1,1)
URAH S 1 OffSet(0,78)A_GiveInventory("Uranus_Fire2_P",1)
URAH S 1 OffSet(0,108)A_JumpIfInventory("PlayerPropertyRage",1,1)
URAH S 1 OffSet(0,208)
TNT1 A 0 A_GunFlash("Flash.Start",1)
TNT1 A 0 ACS_NamedExecuteWithResult("core_unsolidplayer",0,USP_TOGGLEOFF_DAMAGE,CallACS("core_getmaxhealth")/10)
TNT1 A 0 A_TakeInventory("CBM_Ratio8JumpPower")
TNT1 A 5 A_WeaponReady(14)
TNT1 AAA 2 A_TakeInventory("WeaponCharge",999)
URAH A 4 OffSet(0,45)
Goto Ready2

Flash.Start:
TNT1 AAAAAAA 2 A_RailWait
TNT1 A 0 A_TakeInventory("UranusWorkupSlow")
Flash:
TNT1 A 1 A_SpawnItemEx("UranusRageFX_Helper")
TNT1 AAAAAAA 2 A_RailWait
loop

Flash.AltCharge:
TNT1 A 0 A_GiveInventory("UranusAnger",1)
TNT1 A 2 A_GiveInventory("UranusStampedeAmmo",1)
TNT1 A 0 A_GiveInventory("UranusAnger",1)
TNT1 A 2 A_GiveInventory("UranusStampedeAmmo",1)
TNT1 A 0 A_GiveInventory("UranusAnger",1)
TNT1 A 2 A_GiveInventory("UranusStampedeAmmo",1)
TNT1 A 0 A_GiveInventory("DeeperDiggerAmmo",1)
TNT1 A 0 A_GiveInventory("UranusAnger",1)
TNT1 A 2 A_GiveInventory("UranusStampedeAmmo",1)
loop

Flash.BullRamming:
TNT1 A 1 A_GiveInventory("UranusFlashBullRamming_P")
TNT1 A 1 A_GiveInventory("UranusFlashBullRamming_P2")
loop
}
}

actor DeeperDiggerAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 112
+INVENTORY.IGNORESKILL
}

actor UranusStampedeAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 112
+INVENTORY.IGNORESKILL
}

actor UranusWorkupSlow : PowerSpeed
{
powerup.duration 35
Speed 0.6958
+POWERSPEED.NOTRAIL
+INVENTORY.ALWAYSPICKUP
}


actor UranusAnger : Inventory
{
Inventory.amount 1
Inventory.maxamount 28
}

actor UranusCarrying : OnceC {}

actor UranusChargeSnd : Powerup
{
powerup.duration 8
}

actor UranusMooSndDelay : Powerup
{
powerup.duration 35
}


actor Uranus_Fire1_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_PlaySound("weapon/GutThrow",1,0.7)
TNT1 A 0 A_GiveInventory("VivifyDelay7",1)
TNT1 A 0 A_TakeInventory("DeeperDiggerAmmo",14,1)
TNT1 A 0 A_FireCustomMissile("UranusDeepDigger",0,0,8,0)
stop
}
}

actor Uranus_Fire2_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_TakeInventory("DeeperDiggerAmmo",28,1)
TNT1 A 0 A_FireCustomMissile("UranusGroundSlam",0,0)
stop
}
}


actor Uranus_Alt_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_PlaySoundEx("weapon/uranusexplode","Weapon")
TNT1 A 0 A_TakeInventory("DeeperDiggerAmmo",7,1)
TNT1 A 0 A_FireCustomMissile("UranusDeepDiggerCrushed",0,0,8,0)//106
stop
}
}

actor UranusMaximumMoo_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("UranusMooSndDelay",1,"No")
TNT1 A 0 A_JumpIfInventory("UranusStampedeAmmo",112,"PickupMoo")
stop
PickupMoo:
TNT1 A 0 A_SpawnItemEx("UranusMaximumMooFX",0,0,100,0,0,0,0,1)
TNT1 A 0 A_GiveInventory("UranusMooSndDelay",1)
TNT1 A 0 A_JumpIf(CallACS("cbm_GetPlayerGender")==2,"P_Other")
TNT1 A 0 A_JumpIf(CallACS("cbm_GetPlayerGender")==1,"P_Female")
TNT1 A 0 A_JumpIf(CallACS("cbm_GetPlayerGender")==0,"P_Male")
stop
P_Male:
TNT1 A 0 A_PlaySound("classes/uranusmirrorm",7,1.0)
stop
P_Female:
TNT1 A 0 A_PlaySound("classes/uranusmirrorf",7,1.0)
stop
P_Other:
TNT1 A 0 A_PlaySound("classes/uranusmirroro",7,1.0)
stop
No:
TNT1 A 0
stop
}
}

actor UranusThrust_P : CustomInventory
{
states
{
Pickup://20
TNT1 A 0 A_GiveInventory("UranusChargeSnd_P",1)
TNT1 A 0 A_JumpIfInventory("PlayerPropertyRage",1,"Pickup_R")
TNT1 A 0 A_SetArg(1,CallACS("cbm_GradualAngleTurn",Args[1],angle*65536,3*65536,360*65536))
TNT1 A 0 A_JumpIf(CallACS("cbm_IsDashingDisabled"),"No")
TNT1 A 0 A_ChangeVelocity(32*cos(Args[1]/65536.0),32*sin(Args[1]/65536.0),momz,CVF_REPLACE)
stop
Pickup_R:
TNT1 A 0 A_SetArg(1,CallACS("cbm_GradualAngleTurn",Args[1],angle*65536,6*65536,360*65536))
TNT1 A 0 A_JumpIf(CallACS("cbm_IsDashingDisabled"),"No")
TNT1 A 0 A_ChangeVelocity(40*cos(Args[1]/65536.0),40*sin(Args[1]/65536.0),momz,CVF_REPLACE)
stop
No:
TNT1 A 0
stop
}
}

actor UranusDashFlag_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("VivifyCycle2",4,"Take")
goto Give
Give:
TNT1 A 0 A_GiveInventory("VivifyCycle2",1)
stop
Take:
TNT1 A 0 A_TakeInventory("VivifyCycle2",3)
stop
}
}

actor UranusChargeSnd_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("UranusChargeSnd",1,2)
TNT1 A 0 A_GiveInventory("UranusChargeSnd2_P")
TNT1 A 0
stop
}
}//Sync FX online
actor UranusChargeSnd2_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("UranusChargeSnd",1)
TNT1 A 0 A_SpawnItemEx("UranusDustFX2",-5,0,0,-8)
TNT1 A 0 A_PlaySound("weapon/uranusrun",4,1.0)
stop
}
}
actor UranusWorkupSnd_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("UranusWorkupSlow",1)
TNT1 A 0 A_PlaySound("weapon/uranusworkup",4,1.0)
TNT1 A 0 A_SpawnItemEx("UranusDustFX",-5,0,0,-3)
stop
}
}

actor UranusRageFX_Helper : BasicGraphicEffect
{
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("UranusStampedeAmmo",112,2)
TNT1 A 1
stop
TNT1 A 0 A_SpawnItemEx("UranusRageFX",10,-20,60,0,0,3)
TNT1 A 0 A_SpawnItemEx("UranusRageFX",10,20,60,0,0,3)
TNT1 A 0 A_SpawnItemEx("UranusRageFX",10,0,64,0,0,3)
TNT1 A 1
stop
}
}

actor UranusDustFX : BasicGraphicEffectM
{
+THRUACTORS
Radius 4
Height 4
Scale 2.0
States
{
SpawnFrame:
Q_VG PQR 6
stop
}
}
actor UranusDustFX2 : UranusDustFX
{
States
{
SpawnFrame:
//TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBitFX2",0,random(-48,48),8,random(-2,-5),random(-8,8),random(2,8),0,1,256*(z-floorz>=4))
TNT1 A 0 A_CheckFloor("Rocks")
Dust:
Q_VG PQR 6
stop
Rocks:
TNT1 AA 0 A_SpawnItemEx("UranusDeepDiggerBitFX2",0,random(-48,48),8,random(-2,-5),random(-8,8),random(2,8),0,1)
goto Dust
}
}

actor UranusRageFX : UranusDustFX
{
Radius 2
Height 2
States
{
SpawnFrame:
SMFX XYZ 3
stop
}
}

actor UranusMaximumMooFX : BasicExplosion
{
Scale 2.5
States
{
Spawn:
URAH Z 7
stop
}
}

actor UranusDiggerPick : BasicExplosion
{
+NOTIMEFREEZE
scale 2.5
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("UranusStampedeAmmo",56,"SpawnW3")
TNT1 A 0 A_JumpIfInTargetInventory("UranusStampedeAmmo",28,"SpawnW2")
goto SpawnW1
SpawnW1:
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,52,10,-12,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,52,10,-12,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,42,15,8,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,42,15,8,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,32,20,26,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,32,20,26,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,22,26,44,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,22,26,44,0,24)
goto SpawnWEnd
SpawnW2:
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WWW 1 A_Warp(2,52,10,-12,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WWW 1 A_Warp(2,42,15,8,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WWW 1 A_Warp(2,32,20,26,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WWW 1 A_Warp(2,22,26,44,0,24)
goto SpawnWEnd
SpawnW3:
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,52,10,-12,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,42,15,8,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,32,20,26,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,22,26,44,0,24)
goto SpawnWEnd
SpawnWEnd:
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,12,28,68,0,24)
URAH W 1 A_Warp(2,2,30,92,0,24)
stop
}
}

actor UranusDiggerPickAlt : UranusDiggerPick
{
States
{
Spawn:
TNT1 A 0
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,13,26,72,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,26,21,52,0,24)
URAH W 0 A_JumpIfInTargetInventory("PlayerPropertyRage",1,2)
URAH WW 1 A_Warp(2,42,15,32,0,24)
stop
}
}

actor UranusTempDigger : BasicGraphicEffect
{
+NOTIMEFREEZE
scale 2.5
States
{
SpawnFrame:
URAH W 0 ACS_NamedExecuteAlways("cbm_clientwarper",0,-4)
SpawnL:
URAH W 0
URAH W 1 A_Warp(AAPTR_TARGET,2,30,92,0,WARPF_NOCHECKPOSITION+WARPF_INTERPOLATE)
loop
}
}

actor UranusGroundSlam : BasicExplosion
{
damagetype "Uranus_Flat"
Obituary "$OB_URANUSSLAM"
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("UranusGroundSlamLift")
TNT1 A 0 A_Explode(140,256,0,0,48)
TNT1 A 0 A_PlaySoundEx("misc/hugequake","Voice")
TNT1 A 0 A_Quake(9,10,0,300,"none")
TNT1 AAAAAAA 0 A_SpawnItemEx("UranusDeepDiggerSlamFX",random(0,32),0,0,random(0,2),0,random(15,20),random(0,359),1)
TNT1 A 3
TNT1 AAAAAAA 0 A_SpawnItemEx("UranusDeepDiggerSlamFX",random(32,64),0,0,random(0,4),0,random(10,15),random(0,359),1)
TNT1 A 3
TNT1 AAAAAAA 0 A_SpawnItemEx("UranusDeepDiggerSlamFX",random(64,96),0,0,random(0,8),0,random(3,10),random(0,359),1)
TNT1 A 10
stop
}
}

actor DeathUranus_LiftHit : Basic_DeathFling_H{Args 40,100,0}

actor UranusGroundSlamLift : UranusGroundSlam
{
damagetype "Uranus_Lift"
Obituary "$OB_URANUSSLAM"
states
{
Spawn:
TNT1 A 0
TNT1 A 4 A_Explode(20,128,0,0,128)
stop
}
}

actor UranusDeepDiggerSlamFX : BasicGraphicEffectM
{
-NOGRAVITY
+THRUACTORS
+DOOMBOUNCE
wallbouncefactor 0.1
bouncefactor 0.5
bouncecount 2
radius 6
height 6
states
{
SpawnFrame:
TNT1 A 0
TNT1 A 0 ThrustThingZ(0,4,0,1)
TNT1 A 0 A_SetArg(0,random(0,2.0))
TNT1 A 0 A_SetScale(scalex - args[0],scaley - args[0])
URAH Y 90
stop
}
}

actor UranusDeepDigger : ProjSpawnFuncActor
{
PROJECTILE
damagetype "Uranus_ShotDown"
Obituary "$OB_URANUSDIGGER"
+SKYEXPLODE
+EXPLODEONWATER
damage (200)
radius 22
height 22
speed 45
scale 2.5
states
{
Spawn:
URAH W 1
URAH W 1 A_SpawnItemEx("UranusDeepDiggerFX",0,0,0,0,0,0,0,1)
wait
Crash:
XDeath:
TNT1 A 0
TNT1 AA 0 A_SpawnItemEx("UranusDeepDiggerBitFX",0,0,8,random(5,9),0,7,random(0,359),1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBitFX",0,0,8,random(7,12),0,7,random(0,90),1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBitFX",0,0,8,random(7,12),0,7,random(90,180),1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBitFX",0,0,8,random(7,12),0,7,random(180,270),1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBitFX",0,0,8,random(7,12),0,7,random(270,360),1)
TNT1 AA 0 A_SpawnItemEx("UranusDeepDiggerBitFX",0,0,8,random(12,15),0,7,random(0,359),1)
Goto D_End
Death:
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8-(ceilingz-z<=22)*-16,25,0,1-(ceilingz-z<=22)*-2,45*0)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8-(ceilingz-z<=22)*-16,25,0,1-(ceilingz-z<=22)*-2,45*1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8-(ceilingz-z<=22)*-16,25,0,1-(ceilingz-z<=22)*-2,45*2)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8-(ceilingz-z<=22)*-16,25,0,1-(ceilingz-z<=22)*-2,45*3)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8-(ceilingz-z<=22)*-16,25,0,1-(ceilingz-z<=22)*-2,45*4)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8-(ceilingz-z<=22)*-16,25,0,1-(ceilingz-z<=22)*-2,45*5)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8-(ceilingz-z<=22)*-16,25,0,1-(ceilingz-z<=22)*-2,45*6)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8-(ceilingz-z<=22)*-16,25,0,1-(ceilingz-z<=22)*-2,45*7)
Goto D_End
D_End:
TNT1 A 0 A_PlaySoundEx("weapon/uranusexplode","Weapon")
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerMFX",0,0,14,0,0,0,0,1)
TNT1 A 2
stop
}
}

actor UranusDeepDiggerMFX : BasicGraphicEffect
{
+FORCEXYBILLBOARD
states
{
SpawnFrame:
Q_VG WXYZ 2
stop
}
}

actor UranusDeepDiggerFX : BasicGraphicEffect
{
states
{
SpawnFrame:
URAH W 1 A_FadeOut(0.18)
loop
}
}

actor UranusDeepDiggerCrushed : BasicExplosion
{
damagetype "Uranus_ShotDown"
Obituary "$OB_URANUSDIGGER"
RenderStyle None
Speed 1
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,15,4,sqrt(momx*momx+momy*momy)*30.0,0,momz*30.0,-12)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,5,4,sqrt(momx*momx+momy*momy)*30.0,0,momz*30.0,-4)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,-5,4,sqrt(momx*momx+momy*momy)*30.0,0,momz*30.0,4)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,-15,4,sqrt(momx*momx+momy*momy)*30.0,0,momz*30.0,12)

TNT1 AA 0 A_SpawnItemEx("UranusDeepDiggerBitFX",12,0,3,random(5,9),random(-1,1),random(3,5),frandom(6,9)*18,1)
TNT1 AA 0 A_SpawnItemEx("UranusDeepDiggerBitFX",12,0,3,random(5,9),random(-1,1),random(3,5),frandom(11,14)*18,1)
TNT1 A 2
stop
}
}


actor UranusDeepDiggerBit : ProjSpawnFuncActor
{
PROJECTILE
damagetype "Uranus_ShotBit"
Obituary "$OB_URANUSDIGGER"
-NOGRAVITY
gravity 0.3
damage (80)
radius 16
height 16
speed 35
scale 2.5
states
{
Spawn:
URAH Y 0
URAH Y 0 A_ChangeVelocity(0,0,0.25)
URAH Y -1
stop
}
}

actor UranusDeepDiggerBitFX : BasicGraphicEffectM
{
-NOGRAVITY
+THRUACTORS
radius 8
height 8
speed 35
states
{
SpawnFrame:
URAH Y 1
TNT1 A 1 
URAH Y 1
TNT1 A 1
URAH Y 1
TNT1 A 1
URAH Y 1
TNT1 A 1
URAH Y 1
TNT1 A 1
loop
}
}

actor UranusDeepDiggerBitFX2 : UranusDeepDiggerBitFX
{
states
{
Spawn:
URAH Y 5
loop
}
}

actor UranusWallChecker
{
PROJECTILE
+DONTBLAST
+DONTREFLECT
+THRUSPECIES
Species "Megaman"
damage (0)
radius 6
Height 6
Speed 20
states
{
Spawn:
TNT1 A 1
stop
Crash:
TNT1 A 1
stop
XDeath:
Death:
//TNT1 A 0 A_LogInt(z-floorz)
TNT1 A 0 //A_JumpIf(z-floorz<18,"XDeath")
TNT1 A 0 A_GiveToTarget("UranusWallSlam_P")
TNT1 A 1
stop
}
}
actor UranusWallCheckerG : UranusWallChecker
{
radius 8//28
Height 12//32
Speed 60
}

actor UranusFlashBullRamming_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("UranusStampedeAmmo",1)
TNT1 A 0 //A_GiveInventory("UranusThrust_P",1)
TNT1 A 0 A_SetArg(2,args[2]+1)
TNT1 A 0 A_SpawnItemEx("UranusChargeRadius",0,0,32,momx,momy,momz,0,8)
TNT1 A 0 A_JumpIfInventory("UranusCarrying",1,"WallCheckOnly")
TNT1 A 0 A_SpawnItemEx("UranusWallChecker",2,0,31,20,0,0,Args[1]/65536.0,4)
TNT1 A 0 A_SpawnItemEx("UranusPlayerGrabber",64,0,8,1,0,0,Args[1]/65536.0,4)
stop
WallCheckOnly:
TNT1 A 0 A_SpawnItemEx("UranusWallCheckerG",2,0,31,80,0,0,Args[1]/65536.0,4)//50
stop
}
}
actor UranusFlashBullRamming_P2 : UranusFlashBullRamming_P
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("UranusStampedeAmmo",1,1)
goto UranusFlashBullRamming_P::Pickup+1
}
}

actor UranusPlayerGrabber
{
+MISSILE
+NOBLOCKMAP
+NOGRAVITY
+NOEXPLODEFLOOR
+DONTBLAST
+DONTREFLECT
+THRUGHOST
+HITTRACER
radius 32
height 48
renderstyle none
states
{
Spawn:
PLAY A 0
PLAY A 1
stop
Crash:
XDeath:
TNT1 A 0 A_JumpIfInTargetInventory("NoSourcePushFlag",1,"DeathF")
BASS A 0 A_JumpIfInTargetInventory("UranusCarrying",1,"DeathI")
BASS A 0 A_JumpIfInventory("IsPerformingSuplex",1,"DeathJ",8)
BASS A 0 A_JumpIfInventory("NoPushFlag",1,"DeathP",8)
BASS A 0 A_JumpIf(ACS_NamedexecuteWithResult("cbm_istracerenemy")==1,"Carry")
Goto Death
Carry:
TNT1 A 0 A_JumpIfInTargetInventory("NoSourcePushFlag",1,"DeathF")
PLAY A 0 A_JumpIfInTargetInventory("UranusCarrying",1,"DeathI")
PLAY A 0 A_JumpIfInventory("IsPerformingSuplex",1,"DeathJ",8)
BASS A 0 A_JumpIfInventory("NoPushFlag",1,"DeathP",8)
PLAY A 0 A_GiveToTarget("Uranus_BasicArmor_P",1)
PLAY A 0 A_GiveToTarget("SetDynamicArmorDosage",1)
PLAY A 0 A_GiveToTarget("UranusCarrying",1)
PLAY A 0 A_GiveToTarget("IsPerformingSuplex",1)
PLAY A 0 A_TransferPointer(0,2,8,8)
PLAY A 0 A_GiveToTarget("UranusStampedeAmmo",18)
CarryWatch:
PLAY A 0 A_GiveInventory("UranusCarryProtection",1,8)
PLAY A 0 //A_GiveInventory("",1,8)
PLAY A 0 A_JumpIfInTargetInventory("IsDead",1,"DeathD")
PLAY A 1 A_GiveToTarget("UranusGrabInventory",1)
BASS A 1 A_JumpIfInTargetInventory("UranusCarrying",1,"CarryWatch")
StopCarry:
//BASS H 0 Thing_Stop(ACS_NamedExecuteWithResult("core_gettracer",0))
BASS H 0 A_TakeFromTarget("IsPerformingSuplex",1)
BASS H 1 A_TakeFromTarget("UranusCarrying",1)
stop
Death:
End:
PLAY A 0
stop


DeathF:
TNT1 A 1 //A_LOG("FAILED, OWNER IS TOO FISHY")
stop
DeathD:
TNT1 A 1 //A_LOG("OWNER IS DEAD!")
stop
DeathI:
TNT1 A 1 //A_LOG("FAILED, OWNER HAS ID")
stop
DeathJ:
TNT1 A 1 //A_LOG("FAILED, CAN'T GRAB SOMEONE GRABBING!")
stop
DeathP:
TNT1 A 1 //A_LOG("FAILED, NOPUSHFLAG!")
stop
}
}

actor UranusCarryProtection : PowerProtection
{
damagefactor "Uranus_Stampede",0.0
powerup.duration 5
}

actor UranusGrabInventory : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_NamedExecuteAlways("cbm_uranusgrab",0)
stop
}
}

actor UranusWallSlam_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,"End")
goto Pickup2
Pickup2:
TNT1 A 0 A_SpawnItemEx("UranusWallSlam_H",0,0,0,0,0,0,Args[1]/65536.0,SXF_ABSOLUTEANGLE)
TNT1 A 0 A_Quake(5,15,0,200,"none")
TNT1 A 0 A_GiveInventory("WeaponCharge",1)
TNT1 A 0 A_TakeInventory("UranusStampedeAmmo",14)
TNT1 A 0 A_TakeInventory("UranusStampedeAmmo",14,1)
TNT1 A 0 A_PlaySound("weapon/uranuswall",4,1.0)
TNT1 A 0 A_ChangeVelocity(-16*cos(Args[1]/65536.0),-16*sin(Args[1]/65536.0),momz,CVF_REPLACE)
TNT1 A 0 A_JumpIfInventory("UranusCarrying",1,"PlayerSlam")
stop
PlayerSlam:
TNT1 A 0 A_SpawnItemEx("UranusPlayerRadius",0,0,48,0,0,0,0,32+32768)//SXF_TRANSFERSPECIAL
stop
End:
TNT1 A 0
stop
}
}
actor UranusWallSlam_H : BasicExplosion
{
states
{
Spawn:
TNT1 A 0
TNT1 AAAAA 1 A_SpawnItemEx("UranusDeepDiggerSlamFX",0,random(-64,64),random(0,64),random(-5,-20),0,0,0,1)
TNT1 A 1
stop
}
}


actor Uranus_StampedeProtect : PowerProtection
{
damagefactor "Uranus_Stampede",0.0
powerup.duration 4
}

actor UranusChargeRadius : BasicImplosion
{
damagetype "Uranus_Stampede"
Obituary "$OB_URANUSTRAMPLE"
states
{
Spawn:
TNT1 A 0
TNT1 A 3 A_Explode(120+CallACS("core_checkrune",RUNE_SPREAD,2)*240,64,0,0,64)
stop
}
}

actor UranusPlayerRadius : UranusChargeRadius
{
damagetype "Uranus_Gored"
Obituary "$OB_URANUSGORE"
scale 2.5
states
{
Spawn:
TNT1 A 0
TNT1 A 0 //A_LogInt(Angle)
TNT1 A 0 A_TransferPointer(2,0,8,8) 
TNT1 A 0 A_Warp(8,0,0,28,0,12)
TNT1 A 0 A_Explode((200+(4*Args[2]))*(CallACS("core_checkrune",RUNE_SPREAD,2)*2+1),128,0,0,128)
TNT1 A 0 A_PlaySoundEx("G_Axe2/S_09","Weapon")
TNT1 A 0 A_GiveInventory("UranusPlayerStop",1,8)
PLGH LM 1 bright
stop
}
}

actor UranusPlayerStop : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_Stop
stop
}
}



actor Uranus_W_NormalBar : NormalBar {Args 4,227}
actor Uranus_W_ScriptBar : ScriptBar {}