Skip to content
Snippets Groups Projects
Commit 5a71d9b1 authored by dg's avatar dg
Browse files

buffed acidic soil, unstoppable nature and mucus oozes

git-svn-id: http://svn.net-core.org/repos/t-engine4@6526 51575b47-30f0-44d4-a5cc-537603b46e54
parent f35dc79a
No related branches found
No related tags found
No related merge requests found
......@@ -168,6 +168,18 @@ newBirthDescriptor{
},
power_source = {nature=true},
not_on_random_boss = true,
birth_example_particles = {
function(actor)
if core.shader.active(4) then actor:addParticles(Particles.new("shader_ring_rotating", 1, {additive=true, radius=1.1}, {type="flames", zoom=5, npow=2, time_factor=9000, color1={0.5,0.7,0,1}, color2={0.3,1,0.3,1}, hide_center=0, xy={0,0}}))
else actor:addParticles(Particles.new("master_summoner", 1))
end
end,
function(actor)
if core.shader.active(4) then actor:addParticles(Particles.new("shader_ring_rotating", 1, {additive=true, radius=1.1}, {type="flames", zoom=0.5, npow=4, time_factor=2000, color1={0.5,0.7,0,1}, color2={0.3,1,0.3,1}, hide_center=0, xy={0,0}}))
else actor:addParticles(Particles.new("master_summoner", 1))
end
end,
},
stats = { wil=5, cun=4, },
talents_types = {
["wild-gift/call"]={true, 0.3},
......
......@@ -461,6 +461,11 @@ setDefaultProjector(function(src, x, y, type, dam, tmp, no_martyr)
if not target.dead and t.is_spell and target.knowTalent and target:knowTalent(src.T_SPELL_FEEDBACK) then
target:triggerTalent(target.T_SPELL_FEEDBACK, nil, src, t)
end
if not target.dead and src.isTalentActive and src:isTalentActive(src.T_UNSTOPPABLE_NATURE) and t.is_nature and not src.turn_procs.unstoppable_nature then
src:callTalent(src.T_UNSTOPPABLE_NATURE, "freespit", target)
src.turn_procs.unstoppable_nature = true
end
end
end
......
......@@ -183,6 +183,7 @@ newTalent{
end,
getFireDamageIncrease = function(self, t) return self:getTalentLevelRaw(t) * 2 end,
getResistPenalty = function(self, t) return self:getTalentLevelRaw(t) * 10 end,
getRegen = function(self, t) return self:getTalentLevel(t) * 6.5 end,
activate = function(self, t)
game:playSoundNear(self, "talents/slime")
......@@ -207,7 +208,9 @@ newTalent{
info = function(self, t)
local damageinc = t.getFireDamageIncrease(self, t)
local ressistpen = t.getResistPenalty(self, t)
return ([[Surround yourself with nature forces, increasing all your acid damage by %d%% and ignoring %d%% acid resistance of your targets.]])
:format(damageinc, ressistpen)
local regen = t.getRegen(self, t)
return ([[Surround yourself with nature forces, increasing all your acid damage by %d%% and ignoring %d%% acid resistance of your targets.
In addition the acid will nurish your bloated oozes, giving them %d%% life regeneration per turn.]])
:format(damageinc, ressistpen, regen)
end,
}
......@@ -134,19 +134,21 @@ newTalent{ short_name = "MUCUS_OOZE_SPIT",
equilibrium = 2,
mesage = "@Source@ spits slime!",
range = 6,
reflectable = true,
direct_hit = true,
requires_target = true,
tactical = { ATTACK = { NATURE = 2 } },
action = function(self, t)
local tg = {type="bolt", range=self:getTalentRange(t), talent=t}
local tg = {type="beam", range=self:getTalentRange(t), talent=t, selffire=false, friendlyfire=false}
local x, y = self:getTarget(tg)
if not x or not y then return nil end
self:project(tg, x, y, DamageType.SLIME, self:mindCrit(self:combatTalentMindDamage(t, 8, 80)), {type="slime"})
self:project(tg, x, y, DamageType.SLIME, self:mindCrit(self:combatTalentMindDamage(t, 8, 110)))
local _ _, x, y = self:canProject(tg, x, y)
game.level.map:particleEmitter(self.x, self.y, math.max(math.abs(x-self.x), math.abs(y-self.y)), "ooze_beam", {tx=x-self.x, ty=y-self.y})
game:playSoundNear(self, "talents/slime")
return true
end,
info = function(self, t)
return ([[Spits a bolt of slime doing %0.2f slime damage.
return ([[Spits a beam of slime doing %0.2f slime damage.
The damage will increase with mindpower.]]):format(damDesc(self, DamageType.SLIME, self:combatTalentMindDamage(t, 8, 80)))
end,
}
......
......@@ -67,6 +67,7 @@ newTalent{
blood_color = colors.GREEN,
level_range = {self.level, self.level}, exp_worth = 0,
max_life = 30,
life_regen = 0,
combat = { dam=5, atk=0, apr=5, damtype=DamageType.POISON },
......@@ -78,6 +79,10 @@ newTalent{
setupSummon(self, m, x, y)
m.max_life = life
m.life = life
if self:knowTalent(self.T_ACIDIC_SOIL) then
local st = self:getTalentFromId(self.T_ACIDIC_SOIL)
m.life_regen = st.getRegen(self, st) * life / 100
end
game:playSoundNear(self, "talents/spell_generic2")
......
......@@ -128,6 +128,24 @@ newTalent{
tactical = { BUFF = 2 },
getFireDamageIncrease = function(self, t) return self:getTalentLevelRaw(t) * 2 end,
getResistPenalty = function(self, t) return self:getTalentLevelRaw(t) * 10 end,
getChance = function(self, t) return self:getTalentLevel(t) * 14 end,
freespit = function(self, t, target)
if game.party:hasMember(self) then
for act, def in pairs(game.party.members) do
if act.summoner and act.summoner == self and act.is_mucus_ooze then
act:forceUseTalent(act.T_MUCUS_OOZE_SPIT, {force_target=target, ignore_energy=true})
break
end
end
else
for _, act in pairs(game.level.entities) do
if act.summoner and act.summoner == self and act.is_mucus_ooze then
act:forceUseTalent(act.T_MUCUS_OOZE_SPIT, {force_target=target, ignore_energy=true})
break
end
end
end
end,
activate = function(self, t)
game:playSoundNear(self, "talents/slime")
......@@ -152,7 +170,9 @@ newTalent{
info = function(self, t)
local damageinc = t.getFireDamageIncrease(self, t)
local ressistpen = t.getResistPenalty(self, t)
return ([[Surround yourself with nature forces, increasing all your nature damage by %d%% and ignoring %d%% nature resistance of your targets.]])
:format(damageinc, ressistpen)
local chance = t.getChance(self, t)
return ([[Surround yourself with nature forces, increasing all your nature damage by %d%% and ignoring %d%% nature resistance of your targets.
In addition any time you hit deal damage with a wild gift you have %d%% chances that one of you mucus ooze will spit at the target as a free action.]])
:format(damageinc, ressistpen, chance)
end,
}
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