// unique voodoo doll, for better compatibility Class SWWMVoodooDoll : PlayerPawn { Vector3 lastvel; override String GetObituary( Actor victim, Actor inflictor, Name mod, bool playerattack ) { // as simple as it gets return "$OB_VOODOO"; } override void Tick() { Super.Tick(); // mikoportal compat if ( !(pos.z ~== -32768) ) return; if ( vel.length() <= lastvel.length() ) vel = lastvel; lastvel = vel; } Default { Tag "$FN_VOODOO"; Speed 1; Health 100; Radius 16; Height 56; Mass 100; PainChance 255; +NOBLOOD; +DONTGIB; +NOICEDEATH; +DONTCORPSE; +NOSKIN; -FRIENDLY; } States { Spawn: XZW1 A -1; Stop; Pain: XZW1 A 1; XZW1 B 2 A_StartSound("voodoodoll/hit",CHAN_BODY,CHANF_OVERLAP); XZW1 CDEF 2; Goto Spawn; Death: XZW1 A 2 { A_StartSound("voodoodoll/fall",CHAN_BODY,CHANF_OVERLAP); A_NoBlocking(); } XZW1 GHIJKLMNO 2; XZW1 PQR 2; XZW1 S -1; Stop; } } // for the doom 2 cast Class CastDemolitionist : Actor { Default { DeathSound "demolitionist/death"; } States { Spawn: See: ZYX1 ABCDEFGHIJKLMNOP 2; Loop; Missile: ZYX1 A 2; ZYX2 ABCDEF 2; Goto See; Death: ZYX1 A 2; ZYX3 ABCDEFGHIJKLMNOP 2; ZYX3 Q -1; Stop; } }