make eggmine pop an action like the lua
This commit is contained in:
parent
3a74330c5a
commit
82f4599275
5 changed files with 34 additions and 31 deletions
|
|
@ -213,6 +213,7 @@ _(A_SSMineExplode, SSMINEEXPLODE)
|
|||
_(A_SSMineSearch, GRENADERING)
|
||||
_(A_SSMineExplode, MINEEXPLODE)
|
||||
_(A_LandMineExplode, LANDMINEEXPLODE)
|
||||
_(A_EggMinePop, EGGMINEPOP)
|
||||
_(A_BallhogExplode, BALLHOGEXPLODE)
|
||||
_(A_LightningFollowPlayer, LIGHTNINGFOLLOWPLAYER)
|
||||
_(A_FZBoomFlash, FZBOOMFLASH)
|
||||
|
|
|
|||
|
|
@ -2564,35 +2564,6 @@ void K_DoEggMineStrip(mobj_t *tmo, mobj_t *inflictor, mobj_t *source)
|
|||
}
|
||||
}
|
||||
|
||||
void K_EggMinePop(mobj_t *mo)
|
||||
{
|
||||
mobj_t *poof;
|
||||
mobj_t *landMine;
|
||||
player_t *player;
|
||||
|
||||
if (mo->lastlook == 0) return;
|
||||
|
||||
poof = P_SpawnMobj(mo->x, mo->y, mo->z, MT_EXPLODE);
|
||||
S_StartSound(poof, mo->info->deathsound);
|
||||
|
||||
if (!(mo->target && mo->target->player)) return;
|
||||
|
||||
player = mo->target->player;
|
||||
|
||||
landMine = P_SpawnMobj(mo->x, mo->y, mo->z + mo->height/2, MT_LANDMINE);
|
||||
K_FlipFromObject(landMine, mo);
|
||||
landMine->threshold = 10;
|
||||
landMine->target = player->mo;
|
||||
|
||||
P_SetScale(landMine, 3*mo->scale/4);
|
||||
landMine->destscale = mo->destscale;
|
||||
|
||||
landMine->angle = mo->angle;
|
||||
|
||||
landMine->momz = (28 * mapobjectscale * P_MobjFlip(mo));
|
||||
landMine->color = player->skincolor;
|
||||
}
|
||||
|
||||
void K_EggMineSetup(mobj_t *mo)
|
||||
{
|
||||
mobj_t *overlay;
|
||||
|
|
|
|||
|
|
@ -222,7 +222,6 @@ void K_AltShrinkPityIncrease(player_t *player);
|
|||
|
||||
void K_SpawnEggMineBumpEffect(mobj_t *mo);
|
||||
void K_DoEggMineStrip(mobj_t *tmo, mobj_t *inflictor, mobj_t *source);
|
||||
void K_EggMinePop(mobj_t *mo);
|
||||
void K_EggMineSetup(mobj_t *mo);
|
||||
void K_EggMineBounce(mobj_t *t1, mobj_t *t2);
|
||||
|
||||
|
|
|
|||
|
|
@ -11472,6 +11472,39 @@ void A_LandMineExplode(void *thing)
|
|||
}
|
||||
}
|
||||
|
||||
void A_EggMinePop(void *thing)
|
||||
{
|
||||
mobj_t *actor = thing;
|
||||
mobj_t *poof;
|
||||
mobj_t *landMine;
|
||||
player_t *player;
|
||||
|
||||
if (LUA_CallAction(A_EGGMINEPOP, actor))
|
||||
return;
|
||||
|
||||
if (actor->lastlook == 0) return;
|
||||
|
||||
poof = P_SpawnMobj(actor->x, actor->y, actor->z, MT_EXPLODE);
|
||||
S_StartSound(poof, actor->info->deathsound);
|
||||
|
||||
if (!(actor->target && actor->target->player)) return;
|
||||
|
||||
player = actor->target->player;
|
||||
|
||||
landMine = P_SpawnMobj(actor->x, actor->y, actor->z + actor->height/2, MT_LANDMINE);
|
||||
K_FlipFromObject(landMine, actor);
|
||||
landMine->threshold = 10;
|
||||
landMine->target = player->mo;
|
||||
|
||||
P_SetScale(landMine, 3*actor->scale/4);
|
||||
landMine->destscale = actor->destscale;
|
||||
|
||||
landMine->angle = actor->angle;
|
||||
|
||||
landMine->momz = (28 * mapobjectscale * P_MobjFlip(actor));
|
||||
landMine->color = player->skincolor;
|
||||
}
|
||||
|
||||
void A_BallhogExplode(void *thing)
|
||||
{
|
||||
mobj_t *actor = thing;
|
||||
|
|
|
|||
|
|
@ -8833,7 +8833,6 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
|
|||
mobj->movefactor -= 1;
|
||||
if (mobj->movefactor <= 0)
|
||||
{
|
||||
K_EggMinePop(mobj);
|
||||
P_KillMobj(mobj, mobj, NULL, DMG_INSTAKILL);
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in a new issue