ref: a368593e8f268c3400c5810654232ffa9f0d2704
parent: 25e014bf2602d3f145da54a9329854aa615a3f75
author: Samuel Villareal <[email protected]>
date: Mon Sep 6 18:27:11 EDT 2010
+ More codepointers implemented Subversion-branch: /branches/strife-branch Subversion-revision: 2025
--- a/src/strife/p_enemy.c
+++ b/src/strife/p_enemy.c
@@ -2466,9 +2466,32 @@
}
+//
+// 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)<<FRACBITS);
+ mo->momy += FixedMul(finesine[an], (P_Random() & 0xf)<<FRACBITS);
+ mo->momz += (P_Random() & 0xf)<<FRACBITS;
+
+
}
void A_ClaxonBlare(mobj_t* actor)
@@ -2476,14 +2499,28 @@
}
+//
+// A_ActiveSound
+//
+// villsa [STRIFE] new codepointer
+//
void A_ActiveSound(mobj_t* actor)
{
-
+ if(actor->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 @@
}
+//
+// 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)