// // A_PigChase // void A_PigChase(Mobj *actor) { if(P_UpdateMorphedMonster(actor, 3)) return; A_Chase(actor); }
DEFINE_ACTION_FUNCTION(AActor, A_MarineChase) { PARAM_ACTION_PROLOGUE; CALL_ACTION(A_MarineNoise, self); A_Chase (stack, self); return 0; }
DEFINE_ACTION_FUNCTION(AActor, A_InquisitorWalk) { PARAM_ACTION_PROLOGUE; S_Sound (self, CHAN_BODY, "inquisitor/walk", 1, ATTN_NORM); A_Chase (stack, self); return 0; }
void A_PigChase (AActor *actor) { if (P_UpdateMorphedMonster (actor, 3)) { return; } A_Chase(actor); }
DEFINE_ACTION_FUNCTION(AActor, A_Hoof) { PARAM_ACTION_PROLOGUE; S_Sound (self, CHAN_BODY, "cyber/hoof", 1, ATTN_IDLE); A_Chase (stack, self); return 0; }
DEFINE_ACTION_FUNCTION(AActor, A_Sor1Chase) { if (self->special1) { self->special1--; self->tics -= 3; } A_Chase(self); }
void A_Sor1Chase (AActor *actor) { if (actor->special1) { actor->special1--; actor->tics -= 3; } A_Chase(actor); }
DEFINE_ACTION_FUNCTION(AActor, A_Sor1Chase) { PARAM_ACTION_PROLOGUE; if (self->special1) { self->special1--; self->tics -= 3; } A_Chase(stack, self); return 0; }
DEFINE_ACTION_FUNCTION(AActor, A_WraithChase) { int weaveindex = self->special1; self->AddZ(finesine[weaveindex << BOBTOFINESHIFT] * 8); self->special1 = (weaveindex + 2) & 63; // if (self->floorclip > 0) // { // P_SetMobjState(self, S_WRAITH_RAISE2); // return; // } A_Chase (self); A_WraithFX4 (self); }
// // A_Hoof // // Cyberdemon chase pointer 1 with hoof sound. // void A_Hoof(actionargs_t *actionargs) { S_StartSound(actionargs->actor, sfx_hoof); A_Chase(actionargs); }
// // A_BabyMetal // // Arachnotron chase w/sound. // void A_BabyMetal(actionargs_t *actionargs) { S_StartSound(actionargs->actor, sfx_bspwlk); A_Chase(actionargs); }
DEFINE_ACTION_FUNCTION(AActor, A_MarineChase) { CALL_ACTION(A_MarineNoise, self); A_Chase (self); }
DEFINE_ACTION_FUNCTION(AActor, A_MinotaurChase) { PARAM_ACTION_PROLOGUE; if (!self->IsKindOf(RUNTIME_CLASS(AMinotaurFriend))) { A_Chase (stack, self); return 0; } AMinotaurFriend *self1 = static_cast<AMinotaurFriend *> (self); // In case pain caused him to skip his fade in. self1->RenderStyle = STYLE_Normal; if (self1->StartTime >= 0 && (level.maptime - self1->StartTime) >= MAULATORTICS) { P_DamageMobj (self1, NULL, NULL, TELEFRAG_DAMAGE, NAME_None); return 0; } if (pr_minotaurchase() < 30) CALL_ACTION(A_MinotaurLook, self1); // adjust to closest target if (!self1->target || (self1->target->health <= 0) || !(self1->target->flags&MF_SHOOTABLE)) { // look for a new target self1->SetIdle(); return 0; } FaceMovementDirection (self1); self1->reactiontime = 0; // Melee attack if (self1->MeleeState && self1->CheckMeleeRange ()) { if (self1->AttackSound) { S_Sound (self1, CHAN_WEAPON, self1->AttackSound, 1, ATTN_NORM); } self1->SetState (self1->MeleeState); return 0; } // Missile attack if (self1->MissileState && P_CheckMissileRange(self1)) { self1->SetState (self1->MissileState); return 0; } // chase towards target if (!P_Move (self1)) { P_NewChaseDir (self1); FaceMovementDirection (self1); } // Active sound if (pr_minotaurchase() < 6) { self1->PlayActiveSound (); } return 0; }
DEFINE_ACTION_FUNCTION(AActor, A_InquisitorWalk) { S_Sound (self, CHAN_BODY, "inquisitor/walk", 1, ATTN_NORM); A_Chase (self); }
DEFINE_ACTION_FUNCTION(AActor, A_StalkerWalk) { S_Sound (self, CHAN_BODY, "stalker/walk", 1, ATTN_NORM); A_Chase (self); }
void A_BabyMetal (AActor *self) { S_Sound (self, CHAN_BODY, "baby/walk", 1, ATTN_IDLE); A_Chase (self); }
// // A_Metal // // Cyberdemon chase pointer 2 with metal sound. // Also used by Spider Mastermind. // void A_Metal(actionargs_t *actionargs) { S_StartSound(actionargs->actor, sfx_metal); A_Chase(actionargs); }