// Weapon //

actor HyperStormHBossWeapon : MegaBuster
{
tag "Hyper Inhale"
Weapon.AmmoUse 0
Weapon.AmmoGive 0
Weapon.SlotNumber 2
Obituary "$OB_HSHRHITBOX"
+INVENTORY.UNDROPPABLE
weapon.ammotype "BossJumpChargeH"
weapon.ammotype2 "BossRageCharge4"
+WEAPON.AMMO_OPTIONAL
Scale 2.0
States
{
Spawn:
TNT1 A 0
stop
Ready:
GHSH I 0 ACS_NamedExecuteAlways("GiveExecution",0)
GHSH I 0 A_SpawnItemEx("HyperStormHRadiusAssist")
GHSH I 0 A_GiveInventory("JumpChargeSpeed2",1)
GHSH I 0 ACS_ExecuteAlways(991,0,521)
GHSH I 0 A_JumpIfInventory("GenesisUnitFakeHealth", 1, 2)
GHSH I 0 A_Jump(256, 2)
GHSH I 0 ACS_ExecuteAlways(991,0,522)
GHSH I 0 A_WeaponReady
GHSH I 0 A_TakeInventory("HyperStormHInhalation",1)
GHSH I 1 A_WeaponReady
//GHSH I 0 A_TakeInventory("HyperStormHInhalation",1)
//GHSH I 1 A_WeaponReady
GHSH I 0 A_GiveInventory("HyperStormAmmo",1)
GHSH I 0 A_TakeInventory("HyperStormHInhalation",1)
Goto Ready+2
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
GHSH I 1 A_Lower
Goto Deselect+1
Select:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
GHSH I 1 A_Raise
Loop
Fire:
GHSH I 2 A_TakeInventory("StrangeHyperStormHBugFlag", 999)
GHSH I 0 A_PlaySoundEx("weapon/shadedive", "Weapon")
GHSH J 3
GHSH K 4
GHSH K 0 A_GiveInventory("NoJumpHSH",1)
GHSH K 1 A_GiveInventory("PartiallyFrozenONItem", 1) // copy of the right above code
Hold:
TNT1 A 0 A_JumpIfInventory("StrangeHyperStormHBugFlag", 1, "Fire")
BUST B 0 A_FireCustomMissile("SuckBullet",random(-10,10),5,0,64,0,random(-5,5))
BUST B 0 A_FireCustomMissile("SuckBullet2",10,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",0,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",-10,2,0,0,64,0)
PRPH A 0 ACS_Execute(247,0,7,200)
GHSH K 0 //A_GiveInventory("HyperStormHInhalation", random(2,3))
GHSH K 0 A_JumpIfInventory("HyperStormHInhalation", 245, "RelaxStormy")
GHSH K 1
BUST B 0 A_FireCustomMissile("SuckBullet",random(-10,10),5,0,64,0,random(-5,5))
BUST B 0 A_FireCustomMissile("SuckBullet2",10,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",0,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",-10,2,0,0,64,0)
PRPH A 0 ACS_Execute(247,0,6,200)
GHSH K 0 A_GiveInventory("HyperStormHInhalation", random(2,3))
GHSH K 0 A_JumpIfInventory("HyperStormHInhalation", 245, "RelaxStormy")
GHSH K 1
BUST B 0 A_FireCustomMissile("SuckBullet",random(-10,10),5,0,64,0,random(-5,5))
BUST B 0 A_FireCustomMissile("SuckBullet2",10,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",0,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",-10,2,0,0,64,0)
PRPH A 0 ACS_Execute(247,0,7,200)
GHSH K 0 A_GiveInventory("HyperStormHInhalation", random(2,3))
GHSH K 0 A_JumpIfInventory("HyperStormHInhalation", 245, "RelaxStormy")
GHSH K 1
GHSH K 0 A_PlaySoundEx("class/windloop", "Weapon")
GHSH K 0 A_Refire("Hold2")
goto EndingInhale
Hold2:
TNT1 A 0 A_JumpIfInventory("StrangeHyperStormHBugFlag", 1, "Fire")
BUST B 0 A_FireCustomMissile("SuckBullet",random(-10,10),5,0,64,0,random(-5,5))
BUST B 0 A_FireCustomMissile("SuckBullet2",10,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",0,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",-10,2,0,0,64,0)
PRPH A 0 ACS_Execute(247,0,7,200)
GHSH K 0 //A_GiveInventory("HyperStormHInhalation", random(2,3))
GHSH K 0 A_JumpIfInventory("HyperStormHInhalation", 245, "RelaxStormy")
GHSH K 1
BUST B 0 A_FireCustomMissile("SuckBullet",random(-10,10),5,0,64,0,random(-5,5))
BUST B 0 A_FireCustomMissile("SuckBullet2",10,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",0,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",-10,2,0,0,64,0)
PRPH A 0 ACS_Execute(247,0,6,200)
GHSH K 0 A_GiveInventory("HyperStormHInhalation", random(2,3))
GHSH K 0 A_JumpIfInventory("HyperStormHInhalation", 245, "RelaxStormy")
GHSH K 1
BUST B 0 A_FireCustomMissile("SuckBullet",random(-10,10),5,0,64,0,random(-5,5))
BUST B 0 A_FireCustomMissile("SuckBullet2",10,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",0,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",-10,2,0,0,64,0)
PRPH A 0 ACS_Execute(247,0,7,200)
GHSH K 0 A_GiveInventory("HyperStormHInhalation", random(2,3))
GHSH K 0 A_JumpIfInventory("HyperStormHInhalation", 245, "RelaxStormy")
GHSH K 1
GHSH K 0 A_PlaySoundEx("class/windloop", "Weapon")
GHSH K 0 A_Refire("Hold3")
goto EndingInhale
Hold3:
TNT1 A 0 A_JumpIfInventory("StrangeHyperStormHBugFlag", 1, "Fire")
BUST B 0 A_FireCustomMissile("SuckBullet",random(-10,10),5,0,64,0,random(-5,5))
BUST B 0 A_FireCustomMissile("SuckBullet2",10,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",0,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",-10,2,0,0,64,0)
PRPH A 0 ACS_Execute(247,0,12,200)
GHSH K 0 //A_GiveInventory("HyperStormHInhalation", random(2,3))
GHSH K 0 A_JumpIfInventory("HyperStormHInhalation", 245, "RelaxStormy")
GHSH K 1
BUST B 0 A_FireCustomMissile("HyperStormBullet",0,0,0,24,0,0)
BUST B 0 A_FireCustomMissile("SuckBullet",random(-10,10),5,0,64,0,random(-5,5))
BUST B 0 A_FireCustomMissile("SuckBullet2",10,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",0,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",-10,2,0,0,64,0)
GHSH I 0 A_PlaySoundEx("misc/devilfire","Body")
PRPH A 0 ACS_Execute(247,0,10,200)
GHSH K 0 A_GiveInventory("HyperStormHInhalation", random(2,3))
GHSH K 0 A_JumpIfInventory("HyperStormHInhalation", 245, "RelaxStormy")
GHSH K 1
BUST B 0 A_FireCustomMissile("SuckBullet",random(-10,10),5,0,64,0,random(-5,5))
BUST B 0 A_FireCustomMissile("SuckBullet2",10,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",0,2,0,0,64,0)
BUST B 0 A_FireCustomMissile("SuckBullet2",-10,2,0,0,64,0)
PRPH A 0 ACS_Execute(247,0,12,200)
GHSH K 0 A_GiveInventory("HyperStormHInhalation", random(2,3))
GHSH K 0 A_JumpIfInventory("HyperStormHInhalation", 245, "RelaxStormy")
GHSH K 1
GHSH K 0 A_PlaySoundEx("class/windloop", "Weapon")
GHSH K 0 A_Refire("Hold")
goto EndingInhale
EndingInhale:
GHSH KJ 6
GHSH J 0 A_GiveInventory("PartiallyFrozenOFFItem", 1)
GHSH I 30
GHSH I 0 A_TakeInventory("NoJumpHSH",1)
Goto Ready+2

RelaxStormy:
GHSH KJ 6
GHSH J 0 A_GiveInventory("PartiallyFrozenOFFItem", 1)
GHSH I 24
Goto RelaxingProcess
RelaxingProcess:
GHSH I 0 //A_GiveInventory("BossJumpChargeH",2)
GHSH I 1 A_TakeInventory("HyperStormHInhalation",2)
GHSH I 0 A_GiveInventory("HyperStormAmmo",1)
GHSH II 1 A_TakeInventory("HyperStormHInhalation",2)
GHSH I 0 A_JumpIfInventory("HyperStormHInhalation", 1, "RelaxingProcess")
GHSH I 0 A_TakeInventory("NoJumpHSH",1)
GHSH I 0 A_TakeInventory("HyperStormHInhalation", 999)
GHSH I 0 A_GiveInventory("StrangeHyperStormHBugFlag", 1)
ReadySP: // exactly like Ready, but somehow it didn't work with "goto Ready+8"
GHSH I 1 A_WeaponReady
GHSH I 0 A_TakeInventory("HyperStormHInhalation",2)
GHSH I 1 A_WeaponReady
GHSH I 0 A_TakeInventory("HyperStormHInhalation",2)
GHSH I 1 A_WeaponReady
GHSH I 0 //A_GiveInventory("BossJumpChargeH",4)
GHSH I 0 A_GiveInventory("HyperStormAmmo",1)
GHSH I 0 A_TakeInventory("HyperStormHInhalation",2)
GHSH I 0 ACS_ExecuteAlways(991,0,521)
loop

AltFire:
GHSH I 0 A_JumpIfInventory("BossRageCharge4",2000,"HyperJump")
GHSH I 1
GHSH I 0 A_JumpIfInventory("HyperStormAmmo",350,"AltDash")
Goto NoAmmo
AltDash:
GHSH I 2 A_JumpIfInventory("HyperStormAmmo",350,1)
Goto NoAmmo
HSHH E 0 A_GiveInventory("NoJumpHSH",1)
HSHH E 0 A_PlaySound("misc/quake","Weapon")
HSHH E 0 Radius_Quake(6,35,0,50,0)
HSHH EFGH 2
HSHH E 0 A_PlaySound("misc/quake","Weapon")
HSHH E 0 Radius_Quake(6,35,0,50,0)
HSHH EFGH 2
HSHH E 0 A_PlaySound("misc/quake","Weapon")
HSHH E 0 Radius_Quake(6,35,0,50,0)
HSHH EFGH 2
HSHH E 0 A_PlaySound("misc/quake","Weapon")
HSHH E 0 Radius_Quake(6,35,0,50,0)
AltDashC:
HSHH E 0 A_TakeInventory("HyperStormAmmo",15)
HSHH E 0 A_GiveInventory("HSHRunFlag",1)
HSHH E 0 A_SpawnItemEx("HSHPushHitBox",32)
HSHH E 0 Radius_Quake(3,10,0,50,0)
HSHH E 0 ThrustThing(angle*256/360,4.5,0,0)
HSHH E 0 A_SpawnItemEx("HSHDustPath",-8,48,0)
HSHH E 0 A_SpawnItemEx("HSHDustPath",-8,-48,0)
HSHH E 0 A_PlaySound("misc/quake","Weapon")
HSHH EFGH 1
HSHH E 1 A_JumpIfInventory("HyperStormAmmo",1,"AltDashC")
HSHH E 0 A_TakeInventory("HSHRunFlag",99)
HSHH E 0 A_TakeInventory("NoJumpHSH",30)
goto Ready+2


HyperJump:
GHSH I 0 A_TakeInventory("BossRageCharge4",2000)
GHSH I 0 ACS_ExecuteAlways(400, 0, 229) // Take the bossragecharge to every hales
GHSH I 0 SetPlayerProperty(0,1,4)
GHSH I 0 A_Changeflag("INVULNERABLE",1)
GHSH IJK 5
	GHSH K 0 A_PlaySoundEx("weapon/watershieldburst", "SoundSlot7", 0, 1)
	GHSH K 0 A_SpawnItemEx("MetDaddyJumpFog")
	GHSH K 0 ThrustThingZ(0,100,0,0)
	//GHSH K 0 A_FaceTarget
	GHSH KKKKKKKKKKK 2 A_SpawnItemEx("HyperStormAfterImage",-1)
	GHSH I 0 A_Setgravity(0.0)
	GHSH KKKKKKKKKKKKKKKKKKKKKKKKK 1 A_Stop
	//TNT1 A 0 A_SpawnItemEx("HyperStormHCrushingAssist", 0, 0, 0, 0, 0, 0)
	GHSH I 0 ThrustThingZ(0, 300, 1, 1)
	HyperFall:
	GHSH K 0 A_SetGravity(1.0)
	GHSH K 0 A_SpawnItemEx("HyperStormAfterImage",-1)
	GHSH K 0 A_JumpIf(floorz==z, "HyperLand")
	GHSH K 0 A_JumpIfInventory("HSHRageFlag",105,"HyperLand")
	GHSH K 1 A_Checkfloor("HyperLand")
	GHSH K 0 A_GiveInventory("HSHRageFlag",1)
	loop
	HyperLand:
	GHSH K 0 A_SpawnItemEx("HyperStormHRageRadius",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION)
TNT1 A 0 A_PlaySoundEx("weapon/supernitroblast", "Voice")
GHSH AAAAAAA 0 A_SpawnItemEx("SummonedHyperMettaur", 0, 0, 76, random(2, 20), 0, random(20, 40), random(0,359),SXF_NOCHECKPOSITION)
	GHSH KKKKKKKKKJJJIII 2 A_SpawnItemEx("HyperStormHPowerWave1", 0, 0, -10, 0, 0, 3)
	GHSH I 75
	GHSH I 0 A_Changeflag("INVULNERABLE",0)
	GHSH I 0 A_TakeInventory("HSHRageFlag",150)
	GHSH I 0 SetPlayerProperty(0,0,4)
	Goto Ready+2
NoAmmo:
GHSH I 1 ACS_Execute(979,0)
GHSH I 0 A_Refire
goto Ready+2
}
}

actor HyperStormAfterImage
{
+CLIENTSIDEONLY
+NOINTERACTION
-SOLID
scale 2.5
renderstyle stencil
stencilcolor "blue"
alpha 0.5
states
{
	Spawn:
	GHSH X 1 A_FadeOut(0.05)
	loop
}
}

actor HSHDustPath {
+NOINTERACTION
+FLOORHUGGER
PROJECTILE
Radius 0
Height 0
Damage 0
Obituary "%o had dust in their eyes thanks to \chhyper storm h \c-(%k)."
Scale 4
States {
Spawn:
DUSF XYZ 8
stop
}
}

actor HSHPushHitBox {
PROJECTILE
Radius 100
Height 128
Damage (15)
species "GenesisUnit" +THRUSPECIES +MTHRUSPECIES
DamageType "HSHPushAway"
Obituary "$OB_HYPERBASH"
States {
Spawn:
TNT1 A 1
stop
Crash:
TNT1 A 0 //A_GiveToTarget("CrushCrush",1)
stop
}
}

actor CrushCrush : CustomInventory
{
+INVENTORY.AUTOACTIVATE
states
{
Pickup:
TNT1 A 0 A_Stop
TNT1 A 0 A_Recoil(15)
TNT1 A 0 //A_TakeInventory ("HyperStormAmmo",9999)
stop
}
}
actor HSHRunFlag : Inventory {inventory.maxamount 1}
actor HSHRageFlag : Inventory {inventory.maxamount 105}

actor HyperStormBullet : MetShot
{
speed 40
height 32
radius 32
species "GenesisUnit" +THRUSPECIES +MTHRUSPECIES
obituary "$OB_HYPERSTORMSHOT"
damagetype "BossInstagib"
damage (15)
+FORCEXYBILLBOARD
States
{
Spawn:
TNT1 A 1
TNT1 A 3
BASB A 1
Goto Spawn+2
}
}

actor HyperStormHRadiusAssist
{
PROJECTILE
+NOINTERACTION
+DONTBLAST
scale 5.0
+NOBLOCKMAP
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_JumpIfInTargetInventory("HyperStormHBossWeapon", 1, 1)
goto Death
TNT1 A 11 A_GiveToTarget("HyperStormHRadiusItem", 1)
TNT1 A 0 A_JumpIfInTargetInventory("HyperStormHBossWeapon", 1, 1)
goto Death
TNT1 A 12 A_GiveToTarget("HyperStormHRadiusItem", 1)
TNT1 A 0 A_JumpIfInTargetInventory("HyperStormHBossWeapon", 1, 1)
goto Death
TNT1 A 12 A_GiveToTarget("HyperStormHRadiusItem", 1)
goto Spawn
Death:
HOGA D 0
stop
}
}

actor HyperStormHRadiusItem : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_SpawnItemEx("HyperStormHRadius", 0, 0, 0, 0, 0, 0)
stop
}
}

actor HyperStormHRadius
{
Obituary "$OB_HSHHITBOX2"
+DONTBLAST
PROJECTILE
+NOINTERACTION
+NOBLOCKMAP
species "GenesisUnit" +THRUSPECIES +MTHRUSPECIES
damagetype "BossInstagib"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(10, 112, 0)
stop
}
}

actor HyperStormHRageRadius
{
Obituary "$OB_HYPERSLAMDOWN"
+DONTBLAST
PROJECTILE
+NOINTERACTION
+NOBLOCKMAP
species "GenesisUnit" +THRUSPECIES +MTHRUSPECIES
damagetype "BossInstagib"
States
{
Spawn:
TNT1 A 0
TNT1 AAAAAA 2 A_Explode(1000, 500, 0,0,500)
stop
}
}

actor HyperStormHSucker : FastProjectile
{
PROJECTILE
+SKYEXPLODE
+DONTBLAST
Speed 450
Damage (0)
scale 2.5
radius 30
species "GenesisUnit" +THRUSPECIES +MTHRUSPECIES
height 30
States
{
Spawn:
TNT1 A 7
goto Death
Crash:
XDeath:
TNT1 A 0 A_Stop
TNT1 A 0 A_SpawnItemEx("HyperStormHSuckDevice", -90, 0, 0, 0, 0, 0)
goto Death
Death:
TNT1 A 0 A_Stop
stop
}
}

actor HyperStormHSuckDevice
{
PROJECTILE
+NOINTERACTION
+DONTBLAST
+NOBLOCKMAP
states
{
Spawn:
TNT1 A 0
TNT1 A 1 //ACS_Execute(247,0,10,200,1)
stop
}
}

actor HyperStormHSucker2 : HyperStormHSucker
{
//radius 8	
//height 8
States
{
Spawn:
TNT1 A 7
goto Death
XDeath:
Crash:
Death:
TNT1 A 0 A_Stop
TNT1 A 1 A_CustomMissile("HyperStormParticle", 0, 0, 0, 0)
stop
}
}

actor HyperStormParticle
{
PROJECTILE
+NOGRAVITY
height 9
radius 9
Scale 4.0
Speed 28
States
{
Spawn:
GHSH MNO 10
stop
}
}

actor SuckBullet : FastProjectile {
PROJECTILE
+RIPPER
Speed 500
Radius 2
Height 2
Damage (0)
States {
Spawn:
TNT1 A 1
loop
Death:
TNT1 A 0 A_FaceTarget
TNT1 A 0 A_CustomMissile("SuccBullet")
stop
}
}

actor SuckBullet2 : FastProjectile {
PROJECTILE
+RIPPER
+NOINTERACTION
+DONTBLAST
+NOBLOCKMAP
Speed 500
Radius 2
Height 2
Damage (0)
States {
Spawn:
TNT1 A 1
loop
Death:
TNT1 A 0 A_FaceTarget
TNT1 A 0 A_CustomMissile("SuccSuccSucc")
stop
}
}

actor SuccBullet {
PROJECTILE
+RIPPER
+NOINTERACTION
+DONTBLAST
+NOBLOCKMAP
Speed 50
Radius 0
Height 0
Damage (0)
Scale 3.5
States {
Spawn:
GHSH MMMNNNOOO 1 A_JumpIfCloser(20,"Death")
loop
Death:
GHSH O 1
stop
}
}

actor SuccSuccSucc {
PROJECTILE
+RIPPER
Speed 80
Radius 0
Height 0
Damage (0)
Scale 3.5
States {
Spawn:
TNT1 A 1 //ACS_ExecuteAlways(247,0,12,255)
TNT1 A 0 A_JumpIfCloser(20,"Death")
loop
Death:
GHSH O 1
stop
}
}


actor HyperStormHNoFire : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIf(ACS_ExecuteWithResult(400,329)==1,"KeepFiring")
TNT1 A 0 A_SpawnItemEx("NoFiringHale")
stop
KeepFiring:
TNT1 A 0
stop
}
}

actor SummonedHyperMettaur : GenericRobot
{

Height 40
Radius 28

Obituary "$OB_HSHMETTAUR"
+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
species "GenesisUnit" +THRUSPECIES +MTHRUSPECIES
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 13

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 "DioFlash", 0.0
damagefactor "BossInstagib", 0.0
damagefactor "HyperStormH", 0.0
damagefactor "HyperStormHJump", 0.0
damagefactor "MegaWaterS", 0.0
damagefactor "BusterRodG", 0.0
damagefactor "BusterRodGFire", 0.0
damagefactor "BusterRodGIce", 0.0
damagefactor "BusterRodGElec", 0.0
damagefactor "ShunGokuSatsuFateOthers", 0.0
damagefactor "MorshuFire", 0.0
damagefactor "ContagiousBurningMorshu", 0.0
damagefactor "CaveStory", 0.0
damagefactor "Torchic", 0.0
damagefactor "RebirthDynamo", 0.0
damagefactor "ThorMinion", 0.0
damagefactor "WilyFire", 0.0
damagefactor "MegaWaterSWater", 0.0
damagefactor "HSHPushAway", 0.0
// 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 A 0 ACS_ExecuteAlways(400, 0, 35)
TNT1 A 0 ACS_ExecuteAlways(400,0,50) // Pain sound/graphic support
TNT1 A 0 //ACS_ExecuteAlways(400,0,0)
METT D 175
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 D 0 A_ChangeVelocity(8, 0, 15, CVF_RELATIVE|CVF_REPLACE)
METT G 0 A_CustomMissile("HyperStormHMettaurShot",8,0,-18,0)
METT G 0 A_CustomMissile("HyperStormHMettaurShot",8,0,18,0)
METT G 5 A_CustomMissile("HyperStormHMettaurShot",8,0,0,0)
METT G 1 A_CheckFloor("Land")
wait
Land:
METT F 5 A_Stop
METT B 5
METT AAABBBCCCBBBAAABBBCCCBBBAAABBBCCCBBB 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 17
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.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 HyperStormHMettaurShot
{
species "GenesisUnit" +THRUSPECIES +MTHRUSPECIES
Obituary "$OB_HSHMETTAUR"
PROJECTILE
Damage (8)
Speed 32
scale 2.6
Height 8
Radius 8
damagetype "BossInstagib"
SeeSound "misc/devilfire"
States
{
Spawn:
BASB A 1
loop
}
}

actor HyperStormHInhalation : Inventory
{
inventory.amount 1
inventory.maxamount 245
}

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