From 56efd9e8571fd23fb08fb0db50df4590f9274d7b Mon Sep 17 00:00:00 2001
From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54>
Date: Sat, 30 Jun 2012 09:58:44 +0000
Subject: [PATCH] Old battlefield event can not be re-entered +all restist gems
 power reduced

git-svn-id: http://svn.net-core.org/repos/t-engine4@5321 51575b47-30f0-44d4-a5cc-537603b46e54
---
 game/modules/tome/class/Game.lua                     |  2 +-
 .../tome/data/general/events/old-battle-field.lua    |  6 +++---
 game/modules/tome/data/general/objects/gem.lua       | 12 ++++++------
 3 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua
index efcb90f842..af4cb52f74 100644
--- a/game/modules/tome/class/Game.lua
+++ b/game/modules/tome/class/Game.lua
@@ -1232,7 +1232,7 @@ function _M:setupCommands()
 		end end,
 		[{"_g","ctrl"}] = function() if config.settings.cheat then
 --			self:registerDialog(require("mod.dialogs.DownloadCharball").new())
-			local f, err = loadfile("/data/general/events/cultists.lua")
+			local f, err = loadfile("/data/general/events/old-battle-field.lua")
 			print(f, err)
 			setfenv(f, setmetatable({level=self.level, zone=self.zone}, {__index=_G}))
 			print(pcall(f))
diff --git a/game/modules/tome/data/general/events/old-battle-field.lua b/game/modules/tome/data/general/events/old-battle-field.lua
index 49cb001b65..c1db972bdf 100644
--- a/game/modules/tome/data/general/events/old-battle-field.lua
+++ b/game/modules/tome/data/general/events/old-battle-field.lua
@@ -119,6 +119,7 @@ if tries < 100 then
 		g.add_displays[#g.add_displays+1] = mod.class.Grid.new{image="terrain/grave_unopened_0"..rng.range(1,3).."_64.png", display_y=-1, display_h=2}
 		g.nice_tiler = nil
 		g.block_move = function(self, x, y, who, act, couldpass)
+			if game.level.event_battlefield_entered then return false end
 			if not who or not who.player or not act then return false end
 			who:runStop("grave")
 			require("engine.ui.Dialog"):yesnoPopup("Grave", "Do you wish to disturb the grave?", function(ret) if ret then
@@ -131,10 +132,9 @@ if tries < 100 then
 		g.change_level=1 g.change_zone=id g.glow=true
 		g.real_change = changer
 		g.change_level_check = function(self)
+			if game.level.event_battlefield_entered then return true end
+			game.level.event_battlefield_entered = true
 			game:changeLevel(1, self.real_change(self.change_zone), {temporary_zone_shift=true})
-			self.change_level_check = nil
-			self.real_change = nil
-			self.change_level = nil
 			return true
 		end
 
diff --git a/game/modules/tome/data/general/objects/gem.lua b/game/modules/tome/data/general/objects/gem.lua
index 3d438da70c..0ebc075451 100644
--- a/game/modules/tome/data/general/objects/gem.lua
+++ b/game/modules/tome/data/general/objects/gem.lua
@@ -69,7 +69,7 @@ newGem("Diamond",	"object/diamond.png",5,		18,	"white",	40,	50, 5, 70,
 	{ power=25 }
 )
 newGem("Pearl",	"object/pearl.png",	5,		18,	"white",	40,	50, 5, 70,
-	{ resists = {all=10} },
+	{ resists = {all=5}, combat_armor = 5 },
 	{ splash={type="LITE", dam=1} }
 )
 newGem("Moonstone",	"object/moonstone.png",5,	18,	"white",	40,	50, 5, 70,
@@ -97,7 +97,7 @@ newGem("Turquoise",	"object/turquoise.png",4,	16,	"green",	30,	40, 4, 65,
 	{ splash={type="ACID", dam=30} }
 )
 newGem("Jade",		"object/jade.png",	4,	16,	"green",	30,	40, 4, 65,
-	{ resists = {all=8} },
+	{ resists = {all=4}, combat_armor = 4 },
 	{ splash={type="SLOW", dam=-1 + 1 / (1 + 0.20)} }
 )
 newGem("Sapphire",	"object/sapphire.png",4,	16,	"blue",		30,	40, 4, 65,
@@ -109,7 +109,7 @@ newGem("Quartz",	"object/quartz.png",3,	12,	"white",	20,	30, 3, 50,
 	{ splash={type="SPELLKNOCKBACK", dam=10} }
 )
 newGem("Emerald",	"object/emerald.png",3,	12,	"green",	20,	30, 3, 50,
-	{ resists = {all=6} },
+	{ resists = {all=3}, combat_armor = 3 },
 	{ splash={type="POISON", dam=50} }
 )
 newGem("Lapis Lazuli",	"object/lapis_lazuli.png",3,	12,	"blue",		20,	30, 3, 50,
@@ -125,7 +125,7 @@ newGem("Onyx",		"object/onyx.png",	3,	12,	"black",	20,	30, 3, 50,
 	{ power=15 }
 )
 newGem("Amethyst",	"object/amethyst.png",2,	10,	"violet",	10,	20, 2, 35,
-	{ inc_damage = {all=4}, combat_physcrit=2, combat_mindcrit=2, combat_spellcrit=2, },
+	{ inc_damage = {all=3}, combat_physcrit=2, combat_mindcrit=2, combat_spellcrit=2, },
 	{ splash={type="ARCANE", dam=25}}
 )
 newGem("Opal",		"object/opal.png",	2,	10,	"blue",		10,	20, 2, 35,
@@ -137,7 +137,7 @@ newGem("Topaz",		"object/topaz.png",	2,	10,	"blue",		10,	20, 2, 35,
 	{ range=3 }
 )
 newGem("Aquamarine",	"object/aquamarine.png",2,	10,	"blue",		10,	20, 2, 35,
-	{ resists = {all=4} },
+	{ resists = {all=2}, combat_armor = 2 },
 	{ mana=20 }
 )
 newGem("Ametrine",	"object/ametrine.png",1,	8,	"yellow",	1,	10, 1, 20,
@@ -145,7 +145,7 @@ newGem("Ametrine",	"object/ametrine.png",1,	8,	"yellow",	1,	10, 1, 20,
 	{ splash={type="LITE", dam=1} }
 )
 newGem("Zircon",	"object/zircon.png",1,	8,	"yellow",	1,	10, 1, 20,
-	{ resists = {all=2} },
+	{ resists = {all=1}, combat_armor = 1 },
 	{ daze={chance=20, dur=3} }
 )
 newGem("Spinel",	"object/spinel.png",1,	8,	"green",	1,	10, 1, 20,
-- 
GitLab