mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2025-10-30 08:01:28 +00:00
Reduce stun based on distance to leader
This commit is contained in:
parent
546bb52e3b
commit
51abee48cd
1 changed files with 13 additions and 1 deletions
14
src/k_kart.c
14
src/k_kart.c
|
|
@ -16302,10 +16302,12 @@ fixed_t K_TeamComebackMultiplier(player_t *player)
|
||||||
return multiplier;
|
return multiplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
void K_ApplyStun(player_t *player, mobj_t *inflictor, mobj_t *source, INT32 damage, UINT8 damagetype)
|
void K_ApplyStun(player_t *player, mobj_t *inflictor, mobj_t *source, ATTRUNUSED INT32 damage, ATTRUNUSED UINT8 damagetype)
|
||||||
{
|
{
|
||||||
#define BASE_STUN_TICS_MIN (4 * TICRATE)
|
#define BASE_STUN_TICS_MIN (4 * TICRATE)
|
||||||
#define BASE_STUN_TICS_MAX (10 * TICRATE)
|
#define BASE_STUN_TICS_MAX (10 * TICRATE)
|
||||||
|
#define MAX_STUN_REDUCTION (FRACUNIT/2)
|
||||||
|
#define STUN_REDUCTION_DISTANCE (20000)
|
||||||
INT32 stunTics = 0;
|
INT32 stunTics = 0;
|
||||||
UINT8 numPlayers = 0;
|
UINT8 numPlayers = 0;
|
||||||
UINT8 i;
|
UINT8 i;
|
||||||
|
|
@ -16350,10 +16352,20 @@ void K_ApplyStun(player_t *player, mobj_t *inflictor, mobj_t *source, INT32 dama
|
||||||
stunTics /= 4;
|
stunTics /= 4;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
UINT32 dist = K_GetItemRouletteDistance(player, D_NumPlayersInRace());
|
||||||
|
if (dist > STUN_REDUCTION_DISTANCE)
|
||||||
|
dist = STUN_REDUCTION_DISTANCE;
|
||||||
|
|
||||||
|
fixed_t distfactor = FixedDiv(dist, STUN_REDUCTION_DISTANCE); // 0-1 as you approach STUN_REDUCTION_DISTANCE
|
||||||
|
fixed_t stunfactor = Easing_Linear(distfactor, FRACUNIT, MAX_STUN_REDUCTION);
|
||||||
|
stunTics = FixedMul(stunTics*FRACUNIT, stunfactor)/FRACUNIT;
|
||||||
|
|
||||||
player->stunned = max(stunTics, 0);
|
player->stunned = max(stunTics, 0);
|
||||||
|
|
||||||
#undef BASE_STUN_TICS_MIN
|
#undef BASE_STUN_TICS_MIN
|
||||||
#undef BASE_STUN_TICS_MAX
|
#undef BASE_STUN_TICS_MAX
|
||||||
|
#undef MAX_STUN_REDUCTION
|
||||||
|
#undef STUN_REDUCTION_DISTANCE
|
||||||
}
|
}
|
||||||
|
|
||||||
//}
|
//}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue