actor DeepDiggerBoss : BaseMM8BDMWep_CBM
{
tag "$TAGC_VG"
dropitem "DeepDiggerWepCDropped"
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Obituary "$OB_URANUSGORE"
weapon.ammotype "DeeperDiggerAmmo"
weapon.ammotype2 "UranusStampedeAmmo"
Inventory.Pickupmessage "What did the- what did the um hmm ah I got it. What did the car say to the cow? Beef beef! Beef beef! G-get it? Cause y-y'know cow beef and then the car's horn. Beep beef beef!"
States
{
Spawn:
C_0V G 1
loop
Ready:
URAH A 0 SetPlayerProperty(0, 1, 4)
URAH A 0 ACS_ExecuteAlways(998,0,DYE_URANUS)
URAH A 0 A_GunFlash
URAH A 0 //A_GiveInventory("SpawningMisfire",1)
URAH A 2
URAH A 0 SetPlayerProperty(0, 0, 4)
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

Deselect:
URAH AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
URAH A 1 A_Lower
Loop
Select:
URAH AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
URAH A 1 A_Raise
Loop

SpawnProtect:
URAH A 1
Goto Ready0

Fire:
URAH A 0 A_JumpIfInventory("SpawningMisfire",1,"GroundSlam")
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 0 A_JumpIfInventory("PowerRage_ST",1,2)
URAH KK 1 A_SpawnItemEx("UranusTempDigger",2,30,106,momx,momy,momz,0,9,0)
Goto ReadyBlock
ReadyBlock:
URAH K 0 A_JumpIfInventory("PowerRage_ST",1,3)
URAH K 0 A_SpawnItemEx("UranusTempDigger",2,30,106,momx,momy,momz,0,9,0)
URAH K 1 A_WeaponReady
URAH K 0 A_SpawnItemEx("UranusTempDigger",2,30,106,momx,momy,momz,0,9,0)
URAH K 1 A_WeaponReady
URAH K 0 A_JumpIfInventory("PowerRage_ST",1,3)
URAH K 0 A_SpawnItemEx("UranusTempDigger",2,30,106,momx,momy,momz,0,9,0)
URAH K 1 A_WeaponReady
URAH K 0 A_SpawnItemEx("UranusTempDigger",2,30,106,momx,momy,momz,0,9,0)
URAH K 1 A_WeaponReady
URAH K 0 A_GiveInventory("DeeperDiggerAmmo",1)
loop
Throw:
URAH L 0 A_PlaySound("weapon/GutThrow",1,0.7)
URAH L 0 A_GiveInventory("UranusMain_CI",1)
URAH L 0 A_GiveInventory("VivifyDelay7",1)
URAH L 0 A_TakeInventory("SuperArmTemp",1)
URAH L 0 A_Refire(1)
URAH LM 1
URAH NNNN 2
URAH N 0 A_JumpIfInventory("DeeperDiggerAmmo",1,"ThrowDelayEndC")
URAH N 4
Goto ThrowDelayEnd1
ThrowDelayEndC:
URAH N 2
URAH G 0 A_JumpIfInventory("UranusStampedeAmmo",56,"ThrowDelayEnd3")
URAH G 0 A_JumpIfInventory("UranusStampedeAmmo",28,"ThrowDelayEnd2")
URAH N 2
Goto ThrowDelayEnd1
ThrowDelayEnd1:
URAH N 14
URAH Q 4
Goto Ready2
ThrowDelayEnd2:
URAH N 8
URAH Q 4
Goto Ready2
ThrowDelayEnd3:
URAH Q 4
Goto Ready2
RockCrush:
URAH G 0 A_JumpIfInventory("DeeperDiggerammo",11,1)
goto RockCrapsh
URAH K 0 A_GiveInventory("VivifyDelay7",1)
URAH K 0 A_TakeInventory("SuperArmTemp",1)
URAH K 0 A_Refire(1)
URAH K 0 A_SpawnItemEx("UranusTempDigger",2,30,106,momx,momy,momz,0,9,0)
//URAH K 1 
URAH K 0 A_SpawnItemEx("UranusTempDigger",2,30,106,momx,momy,momz,0,9,0)
//URAH K 1 
URAH K 1 A_GiveInventory("UranusAlt1_CI",1)
URAH K 1 Offset(-18,0)
URAH K 1 Offset(10,0)
URAH K 1 Offset(-6,0)
URAH K 1 Offset(2,0)
URAH K 6
URAH V 4
URAH A 4
Goto Ready2
RockCrapsh:
URAH K 0 A_GiveInventory("VivifyDelay7",1)
URAH K 0 A_TakeInventory("SuperArmTemp",1)
URAH K 0 A_Refire(1)
URAH K 0 A_SpawnItemEx("UranusTempDigger",2,30,106,momx,momy,momz,0,9,0) 
URAH K 0 A_SpawnItemEx("UranusTempDigger",2,30,106,momx,momy,momz,0,9,0)
URAH K 1 A_GiveInventory("UranusAlt1_CI",1)
URAH K 1 Offset(8,0)
URAH K 1 Offset(-8,0)
URAH K 1 Offset(6,0)
URAH K 1 Offset(-6,0)
URAH K 1 Offset(3,0)
URAH K 1 Offset(-3,0)
URAH K 1 Offset(1,0)
URAH K 1 Offset(-1,0)
URAH K 8
URAH V 6
URAH A 6
Goto Ready2

Altfire: //Meme cow big slappa! XD
URAH B 0 A_JumpIfInventory("SuperArmTemp",1,"RockCrush")
goto AltfireC0
AltfireC0:
URAH B 0 A_GunFlash("Flash.AltCharge")
URAH B 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,8,1)
URAH B 0 A_GiveInventory("UranusDashFlag",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
URAH D 0 A_GiveInventory("VivifyDelay6",1)
URAH D 2 A_GiveInventory("UranusMaximumMoo_P",1)
URAH D 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
URAH D 0 A_TakeInventory("UranusAnger",999)
URAH D 0 A_TakeInventory("UranusDashFlag",999)
URAH DA 2
goto Ready2

BullStart:
TNT1 A 0 A_SetUserVar("user_wepangle",angle)
TNT1 A 0 A_GunFlash("Flash.BullRamming")
TNT1 A 0 A_GiveInventory("UranusStampede",1)
TNT1 A 0 A_TakeInventory("UranusDashFlag",999)
TNT1 A 0 A_TakeInventory("WeaponCharge",999)
TNT1 A 0 A_TakeInventory("UnSolid",1)
TNT1 A 0 A_ChangeFlag("SOLID",0)
TNT1 A 0 A_ChangeFlag("THRUSPECIES",1)
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
URAH R 1
URAH R 0 A_JumpIfInventory("DeeperDiggerAmmo",28,"BullChargeA.a")
goto BullCharge.a

BullCharge.a:
URAH R 1 OffSet(0,34)A_GiveInventory("UranusThrust",1)
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
//URAH R 0 A_JumpIfInventory("DeeperDiggerAmmo",28,"BullChargeA.b")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,"BullCharge.b")
goto BullEnd
BullCharge.b:
URAH R 0 A_JumpIfInventory("PowerRage_ST",1,"BullCharge.c")
URAH R 1 OffSet(0,34)A_GiveInventory("UranusThrust",1)
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
//URAH R 0 A_JumpIfInventory("DeeperDiggerAmmo",28,"BullChargeA.c")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,"BullCharge.c")
goto BullEnd
BullCharge.c:
URAH R 1 OffSet(0,36)A_GiveInventory("UranusThrust",1)
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
//URAH R 0 A_JumpIfInventory("DeeperDiggerAmmo",28,"BullChargeA.d")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,"BullCharge.d")
goto BullEnd
BullCharge.d:
URAH R 0 A_JumpIfInventory("PowerRage_ST",1,"BullCharge.a")
URAH R 1 OffSet(0,36)A_GiveInventory("UranusThrust",1)
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
//URAH R 0 A_JumpIfInventory("DeeperDiggerAmmo",28,"BullChargeA.a")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,"BullCharge_Check")//BullCharge.a
goto BullEnd
BullCharge_Check://Can it fix desync?
URAH R 0 A_JumpIfInventory("UranusStampede",1,"BullCharge.a")
goto BullEnd

BullChargeA.a:
URAH R 0 A_GiveInventory("UranusThrust",1)
URAH R 1 OffSet(0,34)A_WeaponReady(9)
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,"BullChargeA.b")
goto BullEnd
BullChargeA.b:
URAH R 0 A_JumpIfInventory("PowerRage_ST",1,"BullChargeA.c")
URAH R 0 A_GiveInventory("UranusThrust",1)
URAH R 1 OffSet(0,34)A_WeaponReady(9)
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,"BullChargeA.c")
goto BullEnd
BullChargeA.c:
URAH R 0 A_GiveInventory("UranusThrust",1)
URAH R 1 OffSet(0,36)A_WeaponReady(9)
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,"BullChargeA.d")
goto BullEnd
BullChargeA.d:
URAH R 0 A_JumpIfInventory("PowerRage_ST",1,"BullChargeA.a")
URAH R 0 A_GiveInventory("UranusThrust",1)
URAH R 1 OffSet(0,36)A_WeaponReady(9)
URAH R 0 A_JumpIfInventory("WeaponCharge",1,"BullEnd")
URAH R 0 A_JumpIfInventory("UranusStampedeAmmo",1,"BullChargeA_Check")//BullChargeA.a
goto BullEnd
BullChargeA_Check://Can it fix desync?
URAH R 0 A_JumpIfInventory("UranusStampede",1,"BullChargeA.a")
goto BullEnd

BullEnd:
URAH S 0 A_GunFlash
TNT1 A 0 A_SetArg(2,0)
TNT1 A 0 A_GiveInventory("VivifyDelay6",1)
TNT1 A 0 A_TakeInventory("UranusStampede",999)
TNT1 A 0 A_TakeInventory("UranusCarrying",999)
TNT1 A 0 A_TakeInventory("BasicArmor",999)
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 Offset(0,45)
URAH TU 3 Offset(0,90) A_TakeInventory("WeaponCharge",999)
TNT1 A 0 A_TakeInventory("UranusAnger",999)
TNT1 A 0 A_SpawnItemEx("ResolidifyPlayer_H")
TNT1 A 0 A_ChangeFlag("THRUSPECIES",0)
TNT1 A 13 A_WeaponReady(8)
TNT1 A 2 Offset(0,90)
URAH A 4 OffSet(0,45)
Goto Ready2
BullAngryEnd:
URAH S 0 A_SpawnItemEx("ResolidifyPlayer_H")
URAH S 0 A_ChangeFlag("THRUSPECIES",0)
URAH SST 1 A_WeaponReady(8)
URAH T 0 A_TakeInventory("WeaponCharge",999)
URAH TTU 1 A_WeaponReady(8)
URAH U 0 A_TakeInventory("WeaponCharge",999)
URAH UU 1 A_WeaponReady(8)
TNT1 A 1 A_WeaponReady(8)
TNT1 A 10 A_WeaponReady(8)
TNT1 A 0 A_TakeInventory("UranusAnger",999)
TNT1 A 5 A_WeaponReady(8)
URAH A 4 //OffSet(0,45)
Goto Ready2

GroundSlam:
URAH R 0 A_GunFlash("NoFlash")
TNT1 A 0 A_GiveInventory("VivifyDelay5",1)
TNT1 A 0 A_TakeInventory("UranusCarrying",999)
TNT1 A 0 A_TakeInventory("UranusAnger",99)
TNT1 A 0 A_TakeInventory("UranusStampede",999)
URAH O 0 A_ReFire(1)
URAH O 0 A_SetArg(2,0)
URAH O 0 A_RearrangePointers(0,0,1)
URAH O 0 //A_Stop
URAH O 1 OffSet(0,102)A_TakeInventory("UranusCarrying",999)
URAH O 1 OffSet(0,82)A_JumpIfInventory("PowerRage_ST",1,1)
URAH O 1 OffSet(0,62)A_TakeInventory("UranusCarrying",999)
URAH O 1 OffSet(0,42)A_JumpIfInventory("PowerRage_ST",1,1)
URAH P 1 A_TakeInventory("UranusCarrying",999)
URAH P 0 A_WeaponReady(14)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,1,1)
TNT1 A 0 A_TakeInventory("BasicArmor",999)
TNT1 A 0 A_ChangeVelocity(0,0,-200)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 A_GiveInventory("UranusMain2_CI",1)
TNT1 A 1 A_JumpIfInventory("PowerRage_ST",1,1)
TNT1 A 1 Offset(0,90)
TNT1 A 0 A_GunFlash
TNT1 A 0 A_SpawnItemEx("ResolidifyPlayer_H")
TNT1 A 0 A_ChangeFlag("THRUSPECIES",0)
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_JumpZ,10,1)
TNT1 A 5 A_WeaponReady(14)
TNT1 AAA 2 A_TakeInventory("WeaponCharge",999)
TNT1 AA 2
Goto Ready2

Flash:
TNT1 AAAAAAA 2 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_GiveInventory("UranusFlashSpeedChange_P",1)
loop

Flash.AltCharge:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_GiveInventory("UranusAnger",1)
TNT1 A 2 A_GiveInventory("UranusStampedeAmmo",1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_GiveInventory("UranusAnger",1)
TNT1 A 2 A_GiveInventory("UranusStampedeAmmo",1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 0 A_GiveInventory("UranusAnger",1)
TNT1 A 2 A_GiveInventory("UranusStampedeAmmo",1)
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
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 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 A 1 A_GiveInventory("UranusFlashBullRamming_P",1)
loop
}
}

actor DeeperDiggerAmmo : Ammo
{
inventory.amount 1
inventory.maxamount 132
}

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

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

actor UranusCarrying : OnceC {}
actor UranusStampede : OnceC {}

actor UranusDashFlag : Inventory
{
Inventory.amount 1
Inventory.maxamount 4
}

actor UranusArmor : BasicArmorPickup
{
Armor.Savepercent 60.001
Armor.Saveamount 100
}
actor UranusChargeSnd : Powerup
{
powerup.duration 8
}

actor UranusMooSndDelay : Powerup //HAHA SNEED DELAY
{
powerup.duration 35
}

actor UranusTempDigger
{
+NOINTERACTION
-SOLID
+NOGRAVITY
+NOTIMEFREEZE
radius 2
height 2
scale 2.5
States
{
Spawn:
URAH X 0
URAH X 1
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(ACS_ExecuteWithResult(C_RETURN_APROP,1)==2,"P_Other")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_RETURN_APROP,1)==1,"P_Female")
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(C_RETURN_APROP,1)==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 UranusFlashSpeedChange_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("UranusStampedeAmmo",112,"Speed3")
TNT1 A 0 A_JumpIfInventory("UranusStampedeAmmo",84,"Speed2")
TNT1 A 0 A_JumpIfInventory("UranusStampedeAmmo",56,"Speed1")
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,100,100)
stop
Speed1:
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,105,100)
stop
Speed2:
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,110,100)
stop
Speed3:
TNT1 A 0 A_SpawnItemEx("UranusRageFX_Helper")
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,115,100)
stop
}
}

actor UranusThrust : CustomInventory
{
states
{
Pickup://20
TNT1 A 0 A_GiveInventory("UranusChargeSnd_P",1)
TNT1 A 0 A_JumpIfInventory("PowerRage_ST",1,"Pickup_R")
TNT1 A 0 A_TakeInventory("UranusStampedeAmmo",1)
TNT1 A 0 A_SetUserVar("user_wepangle",ACS_ExecuteWithResult(812,ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM),angle,3))
TNT1 A 0 A_ChangeVelocity(32*cos(ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM)),32*sin(ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM)),momz,CVF_REPLACE)
stop
Pickup_R:
TNT1 A 0 A_TakeInventory("UranusStampedeAmmo",1)
TNT1 A 0 A_SetUserVar("user_wepangle",ACS_ExecuteWithResult(812,ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM),angle,6))
TNT1 A 0 A_ChangeVelocity(40*cos(ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM)),40*sin(ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM)),momz,CVF_REPLACE)
stop
}
}

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

actor UranusChargeSnd_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("UranusChargeSnd",1,"No")
goto Charge
No:
TNT1 A 0
stop
Charge:
TNT1 A 0 A_GiveInventory("UranusChargeSnd",1)
TNT1 A 0 A_SpawnItemEx("UranusDustFX",-5,0,0,-8,0,0,0,1)
TNT1 A 0 A_PlaySound("weapon/uranusrun",4,1.0)
TNT1 A 0 A_CheckFloor("FX")
stop
FX:
TNT1 AA 0 A_SpawnItemEx("UranusDeepDiggerBitFX2",0,random(-48,48),8,random(-2,-5),random(-8,8),random(2,8),0,1)
stop
}
}

actor UranusFullReset_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_TakeInventory("UranusAnger",999)
TNT1 A 0 A_TakeInventory("UranusDashFlag",999)
TNT1 A 0 A_TakeInventory("UranusStampede",999)
TNT1 A 0 A_TakeInventory("UranusCarrying",999)
TNT1 A 0 A_TakeInventory("BasicArmor",999)
stop
}
}

actor UranusWorkupSnd_P : CustomInventory
{
states
{
Pickup:
TNT1 A 0 ACS_ExecuteAlways(CORE_ACS_191,0,APROP_Speed,80,100)
TNT1 A 0 A_PlaySound("weapon/uranusworkup",4,1.0)
TNT1 A 0 A_SpawnItemEx("UranusDustFX",-5,0,0,-3,0,0,0,1)
stop
}
}

actor UranusRageFX_Helper : BasicHelper
{
States
{
Spawn:
TNT1 A 0
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
{
+MISSILE
+NOGRAVITY
+THRUACTORS
+DONTBLAST
Radius 4
Height 4
Scale 2.0
States
{
Spawn:
HSHH PQR 6
stop
}
}

actor UranusRageFX
{
+MISSILE
+NOGRAVITY
+THRUACTORS
+DONTBLAST
+CLIENTSIDEONLY
damage 0
Radius 2
Height 2
scale 2.5
States
{
Spawn:
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 X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,52,10,2,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,52,10,2,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,42,15,22,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,42,15,22,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,32,20,40,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,32,20,40,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,22,26,58,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,22,26,58,0,24)
goto SpawnWEnd
SpawnW2:
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XXX 1 A_Warp(2,52,10,2,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XXX 1 A_Warp(2,42,15,22,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XXX 1 A_Warp(2,32,20,40,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XXX 1 A_Warp(2,22,26,58,0,24)
goto SpawnWEnd
SpawnW3:
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,52,10,2,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,42,15,22,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,32,20,40,0,24)
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,22,26,58,0,24)
goto SpawnWEnd
SpawnWEnd:
URAH X 0 A_JumpIfInTargetInventory("PowerRage_ST",1,2)
URAH XX 1 A_Warp(2,12,28,82,0,24)
URAH X 1 A_Warp(2,2,30,106,0,24)
stop
}
}

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

actor UranusGroundSlam : BasicExplosion
{
Translation "192:192=216:216","198:198=42:42"
damagetype "Uranus_Flat"
Obituary "$OB_URANUSSLAM"
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("UranusGroundSlamLift")
TNT1 A 0 A_Explode(12,256,0,0,48)
TNT1 A 0 A_PlaySoundEx("misc/hugequake","Voice")
TNT1 A 0 A_Quake(9,10,0,300)
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 UranusGroundSlamB : UranusGroundSlam{Translation "192:192=205:205","198:198=74:74"}
actor UranusGroundSlamR : UranusGroundSlam{Translation "192:192=171:171","198:198=41:41"}
actor UranusGroundSlamO : UranusGroundSlam{Translation "192:192=104:104","198:198=128:128"}
actor UranusGroundSlamP : UranusGroundSlam{Translation "192:192=229:229","198:198=232:232"}

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

actor UranusDeepDiggerSlamFX
{
+MISSILE
-NOGRAVITY
+THRUACTORS
+CLIENTSIDEONLY
+DOOMBOUNCE
wallbouncefactor 0.1
bouncefactor 0.5
bouncecount 2
damage 0
radius 6
height 6
scale 2.5
states
{
Spawn:
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
{
Translation "192:192=216:216","198:198=42:42","202:202=4:4","199:199=215:215"
PROJECTILE
damagetype "Uranus_ShotDown"
Obituary "$OB_URANUSDIGGER"
damage (20)
radius 22
height 22
speed 45
scale 2.5
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
URAH X 1
URAH X 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 End
Death:
TNT1 A 0 A_JumpIf(ceilingz-z<=22,"DeathC")
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8,25,0,0,45*0,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8,25,0,0,45*1,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8,25,0,0,45*2,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8,25,0,0,45*3,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8,25,0,0,45*4,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8,25,0,0,45*5,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8,25,0,0,45*6,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8,25,0,0,45*7,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,8,25,0,0,45*8,1)
Goto End
DeathC:
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,-8,25,0,0,45*0,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,-8,25,0,0,45*1,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,-8,25,0,0,45*2,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,-8,25,0,0,45*3,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,-8,25,0,0,45*4,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,-8,25,0,0,45*5,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,-8,25,0,0,45*6,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,-8,25,0,0,45*7,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,0,-8,25,0,0,45*8,1)
Goto End
End:
TNT1 A 0 A_PlaySoundEx("weapon/uranusexplode","Weapon")
URFX AB 3
TNT1 A 6
stop
}
}

actor UranusDeepDiggerB : UranusDeepDigger{Translation "192:192=205:205","198:198=74:74","202:202=205:205","199:199=74:74"}
actor UranusDeepDiggerR : UranusDeepDigger{Translation "192:192=171:171","198:198=41:41","202:202=171:171","199:199=41:41"}
actor UranusDeepDiggerO : UranusDeepDigger{Translation "192:192=104:104","198:198=128:128","202:202=104:104","199:199=128:128"}
actor UranusDeepDiggerP : UranusDeepDigger{Translation "192:192=229:229","198:198=232:232","202:202=229:229","199:199=232:232"}

actor UranusDeepDiggerFX : BasicClientside
{
scale 2.5
states
{
Spawn:
URAH X 1 A_FadeOut(0.18)
loop
}
}

actor UranusDeepDiggerCrushed : BasicExplosion
{
Translation "192:192=216:216","198:198=42:42","202:202=4:4","199:199=215:215"
damagetype "Uranus_ShotDown"
Obituary "$OB_URANUSDIGGER"
Scale 2.5
Speed 1
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/uranusexplode","Weapon")
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,15,0,sqrt(momx*momx+momy*momy)*30.0,0,momz*30.0,-12,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,5,0,sqrt(momx*momx+momy*momy)*30.0,0,momz*30.0,-4,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,-5,0,sqrt(momx*momx+momy*momy)*30.0,0,momz*30.0,4,1)
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerBit",0,-15,0,sqrt(momx*momx+momy*momy)*30.0,0,momz*30.0,12,1)

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 UranusDeepDiggerCrushedB : UranusDeepDiggerCrushed{Translation "192:192=205:205","198:198=74:74","202:202=205:205","199:199=74:74"}
actor UranusDeepDiggerCrushedR : UranusDeepDiggerCrushed{Translation "192:192=171:171","198:198=41:41","202:202=171:171","199:199=41:41"}
actor UranusDeepDiggerCrushedO : UranusDeepDiggerCrushed{Translation "192:192=104:104","198:198=128:128","202:202=104:104","199:199=215:215"}
actor UranusDeepDiggerCrushedP : UranusDeepDiggerCrushed{Translation "192:192=229:229","198:198=232:232","202:202=229:229","199:199=232:232"}


actor UranusDeepDiggerBit
{
PROJECTILE
damagetype "Uranus_ShotBit"
Obituary "$OB_URANUSDIGGER"
-NOGRAVITY
gravity 0.3
damage (8)
radius 16
height 16
scale 2.5
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_NamedExecuteAlways("BULL_Tidifier", 0)
SpawnLOOP:
URAH Y -1
stop
}
}

actor UranusDeepDiggerBitFX : UranusDeepDiggerBit
{
+THRUACTORS
+DONTBLAST
+DONTSPLASH
+CLIENTSIDEONLY
gravity 1.0
damage 0
radius 8
height 8
states
{
Spawn:
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 ConcreteShoulderChecker
{
States
{Spawn:
TNT1 A 0
TNT1 AA 1 A_JumpIfInTargetInventory("ConcreteBashFlag",1,"Cease")
stop
XDeath:
Death:
TNT1 A 0 A_GiveToTarget("ConcreteBashFlag",1)
Crash:
Cease:
TNT1 A 1
stop
}
}
*/

actor UranusFlashBullRamming_P : CustomInventory
{
States
{
Pickup:
TNT1 A 0 //A_GiveInventory("UranusThrust",1)
TNT1 A 0 A_SetArg(2,args[2]+1)
TNT1 A 0 A_FireCustomMissile("UranusChargeRadius",0,0,0,0)
TNT1 A 0 A_JumpIfInventory("UranusCarrying",1,"WallCheckOnly")
//TNT1 A 0 A_SpawnItemEx("UranusWallChecker",12,-12,31,20,10,0,ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM),4)
//TNT1 A 0 A_SpawnItemEx("UranusWallChecker",12,12,31,20,-10,0,ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM),4)
TNT1 A 0 A_SpawnItemEx("UranusWallChecker",2,0,31,20,0,0,ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM),4)
TNT1 A 0 A_SpawnItemEx("UranusPlayerGrabber",64,0,8,1,0,0,ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM),4)
stop
//TNT1 A 0 A_SpawnItemEx("ConcreteShoulderChecker",2,0,32,20,0,0,ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM)-angle,1)
WallCheckOnly:
TNT1 A 0 A_SpawnItemEx("UranusWallCheckerG",2,0,31,80,0,0,ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM),4)//50
stop
}
}

actor UranusPlayerGrabber
{
PROJECTILE
+DONTBLAST
+DONTREFLECT
+HITTRACER
radius 32
height 48
renderstyle none
states
{
Spawn:
PLAY A 1
stop
Crash:
XDeath:
BASS A 0 A_JumpIfInTargetInventory("UranusCarrying",1,"End")
BASS A 0 A_JumpIf(ACS_NamedexecuteWithResult("cbm_istracerenemy")==1,"Carry")
Goto Death
Carry:
TNT1 A 0 A_PlaySoundEx("weapon/uranusstab","Auto")

PLAY A 0 A_GiveToTarget("UranusArmor",1)
PLAY A 0 A_GiveToTarget("UranusCarrying",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("TempPitProtect_P",1,8)
PLAY A 0 A_JumpIfInTargetInventory("IsDead",1,"End")
PLAY A 1 A_GiveToTarget("UranusGrabInventory",1)//cbm_uranusgrab
BASS A 1 A_JumpIfInTargetInventory("UranusCarrying",1,"CarryWatch")
StopCarry:
//BASS H 0 Thing_Stop(ACS_NamedExecuteWithResult("core_gettracer",0))
BASS H 1 A_TakeFromTarget("UranusCarrying",1)
stop
Death:
End:
PLAY A 0
stop
}
}

actor UranusCarryProtection : PowerProtection
{
damagefactor "UranusCharge",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 AAAAA 0 A_SpawnItemEx("UranusWallSlam_H",0,random(-64,64),random(0,64),50,0,0,ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM),5)
TNT1 A 0 A_Quake(5,15,0,200)
TNT1 A 0 A_GiveInventory("WeaponCharge",1)
TNT1 A 0 A_TakeInventory("UranusStampedeAmmo",28)
TNT1 A 0 A_PlaySound("weapon/uranuswall",4,1.0)
TNT1 A 0 A_ChangeVelocity(-16*cos(ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM)),-16*sin(ACS_ExecuteWithResult(C_GET_USER_VAR,WEPANGLE_NUM)),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,args[2],36)
TNT1 A 0 A_JumpIfInventory("PowerSpread_ST",1,"PlayerSlam_S")
stop
PlayerSlam_S:
TNT1 AA 0 A_SpawnItemEx("UranusPlayerRadius",0,0,48,0,0,0,args[2],36)
stop
End:
TNT1 A 0
stop
}
}
actor UranusWallSlam_H
{
PROJECTILE
+THRUACTORS
+DONTBLAST
+DONTREFLECT
height 2
radius 2
damage 0
states
{
Spawn:
TNT1 A 1
stop
Death:
TNT1 A 0 A_SpawnItemEx("UranusDeepDiggerSlamFX",0,0,0,random(-5,-20),0,0,0,1)
stop
}
}


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

actor UranusChargeRadius : BasicExplosion
{
damagetype "Uranus_Stampede"
Obituary "$OB_URANUSTRAMPLE"
states
{
Spawn:
TNT1 A 0
TNT1 A 3 A_Explode(4,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(30,128,0,0,128)
TNT1 A 0 A_PlaySoundEx("G_Axe2/S_09","SoundSlot6")
TNT1 A 0 A_GiveInventory("UranusPlayerStop",1,8)
PLGH LM 1
stop
}
}

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

actor UranusMain_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("UranusDeepDigger",0,0,8,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("UranusDeepDiggerB",0,0,8,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("UranusDeepDiggerR",0,0,8,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("UranusDeepDiggerO",0,0,8,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("UranusDeepDiggerP",0,0,8,0)
goto Done
Done:
TNT1 A 0 A_TakeInventory("DeeperDiggerAmmo",22)
stop
}
}

actor UranusMain2_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("UranusGroundSlam",0,0,0,0)
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("UranusGroundSlamB",0,0,0,0)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("UranusGroundSlamR",0,0,0,0)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("UranusGroundSlamO",0,0,0,0)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("UranusGroundSlamP",0,0,0,0)
goto Done
Done:
TNT1 A 0 A_TakeInventory("DeeperDiggerAmmo",28)
stop
}
}


actor UranusAlt1_CI : TeamColor_CI
{
states
{
FireX:
TNT1 A 0 A_FireCustomMissile("UranusDeepDiggerCrushed",0,0,0,16)//106
goto Done
FireB:
TNT1 A 0 A_FireCustomMissile("UranusDeepDiggerCrushedB",0,0,0,16)
goto Done
FireR:
TNT1 A 0 A_FireCustomMissile("UranusDeepDiggerCrushedR",0,0,0,16)
goto Done
FireO:
TNT1 A 0 A_FireCustomMissile("UranusDeepDiggerCrushedO",0,0,0,16)
goto Done
FireP:
TNT1 A 0 A_FireCustomMissile("UranusDeepDiggerCrushedP",0,0,0,16)
goto Done
Done:
TNT1 A 0 A_TakeInventory("DeeperDiggerAmmo",11)
stop
}
}
