mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-27 12:31:54 +00:00
Merge branch 'p-speed-damage-soften' into 'master'
Downgrade damage when tripwire lenient Closes #1375 See merge request kart-krew-dev/ring-racers-internal!2557
This commit is contained in:
commit
35ab0bd52c
2 changed files with 27 additions and 5 deletions
|
|
@ -229,7 +229,8 @@ boolean Obj_OrbinautJawzCollide(mobj_t *t1, mobj_t *t2)
|
||||||
{
|
{
|
||||||
P_DamageMobj(t2, t1, t1->target, 1, DMG_WOMBO |
|
P_DamageMobj(t2, t1, t1->target, 1, DMG_WOMBO |
|
||||||
(tumbleitem ? DMG_TUMBLE : DMG_WIPEOUT));
|
(tumbleitem ? DMG_TUMBLE : DMG_WIPEOUT));
|
||||||
K_KartBouncing(t2, t1);
|
if (tumbleitem || (gametyperules & GTR_SPHERES) || !t2->player->tripwireLeniency)
|
||||||
|
K_KartBouncing(t2, t1);
|
||||||
}
|
}
|
||||||
|
|
||||||
S_StartSound(t2, sfx_s3k7b);
|
S_StartSound(t2, sfx_s3k7b);
|
||||||
|
|
|
||||||
|
|
@ -3190,7 +3190,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
|
||||||
damage = 0;
|
damage = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
boolean hitFromInvinc = false;
|
boolean softenTumble = false;
|
||||||
|
|
||||||
// Sting and stumble shouldn't be rewarding Battle hits.
|
// Sting and stumble shouldn't be rewarding Battle hits.
|
||||||
if (type == DMG_STING || type == DMG_STUMBLE)
|
if (type == DMG_STING || type == DMG_STUMBLE)
|
||||||
|
|
@ -3212,7 +3212,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
|
||||||
{
|
{
|
||||||
tic_t kinvextend;
|
tic_t kinvextend;
|
||||||
|
|
||||||
hitFromInvinc = true;
|
softenTumble = true;
|
||||||
|
|
||||||
if (gametyperules & GTR_CLOSERPLAYERS)
|
if (gametyperules & GTR_CLOSERPLAYERS)
|
||||||
kinvextend = 2*TICRATE;
|
kinvextend = 2*TICRATE;
|
||||||
|
|
@ -3332,6 +3332,27 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
|
||||||
K_PopPlayerShield(player);
|
K_PopPlayerShield(player);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!(gametyperules & GTR_SPHERES) && player->tripwireLeniency)
|
||||||
|
{
|
||||||
|
switch (type)
|
||||||
|
{
|
||||||
|
case DMG_EXPLODE:
|
||||||
|
type = DMG_TUMBLE;
|
||||||
|
break;
|
||||||
|
case DMG_TUMBLE:
|
||||||
|
softenTumble = true;
|
||||||
|
break;
|
||||||
|
case DMG_NORMAL:
|
||||||
|
case DMG_WIPEOUT:
|
||||||
|
type = DMG_STUMBLE;
|
||||||
|
player->ringburst += 5; // THERE IS SIMPLY NO HOPE AT THIS POINT
|
||||||
|
K_PopPlayerShield(player);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
switch (type)
|
switch (type)
|
||||||
{
|
{
|
||||||
case DMG_STING:
|
case DMG_STING:
|
||||||
|
|
@ -3345,7 +3366,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
|
||||||
ringburst = 0;
|
ringburst = 0;
|
||||||
break;
|
break;
|
||||||
case DMG_TUMBLE:
|
case DMG_TUMBLE:
|
||||||
K_TumblePlayer(player, inflictor, source, hitFromInvinc);
|
K_TumblePlayer(player, inflictor, source, softenTumble);
|
||||||
ringburst = 10;
|
ringburst = 10;
|
||||||
break;
|
break;
|
||||||
case DMG_EXPLODE:
|
case DMG_EXPLODE:
|
||||||
|
|
@ -3389,7 +3410,7 @@ boolean P_DamageMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source, INT32 da
|
||||||
if (gametyperules & GTR_BUMPERS)
|
if (gametyperules & GTR_BUMPERS)
|
||||||
player->spheres = min(player->spheres + 10, 40);
|
player->spheres = min(player->spheres + 10, 40);
|
||||||
|
|
||||||
if ((hardhit == true && !hitFromInvinc) || cv_kartdebughuddrop.value)
|
if ((hardhit == true && !softenTumble) || cv_kartdebughuddrop.value)
|
||||||
{
|
{
|
||||||
K_DropItems(player);
|
K_DropItems(player);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue