From 9ed7d4dc491084be1e0407294c2e4a43830ed962 Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Tue, 26 Jan 2010 23:04:51 +0000 Subject: [PATCH] fixes git-svn-id: http://svn.net-core.org/repos/t-engine4@276 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/modules/tome/class/Actor.lua | 1 + game/modules/tome/class/Game.lua | 2 +- game/modules/tome/data/general/objects/scrolls.lua | 6 +++++- game/modules/tome/data/talents/spells/conveyance.lua | 8 ++++++++ 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index bcf13c7b2d..5f5b476c26 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -138,6 +138,7 @@ end --- Reveals location surrounding the actor function _M:magicMap(radius) + radius = math.floor(radius) for i = self.x - radius, self.x + radius do for j = self.y - radius, self.y + radius do if game.level.map:isBound(i, j) and core.fov.distance(self.x, self.y, i, j) < radius then game.level.map.remembers(i, j, true) diff --git a/game/modules/tome/class/Game.lua b/game/modules/tome/class/Game.lua index d350399c7b..ed8fe9ab3c 100644 --- a/game/modules/tome/class/Game.lua +++ b/game/modules/tome/class/Game.lua @@ -137,7 +137,7 @@ end function _M:save() return class.save(self, {w=true, h=true, zone=true, player=true, level=true, entities=true, energy_to_act=true, energy_per_tick=true, turn=true, paused=true, save_name=true, - always_target=true, gfxmode=true, uniques=true + always_target=true, gfxmode=true, uniques=true, object_known_types=true, }, true) end diff --git a/game/modules/tome/data/general/objects/scrolls.lua b/game/modules/tome/data/general/objects/scrolls.lua index e37320230f..9192f09bab 100644 --- a/game/modules/tome/data/general/objects/scrolls.lua +++ b/game/modules/tome/data/general/objects/scrolls.lua @@ -1,7 +1,7 @@ newEntity{ define_as = "BASE_SCROLL", type = "scroll", subtype="scroll", - unided_name = "scroll", + unided_name = "scroll",, id_by_type = true, display = "?", color=colors.WHITE, image="object/scroll-0x0.png", encumber = 0.1, stacking = true, @@ -30,7 +30,9 @@ newEntity{ base = "BASE_SCROLL", cost = 3, use_simple = { name="teleport you randomly over a short distance", use = function(self, who) + game.level.map:particleEmitter(who.x, who.y, 1, "teleport") who:teleportRandom(who.x, who.y, 15) + game.level.map:particleEmitter(who.x, who.y, 1, "teleport") game.logSeen(who, "%s reads a %s!", who.name:capitalize(), self:getName()) return "destroy", true end} @@ -43,7 +45,9 @@ newEntity{ base = "BASE_SCROLL", cost = 4, use_simple = { name="teleport you anywhere and the level, randomly", use = function(self, who) + game.level.map:particleEmitter(who.x, who.y, 1, "teleport") who:teleportRandom(who.x, who.y, 200) + game.level.map:particleEmitter(who.x, who.y, 1, "teleport") game.logSeen(who, "%s reads a %s!", who.name:capitalize(), self:getName()) return "destroy", true end} diff --git a/game/modules/tome/data/talents/spells/conveyance.lua b/game/modules/tome/data/talents/spells/conveyance.lua index 162649ec6b..530aeff124 100644 --- a/game/modules/tome/data/talents/spells/conveyance.lua +++ b/game/modules/tome/data/talents/spells/conveyance.lua @@ -26,9 +26,13 @@ newTalent{ -- Target code doesnot restrict the target coordinates to the range, it lets the poject function do it -- but we cant ... x, y = game.target:pointAtRange(self.x, self.y, x, y, 10 + self:combatSpellpower(0.1)) + game.level.map:particleEmitter(target.x, target.y, 1, "teleport") target:teleportRandom(x, y, 7 - self:getTalentLevel(t)) + game.level.map:particleEmitter(target.x, target.y, 1, "teleport") else + game.level.map:particleEmitter(target.x, target.y, 1, "teleport") target:teleportRandom(x, y, 10 + self:combatSpellpower(0.1)) + game.level.map:particleEmitter(target.x, target.y, 1, "teleport") end return true end, @@ -68,9 +72,13 @@ newTalent{ -- Target code doesnot restrict the target coordinates to the range, it lets the poject function do it -- but we cant ... x, y = game.target:pointAtRange(self.x, self.y, x, y, 10 + self:combatSpellpower(0.1)) + game.level.map:particleEmitter(target.x, target.y, 1, "teleport") target:teleportRandom(x, y, 20 - self:getTalentLevel(t)) + game.level.map:particleEmitter(target.x, target.y, 1, "teleport") else + game.level.map:particleEmitter(target.x, target.y, 1, "teleport") target:teleportRandom(x, y, 100 + self:combatSpellpower(1)) + game.level.map:particleEmitter(target.x, target.y, 1, "teleport") end return true end, -- GitLab