MK rules for Battle scoring

and quick fix for karma items
This commit is contained in:
TehRealSalt 2018-03-30 00:53:25 -04:00
parent 3d8441fe54
commit e974b6e4b7
4 changed files with 27 additions and 36 deletions

View File

@ -3385,12 +3385,8 @@ static void G_DoWorldDone(void)
{
if (server)
{
if (G_RaceGametype())
// SRB2kart: don't reset player between maps
D_MapChange(nextmap+1, gametype, ultimatemode, false, 0, false, false);
else
// resetplayer in match/tag/CTF for more equality
D_MapChange(nextmap+1, gametype, ultimatemode, true, 0, false, false);
// SRB2kart: don't reset player between maps
D_MapChange(nextmap+1, gametype, ultimatemode, false, 0, false, false);
}
gameaction = ga_nothing;

View File

@ -1390,8 +1390,8 @@ void K_SpinPlayer(player_t *player, mobj_t *source)
if (G_BattleGametype())
{
if (source && source->player && player != source->player)
P_AddPlayerScore(source->player, 1);
/*if (source && source->player && player != source->player)
P_AddPlayerScore(source->player, 1);*/
if (player->kartstuff[k_balloon] > 0)
{
@ -1448,8 +1448,8 @@ void K_SquishPlayer(player_t *player, mobj_t *source)
if (G_BattleGametype())
{
if (source && source->player && player != source->player)
P_AddPlayerScore(source->player, 1);
/*if (source && source->player && player != source->player)
P_AddPlayerScore(source->player, 1);*/
if (player->kartstuff[k_balloon] > 0)
{
@ -1505,7 +1505,7 @@ void K_ExplodePlayer(player_t *player, mobj_t *source) // A bit of a hack, we ju
if (source->player->kartstuff[k_comebackpoints] >= 3)
K_StealBalloon(source->player, player, true);
}
P_AddPlayerScore(source->player, 1);
//P_AddPlayerScore(source->player, 1);
}
if (player->kartstuff[k_balloon] > 0)
@ -3437,8 +3437,8 @@ void K_CheckBalloons(void)
if (playeringame[winnernum])
{
P_AddPlayerScore(&players[winnernum], numingame);
CONS_Printf(M_GetText("%s recieved %d points for winning!\n"), player_names[winnernum], numingame*2);
P_AddPlayerScore(&players[winnernum], 1);
CONS_Printf(M_GetText("%s recieved a point for winning!\n"));
}
for (i = 0; i < MAXPLAYERS; i++)

View File

@ -152,30 +152,27 @@ void P_ResetStarposts(void)
//
boolean P_CanPickupItem(player_t *player, boolean weapon)
{
if (player->bot && weapon)
return false;
//if (player->powers[pw_flashing] > (flashingtics/4)*3 && player->powers[pw_flashing] <= flashingtics)
// return false;
/*if (G_BattleGametype() && player->kartstuff[k_balloon] <= 0) // No balloons in Match
return false;*/
if (player->kartstuff[k_bootaketimer] || player->kartstuff[k_boostolentimer]
|| player->kartstuff[k_growshrinktimer] > 1 || player->kartstuff[k_goldshroomtimer]) // Item-specific timer going off
return false;
if (weapon)
{
if (player->kartstuff[k_bootaketimer] || player->kartstuff[k_boostolentimer]
|| player->kartstuff[k_growshrinktimer] > 1 || player->kartstuff[k_goldshroomtimer]) // Item-specific timer going off
return false;
if (player->kartstuff[k_itemroulette]
|| player->kartstuff[k_greenshell] || player->kartstuff[k_triplegreenshell]
|| player->kartstuff[k_redshell] || player->kartstuff[k_tripleredshell]
|| player->kartstuff[k_banana] || player->kartstuff[k_triplebanana]
|| player->kartstuff[k_fakeitem] & 2 || player->kartstuff[k_magnet]
|| player->kartstuff[k_bobomb] || player->kartstuff[k_blueshell]
|| player->kartstuff[k_mushroom] || player->kartstuff[k_fireflower]
|| player->kartstuff[k_star] || player->kartstuff[k_goldshroom]
|| player->kartstuff[k_lightning] || player->kartstuff[k_megashroom]
|| player->kartstuff[k_boo] || player->kartstuff[k_feather] & 1) // Item slot already taken up
return false;
if (player->kartstuff[k_itemroulette]
|| player->kartstuff[k_greenshell] || player->kartstuff[k_triplegreenshell]
|| player->kartstuff[k_redshell] || player->kartstuff[k_tripleredshell]
|| player->kartstuff[k_banana] || player->kartstuff[k_triplebanana]
|| player->kartstuff[k_fakeitem] & 2 || player->kartstuff[k_magnet]
|| player->kartstuff[k_bobomb] || player->kartstuff[k_blueshell]
|| player->kartstuff[k_mushroom] || player->kartstuff[k_fireflower]
|| player->kartstuff[k_star] || player->kartstuff[k_goldshroom]
|| player->kartstuff[k_lightning] || player->kartstuff[k_megashroom]
|| player->kartstuff[k_boo] || player->kartstuff[k_feather] & 1) // Item slot already taken up
return false;
}
return true;
}
@ -414,7 +411,7 @@ void P_TouchSpecialThing(mobj_t *special, mobj_t *toucher, boolean heightcheck)
switch (special->type)
{
case MT_RANDOMITEM: // SRB2kart
if (!P_CanPickupItem(player, false))
if (!P_CanPickupItem(player, true))
return;
if (G_BattleGametype() && player->kartstuff[k_balloon] <= 0)

View File

@ -1682,7 +1682,6 @@ static boolean PIT_CheckThing(mobj_t *thing)
return true;
}
else if (thing->player->kartstuff[k_comebackmode] == 1
&& tmthing->player->kartstuff[k_balloon] > 0)
{
thing->player->kartstuff[k_comebackmode] = 0;
thing->player->kartstuff[k_comebackpoints]++;
@ -1695,7 +1694,6 @@ static boolean PIT_CheckThing(mobj_t *thing)
return true;
}
else if (tmthing->player->kartstuff[k_comebackmode] == 1
&& thing->player->kartstuff[k_balloon] > 0)
{
tmthing->player->kartstuff[k_comebackmode] = 0;
tmthing->player->kartstuff[k_comebackpoints]++;