
actor PainElementalClass : PlayerPawn
{
	Speed 0.5 //0.35
	gibhealth 99999 //added - actor can not be gibbed
	Health 400
	Radius 31
	Height 56
	Mass 400
 	PainChance 128
	player.maxhealth 400
	player.soundclass "PainElementalClass"
	Player.DisplayName "PainElemental"

	Player.MorphWeapon "PainElementWeap"
	Player.WeaponSlot 1, PainElementWeap
	Player.JumpZ 0
    
	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
	DamageFactor "ZombieTankDamage", 0
  
    -PICKUP
    +NOSKIN
    +NOPAIN
	-FRIENDLY
    +NOTARGET
    +NOTRIGGER //added - avoid issues in level design
	 
	States
	{
	Spawn:
	    PAIN A 5
		Loop
	See:
	    PAIN A 1 A_Jump (240,2) //0
	    PAIN A 0 A_PlaySoundEx ("pain/active","body")
		PAIN AABBCC 3 
		Loop
	Missile:
		PAIN DEF 5 bright 
		Goto Spawn
	Death:
		PAIN H 8 bright A_GiveToTarget ("MarineExp",6) 
		PAIN I 8 bright A_PlaySoundEx ("pain/death","body")
		PAIN J 8 bright Thing_changeTid(144,0)
		PAIN KL 8 bright 
		PAIN M 8 bright A_PainDie 
		TNT1 A 1 A_SpawnItemEx ("MDeathGhost",0,0,0,0,0,0,0,SXF_NOCHECKPOSITION,0) //0
		TNT1 A 1 A_HideThing
		TNT1 A -1 //added
		stop
	}
  }
  

ACTOR PainElementWeap : Weapon
{ 
  weapon.kickback 30
  +WEAPON.NOALERT
  +Ammo_Optional
  +Alt_Ammo_Optional
  +WEAPON.DONTBOB
  +WEAPON.CHEATNOTWEAPON
  //+INVENTORY.UNDROPPABLE //added
  states
  {
  Spawn:
    PEWE A 0 Thing_Remove (0)
    Stop
  Select:
     PEWE A 1 A_Raise
     Goto Ready
  Ready:
     PEWE A 6 A_WeaponReady
     //TNT1 A 0 A_JumpIfInventory ("Mskull",0,6)
     //PEWE A 5 A_WeaponReady
     //TNT1 A 0 A_JumpIfInventory ("Mskull",3,1)
	 PEWE A 0 HealThing(2) 
     Loop

  DeSelect:
     PEWE A 1 A_Lower
     Loop
  Fire:
     PEWE A 0 A_JumpIfCloser (120,"Melee")
	 PEWE ABC 4 A_SetBlend ("GOLD",0.40,25)
	 PEWE C 12 A_FireCustomMissile ("SoulProj",0,0,0,-20)
	 PEWE CBA 4
     Goto Ready	
  Melee:
    PEWE A 4
	PEWE B 5 A_CustomPunch (8,0,1,"FBulletPuff")
    PEWE C 6
	goto Ready	 
  Altfire:
    PEWE A 5 ACS_ExecuteAlways (419,0,17) 
  	goto Ready	 
  }
}

actor SoulProj
{		
  radius 15
  height 38
  speed 20
  damage 8
  renderstyle SoulTrans
  seesound "skull/melee"
  DeathSound "skull/death"
  DamageType "ZombiesDamage"
  PROJECTILE
  +RANDOMIZE
  +DONTREFLECT
  +SKYEXPLODE
  states
  {
  Spawn:
    SKUL CD 4 BRIGHT
    loop
   Death:
    SKUL F 6 BRIGHT A_Explode (18,128,0,0)
    SKUL G 6 BRIGHT A_Scream
    SKUL H 6 BRIGHT
    SKUL I 6 BRIGHT A_NoBlocking
    SKUL J 6
    SKUL K 6
    Stop
  }
}


