mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2024-12-27 04:41:23 +00:00
Merge branch 'flying-sharks-suck' into 'next'
Flying sharks suck See merge request KartKrew/Kart-Public!46
This commit is contained in:
commit
3f283fd2a9
7 changed files with 86 additions and 51 deletions
|
@ -348,10 +348,11 @@ typedef enum
|
||||||
k_wanted, // Timer for determining WANTED status, lowers when hitting people, prevents the game turning into Camp Lazlo
|
k_wanted, // Timer for determining WANTED status, lowers when hitting people, prevents the game turning into Camp Lazlo
|
||||||
k_yougotem, // "You Got Em" gfx when hitting someone as a karma player via a method that gets you back in the game instantly
|
k_yougotem, // "You Got Em" gfx when hitting someone as a karma player via a method that gets you back in the game instantly
|
||||||
|
|
||||||
// v1.0.2 vars
|
// v1.0.2+ vars
|
||||||
k_itemblink, // Item flashing after roulette, prevents Hyudoro stealing AND serves as a mashing indicator
|
k_itemblink, // Item flashing after roulette, prevents Hyudoro stealing AND serves as a mashing indicator
|
||||||
k_itemblinkmode, // Type of flashing: 0 = white (normal), 1 = red (mashing), 2 = rainbow (enhanced items)
|
k_itemblinkmode, // Type of flashing: 0 = white (normal), 1 = red (mashing), 2 = rainbow (enhanced items)
|
||||||
k_getsparks, // Disable drift sparks at low speed, JUST enough to give acceleration the actual headstart above speed
|
k_getsparks, // Disable drift sparks at low speed, JUST enough to give acceleration the actual headstart above speed
|
||||||
|
k_jawztargetdelay, // Delay for Jawz target switching, to make it less twitchy
|
||||||
|
|
||||||
NUMKARTSTUFF
|
NUMKARTSTUFF
|
||||||
} kartstufftype_t;
|
} kartstufftype_t;
|
||||||
|
|
|
@ -8333,7 +8333,8 @@ static const char *const KARTSTUFF_LIST[] = {
|
||||||
|
|
||||||
"ITEMBLINK",
|
"ITEMBLINK",
|
||||||
"ITEMBLINKMODE",
|
"ITEMBLINKMODE",
|
||||||
"GETSPARKS"
|
"GETSPARKS",
|
||||||
|
"JAWZTARGETDELAY"
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *const HUDITEMS_LIST[] = {
|
static const char *const HUDITEMS_LIST[] = {
|
||||||
|
|
|
@ -15449,7 +15449,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
S_ORBINAUT_SHIELDDEAD, // deathstate
|
S_ORBINAUT_SHIELDDEAD, // deathstate
|
||||||
S_NULL, // xdeathstate
|
S_NULL, // xdeathstate
|
||||||
sfx_None, // deathsound
|
sfx_None, // deathsound
|
||||||
10*FRACUNIT, // speed
|
4*FRACUNIT, // speed
|
||||||
16*FRACUNIT, // radius
|
16*FRACUNIT, // radius
|
||||||
32*FRACUNIT, // height
|
32*FRACUNIT, // height
|
||||||
0, // display offset
|
0, // display offset
|
||||||
|
@ -15530,7 +15530,7 @@ mobjinfo_t mobjinfo[NUMMOBJTYPES] =
|
||||||
S_JAWZ_DEAD1, // deathstate
|
S_JAWZ_DEAD1, // deathstate
|
||||||
S_JAWZ_DEAD2, // xdeathstate
|
S_JAWZ_DEAD2, // xdeathstate
|
||||||
sfx_None, // deathsound
|
sfx_None, // deathsound
|
||||||
10*FRACUNIT, // speed
|
4*FRACUNIT, // speed
|
||||||
16*FRACUNIT, // radius
|
16*FRACUNIT, // radius
|
||||||
32*FRACUNIT, // height
|
32*FRACUNIT, // height
|
||||||
0, // display offset
|
0, // display offset
|
||||||
|
|
106
src/k_kart.c
106
src/k_kart.c
|
@ -1068,6 +1068,26 @@ void K_KartBouncing(mobj_t *mobj1, mobj_t *mobj2, boolean bounce, boolean solid)
|
||||||
|| (mobj2->player && mobj2->player->kartstuff[k_respawn]))
|
|| (mobj2->player && mobj2->player->kartstuff[k_respawn]))
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
{ // Don't bump if you're flashing
|
||||||
|
INT32 flash;
|
||||||
|
|
||||||
|
flash = K_GetKartFlashing(mobj1->player);
|
||||||
|
if (mobj1->player && mobj1->player->powers[pw_flashing] > 0 && mobj1->player->powers[pw_flashing] < flash)
|
||||||
|
{
|
||||||
|
if (mobj1->player->powers[pw_flashing] < flash-1)
|
||||||
|
mobj1->player->powers[pw_flashing]++;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
flash = K_GetKartFlashing(mobj2->player);
|
||||||
|
if (mobj2->player && mobj2->player->powers[pw_flashing] > 0 && mobj2->player->powers[pw_flashing] < flash)
|
||||||
|
{
|
||||||
|
if (mobj2->player->powers[pw_flashing] < flash-1)
|
||||||
|
mobj2->player->powers[pw_flashing]++;
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// Don't bump if you've recently bumped
|
// Don't bump if you've recently bumped
|
||||||
if (mobj1->player && mobj1->player->kartstuff[k_justbumped])
|
if (mobj1->player && mobj1->player->kartstuff[k_justbumped])
|
||||||
{
|
{
|
||||||
|
@ -1219,9 +1239,8 @@ static UINT8 K_CheckOffroadCollide(mobj_t *mo, sector_t *sec)
|
||||||
for (i = 2; i < 5; i++)
|
for (i = 2; i < 5; i++)
|
||||||
{
|
{
|
||||||
if ((sec2 && GETSECSPECIAL(sec2->special, 1) == i)
|
if ((sec2 && GETSECSPECIAL(sec2->special, 1) == i)
|
||||||
|| (P_IsObjectOnRealGround(mo, sec)
|
|| (P_IsObjectOnRealGround(mo, sec) && GETSECSPECIAL(sec->special, 1) == i))
|
||||||
&& GETSECSPECIAL(sec->special, 1) == i))
|
return i-1;
|
||||||
return i;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -1238,19 +1257,9 @@ static void K_UpdateOffroad(player_t *player)
|
||||||
fixed_t offroad;
|
fixed_t offroad;
|
||||||
sector_t *nextsector = R_PointInSubsector(
|
sector_t *nextsector = R_PointInSubsector(
|
||||||
player->mo->x + player->mo->momx*2, player->mo->y + player->mo->momy*2)->sector;
|
player->mo->x + player->mo->momx*2, player->mo->y + player->mo->momy*2)->sector;
|
||||||
|
UINT8 offroadstrength = K_CheckOffroadCollide(player->mo, nextsector);
|
||||||
|
|
||||||
fixed_t offroadstrength = 0;
|
// If you are in offroad, a timer starts.
|
||||||
|
|
||||||
if (K_CheckOffroadCollide(player->mo, nextsector) == 2) // Weak Offroad
|
|
||||||
offroadstrength = 1;
|
|
||||||
else if (K_CheckOffroadCollide(player->mo, nextsector) == 3) // Mid Offroad
|
|
||||||
offroadstrength = 2;
|
|
||||||
else if (K_CheckOffroadCollide(player->mo, nextsector) == 4) // Strong Offroad
|
|
||||||
offroadstrength = 3;
|
|
||||||
|
|
||||||
// If you are offroad, a timer starts. Depending on your weight value, the timer increments differently.
|
|
||||||
//if ((nextsector->special & 256) && nextsector->special != 768
|
|
||||||
// && nextsector->special != 1024 && nextsector->special != 4864)
|
|
||||||
if (offroadstrength)
|
if (offroadstrength)
|
||||||
{
|
{
|
||||||
if (K_CheckOffroadCollide(player->mo, player->mo->subsector->sector) && player->kartstuff[k_offroad] == 0)
|
if (K_CheckOffroadCollide(player->mo, player->mo->subsector->sector) && player->kartstuff[k_offroad] == 0)
|
||||||
|
@ -1258,7 +1267,7 @@ static void K_UpdateOffroad(player_t *player)
|
||||||
|
|
||||||
if (player->kartstuff[k_offroad] > 0)
|
if (player->kartstuff[k_offroad] > 0)
|
||||||
{
|
{
|
||||||
offroad = (FRACUNIT * offroadstrength) / (TICRATE/2);
|
offroad = (offroadstrength << FRACBITS) / (TICRATE/2);
|
||||||
|
|
||||||
//if (player->kartstuff[k_growshrinktimer] > 1) // grow slows down half as fast
|
//if (player->kartstuff[k_growshrinktimer] > 1) // grow slows down half as fast
|
||||||
// offroad /= 2;
|
// offroad /= 2;
|
||||||
|
@ -1266,8 +1275,8 @@ static void K_UpdateOffroad(player_t *player)
|
||||||
player->kartstuff[k_offroad] += offroad;
|
player->kartstuff[k_offroad] += offroad;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (player->kartstuff[k_offroad] > FRACUNIT*offroadstrength)
|
if (player->kartstuff[k_offroad] > (offroadstrength << FRACBITS))
|
||||||
player->kartstuff[k_offroad] = FRACUNIT*offroadstrength;
|
player->kartstuff[k_offroad] = (offroadstrength << FRACBITS);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
player->kartstuff[k_offroad] = 0;
|
player->kartstuff[k_offroad] = 0;
|
||||||
|
@ -1617,10 +1626,8 @@ static void K_GetKartBoostPower(player_t *player)
|
||||||
&& player->kartstuff[k_offroad] >= 0)
|
&& player->kartstuff[k_offroad] >= 0)
|
||||||
boostpower = FixedDiv(boostpower, player->kartstuff[k_offroad] + FRACUNIT);
|
boostpower = FixedDiv(boostpower, player->kartstuff[k_offroad] + FRACUNIT);
|
||||||
|
|
||||||
if (player->kartstuff[k_itemtype] == KITEM_KITCHENSINK)
|
if (player->kartstuff[k_bananadrag] > TICRATE)
|
||||||
boostpower = max((TICRATE/2), (5*TICRATE)-(player->kartstuff[k_bananadrag]/2))*boostpower/(5*TICRATE);
|
boostpower = (4*boostpower)/5;
|
||||||
else if (player->kartstuff[k_bananadrag] > TICRATE)
|
|
||||||
boostpower = 4*boostpower/5;
|
|
||||||
|
|
||||||
// Banana drag/offroad dust
|
// Banana drag/offroad dust
|
||||||
if (boostpower < FRACUNIT
|
if (boostpower < FRACUNIT
|
||||||
|
@ -2502,7 +2509,17 @@ static mobj_t *K_SpawnKartMissile(mobj_t *source, mobjtype_t type, angle_t an, I
|
||||||
break;
|
break;
|
||||||
case MT_JAWZ:
|
case MT_JAWZ:
|
||||||
if (source && source->player)
|
if (source && source->player)
|
||||||
|
{
|
||||||
|
INT32 lasttarg = source->player->kartstuff[k_lastjawztarget];
|
||||||
th->cvmem = source->player->skincolor;
|
th->cvmem = source->player->skincolor;
|
||||||
|
if ((lasttarg >= 0 && lasttarg < MAXPLAYERS)
|
||||||
|
&& playeringame[lasttarg]
|
||||||
|
&& !players[lasttarg].spectator
|
||||||
|
&& players[lasttarg].mo)
|
||||||
|
{
|
||||||
|
P_SetTarget(&th->tracer, players[lasttarg].mo);
|
||||||
|
}
|
||||||
|
}
|
||||||
else
|
else
|
||||||
th->cvmem = SKINCOLOR_KETCHUP;
|
th->cvmem = SKINCOLOR_KETCHUP;
|
||||||
/* FALLTHRU */
|
/* FALLTHRU */
|
||||||
|
@ -3626,6 +3643,7 @@ static void K_MoveHeldObjects(player_t *player)
|
||||||
case MT_JAWZ_SHIELD:
|
case MT_JAWZ_SHIELD:
|
||||||
{
|
{
|
||||||
mobj_t *cur = player->mo->hnext;
|
mobj_t *cur = player->mo->hnext;
|
||||||
|
fixed_t speed = ((8 - min(4, player->kartstuff[k_itemamount])) * cur->info->speed) / 7;
|
||||||
|
|
||||||
player->kartstuff[k_bananadrag] = 0; // Just to make sure
|
player->kartstuff[k_bananadrag] = 0; // Just to make sure
|
||||||
|
|
||||||
|
@ -3643,10 +3661,10 @@ static void K_MoveHeldObjects(player_t *player)
|
||||||
cur->color = player->skincolor;
|
cur->color = player->skincolor;
|
||||||
|
|
||||||
cur->angle -= ANGLE_90;
|
cur->angle -= ANGLE_90;
|
||||||
cur->angle += FixedAngle(cur->info->speed);
|
cur->angle += FixedAngle(speed);
|
||||||
|
|
||||||
if (cur->extravalue1 < radius)
|
if (cur->extravalue1 < radius)
|
||||||
cur->extravalue1 += FixedMul(P_AproxDistance(cur->extravalue1, radius), FRACUNIT/12);
|
cur->extravalue1 += P_AproxDistance(cur->extravalue1, radius) / 12;
|
||||||
if (cur->extravalue1 > radius)
|
if (cur->extravalue1 > radius)
|
||||||
cur->extravalue1 = radius;
|
cur->extravalue1 = radius;
|
||||||
|
|
||||||
|
@ -3906,13 +3924,14 @@ player_t *K_FindJawzTarget(mobj_t *actor, player_t *source)
|
||||||
if (thisang > ANGLE_180)
|
if (thisang > ANGLE_180)
|
||||||
thisang = InvAngle(thisang);
|
thisang = InvAngle(thisang);
|
||||||
|
|
||||||
if (thisang > ANGLE_45) // Don't go for people who are behind you
|
|
||||||
continue;
|
|
||||||
|
|
||||||
// Jawz only go after the person directly ahead of you in race... sort of literally now!
|
// Jawz only go after the person directly ahead of you in race... sort of literally now!
|
||||||
if (G_RaceGametype())
|
if (G_RaceGametype())
|
||||||
{
|
{
|
||||||
if (player->kartstuff[k_position] >= source->kartstuff[k_position]) // Don't pay attention to people behind you
|
// Don't go for people who are behind you
|
||||||
|
if (thisang > ANGLE_67h)
|
||||||
|
continue;
|
||||||
|
// Don't pay attention to people who aren't above your position
|
||||||
|
if (player->kartstuff[k_position] >= source->kartstuff[k_position])
|
||||||
continue;
|
continue;
|
||||||
if ((best == -1) || (player->kartstuff[k_position] > best))
|
if ((best == -1) || (player->kartstuff[k_position] > best))
|
||||||
{
|
{
|
||||||
|
@ -3925,6 +3944,11 @@ player_t *K_FindJawzTarget(mobj_t *actor, player_t *source)
|
||||||
fixed_t thisdist;
|
fixed_t thisdist;
|
||||||
fixed_t thisavg;
|
fixed_t thisavg;
|
||||||
|
|
||||||
|
// Don't go for people who are behind you
|
||||||
|
if (thisang > ANGLE_45)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
// Don't pay attention to dead players
|
||||||
if (player->kartstuff[k_bumper] <= 0)
|
if (player->kartstuff[k_bumper] <= 0)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
|
@ -4438,12 +4462,22 @@ void K_KartPlayerAfterThink(player_t *player)
|
||||||
// Jawz reticule (seeking)
|
// Jawz reticule (seeking)
|
||||||
if (player->kartstuff[k_itemtype] == KITEM_JAWZ && player->kartstuff[k_itemheld])
|
if (player->kartstuff[k_itemtype] == KITEM_JAWZ && player->kartstuff[k_itemheld])
|
||||||
{
|
{
|
||||||
player_t *targ = K_FindJawzTarget(player->mo, player);
|
INT32 lasttarg = player->kartstuff[k_lastjawztarget];
|
||||||
|
player_t *targ;
|
||||||
mobj_t *ret;
|
mobj_t *ret;
|
||||||
|
|
||||||
if (!targ)
|
if (player->kartstuff[k_jawztargetdelay] && playeringame[lasttarg] && !players[lasttarg].spectator)
|
||||||
|
{
|
||||||
|
targ = &players[lasttarg];
|
||||||
|
player->kartstuff[k_jawztargetdelay]--;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
targ = K_FindJawzTarget(player->mo, player);
|
||||||
|
|
||||||
|
if (!targ || !targ->mo || P_MobjWasRemoved(targ->mo))
|
||||||
{
|
{
|
||||||
player->kartstuff[k_lastjawztarget] = -1;
|
player->kartstuff[k_lastjawztarget] = -1;
|
||||||
|
player->kartstuff[k_jawztargetdelay] = 0;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4453,7 +4487,7 @@ void K_KartPlayerAfterThink(player_t *player)
|
||||||
ret->tics = 1;
|
ret->tics = 1;
|
||||||
ret->color = player->skincolor;
|
ret->color = player->skincolor;
|
||||||
|
|
||||||
if (targ-players != player->kartstuff[k_lastjawztarget])
|
if (targ-players != lasttarg)
|
||||||
{
|
{
|
||||||
if (P_IsLocalPlayer(player) || P_IsLocalPlayer(targ))
|
if (P_IsLocalPlayer(player) || P_IsLocalPlayer(targ))
|
||||||
S_StartSound(NULL, sfx_s3k89);
|
S_StartSound(NULL, sfx_s3k89);
|
||||||
|
@ -4461,11 +4495,13 @@ void K_KartPlayerAfterThink(player_t *player)
|
||||||
S_StartSound(targ->mo, sfx_s3k89);
|
S_StartSound(targ->mo, sfx_s3k89);
|
||||||
|
|
||||||
player->kartstuff[k_lastjawztarget] = targ-players;
|
player->kartstuff[k_lastjawztarget] = targ-players;
|
||||||
|
player->kartstuff[k_jawztargetdelay] = 5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
player->kartstuff[k_lastjawztarget] = -1;
|
player->kartstuff[k_lastjawztarget] = -1;
|
||||||
|
player->kartstuff[k_jawztargetdelay] = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4667,9 +4703,9 @@ static void K_KartDrift(player_t *player, boolean onground)
|
||||||
}
|
}
|
||||||
|
|
||||||
// Disable drift-sparks until you're going fast enough
|
// Disable drift-sparks until you're going fast enough
|
||||||
if (player->kartstuff[k_getsparks] == 0)
|
if (player->kartstuff[k_getsparks] == 0 || player->kartstuff[k_offroad])
|
||||||
driftadditive = 0;
|
driftadditive = 0;
|
||||||
if (player->speed > minspeed*2 && !player->kartstuff[k_offroad])
|
if (player->speed > minspeed*2)
|
||||||
player->kartstuff[k_getsparks] = 1;
|
player->kartstuff[k_getsparks] = 1;
|
||||||
|
|
||||||
// This spawns the drift sparks
|
// This spawns the drift sparks
|
||||||
|
@ -5109,7 +5145,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
||||||
|
|
||||||
for (moloop = 0; moloop < player->kartstuff[k_itemamount]; moloop++)
|
for (moloop = 0; moloop < player->kartstuff[k_itemamount]; moloop++)
|
||||||
{
|
{
|
||||||
newangle = FixedAngle(((360/player->kartstuff[k_itemamount])*moloop)*FRACUNIT) + ANGLE_90;
|
newangle = (player->mo->angle + ANGLE_157h) + FixedAngle(((360 / player->kartstuff[k_itemamount]) * moloop) << FRACBITS) + ANGLE_90;
|
||||||
mo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_ORBINAUT_SHIELD);
|
mo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_ORBINAUT_SHIELD);
|
||||||
if (!mo)
|
if (!mo)
|
||||||
{
|
{
|
||||||
|
@ -5150,7 +5186,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
|
||||||
|
|
||||||
for (moloop = 0; moloop < player->kartstuff[k_itemamount]; moloop++)
|
for (moloop = 0; moloop < player->kartstuff[k_itemamount]; moloop++)
|
||||||
{
|
{
|
||||||
newangle = FixedAngle(((360/player->kartstuff[k_itemamount])*moloop)*FRACUNIT) + ANGLE_90;
|
newangle = (player->mo->angle + ANGLE_157h) + FixedAngle(((360 / player->kartstuff[k_itemamount]) * moloop) << FRACBITS) + ANGLE_90;
|
||||||
mo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_JAWZ_SHIELD);
|
mo = P_SpawnMobj(player->mo->x, player->mo->y, player->mo->z, MT_JAWZ_SHIELD);
|
||||||
if (!mo)
|
if (!mo)
|
||||||
{
|
{
|
||||||
|
|
|
@ -8264,8 +8264,8 @@ void A_JawzChase(mobj_t *actor)
|
||||||
|
|
||||||
if (actor->tracer)
|
if (actor->tracer)
|
||||||
{
|
{
|
||||||
if (G_RaceGametype()) // Stop looking after first target in race
|
/*if (G_RaceGametype()) // Stop looking after first target in race
|
||||||
actor->extravalue1 = 1;
|
actor->extravalue1 = 1;*/
|
||||||
|
|
||||||
if (actor->tracer->health)
|
if (actor->tracer->health)
|
||||||
{
|
{
|
||||||
|
|
|
@ -752,8 +752,6 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
// Player Damage
|
// Player Damage
|
||||||
P_DamageMobj(thing, tmthing, tmthing->target, 1);
|
P_DamageMobj(thing, tmthing, tmthing->target, 1);
|
||||||
K_KartBouncing(thing, tmthing, false, false);
|
K_KartBouncing(thing, tmthing, false, false);
|
||||||
|
|
||||||
if (tmthing->type == MT_ORBINAUT || tmthing->type == MT_JAWZ || tmthing->type == MT_JAWZ_DUD)
|
|
||||||
S_StartSound(thing, sfx_s3k7b);
|
S_StartSound(thing, sfx_s3k7b);
|
||||||
|
|
||||||
// This Item Damage
|
// This Item Damage
|
||||||
|
@ -1035,8 +1033,6 @@ static boolean PIT_CheckThing(mobj_t *thing)
|
||||||
// Player Damage
|
// Player Damage
|
||||||
P_DamageMobj(tmthing, thing, thing->target, 1);
|
P_DamageMobj(tmthing, thing, thing->target, 1);
|
||||||
K_KartBouncing(tmthing, thing, false, false);
|
K_KartBouncing(tmthing, thing, false, false);
|
||||||
|
|
||||||
if (thing->type == MT_ORBINAUT || thing->type == MT_JAWZ || thing->type == MT_JAWZ_DUD)
|
|
||||||
S_StartSound(tmthing, sfx_s3k7b);
|
S_StartSound(tmthing, sfx_s3k7b);
|
||||||
|
|
||||||
// Other Item Damage
|
// Other Item Damage
|
||||||
|
|
|
@ -1354,7 +1354,7 @@ fixed_t P_GetMobjGravity(mobj_t *mo)
|
||||||
if (wasflip == !(mo->eflags & MFE_VERTICALFLIP)) // note!! == ! is not equivalent to != here - turns numeric into bool this way
|
if (wasflip == !(mo->eflags & MFE_VERTICALFLIP)) // note!! == ! is not equivalent to != here - turns numeric into bool this way
|
||||||
P_PlayerFlip(mo);
|
P_PlayerFlip(mo);
|
||||||
if (mo->player->kartstuff[k_pogospring])
|
if (mo->player->kartstuff[k_pogospring])
|
||||||
gravityadd = FixedMul(gravityadd, 5*FRACUNIT/2);
|
gravityadd = (5*gravityadd)/2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1404,11 +1404,12 @@ fixed_t P_GetMobjGravity(mobj_t *mo)
|
||||||
break;
|
break;
|
||||||
case MT_BANANA:
|
case MT_BANANA:
|
||||||
case MT_EGGMANITEM:
|
case MT_EGGMANITEM:
|
||||||
|
case MT_ORBINAUT:
|
||||||
|
case MT_JAWZ:
|
||||||
|
case MT_JAWZ_DUD:
|
||||||
case MT_SSMINE:
|
case MT_SSMINE:
|
||||||
gravityadd = FixedMul(gravityadd, 5*FRACUNIT/2);
|
|
||||||
break;
|
|
||||||
case MT_SINK:
|
case MT_SINK:
|
||||||
gravityadd = FixedMul(gravityadd, 5*FRACUNIT); // Double gravity
|
gravityadd = (5*gravityadd)/2;
|
||||||
break;
|
break;
|
||||||
case MT_SIGN:
|
case MT_SIGN:
|
||||||
gravityadd /= 8;
|
gravityadd /= 8;
|
||||||
|
|
Loading…
Reference in a new issue