mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
New item capsule respawn functionality
This commit is contained in:
parent
27489edd3d
commit
90269c1a91
3 changed files with 23 additions and 1 deletions
|
|
@ -23078,7 +23078,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
sfx_None, // painsound
|
sfx_None, // painsound
|
||||||
S_NULL, // meleestate
|
S_NULL, // meleestate
|
||||||
S_NULL, // missilestate
|
S_NULL, // missilestate
|
||||||
S_NULL, // deathstate
|
S_INVISIBLE, // deathstate
|
||||||
S_NULL, // xdeathstate
|
S_NULL, // xdeathstate
|
||||||
sfx_itcaps, // deathsound
|
sfx_itcaps, // deathsound
|
||||||
0, // speed
|
0, // speed
|
||||||
|
|
|
||||||
|
|
@ -1303,6 +1303,14 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, UINT8 damaget
|
||||||
angle_t angle = FixedAngle(360*P_RandomFixed());
|
angle_t angle = FixedAngle(360*P_RandomFixed());
|
||||||
INT16 spacing = (target->radius >> 1) / target->scale;
|
INT16 spacing = (target->radius >> 1) / target->scale;
|
||||||
|
|
||||||
|
// set respawn fuse
|
||||||
|
if (modeattacking) // no respawns
|
||||||
|
;
|
||||||
|
else if (target->threshold == KITEM_SUPERRING)
|
||||||
|
target->fuse = 20*TICRATE;
|
||||||
|
else
|
||||||
|
target->fuse = 40*TICRATE;
|
||||||
|
|
||||||
// burst effects
|
// burst effects
|
||||||
for (i = 0; i < 2; i++)
|
for (i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
|
|
|
||||||
14
src/p_mobj.c
14
src/p_mobj.c
|
|
@ -8476,6 +8476,17 @@ static boolean P_FuseThink(mobj_t *mobj)
|
||||||
|
|
||||||
P_RemoveMobj(mobj); // make sure they disappear
|
P_RemoveMobj(mobj); // make sure they disappear
|
||||||
return false;
|
return false;
|
||||||
|
case MT_ITEMCAPSULE:
|
||||||
|
if (mobj->spawnpoint)
|
||||||
|
P_SpawnMapThing(mobj->spawnpoint);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
mobj_t *newMobj = P_SpawnMobj(mobj->x, mobj->y, mobj->z, mobj->type);
|
||||||
|
newMobj->threshold = mobj->threshold;
|
||||||
|
newMobj->movecount = mobj->movecount;
|
||||||
|
}
|
||||||
|
P_RemoveMobj(mobj);
|
||||||
|
return false;
|
||||||
case MT_SMK_ICEBLOCK:
|
case MT_SMK_ICEBLOCK:
|
||||||
{
|
{
|
||||||
mobj_t *cur = mobj->hnext, *next;
|
mobj_t *cur = mobj->hnext, *next;
|
||||||
|
|
@ -11706,7 +11717,10 @@ static boolean P_SetupSpawnedMapThing(mapthing_t *mthing, mobj_t *mobj, boolean
|
||||||
|
|
||||||
// Ambush = double size (grounded) / half size (aerial)
|
// Ambush = double size (grounded) / half size (aerial)
|
||||||
if (!(mthing->options & MTF_AMBUSH) == !P_IsObjectOnGround(mobj))
|
if (!(mthing->options & MTF_AMBUSH) == !P_IsObjectOnGround(mobj))
|
||||||
|
{
|
||||||
mobj->destscale = min(mobj->destscale << 1, FixedDiv(64*FRACUNIT, mobj->info->radius)); // don't make them larger than the blockmap can handle
|
mobj->destscale = min(mobj->destscale << 1, FixedDiv(64*FRACUNIT, mobj->info->radius)); // don't make them larger than the blockmap can handle
|
||||||
|
mobj->scalespeed <<= 1;
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case MT_AAZTREE_HELPER:
|
case MT_AAZTREE_HELPER:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue