diff --git a/src/game/g_game.pas b/src/game/g_game.pas
index b675eb4612850e6f90020200656fd819ff4dcc1c..2d80b3aaa32ea394316d5b13bae7ca799bcde2f2 100644 (file)
--- a/src/game/g_game.pas
+++ b/src/game/g_game.pas
WarmupTime: Word;
SpawnInvul: Word;
ItemRespawnTime: Word;
+ ItemRespawnRandom: Word;
RulezRespawnTime: Word;
RulezRespawnRandom: Word;
MaxLives: Byte;
GAME_OPTION_ALLOWDROPFLAG = 2048;
GAME_OPTION_THROWFLAG = 4096;
GAME_OPTION_RULEZRANDOM = 8192;
+ GAME_OPTION_ITEMALLRANDOM = 16384;
+ GAME_OPTION_ITEMHELPRANDOM = 32768;
+ GAME_OPTION_ITEMAMMORANDOM = 65536;
+ GAME_OPTION_ITEMWEAPONRANDOM = 131072;
STATE_NONE = 0;
STATE_MENU = 1;
gGameSettings.Options := gGameSettings.Options + GAME_OPTION_TEAMHITPROJECTILE;
gGameSettings.Options := gGameSettings.Options + GAME_OPTION_TEAMHITTRACE;
gGameSettings.Options := gGameSettings.Options + GAME_OPTION_RULEZRANDOM;
+ gGameSettings.Options := gGameSettings.Options + GAME_OPTION_ITEMALLRANDOM;
+ gGameSettings.Options := gGameSettings.Options + GAME_OPTION_ITEMHELPRANDOM;
+ gGameSettings.Options := gGameSettings.Options + GAME_OPTION_ITEMAMMORANDOM;
+ gGameSettings.Options := gGameSettings.Options + GAME_OPTION_ITEMWEAPONRANDOM;
gSwitchGameMode := GM_SINGLE;
gLMSRespawn := LMS_RESPAWN_NONE;
g_Console_Add(Format('%s %d', [cmd, Integer(gsItemRespawnTime)]));
if g_Game_IsServer then g_Console_Add(_lc[I_MSG_ONMAPCHANGE]);
end
+ else if cmd = 'g_item_time_random' then
+ begin
+ if Length(P) > 1 then
+ begin
+ gsItemRespawnRandom := nclamp(StrToIntDef(P[1], gsItemRespawnRandom), 0, $FFFF);
+ if g_Game_IsServer then
+ begin
+ gGameSettings.ItemRespawnRandom := gsItemRespawnRandom;
+ if g_Game_IsNet then MH_SEND_GameSettings;
+ end;
+ end;
+
+ g_Console_Add(Format('%s %d', [cmd, Integer(gsItemRespawnRandom)]));
+ if g_Game_IsServer then g_Console_Add(_lc[I_MSG_ONMAPCHANGE]);
+ end
else if cmd = 'g_powerup_respawn_time' then
begin
if Length(P) > 1 then