From a368593e8f268c3400c5810654232ffa9f0d2704 Mon Sep 17 00:00:00 2001 From: Samuel Villareal Date: Mon, 6 Sep 2010 22:27:11 +0000 Subject: + More codepointers implemented Subversion-branch: /branches/strife-branch Subversion-revision: 2025 --- src/strife/p_enemy.c | 49 ++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 3 deletions(-) (limited to 'src/strife/p_enemy.c') diff --git a/src/strife/p_enemy.c b/src/strife/p_enemy.c index e7de0dbd..eda65b8c 100644 --- a/src/strife/p_enemy.c +++ b/src/strife/p_enemy.c @@ -2466,8 +2466,31 @@ void A_TeleportBeacon(mobj_t* actor) } +// +// A_BodyParts +// +// villsa [STRIFE] new codepointer +// void A_BodyParts(mobj_t* actor) { + mobjtype_t type; + mobj_t* mo; + angle_t an; + if(actor->flags & MF_NOBLOOD) + type = MT_JUNK; + else + type = MT_MEAT; + + mo = P_SpawnMobj(actor->x, actor->y, actor->z + (24*FRACUNIT), type); + P_SetMobjState(mo, mo->info->spawnstate + (P_Random()%19)); + + an = ((P_Random() << 13) / 255); + mo->angle = an << ANGLETOFINESHIFT; + + mo->momx += FixedMul(finecosine[an], (P_Random() & 0xf)<momy += FixedMul(finesine[an], (P_Random() & 0xf)<momz += (P_Random() & 0xf)<info->activesound) + { + if(!leveltime & 7) + S_StartSound(actor, actor->info->activesound); + } } +// +// A_ClearSoundTarget +// +// villsa [STRIFE] new codepointer +// void A_ClearSoundTarget(mobj_t* actor) { - + actor->subsector->sector->soundtarget = NULL; } void A_DropBurnFlesh(mobj_t* actor) @@ -2491,9 +2528,15 @@ void A_DropBurnFlesh(mobj_t* actor) } +// +// A_FlameDeath +// +// villsa [STRIFE] new codepointer +// void A_FlameDeath(mobj_t* actor) { - + actor->flags |= MF_NOGRAVITY; + actor->momz = (P_Random() & 3) << FRACBITS; } void A_ClearForceField(mobj_t* actor) -- cgit v1.2.3