Пример #1
0
//
// A_PigChase
//
void A_PigChase(Mobj *actor)
{
   if(P_UpdateMorphedMonster(actor, 3))
      return;

   A_Chase(actor);
}
Пример #2
0
DEFINE_ACTION_FUNCTION(AActor, A_MarineChase)
{
	PARAM_ACTION_PROLOGUE;
	CALL_ACTION(A_MarineNoise, self);
	A_Chase (stack, self);
	return 0;
}
Пример #3
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;
}
Пример #4
0
void A_PigChase (AActor *actor)
{
    if (P_UpdateMorphedMonster (actor, 3))
    {
        return;
    }
    A_Chase(actor);
}
Пример #5
0
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;
}
Пример #6
0
DEFINE_ACTION_FUNCTION(AActor, A_Sor1Chase)
{
	if (self->special1)
	{
		self->special1--;
		self->tics -= 3;
	}
	A_Chase(self);
}
Пример #7
0
void A_Sor1Chase (AActor *actor)
{
	if (actor->special1)
	{
		actor->special1--;
		actor->tics -= 3;
	}
	A_Chase(actor);
}
Пример #8
0
DEFINE_ACTION_FUNCTION(AActor, A_Sor1Chase)
{
	PARAM_ACTION_PROLOGUE;

	if (self->special1)
	{
		self->special1--;
		self->tics -= 3;
	}
	A_Chase(stack, self);
	return 0;
}
Пример #9
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);
}
Пример #10
0
//
// A_Hoof
//
// Cyberdemon chase pointer 1 with hoof sound.
//
void A_Hoof(actionargs_t *actionargs)
{
   S_StartSound(actionargs->actor, sfx_hoof);
   A_Chase(actionargs);
}
Пример #11
0
//
// A_BabyMetal
//
// Arachnotron chase w/sound.
//
void A_BabyMetal(actionargs_t *actionargs)
{
   S_StartSound(actionargs->actor, sfx_bspwlk);
   A_Chase(actionargs);
}
Пример #12
0
DEFINE_ACTION_FUNCTION(AActor, A_MarineChase)
{
	CALL_ACTION(A_MarineNoise, self);
	A_Chase (self);
}
Пример #13
0
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;
}
Пример #14
0
DEFINE_ACTION_FUNCTION(AActor, A_InquisitorWalk)
{
	S_Sound (self, CHAN_BODY, "inquisitor/walk", 1, ATTN_NORM);
	A_Chase (self);
}
Пример #15
0
DEFINE_ACTION_FUNCTION(AActor, A_StalkerWalk)
{
	S_Sound (self, CHAN_BODY, "stalker/walk", 1, ATTN_NORM);
	A_Chase (self);
}
Пример #16
0
void A_BabyMetal (AActor *self)
{
	S_Sound (self, CHAN_BODY, "baby/walk", 1, ATTN_IDLE);
	A_Chase (self);
}
Пример #17
0
//
// 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);
}