diff --git a/src/game/g_items.pas b/src/game/g_items.pas
index a70bd54a61f9da0f9827996db6e1d654090da1df..ae047f82b8afcc86bfa283e05012af0964c9b3a5 100644 (file)
--- a/src/game/g_items.pas
+++ b/src/game/g_items.pas
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
+ * the Free Software Foundation, version 3 of the License ONLY.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
it.ItemType := ItemType;
it.Respawnable := Respawnable;
- if g_Game_IsServer and (ITEM_RESPAWNTIME = 0) then it.Respawnable := False;
it.InitX := X;
it.InitY := Y;
it.RespawnTime := 0;
Anim: TAnimation;
m: Word;
r, nxt: Boolean;
+ actualRespawnable: Boolean;
begin
if (ggItems = nil) then exit;
// Íàäî óáðàòü ñ êàðòû, åñëè ýòî íå êëþ÷, êîòîðûì íóæíî ïîäåëèòüñÿ ñ äðóãèì èãðîêîì
if r then
begin
- if not Respawnable then g_Items_Remove(i) else g_Items_Pick(i);
+ actualRespawnable := Respawnable
+ and ((ITEM_RESPAWNTIME > 0) and LongBool(gGameSettings.Options and GAME_OPTION_RESPAWNITEMS));
+ if not actualRespawnable then g_Items_Remove(i) else g_Items_Pick(i);
if g_Game_IsNet then MH_SEND_ItemDestroy(False, i);
nxt := True;
break;