if (!fire)
return; |
|
// move |
the fire between the vile and |
the player |
fire->x |
= actor->target->x - FixedMul |
(24*FRACUNIT, finecosine[an]); |
fire->y |
= actor->target->y - FixedMul |
(24*FRACUNIT, finesine[an]); |
P_RadiusAttack (fire, actor, 70 );
}
//
//Mancubus attack,
//firing three missiles (bruisers)
//in three different directions?
//Doesn’t look like it.
// |
|
|
#define |
FATSPREAD |
(ANG90/8) |
void A_FatRaise (mobj_t *actor)
{
A_FaceTarget (actor);
S_StartSound (actor, sfx_manatk);
}
void A_FatAttack1 (mobj_t* actor)
{
A_FaceTarget (actor);
// Change direction to ...
actor->angle += FATSPREAD;
P_SpawnMissile (actor, actor->target, MT_FATSHOT);
mo = P_SpawnMissile (actor, actor->target, MT_FATSHOT); mo->angle += FATSPREAD;
an = mo->angle >> ANGLETOFINESHIFT;
mo->momx = FixedMul (mo->info->speed, finecosine[an]); mo->momy = FixedMul (mo->info->speed, finesine[an]);
}
void A_FatAttack2 (mobj_t* actor)
{
A_FaceTarget (actor);
// Now here choose opposite deviation. actor->angle -= FATSPREAD;
P_SpawnMissile (actor, actor->target, MT_FATSHOT);
mo = P_SpawnMissile (actor, actor->target, MT_FATSHOT); mo->angle -= FATSPREAD*2;
an = mo->angle >> ANGLETOFINESHIFT;
mo->momx = FixedMul (mo->info->speed, finecosine[an]); mo->momy = FixedMul (mo->info->speed, finesine[an]);
}
void A_FatAttack3 (mobj_t* |
actor) |
{ |
|
|
mobj_t* |
mo; |
|