From 951cd29348e5f0a461fec6c36f3e52f975a7721e Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Sat, 24 Jul 2010 16:10:00 +0000 Subject: [PATCH] start fire alchemy git-svn-id: http://svn.net-core.org/repos/t-engine4@937 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/engine/Tooltip.lua | 2 +- .../tome/data/talents/spells/fire-alchemy.lua | 72 +++++++++++------- ideas/crafting.ods | Bin 23310 -> 23421 bytes 3 files changed, 45 insertions(+), 29 deletions(-) diff --git a/game/engine/Tooltip.lua b/game/engine/Tooltip.lua index 00ffe5eb6a..c279832bd0 100644 --- a/game/engine/Tooltip.lua +++ b/game/engine/Tooltip.lua @@ -91,7 +91,7 @@ function _M:display() i = i + 1 y = y + self.font_h else - r, g, b, max_h = self.surface:drawColorStringBlended(self.font, self.text[i], 4, 4 + y, r, g, b) + r, g, b, max_h = self.surface:drawColorStringBlended(self.font, self.text[i], 4, 4 + y, self.color[1], self.color[2], self.color[3]) i = i + 1 y = y + max_h end diff --git a/game/modules/tome/data/talents/spells/fire-alchemy.lua b/game/modules/tome/data/talents/spells/fire-alchemy.lua index 2f421a7ebd..fa05788054 100644 --- a/game/modules/tome/data/talents/spells/fire-alchemy.lua +++ b/game/modules/tome/data/talents/spells/fire-alchemy.lua @@ -16,30 +16,29 @@ -- -- Nicolas Casalini "DarkGod" -- darkgod@te4.org +local Object = require "engine.Object" newTalent{ name = "Heat", type = {"spell/fire-alchemy", 1}, require = spells_req1, points = 5, - mana = 5, - cooldown = 20, + mana = 10, + cooldown = 5, + random_ego = "attack", + refectable = true, + proj_speed = 20, action = function(self, t) - self:showEquipInven("Try to extract gems from which metallic item?", function(o) return o.metallic and (o.material_level or 1) <= self:getTalentLevelRaw(t) end, function(o, inven, item) - self:removeObject(inven, item) - - local level = o.material_level or 1 - local gem = game.zone:makeEntity(game.level, "object", {type="gem", special=function(e) return e.material_level == level end}, nil, true) - if gem then - self:addObject(self.INVEN_INVEN, gem) - game.logPlayer(self, "You extract: %s", gem:getName{do_color=true, do_count=true}) - end - return true - end) + local tg = {type="hit", range=self:getTalentRange(t), talent=t} + local x, y = self:getTarget(tg) + if not x or not y then return nil end + self:project(tg, x, y, DamageType.FIREBURN, {dur=5, initial=0, dam=self:spellCrit(self:combatTalentSpellDamage(t, 25, 220))}, {type="flame"}) + game:playSoundNear(self, "talents/fire") return true end, info = function(self, t) - return ([[Extract magical gems from metal weapons and armours, the higher your skill the higher level items you can work with.]]) + return ([[Turn part of your target into fire, burning the rest for %0.2f fire damage over 5 turns. + The damage will increase with Magic stat.]]):format(self:combatTalentSpellDamage(t, 25, 220)) end, } @@ -49,22 +48,39 @@ newTalent{ require = spells_req2, points = 5, mana = 80, - cooldown = 100, + cooldown = 34, + range = 10, action = function(self, t) - self:showInventory("Use which gem?", self:getInven("INVEN"), function(gem) return gem.type == "gem" and gem.material_level <= self:getTalentLevelRaw(t) end, function(gem, gem_item) - self:showInventory("Imbue which armour?", self:getInven("INVEN"), function(o) return o.type == "armor" and o.slot == "BODY" and not o.been_imbued end, function(o, item) - self:removeObject(self:getInven("INVEN"), gem_item) - o.wielder = o.wielder or {} - table.mergeAdd(o.wielder, gem.imbue_powers) - o.been_imbued = true - game.logPlayer(self, "You imbue your %s with %s.", o:getName{do_colour=true, no_count=true}, gem:getName{do_colour=true, no_count=true}) - end) - end) + local tg = {type="ball", range=self:getTalentRange(t), radius=1, talent=t} + local x, y = self:getTarget(tg) + if not x or not y then return nil end + self:project(tg, x, y, function(px, py) + local e = Object.new{ + block_sight=true, + temporary = 2 + self:combatSpellpower(0.03) * self:getTalentLevel(t), + x = px, y = py, + canAct = false, + act = function(self) + self:useEnergy() + self.temporary = self.temporary - 1 + if self.temporary <= 0 then + game.level.map:remove(self.x, self.y, Map.TERRAIN+2) + game.level:removeEntity(self) + game.level.map:redisplay() + end + end, + summoner_gain_exp = true, + summoner = self, + } + game.level:addEntity(e) + game.level.map(px, py, Map.TERRAIN+2, e) + end, nil, {type="dark"}) + self:teleportRandom(self.x, self.y, 5) + game:playSoundNear(self, "talents/breath") return true end, info = function(self, t) - return ([[Imbue an body armour with a gem, granting it additional powers. - You can only imbue items once, and it is permanent.]]) + return ([[Throw a smoke bomb, blocking line of sight. The smoke dissipates after %d turns.]]):format(2 + self:combatSpellpower(0.03) * self:getTalentLevel(t)) end, } newTalent{ @@ -94,8 +110,8 @@ newTalent{ return true end, info = function(self, t) - return ([[Crush 5 alchemists gems into dust to mark an impassable terrain, you immediately enter it and appear on the other side of the obstacle. - Works up to %d grids away.]]): + return ([[Turn your body into pure flame, increasing your fire resistance, burning any creatures attacking you for %0.2f fire damage and projecting randomly fire bolts at targets in sight. + The damage will increase with Magic stat.]]): format(math.floor(4 + self:combatSpellpower(0.06) * self:getTalentLevel(t))) end, } diff --git a/ideas/crafting.ods b/ideas/crafting.ods index 4442b2832f1c682ccda0ca46f480f1367da9e232..bc24a72522f012236788ae9c95557dc94a5d1c17 100644 GIT binary patch delta 9947 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 AegFUf delta 9840 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 -- GitLab