From 77d5accf5019cd00c1197b58cdad70f20db10da4 Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Sun, 14 Aug 2011 17:30:09 +0000 Subject: [PATCH] will o the wisp git-svn-id: http://svn.net-core.org/repos/t-engine4@4145 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/modules/tome/data/birth/classes/mage.lua | 2 +- .../npc/undead_ghost_will_o__the_wisp.png | Bin 0 -> 5694 bytes game/modules/tome/data/talents/misc/npcs.lua | 25 +++ .../tome/data/talents/spells/grave.lua | 152 +++++++++++------- .../tome/data/talents/spells/spells.lua | 11 ++ .../tome/data/talents/techniques/2hweapon.lua | 2 +- ideas/spells.ods | Bin 31462 -> 31555 bytes 7 files changed, 136 insertions(+), 56 deletions(-) create mode 100644 game/modules/tome/data/gfx/shockbolt/npc/undead_ghost_will_o__the_wisp.png diff --git a/game/modules/tome/data/birth/classes/mage.lua b/game/modules/tome/data/birth/classes/mage.lua index 35ac8d5d7a..460e461b21 100644 --- a/game/modules/tome/data/birth/classes/mage.lua +++ b/game/modules/tome/data/birth/classes/mage.lua @@ -203,7 +203,7 @@ newBirthDescriptor{ talents = { [ActorTalents.T_NECROTIC_AURA] = 1, [ActorTalents.T_CREATE_MINIONS] = 1, - [ActorTalents.T_NECROMANTIC_FANG] = 1, +-- [ActorTalents.T_NECROMANTIC_FANG] = 1, [ActorTalents.T_INVOKE_DARKNESS] = 1, [ActorTalents.T_BLURRED_MORTALITY] = 1, }, diff --git a/game/modules/tome/data/gfx/shockbolt/npc/undead_ghost_will_o__the_wisp.png b/game/modules/tome/data/gfx/shockbolt/npc/undead_ghost_will_o__the_wisp.png new file mode 100644 index 0000000000000000000000000000000000000000..6061b1b5538434ad99fea3fc91854c8b4bea3022 GIT binary patch literal 5694 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 literal 0 HcmV?d00001 diff --git a/game/modules/tome/data/talents/misc/npcs.lua b/game/modules/tome/data/talents/misc/npcs.lua index 248079d17c..7ce2fab1de 100644 --- a/game/modules/tome/data/talents/misc/npcs.lua +++ b/game/modules/tome/data/talents/misc/npcs.lua @@ -1238,6 +1238,31 @@ newTalent{ end, } +newTalent{ + name = "Will o' the Wisp Explode", + type = {"technique/other", 1}, + points = 5, + message = "@Source@ explodes! @target@ is enveloped in frost.", + cooldown = 1, + range = 1, + requires_target = true, + tactical = { ATTACK = 1 }, + action = function(self, t) + local tg = {type="bolt", range=1} + local x, y, target = self:getTarget(tg) + if not x or not y then return nil end + if math.floor(core.fov.distance(self.x, self.y, x, y)) > 1 then return nil end + self:project(tg, x, y, DamageType.COLD, self.will_o_wisp_dam or 1) + game.level.map:particleEmitter(self.x, self.y, 1, "ball_ice", {radius = 1, r = 1, g = 0, b = 0}) + self:die(self) + game:playSoundNear(self, "talents/ice") + return true + end, + info = function(self, t) + return ([[Explodes.]]) + end, +} + newTalent{ name = "Elemental bolt", type = {"spell/other", 1}, diff --git a/game/modules/tome/data/talents/spells/grave.lua b/game/modules/tome/data/talents/spells/grave.lua index 6556703bd0..37a824f1b5 100644 --- a/game/modules/tome/data/talents/spells/grave.lua +++ b/game/modules/tome/data/talents/spells/grave.lua @@ -20,37 +20,120 @@ local Object = require "mod.class.Object" newTalent{ - name = "Necromantic Fang", + name = "Chill of the Tomb", type = {"spell/grave",1}, require = spells_req1, points = 5, - random_ego = "attack", - mana = 12, - cooldown = 3, - tactical = { ATTACK = 2 }, - range = 10, - reflectable = true, - proj_speed = 20, + mana = 30, + cooldown = 8, + tactical = { ATTACKAREA = 2 }, + range = 7, + radius = function(self, t) + return 1 + self:getTalentLevelRaw(t) + end, + proj_speed = 4, + direct_hit = true, requires_target = true, - getDamage = function(self, t) return self:combatTalentSpellDamage(t, 25, 230) end, + target = function(self, t) + return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire=self:spellFriendlyFire(), talent=t, display={particle="bolt_ice", trail="icetrail"}} + end, + getDamage = function(self, t) return self:combatTalentSpellDamage(t, 28, 280) end, action = function(self, t) + local tg = self:getTalentTarget(t) + local x, y = self:getTarget(tg) + if not x or not y then return nil end + self:projectile(tg, x, y, DamageType.COLD, self:spellCrit(t.getDamage(self, t)), function(self, tg, x, y, grids) + game.level.map:particleEmitter(x, y, tg.radius, "iceflash", {radius=tg.radius, tx=x, ty=y}) + end) + game:playSoundNear(self, "talents/ice") return true end, info = function(self, t) local damage = t.getDamage(self, t) - return ([[Conjures up a bolt of darkness, doing %0.2f darkness damage. - At level 3 it will create a beam of shadows. - At level 5 it will not hurt your minions anymore. + local radius = self:getTalentRadius(t) + return ([[Conjures up a bolt of cold moving toward the target that explodes into a chilly circle of death doing %0.2f cold damage in a radius of %d. The damage will increase with the Magic stat]]): - format(damDesc(self, DamageType.DARKNESS, damage)) + format(damDesc(self, DamageType.COLD, damage), radius) end, } --- Kinda copied from Creeping Darkness newTalent{ - name = "Cold Flames", + name = "Will o' the Wisp", type = {"spell/grave",2}, require = spells_req2, + mode = "sustained", + points = 5, + mana = 60, + cooldown = 30, + tactical = { BUFF = 3 }, + getParams = function(self, t) return util.bound(30 + self:getTalentLevel(t) * 10, 30, 100), 20 + self:combatTalentSpellDamage(t, 25, 300) end, + summon = function(self, t, dam, src, killer) + local minion = require("mod.class.NPC").new{ + name = "will o' the wisp", + type = "undead", subtype = "ghost", + blood_color = colors.GREY, + display = "G", color=colors.WHITE, + combat = { dam=1, atk=1, apr=1 }, + autolevel = "warriormage", + ai = "dumb_talented_simple", ai_state = { talent_in=1, }, + dont_pass_target = true, + movement_speed = 2, + stats = { str=14, dex=18, mag=20, con=12 }, + rank = 2, + size_category = 1, + infravision = 10, + can_pass = {pass_wall=70}, + resists = {all = 35, [DamageType.LIGHT] = -70, [DamageType.DARKNESS] = 65}, + no_breath = 1, + stone_immune = 1, + confusion_immune = 1, + fear_immune = 1, + teleport_immune = 0.5, + disease_immune = 1, + poison_immune = 1, + stun_immune = 1, + blind_immune = 1, + cut_immune = 1, + see_invisible = 80, + undead = 1, + will_o_wisp_dam = dam, + talents = {T_WILL_O__THE_WISP_EXPLODE = 1}, + } + local x, y = util.findFreeGrid(src.x or self.x, src.y or self.y, 5, true, {[Map.ACTOR]=true}) + if minion and x and y then + necroSetupSummon(self, minion, x, y, lev, true) + minion.on_die = nil + minion.on_act = nil + minion:setTarget(killer) + end + + end, + activate = function(self, t) + local chance, dam = t.getParams(self, t) + game:playSoundNear(self, "talents/spell_generic2") + local ret = { + chance = chance, + dam = dam, + } + return ret + end, + deactivate = function(self, t, p) + return true + end, + info = function(self, t) + local chance, dam = t.getParams(self, t) + return ([[Surround yourself with undead energies, when one of your minions is destroyed while inside your necrotic aura it has %d%% chances to create a will o' the wisp. + Will o' the wisp will take a random target in sight and home on it, when they reach it they explode for %0.2f cold damage. + The damage will increase with the Magic stat]]): + format(chance, damDesc(self, DamageType.DARKNESS, dam)) + end, +} + +-- Kinda copied from Creeping Darkness +newTalent{ + name = "Cold Flames", + type = {"spell/grave",3}, + require = spells_req3, points = 5, mana = 40, cooldown = 22, @@ -235,45 +318,6 @@ newTalent{ end, } -newTalent{ - name = "Chill of the Tomb", - type = {"spell/grave",3}, - require = spells_req3, - points = 5, - random_ego = "attack", - mana = 40, - cooldown = 8, - tactical = { ATTACKAREA = 2 }, - range = 7, - radius = function(self, t) - return 1 + self:getTalentLevelRaw(t) - end, - proj_speed = 4, - direct_hit = true, - requires_target = true, - target = function(self, t) - return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t), selffire=self:spellFriendlyFire(), talent=t, display={particle="bolt_ice", trail="icetrail"}} - end, - getDamage = function(self, t) return self:combatTalentSpellDamage(t, 28, 280) end, - action = function(self, t) - local tg = self:getTalentTarget(t) - local x, y = self:getTarget(tg) - if not x or not y then return nil end - self:projectile(tg, x, y, DamageType.COLD, self:spellCrit(t.getDamage(self, t)), function(self, tg, x, y, grids) - game.level.map:particleEmitter(x, y, tg.radius, "iceflash", {radius=tg.radius, tx=x, ty=y}) - end) - game:playSoundNear(self, "talents/ice") - return true - end, - info = function(self, t) - local damage = t.getDamage(self, t) - local radius = self:getTalentRadius(t) - return ([[Conjures up a bolt of cold moving toward the target that explodes into a chilly circle of death doing %0.2f cold damage in a radius of %d. - The damage will increase with the Magic stat]]): - format(damDesc(self, DamageType.COLD, damage), radius) - end, -} - newTalent{ name = "Vampiric Gift", type = {"spell/grave",4}, diff --git a/game/modules/tome/data/talents/spells/spells.lua b/game/modules/tome/data/talents/spells/spells.lua index d7c9264e9d..82e9b5417d 100644 --- a/game/modules/tome/data/talents/spells/spells.lua +++ b/game/modules/tome/data/talents/spells/spells.lua @@ -191,6 +191,17 @@ function necroSetupSummon(self, m, x, y, level, no_control) end end + m.on_die = function(self, killer) + local src = self.summoner + local w = src:isTalentActive(src.T_WILL_O__THE_WISP) + local p = src:isTalentActive(src.T_NECROTIC_AURA) + if w and p and self.x and self.y and src.x and src.y and core.fov.distance(self.x, self.y, src.x, src.y) > self.summoner.necrotic_aura_radius then return end + if not rng.percent(w.chance) then return end + + local t = src:getTalentFromId(src.T_WILL_O__THE_WISP) + t.summon(src, t, w.dam, self, killer) + end + -- Summons never flee m.ai_tactic = m.ai_tactic or {} m.ai_tactic.escape = 0 diff --git a/game/modules/tome/data/talents/techniques/2hweapon.lua b/game/modules/tome/data/talents/techniques/2hweapon.lua index 908a1430d3..6cca1dfd54 100644 --- a/game/modules/tome/data/talents/techniques/2hweapon.lua +++ b/game/modules/tome/data/talents/techniques/2hweapon.lua @@ -30,7 +30,7 @@ newTalent{ range = 0, radius = 1, target = function(self, t) - return {type="ball", range=self:getTalentRange(t), radius=self:getTalentRadius(t)} + return {type="ball", range=self:getTalentRange(t), selffire=false, radius=self:getTalentRadius(t)} end, on_pre_use = function(self, t, silent) if not self:hasTwoHandedWeapon() then if not silent then game.logPlayer(self, "You require a two handed weapon to use this talent.") end return false end return true end, action = function(self, t) diff --git a/ideas/spells.ods b/ideas/spells.ods index 44450083aa805627c559c22885bb3417bcfd9250..f2029f33d673dd5f950fdbdcbf5117cfbc26cffd 100644 GIT binary patch delta 12650 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 delta 12518 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 -- GitLab