ACTOR WolfensteinSSClass : PlayerPawn
{
  Health 50
  gibhealth 99999 //added - actor can not be gibbed
  Radius 20
  Height 56
  Mass 100
  Speed 0.5 //0.35
  PainChance 170
  Player.MorphWeapon "SSmp40"
  Player.WeaponSlot 1, SSmp40
  Player.DisplayName "WolfensteinSS"
  Player.MaxHealth 70   
  Player.ViewHeight 47
  Player.SoundClass SSnazi
  Player.JumpZ 10
  Translation "112:127=192:207"
  
  DamageFactor "Suicide", 0 // puppetmaster can not suicide a monster
  DamageFactor "MarineDamage", 0.5
  DamageFactor "MarineRLDamage", 0.5
  DamageFactor "BFGSplash", 0.5
  DamageFactor "MarineRail", 0.35
  
  DamageFactor "CybRLDamage", 0.25
  DamageFactor "ImpBallDamage", 0
  DamageFactor "CacoDamage", 0
  DamageFactor "SkelDamage", 0
  DamageFactor "FatsoDamage", 0
  DamageFactor "KnightDamage", 0
  DamageFactor "ArachDamage", 0
  DamageFactor "viledamage", 0
  DamageFactor "Control", 0
  DamageFactor "ZombiesDamage", 0
  DamageFactor "Slime", 0
  
  -PICKUP
  +NOSKIN
  +NOPAIN
  -FRIENDLY
  +NOTARGET
  +NOTRIGGER //added - avoid issues in level design
  
  states
  {
  Spawn:
    WLF1 AB 10
    loop
  See:
    WLF1 AABBCCDD 3
    Loop
  Missile:
    WLF1 A 0 A_JumpIfInventory ("FHeat",30,"CantShot")
    WLF1 F 3 bright 
    WLF1 G 4 
    WLF1 F 3 bright 
    WLF1 G 4 
	Goto Spawn
  CantShot:
    WLF1 E 24
	goto spawn
  Death:
    WLF1 I 5 A_GiveToTarget ("MarineExp",1)
    WLF1 J 5 A_PlaySoundEx ("wolfss/death","body")
    WLF1 K 5 A_NoBlocking
    WLF1 L 5 Thing_changeTid(144,0)
	WLF1 L 1 A_SpawnItemEx ("MDeathGhost",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0) //0
    WLF1 M -1
    stop
  XDeath:
    WLF1 N 5 A_GiveToTarget ("MarineExp",3)
    WLF1 O 5 A_XScream
    WLF1 P 5 A_NoBlocking
	WLF1 A 1 A_SpawnItemEx ("MDeathGhost",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0) //0
    WLF1 Q 5 Thing_changeTid(144,0)
    WLF1 RSTU 5
    WLF1 V -1
    stop
  }
}

ACTOR SSmp40 : Weapon
{
  OBITUARY "%o met a Nazi %k."
  ATTACKSOUND "wolfss/attack"
  weapon.kickback 100
  Weapon.AmmoUse 0
  +WEAPON.NOALERT
  +WEAPON.AMMO_OPTIONAL
  +WEAPON.CHEATNOTWEAPON
  //+INVENTORY.UNDROPPABLE //added
  states
  {
  Spawn:
    TNT1 A 0 Thing_Remove (0)
    Stop
  Ready:
    MP40 A 6 A_WeaponReady
    MP40 A 0 A_TakeInventory ("FHeat",2)
    TNT1 A 0 A_JumpIfInventory ("Mskull",0,4)
    MP40 A 6 A_WeaponReady
    MP40 A 0 A_TakeInventory ("FHeat",2)
    TNT1 A 0 A_JumpIfInventory ("Mskull",3,1)
    Loop
	TNT1 A 0 HealThing(1)
	goto ready 
  DeSelect: 
    MP40 A 1 A_Lower
    Loop
  Select:
    MP40 A 1 A_Raise
	goto ready
  Fire:
    MP40 A 0 A_JumpIfInventory ("FHeat",60,"Overheat")
    MP40 A 0 A_GiveInventory ("FHeat",2)
    MP40 C 0 A_GunFlash
    MP40 C 3 bright A_FireBullets (4.7, 2.7, 1, 5, "FBulletPuff")
    MP40 B 2 bright
    MP40 A 2 
    MP40 C 3 bright A_FireBullets (4.7, 2.7, 1, 5, "FBulletPuff")
    MP40 B 2 bright
    MP40 A 2
    MP40 A 2 A_ReFire
    MP40 A 2
    goto Ready
  Flash:
    TNT1 A 3 A_Light1
    TNT1 A 2 A_Light2
    TNT1 A 2 A_Light0
    TNT1 A 3 A_Light1
    TNT1 A 2 A_Light2
    TNT1 A 2 A_Light0
    Stop
  Overheat:
    MP40 A 12 A_PlaySoundEx ("cybie/overheat","body")
    MP40 A 12 ACS_ExecuteAlways (408)
    MP40 A 0 A_TakeInventory ("FHeat",3)
    goto ready
  AltFire:
    MP40 A 5 ACS_ExecuteAlways (419,0,16)
	goto ready
  }
}




