mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-03-23 03:12:38 +00:00
Hardcoded A_Boss5MakeItRain
This commit is contained in:
parent
b03bfbabe4
commit
0d7cd34882
3 changed files with 39 additions and 0 deletions
|
@ -2233,6 +2233,7 @@ static actionpointer_t actionpointers[] =
|
|||
{{A_Boss5CheckOnGround}, "A_BOSS5CHECKONGROUND"},
|
||||
{{A_Boss5CheckFalling}, "A_BOSS5CHECKFALLING"},
|
||||
{{A_Boss5PinchShot}, "A_BOSS5PINCHSHOT"},
|
||||
{{A_Boss5MakeItRain}, "A_BOSS5MAKEITRAIN"},
|
||||
{{A_LookForBetter}, "A_LOOKFORBETTER"},
|
||||
|
||||
{{NULL}, "NONE"},
|
||||
|
|
|
@ -247,6 +247,7 @@ void A_Boss5Calm();
|
|||
void A_Boss5CheckOnGround();
|
||||
void A_Boss5CheckFalling();
|
||||
void A_Boss5PinchShot();
|
||||
void A_Boss5MakeItRain();
|
||||
void A_LookForBetter();
|
||||
|
||||
// ratio of states to sprites to mobj types is roughly 6 : 1 : 1
|
||||
|
|
|
@ -274,6 +274,7 @@ void A_Boss5Calm(mobj_t *actor);
|
|||
void A_Boss5CheckOnGround(mobj_t *actor);
|
||||
void A_Boss5CheckFalling(mobj_t *actor);
|
||||
void A_Boss5PinchShot(mobj_t *actor);
|
||||
void A_Boss5MakeItRain(mobj_t *actor);
|
||||
void A_LookForBetter(mobj_t *actor);
|
||||
//for p_enemy.c
|
||||
|
||||
|
@ -12141,6 +12142,42 @@ void A_Boss5PinchShot(mobj_t *actor)
|
|||
missile->momz = P_MobjFlip(actor)*missile->info->speed/2;
|
||||
}
|
||||
|
||||
// Function: A_Boss5MakeItRain
|
||||
//
|
||||
// Description: Pinch crisis.
|
||||
//
|
||||
// var1 = object # to shoot
|
||||
// var2 = height offset (from default of +48 FU)
|
||||
//
|
||||
void A_Boss5MakeItRain(mobj_t *actor)
|
||||
{
|
||||
INT32 locvar1 = var1;
|
||||
INT32 locvar2 = var2;
|
||||
INT32 offset = (48 + locvar2)<<16; // upper 16 bits, not fixed_t!
|
||||
INT32 i;
|
||||
#ifdef HAVE_BLUA
|
||||
if (LUA_CallAction("A_Boss5MakeItRain", actor))
|
||||
return;
|
||||
#endif
|
||||
|
||||
actor->flags2 |= MF2_STRONGBOX;
|
||||
|
||||
var1 = locvar1;
|
||||
var2 = offset + 90;
|
||||
A_TrapShot(actor);
|
||||
|
||||
for (i = 0; i < 8; i++)
|
||||
{
|
||||
actor->angle += ANGLE_45;
|
||||
|
||||
var1 = locvar1;
|
||||
var2 = offset + (i & 1) ? 55 : 70;
|
||||
A_TrapShot(actor);
|
||||
}
|
||||
|
||||
actor->extravalue2 = 0;
|
||||
}
|
||||
|
||||
// Function: A_LookForBetter
|
||||
//
|
||||
// Description: A_Look, except it finds a better target in multiplayer, and doesn't lose the target in singleplayer.
|
||||
|
|
Loading…
Reference in a new issue