Skip to content
Snippets Groups Projects
Commit ed73c115 authored by DarkGod's avatar DarkGod
Browse files

animate bone giant creates two instantly if possible (with essence of the dead)

parent 61e753ca
No related branches found
No related tags found
No related merge requests found
......@@ -241,44 +241,51 @@ newTalent{
end,
getLevel = function(self, t) return math.floor(self:combatScale(self:getTalentLevel(t), -6, 0.9, 2, 5)) end, -- -6 @ 1, +2 @ 5, +5 @ 8
action = function(self, t)
local list = {}
local nbgolem = 0
if game.party and game.party:hasMember(self) then
for act, def in pairs(game.party.members) do
if act.summoner and act.summoner == self and act.necrotic_minion then
if act.subtype ~= "giant" then list[#list+1] = act
else nbgolem = nbgolem + 1 end
local make_golem = function()
local list = {}
nbgolem = 0
if game.party and game.party:hasMember(self) then
for act, def in pairs(game.party.members) do
if act.summoner and act.summoner == self and act.necrotic_minion then
if act.subtype ~= "giant" then list[#list+1] = act
else nbgolem = nbgolem + 1 end
end
end
end
else
for uid, act in pairs(game.level.entities) do
if act.summoner and act.summoner == self and act.necrotic_minion then
if act.subtype ~= "giant" then list[#list+1] = act
else nbgolem = nbgolem + 1 end
else
for uid, act in pairs(game.level.entities) do
if act.summoner and act.summoner == self and act.necrotic_minion then
if act.subtype ~= "giant" then list[#list+1] = act
else nbgolem = nbgolem + 1 end
end
end
end
end
if #list < 3 then return end
if #list < 3 then return end
rng.tableRemove(list):die(self)
rng.tableRemove(list):die(self)
rng.tableRemove(list):die(self)
rng.tableRemove(list):die(self)
rng.tableRemove(list):die(self)
rng.tableRemove(list):die(self)
local kind = ({"bone_giant","bone_giant","h_bone_giant","h_bone_giant","e_bone_giant"})[util.bound(math.floor(self:getTalentLevel(t)), 1, 5)]
if self:getTalentLevel(t) >= 6 and rng.percent(20) then kind = "r_bone_giant" end
local kind = ({"bone_giant","bone_giant","h_bone_giant","h_bone_giant","e_bone_giant"})[util.bound(math.floor(self:getTalentLevel(t)), 1, 5)]
if self:getTalentLevel(t) >= 6 and rng.percent(20) then kind = "r_bone_giant" end
local minion = require("mod.class.NPC").new(minions_list[kind])
local x, y = util.findFreeGrid(self.x, self.y, 5, true, {[Map.ACTOR]=true})
if minion and x and y then
local lev = t.getLevel(self, t)
necroSetupSummon(self, minion, x, y, lev, true)
local minion = require("mod.class.NPC").new(minions_list[kind])
local x, y = util.findFreeGrid(self.x, self.y, 5, true, {[Map.ACTOR]=true})
if minion and x and y then
local lev = t.getLevel(self, t)
necroSetupSummon(self, minion, x, y, lev, true)
nbgolem = nbgolem + 1
end
end
if nbgolem >= 1 then
local empower = necroEssenceDead(self)
if empower then empower() end
local empower = necroEssenceDead(self)
for i = 1, empower and 2 or 1 do
make_golem()
if nbgolem >= (empower and 2 or 1) then break end
end
if nbgolem >= 2 and empower then empower() end
game:playSoundNear(self, "talents/spell_generic2")
return true
end,
......
......@@ -135,6 +135,7 @@ newTalent{
m.summoner_gain_exp = true
m.unused_stats = 0
m.dead = nil
m.undead = 1
m.no_breath = 1
m.unused_talents = 0
m.unused_generics = 0
......@@ -167,7 +168,7 @@ newTalent{
end,
info = function(self, t)
local damage = t.getDamage(self, t)
return ([[Try to blast crush the soul of your foe, doing %0.2f darkness damage (that can never kill the target).
return ([[Try to crush the soul of your foe, doing %0.2f darkness damage (that can never kill the target).
If the target is left with less than %d%% life you try to take control of its body.
Should this succeed the target becomes your permanent minion (unaffected by your aura) and you regain 2 souls.
Husks prossess the same abilities as they had in life (affected by Dark Empathy), are healed to full when created but can never heal or be healed by any means.
......@@ -196,7 +197,7 @@ newTalent{
local nb = t.getnb(self, t)
return ([[Crush and consume two souls to empower your next %d spells, granting them a special effect.
Affected spells are:
- Undeath Link: in addition to the heal a shield is created for half the heal life_leech_value
- Undeath Link: in addition to the heal a shield is created for half the heal power
- Create Minions: allows you to summon 2 more minions
- Assemble: allows you to summon a second bone golem
- Invoke Darkness: becomes a cone of darkness
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment