Merge branch '1x-shields' into 'master'

1x flame/lightning shield; also fixes flame shield in reverse gravity

Closes #1189

See merge request KartKrew/Kart!2145
This commit is contained in:
toaster 2024-03-25 20:38:26 +00:00
commit 67fb52b552

View file

@ -7729,11 +7729,6 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
newScale = FixedMul(newScale, FixedDiv(newHeight / 2, mobj->target->height));
}
if (mobj->target->player->curshield == KSHIELD_FLAME)
{
newScale = 8 * newScale / 5;
}
mobj->angle = K_MomentumAngle(mobj->target);
P_MoveOrigin(mobj, mobj->target->x, mobj->target->y, mobj->target->z + (newHeight / 2));
mobj->destscale = newScale;
@ -8386,7 +8381,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
P_RemoveMobj(mobj);
return false;
}
P_SetScale(mobj, (mobj->destscale = (7*mobj->target->scale)>>2));
P_SetScale(mobj, (mobj->destscale = (5*mobj->target->scale)>>2));
P_MoveOrigin(mobj, mobj->target->x, mobj->target->y, mobj->target->z + mobj->target->height/2);
break;
@ -8515,7 +8510,7 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
flamemax = mobj->target->player->flamelength;
P_SetScale(mobj, (mobj->destscale = (8*mobj->target->scale)>>2));
P_SetScale(mobj, (mobj->destscale = (5*mobj->target->scale)>>2));
curstate = ((mobj->tics == 1) ? (mobj->state->nextstate) : ((statenum_t)(mobj->state-states)));
@ -8584,11 +8579,9 @@ static boolean P_MobjRegularThink(mobj_t *mobj)
}
}
P_MoveOrigin(mobj, mobj->target->x, mobj->target->y, mobj->target->z + (mobj->eflags & MFE_VERTICALFLIP ? 1 : 1) * mobj->target->height/2);
P_MoveOrigin(mobj, mobj->target->x, mobj->target->y, mobj->target->z + mobj->target->height/2);
mobj->angle = K_MomentumAngle(mobj->target);
K_FlipFromObject(mobj, mobj->target);
if (underlayst != S_NULL)
{
mobj_t *underlay = P_SpawnMobjFromMobj(mobj, 0, 0, 0, MT_FLAMESHIELDUNDERLAY);