mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-03-23 11:21:01 +00:00
Merge branch 'marathon-mode-tokens' into 'next'
Fix emeralds, tokens, etc not resetting when restarting marathon mode in first level See merge request STJr/SRB2!1252
This commit is contained in:
commit
4275d52267
1 changed files with 27 additions and 0 deletions
27
src/g_game.c
27
src/g_game.c
|
@ -2232,8 +2232,35 @@ void G_Ticker(boolean run)
|
|||
// Costs a life to retry ... unless the player in question is dead already, or you haven't even touched the first starpost in marathon run.
|
||||
if (marathonmode && gamemap == spmarathon_start && !players[consoleplayer].starposttime)
|
||||
{
|
||||
player_t *p = &players[consoleplayer];
|
||||
marathonmode |= MA_INIT;
|
||||
marathontime = 0;
|
||||
|
||||
numgameovers = tokenlist = token = 0;
|
||||
countdown = countdown2 = exitfadestarted = 0;
|
||||
|
||||
p->playerstate = PST_REBORN;
|
||||
p->starpostx = p->starposty = p->starpostz = 0;
|
||||
|
||||
p->lives = startinglivesbalance[0];
|
||||
p->continues = 1;
|
||||
|
||||
p->score = 0;
|
||||
|
||||
// The latter two should clear by themselves, but just in case
|
||||
p->pflags &= ~(PF_TAGIT|PF_GAMETYPEOVER|PF_FULLSTASIS);
|
||||
|
||||
// Clear cheatcodes too, just in case.
|
||||
p->pflags &= ~(PF_GODMODE|PF_NOCLIP|PF_INVIS);
|
||||
|
||||
p->xtralife = 0;
|
||||
|
||||
// Reset unlockable triggers
|
||||
unlocktriggers = 0;
|
||||
|
||||
emeralds = 0;
|
||||
|
||||
memset(&luabanks, 0, sizeof(luabanks));
|
||||
}
|
||||
else if (G_GametypeUsesLives() && players[consoleplayer].playerstate == PST_LIVE && players[consoleplayer].lives != INFLIVES)
|
||||
players[consoleplayer].lives -= 1;
|
||||
|
|
Loading…
Reference in a new issue