//Attempting to fix cart bugs, no success yet
actor Jewelman : VCBaseClass
{
Player.ScoreIcon "JEWEMUGS"
player.startitem "BaseFlagPack", 1
player.displayname "Jewelman"
player.soundclass "Jewelmanc"
player.startitem "JewelSatelliteBoss"
player.startitem "UltimateAttackItem2"
player.startitem "UltSoundWatcherSpawn2"
player.startitem "BaseAltfireAmmo", 112
player.startitem "IsFromMM9"
player.startitem "JewelNoMainTemp"
player.viewheight 51
player.forwardmove 0.85,0.85
player.sidemove 0.83,0.83
player.jumpz 12
States
{
Spawn:
JEWL B 0 
JEWL B 1 A_JumpIf(momz!=0, "Jumping")
JEWL A 1 A_JumpIf(momz!=0, "Jumping")
Goto Spawn+2
See:
JEWL BBBBCCCCDDDDEEEE 1 A_JumpIf(momz!=0, "Jumping")
Goto Spawn+1
Jumping:
JEWL J 1 A_JumpIf(momz==0, "Spawn")
wait
Animation3:
JEWL J 1 A_JumpIf(z-floorz<=0, "Spawn")
wait
Animation1:
Missile:
JEWL FFFFF 1 A_JumpIf(momz!=0, "JumpingMissile")
Animation2:
Missile2:
JEWL GGGGG 1 A_JumpIf(momz!=0, "JumpingMissile2")
Goto Spawn+2
JumpingMissile:
JEWL KKKKK 1 A_JumpIf(momz==0, "Missile")
JumpingMissile2:
JEWL LLLLL 1 A_JumpIf(momz==0, "Missile2")
Goto Jumping
ClassPain:
JEWL HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
Goto Spawn+1
ClassDeath:
JEWL H 20 ACS_ExecuteAlways(999,0,0)
JEWL H 0 A_PlayerScream
NOFX A 0 A_SpawnItemEx("FakeDeathFXMM9",0,0,32)
NOFX A 1 A_CheckPlayerDone
wait
WeaponGetM:
JEWL H 0 A_JumpIfInTargetInventory("JewelSatelliteWepM",1,2)
JEWL H 0 A_GiveToTarget("WeaponGetter")
JEWL H 0 A_GiveToTarget("JewelSatelliteWepM")
goto ClassDeath
}
}

Actor JewelSatelliteBoss : VCBaseWeapon
{
weapon.ammotype "Base28Ammo"
weapon.ammotype2 "BaseAltfireAmmo"
Obituary "$OB_JEWELMAN1"
States
{
Ready:
JEWH A 1 A_WeaponReady(WRF_NOSECONDARY*CallACS("VC_AmmoCheck",3,84)) JEWH A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
JEWH A 0 A_GiveInventory("BaseAltfireAmmo",1)
loop
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
JEWH A 1 A_Lower
Loop
Select:
TNT1 A 0 ACS_ExecuteAlways(991,0,9884)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
JEWH A 1 A_Raise
Loop
Fire:
JEWH S 0 A_JumpIfInventory("IsBot",1,"Altfire")
JEWH S 0 A_JumpIfInventory("JewelNoMainTemp",1,"NoMainYet")
JEWH S 0 A_JumpIfInventory("JewelM1Cooldown",1,"Fire2")
JEWH S 0 A_JumpIfInventory("JewelShieldCheck",1,"JewelFire")
JEWH S 0 A_GunFlash
TNT1 A 0 A_TakeInventory("Base112Ammo",28)
TNT1 A 0 A_GiveInventory("ShieldCheck", 1)
TNT1 A 0 A_GiveInventory("JewelShieldCheck", 4)
TNT1 A 0 A_PlaySoundEx("weapon/jewelsatellite", "Weapon")
TNT1 A 0 A_ChangeFlag(REFLECTIVE,True)
TNT1 A 0 A_ChangeFlag(DONTRIP,True)
TNT1 A 0 A_ChangeFlag(CANTSEEK,True)
TNT1 A 0 A_ChangeFlag(DEFLECT,True)
TNT1 A 0 A_SpawnItemEx("JewelSatelliteWarper")
TNT1 A 0 A_SpawnItemEx("JewelSatelliteWarper2")
TNT1 A 0 A_SpawnItemEx("JewelSatelliteWarper3")
TNT1 A 0 A_SpawnItemEx("JewelSatelliteWarper4")
JEWH JK 1
JEWH G 12
JEWH G 2 Offset(0,48)
JEWH G 2 Offset(0,64)
Goto EndMain
JewelFire:
JEWH S 0 A_JumpIfInventory("JewelM1Cooldown",1,"Fire2")
JEWH Q 0 A_JumpIfInventory("JewelShieldCheck",1,1)
Goto FinishFire
JEWH A 0 A_GiveInventory("JewelWatcherCheck",1)
JEWH DEFDEFDEFCBA 1
Goto EndMain
Fire2:
TNT1 A 0 A_FireCustomMissile("JewelShotRM",0,0,0,8)
TNT1 A 0 A_PlaySoundEx("weapon/jewelfire2", "weapon")
JEWH DFEDFEDFECBA 2
Goto Ready
NoMainYet:
JEWH A 2
EndMain:
JEWH Q 0
Goto Ready
Altfire:
RATU A 0 A_JumpIfInventory("NoAltfire",1,"Ready")
TNT1 A 0 A_Stop
JEWH G 0 A_SpawnItemEx("CariCarryRM",80,0,0)
JEWH GIGHGGGGG 2
JEWH G 1 Offset(0,48)
JEWH G 1 Offset(0,64)
JEWH A 1 A_WeaponReady(WRF_NOFIRE)
Goto Ready
UltimateAttack:
JEWH G 0 A_PlaySoundEx("classes/ultimateactivation","Auto") JEWH G 0 ACS_NamedExecuteAlways("VC_UltimateText",0,86)
JEWH G 0 A_GiveInventory("PowerUltBuildCooldown",1) JEWH G 0 A_TakeInventory("UltAttackFlag",1)
JEWH G 0 A_SpawnItemEx("StoneHeadMaker") JEWH G 0 A_SpawnItemEx("JewelManUltWatcher")
JEWH G 0 A_PlaySoundEx("misc/hugequake","Weapon")
UltHold:
JEWH G 1 ACS_NamedExecuteWithResult("VC_SetState",1) TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",25,"UltEnd")
JEWH I 1 ACS_NamedExecuteWithResult("VC_SetState",1) TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",25,"UltEnd")
JEWH G 1 ACS_NamedExecuteWithResult("VC_SetState",2) TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",25,"UltEnd")
JEWH H 1 ACS_NamedExecuteWithResult("VC_SetState",2) TNT1 A 0 A_GiveInventory("CutterFlag",1) TNT1 A 0 A_JumpIfInventory("CutterFlag",25,"UltEnd")
loop
UltEnd:
JEWH GIGH 2 A_TakeInventory("CutterFlag",25)
JEWH G 1 Offset(0,48)
JEWH G 1 Offset(0,64)
Goto Ready
Flash:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"NoFlash")
TNT1 AA 0 A_SpawnItemEx("JewelSatelliteBlocker",18,0,0,0,0,0,0*45)
TNT1 AA 0 A_SpawnItemEx("JewelSatelliteBlocker",18,0,0,0,0,0,1*45)
TNT1 AA 0 A_SpawnItemEx("JewelSatelliteBlocker",18,0,0,0,0,0,2*45)
TNT1 AA 0 A_SpawnItemEx("JewelSatelliteBlocker",18,0,0,0,0,0,3*45)
TNT1 AA 0 A_SpawnItemEx("JewelSatelliteBlocker",18,0,0,0,0,0,4*45)
TNT1 AA 0 A_SpawnItemEx("JewelSatelliteBlocker",18,0,0,0,0,0,5*45)
TNT1 AA 0 A_SpawnItemEx("JewelSatelliteBlocker",18,0,0,0,0,0,6*45)
TNT1 AA 0 A_SpawnItemEx("JewelSatelliteBlocker",18,0,0,0,0,0,7*45)
TNT1 A 1 A_SpawnItemEx("JewelSatelliteDamager")
TNT1 A 0 A_JumpIfInventory("JewelShieldCheck",1,"Flash")
Goto NoFlash
NoFlash:
TNT1 A 0 A_ChangeFlag(REFLECTIVE,False)
TNT1 A 0 A_ChangeFlag(DONTRIP,False)
TNT1 A 0 A_ChangeFlag(CANTSEEK,False)
TNT1 A 0 A_ChangeFlag(DEFLECT,False)
TNT1 A 1 A_TakeInventory("ShieldCheck", 1)
stop
}
}

actor JewelShotRM
{
PROJECTILE
Species "CariCarryRM"
+THRUSPECIES
damagetype "JewelMan"
Obituary "$OB_JEWELMAN1"
Speed 30
Damage (16)
Radius 16
Height 16
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 1
JEWS QRST 2 A_SpawnItemEx("JewelShotFX", random(-10, 10), random(-10, 10), random(-10, 10),0,0,0,0,1)
TNT1 A 0 A_ChangeFlag("THRUSPECIES",False)
Spawn2:
JEWS QRST 2 A_SpawnItemEx("JewelShotFX", random(-10, 10), random(-10, 10), random(-10, 10),0,0,0,0,1)
loop
}
}

actor JewelShotRM2 : JewelShotRM
{
+SEEKERMISSILE
+NOTARGETSWITCH
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 AAAA 0 A_SeekerMissile(90,90,SMF_LOOK|SMF_PRECISE,256,10)
JEWS QRST 2 A_SpawnItemEx("JewelShotFX", random(-10, 10), random(-10, 10), random(-10, 10),0,0,0,0,1)
TNT1 A 0 A_ChangeFlag("THRUSPECIES",False)
Spawn2:
JEWS QRST 2 A_SpawnItemEx("JewelShotFX", random(-10, 10), random(-10, 10), random(-10, 10),0,0,0,0,1)
loop
}
}

actor JewelShotRM3 : JewelShotRM
{
Damage (20)
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 1
TNT1 AA 0 A_SpawnItemEx("JewelShotFX", random(-10, 10), random(-10, 10), random(-10, 10),0,0,0,0,1)
JEWS Q 1 A_SpawnItemEx("JewelShotEcho",0,0,0,0,frandom(-1,1),frandom(-1,1))
TNT1 AA 0 A_SpawnItemEx("JewelShotFX", random(-10, 10), random(-10, 10), random(-10, 10),0,0,0,0,1)
JEWS R 1
TNT1 AA 0 A_SpawnItemEx("JewelShotFX", random(-10, 10), random(-10, 10), random(-10, 10),0,0,0,0,1)
JEWS S 1 A_SpawnItemEx("JewelShotEcho",0,0,0,0,frandom(-1,1),frandom(-1,1))
TNT1 AA 0 A_SpawnItemEx("JewelShotFX", random(-10, 10), random(-10, 10), random(-10, 10),0,0,0,0,1)
JEWS T 1
TNT1 A 0 A_ChangeFlag("THRUSPECIES",False)
Spawn2:
TNT1 AA 0 A_SpawnItemEx("JewelShotFX", random(-10, 10), random(-10, 10), random(-10, 10),0,0,0,0,1)
JEWS Q 1 A_SpawnItemEx("JewelShotEcho",0,0,0,0,frandom(-1,1),frandom(-1,1))
TNT1 AA 0 A_SpawnItemEx("JewelShotFX", random(-10, 10), random(-10, 10), random(-10, 10),0,0,0,0,1)
JEWS R 1
TNT1 AA 0 A_SpawnItemEx("JewelShotFX", random(-10, 10), random(-10, 10), random(-10, 10),0,0,0,0,1)
JEWS S 1 A_SpawnItemEx("JewelShotEcho",0,0,0,0,frandom(-1,1),frandom(-1,1))
TNT1 AA 0 A_SpawnItemEx("JewelShotFX", random(-10, 10), random(-10, 10), random(-10, 10),0,0,0,0,1)
JEWS T 1
loop
}
}

actor JewelShotEcho : BasicClientSide
{
renderstyle add
alpha 0.9
scale 2.5
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1
JEWS Q 0 A_FadeOut(0.1)
JEWS Q 1 A_SetScale(2.7)
JEWS R 0 A_FadeOut(0.1)
JEWS R 1 A_SetScale(2.9)
JEWS S 0 A_FadeOut(0.1)
JEWS S 1 A_SetScale(3.1)
JEWS S 0 A_FadeOut(0.1)
JEWS S 1 A_SetScale(3.3)
JEWS Q 0 A_FadeOut(0.1)
JEWS Q 1 A_SetScale(3.5)
JEWS R 0 A_FadeOut(0.1)
JEWS R 1 A_SetScale(3.7)
JEWS S 0 A_FadeOut(0.1)
JEWS S 1 A_SetScale(3.9)
JEWS S 0 A_FadeOut(0.1)
JEWS S 1 A_SetScale(4.1)
stop
}
}

actor JewelSatelliteBlocker
{
+MISSILE
Height 64
Radius 20
health 99999
+DONTSPLASH
Damage (0)
Species "CariCarryRM"
+THRUSPECIES
+SHOOTABLE
+NOTAUTOAIMED
+NOBLOOD
-SOLID
+NOTIMEFREEZE
+NOGRAVITY
Speed 0
scale 2.5
painchance 256
mass 99999
+DONTRIP
+GHOST
+NORADIUSDMG
States
{
Spawn:
TNT1 A 0
TNT1 A 1
stop
//Heroes
Pain.MegaUlt:
Pain.BigBangStrike:
//MM1
Pain.CutmanUlt:
Pain.ElecmanLightning:
//Pain.Iceman:
Pain.FiremanUlt:
//Pain.Timeman:
Pain.OilmanUlt:
//Pain.GutsGBlock:
//Pain.GutsGDrill:
Pain.GutsmanGUpperCut:
//Pain.GigaBomb:
//MM2
//Pain.Quickman:
Pain.NoUlt: //Woodman
Pain.MetalUlt:
//Pain.Crashman:
Pain.AirmanUlt:
Pain.HeatmanAfterBurnPillar:
Pain.BubbleCrit:
//Pain.Flashman:
Pain.AlienDozer:
//MM3
Pain.SparkmanUlt:
Pain.GeminimanUlt:
Pain.TopmanUltimate:
Pain.NeedleUlt:
Pain.MagnetmanUlt:
Pain.ShadowmanTongue:
Pain.ShadowmanFlame:
Pain.HardmanUlt:
Pain.SnakemanUlt:
//Pain.DocRobot:
//MM4
Pain.BrightManUltSmall:
Pain.BrightManUltLarge:
Pain.DivemanMoby:
Pain.DrillmanUlt:
Pain.PharaohUlt:
Pain.DustmanUlt:
Pain.RingRing:
Pain.SkullmanUlt:
Pain.ToadmanUlt:
//MM5
Pain.NapalmUlt:
Pain.WavemanBike:
Pain.StarManRock:
Pain.CrystalmanUlt:
Pain.ChargemanUltCoal:
Pain.GyromanAttackUlt:
Pain.GravityUltDrop:
//Pain.Darkman1:
//Pain.Darkman2:
//Pain.Darkman3:
//Pain.Darkman4:
//MM6
Pain.FlameUlt:
Pain.KnightFullJump:
//Pain.Tomahawkman:
Pain.CentaurUlt:
Pain.CentaurDash:
Pain.WindmanUlt:
//Pain.Yamatoman:
//MM6
Pain.FreezemanUltFreeze:
Pain.FreezemanUltFreeze2:
Pain.BurstmanUlt:
//Pain.Cloudman:
Pain.TurbomanUlt:
//MM8
Pain.TenguManUlt:
Pain.AstroCrushUlt:
Pain.GrenademanUlt:
Pain.SearchBush:
//MMB
//Pain.Coldman:
Pain.BurnerTrap:
Pain.KingUlt:
//MM9
//Pain.Plugman:
Pain.GalaxymanUlt:
//Pain.Concreteman:
Pain.MagmamanUlt:
//MM10
Pain.CommandomanStorm:
Pain.ChillmanFreeze:
Pain.StrikeManUlt:
Pain.SheepmanUlt:
Pain.PumpmanUlt:
Pain.BadTraffic:
Pain.SolarInferno:
Pain.BlademanUlt:
//MM11
//Pain.Blastman:
Pain.AcidmanUlt:
Pain.FusemanHighVoltage:
//MMV
//Pain.Mercury:
Pain.VenusWaterCrash:
Pain.TerraUlt:
Pain.MarsUlt:
//Pain.Jupiter:
Pain.SaturnStopper:
Pain.UranusDeepDestroyer:
Pain.NeptuneInstantRust:
//Pain.Pluto:
//MMK
Pain.EnkerUlt:
Pain.QuintUlt:
Pain.PunkUlt:
Pain.BalladeUlt:
Pain.RaThorUlt:
//WT
//Pain.BusterRodG:
Pain.HyperStormHUlt:
TNT1 A 0
stop
Pain:
TNT1 A 0 A_JumpIfInTargetInventory("JewelSatelliteCounterCoolDown",1,"No")
TNT1 A 0 A_JumpIfInTargetInventory("JewelM1Cooldown",1,"No")
TNT1 A 0 A_GiveToTarget("JewelSatelliteCounterCoolDown",1)
TNT1 A 0 A_GiveToTarget("JewelSatelliteCounter",1)
TNT1 A 0 A_PlaySoundEx("weapon/JewelBlock","Auto")
No:
TNT1 A 1 A_PlaySoundEx("mm9/reflect","Body")
stop
}
}

actor JewelSatelliteCounter : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("JewelShotRM2",0,0,32,60)
TNT1 A 0 A_TakeInventory("JewelShieldCheck",1)
TNT1 A 0 A_JumpIfInventory("JewelShieldCheck",1,"Nope")
TNT1 A 0 A_GiveInventory("JewelM1Cooldown",315)
TNT1 A 0 A_SpawnItemEx("JewelManM1Watcher")
TNT1 A 0 A_GiveInventory("JewelNoMainTemp",1)
Nope:
TNT1 A 0
stop
}
}

actor JewelSatelliteCounterCoolDown : Powerup 
{
powerup.duration 20
}

actor JewelSatelliteDamager : BasicExplosion
{
Obituary "$OB_JEWELMAN2"
Damagetype "JewelManHug"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("JewelShieldCheck",4,"S_4")
TNT1 A 0 A_JumpIfInTargetInventory("JewelShieldCheck",3,"S_3")
TNT1 A 0 A_JumpIfInTargetInventory("JewelShieldCheck",2,"S_2")
TNT1 A 1 A_Explode(2,85,0,0,85)
stop
S_2:
TNT1 A 1 A_Explode(3,85,0,0,85)
stop
S_3:
TNT1 A 1 A_Explode(4,85,0,0,85)
stop
S_4:
TNT1 A 1 A_Explode(5,85,0,0,85)
stop
}
}

actor JewelManHugProtect : PowerProtection
{
powerup.duration 16
damagefactor "JewelManHug", 0.0
}

actor CariCarryRMStart
{
PROJECTILE
+THRUACTORS
Radius 6
Height 6
damage (0)
scale 2.5
States
{
Spawn:
TNT1 AA 1 A_ChangeVelocity(20,0,0,CVF_RELATIVE|CVF_REPLACE)
TNT1 A 0 A_PlaySoundEx("item/refill","Voice")
TNT1 A 0 A_GiveToTarget("BaseCustomFlag1")
TRBI A 0 A_SpawnItemEx("CariCarryRMTeleport",0,0,100,0,0,-25,0,SXF_NOCHECKPOSITION,0)
stop
Death:
TNT1 A 0 A_PlaySound("weapon/DudHyperBomb",0,3.0)
TNT1 A 1 A_GiveToTarget("BaseAltfireAmmo",84)
stop
}
}

actor CariCarryRMTeleport
{
Translation "192:192=4:4", "198:198=225:225"
Radius 12
Height 8
scale 2.5
+NOINTERACTION
PROJECTILE
+SKYEXPLODE
+DONTBLAST
states
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TFOG A 0
TFOG A 3
TFOG A 0 A_ChangeFlag("NOINTERACTION",False)
Spawn2:
TFOG AAA 1 A_CheckFloor("Next")
loop
Next:
TFOG BC 2 A_ChangeFlag("NOGRAVITY",False)
Goto Death
Death:
TNT1 A 0 A_SpawnItemEx("CariCarryRM",0,0,3,0,0,momz,0,SXF_NOCHECKPOSITION,0)
stop
}
}

actor CariCarryRM
{
scale 2.5
damagetype "JewelManAlt"
Obituary "$OB_JEWELMAN3"
+MISSILE
-THRUACTORS
+PUSHABLE
+SOLID
+NODAMAGETHRUST
+NOTARGETSWITCH
+NOBLOOD
+MOVEWITHSECTOR
+CANBOUNCEWATER
+DONTSPLASH
+DONTRIP
+NOEXPLODEFLOOR
+STEPMISSILE
+DONTREFLECT
+NOTAUTOAIMED
+BOUNCEONWALLS
+FORCEYBILLBOARD
+TOUCHY
+USEDAMAGEEVENTSCRIPT
+SHOOTABLE
+QUICKTORETALIATE
damagefactor "Normal", 0.0
damagefactor "StoneSpin", 1.0
damagefactor "ConcreteSlamCheck", 1.0
painchance 256
health 99999
MaxStepHeight 48
Mass 9999999
Damage (0)
Radius 32
Height 64
speed 0
BOUNCECOUNT 1
Species "CariCarryRM"
+THRUSPECIES
var int user_playerRiding[64];
var int user_speed;
ReactionTime 175
gravity 0.8
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 0 A_GiveInventory("IsDuo",1)
TNT1 A 0 A_setUserVar("user_speed",-1)
TNT1 A 1
CARI A 0 A_ChangeFlag("TOUCHY",0)
CARI A 0 A_ChangeFlag("MISSILE",0)
CARI A 0 A_GiveInventory("WeaponCharge",1)
CARI A 0 A_PlaySoundEx("weapon/jewelcart","Auto")
CARI A 0 A_PlaySoundEx("weapon/jewelshine","Auto")
CARI A 0 A_TakeFromTarget("BaseAltfireAmmo",84)
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("JewelShotFX",random(0,40),0,random(0,90),random(4,6),0,random(-5,5),random(0,359))
Spawn2:
CARI A 1 A_JumpIf(momx>0.1||momy>0.1||momx<-0.1||momy<-0.1,"MoveBegin")
TNT1 A 0 A_CountDown
loop
MoveBegin:
CARI A 0 //ACS_NamedExecuteAlways("core_stickyLifts",0,STICKYMODE_GUTSLIFT)
CARI A 0 A_ChangeFlag("PUSHABLE",False)
CARI A 0 A_ChangeFlag("THRUACTORS",True)
CARI A 0 ACS_ExecuteAlways(994, 0, 1)
Accelerate:
TNT1 A 0 A_JumpIfInventory("CutterFlag",5,"Accelerate2")
CARI A 0 A_PlaySoundEx("misc/trainmove","Weapon")
CARI A 1 A_SpawnItemEx("CariCarryRMFooting",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS) CARI A 0 A_SpawnItemEx("CariCarryRMDamager",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
CARI A 1 A_SpawnItemEx("CariCarryRMFooting",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS) CARI A 0 A_SpawnItemEx("CariCarryRMDamager",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
CARI B 1 A_SpawnItemEx("CariCarryRMFooting",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS) CARI B 0 A_SpawnItemEx("CariCarryRMDamager",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
CARI B 1 A_SpawnItemEx("CariCarryRMFooting",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS) CARI B 0 A_SpawnItemEx("CariCarryRMDamager",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
CARI A 0 A_Recoil(-0.1)
loop
Accelerate2:
TNT1 A 0 A_JumpIfInventory("CutterFlag",10,"Moving")
TNT1 A 0 A_setUserVar("user_speed",user_speed-1)
CARI A 0 A_PlaySoundEx("misc/trainmove","Weapon")
CARI A 0 A_Recoil(user_speed)
CARI A 1 A_SpawnItemEx("CariCarryRMFooting",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS) CARI A 0 A_SpawnItemEx("CariCarryRMDamager",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
CARI A 1 A_SpawnItemEx("CariCarryRMFooting",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS) CARI A 0 A_SpawnItemEx("CariCarryRMDamager",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
CARI B 1 A_SpawnItemEx("CariCarryRMFooting",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS) CARI B 0 A_SpawnItemEx("CariCarryRMDamager",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
CARI B 1 A_SpawnItemEx("CariCarryRMFooting",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS) CARI B 0 A_SpawnItemEx("CariCarryRMDamager",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
loop
Moving:
CARI A 0 A_Recoil(user_speed*1.1)
CARI A 0 A_PlaySoundEx("misc/trainmove","Weapon")
CARI A 1 Thing_Damage(0, 1) TNT1 A 0 A_SpawnItemEx("CariCarryRMFooting",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS) CARI A 0 A_SpawnItemEx("CariCarryRMDamager",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS) CARI A 0 A_JumpIf(momx==0&&momy==0&&momz==0,"Explode")
TNT1 A 0 A_SpawnItemEx("CariCarryDetect", 0, 0, 65)
CARI B 0 A_GiveInventory("CariCarryTurn_CI",1)
CARI A 1 Thing_Damage(0, 1) TNT1 A 0 A_SpawnItemEx("CariCarryRMFooting",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS) CARI A 0 A_SpawnItemEx("CariCarryRMDamager",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS) CARI A 0 A_JumpIf(momx==0&&momy==0&&momz==0,"Explode")
TNT1 A 0 A_SpawnItemEx("CariCarryDetect", 0, 0, 65)
CARI A 0 A_GiveInventory("CariCarryTurn_CI",1)
CARI B 1 Thing_Damage(0, 1) TNT1 A 0 A_SpawnItemEx("CariCarryRMFooting",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS) CARI B 0 A_SpawnItemEx("CariCarryRMDamager",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS) CARI B 0 A_JumpIf(momx==0&&momy==0&&momz==0,"Explode")
TNT1 A 0 A_SpawnItemEx("CariCarryDetect", 0, 0, 65)
CARI B 0 A_GiveInventory("CariCarryTurn_CI",1)
CARI B 1 Thing_Damage(0, 1) TNT1 A 0 A_SpawnItemEx("CariCarryRMFooting",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION|SXF_TRANSFERPOINTERS) CARI B 0 A_SpawnItemEx("CariCarryRMDamager",0,0,32,0,0,0,0,SXF_TRANSFERPOINTERS) CARI B 0 A_JumpIf(momx==0&&momy==0&&momz==0,"Explode")
TNT1 A 0 A_SpawnItemEx("CariCarryDetect", 0, 0, 65)
CARI B 0 A_GiveInventory("CariCarryTurn_CI",1)
loop
Explode:
Death:
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,"Death2")
stop
Death2:
TNT1 AAAAAAAA 0 A_SpawnItemEx("CariCarryRMRocks",0,0,48,Random(5,10),0,Random(5,10),Random(90,270),SXF_TRANSFERPOINTERS)
goto XDeath2
XDeath:
TNT1 A 0 A_JumpIfInventory("WeaponCharge",1,"XDeath2")
stop
XDeath2:
TNT1 AAAAAAA 0 A_SpawnItemEx("CariCarryRMRocks",0,0,48,Random(5,10),0,Random(5,10),Random(90,270),SXF_TRANSFERPOINTERS)
TNT1 A 0 A_Stop
TNT1 A 0 A_ChangeFlag("NOGRAVITY",True)
TNT1 A 0 A_ChangeFlag("SOLID",False)
TNT1 A 0 A_ChangeFlag("SHOOTABLE",False)
TNT1 A 0 A_SpawnItemEx("CariCarryRMExplode",0,0,48)
stop

Pain.StoneSpin:
TNT1 A 0 A_ChangeFlag("SOLID",False)
TNT1 A 0 A_ChangeFlag("SHOOTABLE",False)
//TNT1 A 0 A_GiveToTarget("CariCarryLaunched_CI")//Moved to event script
TNT1 AAAAAAA 0 A_SpawnItemEx("CariCarryRMRocks",0,0,48,Random(5,10),0,Random(5,10),Random(90,270),SXF_TRANSFERPOINTERS)
stop
}
}

actor CariCarryLaunched_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_Quake(30,4,0,300)
TNT1 A 0 A_PlaySoundEx("weapon/stonehit","SoundSlot6")
TNT1 A 0 A_PlaySoundEx("weapon/gutstacklehit","Auto")
TNT1 A 0 A_FireCustomMissile("CariCarryBonked",0,0,0,24)
stop
}
}
actor StoneDebug : CustomInventory
{
States
{
Pickup:
JEWH G 0 A_TakeInventory("StoneManCooldown",350)
JEWH G 0 A_SpawnItemEx("CariCarryRM",80,0,0)
stop
}
}

actor CariCarryBonked
{
translation "192:192=215:215", "198:198=216:216"
PROJECTILE
+RIPPER
damagetype "JewelManAlt"
Obituary "$OB_JEWELMAN3"
species "CariCarryRM"
Speed 60
damage(40)
radius 32
height 32
scale 2.5
gravity 0.35
+HEXENBOUNCE
+THRUSPECIES
bouncecount 3

-NOGRAVITY
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
CARI B 0 ThrustThingZ(0,12,1,1)
CARI B 0 A_SpawnItemEx("CariCarryRMRocks",random(0,16),0,40,Random(3,10),0,Random(3,10),Random(0,359),SXF_TRANSFERPOINTERS,128)
CARI B 3 A_SetAngle(angle + 45)//A_SetPitch(pitch + 90)
CARI A 0 A_SpawnItemEx("CariCarryRMRocks",random(0,16),0,40,Random(3,10),0,Random(3,10),Random(0,359),SXF_TRANSFERPOINTERS,128)
CARI A 3 A_SetAngle(angle + 45)//A_SetPitch(pitch + 90)
goto Spawn+4
Death:
STOW A 0 A_PlaySoundEx("weapon/stonecrumble","Body")
STOW A 0 A_PlaySoundEx("weapon/stonebrick","Auto")
TNT1 AAAAAAAA 0 A_SpawnItemEx("CariCarryRMRocks",0,0,48,Random(5,10),0,Random(5,10),Random(90,270),SXF_TRANSFERPOINTERS)
TNT1 AAAAAAA 0 A_SpawnItemEx("CariCarryRMRocks",0,0,48,Random(5,10),0,Random(5,10),Random(90,270),SXF_TRANSFERPOINTERS)
TNT1 A 0 A_SpawnItemEx("CariCarryRMExplode",0,0,48)
TNT1 A 2
stop
}
}

actor CariCarryRMDamager : BasicExplosion
{
damagetype "JewelManAlt"
Obituary "$OB_JEWELMAN3"
Species "CariCarryRM"
+THRUSPECIES
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("CariCarryRockFlag",1,"Spawn2")
Spawn3:
TNT1 A 1 A_Explode(40,50,0,0,50)
stop
Spawn2:
TNT1 A 0 A_SpawnItemEx("CariCarryRMRocks",random(0,16),0,40,Random(3,10),0,Random(3,10),Random(0,359),SXF_TRANSFERPOINTERS,128)
goto Spawn3
}
}

actor CariCarryRMProtect : PowerProtection
{
	Powerup.Duration 20
	DamageFactor "JewelManAlt", 0.0
}

actor CariCarryRMFooting : CariCarryRM
{
PROJECTILE
-PUSHABLE
+NOINTERACTION
-TOUCHY
//-THRUACTORS
States
{
Spawn:
TNT1 AA 1 //A_GiveInventory("ProjectileCode",1)
CARI A 0 A_GiveInventory("JewelCarry")//A_SpawnItemEx("CariCarryDetectMomentumTransfer", 0, 0, 62,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
CARI A 0 //ACS_NamedExecuteAlways("core_stickyLifts",0,STICKYMODE_GUTSLIFT)
TNT1 A 4
stop
Death:
XDeath:
TNT1 A 0
stop
}
}

actor CariCarryDetect
{
PROJECTILE
+NOTARGETSWITCH
+LOOKALLAROUND
+SKYEXPLODE
+DONTBLAST
+DONTREFLECT
Speed 0
Damage (0)
Radius 8
Height 4
Scale 2.5
Const Int CARICARRY_RAD = 40;
States
{
Spawn:
TNT1 AA 1 A_JumpIfCloser(CARICARRY_RAD,"Give")
stop
Death:
TNT1 A 0 A_JumpIfCloser(CARICARRY_RAD,"Give")
Stop
Give:
TNT1 A 0 
TNT1 A 0 A_GiveToTarget("CariCarryRideFlag", 1)
stop
}
}

Actor CariCarryDetectMomentumTransfer : CariCarryDetect
{
States
{
Give:
TNT1 A 0// A_GiveInventory("SuperArrowCarry")
TNT1 A 0
stop
}
}

Actor CariCarryTurn_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("IsDead",1,"Nope",2)
TNT1 A 0 A_JumpIfInventory("CariCarryRideFlag",1,"Pickup1",2)
Nope: TNT1 A 0
stop
Pickup1:
TNT1 A 0 A_TakeFromTarget("CariCarryRideFlag",9)
TNT1 A 0 A_JumpIf(args[0] >= 75, "Nope")
TNT1 A 0 A_SetArg(0,args[0]+1)
REMI B 0 A_GiveToTarget("TargetMarker", 1)
REMI B 0 A_GiveToTarget("CariCarryRockFlag", 1)
REMI B 0 ACS_ExecuteAlways(989, 0, ACS_ExecuteWithResult(257)+100)
REMI B 0 A_ChangeVelocity(cos(pitch)*1, 0, 0,CVF_RELATIVE)
stop
}
}

Actor JewelCarry : CustomInventory
{
States
{
Pickup:
TNT1 A 0 
TNT1 A 0 A_JumpIfCloser(50000,"Launch")
Goto Done
Launch:
TNT1 A 0// A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",2)>0,"Pickup2")
TNT1 A 0 ACS_NamedExecuteWithResult("SuperArrowMovement")//A_ChangeVelocity(momx,momy,momz,CVF_REPLACE,AAPTR_TARGET)
Stop
Pickup2:
TNT1 A 0
Stop
}
}


Actor CariCarryRideFlag : Powerup
{
	Powerup.Duration 3
}

Actor CariCarryRockFlag : CariCarryRideFlag {}

Actor CariCarryRMRocks
{
PROJECTILE
Species "CariCarryRM"
+THRUSPECIES
-NOGRAVITY
+BOUNCEONFLOORS
+DOOMBOUNCE
damagetype "JewelMan"
Obituary "$OB_JEWELMAN4"
Damage (3)
Scale 2.5
Height 16
Radius 8
bouncefactor 0.8
gravity 1.5
Bouncecount 3
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
CNBR H 1
wait
Death:
MX01 ABCDE 1 A_Stop
stop
}
}

actor CariCarryRMExplode
{
PROJECTILE
-NOGRAVITY
+BOUNCEONFLOORS
+NOINTERACTION
Damage (0)
Scale 2.5
Height 16
Radius 8
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_PlaySoundEx("weapon/napalm", "Weapon")
NAPA EFGHIJKLMNOPQRS 2
stop
}
}

actor JewelManUltWatcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_TakeFromTarget("MediumShortUltimateAmmo",2)
TNT1 A 0 A_JumpIfInTargetInventory("MediumShortUltimateAmmo",1,"Spawn")
stop
}
}

actor StoneHeadMaker
{
+CEILINGHUGGER
PROJECTILE
Height 4
Radius 4
damage (0)
scale 2.5
+SKYEXPLODE
+NOINTERACTION
reactiontime 20
States
{
Spawn:
TNT1 A 0
TNT1 AA 1 A_Quake(3,5,0,800)
TNT1 A 0 A_SpawnItemEx("StoneHeadRM",random(0,500),0,72,0,0,0,random(0,359))
TNT1 A 0 A_JumpIfInTargetInventory("MediumShortUltimateAmmo",1,"Spawn")
Death:
TNT1 A 1 A_SpawnItemEx("StoneHeadRM2")
stop
}
}

actor StoneHeadRM
{
Obituary "$OB_JEWELMAN5"
damagetype "JewelManUlt"
PROJECTILE
Species "CariCarryRM"
+THRUSPECIES
-NOGRAVITY
+CEILINGHUGGER
Height 48
Radius 48
damage (10)
gravity 1.0
scale 2.5
+SKYEXPLODE
+THRUACTORS
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 1
TNT1 A 0 A_ChangeFlag("CEILINGHUGGER",False)
TNT1 A 0 A_ChangeFlag("THRUACTORS",False)
loopit:
TNT1 A 0 A_GiveToTarget("JewelUltCooldown",1)
HEAD AAA 1 A_CheckFloor("Death")
loop
Death:
XDeath:
TNT1 A 0 A_Explode(40,56,0,0,56)
TNT1 A 0 A_PlaySoundEx("weapon/GutsmanQuake", "Body")
TNT1 AAAAAAA 0 A_SpawnItemEx("CariCarryRMRocks2",0,0,0,random(-15,15),random(-15,15),random(8,16),0)
TNT1 A 1
stop
}
}

actor StoneHeadRM2 : StoneHeadRM
{
Obituary "$OB_JEWELMAN6"
+RIPPER
damage (200)
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
TNT1 A 1
TNT1 A 0 A_ChangeFlag("CEILINGHUGGER",False)
loopit:
TNT1 A 0 A_GiveToTarget("JewelUltCooldown",1)
HEAD CCC 1 A_CheckFloor("Death")
loop
Death:
TNT1 A 0 A_PlaySoundEx("misc/hugequake","Weapon")
TNT1 A 0 A_SpawnItemEx("StoneHeadRM2FX",0,0,0,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadius")
TNT1 AAAAAAAAAA 0 A_SpawnItemEx("StoneHeadQuakeDebris",random(32,160),0,0,0,0,random(5,20),random(0,360))
TNT1 A 1
stop
}
}

actor StoneHeadRM2FX : BasicClientSide
{
Scale 2.5
States
{
Spawn:
HEAD CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC 1 A_Quake(5,5,0,800) //70
HEAD BA 5
TNT1 AAAAAAA 0 A_SpawnItemEx("CariCarryRMRocks2",0,0,0,random(-15,15),random(-15,15),random(8,16),0)
stop
}
}

actor StoneHeadQuakeRadius
{
PROJECTILE
+FLOORHUGGER
+NOINTERACTION
+NOCLIP
Damage(0)
Height 1
Radius 1
Speed 0
States
{
Spawn:
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,18) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,36)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,54) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,72)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,90) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,108)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,126) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,144)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,162) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,180)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,198) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,216)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,234) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,254)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,270) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,288)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,306) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,324)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,342) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusRange",0,0,0,0,0,0,360)
stop
}
}

actor StoneHeadQuakeRadiusRange
{
PROJECTILE
+FLOORHUGGER
+NOINTERACTION
+NOCLIP
Damage(0)
Height 1
Radius 1
Speed 0
States
{
Spawn:
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",18) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",36)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",54) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",72)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",90) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",108)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",126) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",144)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",162) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",180)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",198) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",216)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",234) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",252)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",270) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",288)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",306) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",324)
TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",342) TNT1 A 0 A_SpawnItemEx("StoneHeadQuakeRadiusExplode",360)
stop
}
}

actor StoneHeadQuakeRadiusExplode
{
Species "CariCarryRM"
+THRUSPECIES
PROJECTILE
+DONTBLAST
+DONTREFLECT
-NOBLOCKMAP
Obituary "$OB_JEWELMAN7"
damagetype "JewelManUlt2"
damage (10)
Radius 16
Height 16
Speed 0
scale 2.5
States
{
Spawn:
TNT1 A 1
stop
Death:
XDeath:
stop
}
}


actor CariCarryRMRocks2
{
translation "8:8=47:47"
PROJECTILE
+THRUACTORS
-NOGRAVITY
+BOUNCEONFLOORS
+DOOMBOUNCE
+CLIENTSIDEONLY
Damage (0)
Scale 2.5
Height 16
Radius 8
bouncefactor 0.5
Bouncecount 1
reactiontime 20
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_Jump(256,"RockA","RockB","RockC","RockD")
RockA:
CNBR F 2
TNT1 A 2 A_Countdown
loop
RockB:
CNBR G 2
TNT1 A 2 A_Countdown
loop
RockC:
CNBR H 2
TNT1 A 2 A_Countdown
loop
RockD:
CNBR I 2
TNT1 A 2 A_Countdown
loop
Death:
MX01 ABCDE 1 A_Stop
stop
}
}

actor StoneHeadQuakeDebris : CariCarryRMRocks2 
{
bouncecount 2
States
{
Death:
XDeath:
TNT1 A 0
stop
}
}

actor JewelNoMainTemp : Powerup 
{
powerup.duration 5
}

actor JewelUltCooldown : UltBuildCooldownGiver
{
Powerup.Duration 22
}

actor JewelManM1Watcher
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
reactiontime 315
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIf(ACS_NamedExecuteWithResult("core_targetexists",0) == 0, "Death")
TNT1 A 1 A_TakeFromTarget("JewelM1Cooldown",1)
TNT1 A 0 A_Countdown
loop
Death:
TNT1 A 0
stop
}
}

actor JewelM1Cooldown : Inventory
{
	inventory.amount 1
	inventory.maxamount 315
	+INVENTORY.IGNORESKILL
}

actor JewelWatcherCheck : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_FireCustomMissile("JewelShotRM3",0,0,0,8)
TNT1 A 0 A_PlaySoundEx("weapon/jewelfire", "weapon")
TNT1 A 0 A_TakeInventory("JewelShieldCheck",1)
TNT1 A 0 A_JumpIfInventory("JewelShieldCheck",1,"Nope")
TNT1 A 0 A_GiveInventory("JewelM1Cooldown",315)
TNT1 A 0 A_SpawnItemEx("JewelManM1Watcher")
TNT1 A 0 A_GiveInventory("JewelNoMainTemp",1)
Nope:
TNT1 A 0
stop
}
}