mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-02-20 19:02:37 +00:00
MK rules for Battle scoring
and quick fix for karma items
This commit is contained in:
parent
3d8441fe54
commit
e974b6e4b7
4 changed files with 27 additions and 36 deletions
|
@ -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;
|
||||
|
|
14
src/k_kart.c
14
src/k_kart.c
|
@ -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++)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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]++;
|
||||
|
|
Loading…
Reference in a new issue