3 minor tweaks

- Enemies can no longer award points
- You should no longer get karma for "bombing" someone during their
invincibility frames
- Red shells have slightly more friction in Battle
This commit is contained in:
TehRealSalt 2017-11-29 18:31:17 -05:00
parent 10e09e5719
commit d43c731b55
4 changed files with 28 additions and 18 deletions

View File

@ -1919,7 +1919,14 @@ void K_ExplodePlayer(player_t *player, mobj_t *source) // A bit of a hack, we ju
}
if (source && source->player && player != source->player)
{
if (source->player->kartstuff[k_balloon] <= 0)
{
source->player->kartstuff[k_comebackpoints] += 2;
CONS_Printf(M_GetText("%s bombed %s!\n"), player_names[source->player-players], player_names[player-players]);
}
P_AddPlayerScore(source->player, 1);
}
K_CheckBalloons();
}

View File

@ -2097,14 +2097,14 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source)
{
if (metalrecording) // Ack! Metal Sonic shouldn't die! Cut the tape, end recording!
G_StopMetalRecording();
if (gametype == GT_MATCH && cv_match_scoring.value == 0 // note, no team match suicide penalty
/*if (gametype == GT_MATCH && cv_match_scoring.value == 0 // note, no team match suicide penalty
&& ((target == source) || (source == NULL && inflictor == NULL) || (source && !source->player)))
{ // Suicide penalty - Not in Kart
//if (target->player->score >= 50)
// target->player->score -= 50;
//else
// target->player->score = 0;
}
if (target->player->score >= 50)
target->player->score -= 50;
else
target->player->score = 0;
}*/
target->flags2 &= ~MF2_DONTDRAW;
}
@ -2123,7 +2123,7 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source)
}
// Award Score Tails
{
/*{ // Enemies shouldn't award points in Kart
INT32 score = 0;
if (maptol & TOL_NIGHTS) // Enemies always worth 200, bosses don't do anything.
@ -2199,7 +2199,7 @@ void P_KillMobj(mobj_t *target, mobj_t *inflictor, mobj_t *source)
}
P_AddPlayerScore(source->player, score);
}
}*/
}
// if a player avatar dies...

View File

@ -1642,32 +1642,26 @@ static boolean PIT_CheckThing(mobj_t *thing)
if (gametype != GT_RACE)
{
if ((thing->player->kartstuff[k_balloon] <= 0 || tmthing->player->kartstuff[k_balloon] <= 0)
&& (thing->player->kartstuff[k_comebackmode] == 0 && tmthing->player->kartstuff[k_comebackmode] == 0))
if ((thing->player->kartstuff[k_balloon] <= 0 && thing->player->kartstuff[k_comebackmode] == 0)
|| (tmthing->player->kartstuff[k_balloon] <= 0 && tmthing->player->kartstuff[k_comebackmode] == 0))
{
if (tmthing->player->kartstuff[k_balloon] > 0)
{
thing->player->kartstuff[k_comebackpoints] += 2;
CONS_Printf(M_GetText("%s bombed %s!\n"), player_names[thing->player-players], player_names[tmthing->player-players]);
K_ExplodePlayer(tmthing->player, thing);
if (thing->player->kartstuff[k_comebackpoints] >= 3)
K_StealBalloon(thing->player, tmthing->player, true);
K_ExplodePlayer(tmthing->player, thing);
thing->player->kartstuff[k_comebacktimer] = comebacktime;
return true;
}
else if (thing->player->kartstuff[k_balloon] > 0)
{
tmthing->player->kartstuff[k_comebackpoints] += 2;
CONS_Printf(M_GetText("%s bombed %s!\n"), player_names[tmthing->player-players], player_names[thing->player-players]);
K_ExplodePlayer(thing->player, tmthing);
if (tmthing->player->kartstuff[k_comebackpoints] >= 3)
K_StealBalloon(tmthing->player, thing->player, true);
K_ExplodePlayer(thing->player, tmthing);
tmthing->player->kartstuff[k_comebacktimer] = comebacktime;
return true;
}

View File

@ -7760,6 +7760,15 @@ void P_MobjThinker(mobj_t *mobj)
}
}
if (gametype != GT_RACE)
{
mobj->friction -= 1228;
if (mobj->friction > FRACUNIT)
mobj->friction = FRACUNIT;
if (mobj->friction < 0)
mobj->friction = 0;
}
P_InstaThrust(mobj, R_PointToAngle2(0, 0, mobj->momx, mobj->momy), topspeed);
sec2 = P_ThingOnSpecial3DFloor(mobj);