// FireDemon ---------------------------------------------------------------- class FireDemon : Actor { Default { Health 80; ReactionTime 8; PainChance 1; Speed 13; Radius 20; Height 68; Mass 75; Damage 1; Monster; +DROPOFF +NOGRAVITY +FLOAT +FLOORCLIP +INVULNERABLE +TELESTOMP SeeSound "FireDemonSpawn"; PainSound "FireDemonPain"; DeathSound "FireDemonDeath"; ActiveSound "FireDemonActive"; Obituary "$OB_FIREDEMON"; } native void A_FiredRocks(); native void A_FiredChase(); native void A_FiredAttack(); native void A_FiredSplotch(); States { Spawn: FDMN X 5 Bright; FDMN EFG 10 Bright A_Look; Goto Spawn + 1; See: FDMN E 8 Bright; FDMN F 6 Bright; FDMN G 5 Bright; FDMN F 8 Bright; FDMN E 6 Bright; FDMN G 7 Bright A_FiredRocks; FDMN HI 5 Bright; FDMN J 5 Bright A_UnSetInvulnerable; Chase: FDMN ABC 5 Bright A_FiredChase; Loop; Pain: FDMN D 0 Bright A_UnSetInvulnerable; FDMN D 6 Bright A_Pain; Goto Chase; Missile: FDMN K 3 Bright A_FaceTarget; FDMN KKK 5 Bright A_FiredAttack; Goto Chase; Crash: XDeath: FDMN M 5 A_FaceTarget; FDMN N 5 A_NoBlocking; FDMN O 5 A_FiredSplotch; Stop; Death: FDMN D 4 Bright A_FaceTarget; FDMN L 4 Bright A_Scream; FDMN L 4 Bright A_NoBlocking; FDMN L 200 Bright; Stop; Ice: FDMN R 5 A_FreezeDeath; FDMN R 1 A_FreezeDeathChunks; Wait; } } // FireDemonSplotch1 ------------------------------------------------------- class FireDemonSplotch1 : Actor { Default { ReactionTime 8; Radius 3; Height 16; Mass 100; +DROPOFF +CORPSE +NOTELEPORT +FLOORCLIP } States { Spawn: FDMN P 3; FDMN P 6 A_QueueCorpse; FDMN Y -1; Stop; } } // FireDemonSplotch2 ------------------------------------------------------- class FireDemonSplotch2 : FireDemonSplotch1 { States { Spawn: FDMN Q 3; FDMN Q 6 A_QueueCorpse; FDMN Z -1; Stop; } } // FireDemonRock1 ------------------------------------------------------------ class FireDemonRock1 : Actor { Default { ReactionTime 8; Radius 3; Height 5; Mass 16; +NOBLOCKMAP +DROPOFF +MISSILE +NOTELEPORT } native void A_SmBounce(); States { Spawn: FDMN S 4; Loop; Death: FDMN S 5 A_SmBounce; XDeath: FDMN S 200; Stop; } } // FireDemonRock2 ------------------------------------------------------------ class FireDemonRock2 : FireDemonRock1 { States { Spawn: FDMN T 4; Loop; Death: FDMN T 5 A_SmBounce; XDeath: FDMN T 200; Stop; } } // FireDemonRock3 ------------------------------------------------------------ class FireDemonRock3 : FireDemonRock1 { States { Spawn: FDMN U 4; Loop; Death: FDMN U 5 A_SmBounce; XDeath: FDMN U 200; Stop; } } // FireDemonRock4 ------------------------------------------------------------ class FireDemonRock4 : FireDemonRock1 { States { Spawn: FDMN V 4; Loop; Death: FDMN V 5 A_SmBounce; XDeath: FDMN V 200; Stop; } } // FireDemonRock5 ------------------------------------------------------------ class FireDemonRock5 : FireDemonRock1 { States { Spawn: FDMN W 4; Loop; Death: FDMN W 5 A_SmBounce; XDeath: FDMN W 200; Stop; } } // FireDemonMissile ----------------------------------------------------------- class FireDemonMissile : Actor { Default { ReactionTime 8; Speed 10; Radius 10; Height 6; Mass 5; Damage 1; DamageType "Fire"; Projectile; RenderStyle "Add"; DeathSound "FireDemonMissileHit"; } States { Spawn: FDMB A 5 Bright; Loop; Death: FDMB BCDE 5 Bright; Stop; } }