// Because of their large hitbox, some summons take more damage against Ripping damage, so I gave them resistance
// against ripping weapons.

actor UnknownRMBossWeapon : MegaBuster
{
tag "Remnant Fist"
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Weapon.SlotNumber 2
+INVENTORY.UNDROPPABLE
weapon.ammotype "BossJumpCharge"
weapon.ammotype2 "BossRageCharge1SP"
Obituary "$OB_FRANKENPUNCH"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
TNT1 A 0
stop
Ready:
UNRM A 0 ACS_NamedExecuteAlways("GiveExecution",0)
SXH1 A 0 ACS_ExecuteAlways(991,0,512)
UNRM A 0 A_TakeInventory("UnknownRMDisableSummon", 999)
UNRM A 0 A_JumpIfInventory("LV1Mettaur", 1, "SummonMettaur")
UNRM A 0 A_JumpIfInventory("LV2HotHead", 1, "SummonHotHead")
UNRM A 0 A_JumpIfInventory("LV3SniperArmor", 1, "SummonSniperArmor")
UNRM A 0 A_JumpIfInventory("LV4Bikky", 1, "SummonBikky")
UNRM A 0 A_JumpIfInventory("LV5GiantMetall", 1, "SummonGiantMetall")
UNRM A 1 A_WeaponReady(WRF_NOSWITCH)
Goto Ready+1
Fire:
UNRM E 0 A_GiveInventory("UnknownRMDisableSummon", 1)
UNRM E 0 A_PlaySoundEx("weapon/junkend","Weapon")
UNRM D 0 A_Quake(2,14,0,8,"none")
TNT1 A 1 Offset(-311, 127) 
UNRM E 0 A_FireCustomMissile("FrankenPunchShot",0,1,0,0)
UNRM E 3 Offset(-264, 116) A_FireCustomMissile("UnknownRMFist",0,1,0,0)
//JUNP D 2 A_GiveInventory("JunkPunchShot_P",1)
UNRM E 1 Offset(-207, 96)  
UNRM E 1 Offset(-161, 71)
UNRM E 1 Offset(-151, 71)
UNRM E 1 Offset(-103, 78)
UNRM E 1 Offset(-89, 100)
UNRM E 1 Offset(-66, 123)
UNRM E 1 Offset(-49, 148)
UNRM E 1 Offset(-43, 178)
TNT1 A 1
TNT1 AA 4
UNRM A 2 Offset(1,100) 
UNRM A 2 Offset(1,80) 
UNRM A 2 Offset(1,60)
UNRM A 2 Offset(1,40)
UNRM A 1 A_WeaponReady(WRF_NOFIRE|WRF_NOSWITCH)
goto Ready+1
NoAmmo:
UNRM A 0 A_TakeInventory("DisableMonsterSummon", 999)
UNRM E 0 A_GiveInventory("UnknownRMDisableSummon", 1)
UNRM E 0 A_TakeInventory("SummonConfirmed", 999)
UNRM A 1 ACS_Execute(979,0)
UNRM E 0 A_TakeInventory("UnknownRMDisableSummon", 999)
UNRM A 0 A_Refire
UNRM E 0 A_TakeInventory("UnknownRMDisableSummon", 999)
goto Ready+1
AltFire:
UNRM A 0
//UNRM A 0 A_JumpIfInventory("UnknownRMRitual",1,3)
UNRM A 0 A_JumpIfInventory("BossRageCharge1SP",750,"Rage")
UNRM A 0 A_GiveInventory("UnknownRMDisableSummon", 1)
UNRM A 1
Goto Ready+1
Rage:
UNRM E 0 A_GiveInventory("UnknownRMDisableSummon", 1)
UNRM E 0 A_PlaySoundEx("weapon/ClownBall","Item")
UNRM E 0 A_PlaySoundEx("Franken/Rage","SoundSlot4")
UNRM E 0 A_TakeInventory("BossRageCharge1SP",750)
UNRM E 0 A_PlaySoundEx("weapon/ClownBall","Item")
UNRM F 0 A_GiveInventory("UnknownRMSuperArmor",1)
UNRM F 0 A_SpawnItemEx("UnknownRMAssist", 0, 0, 0, 0, 0, 0)
UNRM E 0 SetPlayerProperty(0,1,0)
UNRM F 0 A_GunFlash
UNRM A 2
UNRM BCBCBCBC 2
UNRM E 0 A_PlaySoundEx("weapon/ClownBall","Item")
UNRM D 0
UNRM D 10  A_GiveInventory("UnknownRMRitual",1)
UNRM CB 2
UNRM A 10
UNRM E 0 SetPlayerProperty(0,0,0)
goto Ready+1
SummonMettaur:
UNRM A 0 A_TakeInventory("LV1Mettaur", 999)
UNRM A 0 A_Stop
UNRM A 0 A_SpawnItemEx("JunkCubeLV1Check", 64, 0, 8, 0, 0, 0)
UNRM A 1 A_JumpIfInventory("SummonConfirmed", 1, "MettaurYes")
UNRM A 0 A_Stop
UNRM A 1 A_JumpIfInventory("SummonConfirmed", 1, "MettaurYes")
UNRM A 0 A_Jump(256, "NoAmmo")
MettaurYes:
UNRM A 0 A_TakeInventory("SummonConfirmed", 999)
UNRM E 0 A_GiveInventory("UnknownRMDisableSummon", 1)
"####" "#" 0 ACS_NamedExecuteAlways("core_flyplayer",0,0,1)
UNRM A 0 SetPlayerProperty(0,1,0)
UNRM A 4
UNRM BC 6
UNRM D 0 A_PlaySoundEx("Weapon/Thunderbolt","Weapon")
UNRM D 20 A_SpawnItemEx("JunkCubeLV1", 64, 0, 8, 0, 0, 0)
"####" "#" 0 ACS_NamedExecuteAlways("core_flyplayer",0,0,0)
UNRM A 0 SetPlayerProperty(0,0,0)
UNRM A 0 A_TakeInventory("LV1Mettaur", 999)
UNRM BC 6
UNRM A 0 A_TakeInventory("DisableMonsterSummon", 999)
goto Ready+1
SummonHotHead:
UNRM A 0 A_TakeInventory("LV2HotHead", 999)
UNRM A 0 A_Stop
UNRM A 0 A_SpawnItemEx("JunkCubeLV2Check", 90, 0, 8, 0, 0, 0)
UNRM A 1 A_JumpIfInventory("SummonConfirmed", 1, "HotHeadYes")
UNRM A 0 A_Stop
UNRM A 1 A_JumpIfInventory("SummonConfirmed", 1, "HotHeadYes")
UNRM A 0 A_Jump(256, "NoAmmo")
HotHeadYes:
UNRM A 0 A_TakeInventory("SummonConfirmed", 999)
UNRM E 0 A_GiveInventory("UnknownRMDisableSummon", 1)
"####" "#" 0 ACS_NamedExecuteAlways("core_flyplayer",0,0,1)
UNRM A 0 SetPlayerProperty(0,1,0)
UNRM A 4
UNRM BC 6
UNRM D 0 A_PlaySoundEx("Weapon/Thunderbolt","Weapon")
UNRM D 36 A_SpawnItemEx("JunkCubeLV2", 90, 0, 8, 0, 0, 0)
UNRM A 0 A_TakeInventory("LV2HotHead", 999)
"####" "#" 0 ACS_NamedExecuteAlways("core_flyplayer",0,0,0)
UNRM A 0 SetPlayerProperty(0,0,0)
UNRM BC 6
UNRM A 0 A_TakeInventory("DisableMonsterSummon", 999)
goto Ready+1
SummonSniperArmor:
UNRM A 0 A_TakeInventory("LV3SniperArmor", 999)
UNRM A 0 A_Stop
UNRM A 0 A_SpawnItemEx("JunkCubeLV3Check", 115, 0, 8, 0, 0, 0)
UNRM A 1 A_JumpIfInventory("SummonConfirmed", 1, "SniperYes")
UNRM A 0 A_Stop
UNRM A 1 A_JumpIfInventory("SummonConfirmed", 1, "SniperYes")
UNRM A 0 A_Jump(256, "NoAmmo")
SniperYes:
UNRM A 0 A_TakeInventory("SummonConfirmed", 999)
UNRM E 0 A_GiveInventory("UnknownRMDisableSummon", 1)
"####" "#" 0 ACS_NamedExecuteAlways("core_flyplayer",0,0,1)
UNRM A 0 SetPlayerProperty(0,1,0)
UNRM A 4
UNRM BC 6
UNRM D 0 A_PlaySoundEx("Weapon/Thunderbolt","Weapon")
UNRM D 51 A_SpawnItemEx("JunkCubeLV3", 115, 0, 8, 0, 0, 0)
"####" "#" 0 ACS_NamedExecuteAlways("core_flyplayer",0,0,0)
UNRM A 0 SetPlayerProperty(0,0,0)
UNRM A 0 A_TakeInventory("LV3SniperArmor", 999)
UNRM BC 6
UNRM A 0 A_TakeInventory("DisableMonsterSummon", 999)
goto Ready+1
SummonBikky:
UNRM A 0 A_TakeInventory("LV4Bikky", 999)
UNRM A 0 A_Stop
UNRM A 0// A_SpawnItemEx("JunkCubeLV4Check", 140, 0, 8, 0, 0, 0)
UNRM A 1 A_JumpIfInventory("SummonConfirmed", 1, "BikkyYes")
UNRM A 0 A_Stop
UNRM A 1 A_JumpIfInventory("SummonConfirmed", 1, "BikkyYes")
UNRM A 0 A_Jump(256, "NoAmmo")
BikkyYes:
UNRM A 0 A_TakeInventory("SummonConfirmed", 999)
UNRM E 0 A_GiveInventory("UnknownRMDisableSummon", 1)
UNRM A 0 SetPlayerProperty(0,1,0)
UNRM A 4
UNRM BC 6
UNRM D 0 A_PlaySoundEx("Weapon/Thunderbolt","Weapon")
UNRM D 71 A_SpawnItemEx("JunkCubeLV4", 140, 0, 8, 0, 0, 0)
UNRM A 0 SetPlayerProperty(0,0,0)
UNRM A 0 A_TakeInventory("LV4Bikky", 999)
UNRM BC 6
UNRM A 0 A_TakeInventory("DisableMonsterSummon", 999)
goto Ready+1
SummonGiantMetall:
UNRM A 0 A_TakeInventory("LV5GiantMetall", 999)
UNRM A 0 A_Stop
UNRM A 0// A_SpawnItemEx("JunkCubeLV5Check", 166, 0, 8, 0, 0, 0)
UNRM A 1 A_JumpIfInventory("SummonConfirmed", 1, "GiantMetallYes")
UNRM A 0 A_Stop
UNRM A 1 A_JumpIfInventory("SummonConfirmed", 1, "GiantMetallYes")
UNRM A 0 A_Jump(256, "NoAmmo")
GiantMetallYes:
UNRM A 0 A_TakeInventory("SummonConfirmed", 999)
UNRM E 0 A_GiveInventory("UnknownRMDisableSummon", 1)
UNRM A 0 SetPlayerProperty(0,1,0)
UNRM A 4
UNRM BC 6
UNRM D 0 A_PlaySoundEx("Weapon/Thunderbolt","Weapon")
UNRM D 102 A_SpawnItemEx("JunkCubeLV5", 166, 0, 8, 0, 0, 0)
UNRM A 0 SetPlayerProperty(0,0,0)
UNRM A 0 A_TakeInventory("LV5GiantMetall", 999)
UNRM BC 6
UNRM A 0 A_TakeInventory("DisableMonsterSummon", 999)
goto Ready+1
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
UNRM A 1 A_Lower
loop
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
UNRM A 1 A_Raise
Loop
Flash:
TNT1 A 15 A_SpawnItemEx("FrankenRageRadius", 0, 0, 0, 0, 0, 0,0,SXF_NOCHECKPOSITION)
TNT1 A 0 A_JumpIfInventory("PowerUnknownRMShield", 1, "Flash")
stop
}
}

actor FrankenPunchShot
{
PROJECTILE
damagetype "BossInstagib"
Obituary "$OB_FRANKENPUNCH"
//+DONTBLAST
-NOGRAVITY
+HITTRACER
+THRUSPECIES
Damage (10)
Radius 16
Height 16
Speed 35
scale 2.5
States
{
Spawn:
JUCU H 0
JUCU H 0 ThrustThingZ(0,8,0,1)
JUCU H 2
wait
Crash:
TNT1 A 0 A_JumpIfInventory("Survivor",1,1,AAPTR_TRACER)
goto Death
TNT1 A 0 A_GiveInventory("FrankenCubeWatcher1",1,AAPTR_TRACER)
Death:
DUSA A 0 A_Jump(256,"B","C","D","E","F","G")
B:
JUCT A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(2,5),0,random(2,3),random(0,359),1)
JUCT A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(2,5),0,random(3,2),random(0,359),1)
stop
C:
JUCT A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(2,5),0,random(3,2),random(0,359),1)
JUCT A 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(2,5),0,random(2,3),random(0,359),1)
stop
D:
JUCT A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(2,5),0,random(2,3),random(0,359),1)
goto C+1
E:
JUCT A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(2,5),0,random(2,3),random(0,359),1)
JUCT A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(2,5),0,random(2,3),random(0,359),1)
stop
F:
JUCT A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(2,5),0,random(2,3),random(0,359),1)
goto B+1
G:
JUCT A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(2,5),0,random(2,3),random(0,359),1)
goto C+1
}
}

actor FrankenCubeFlag : CutterFlag {}

actor FrankenCubeWatcher1 : CustomInventory
{
+INVENTORY.AUTOACTIVATE
States
{
Pickup:
TNT1 A 0 
TNT1 A 0 A_JumpIfInventory("FrankenCubeFlag",1,"Death")
TNT1 A 0 A_GiveInventory("FrankenCubeFlag",105)
TNT1 A 0 A_SpawnItemEx("FrankenCubeWatcher2")
stop
Death:
TNT1 A 0
TNT1 A 0 A_TakeInventory("FrankenCubeFlag",999)
TNT1 A 0 A_GiveInventory("FrankenCubeFlag",105)
stop
}
}
actor FrankenCubeWatcher2
{
Height 0
Radius 0
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
Renderstyle none
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Warp(AAPTR_TARGET, 0.0,0.0,0.0,0.0,WARPF_NOCHECKPOSITION)
TNT1 A 0 A_TakeFromTarget("FrankenCubeFlag",1)
TNT1 AAAA 0 A_SpawnItemEx("UnknownRMSuckFX", random(16,128), 0, random(-64,64), 0, 0, 0, random(0,360), SXF_ABSOLUTEVELOCITY|SXF_NOCHECKPOSITION)
TNT1 A 1
TNT1 A 0 A_JumpIfInTargetInventory("FrankenCubeFlag",1,"Spawn")
TNT1 A 3
Death:
TNT1 A 0
TNT1 A 0 A_TakeFromTarget("FrankenCubeFlag",999)
stop
}
}

actor FrankenRageRadius
{
Obituary "$OB_FRANKENRITUAL"
+DONTBLAST
PROJECTILE
+NOINTERACTION
+NOBLOCKMAP
damagetype "FrankenWave"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,0)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,15)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,30)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,45)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,60)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,75)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,90)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,105)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,120)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,135)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,150)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,165)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,180)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,195)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,210)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,225)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,240)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,255)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,270)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,285)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,300)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,315)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,330)
TNT1 A 0 A_SpawnItemEx("FrankenShockwave",0,0,8,18,0,0,345)
TNT1 A 2 A_Explode(15, 96, 0,0,32)
stop
}
}


actor FrankenShockwave
{
Translation "0:255=68:68"
Obituary "$OB_FRANKENRITUAL"
PROJECTILE
Scale 2.0
//+FLOORHUGGER
+DONTBLAST
//+NOEXPLODEFLOOR
+RIPPER
damagetype "FrankenWave"
//+NOINTERACTION
Speed 10
Damage (3)
Radius 32
Height 32
States
{
Spawn:
DUOR T 0
DUOR T 1
DUOR T 0 A_ChangeFlag("NOINTERACTION",0)
DUOR T 0 A_ChangeFlag("RIPPER",0)
loopit:
DUOR T 1 A_FadeOut(0.1)
loop
}
}
actor FrankenWaveProtect : PowerProtection
{
Powerup.Duration 10
DamageFactor "FrankenWave", 0.0
}


actor JunkCubeLV1
{
Damage (0)
+RIPPER
-SOLID
+NOINTERACTION
+FORCEXYBILLBOARD
Scale 2.5
Radius 30
Height 60
damagetype "BetweenEnemies"
Speed 0
mass 99999
Health 9999
+DONTRIP
PROJECTILE
+DONTBLAST
+NOGRAVITY
+DONTSPLASH
-NOBLOCKMAP
//+SHOOTABLE
+NOPAIN
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("UnknownRMSummonBlower", 0,0,0,0,0,0)
JUCU ABCDEFGEFG 3 A_TakeFromTarget("UnknownRMJunkAmmo", 20) // 20*10 = 200 ammo
TNT1 A 0 A_SpawnItemEx("JunkCubeLV1Boulder", 0, 0, 0, 0, 0, 0)
stop
}
}

actor UnknownRMSummonBlower : BatGirlAssist
{
States
{
Spawn:
TNT1 A 0
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 ACS_Execute(247,0,-11,325) // -80 normal
stop
}
}

actor JunkCubeLV2 : JunkCubeLV1
{
Scale 3.5
Radius 42
Height 84
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("UnknownRMSummonBlower", 0,0,0,0,0,0)
JUCU ABCDEFGEFG 3 A_TakeFromTarget("UnknownRMJunkAmmo", 40) // 40*10 = 400 ammo
TNT1 A 0 A_SpawnItemEx("JunkCubeLV2Boulder", 0, 0, 0, 0, 0, 0)
stop
}
}

actor JunkCubeLV3 : JunkCubeLV1
{
Scale 4.5
Radius 54
Height 108
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("UnknownRMSummonBlower", 0,0,0,0,0,0)
JUCU ABCDEFGEFG 3 A_TakeFromTarget("UnknownRMJunkAmmo", 60) // 60*10 = 600 ammo
TNT1 A 0 A_SpawnItemEx("JunkCubeLV3Boulder", 0, 0, 0, 0, 0, 0)
stop
}
}

actor JunkCubeLV4 : JunkCubeLV1
{
Scale 5.5
Radius 66
Height 132
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("UnknownRMSummonBlower", 0,0,0,0,0,0)
JUCU ABCDEFGEFG 3 A_TakeFromTarget("UnknownRMJunkAmmo", 80) // 80*10 = 800 ammo
TNT1 A 0 A_SpawnItemEx("JunkCubeLV4Boulder", 0, 0, 0, 0, 0, 0)
stop
}
}

actor JunkCubeLV5 : JunkCubeLV1
{
Scale 6.5
Radius 78
Height 156
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("UnknownRMSummonBlower", 0,0,0,0,0,0)
JUCU ABCDEFGEFG 3 A_TakeFromTarget("UnknownRMJunkAmmo", 100) // 100*10 = 1000 ammo
TNT1 A 0 A_SpawnItemEx("JunkCubeLV5Boulder", 0, 0, 0, 0, 0, 0)
stop
}
}

actor JunkCubeLV5Boulder : JunkCubeLV5
{
PROJECTILE
+NOGRAVITY
-NOINTERACTION
states
{
Spawn:
TNT1 A 0
JUCU EEEE 1 //ThrustThingZ(0, 3, 1, 1)
JUCU FFFF 1 //ThrustThingZ(0, 3, 1, 1)
JUCU GGGG 1 //ThrustThingZ(0, 3, 1, 1)
//loop
Death:
XDeath:
Crash:
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_PlaySoundEx("weapon/Shoomp", "Weapon")
JUCU A 0 A_SpawnItemEx("MagnetMissileWep", 0, 0, 0, 0, 0, 0)
stop
}
}

actor JunkCubeLV4Boulder : JunkCubeLV4
{
PROJECTILE
+NOGRAVITY
-NOINTERACTION
states
{
Spawn:
TNT1 A 0
JUCU EEEE 1 //ThrustThingZ(0, 3, 1, 1)
JUCU FFFF 1 //ThrustThingZ(0, 3, 1, 1)
JUCU GGGG 1 //ThrustThingZ(0, 3, 1, 1)
//loop
Death:
XDeath:
Crash:
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_PlaySoundEx("weapon/Shoomp", "Weapon")
JUCU A 0 A_SpawnItemEx("HardKnuckleWep", 0, 0, 0, 0, 0, 0)
stop
}
}

actor JunkCubeLV3Boulder : JunkCubeLV3
{
PROJECTILE
+NOGRAVITY
-NOINTERACTION
states
{
Spawn:
TNT1 A 0
JUCU EEEE 1 //ThrustThingZ(0, 3, 1, 1)
JUCU FFFF 1 //ThrustThingZ(0, 3, 1, 1)
JUCU GGGG 1 //ThrustThingZ(0, 3, 1, 1)
//loop
Death:
XDeath:
Crash:
TNT1 A 0 A_ChangeFlag("NOINTERACTION", 1)
TNT1 A 0 A_ChangeFlag("NOBLOCKMAP", 1)
JUCU A 0 A_SpawnItemEx("SummonedSniperArmor", 0,0,0,0,0,0)
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_PlaySoundEx("weapon/Shoomp", "Weapon")
TNT1 A 1
stop
}
}

actor SummonedSniperArmorSummoner
{
+NOINTERACTION
+DONTBLAST
+NOBLOCKMAP
States
{
Spawn:
JUCU E 105
stop
}
}

actor JunkCubeLV2Boulder : JunkCubeLV2
{
PROJECTILE
+NOGRAVITY
-NOINTERACTION
states
{
Spawn:
TNT1 A 0
JUCU EEEE 1 //ThrustThingZ(0, 3, 1, 1)
JUCU FFFF 1 //ThrustThingZ(0, 3, 1, 1)
JUCU GGGG 1 //ThrustThingZ(0, 3, 1, 1)
//loop
XDeath:
Crash:
Death:
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_PlaySoundEx("weapon/Shoomp", "Weapon")
TNT1 A 1
JUCU A 0 A_SpawnItemEx("SummonedHotHead", 0, 0, 0, 0, 0, 0)
stop
}
}

actor JunkCubeLV1Boulder : JunkCubeLV1
{
-NOINTERACTION
PROJECTILE
+NOGRAVITY
states
{
Spawn:
TNT1 A 0
JUCU EEEE 1 //ThrustThingZ(0, 3, 1, 1)
JUCU FFFF 1 //ThrustThingZ(0, 3, 1, 1)
JUCU GGGG 1 //ThrustThingZ(0, 3, 1, 1)
//loop
XDeath:
Crash:
Death:
JUCU A 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris4",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris5",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris6",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris7",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris8",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_SpawnItemEx("JunkDebris9",0,0,0,random(13,17),0,random(15,20),random(0,359))
JUCU A 0 A_PlaySoundEx("weapon/Shoomp", "Weapon")
TNT1 A 1
JUCU A 0 A_SpawnItemEx("SummonedMettaur", 0, 0, 0, 0, 0, 0)
stop
}
}


actor JunkDebris1
{
scale 2.5
States
{
Spawn:
JUCU H 140
JUCU HHHHHHHHHH 4 A_Fadeout(0.1)
stop
}
}

actor JunkDebris2 
{
scale 2.5
States
{
Spawn:
JUCU I 140
JUCU IIIIIIIIII 4 A_Fadeout(0.1)
stop
}
}

actor JunkDebris3 
{
scale 2.5
States
{
Spawn:
JUCU J 140
JUCU JJJJJJJJJJ 4 A_Fadeout(0.1)
stop
}
}

actor JunkDebris4 
{
scale 2.5
States
{
Spawn:
JUCU K 140
JUCU KKKKKKKKKK 4 A_Fadeout(0.1)
stop
}
}

actor JunkDebris5 
{
scale 2.5
States
{
Spawn:
JUCU L 140
JUCU LLLLLLLLLL 4 A_Fadeout(0.1)
stop
}
}

actor JunkDebris6 
{
scale 2.5
States
{
Spawn:
JUCU M 140
JUCU MMMMMMMMMM 4 A_Fadeout(0.1)
stop
}
}

actor JunkDebris7
{
scale 2.5
States
{
Spawn:
JUCU N 140
JUCU NNNNNNNNNN 4 A_Fadeout(0.1)
stop
}
}

actor JunkDebris8 
{
scale 2.5
States
{
Spawn:
JUCU O 140
JUCU OOOOOOOOOO 4 A_Fadeout(0.1)
stop
}
}

actor JunkDebris9 
{
scale 2.5
States
{
Spawn:
JUCU P 140
JUCU PPPPPPPPPP 4 A_Fadeout(0.1)
stop
}
}

actor UnknownRMSummonArtefact : CustomInventory
{
inventory.amount 1
inventory.maxamount 1
inventory.icon "SXISI5"
+INVENTORY.UNDROPPABLE
+COUNTITEM
+INVBAR
states
{
Spawn:
TNT1 A 0
loop
Use:
TNT1 A 0
TNT1 A 0 A_JumpIfInventory("DisableMonsterSummon", 1, 10) 
TNT1 A 0 A_JumpIfInventory("UnknownRMDisableSummon", 1, 9)
TNT1 A 0// A_JumpIfInventory("UnknownRMJunkAmmo", 1000, "SummonLV5")
TNT1 A 0// A_JumpIfInventory("UnknownRMJunkAmmo", 800, "SummonLV4")
TNT1 A 0 A_JumpIfInventory("UnknownRMLimiterRemoval", 6, 2)
TNT1 A 0 A_JumpIfInventory("UnknownRMJunkAmmo", 600, "SummonLV3")
TNT1 A 0 A_JumpIfInventory("UnknownRMLimiterRemoval", 7, 2)
TNT1 A 0 A_JumpIfInventory("UnknownRMJunkAmmo", 400, "SummonLV2")
TNT1 A 0 A_JumpIfInventory("UnknownRMLimiterRemoval", 8, 2)
TNT1 A 0 A_JumpIfInventory("UnknownRMJunkAmmo", 200, "SummonLV1")
TNT1 A 0
fail
SummonLV1:
TNT1 A 0 A_GiveInventory("LV1Mettaur", 1)
TNT1 A 0 A_GiveInventory("DisableMonsterSummon", 1)
fail
SummonLV2:
TNT1 A 0 A_GiveInventory("LV2HotHead", 1)
TNT1 A 0 A_GiveInventory("DisableMonsterSummon", 1)
fail
SummonLV3:
TNT1 A 0 A_GiveInventory("LV3SniperArmor", 1)
TNT1 A 0 A_GiveInventory("DisableMonsterSummon", 1)
fail
SummonLV4:
TNT1 A 0 A_GiveInventory("LV4Bikky", 1)
TNT1 A 0 A_GiveInventory("DisableMonsterSummon", 1)
fail
SummonLV5:
TNT1 A 0 A_GiveInventory("LV5GiantMetall", 1)
TNT1 A 0 A_GiveInventory("DisableMonsterSummon", 1)
fail
NoSummon:
TNT1 A 0
fail
}
}

actor DisableMonsterSummon : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor LV1Mettaur : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor LV2HotHead : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor LV3SniperArmor : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor LV4Bikky : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor LV5GiantMetall : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor UnknownRMDisableSummon : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor UnknownRMFist : SaxtonFist
{
-NOINTERACTION
-RIPPER
radius 10
height 25
damage (35)
scale 2.5
Obituary "$OB_FRANKENPUNCH"
damagetype "NoKillSummonsPls"
translation "192:192=68:68", "198:198=92:92"
speed 75
States
{
Spawn:
F_PR B 0
F_PR B 3 A_CountDown
wait
Death:
SXP1 B 0 A_Explode(35,20,0,0,20)
goto XDeath
}
}


actor UnknownRMJunkWorkshop : CustomInventory
{
states
{
Pickup:
WEAP B 0 A_SpawnItemEx("UnknownRMJunkAssist", 0, 0, 0)
stop
}
}

actor UnknownRMJunkAssist : BatGirlAssist // BatGirlAssist is located in Remilia's weapon text file
{
states
{
Spawn:
TNT1 A 0
NormalRefill:
TNT1 A 0 A_GiveToTarget("UnknownRMJunkAmmo", 1)
TNT1 A 0 A_Warp(AAPTR_TARGET, 0, 0, 16, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)
TNT1 A 1 ACS_NamedExecute("SH_FrankenRadius",0,1,9500,1)
TNT1 A 0 A_Warp(AAPTR_TARGET, 0, 0, 16, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)
TNT1 A 1 //ACS_NamedExecute("SH_FrankenRadius",0,1,9500,1)
TNT1 A 0 A_Warp(AAPTR_TARGET, 0, 0, 16, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)
TNT1 A 1 ACS_NamedExecute("SH_FrankenRadius",0,1,9500,1)
TNT1 A 0 A_JumpIfInTargetInventory("UnknownRMRitual", 1, "SuperRefill")
TNT1 A 0 A_GiveToTarget("UnknownRMJunkAmmo", 1)
TNT1 A 0 A_Warp(AAPTR_TARGET, 0, 0, 16, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)
TNT1 A 1 //ACS_NamedExecute("SH_FrankenRadius",0,1,9500,1)
TNT1 A 0 A_Warp(AAPTR_TARGET, 0, 0, 16, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)
TNT1 A 1 ACS_NamedExecute("SH_FrankenRadius",0,1,9500,1)
TNT1 A 0 A_Warp(AAPTR_TARGET, 0, 0, 16, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)
TNT1 A 1 //ACS_NamedExecute("SH_FrankenRadius",0,1,9500,1)
TNT1 A 0 A_Warp(AAPTR_TARGET, 0, 0, 16, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)
TNT1 A 1 ACS_NamedExecute("SH_FrankenRadius",0,1,9500,1)
TNT1 A 0 A_JumpIfInTargetInventory("UnknownRMRitual", 1, "SuperRefill")
TNT1 A 1 //ACS_NamedExecute("SH_FrankenRadius",0,1,9500,1)
loop
SuperRefill:
TNT1 A 0 A_GiveToTarget("UnknownRMJunkAmmo", 1)
TNT1 A 0 A_Warp(AAPTR_TARGET, 0, 0, 16, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)
TNT1 A 1 ACS_NamedExecute("SH_FrankenRadius",0,2,9500,1)
TNT1 A 0 A_Warp(AAPTR_TARGET, 0, 0, 16, 0, WARPF_COPYINTERPOLATION|WARPF_NOCHECKPOSITION)
TNT1 A 1 ACS_NamedExecute("SH_FrankenRadius",0,1,9500,1)
TNT1 A 0 A_JumpIfInTargetInventory("UnknownRMRitual", 1, "SuperRefill")
goto NormalRefill
Death:
TNT1 A 0
stop
}
}

actor UnknownRMAssistDamager : UnknownRMJunkAssist
{
states
{
Spawn:
TNT1 A 2
Damaging:
TNT1 A 15 A_GiveToTarget("UnknownRMRadiusItem", 1)
TNT1 A 0 A_JumpIfInTargetInventory("UnknownRMRitual", 1, "Damaging")
stop
}
}

actor UnknownRMRadiusItem : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("UnknownRMRadius", 0, 0, 0, 0, 0, 0)
stop
}
}

actor UnknownRMRadius
{
PROJECTILE
+DONTBLAST
+NOINTERACTION
Obituary "$OB_FRANKENRITUAL"
damagetype "BossInstagib"
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(27, 96, 0)
stop
}
}



actor GenericRobot
{
damagefactor "BetweenEnemies", 0.0
MONSTER
//bloodtype "EnemyHurtFX1"
mass 99999999
painchance 256
painsound "misc/devilpain"
damagefactor "Sakugarne", 0.1
damagefactor "ProtoBash", 0.1
damagefactor "BlazingTorch", 0.4
damagefactor "BassCrescentKick", 0.1
damagefactor "FrankenWave", 0.0
scale 2.5
+THRUSPECIES
+DONTHARMSPECIES
+MTHRUSPECIES
+FLOORCLIP
}





actor AlreadyDoneFlag : Once {}

actor SummonedMettaur : GenericRobot
{

Height 64
Radius 32
Obituary "$OB_FRANKENMET"
+THRUGHOST
-NOGRAVITY
+NEVERRESPAWN
+MISSILEMORE
+DONTBLAST
scale 2.5
Health 100 // the health is determined in the SAXTON acs due to scaling
maxstepheight 20
+DROPOFF
mass 999999
MONSTER
damagefactor "NoKillSummonsPls", 500.0 // damagetype of UnknownRM's fist
damagefactor "BetweenEnemies", 0.0
+LOOKALLAROUND
+INVULNERABLE
+WINDTHRUST
+FLOAT
+FRIENDLY
//Translation "0:2=175:175, 3:3=175:175, 5:8=175:175, 243:247=175:175"
+DONTBLAST
-ACTIVATEMCROSS
//bloodtype "EnemyHurtFX1"
speed 8

damagefactor "HyperBomb", 0.5
// resistances against ripping attacks :
damagefactor "LaserBuster", 0.57
damagefactor "RollingCutter",0.57
damagefactor "IceSlasher", 0.57
damagefactor "ThunderBeam", 0.57
damagefactor "AtomicFire3", 0.377
damagefactor "MetalBlade", 0.57
damagefactor "ShadowBlade", 0.57
damagefactor "RingBoomerang", 0.57
damagefactor "WindStorm", 0.39
damagefactor "YamatoSpear", 0.57
damagefactor "MirrorBuster2", 0.57
damagefactor "KnightCrush", 0.57
damagefactor "Beat", 0.57
damagefactor "TopSpin", 0.90
damagefactor "GravityHold", 1.35
damagefactor "FlashBomb", 0.60
//damagefactor "MegaBall", 0.50
damagefactor "Tango", 0.57
damagefactor "IceWall", 0.57
damagefactor "IceCircleThrow", 0.5
damagefactor "SpreadDrill", 0.228
damagefactor "SpreadDrill2", 0.38
damagefactor "SpreadDrill3", 0.38
damagefactor "FlameSword", 0.424
damagefactor "SparkChaser", 0.3
damagefactor "Sakugarne", 0.1
damagefactor "ProtoBash", 0.1
damagefactor "BlazingTorch", 0.4
damagefactor "BassCrescentKick", 0.1
// end of resistances
painsound "misc/devilpain"
dropitem "WeaponEnergy", 128 //24%
//dropitem "SmallHealth", 26 //10%
dropitem "BigWeaponEnergy", 15 //2%
painchance 256
States
{
Spawn:
TNT1 A 1
TNT1 E 0 A_JumpIfInventory("AlreadyDoneFlag",1,"Look")
TNT1 A 0 ACS_ExecuteAlways(400, 0, 35)
TNT1 E 0 A_GiveInventory("AlreadyDoneFlag",1)
TNT1 E 0 ACS_NamedExecuteAlways("SH_enemystart",0)
Look:
METT D 6 A_Look//Ex(LOF_NOSOUNDCHECK,0,1400,1400,360,"See")
loop
See:
METT DDDD 3 A_JumpIfCloser(1400,"Missile")
Missile:
METT E 1 A_ChangeFlag("NOBLOOD",0)
METT E 2 A_ChangeFlag("INVULNERABLE",0)
METT F 1 A_FaceTarget
METT F 0 A_CustomMissile("SummonedMettaurShot",8,0,-18,0)
METT F 0 A_CustomMissile("SummonedMettaurShot",8,0,18,0)
METT F 3 A_CustomMissile("SummonedMettaurShot",8,0,0,0)
METT B 2
METT B 1
METT AAABBBCCCBBBAAABBBCCCBBBAAABBBCCCBBBAAABBBCCCBBBAAABBBCCCBBBAAABBBCCCBBB 1 A_Chase("","")
Hide:
METT BE 5
METT E 0 A_ChangeFlag("NOBLOOD",1)
METT D 5 A_ChangeFlag("INVULNERABLE",1)
METT D 2 A_ClearTarget
METT D 0 A_Jump(256, /*"Wait1", */"Wait2", "Wait3", "Wait4")
Goto Look
//Wait1:
//METT D 14
//goto Look
Wait2:
METT D 7
goto Look
Wait3:
METT D 10
goto Look
Wait4:
METT D 12
goto Look
Pain.NoKillSummonsPls:
Death.NoKillSummonsPls:
TNT1 A 0 ACS_ExecuteAlways(400, 0, 21)
Death:
TNT1 A 0 ACS_ExecuteAlways(400, 0, 36)
METT A 0 A_Stop
METT A 0 A_Pain
METT A 0 A_Fall
METT A 0 A_GiveInventory("IsDead", 1)
METT A 0 A_ChangeFlag("NOGRAVITY",1)
MMFX BCDE 3
TNT1 A -1
stop
Pain.RNCZaWarudo:
METT FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF 1 A_Stop
goto Missile+3
}
}

actor SummonedMettaurShot
{
Obituary "$OB_FRANKENMET"
PROJECTILE
Damage (10)
Speed 32
scale 2.6
Height 8
Radius 8
damagetype "BetweenEnemies"
SeeSound "misc/devilfire"
States
{
Spawn:
BASB A 1
loop
}
}

actor HealthScaled : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor SummonedHotHead : GenericRobot
{
Height 52
Radius 28
Obituary "$OB_FRANKENHOTHEAD"
HitObituary "$OB_FRANKENHOTHEAD"
Health 200 // the health is determined in the SAXTON acs due to scaling
scale 2.5
//bloodtype "EnemyHurtFX1"
maxstepheight 50
damagefactor "NoKillSummonsPls", 500.0 // damagetype of UnknownRM's fist
damagefactor "BetweenEnemies", 0.0
painchance 256
MONSTER
+LOOKALLAROUND
+MISSILEMORE
+MISSILEEVENMORE
+THRUGHOST
+WINDTHRUST
+FLOAT
+DROPOFF
-NOGRAVITY
+DONTBLAST
+NEVERRESPAWN
-ACTIVATEMCROSS
+FRIENDLY
dropitem "WeaponEnergy", 102//40%
//dropitem "SmallHealth", 44//17%
dropitem "BigWeaponEnergy", 26 // 10%
//dropitem "BigHealth", 4 // 1.5%
dropitem "WeaponEnergy", 10//4%
dropitem "WTank", 1//0.5%
mass 99999999
painsound "misc/devilpain"
speed 8


damagefactor "HyperBomb", 0.5
// resistances against ripping attacks :
damagefactor "LaserBuster", 0.57
damagefactor "IceSlasher", 0.57
damagefactor "RollingCutter",0.57
damagefactor "ThunderBeam", 0.57
damagefactor "AtomicFire3", 0.377
damagefactor "MetalBlade", 0.57
damagefactor "ShadowBlade", 0.57
damagefactor "RingBoomerang", 0.57
damagefactor "WindStorm", 0.39
damagefactor "YamatoSpear", 0.57
damagefactor "MirrorBuster2", 0.57
damagefactor "KnightCrush", 0.57
damagefactor "Beat", 0.57
damagefactor "TopSpin", 0.90
damagefactor "GravityHold", 1.35
damagefactor "FlashBomb", 0.60
damagefactor "GravityHold", 1.35
damagefactor "IceCircleThrow", 0.5
//damagefactor "MegaBall", 0.4
damagefactor "Tango", 0.57
damagefactor "IceWall", 0.57
damagefactor "SpreadDrill", 0.228
damagefactor "SpreadDrill2", 0.38
damagefactor "SpreadDrill3", 0.38
damagefactor "FlameSword", 0.424
damagefactor "SparkChaser", 0.3
// end of resistances
States
{
Spawn:
TNT1 A 1
TNT1 E 0 A_JumpIfInventory("AlreadyDoneFlag",1,"Look")
TNT1 A 0 ACS_ExecuteAlways(400, 0, 37)
TNT1 E 0 A_GiveInventory("AlreadyDoneFlag",1)
TNT1 E 0 ACS_NamedExecuteAlways("SH_enemystart",0)
Look:
HOTH AAAAAABBBBBB 1 A_Look//Ex(LOF_NOSOUNDCHECK,0,1400,1400,360,"See")
loop
Pain.RNCZaWarudo:
HOTH AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
goto Look
See:
HOTH A 0 A_FaceTarget
HOTH AB 6 A_SpawnItemEx("HotHeadRadius")
HOTH A 0 A_FaceTarget
HOTH AB 6 A_SpawnItemEx("HotHeadRadius")
HOTH E 6 A_FaceTarget
HOTH E 0 A_SpawnItemEx("HotHeadRadius")
HOTH F 6 A_SpawnItemEx("SummonedTackleFireOfTheSummonedHotHead", 18, 0, 48, 10, 0, random(5,12), random(-15,15))
HOTH E 6 A_FaceTarget
HOTH E 0 A_SpawnItemEx("HotHeadRadius")
HOTH F 6 A_SpawnItemEx("SummonedTackleFireOfTheSummonedHotHead", 18, 0, 48, 10, 0, random(5,12), random(-15,15))
HOTH E 6 A_FaceTarget
HOTH E 0 A_SpawnItemEx("HotHeadRadius")
HOTH F 6 A_SpawnItemEx("SummonedTackleFireOfTheSummonedHotHead", 18, 0, 48, 10, 0, random(5,12), random(-15,15))

HOTH ABABABAB 6
Goto Look
Death.NoKillSummonsPls:
TNT1 A 0 ACS_ExecuteAlways(400, 0, 22)
Death:
TNT1 A 0 ACS_ExecuteAlways(400, 0, 38)
CRAZ A 0 A_Pain
CRAZ A 0 A_Fall
METT A 0 A_GiveInventory("IsDead", 1)
CRAZ A 0 A_SpawnItem("EnemyDeathFX",0,32)
TNT1 A -1
stop
}
}

actor HotHeadRadius
{
+MISSILE
Obituary "$OB_FRANKENHOTHEAD"
damagetype "BetweenEnemies"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(18,80,0)
stop
}
}

actor SummonedTackleFireOfTheSummonedHotHead : GenericRobot
{
MONSTER
-SOLID
-SHOOTABLE
+DONTBLAST
+INVULNERABLE
-COUNTKILL
damagetype "BetweenEnemies"
//+MISSILE
painsound "misc/devilpain"
Obituary "$OB_FRANKENHOTHEAD"
scale 2.5
speed 0
mass 99999999
health 2
Damage (28) // this doesn't matter, damage is located in the Melee state
-NOGRAVITY
States
{
Spawn:
HOTH CC 1 A_JumpIf(floorz-z==0,"Bounce")
HOTH C 0 A_JumpIfCloser(45,"Melee")
HOTH CC 1 A_JumpIf(floorz-z==0,"Bounce")
HOTH C 0 A_JumpIfCloser(45,"Melee")
HOTH DD 1 A_JumpIf(floorz-z==0,"Bounce")
HOTH C 0 A_JumpIfCloser(45,"Melee")
HOTH DD 1 A_JumpIf(floorz-z==0,"Bounce")
HOTH C 0 A_JumpIfCloser(45,"Melee")
HOTH C 0 A_GiveInventory("WeaponCharge",1)
HOTH C 0 A_JumpIfInventory("WeaponCharge",35,"DeathQuiet")
loop
Bounce:
HOTH C 0 A_Look//Ex(LOF_NOSOUNDCHECK,0,0,0,360,"See")
HOTH C 0 A_Stop
HOTH C 0 A_FaceTarget
HOTH C 0 A_Recoil(-20) //-15 previously
HOTH C 0 ThrustThingZ(0,32,0,0) // 25 previously
HOTH C 0 A_GiveInventory("CutterFlag",1)
HOTH C 0 A_JumpIfInventory("CutterFlag",5,"DeathQuiet")
HOTH C 2
Goto Spawn
Melee:
HOTH C 0 A_CustomMeleeAttack(20, "other/nosound", "other/nosound", "BetweenEnemies")
goto Death
See:
HOTH C 0 A_FaceTarget
Goto Bounce+1
Death:
//CRAZ A 0 A_Pain
DeathQuiet:
CRAZ A 0 A_Stop
CRAZ A 0 A_Fall
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,0)
CRAZ A 0 A_SpawnItem("EnemyDeathFX",0,32)
stop
}
}


actor EnemyDeathFX
{
Scale 2.5
+NOGRAVITY
-SOLID
States
{
Spawn:
MMFX BCDE 3
stop
}
}

actor EnemyHurtFX1Item : CustomInventory
{
states
{
Pickup:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("EnemyHurtFX1", 13, -9, 0, 0, 0, 0)
stop
}
}
actor EnemyHurtFX1Item2 : CustomInventory
{
states
{
Pickup:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("EnemyHurtFX12", 18, -10, 15, 0, 0, 0)
stop
}
}
actor EnemyHurtFX1Item3 : CustomInventory
{
states
{
Pickup:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("EnemyHurtFX13", 23, -10, 30, 0, 0, 0)
stop
}
}

actor EnemyHurtFX1Item3SMM : EnemyHurtFX1Item3
{
states
{
Pickup:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("EnemyHurtFX13", -10, 0, 20, 0, 0, 0)
stop
}
}

actor EnemyHurtFX1Item4 : CustomInventory
{
states
{
Pickup:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("EnemyHurtFX14", 28, -10, 45, 0, 0, 0)
stop
}
}

actor EnemyHurtFX1
{
+NOINTERACTION
-SOLID
renderstyle translucent
alpha 0.85
scale 1.85
States
{
Spawn:
TNT1 A 0
MMFX A 2
MMFX A 1 A_SpawnItemEx("EnemyPainFX")
PLAY A 0 //A_PlaySoundEx("misc/devilpain","SoundSlot5")
stop
}
}

actor EnemyHurtFX12 : EnemyHurtFX1
{
scale 2.8
}

actor EnemyHurtFX13 : EnemyHurtFX1
{
scale 4.5
}

actor EnemyHurtFX14 : EnemyHurtFX1
{
scale 7.5
}

actor EnemyHurtFX14NOSOUND : EnemyHurtFX14 // not used by UNKNOWNRM's summons, it's actually for Hyper Storm H
{
states
{
Spawn:
TNT1 A 0
MMFX A 2
MMFX A 1
PLAY A 0 //A_PlaySoundEx("misc/devilpain","SoundSlot5")
stop
}
}

actor EnemyHurtFX13NOSOUND : EnemyHurtFX14NOSOUND
{
scale 4.5
}

actor EnemyHurtFXGAMMANOSOUND : EnemyHurtFX14NOSOUND
{
scale 13.0
}

actor EnemyHurtFX12NOSOUND : EnemyHurtFX12
{
states
{
Spawn:
TNT1 A 0
MMFX A 2
MMFX A 1
PLAY A 0 //A_PlaySoundEx("misc/devilpain","SoundSlot5")
stop
}
}

actor EnemyPainFX 
{
+NOINTERACTION
+NOGRAVITY
-SOLID
scale 0
States
{
Spawn:
TNT1 A 1
TNT1 A 3 A_PlaySoundEx("misc/devilpain","SoundSlot5")
stop
}
}

actor UnknownRMSuperArmor : PowerupGiver
{
+COUNTITEM
+INVENTORY.AUTOACTIVATE
+INVENTORY.ALWAYSPICKUP
Inventory.MaxAmount 1
Powerup.Type "PowerUnknownRMShield"
Powerup.Colormap 0.5, 0.5, 0.5, 1.0, 1.0, 1.0
Powerup.Duration -8
States
{
Spawn:
TNT1 A 1
Loop
}
}

actor PowerUnknownRMShield : PowerProtection
{
 damagefactor "normal", 0.2
}

actor UnknownRMAssist : BatGirlAssist
{
states
{
Spawn:
TNT1 A 0
TNT1 A 0 ACS_ExecuteAlways(400, 0, 53)
LetsDoThis:
/*TNT1 A 0 A_GiveToTarget("JunkAnnoyingNoise", 1)
TNT1 A 0 A_GiveToTarget("UnknownRMMechCircleItem", 1)
TNT1 AAA 1 A_GiveToTarget("UnknownRMAttraction", 1)
TNT1 A 0 A_GiveToTarget("JunkAnnoyingNoise", 1)
TNT1 AAA 1 A_GiveToTarget("UnknownRMAttraction", 1)
TNT1 A 0 A_GiveToTarget("JunkAnnoyingNoise", 1)
TNT1 AA 1 A_GiveToTarget("UnknownRMAttraction", 1)
TNT1 A 0 A_JumpIfInTargetInventory("PowerUnknownRMShield", 1, "LetsDoThis")*/
TNT1 A 0 A_GiveToTarget("JunkAnnoyingNoise", 1)
TNT1 A 0 A_GiveToTarget("UnknownRMMechCircleItem", 1)
TNT1 A 3
TNT1 A 0 A_GiveToTarget("JunkAnnoyingNoise", 1)
TNT1 A 3
TNT1 A 0 A_GiveToTarget("JunkAnnoyingNoise", 1)
TNT1 A 2
TNT1 A 0 A_JumpIfInTargetInventory("PowerUnknownRMShield", 1, "LetsDoThis")
YourFightFinishesHere:
TNT1 A 0 A_TakeFromTarget("UnknownRMRitual", 999)
stop
}
}

actor UnknownRMMechCircleItem : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("UnknownRMMechCircle", 0, 0, 0, 0, 0, 0)
stop
}
}

actor UnknownRMMechCircle : SaxtonHaleCircle
{
States
{
Spawn:
TNT1 A 0
UNRM ZZZZZZZZ 1 ThrustThingZ(0,22,0,0)
UNRM ZZZZZZZZ 3 A_FadeOut(0.1)
stop
}
}


actor JunkAnnoyingNoise : CustomInventory
{
states
{
Pickup:
WEAP B 0 A_PlaySoundEx("weapon/MetalMelee", "Voice")
stop
}
}

actor UnknownRMAttraction : CustomInventory
{
states
{
Pickup:
TNT1 A 0
TNT1 AAAAAAAA 0 A_SpawnItemEx("UnknownRMSuckFX", random(256,1028), 0, random(-64,64), 0, 0, 0, random(0,360), SXF_ABSOLUTEVELOCITY|SXF_NOCHECKPOSITION)
TNT1 AAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("UnknownRMSuckFX", 1028, 0, 16, 0, 0, 0, random(0,360), SXF_ABSOLUTEVELOCITY|SXF_NOCHECKPOSITION)
TNT1 A 5 ACS_Execute(247,0,4,1028,1) // 31, 9500 // 52 real script // 9500
stop
}
}

actor UnknownRMSuckFX
{
	PROJECTILE
	+CLIENTSIDEONLY
	+NOINTERACTION
	+NOCLIP
	radius 0
	height 0
	speed 20
	damage 0
	Translation "4:4=68:68", "198:198=94:94"
	scale 1.0
	states
	{
	Spawn:
		INTQ E 1 A_FaceTarget
		INTQ E 0 A_JumpIfCloser(60,"Return")
		INTQ F 1 A_FaceTarget
		INTQ F 0 A_JumpIfCloser(60,"Return")
		INTQ G 1 A_FaceTarget
		INTQ G 0 A_JumpIfCloser(60,"Return")
		INTQ F 1 A_FaceTarget
		INTQ F 0 A_JumpIfCloser(60,"Return")
		TNT1 A 0 A_CustomMissile("UnknownRMSuckFX",0,0,0,0)
		stop
	Return:
		SAPT J 0
		stop
	}
}


actor UnknownRMRitual : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor FrankenLoot : CustomInventory
{
states
{
Pickup:
TNT1 A 0
TNT1 A 0 A_SpawnItemEx("FrankenLootGo")
stop
}
}

actor FrankenLootGo
{
Height 1
Radius 1
+NOINTERACTION
-SOLID
+NOGRAVITY
+MISSILE
+NOTARGETSWITCH
States
{
Spawn:
TNT1 A 10
//TNT1 H 0 A_GiveToTarget("RemiliaRageEndNoMove", 1)
TNT1 H 0 //A_GiveToTarget("UnknownRMSuperArmor2", 1)
TheLoop:
TNT1 H 0 A_GiveToTarget("JunkCollectingNoise", 1)
TNT1 A 1 A_GiveToTarget("UnknownRMJunkAmmo", 12)
TNT1 A 0 A_GiveInventory("CutterFlag",1)
"----" H 0 A_SpawnItemEx("JunkDebris1",0,0,0,random(13,17),0,random(15,20),random(0,359))
"----" H 0 A_SpawnItemEx("JunkDebris2",0,0,0,random(13,17),0,random(15,20),random(0,359))
"----" H 0 A_SpawnItemEx("JunkDebris3",0,0,0,random(13,17),0,random(15,20),random(0,359))
TNT1 A 0 A_JumpIfInventory("CutterFlag",18,"Ending")
loop
//18
Ending:
TNT1 A 0 
TNT1 A 0 //A_TakeFromTarget("UnknownRMSuperArmor2", 1)
TNT1 A 0 //A_GiveToTarget("JunkPrev2", 1)
stop
}
}

actor JunkCollectingNoise : CustomInventory
{
states
{
Pickup:
WEAP B 0 A_PlaySoundEx("weapon/CutMelee", "Voice")
stop
}
}

actor JunkPrev1 : CustomInventory
{
states
{
Pickup:
WEAP B 0 SetPlayerProperty(0,1,5)
stop
}
}
actor JunkPrev2 : CustomInventory
{
states
{
Pickup:
WEAP B 0 SetPlayerProperty(0,0,5)
stop
}
}

actor FrankenGoingOn : CustomInventory
{
states
{
Pickup:
WEAP B 0 SetPlayerProperty(0,0,4)
stop
}
}

actor SummonedSniperArmor : GenericRobot
{
Height 128
Radius 64
Obituary "$OB_FRANKENJOE"
health 750 // this health doesn't matter, the health scales. Look in SAXTON.acs for the formulas
scale 2.5
//bloodtype "EnemyHurtFX1"
maxstepheight 10
damagefactor "HyperBomb", 0.5
// resistances against ripping attacks :
damagefactor "LaserBuster", 0.25
damagefactor "IceSlasher", 0.25
damagefactor "RollingCutter",0.25
damagefactor "ThunderBeam", 0.25
damagefactor "AtomicFire3", 0.169
damagefactor "MetalBlade", 0.25
damagefactor "ShadowBlade", 0.25
damagefactor "RingBoomerang", 0.25
damagefactor "WindStorm", 0.18
damagefactor "YamatoSpear", 0.25
damagefactor "MirrorBuster2", 0.25
damagefactor "KnightCrush", 0.25
damagefactor "Beat", 0.25
damagefactor "TopSpin", 0.90
damagefactor "FlashBomb", 0.60
damagefactor "GravityHold", 1.35
//damagefactor "MegaBall", 0.0 // No please he hates these balls //TOO BAD ITS BALL TIME.
damagefactor "Tango", 0.25
damagefactor "IceWall", 0.25
damagefactor "SpreadDrill", 0.1
damagefactor "SpreadDrill2", 0.1666667
damagefactor "SpreadDrill3", 0.1666667
damagefactor "FlameSword", 0.424
damagefactor "IceCircleThrow", 0.25
damagefactor "SparkChaser", 0.3
// end of resistances
damagefactor "NoKillSummonsPls", 500.0 // damagetype of UnknownRM's fist
damagefactor "BetweenEnemies", 0.0
dropitem "BigWeaponEnergy", 70 // 28%
//dropitem "BigHealth", 23 // 9%
dropitem "WeaponEnergy", 148 // 58%
//dropitem "SmallHealth", 51 // 20%
//dropitem "WTank", 5//2%
dropitem "ETank", 1//1%
mass 99999999
painsound "misc/devilpain"
painchance 256
MONSTER
+LOOKALLAROUND
+MISSILEMORE
+THRUGHOST
+WINDTHRUST
-FLOAT
+DROPOFF
+FRIENDLY
//+THRUGHOST
-NOGRAVITY
+DONTBLAST
+NEVERRESPAWN
-ACTIVATEMCROSS
speed 0
translation "192:192=34:34", "198:198=239:239"
//+SOLID
States
{
Spawn:
TNT1 A 1
TNT1 E 0 A_JumpIfInventory("AlreadyDoneFlag",1,"Look")
TNT1 A 0 ACS_ExecuteAlways(400, 0, 39)
TNT1 E 0 A_GiveInventory("AlreadyDoneFlag",1)
TNT1 E 0 ACS_NamedExecuteAlways("SH_enemystart3",0)
goto Look
Look:
SNAR B 0 A_ChangeFlag("SOLID",1)
SNAR B 6 A_Look//Ex(LOF_NOSOUNDCHECK,0,2000,0,360,"See")
loop
Pain.RNCZaWarudo:
SNAR BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB 1 A_Stop
goto Look
See:
SNAR B 3 A_FaceTarget
SNAR BA 2 A_FaceTarget 
SNAR C 0 A_Recoil(-8)
SNAR C 1 A_FaceTarget
SNAR C 5 ThrustThingZ(0,63,0,0)
Goto Leaping
Leaping:
SNAR C 0 A_SpawnItemEx("SniperArmorWeeeHeyWatchOut")
SNAR C 0 A_Recoil(-1)
SNAR C 1 A_FaceTarget
SNAR C 1 A_JumpIf(Floorz-z==0,"Land")
loop
Land:
SNAR A 0 A_PlaySoundEx("weapon/timestopper","Voice")
SNAR A 1 A_FaceTarget
SNAR A 4 A_Stop
SNAR BBBBBB 4 A_FaceTarget
SNAR B 0 A_FaceTarget
SNAR B 3 A_CustomMissile("SniperArmorShot",70,0,random(-1,1))
SNAR B 0 A_FaceTarget
SNAR B 3 A_CustomMissile("SniperArmorShot",70,0,random(-1,1))
SNAR B 0 A_FaceTarget
SNAR B 3 A_CustomMissile("SniperArmorShot",70,0,random(-1,1))
SNAR B 0 A_FaceTarget
SNAR B 3 A_CustomMissile("SniperArmorShot",70,0,random(-1,1))
SNAR B 0 A_FaceTarget
SNAR B 3 A_CustomMissile("SniperArmorShot",70,0,random(-1,1))
SNAR B 0 A_FaceTarget
SNAR B 3 A_CustomMissile("SniperArmorShot",70,0,random(-1,1))
SNAR B 0 A_FaceTarget
SNAR B 3 A_CustomMissile("SniperArmorShot",70,0,random(-1,1))
SNAR B 0 A_FaceTarget
SNAR B 3 A_CustomMissile("SniperArmorShot",70,0,random(-1,1))
SNAR B 0 A_FaceTarget
SNAR B 3 A_CustomMissile("SniperArmorShot",70,0,random(-1,1))
SNAR B 0 A_FaceTarget
SNAR B 3 A_CustomMissile("SniperArmorShot",70,0,random(-1,1))
SNAR B 0 A_FaceTarget
SNAR B 3 A_CustomMissile("SniperArmorShot",70,0,random(-1,1))
SNAR B 0 A_FaceTarget
SNAR B 3 A_CustomMissile("SniperArmorShot",70,0,random(-1,1))
SNAR B 0 A_Cleartarget
Goto Look
Death.NoKillSummonsPls:
TNT1 A 0 ACS_ExecuteAlways(400, 0, 23)
Death:
TNT1 A 0 ACS_ExecuteAlways(400, 0, 40)
SNAR A 0 A_Stop
SNAR A 0 A_Pain
SNAR A 0 A_Fall
METT A 0 A_GiveInventory("IsDead", 1)
SNAR A 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 AAAAAA 2 A_SpawnItemEx("BigEnemyExplode",random(-128,128),random(-128,128),random(0,128))
TNT1 A -1
stop
}
}

actor SniperArmorWeeeHeyWatchOut
{
-SOLID
PROJECTILE
Obituary "$OB_FRANKENJOE"
damagetype "BetweenEnemies"
States
{
Spawn:
TNT1 A 0
TNT1 A 1 A_Explode(33,75,0)
stop
}
}

actor SniperArmorShot
{
PROJECTILE
Damage (6)
Obituary "$OB_FRANKENJOE"
damagetype "BetweenEnemies"
Speed 62
scale 2.5
Height 9
+DONTBLAST
Radius 9
SeeSound "misc/devilfire"
States
{
Spawn:
BASB A 1
loop
}
}

actor BigEnemyExplode
{
+NOGRAVITY
+NOINTERACTION
-SOLID
scale 2.5
+CLIENTSIDEONLY
states
{
Spawn:
NAPA A 0 
NAPA A 0 A_PlaySoundEx("weapon/drillexplode", "Weapon")
NAPA EFGHIJKLMNOPQRS 2
stop
}
}

actor UnknownRMLimiterRemoval : Inventory
{
inventory.amount 1
inventory.maxamount 8
}

actor JunkCubeLV1Check
{
PROJECTILE
+DONTBLAST
damage (0)
Height 40
Radius 28
+RIPPER
States
{
Spawn:
TNT1 A 1
TNT1 A 0 A_GiveToTarget("SummonConfirmed", 1)
stop
}
}

actor SummonConfirmed : Inventory
{
inventory.amount 1
inventory.maxamount 1
}

actor JunkCubeLV2Check : JunkCubeLV1Check
{
Height 52
Radius 28
}

actor JunkCubeLV3Check : JunkCubeLV1Check
{
Height 128
Radius 64
}
