diff --git a/src/game/g_game.pas b/src/game/g_game.pas
index f85024b31b0c05a68e9947476e3180b36d12469f..e16a3661a00c169e0fac650d0554e3ae72be4c73 100644 (file)
--- a/src/game/g_game.pas
+++ b/src/game/g_game.pas
WeaponSwitch: Byte;
WeaponPreferences: Array[WP_FIRST..WP_LAST+1] of Byte;
SwitchToEmpty: Byte;
- SwitchToFist: Byte;
+ SkipFist: Byte;
end;
TMegaWADInfo = record
gPlayer1.WeapSwitchMode := gPlayer1Settings.WeaponSwitch;
gPlayer1.setWeaponPrefs(gPlayer1Settings.WeaponPreferences);
gPlayer1.SwitchToEmpty := gPlayer1Settings.SwitchToEmpty;
+ gPlayer1.SkipFist := gPlayer1Settings.SkipFist;
g_Console_Add(Format(_lc[I_PLAYER_JOIN], [gPlayer1.Name]), True);
if g_Game_IsServer and g_Game_IsNet then
MH_SEND_PlayerCreate(gPlayer1.UID);
gPlayer2.WeapSwitchMode := gPlayer2Settings.WeaponSwitch;
gPlayer2.setWeaponPrefs(gPlayer2Settings.WeaponPreferences);
gPlayer2.SwitchToEmpty := gPlayer2Settings.SwitchToEmpty;
+ gPlayer2.SkipFist := gPlayer2Settings.SkipFist;
g_Console_Add(Format(_lc[I_PLAYER_JOIN], [gPlayer2.Name]), True);
if g_Game_IsServer and g_Game_IsNet then
MH_SEND_PlayerCreate(gPlayer2.UID);
gPlayer1.WeapSwitchMode := gPlayer1Settings.WeaponSwitch;
gPlayer1.setWeaponPrefs(gPlayer1Settings.WeaponPreferences);
gPlayer1.SwitchToEmpty := gPlayer1Settings.SwitchToEmpty;
+ gPlayer1.SkipFist := gPlayer1Settings.SkipFist;
nPl := 1;
// Ñîçäàíèå âòîðîãî èãðîêà, åñëè åñòü:
gPlayer2.WeapSwitchMode := gPlayer2Settings.WeaponSwitch;
gPlayer2.setWeaponPrefs(gPlayer2Settings.WeaponPreferences);
gPlayer2.SwitchToEmpty := gPlayer2Settings.SwitchToEmpty;
+ gPlayer2.SkipFist := gPlayer2Settings.SkipFist;
Inc(nPl);
end;
gPlayer1.WeapSwitchMode := gPlayer1Settings.WeaponSwitch;
gPlayer1.setWeaponPrefs(gPlayer1Settings.WeaponPreferences);
gPlayer1.SwitchToEmpty := gPlayer1Settings.SwitchToEmpty;
+ gPlayer1.SkipFist := gPlayer1Settings.SkipFist;
Inc(nPl);
end;
gPlayer2.WeapSwitchMode := gPlayer2Settings.WeaponSwitch;
gPlayer2.setWeaponPrefs(gPlayer2Settings.WeaponPreferences);
gPlayer2.SwitchToEmpty := gPlayer2Settings.SwitchToEmpty;
+ gPlayer2.SkipFist := gPlayer2Settings.SkipFist;
Inc(nPl);
end;
gPlayer1.WeapSwitchMode := gPlayer1Settings.WeaponSwitch;
gPlayer1.setWeaponPrefs(gPlayer1Settings.WeaponPreferences);
gPlayer1.SwitchToEmpty := gPlayer1Settings.SwitchToEmpty;
+ gPlayer1.SkipFist := gPlayer1Settings.SkipFist;
end;
if nPlayers >= 2 then
gPlayer2.WeapSwitchMode := gPlayer2Settings.WeaponSwitch;
gPlayer2.setWeaponPrefs(gPlayer2Settings.WeaponPreferences);
gPlayer2.SwitchToEmpty := gPlayer2Settings.SwitchToEmpty;
+ gPlayer2.SkipFist := gPlayer2Settings.SkipFist;
end;
g_Game_SetLoadingText(_lc[I_LOAD_HOST], 0, False);
gPlayer1.WeapSwitchMode := gPlayer1Settings.WeaponSwitch;
gPlayer1.setWeaponPrefs(gPlayer1Settings.WeaponPreferences);
gPlayer1.SwitchToEmpty := gPlayer1Settings.SwitchToEmpty;
+ gPlayer1.SkipFist := gPlayer1Settings.SkipFist;
gPlayer1.UID := NetPlrUID1;
gPlayer1.Reset(True);
begin
if Length(p) = 2 then
begin
- a := Max(0, StrToInt(p[1]));
+ a := Max(0, StrToIntDef(p[1], 0));
g_GFX_SetMax(a)
end
else if Length(p) = 1 then
begin
if Length(p) = 2 then
begin
- a := Max(0, StrToInt(p[1]));
+ a := Max(0, StrToIntDef(p[1], 0));
g_Shells_SetMax(a)
end
else if Length(p) = 1 then
begin
if Length(p) = 2 then
begin
- a := Max(0, StrToInt(p[1]));
+ a := Max(0, StrToIntDef(p[1], 0));
g_Gibs_SetMax(a)
end
else if Length(p) = 1 then
begin
if Length(p) = 2 then
begin
- a := Max(0, StrToInt(p[1]));
+ a := Max(0, StrToIntDef(p[1], 0));
g_Corpses_SetMax(a)
end
else if Length(p) = 1 then
if (Length(P) = 2) then
gPlayer2Settings.SwitchToEmpty := EnsureRange(StrTointDef(P[1], 0), 0, 1);
end;
+ 'p1_skip_fist':
+ begin
+ if (Length(P) = 2) then
+ gPlayer1Settings.SkipFist := EnsureRange(StrTointDef(P[1], 0), 0, 1);
+ end;
+ 'p2_skip_fist':
+ begin
+ if (Length(P) = 2) then
+ gPlayer2Settings.SkipFist := EnsureRange(StrTointDef(P[1], 0), 0, 1);
+ end;
'p1_priority_kastet':
begin
if (Length(P) = 2) then
begin
if Length(p) = 2 then
begin
- a := WP_FIRST + StrToInt(p[1]) - 1;
+ a := WP_FIRST + StrToIntDef(p[1], 0) - 1;
if (a >= WP_FIRST) and (a <= WP_LAST) then
gSelectWeapon[0, a] := True
end
begin
if Length(p) = 2 then
begin
- a := WP_FIRST + StrToInt(p[1]) - 1;
+ a := WP_FIRST + StrToIntDef(p[1], 0) - 1;
b := ord(cmd[2]) - ord('1');
if (a >= WP_FIRST) and (a <= WP_LAST) then
gSelectWeapon[b, a] := True
end
end
+ else if (cmd = 'p1_weapbest') or (cmd = 'p2_weapbest') then
+ begin
+ b := ord(cmd[2]) - ord('1');
+ if b = 0 then
+ gSelectWeapon[b, gPlayer1.GetMorePrefered()] := True
+ else
+ gSelectWeapon[b, gPlayer2.GetMorePrefered()] := True;
+ end
else if (cmd = 'dropflag') then
begin
if g_Game_IsServer then