mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Infinite tether uses lightning shield effects
This commit is contained in:
parent
ba8c511bb4
commit
0141ea5a7c
3 changed files with 29 additions and 15 deletions
|
|
@ -675,6 +675,12 @@ static inline BlockItReturn_t PIT_LightningShieldAttack(mobj_t *thing)
|
||||||
return BMIT_ABORT;
|
return BMIT_ABORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (thing == NULL || P_MobjWasRemoved(thing))
|
||||||
|
{
|
||||||
|
// Invalid?
|
||||||
|
return BMIT_ABORT;
|
||||||
|
}
|
||||||
|
|
||||||
if (thing == lightningSource)
|
if (thing == lightningSource)
|
||||||
{
|
{
|
||||||
// Don't explode yourself!!
|
// Don't explode yourself!!
|
||||||
|
|
|
||||||
12
src/k_kart.c
12
src/k_kart.c
|
|
@ -1725,8 +1725,16 @@ static void K_DrawDraftCombiring(player_t *player, player_t *victim, fixed_t cur
|
||||||
curz + (P_RandomRange(24,48)*mapobjectscale),
|
curz + (P_RandomRange(24,48)*mapobjectscale),
|
||||||
MT_SIGNSPARKLE);
|
MT_SIGNSPARKLE);
|
||||||
|
|
||||||
P_SetMobjState(band, S_SIGNSPARK1 + (leveltime % 11));
|
if (maxdist == 0)
|
||||||
P_SetScale(band, (band->destscale = (3*player->mo->scale)/2));
|
{
|
||||||
|
P_SetMobjState(band, S_KSPARK1 + (leveltime % 8));
|
||||||
|
P_SetScale(band, (band->destscale = player->mo->scale/2));
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
P_SetMobjState(band, S_SIGNSPARK1 + (leveltime % 11));
|
||||||
|
P_SetScale(band, (band->destscale = (3*player->mo->scale)/2));
|
||||||
|
}
|
||||||
|
|
||||||
band->color = colors[c];
|
band->color = colors[c];
|
||||||
band->colorized = true;
|
band->colorized = true;
|
||||||
|
|
|
||||||
|
|
@ -14032,21 +14032,21 @@ void A_LightningFollowPlayer(mobj_t *actor)
|
||||||
if (!actor->target)
|
if (!actor->target)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
if (actor->extravalue1) // Make the radius also follow the player somewhat accuratly
|
||||||
{
|
{
|
||||||
if (actor->extravalue1) // Make the radius also follow the player somewhat accuratly
|
sx = actor->target->x + FixedMul((actor->target->scale*actor->extravalue1), FINECOSINE((actor->angle)>>ANGLETOFINESHIFT));
|
||||||
{
|
sy = actor->target->y + FixedMul((actor->target->scale*actor->extravalue1), FINESINE((actor->angle)>>ANGLETOFINESHIFT));
|
||||||
sx = actor->target->x + FixedMul((actor->target->scale*actor->extravalue1), FINECOSINE((actor->angle)>>ANGLETOFINESHIFT));
|
P_MoveOrigin(actor, sx, sy, actor->target->z);
|
||||||
sy = actor->target->y + FixedMul((actor->target->scale*actor->extravalue1), FINESINE((actor->angle)>>ANGLETOFINESHIFT));
|
|
||||||
P_MoveOrigin(actor, sx, sy, actor->target->z);
|
|
||||||
}
|
|
||||||
else // else just teleport to player directly
|
|
||||||
P_MoveOrigin(actor, actor->target->x, actor->target->y, actor->target->z);
|
|
||||||
|
|
||||||
K_MatchGenericExtraFlags(actor, actor->target); // copy our target for graviflip
|
|
||||||
actor->momx = actor->target->momx;
|
|
||||||
actor->momy = actor->target->momy;
|
|
||||||
actor->momz = actor->target->momz; // Give momentum since we don't teleport to our player literally every frame.
|
|
||||||
}
|
}
|
||||||
|
else // else just teleport to player directly
|
||||||
|
{
|
||||||
|
P_MoveOrigin(actor, actor->target->x, actor->target->y, actor->target->z);
|
||||||
|
}
|
||||||
|
|
||||||
|
K_MatchGenericExtraFlags(actor, actor->target); // copy our target for graviflip
|
||||||
|
actor->momx = actor->target->momx;
|
||||||
|
actor->momy = actor->target->momy;
|
||||||
|
actor->momz = actor->target->momz; // Give momentum since we don't teleport to our player literally every frame.
|
||||||
}
|
}
|
||||||
|
|
||||||
// A_FZBoomFlash:
|
// A_FZBoomFlash:
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue