/////////////////////////////////////
// SNIPER JOE - PISTOL (ZOMBIEMAN) //
///////////////////////////////////// 

Actor SniperJoePistol 30601
{
//$Category MM8BDM-Monsters (Doom)
//$Title Sniper Joe Grunt (Zombieman)
//$Sprite D001B8B2
Tag "Sniper Joe Grunt"
Translation "192:192=136:136", "198:198=111:111"
MONSTER
Species "SniperJoeMonster"
BloodType "MonsterRipperProtect_Helper"
//+NOBLOOD
+FLOORCLIP
-NOINFIGHTING
+DOHARMSPECIES
Health 20
Radius 20
Height 56
Speed 1 // 8
PainChance 200
PainChance "WindStorm", 200
PainChance "GravityHold", 200
PainChance "ConcreteShot", 200
PainChance "TornadoBlow", 200
PainChance "BlackHoleBomb", 200
PainChance "TimeStopper", 256
DamageFactor "Dummy", 0.0
SeeSound "item/rushdetect"
PainSound "monster/mm2pain"
DeathSound "monster/death"
ActiveSound "misc/repairing"
Obituary "$OB_ZOMBIE"
//DropItem "Clip"
Mass 9999
Scale 2.5
States
{
Spawn:
SNIP A 0 NoDelay A_Stop
SNIP A 0 A_TakeInventory("CutterFlag",1)
SNIP A 0 ACS_NamedExecuteAlways("Monster_PassivePain",0)
SNIP A 0 A_SpawnItemEx("MonsterHitbox20_56")
SNIP A 10 A_Look
Goto Spawn+4

FirstSee:
SNIP A 0 A_TakeInventory("CutterFlag",1)
SNIP A 0 ACS_NamedExecuteAlways("Monster_PassivePain",0)
SNIP A 0 Thing_SetTranslation(0,30501) //ALLRED
SNIP A 2 Bright
SNIP A 0 Thing_SetTranslation(0,30601) //SNIPERJOEPISTOLMONSTER
SNIP A 0 A_GiveInventory("CutterFlag",1)
Goto See

See:
SNIP A 0 A_JumpIfInventory("CutterFlag",1,1)
Goto FirstSee
SNIP B 1 A_Chase
SNIP BBB 1 A_ChangeVelocity(2,0,momz,3)
SNIP B 1 A_Chase
SNIP CCC 1 A_ChangeVelocity(2,0,momz,3)
SNIP C 1 A_Chase
SNIP CDD 1 A_ChangeVelocity(2,0,momz,3)
SNIP D 1 A_Chase
SNIP DDE 1 A_ChangeVelocity(2,0,momz,3)
SNIP E 1 A_Chase
SNIP EEE 1 A_ChangeVelocity(2,0,momz,3)
Loop

Missile:
SNIP F 0 A_Stop
SNIP F 0 A_PlaySoundEx("misc/fakereloadshort","Weapon")
SNIP F 10 A_FaceTarget
SNIP F 0 A_PlaySoundEx("misc/devilfire","Weapon")
SNIP F 0 A_CustomMissile("SniperJoePistolShot",26,10,frandom(-5,5),0,0)
SNIP F 0 Thing_SetTranslation(0,30504) //MISSILEFLASH
SNIP F 2 Bright
SNIP F 0 Thing_SetTranslation(0,30601) //SNIPERJOEPISTOLMONSTER
SNIP F 14
Goto See

Pain:
SNIP H 0 A_Stop
Pain.WindStorm:
Pain.GravityHold:
Pain.ConcreteShot:
Pain.TornadoBlow:
Pain.BlackHoleBomb:
SNIP H 0 Thing_SetTranslation(0,30601) //SNIPERJOEPISTOLMONSTER
SNIP H 6 A_Pain
Goto See

Pain.TimeStopper:
SNIP H 0 A_Stop
SNIP H 0 Thing_SetTranslation(0,30601) //SNIPERJOEPISTOLMONSTER
SNIP H 0 A_ChangeFlag("NOPAIN",true)
SNIP "##############################################################################################################################################################################################################################################################################################################################################################" 1 A_SpawnItemEx("TimeStopGFX",random(8,56),0,random(0,72),0,0,0,random(0,359),0,80)
SNIP H 0 A_ChangeFlag("NOPAIN",false)
Goto See

Death.WindStorm:
Death.GravityHold:
Death.TornadoBlow:
BlowDeath:
SNIP H 0 A_Stop
SNIP H 0 Thing_SetTranslation(0,30601) //SNIPERJOEPISTOLMONSTER
SNIP H 0 A_ChangeFlag("SHOOTABLE",false)
SNIP H 0 A_ChangeFlag("NODAMAGE",false)
SNIP H 0 A_ChangeFlag("SOLID",false)
SNIP H 1 ThrustThingZ(0,10,0,1)
SNIP H 0 A_JumpIf(ceilingz-z<64,"Death")
SNIP H 0 A_GiveInventory("BlowDeathTimer",1)
SNIP H 0 A_JumpIfInventory("BlowDeathTimer",35,"Death")
Goto BlowDeath+5

Death:
XDeath:
SNIP H 0 A_Stop
SNIP H 0 A_FaceTarget
SNIP H 0 Thing_SetTranslation(0,30601) //SNIPERJOEPISTOLMONSTER
SNIP H 2 A_NoBlocking
SNIP H 0 A_Scream
SNIP H 0 A_SpawnItemEx("ExplosionEffect1",0,0,32)
SNIP H 0 A_SpawnItemEx("MonsterFakeDeathFX",0,0,32,0,0,0,0,1)
SNIP H 0 A_SpawnItemEx("SniperJoePistol_DeathMarker",0,0,32,0,0,8,0,1)
SNIP H 0 A_JumpIf(CallACS("Monster_CanDropWeapon"),4)
SNIP H 0 A_Jump(16,2)
SNIP H 0 A_JumpIf(True,2)
SNIP H 0 ACS_NamedExecuteWithResult("Monster_WeaponDrop",3) //Twin Blaster
TNT1 A 18
TNT1 A -1
Stop

Raise:
TNT1 A 0 A_SpawnItemEx("MonsterReviveHelper")
TNT1 A 20
TNT1 A 0 A_GiveInventory("DrillFlag",1)
Goto See
}
}

Actor SniperJoePistol_DeathMarker : Monster_DeathMarker
{
States
{
Spawn:
TNT1 A 0 NoDelay A_Jump(128,2)
TNT1 A 0 A_SetScale(-ScaleX,ScaleY)
SpawnLoop:
TNT1 A 0 A_Jump(128,4)
TNT1 A 0 A_Jump(64,4)
TNT1 A 0 A_Jump(32,4)
SNPZ AAAAABBBBBCCCCCDDDDD 1 A_CheckFloor("SpawnFloor")
loop

SpawnFloor:
SNPZ "#" 1 A_JumpIfInTargetInventory("DrillFlag",1,"Death")
wait
}
}

Actor SniperJoePistolShot : FastProjectile
{
Translation "0:40=4:4", "41:41=111:111", "42:255=4:4"
+BRIGHT
PROJECTILE
Radius 5
Height 5
Speed 85
FastSpeed 95
Damage (8)
DamageType "Buster"
Scale 2.5
States
{
Spawn:
YBIT G 1 NoDelay
wait
}
}

Actor SniperJoePistol_Replaced : SniperJoePistol replaces Zombieman {}

///////////////////////////////////////
// SNIPER JOE - SHOTGUN (SHOTGUNGUY) //
/////////////////////////////////////// 

Actor SniperJoeShotgun : SniperJoePistol 30602
{
//$Category MM8BDM-Monsters (Doom)
//$Title Sniper Joe Sergeant (ShotgunGuy)
//$Sprite D002B8B2
Tag "Sniper Joe Sergeant"
Translation "192:192=94:94", "198:198=5:5"
Health 30
PainChance 170
PainChance "WindStorm", 170
PainChance "GravityHold", 170
PainChance "ConcreteShot", 170
PainChance "TornadoBlow", 170
PainChance "BlackHoleBomb", 170
Obituary "$OB_SHOTGUY"
States
{
Spawn:
SNIP A 0 NoDelay A_Stop
SNIP A 0 A_TakeInventory("CutterFlag",1)
SNIP A 0 ACS_NamedExecuteAlways("Monster_PassivePain",0)
SNIP A 0 A_SpawnItemEx("MonsterHitbox20_56")
SNIP A 10 A_Look
Goto Spawn+4

FirstSee:
SNIP A 0 A_TakeInventory("CutterFlag",1)
SNIP A 0 ACS_NamedExecuteAlways("Monster_PassivePain",0)
SNIP A 0 Thing_SetTranslation(0,30501) //ALLRED
SNIP A 2 Bright
SNIP A 0 Thing_SetTranslation(0,30602) //SNIPERJOESHOTGUNMONSTER
SNIP A 0 A_GiveInventory("CutterFlag",1)
Goto See

See:
SNIP A 0 A_JumpIfInventory("CutterFlag",1,1)
Goto FirstSee
SNIP B 1 A_Chase
SNIP BB 1 A_ChangeVelocity(2,0,momz,3)
SNIP B 1 A_Chase
SNIP BB 1 A_ChangeVelocity(2,0,momz,3)
SNIP C 1 A_Chase
SNIP CC 1 A_ChangeVelocity(2,0,momz,3)
SNIP C 1 A_Chase
SNIP CC 1 A_ChangeVelocity(2,0,momz,3)
SNIP D 1 A_Chase
SNIP DD 1 A_ChangeVelocity(2,0,momz,3)
SNIP D 1 A_Chase
SNIP DD 1 A_ChangeVelocity(2,0,momz,3)
SNIP E 1 A_Chase
SNIP EE 1 A_ChangeVelocity(2,0,momz,3)
SNIP E 1 A_Chase
SNIP EE 1 A_ChangeVelocity(2,0,momz,3)
Loop

Missile:
SNIP F 0 A_Stop
SNIP F 0 A_PlaySoundEx("misc/fakereloadshort","Weapon")
SNIP F 10 A_FaceTarget
SNIP F 0 A_PlaySoundEx("weapon/megaarmmini","Weapon")
SNIP FFF 0 A_CustomMissile("SniperJoeShotgunShot",26,10,frandom(-5,5),0,0)
SNIP F 0 Thing_SetTranslation(0,30504) //MISSILEFLASH
SNIP F 2 Bright
SNIP F 0 Thing_SetTranslation(0,30602) //SNIPERJOESHOTGUNMONSTER
SNIP F 18
Goto See

Pain:
SNIP H 0 A_Stop
Pain.WindStorm:
Pain.GravityHold:
Pain.ConcreteShot:
Pain.TornadoBlow:
Pain.BlackHoleBomb:
SNIP H 0 Thing_SetTranslation(0,30602) //SNIPERJOESHOTGUNMONSTER
SNIP H 6 A_Pain
Goto See

Pain.TimeStopper:
SNIP H 0 A_Stop
SNIP H 0 Thing_SetTranslation(0,30602) //SNIPERJOESHOTGUNMONSTER
SNIP H 0 A_ChangeFlag("NOPAIN",true)
SNIP "##############################################################################################################################################################################################################################################################################################################################################################" 1 A_SpawnItemEx("TimeStopGFX",random(8,56),0,random(0,72),0,0,0,random(0,359),0,80)
SNIP H 0 A_ChangeFlag("NOPAIN",false)
Goto See

Death.WindStorm:
Death.GravityHold:
Death.TornadoBlow:
BlowDeath:
SNIP H 0 A_Stop
SNIP H 0 Thing_SetTranslation(0,30602) //SNIPERJOESHOTGUNMONSTER
SNIP H 0 A_ChangeFlag("SHOOTABLE",false)
SNIP H 0 A_ChangeFlag("NODAMAGE",false)
SNIP H 0 A_ChangeFlag("SOLID",false)
SNIP H 1 ThrustThingZ(0,10,0,1)
SNIP H 0 A_JumpIf(ceilingz-z<64,"Death")
SNIP H 0 A_GiveInventory("BlowDeathTimer",1)
SNIP H 0 A_JumpIfInventory("BlowDeathTimer",35,"Death")
Goto BlowDeath+5

Death:
XDeath:
SNIP H 0 A_Stop
SNIP H 0 A_FaceTarget
SNIP H 0 Thing_SetTranslation(0,30602) //SNIPERJOESHOTGUNMONSTER
SNIP H 2 A_NoBlocking
SNIP H 0 A_Scream
SNIP H 0 A_SpawnItemEx("ExplosionEffect1",0,0,32)
SNIP H 0 A_SpawnItemEx("MonsterFakeDeathFX",0,0,32,0,0,0,0,1)
SNIP H 0 A_SpawnItemEx("SniperJoeShotgun_DeathMarker",0,0,32,0,0,8,0,1)
SNIP H 0 A_JumpIf(CallACS("Monster_CanDropWeapon"),4)
SNIP H 0 A_Jump(24,2)
SNIP H 0 A_JumpIf(True,2)
SNIP H 0 ACS_NamedExecuteWithResult("Monster_WeaponDrop",2) //Scatter Shot
TNT1 A 18
TNT1 A -1
Stop

Raise:
TNT1 A 0 A_SpawnItemEx("MonsterReviveHelper")
TNT1 A 20
TNT1 A 0 A_GiveInventory("DrillFlag",1)
SNIP A 5
TNT1 A 0 A_TakeInventory("DrillFlag",1)
Goto See
}
}

Actor SniperJoeShotgun_DeathMarker : SniperJoePistol_DeathMarker {}

Actor SniperJoeShotgunShot : SniperJoePistolShot
{
Translation "0:40=4:4", "41:41=94:94", "42:255=4:4"
Damage (6)
}

Actor SniperJoeShotgun_Replaced : SniperJoeShotgun replaces ShotgunGuy {}

/////////////////////////////////////////
// SNIPER JOE - CHAINGUN (CHAINGUNGUY) //
/////////////////////////////////////////

Actor SniperJoeChaingun : SniperJoePistol 30603
{
//$Category MM8BDM-Monsters (Doom)
//$Title Sniper Joe Commando (ChaingunGuy)
//$Sprite D003B8B2
Tag "Sniper Joe Commando"
Translation "192:192=144:144", "198:198=186:186"
Health 70
PainChance 170
PainChance "WindStorm", 170
PainChance "GravityHold", 170
PainChance "ConcreteShot", 170
PainChance "TornadoBlow", 170
PainChance "BlackHoleBomb", 170
Obituary "$OB_CHAINGUY"
States
{
Spawn:
SNIP A 0 NoDelay A_Stop
SNIP A 0 A_TakeInventory("CutterFlag",1)
SNIP A 0 ACS_NamedExecuteAlways("Monster_PassivePain",0)
SNIP A 0 A_SpawnItemEx("MonsterHitbox20_56")
SNIP A 10 A_Look
Goto Spawn+4

FirstSee:
SNIP A 0 A_TakeInventory("CutterFlag",1)
SNIP A 0 ACS_NamedExecuteAlways("Monster_PassivePain",0)
SNIP A 0 Thing_SetTranslation(0,30501) //ALLRED
SNIP A 2 Bright
SNIP A 0 Thing_SetTranslation(0,30603) //SNIPERJOECHAINGUNMONSTER
SNIP A 0 A_GiveInventory("CutterFlag",1)
Goto See

See:
SNIP A 0 A_JumpIfInventory("CutterFlag",1,1)
Goto FirstSee
SNIP B 1 A_Chase
SNIP BB 1 A_ChangeVelocity(2,0,momz,3)
SNIP B 1 A_Chase
SNIP BB 1 A_ChangeVelocity(2,0,momz,3)
SNIP C 1 A_Chase
SNIP CC 1 A_ChangeVelocity(2,0,momz,3)
SNIP C 1 A_Chase
SNIP CC 1 A_ChangeVelocity(2,0,momz,3)
SNIP D 1 A_Chase
SNIP DD 1 A_ChangeVelocity(2,0,momz,3)
SNIP D 1 A_Chase
SNIP DD 1 A_ChangeVelocity(2,0,momz,3)
SNIP E 1 A_Chase
SNIP EE 1 A_ChangeVelocity(2,0,momz,3)
SNIP E 1 A_Chase
SNIP EE 1 A_ChangeVelocity(2,0,momz,3)
Loop

Missile:
SNIP F 0 A_Stop
SNIP F 0 A_PlaySoundEx("misc/fakereloadshort","Weapon")
SNIP F 10 A_FaceTarget
SNIP F 0 A_PlaySoundEx("weapon/megaarmmini","Body")
SNIP F 0 A_CustomMissile("SniperJoeChaingunShot",26,10,frandom(-5,5),0,0)
SNIP F 0 Thing_SetTranslation(0,30504) //MISSILEFLASH
SNIP F 2 Bright
SNIP F 0 Thing_SetTranslation(0,30603) //SNIPERJOECHAINGUNMONSTER
SNIP F 2
SNIP F 0 A_PlaySoundEx("weapon/megaarmmini","Body")
SNIP F 0 A_CustomMissile("SniperJoeChaingunShot",26,10,frandom(-5,5),0,0)
SNIP F 0 Thing_SetTranslation(0,30504) //MISSILEFLASH
SNIP F 2 Bright
SNIP F 0 Thing_SetTranslation(0,30603) //SNIPERJOECHAINGUNMONSTER
SNIP F 2
SNIP F 1 A_CPosRefire
Goto Missile+3

Pain:
SNIP H 0 A_Stop
Pain.WindStorm:
Pain.GravityHold:
Pain.ConcreteShot:
Pain.TornadoBlow:
Pain.BlackHoleBomb:
SNIP H 0 Thing_SetTranslation(0,30603) //SNIPERJOECHAINGUNMONSTER
SNIP H 6 A_Pain
Goto See

Pain.TimeStopper:
SNIP H 0 A_Stop
SNIP H 0 Thing_SetTranslation(0,30603) //SNIPERJOECHAINGUNMONSTER
SNIP H 0 A_ChangeFlag("NOPAIN",true)
SNIP "##############################################################################################################################################################################################################################################################################################################################################################" 1 A_SpawnItemEx("TimeStopGFX",random(8,56),0,random(0,72),0,0,0,random(0,359),0,80)
SNIP H 0 A_ChangeFlag("NOPAIN",false)
Goto See

Death.WindStorm:
Death.GravityHold:
Death.TornadoBlow:
BlowDeath:
SNIP H 0 A_Stop
SNIP H 0 Thing_SetTranslation(0,30603) //SNIPERJOECHAINGUNMONSTER
SNIP H 0 A_ChangeFlag("SHOOTABLE",false)
SNIP H 0 A_ChangeFlag("NODAMAGE",false)
SNIP H 0 A_ChangeFlag("SOLID",false)
SNIP H 1 ThrustThingZ(0,10,0,1)
SNIP H 0 A_JumpIf(ceilingz-z<64,"Death")
SNIP H 0 A_GiveInventory("BlowDeathTimer",1)
SNIP H 0 A_JumpIfInventory("BlowDeathTimer",35,"Death")
Goto BlowDeath+5

Death:
XDeath:
SNIP H 0 A_Stop
SNIP H 0 A_FaceTarget
SNIP H 0 Thing_SetTranslation(0,30603) //SNIPERJOECHAINGUNMONSTER
SNIP H 2 A_NoBlocking
SNIP H 0 A_Scream
SNIP H 0 A_SpawnItemEx("ExplosionEffect1",0,0,32)
SNIP H 0 A_SpawnItemEx("MonsterFakeDeathFX",0,0,32,0,0,0,0,1)
SNIP H 0 A_SpawnItemEx("SniperJoeChaingun_DeathMarker",0,0,32,0,0,8,0,1)
SNIP H 0 A_JumpIf(CallACS("Monster_CanDropWeapon"),4)
SNIP H 0 A_Jump(105,2)
SNIP H 0 A_JumpIf(True,2)
SNIP H 0 ACS_NamedExecuteWithResult("Monster_WeaponDrop",3) //Twin Blaster
TNT1 A 28
TNT1 A -1
Stop

Raise:
TNT1 A 0 A_SpawnItemEx("MonsterReviveHelper")
TNT1 A 20
TNT1 A 0 A_GiveInventory("DrillFlag",1)
SNIP A 15
TNT1 A 0 A_TakeInventory("DrillFlag",1)
Goto See
}
}

Actor SniperJoeChaingun_DeathMarker : SniperJoePistol_DeathMarker {}

Actor SniperJoeChaingunShot : SniperJoePistolShot
{
Translation "0:40=4:4", "41:41=174:174", "42:255=4:4"
Damage (5)
}

Actor SniperJoeChaingun_Replaced : SniperJoeChaingun replaces ChaingunGuy {}

/////////////////////////////////////////
// SNIPER JOE - SSG (SUPERSHOTGUNGUY) //
/////////////////////////////////////////

Actor SniperJoeSSG : SniperJoePistol 30631
{
//$Category MM8BDM-Monsters (Skulltag)
//$Title Sniper Joe Major (SuperShotgunGuy)
//$Sprite D004B8B2
Tag "Sniper Joe Major"
Translation "192:192=4:4", "198:198=59:59"
Health 120
PainChance 170
PainChance "WindStorm", 170
PainChance "GravityHold", 170
PainChance "ConcreteShot", 170
PainChance "TornadoBlow", 170
PainChance "BlackHoleBomb", 170
Obituary "$OB_SSGGUY"
States
{
Spawn:
SNIP A 0 NoDelay A_Stop
SNIP A 0 A_TakeInventory("CutterFlag",1)
SNIP A 0 ACS_NamedExecuteAlways("Monster_PassivePain",0)
SNIP A 0 A_SpawnItemEx("MonsterHitbox20_56")
SNIP A 10 A_Look
Goto Spawn+4

FirstSee:
SNIP A 0 A_TakeInventory("CutterFlag",1)
SNIP A 0 ACS_NamedExecuteAlways("Monster_PassivePain",0)
SNIP A 0 Thing_SetTranslation(0,30501) //ALLRED
SNIP A 2 Bright
SNIP A 0 Thing_SetTranslation(0,30631) //SNIPERJOESSGMONSTER
SNIP A 0 A_GiveInventory("CutterFlag",1)
Goto See

See:
SNIP A 0 A_JumpIfInventory("CutterFlag",1,1)
Goto FirstSee
SNIP B 1 A_Chase
SNIP BBB 1 A_ChangeVelocity(2,0,momz,3)
SNIP B 1 A_Chase
SNIP CCC 1 A_ChangeVelocity(2,0,momz,3)
SNIP C 1 A_Chase
SNIP CDD 1 A_ChangeVelocity(2,0,momz,3)
SNIP D 1 A_Chase
SNIP DDE 1 A_ChangeVelocity(2,0,momz,3)
SNIP E 1 A_Chase
SNIP EEE 1 A_ChangeVelocity(2,0,momz,3)
Loop

Missile:
SNIP F 0 A_Stop
SNIP F 0 A_PlaySoundEx("misc/fakereloadshort","Weapon")
SNIP F 10 A_FaceTarget
SNIP F 0 A_PlaySoundEx("monster/ssgshot","Weapon")
SNIP FFFFFFF 0 A_CustomMissile("SniperJoeSSGShot",26,10,frandom(-8,8),CMF_OFFSETPITCH,frandom(-7,7))
SNIP F 0 Thing_SetTranslation(0,30504) //MISSILEFLASH
SNIP F 2 Bright
SNIP F 0 Thing_SetTranslation(0,30631) //SNIPERJOESSGMONSTER
SNIP F 5
SNIP F 0 A_PlaySoundEx("weapon/crashland","Body")
SNIP F 9
SNIP F 0 A_PlaySoundEx("weapon/rminestick","Body")
Goto See

Pain:
SNIP H 0 A_Stop
Pain.WindStorm:
Pain.GravityHold:
Pain.ConcreteShot:
Pain.TornadoBlow:
Pain.BlackHoleBomb:
SNIP H 0 Thing_SetTranslation(0,30631) //SNIPERJOESSGMONSTER
SNIP H 6 A_Pain
Goto See

Pain.TimeStopper:
SNIP H 0 A_Stop
SNIP H 0 Thing_SetTranslation(0,30631) //SNIPERJOESSGMONSTER
SNIP H 0 A_ChangeFlag("NOPAIN",true)
SNIP "##############################################################################################################################################################################################################################################################################################################################################################" 1 A_SpawnItemEx("TimeStopGFX",random(8,56),0,random(0,72),0,0,0,random(0,359),0,80)
SNIP H 0 A_ChangeFlag("NOPAIN",false)
Goto See

Death.WindStorm:
Death.GravityHold:
Death.TornadoBlow:
BlowDeath:
SNIP H 0 A_Stop
SNIP H 0 Thing_SetTranslation(0,30631) //SNIPERJOESSGMONSTER
SNIP H 0 A_ChangeFlag("SHOOTABLE",false)
SNIP H 0 A_ChangeFlag("NODAMAGE",false)
SNIP H 0 A_ChangeFlag("SOLID",false)
SNIP H 1 ThrustThingZ(0,10,0,1)
SNIP H 0 A_JumpIf(ceilingz-z<64,"Death")
SNIP H 0 A_GiveInventory("BlowDeathTimer",1)
SNIP H 0 A_JumpIfInventory("BlowDeathTimer",35,"Death")
Goto BlowDeath+5

Death:
XDeath:
SNIP H 0 A_Stop
SNIP H 0 A_FaceTarget
SNIP H 0 Thing_SetTranslation(0,30631) //SNIPERJOESSGMONSTER
SNIP H 2 A_NoBlocking
SNIP H 0 A_Scream
SNIP H 0 A_SpawnItemEx("ExplosionEffect1",0,0,32)
SNIP H 0 A_SpawnItemEx("MonsterFakeDeathFX",0,0,32,0,0,0,0,1)
SNIP H 0 A_SpawnItemEx("SniperJoeSSG_DeathMarker",0,0,32,0,0,8,0,1)
SNIP H 0 A_JumpIf(CallACS("Monster_CanDropWeapon"),4)
SNIP H 0 A_Jump(105,2)
SNIP H 0 A_JumpIf(True,2)
SNIP H 0 ACS_NamedExecuteWithResult("Monster_WeaponDrop",2) //Scatter Shot
TNT1 A 28
TNT1 A -1
Stop

Raise:
TNT1 A 0 A_SpawnItemEx("MonsterReviveHelper")
TNT1 A 20
TNT1 A 0 A_GiveInventory("DrillFlag",1)
SNIP A 5
TNT1 A 0 A_TakeInventory("DrillFlag",1)
Goto See
}
}

Actor SniperJoeSSG_DeathMarker : SniperJoePistol_DeathMarker {}

Actor SniperJoeSSGShot : SniperJoePistolShot
{
Translation "0:40=4:4", "41:41=59:59", "42:255=4:4"
}