
/*

This file contains examples of new actors defined with a DECORATE
lump. The easiest way to see it in action is to start the game with

	zdoom -file decorate.lmp
	
Then open the console and summon them in.

*/

//******************************************************************
//
// This is how Doom's zombie would look in this format
//
//******************************************************************
/*
ACTOR ZombieMan 3004
{
	Health 20
	Radius 20
	Height 56
	Speed 8
	PainChance 200
	MONSTER 
	+FLOORCLIP
	SeeSound grunt/sight
	AttackSound grunt/attack
	PainSound grunt/pain
	DeathSound grunt/death
	ActiveSound grunt/active
	Obituary "%o was killed by a zombieman."
	DropItem Clip
	States
	{
	Spawn:
		POSS AB 10 A_Look
		Loop
	See:
		POSS AABBCCDD 4 A_Chase
		Loop
	Missile:
		POSS E 10 A_FaceTarget
		POSS F 8 A_BulletAttack
		POSS E 8
		Goto See
	Pain:
		POSS G 3
		POSS G 3 A_Pain
		Goto See
	Death:
		POSS H 5
		POSS I 5 A_Scream
		POSS J 5 A_NoBlocking
		POSS K 5
		POSS L -1
		Stop
	XDeath:
		POSS M 5
		POSS N 5 A_XScream
		POSS O 5 A_NoBlocking
		POSS PQRST 5
		POSS U -1
		Stop
	Raise:
		POSS KJIH 5
		Goto See
	}
}
*/


//******************************************************************
//
// Some simple monster modifications as a little demonstration
//
//******************************************************************

ACTOR RapidFireTrooper : ZombieMan 20600
{
	Health 30
	Obituary "%o was surprised by the zombie's weaponry."
	DropItem Clip	// the drop item cannot be inherited from a stock actor!
	States
	{
	Missile:
		POSS E 10 A_FaceTarget
		POSS F 5 A_PosAttack
		POSS E 5 A_CPosRefire
		Goto Missile+1
	}
}

//******************************************************************
//
// BFG Trooper
//
//******************************************************************
ACTOR BFGTrooper : ZombieMan 20601
{
	Obituary "%o was ripped apart by the zombie's BFG."
	Dropitem Cell
	MissileType BFGBall
	States
	{
	Missile:
		POSS E 0 A_PlayWeaponSound ("weapons/bfgf")
		POSS E 25 A_FaceTarget
		POSS F 8 A_FaceTarget
		POSS E 8 bright A_MissileAttack
		Goto See
	}
}

//******************************************************************
//
// Super Imp with baron's projectiles
//
//******************************************************************
ACTOR SuperImp : DoomImp 20602
{
	PainChance 50  
	Obituary "%o was shocked by the imp's superior firepower."
	States
	{
	Melee:
	Missile:
		TROO EF 8 A_FaceTarget
		TROO G 8 A_BruisAttack
		Goto See
	}
}

//******************************************************************
//
// A Super Imp with the spectre's fuzzy effect
// Illustrates that you can base new actors on other new actors.
//
//******************************************************************
Actor SuperSpectreImp : SuperImp 20603
{
	+Shadow
	RenderStyle OptFuzzy
	Alpha 0.4
}

//******************************************************************
//
// Another Super Imp, this time with the ever-populer stealth effect
//
//******************************************************************
Actor SuperStealthImp : SuperImp 20604
{
	+Stealth
	RenderStyle Translucent
}

//******************************************************************
//
// And here's a Super Stealth Imp that glows when it's visible
//
//******************************************************************
Actor SuperGlowingStealthImp : SuperStealthImp 20605
{
	RenderStyle Add
}


//******************************************************************
//
// Plasma zombie
//
//******************************************************************
ACTOR PlasmaZombie : ZombieMan 20606
{
	Health 40
	DropItem Cell
	MissileType PlasmaBall
	States
	{
	Missile:
		POSS E 10 A_FaceTarget
		POSS F 5 bright A_MissileAttack
		POSS E 5 A_FaceTarget
		POSS F 5 bright A_MissileAttack
		POSS E 5 A_FaceTarget
		POSS F 5 bright A_MissileAttack
		Goto See
	}
}

ACTOR PlasmaZombie2 : ZombieMan 20607
{ 
   Health 40 
   DropItem Cell 
   DropItem Megasphere 
   Dropitem Medikit 
   States 
   { 
   Missile: 
      POSS E 10 A_FaceTarget 
      POSS E 0 A_Jump(128,12) 
      POSS F 0 BRIGHT A_CustomMissile("PlasmaBall", 32, 0, 0) 
      POSS F 0 BRIGHT A_CustomMissile("ArachnotronPlasma", 40, 20, 30) 
      POSS F 6 BRIGHT A_CustomMissile("ArachnotronPlasma", 40, -20, -30) 
      POSS E 5 A_FaceTarget 
      POSS F 0 BRIGHT A_CustomMissile("PlasmaBall", 32, 0, 0) 
      POSS F 0 BRIGHT A_CustomMissile("ArachnotronPlasma", 40, 20, 30) 
      POSS F 6 BRIGHT A_CustomMissile("ArachnotronPlasma", 40, -20, -30) 
      POSS E 5 A_FaceTarget 
      POSS F 0 BRIGHT A_CustomMissile("PlasmaBall", 32, 0, 0) 
      POSS F 0 BRIGHT A_CustomMissile("ArachnotronPlasma", 40, 20, 30) 
      POSS F 6 BRIGHT A_CustomMissile("ArachnotronPlasma", 40, -20, -30) 
      Goto See 
      POSS F 8 BRIGHT A_BruisAttack 
      Goto See 
   } 
}
