//Now has contact damage while charging
//Mobility recoded
Actor Heatman : VCBaseClass
{
Player.ScoreIcon "HEATMUGS"
player.startitem "BaseFlagPack", 1
player.startitem "IsFromMM2"
player.startitem "NormalArmor"
player.soundclass "HeatmanC"
player.displayname "Heatman"
player.jumpz 10
player.startitem "AtomicFireBoss"
player.startitem "Base28Ammo", 28
player.startitem "Base56Ammo", 56
player.startitem "UltimateAttackItem3", 1
player.startitem "UltSoundWatcherSpawn3"
States
{
Animation2:
Spawn:
HEAM A 0
HEAM B 1 A_JumpIf(z-floorz>0, "Jumping")
HEAM A 1 A_JumpIf(z-floorz>0, "Jumping")
Goto Spawn+2
See:
HEAM BBBBBCCCCCDDDDDEEEEE 1 A_JumpIf(z-floorz>0, "Jumping")
Goto Spawn
Jumping:
HEAM I 1 A_JumpIf(z-floorz<=0, "Spawn")
wait
Animation3:
HEAM LLLLLMMMMMMMMMMNNNNNN 1
goto Spawn
Missile:
HEAM F 0 A_JumpIfInventory("HeatmanArmor",1,"Missile3")
HEAM FFFFFF 1 A_JumpIf(z-floorz>0, "JumpingMissile")
Missile2:
HEAM GGGGGGGG 1 A_JumpIf(z-floorz>0, "JumpingMissile2")
Goto Spawn+1
Missile3:
HEAM AAAAAA 1 A_JumpIf(z-floorz>0, "JumpingMissile3")
Goto Spawn+1
JumpingMissile:
HEAM J 0 A_JumpIfInventory("HeatmanArmor",1,"JumpingMissile3")
HEAM JJJJJJ 1 A_JumpIf(z-floorz<=0, "Missile")
JumpingMissile2:
HEAM KKKKKKKK 1 A_JumpIf(z-floorz<=0, "Missile2")
Goto Jumping
JumpingMissile3:
HEAM IIIIII 1 A_JumpIf(z-floorz<=0, "Missile3")
Goto Jumping
Pain.TimeStop:
PLAY A 0 SetPlayerProperty(0,1,4)
PLAY A 0 ACS_Execute(528,0)
HEAM AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 1 A_Stop
PLAY A 0 SetPlayerProperty(0,0,4)
Goto pain+1
ClassPain:
HEAM H 0 A_JumpIfInventory("HeatTackleFlag",1,"Tackle")
HEAM HHHHHHHHHH 2 A_SpawnItem("PainFX",0,3)
Goto Spawn+1
ClassDeath:
HEAM ] 12 ACS_ExecuteAlways(999,0,0)
HEAM ] 8 A_SpawnItemEx("MM2Death")
HEAM ] 0 A_PlayerScream
NOFX A 0 A_SpawnItemEx("FakeDeathFXMM2",0,0,32)
NOFX A 1 A_CheckPlayerDone
wait
ClassIceDeath:
HEAM A 35
NOFX A 0 A_SpawnItemEx("FrozenDeathFX",0,0,16)
NOFX A 1 A_CheckPlayerDone
wait
Animation1:
Tackle:
HETK ABC 2
HETK AABB 1 A_JumpIfInventory("HeatTackleFlag",1,"Tackle")
goto Spawn+1
WeaponGetM:
CUTM H 0 A_JumpIfInTargetInventory("AtomicFireWepM",1,2)
CUTM H 0 A_GiveToTarget("WeaponGetter")
CUTM H 0 A_GiveToTarget("AtomicFireWepM")
goto ClassDeath
}
}

Actor HeatmanOPPleaseNerf : PowerProtection
{
	Powerup.Duration 0x7FFFFFFF
	DamageFactor "CrashBomb", 0.0
	DamageFactor "AtomicFire1", 0.0
	DamageFactor "AtomicFire2", 0.0
	DamageFactor "AtomicFire3", 0.0
}

Actor HeatmanHealThing : CustomInventory
{
	States
	{
		Pickup:
		TNT1 A 0 A_JumpIfInventory("MM2Healing_P",1,"Nope")
		TNT1 A 0 A_GiveInventory("MM2Healing_P",1)
		TNT1 A 0 A_JumpIf(CheckClass("Heatman"),"Success")
		Goto Nope
		Success:
		TNT1 A 0 ACS_NamedExecuteAlways("VC_MM2Heal",0)
		Nope: TNT1 A 0
		Stop
	}
}

Actor MM2Healing_P : Powerup
{
	Powerup.Duration 14
}

Actor MM2HealSound_CI : CustomInventory
{
	States
	{
		Pickup:
		TNT1 A 0 A_PlaySoundEx("mm2/heal","MegaMan2")
		stop
	}
}

Actor AtomicFireBoss : VCBaseWeapon
{
Weapon.AmmoGive 28
Weapon.AmmoType "Base28Ammo"
Weapon.AmmoUse 4

Weapon.AmmoType2 "Base56Ammo"
Weapon.AmmoUse2 56
Obituary "$OB_HEATMAN1"
+WEAPON.NOAUTOAIM
States
{
Deselect:
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Lower
HEMD A 1 A_Lower
Loop
Select:
TNT1 A 0 A_GiveInventory("HeatmanOPPleaseNerf",1)
TNT1 A 0 ACS_ExecuteAlways(991,0,3746)
TNT1 AAAAAAAAAAAAAAAAAAAAAA 0 A_Raise
HEMD A 1 A_Raise
Loop

Ready:
HEMD A 0 A_JumpIfInventory("HeatmanUltFlag",1,"Ready.Ult")
HEMD A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",1,42)) HEMD A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
HEMD A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",1,42)) HEMD A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
HEMD A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",1,42)) HEMD A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
HEMD A 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",1,42)) HEMD A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
HEMD A 0 A_GiveInventory("HeatmanAmmoRegen_CI")
Goto Ready

Ready.Ult:
HEMD L 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",1,42)) HEMD A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
HEMD M 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",1,42)) HEMD A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
HEMD N 1 A_WeaponReady(WRF_NOPRIMARY*CallACS("VC_AmmoCheck",0,4)|WRF_NOSECONDARY*CallACS("VC_AmmoCheck",1,42)) HEMD A 0 A_JumpIfInventory("UltAttackFlag",1,"UltimateAttack")
HEMD A 0 A_GiveInventory("HeatmanAmmoRegen_CI")
HEMD A 0 A_JumpIfInventory("HeatmanUltFlag",1,"Ready.Ult")
Goto Ready

UltimateAttack:
TNT1 A 0 ACS_NamedExecuteAlways("VC_UltimateText",0,19)
TNT1 A 0 A_PlaySoundEx("classes/ultimateactivation","Auto")
TNT1 A 0 A_PlaySoundEx("heatman/ult","Body")
TNT1 A 0 A_GiveInventory("HeatmanUltFlag")
TNT1 A 0 A_GiveInventory("UltBuildCooldownGiver",1)
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("HeatBurnFX",random(0,32),0,random(0,64),random(1,14),0,random(-10,10),random(0,359))	
TNT1 A 0 A_TakeInventory("UltAttackFlag",999)
TNT1 A 0 A_GunFlash
HEMD L 1
Goto Ready

Fire:
HEMD A 0 A_JumpIfInventory("HeatmanUltFlag",1,"Fire.Ult")
HEMD A 0 A_PlaySoundEx("weapon/atomicfire","Weapon")
HEMD B 3
HEMD A 0 A_FireCustomMissile("HeatBlastS",-6,0,8,0)
HEMD A 0 A_FireCustomMissile("HeatBlastM",6,0,8,8)
HEMD A 0 A_FireCustomMissile("HeatBlastF",0,1,8,24)
HEMD C 1 Offset(0,36) A_GiveInventory("Base56Ammo",2)
HEMD C 1 Offset(0,28)
HEMD C 1 Offset(0,35)
HEMD C 1 Offset(0,29)
HEMD C 1 Offset(0,34) A_GiveInventory("Base56Ammo",2)
HEMD C 1 Offset(0,30)
HEMD C 1 Offset(0,33)
HEMD C 1 Offset(0,31)
HEMD C 0 A_GiveInventory("Base56Ammo",2)
HEMD CBBB 1 A_WeaponReady(WRF_NOFIRE)
HEMD A 3 A_GiveInventory("Base56Ammo",2)
Goto Ready
Fire.Ult:
HEMD A 0 A_PlaySoundEx("weapon/atomicfire","Weapon")
HEMD OPQ 1
HEMD A 0 A_FireCustomMissile("HeatBlastSBurn",-6,0,8,0)
HEMD A 0 A_FireCustomMissile("HeatBlastMBurn",6,0,8,8)
HEMD A 0 A_FireCustomMissile("HeatBlastFBurn",0,1,8,24)
HEMD R 1 Offset(0,36) A_GiveInventory("Base56Ammo",2)
HEMD S 1 Offset(0,28)
HEMD T 1 Offset(0,35)
HEMD R 1 Offset(0,29)
HEMD S 1 Offset(0,34) A_GiveInventory("Base56Ammo",2)
HEMD T 1 Offset(0,30)
HEMD R 1 Offset(0,33)
HEMD S 1 Offset(0,31)
HEMD S 0 A_GiveInventory("Base56Ammo",2)
HEMD TOPQ 1 A_WeaponReady(WRF_NOFIRE)
HEMD S 0 A_GiveInventory("Base56Ammo",2)
HEMD LMN 1
Goto Ready

Altfire.Tackle:
TNT1 A 0 A_WeaponReady(WRF_NOFIRE)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",1)
TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
HEMD M 0 A_GiveInventory("HeatmanChargePalette1_CI")
HEMD A 0 A_GiveInventory("HeatmanTackleStart_CI")
HEMD L 0 A_JumpIfInventory("HeatAltCrash",1,"Altfire.WallCrash")
HEMD L 1 A_GiveInventory("HeatmanTackleLoop_CI")
HEMD H 0 A_JumpIfInventory("HeatAltCrash",1,"Altfire.WallCrash")
HEMD H 1 A_GiveInventory("HeatmanTackleLoop_CI")
HEMD I 0 A_JumpIfInventory("HeatAltCrash",1,"Altfire.WallCrash")
HEMD I 1 A_GiveInventory("HeatmanTackleLoop_CI")
HEMD J 0 A_JumpIfInventory("HeatAltCrash",1,"Altfire.WallCrash")
HEMD J 1 A_GiveInventory("HeatmanTackleLoop_CI")
HEMD K 0 A_JumpIfInventory("HeatAltCrash",1,"Altfire.WallCrash")
HEMD K 1 A_GiveInventory("HeatmanTackleLoop_CI")
Altfire.TackleLoop:
TNT1 A 0 A_JumpIfInventory("HeatAltCrash",1,"Altfire.WallCrash")
TNT1 A 1 A_GiveInventory("HeatmanTackleLoop_CI")
TNT1 A 1 A_JumpIfInventory("HeatmanAltLimit",1,"Altfire.TackleLoop")
Goto Altfire.TackleEnd
Altfire.WallCrash:
TNT1 A 0 A_Quake(4,15,0,200)
TNT1 A 0 A_SpawnItemEx("HeatCrashExplosion",0,0,32)
TNT1 A 0 A_Stop
Altfire.TackleEnd:
HEMD A 0 A_GiveInventory("HeatmanTackleEnd_CI")
HEMD KJKIHL 1
TNT1 A 0 A_TakeInventory("WeaponCharge",99)
HEMD J 0 A_JumpIfInventory("HeatmanUltFlag",1,"AltCooldownUlt")
HEMD A 21
Goto Ready

AltCooldownUlt:
HEMD LMNLMNLMNLMNLMNLMNLMN 1
goto Ready

Altfire:
RATU A 0 A_JumpIfInventory("NoAltfire",1,"Ready")
HEMD C 2
AltHold:
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
HEMD B 0 A_JumpIfInventory("BaseCustomFlag2",1,"Altfire.Tackle")
HEMD B 0 A_JumpIfInventory("HeatmanAltLimit",56,"Althold.AlmostDone")
HEMD B 0 A_GiveInventory("HeatmanChargeSound_CI") HEMD M 0 A_GiveInventory("HeatmanChargeGeneral_CI")
HEMD D 1 Offset(0,36) A_RailWait
HEMD M 0 A_Refire("AltHold.A")
Goto Altfire.Tackle
AltHold.A:
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
HEMD M 0 A_JumpIfInventory("BaseCustomFlag2",1,"Altfire.Tackle")
HEMD M 0 A_JumpIfInventory("HeatmanAltLimit",56,"Althold.AlmostDone.A")
HEMD D 1 Offset(0,36) A_RailWait
HEMD M 0 A_Refire("AltHold.B")
Goto Altfire.Tackle
AltHold.B:
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
HEMD B 0 A_JumpIfInventory("BaseCustomFlag2",1,"Altfire.Tackle")
HEMD B 0 A_JumpIfInventory("HeatmanAltLimit",56,"Althold.AlmostDone.B")
HEMD B 0 A_GiveInventory("HeatmanChargeGeneral_CI")
HEMD E 1 Offset(0,32) A_RailWait
HEMD B 0 A_Refire("AltHold.C")
Goto Altfire.Tackle
AltHold.C:
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
HEMD B 0 A_JumpIfInventory("BaseCustomFlag2",1,"Altfire.Tackle")
HEMD B 0 A_JumpIfInventory("HeatmanAltLimit",56,"Althold.AlmostDone.C")
HEMD E 1 Offset(0,32) A_RailWait
HEMD B 0 A_Refire("AltHold")
Goto Altfire.Tackle

AltHold.AlmostDone:
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
TNT1 A 0 A_GiveInventory("LeftClickFlag")
HEMD M 0 A_JumpIfInventory("BaseCustomFlag2",1,"Altfire.Tackle")
//HEMD M 0 A_GiveInventory("HeatmanChargePalette2_CI")
HEMD M 0 A_GiveInventory("HeatmanChargeSound_CI") HEMD M 0 A_GiveInventory("HeatmanChargeGeneral_CI")
HEMD F 1 Offset(0,34) A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==7,"Synthfire")
HEMD M 0 A_Refire("AltHold.AlmostDone.A")
Goto Altfire.Tackle
AltHold.AlmostDone.A:
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
HEMD M 0 A_JumpIfInventory("BaseCustomFlag2",1,"Altfire.Tackle")
HEMD F 1 Offset(0,32) A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==7,"Synthfire")
HEMD M 0 A_Refire("AltHold.AlmostDone.B")
Goto Altfire.Tackle
AltHold.AlmostDone.B:
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
HEMD N 0 A_JumpIfInventory("BaseCustomFlag2",1,"Altfire.Tackle")
HEMD N 0 A_GiveInventory("HeatmanChargeGeneral_CI")//HEMD M 0 A_GiveInventory("HeatmanChargePalette3_CI")
HEMD G 1 Offset(0,34) A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==7,"Synthfire")
HEMD N 0 A_Refire("AltHold.AlmostDone.C")
Goto Altfire.Tackle
AltHold.AlmostDone.C:
TOAD A 0 A_GiveInventory("ToadChargeDamageGive")
HEMD N 0 A_JumpIfInventory("BaseCustomFlag2",1,"Altfire.Tackle")
HEMD G 1 Offset(0,32) A_JumpIf(ACS_NamedExecuteWithResult("VC_CheckBtn",4)==7,"Synthfire")
HEMD N 0 A_Refire("AltHold")
Goto Altfire.Tackle

Synthfire:
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",3)
HEMD UVWWW 1
TNT1 A 0 A_GiveInventory("HeatSynthHandler",1)
HEMD X 1 Offset(4,30)
HEMD X 1 Offset(1,33)
HEMD X 1 Offset(4,36)
HEMD X 1 Offset(2,31)
HEMD X 1 Offset(1,33)
HEMD X 1 Offset(2,32)
HEMD X 4 A_WeaponReady(WRF_NOFIRE)
HEMD J 0 A_JumpIfInventory("HeatmanUltFlag",1,"SynthCooldownUlt")
HEMD A 6
goto Ready

SynthCooldownUlt:
HEMD LMNLMN 1
goto Ready

Flash:
TNT1 A 2 A_TakeInventory("MediumUltimateAmmo",1)
TNT1 A 0 ACS_ExecuteAlways(971,0,1746)
TNT1 A 2 A_TakeInventory("MediumUltimateAmmo",1)
TNT1 A 0 ACS_ExecuteAlways(971,0,2746)
TNT1 A 0 A_JumpIfInventory("HeatmanUltFlag",1,"Flash")
FlashEnd:
TNT1 AA 1 ACS_ExecuteAlways(991,0,3746)
TNT1 A 140
TNT1 A 0 A_TakeInventory("PowerUltBuildCooldown",1)
stop
}
}

Actor HeatmanChargeSound_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_SpawnItemEx("HeatmanChargeWarpFX",0,0,0,0,0,0,0,1)
TNT1 A 0 A_JumpIfInventory("HeatmanAltLimit",56,"Pickup2")
TNT1 A 0 A_PlaySoundEx("heatman/chargealt","Weapon")
Goto Nope
Pickup2:
TNT1 A 0 A_PlaySoundEx("weapon/heat3","Weapon")
Goto Nope
Nope: TNT1 A 0
Stop
}
}

Actor HeatmanChargePalette1_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("HeatmanUltFlag",1,"Nope")
TNT1 A 0 ACS_ExecuteAlways(971,0,3746)
Goto Nope
Nope: TNT1 A 0
Stop
}
}
Actor HeatmanChargePalette2_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("HeatmanUltFlag",1,"Nope")
TNT1 A 0 A_JumpIfInventory("HeatmanAltLimit",1,"Pickup2")
Goto Nope
Pickup2:
TNT1 A 0 ACS_ExecuteAlways(971,0,1746)
Goto Nope
Nope: TNT1 A 0
Stop
}
}
Actor HeatmanChargePalette3_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("HeatmanUltFlag",1,"Nope")
TNT1 A 0 A_JumpIfInventory("HeatmanAltLimit",1,"Pickup2")
Goto Nope
Pickup2:
TNT1 A 0 ACS_ExecuteAlways(971,0,2746)
Goto Nope
Nope: TNT1 A 0
Stop
}
}

Actor HeatmanChargeWarpFX
{
PROJECTILE
Scale 2.5
Damage (0)
Radius 2
Height 2
+RIPPER
+THRUACTORS
+NOCLIP
+NOTARGETSWITCH
+CLIENTSIDEONLY
States
{
Spawn:
TNT1 A 1
TNT1 A 0 A_JumpIf(CallACS("Core_TargetExists",0) == 0, "Death")
Spawn_L:
HETS A 1 A_Warp(AAPTR_TARGET, 0, 0, 0, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
HETS A 0 A_JumpIfInTargetInventory("HeatTackleFlag",1,"Death")
HETS A 0 A_JumpIf(CallACS("Core_TargetExists",0) == 0, "Death")
HETS A 1 A_Warp(AAPTR_TARGET, 0, 0, 0, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
HETS A 0 A_JumpIfInTargetInventory("HeatTackleFlag",1,"Death")
HETS A 0 A_JumpIf(CallACS("Core_TargetExists",0) == 0, "Death")

HETS B 1 A_Warp(AAPTR_TARGET, 0, 0, 0, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
HETS B 0 A_JumpIfInTargetInventory("HeatTackleFlag",1,"Death")
HETS B 0 A_JumpIf(CallACS("Core_TargetExists",0) == 0, "Death")
HETS B 1 A_Warp(AAPTR_TARGET, 0, 0, 0, 0, WARPF_INTERPOLATE|WARPF_NOCHECKPOSITION)
HETS B 0 A_JumpIfInTargetInventory("HeatTackleFlag",1,"Death")
HETS B 0 A_JumpIf(CallACS("Core_TargetExists",0) == 0, "Death")
Death:
TNT1 A 0
Stop
}
}

Actor HeatmanChargeGeneral_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("HeatContactDamage_CI")
TNT1 A 0 A_GiveInventory("HeatmanArmor")
TNT1 A 0 A_JumpIfInventory("HeatmanAltLimit",56,"Pickup3")
Goto Pickup2
Pickup3:
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag2",1,"Nope")
TNT1 A 0 A_JumpIfInventory("BaseCustomFlag1",1,"Pickup1")
TNT1 A 0 A_GiveInventory("BaseCustomFlag1",1)
TNT1 A 0 A_GiveInventory("HeatmanAltLimit",2)
Goto Nope
Pickup1:
TNT1 A 0 A_JumpIfInventory("HeatmanAltLimit",1,"Pickup1B")
TNT1 A 0 A_GiveInventory("BaseCustomFlag2",1)
Goto Nope
Pickup1B:
TNT1 A 0 A_GiveInventory("HeatmanAltLimit",2)
Goto Nope
Pickup2:
TNT1 A 0 A_GiveInventory("HeatmanAltLimit",2)
Goto Nope
Nope: TNT1 A 0
Stop
}
}

Actor HeatmanTackleStart_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_TakeInventory("LeftClickFlag")
TNT1 A 0 A_GiveInventory("WeaponCharge",56)
TNT1 A 0 A_TakeInventory("HeatmanArmor",999)
HAZH D 0 A_TakeInventory("UnSolid",1)
HAZH D 0 A_ChangeFlag("SOLID",0)
HAZH D 0 A_ChangeFlag("PICKUP",0)
HAZH D 0 A_ChangeFlag("NOGRAVITY",1)
TNT1 A 0 A_SetGravity(0.0)
TNT1 A 0 ACS_ExecuteAlways(191,0,APROP_JumpZ,0,1)
TNT1 A 0 SetPlayerProperty(0,1,4)
TNT1 A 0 A_TakeInventory("BaseCustomFlag1",999)
TNT1 A 0 A_TakeInventory("BaseCustomFlag2",999)
TNT1 A 0 A_PlaySoundEx("heatman/tackle","Weapon")
TNT1 A 0 A_SpawnItemEx("HeatWindupFX1",0,0,32,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HeatWindupFX1",0,32,64,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HeatWindupFX1",0,-32,0,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HeatWindupFX1",0,32,0,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HeatWindupFX1",0,-32,64,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HeatWindupFX1",0,0,96,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HeatWindupFX1",0,64,32,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HeatWindupFX1",0,-64,32,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HeatWindupFX1",0,0,-32,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HeatWindupFX2",32,0,32,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HeatWindupFX2",32,-32,32,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HeatWindupFX2",32,32,32,0,0,0,0,1)
TNT1 A 0 A_SpawnItemEx("HeatWindupFX2",32,0,64,0,0,0,0,1)
TNT1 A 6 A_SpawnItemEx("HeatWindupFX2",32,0,0,0,0,0,0,1)
stop
}
}

Actor HeatmanTackleLoop_CI : BaseMovement// CustomInventory
{
States
{
itTimeGo://Pickup:
TNT1 A 0 A_SpawnItemEx("HeatM2WallCheck",0,0,0,momx,momy,momz,0,SXF_ABSOLUTEMOMENTUM|SXF_NOCHECKPOSITION)
TNT1 A 0 A_GiveInventory("HeatTackleFlag")
TNT1 A 0 A_TakeInventory("HeatmanAltLimit",3)
TNT1 A 0 A_TakeInventory("WeaponCharge",3)
TNT1 A 0 A_ChangeVelocity(CallACS("VC_XYmob",Cos(Pitch)*46),0,-sin(pitch)*46,3)
TNT1 A 0 ACS_NamedExecuteAlways("cbm_missileyank",0,52)
TNT1 A 0 A_JumpIfInventory("HeatmanUltFlag",1,"Pickup2")
TNT1 A 0 A_SpawnItemEx("HeatmanTackleHitbox",0,0,24)
TNT1 A 0 A_SpawnItemEx("HeatTackleFX",0,0,32,0,0,0,0,1)
stop
Pickup2:
TNT1 AAAAAA 0 A_SpawnItemEx("HeatBurnFX",random(-8,8),random(-8,8),random(0,40),random(-20,20),random(-20,20),random(-20,20),0,1)	
TNT1 A 0 A_SpawnItemEx("HeatmanTackleHitboxBurn",0,0,24)
TNT1 A 0 A_SpawnItemEx("HeatTackleFX2",0,0,32,0,0,0,0,1)
stop
}
}

Actor HeatmanTackleEnd_CI : CustomInventory
{
States
{
Pickup:
DRIA A 0 A_SpawnItemEx("ReSolidifier")
TNT1 A 0 A_ChangeFlag("PICKUP",1)
HAZH D 0 A_ChangeFlag("NOGRAVITY",0)
TNT1 A 0 ACS_ExecuteAlways(191,0,APROP_JumpZ,10,1)
TNT1 A 0 SetPlayerProperty(0,0,4)
TNT1 A 0 A_ScaleVelocity(0.25)
TNT1 A 0 A_GiveInventory("GravityRestore")
HEMD A 0 A_TakeInventory("Base56Ammo", 42)
TNT1 A 0 A_TakeInventory("BaseCustomFlag1",999)
TNT1 A 0 A_TakeInventory("BaseCustomFlag2",999)
TNT1 A 0 A_TakeInventory("HeatmanAltLimit",999)
TNT1 A 0 ACS_NamedExecuteWithResult("VC_SetState",2)
stop
}
}

Actor HeatmanAmmoRegen_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_GiveInventory("Base28Ammo",1)
TNT1 A 0 A_GiveInventory("Base56Ammo",2)
Stop
}
}

Actor HeatBlastS
{
PROJECTILE
Damage (13)
Height 5
Radius 6
//-DONTBLAST
/*+BOUNCEONWALLS //No.
BounceCount 99
BounceFactor 0.3*/
-NOGRAVITY
Obituary "$OB_HEATMAN1"
DamageType "HeatmanPillar"
Scale 2.5
Speed 32
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
HEAP ABC 3
Goto Spawn+2
Death:
HEAP A 0 A_SpawnItemEx("HeatPillar",0,0,0)
TNT1 A 1 A_SpawnItemEx("OilPitIgnite",0,0,8)
stop
}
}

Actor HeatBlastM : HeatBlastS
{
	Damage (10)
	Speed 36
}

Actor HeatBlastF : HeatBlastS
{
	Damage (10)
	Speed 42
}

Actor HeatPillar
{
PROJECTILE
-MISSILE
-DONTBLAST
Scale 2.5
-NOGRAVITY
+RIPPER
DamageType "HeatmanPillar2"
Obituary "$OB_HEATMAN1"
Gravity 0.4
Height 48
Speed 0
Radius 8
Damage (6)
States
{
Spawn:
HEAP DD 0 A_GiveInventory("ProjectileCode",1)
HEAP D 0 //ACS_Execute(202,0)
HEAP ABC 3 A_JumpIf(z-floorz<6,"Flame")
Goto Spawn+2
Flame:
HEAP D 0 A_ChangeFlag("FLOORHUGGER",1)
HEAP D 0 A_ChangeFlag("MISSILE",1)
HPL1 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1
HPL2 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1
HPL3 ABCDEFGHIJK 1
Death:
TNT1 A 0
stop
}
}

Actor HeatmanPillarProtect : PowerProtection
{
	Powerup.Duration 6
	DamageFactor "HeatmanAfterBurnPillar", 0.0
	DamageFactor "HeatmanPillar", 0.0
	DamageFactor "HeatmanPillar2", 0.0
}

Actor HeatmanArmor : PowerProtection
{
	Powerup.Duration 25
	DamageFactor "Normal", 0.75
}

Actor HeatmanAltLimit : Inventory
{
	Inventory.Amount 1
	Inventory.MaxAmount 56
	+INVENTORY.IGNORESKILL
}

Actor HeatTackleFlag : Powerup
{
	Powerup.Duration 6
}

Actor HeatmanTackleHitbox
{
	species "DustManType"
	+THRUSPECIES
	+MISSILE
	-SOLID
	-DONTBLAST
	+NOGRAVITY
	+RIPPER
	+SKYEXPLODE
	+NOINTERACTION
	+DONTSPLASH
	+THRUGHOST
	+THRUACTORS
	+DONTREFLECT
	Obituary "$OB_HEATMAN2"
	Scale 2.5
	Speed 0
	Radius 2
	Height 2
	Damage (0)
	DamageType "HeatmanTackle"
	States
	{
		Spawn:
		TNT1 A 0
		TNT1 A 0 A_SpawnItemEx("OilPitIgnite")
		TNT1 A 1 A_Explode(8,64,0,0,64)
		Stop
	}
}

Actor HeatmanTackleProtect : PowerProtection
{
	Powerup.Duration 3
	DamageFactor "HeatmanAfterBurnTackle", 0.0
	DamageFactor "HeatmanTackle", 0.0
}

Actor HeatBlastSBurn : HeatBlastS
{
	DamageType "HeatmanAfterBurnPillar"
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		QNCF A 1 A_SpawnItemEx("HeatBurnFX2",random(-8,8),random(-8,8),random(-8,8),random(-4,4),random(-4,4),random(-4,4),0,0,128)	
		Goto Spawn+2
		Death:
		HEAP A 0 A_SpawnItemEx("HeatPillarBurn",0,0,0)
		TNT1 A 1 A_SpawnItemEx("OilPitIgnite",0,0,8)
		stop
	}
}

Actor HeatPillarBurn : HeatPillar
{
	DamageType "HeatmanAfterBurnPillar"
	States
	{
		Spawn:
		TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
		QNCF A 0 //ACS_Execute(202,0)
		QNCF A 1 A_JumpIf(z-floorz<6,"Flame")
		loop
		Flame:
		HEAP D 0 A_ChangeFlag("FLOORHUGGER",1)
		HEAP D 0 A_ChangeFlag("MISSILE",1)
		HEAP D 0 A_ChangeVelocity(9,0,0,3)
		TNT1 AAAAAAAAA 4 A_SpawnItemEx("HeatPillarBurn2",0,0,0,0,0,0,0,1)
		Death:
		TNT1 A 0
		stop
	}
}

actor HeatPillarBurn2 : HeatPillarBurn
{
+FLOORHUGGER
+MISSILE
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode",1)
QNF1 A 0 A_PlaySoundEx("heatman/pillarburn","Body")
TNT1 A 1 A_SpawnItemEx("OilPitIgnite",0,0,8)
QNF1 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1 
QNF2 ABCDEFGHIJKLMNOPQRSTUVWXYZ 1
QNF3 ABCDEFGHIJK 1
stop
Death:
QNCF A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
stop
}
}

Actor HeatBlastMBurn : HeatBlastSBurn
{
	Damage (10)
	Speed 36
}

Actor HeatBlastFBurn : HeatBlastSBurn
{
	Damage (10)
	Speed 42
}

Actor HeatmanTackleHitboxBurn : HeatmanTackleHitbox
{
	DamageType "HeatmanAfterBurnTackle"
}

Actor HeatmanUltFlag : Powerup
{
	Powerup.Duration 600 //-10 //350 //It still flashed...
}

Actor HeatTackleFX : BasicClientSide
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
HEFX ABCABC 2	
stop
}
}

Actor HeatTackleFX2 : BasicClientSide
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode",1)
HEFX ABCABC 2
TNT1 AAAAAAAA 0 A_SpawnItemEx("HeatBurnFX",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20),0,1)	
stop
}
}

actor HeatBurnFX : BasicClientSide
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileFXCode")
HEAT A 1 A_ScaleVelocity(0.8)
HEAT A 0 A_FadeOut(0.05)
HEAT B 1 A_ScaleVelocity(0.8)
HEAT B 0 A_FadeOut(0.05)
loop
}
}

actor HeatBurnFX2 : HeatBurnFX
{
translation "229:229=210:210"
}

actor HeatAfterBurnPickup : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("HeatNoNewAfterBurn",1)
TNT1 A 0 A_GiveInventory("HeatNewAfterBurn",1)
TNT1 A 0 A_GiveInventory("HeatAfterBurnDuration",1)
stop
}
}

actor HeatAfterBurnPickup2 : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_GiveInventory("HeatNoNewAfterBurn",1)
TNT1 A 0 A_GiveInventory("HeatNewAfterBurn",1)
TNT1 A 0 A_GiveInventory("HeatAfterBurnDuration2",1)
stop
}
}

actor HeatAfterBurnDuration : PowerUp
{
Powerup.Duration 110
}

actor HeatAfterBurnDuration2 : PowerUp
{
Powerup.Duration 35
}

actor HeatNoNewAfterBurn : PowerUp
{
Powerup.Duration 6
}

actor HeatNewAfterBurn : PowerUp
{
Powerup.Duration 3
}

actor HeatAfterBurnDamageTimer : PowerUp
{
Powerup.Duration 5
}

//Afterburn actor moved to actors/inventory/mm2/atomicfire.txt -Fr3ak

actor HeatAfterburnFunc : CustomInventory
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("HeatAfterBurnDuration",1,"Pickup2",AAPTR_TRACER)
PickupRemove:
TNT1 A 0 Thing_Remove(0)
stop
Pickup2:
TNT1 A 0 A_JumpIfInventory("HeatNewAfterBurn",1,"PickupRemove",AAPTR_TRACER)
TNT1 A 0 A_JumpIfInventory("HeatAfterBurnDamageTimer",1,"PickupWait")
TNT1 A 0 A_GiveInventory("HeatAfterBurnDamageTimer",1)
TNT1 A 0 A_Warp(AAPTR_TRACER,0,0,ACS_NamedExecuteWithResult("TracerHeightGet")/2,0,0)
TNT1 A 0 A_RadiusGive("AfterBurnImmune",IMMUNE_RADIUS,RGF_PLAYERS|RGF_MONSTERS|RGF_OBJECTS)
TNT1 A 0 A_TakeInventory("AfterBurnImmune",1,0,AAPTR_TRACER)
TNT1 A 0 A_Explode(2,1,0,0,1)
stop
PickupWait:
TNT1 A 0
stop
}
}

actor HeatAfterBurn2 : HeatAfterBurn
{
states
{
Spawn:
TNT1 A 0
SpawnStart0:
TNT1 A 0 A_GiveInventory("HeatAfterBurnDamageTimer",1)
SpawnStart:
TNT1 A 1
TNT1 A 0 A_JumpIfInventory("NewAfterBurn",1,"SpawnStart",AAPTR_TRACER)
Spawn2:
TNT1 A 1
TNT1 A 0 A_GiveInventory("HeatAfterburnFunc2",1)
loop
Death:
TNT1 A 0
stop
}
}

actor HeatAfterburnFunc2 : HeatAfterburnFunc
{
states
{
Pickup:
TNT1 A 0 A_JumpIfInventory("HeatAfterBurnDuration2",1,"Pickup2",AAPTR_TRACER)
PickupRemove:
TNT1 A 0 Thing_Remove(0)
stop
}
}

actor HeatWindupFX1 : BasicClientSide
{
+NOCLIP
States
{
Spawn:
HEFX ABC 1
stop
}
}

actor HeatWindupFX2 : HeatWindupFX1
{
States
{
Spawn:
TNT1 A 3
HEFX ABC 1
stop
}
}

actor HeatM2WallCheck
{
radius 40
height 40
PROJECTILE
+THRUACTORS
States
{
Spawn:
TNT1 A 0
TNT1 A 1
stop
XDeath: //Probably won't ever reach this but you never know -Fr3ak
TNT1 A 0
stop
Death:
TNT1 AA 1 A_JumpIfInTargetInventory("HeatAltHit",1,"Death2")
stop
Death2:
TNT1 A 0 A_GiveToTarget("HeatAltCrash",1)
stop
}
}

Actor HeatAltHit : Powerup
{
	Powerup.Duration 3
}

Actor HeatAltCrash : Powerup
{
	Powerup.Duration 10
}

actor HeatCrashExplosion : BasicExplosion
{
damagetype "HeatWallCrash"
Obituary "$OB_HEATMAN2"
States
{
Spawn:
TNT1 A 0
TNT1 A 0 A_PlaySoundEx("weapon/marsmineexplode","Auto")
TNT1 A 0 A_PlaySoundEx("weapon/heatcrash","Body")
TNT1 AAAAAAAA 0 A_SpawnItemEx("HeatExplodeFX",random(0,64),0,random(64,-64),0,0,0,random(90,270))
TNT1 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 0 A_SpawnItemEx("HeatBurnFX",-32,0,random(0,48),random(40,50),0,random(-15,15),random(90,270))
TNT1 A 0 A_JumpIfInTargetInventory("WeaponCharge",42,"Explode3")
TNT1 A 0 A_JumpIfInTargetInventory("WeaponCharge",28,"Explode2")
TNT1 A 0 A_JumpIfInTargetInventory("WeaponCharge",14,"Explode1")
TNT1 A 2 A_Explode(15,64,0,0,64)
stop
Explode1:
TNT1 A 2 A_Explode(30,64,0,0,64)
stop
Explode2:
TNT1 A 2 A_Explode(45,64,0,0,64)
stop
Explode3:
TNT1 A 2 A_Explode(60,64,0,0,64)
stop
}
}

actor HeatExplodeFX : DeathFX1VC
{
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
PS1X ABCDEFGHIJ 2
stop
}
}

actor HeatSurge
{
translation "192:192=229:229", "198:198=41:41"
Obituary "$OB_HEATMAN3"
damagetype "HeatmanSurge"
PROJECTILE
damage(7)
speed 40
radius 16
height 16
scale 2.5
+RIPPER
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_PlaySoundEx("heatman/tackle2","Body")
HEFX AAA 0 A_SpawnItemEx("HeatBurnFX",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20),0,1)	
HEFX A 1 A_SpawnItemEx("HeatSurgeTrail")
HEFX AAA 0 A_SpawnItemEx("HeatBurnFX",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20),0,1)	
HEFX A 1 A_SpawnItemEx("HeatSurgeTrail")
HEFX BBB 0 A_SpawnItemEx("HeatBurnFX",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20),0,1)	
HEFX B 1 A_SpawnItemEx("HeatSurgeTrail")
HEFX BBB 0 A_SpawnItemEx("HeatBurnFX",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20),0,1)	
HEFX B 1 A_SpawnItemEx("HeatSurgeTrail")
HEFX CCC 0 A_SpawnItemEx("HeatBurnFX",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20),0,1)	
HEFX C 1 A_SpawnItemEx("HeatSurgeTrail")
HEFX CCC 0 A_SpawnItemEx("HeatBurnFX",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20),0,1)	
HEFX C 1 A_SpawnItemEx("HeatSurgeTrail")
goto Spawn+3
Death:
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
stop
}
}

actor HeatSurgeTrail : HeatSurge
{
damage(2)
scale 3.0
damagetype "HeatmanSurge2"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 1
HEFX AABBCC 1 A_SetScale(scalex-0.5,scaley-0.5)
stop
}
}

actor HeatSurge2 : HeatSurge
{
translation "192:192=210:210", "198:198=41:41"
damagetype "HeatmanSurgeBurn"
States
{
Spawn:
TNT1 AA 0 A_GiveInventory("ProjectileCode")
TNT1 A 0 A_PlaySoundEx("heatman/tackle2","Body")
HEFX AAA 0 A_SpawnItemEx("HeatBurnFX2",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20))
HEFX A 1 A_SpawnItemEx("HeatSurgeTrail2")
HEFX AAA 0 A_SpawnItemEx("HeatBurnFX2",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20))
HEFX A 1 A_SpawnItemEx("HeatSurgeTrail2")
HEFX BBB 0 A_SpawnItemEx("HeatBurnFX2",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20))
HEFX B 1 A_SpawnItemEx("HeatSurgeTrail2")
HEFX BBB 0 A_SpawnItemEx("HeatBurnFX2",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20))
HEFX B 1 A_SpawnItemEx("HeatSurgeTrail2")
HEFX CCC 0 A_SpawnItemEx("HeatBurnFX2",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20))
HEFX C 1 A_SpawnItemEx("HeatSurgeTrail2")
HEFX CCC 0 A_SpawnItemEx("HeatBurnFX2",random(-8,8),random(-8,8),random(-8,8),random(-20,20),random(-20,20),random(-20,20))
HEFX C 1 A_SpawnItemEx("HeatSurgeTrail2")
goto Spawn+3
Death:
TNT1 A 0 A_SpawnItemEx("OilPitIgnite",0,0,8)
stop
}
}

actor HeatSurgeTrail2 : HeatSurgeTrail
{
damage(3)
translation "192:192=210:210", "198:198=41:41"
damagetype "HeatmanSurgeBurn"
}

actor HeatSynthHandler : CustomInventory
{
States
{
Pickup:
TOAD A 0 A_GiveInventory("ToadChargeDamageTake")
TNT1 A 0 A_TakeInventory("LeftClickFlag")
TNT1 A 0 A_TakeInventory("Base56Ammo",42)
TNT1 A 0 A_TakeInventory("HeatmanAltLimit",56)
TNT1 A 0 A_PlaySoundEx("weapon/heatsurge","Auto")
TNT1 A 0 A_PlaySoundEx("weapon/atomicfire","Body")
TNT1 A 0 A_JumpIfInventory("HeatmanUltFlag",1,"Pickup2")
TNT1 A 0 A_FireCustomMissile("HeatSurge",0,0,0,8)
TNT1 A 0 A_SpawnItemEx("HeatSurge",10,0,40,40,0,0,90)
TNT1 A 0 A_SpawnItemEx("HeatSurge",10,0,40,40,0,0,180)
TNT1 A 0 A_SpawnItemEx("HeatSurge",10,0,40,40,0,0,270)
stop

Pickup2:
TNT1 A 0 A_FireCustomMissile("HeatSurge2",0,0,0,8)
TNT1 A 0 A_SpawnItemEx("HeatSurge2",10,0,40,40,0,0,90)
TNT1 A 0 A_SpawnItemEx("HeatSurge2",10,0,40,40,0,0,180)
TNT1 A 0 A_SpawnItemEx("HeatSurge2",10,0,40,40,0,0,270)
stop
}
}

Actor HeatmanSurgeProtect : PowerProtection
{
	Powerup.Duration 11
	DamageFactor "HeatmanSurge", 0.2
}

Actor HeatContactDamage_CI : CustomInventory
{
States
{
Pickup:
TNT1 A 0 A_JumpIfInventory("HeatStandDamageCooldown",1,"Failed")
TNT1 A 0 A_SpawnItemEx("HeatManStandStillHitbox")
TNT1 A 0 A_GiveInventory("HeatStandDamageCooldown")
stop
Failed:
TNT1 A 0
stop
}
}

actor HeatStandDamageCooldown : powerup
{
Powerup.Duration 17
}

Actor HeatManStandStillHitbox : BasicExplosion
{
damagetype "MagmamanChangkey"
Obituary "$OB_HEATMAN4"
states
{
Spawn:
TNT1 A 0
TNT1 A 0 A_Explode(1,40,0,0,40)
stop
}
}