X-Git-Url: http://deadsoftware.ru/gitweb?p=d2df-sdl.git;a=blobdiff_plain;f=src%2Fgame%2Fg_game.pas;h=add8be44def44354fd817f129e847a4e9c914944;hp=256a564513e88b9c3b08e82e3a2b26209cee7296;hb=546a929a401a64c32fda3380c3fe71306fd54eb1;hpb=db664c0202c77b9f402ea050bd4776f349d6ee4a diff --git a/src/game/g_game.pas b/src/game/g_game.pas index 256a564..add8be4 100644 --- a/src/game/g_game.pas +++ b/src/game/g_game.pas @@ -186,7 +186,9 @@ const GAME_OPTION_DMKEYS = 128; GAME_OPTION_TEAMHITTRACE = 256; GAME_OPTION_TEAMHITPROJECTILE = 512; - GAME_OPTION_TEAMABSORBDAMAGE = 1024; + GAME_OPTION_TEAMABSORBDAMAGE = 1024; + GAME_OPTION_ALLOWDROPFLAG = 2048; + GAME_OPTION_THROWFLAG = 4096; STATE_NONE = 0; STATE_MENU = 1; @@ -5541,6 +5543,14 @@ begin begin ParseGameFlag(GAME_OPTION_MONSTERS, I_MSG_ALLOWMON_OFF, I_MSG_ALLOWMON_ON, True); end + else if cmd = 'g_allow_dropflag' then + begin + ParseGameFlag(GAME_OPTION_ALLOWDROPFLAG, I_MSG_ALLOWDROPFLAG_OFF, I_MSG_ALLOWDROPFLAG_ON); + end + else if cmd = 'g_throw_flag' then + begin + ParseGameFlag(GAME_OPTION_THROWFLAG, I_MSG_THROWFLAG_OFF, I_MSG_THROWFLAG_ON); + end else if cmd = 'g_bot_vsplayers' then begin ParseGameFlag(GAME_OPTION_BOTVSPLAYER, I_MSG_BOTSVSPLAYERS_OFF, I_MSG_BOTSVSPLAYERS_ON); @@ -7234,6 +7244,27 @@ begin gSelectWeapon[b, a] := True end end + else if (cmd = 'dropflag') then + begin + if g_Game_IsServer then + begin + if gPlayer2 <> nil then gPlayer2.TryDropFlag(); + if gPlayer1 <> nil then gPlayer1.TryDropFlag(); + end + else + MC_SEND_CheatRequest(NET_CHEAT_DROPFLAG); + end + else if (cmd = 'p1_dropflag') or (cmd = 'p2_dropflag') then + begin + b := ord(cmd[2]) - ord('1'); + if g_Game_IsServer then + begin + if (b = 1) and (gPlayer2 <> nil) then gPlayer2.TryDropFlag() + else if (b = 0) and (gPlayer1 <> nil) then gPlayer1.TryDropFlag(); + end + else + MC_SEND_CheatRequest(NET_CHEAT_DROPFLAG); + end // Êîìàíäû Ñâîåé èãðû: else if gGameSettings.GameType in [GT_CUSTOM, GT_SERVER, GT_CLIENT] then begin