Commit c6ecacc1a6e877ebebe58bc8c1d783ec1aa0adb8
Merge branch 'shield-effect-subtype-consolidation' into 'master'
Shield effect subtype consolidation 1. Limit "shield" effect subtype to effects with a limited damage absorption amount (magical shields affected by getShieldAmount() etc, Psi Damage Shield, and Resonance Shield). Removed subtype from many effects that are not impacted by getShieldAmount, getShieldDuration, or that grant other types of protection, such as damage redirection, damage negation, negative life, and so on. 2. Clarify that only one shield is removed and chosen at random for Shattering Blow, Sunder Armour and Impale. See merge request !754
Showing
6 changed files
with
12 additions
and
12 deletions
... | ... | @@ -194,7 +194,7 @@ newTalent{ |
194 | 194 | info = function(self, t) |
195 | 195 | return ([[Focus your will into a powerful thrust of your telekinetically-wielded weapon to impale your target and then viciously rip it free. |
196 | 196 | This deals %d%% weapon damage and then causes the victim to bleed for %0.1f Physical damage over four turns. |
197 | - At level 3 the thrust is so powerful that it has %d%% chance to shatter a temporary damage shield if one exists. | |
197 | + At level 3 the thrust is so powerful that it has %d%% chance to shatter a random temporary magical or psionic damage absorbing shield if one exists. | |
198 | 198 | The bleeding damage increases with your Mindpower.]]): |
199 | 199 | tformat(100 * t.getWeaponDamage(self, t), damDesc(self, DamageType.PHYSICAL, t.getDamage(self,t)), t.getShatter(self, t)) |
200 | 200 | end, | ... | ... |
... | ... | @@ -315,7 +315,7 @@ newTalent{ |
315 | 315 | end, |
316 | 316 | info = function(self, t) |
317 | 317 | return ([[Hits the target with your weapon, doing %d%% damage. If the attack hits, the target's armour and saves are reduced by %d for %d turns. |
318 | - Also if the target is protected by a temporary damage shield there is %d%% chance to shatter it. | |
318 | + Also if the target is protected by any temporary magical or psionic damage absorbing shields there is %d%% chance to shatter one random shield. | |
319 | 319 | Armor reduction chance increases with your Physical Power.]]) |
320 | 320 | :tformat(100 * self:combatTalentWeaponDamage(t, 1, 1.5),t.getArmorReduc(self, t), t.getDuration(self, t), t.getShatter(self, t)) |
321 | 321 | end, | ... | ... |
... | ... | @@ -199,7 +199,7 @@ newTalent{ |
199 | 199 | end, |
200 | 200 | info = function(self, t) |
201 | 201 | return ([[Hits the target with your weapon, doing %d%% damage. If the attack hits, the target's armour and saves are reduced by %d for %d turns. |
202 | - Also if the target is protected by a temporary damage shield there is %d%% chance to shatter it. | |
202 | + Also if the target is protected by any temporary magical or psionic damage absorbing shields there is %d%% chance to shatter a random shield. | |
203 | 203 | Armor reduction chance increases with your Physical Power.]]) |
204 | 204 | :tformat(100 * self:combatTalentWeaponDamage(t, 0.8, 1.5), t.getArmorReduc(self, t), t.getDuration(self, t), t.getShatter(self, t)) |
205 | 205 | end, | ... | ... |
... | ... | @@ -367,7 +367,7 @@ newEffect{ |
367 | 367 | long_desc = function(self, eff) return ("The target is protected a raging storm deflecting up to %d instances of damage over %d."): |
368 | 368 | tformat(eff.blocks, eff.threshold) end, |
369 | 369 | type = "magical", |
370 | - subtype = { lightning=true, shield=true }, | |
370 | + subtype = { lightning=true}, | |
371 | 371 | status = "beneficial", |
372 | 372 | charges = function(self, eff) return math.floor(eff.blocks) end, |
373 | 373 | parameters = {threshold = 1, blocks = 1,}, |
... | ... | @@ -1332,7 +1332,7 @@ newEffect{ |
1332 | 1332 | desc = _t"Providence", |
1333 | 1333 | long_desc = function(self, eff) return ("The target is under protection, removing one negative effect per turn."):tformat() end, |
1334 | 1334 | type = "magical", |
1335 | - subtype = { light=true, shield=true }, | |
1335 | + subtype = { light=true}, | |
1336 | 1336 | status = "beneficial", |
1337 | 1337 | parameters = {}, |
1338 | 1338 | on_timeout = function(self, eff) |
... | ... | @@ -1795,7 +1795,7 @@ newEffect{ |
1795 | 1795 | desc = _t"Bone Shield", |
1796 | 1796 | long_desc = function(self, eff) return ("Any attacks doing more than %d%% of your life is reduced to %d%%."):tformat(eff.power, eff.power) end, |
1797 | 1797 | type = "magical", |
1798 | - subtype = { arcane=true, shield=true }, | |
1798 | + subtype = { arcane=true}, | |
1799 | 1799 | status = "beneficial", |
1800 | 1800 | parameters = { power=30 }, |
1801 | 1801 | on_gain = function(self, err) return _t"#Target# protected by flying bones.", _t"+Bone Shield" end, |
... | ... | @@ -5507,7 +5507,7 @@ newEffect{ |
5507 | 5507 | desc = _t"Dirge of Pestilence", |
5508 | 5508 | long_desc = function(self, eff) return ("The target will gain a shield upon suffering a detrimental effect"):tformat() end, |
5509 | 5509 | type = "magical", |
5510 | - subtype = { shield=true }, | |
5510 | + subtype = { dirge=true }, | |
5511 | 5511 | status = "beneficial", |
5512 | 5512 | parameters = { shield=50, cd=5 }, |
5513 | 5513 | callbackOnTemporaryEffectAdd = function(self, eff, eff_id, e_def, eff_incoming) | ... | ... |
... | ... | @@ -2146,7 +2146,7 @@ newEffect{ |
2146 | 2146 | display_desc = function(self, eff) return ("%s Psionic Shield"):tformat(_t(eff.kind):capitalize()) end, |
2147 | 2147 | long_desc = function(self, eff) return ("Reduces all incoming %s damage by %d."):tformat(eff.what, eff.power) end, |
2148 | 2148 | type = "mental", |
2149 | - subtype = { psionic=true, shield=true }, | |
2149 | + subtype = { psionic=true }, | |
2150 | 2150 | status = "beneficial", |
2151 | 2151 | parameters = { power=10, kind="kinetic" }, |
2152 | 2152 | activate = function(self, eff) |
... | ... | @@ -2687,7 +2687,7 @@ newEffect{ |
2687 | 2687 | desc = _t"Shadow Empathy", |
2688 | 2688 | long_desc = function(self, eff) return ("%d%% of all damage is redirected to a random shadow."):tformat(eff.power) end, |
2689 | 2689 | type = "mental", |
2690 | - subtype = { mind=true, shield=true }, | |
2690 | + subtype = { mind=true }, | |
2691 | 2691 | status = "beneficial", |
2692 | 2692 | parameters = { power=10 }, |
2693 | 2693 | activate = function(self, eff) |
... | ... | @@ -2704,7 +2704,7 @@ newEffect{ |
2704 | 2704 | desc = _t"Shadow Decoy", |
2705 | 2705 | long_desc = function(self, eff) return ("A random shadow absorbed a fatal blow for you, granting you a negative shield of %d."):tformat(eff.power) end, |
2706 | 2706 | type = "mental", |
2707 | - subtype = { mind=true, shield=true }, | |
2707 | + subtype = { mind=true}, | |
2708 | 2708 | status = "beneficial", |
2709 | 2709 | parameters = { power=10 }, |
2710 | 2710 | activate = function(self, eff) | ... | ... |
... | ... | @@ -3665,7 +3665,7 @@ newEffect{ |
3665 | 3665 | desc = _t"Stone Link", |
3666 | 3666 | long_desc = function(self, eff) return ("The target protects all those around it in radius %d by redirecting all damage against them to itself."):tformat(eff.rad) end, |
3667 | 3667 | type = "physical", |
3668 | - subtype = { earth=true, shield=true }, | |
3668 | + subtype = { earth=true }, | |
3669 | 3669 | status = "beneficial", |
3670 | 3670 | parameters = { rad=3 }, |
3671 | 3671 | on_gain = function(self, err) return ("#Target# begins protecting %s friends with a stone shield."):tformat(string.his_her(self)), _t"+Stone Link" end, |
... | ... | @@ -3694,7 +3694,7 @@ newEffect{ |
3694 | 3694 | desc = _t"Stone Link", |
3695 | 3695 | long_desc = function(self, eff) return ("The target is protected by %s, redirecting all damage to it."):tformat(eff.src:getName()) end, |
3696 | 3696 | type = "physical", |
3697 | - subtype = { earth=true, shield=true }, | |
3697 | + subtype = { earth=true }, | |
3698 | 3698 | status = "beneficial", |
3699 | 3699 | parameters = { }, |
3700 | 3700 | on_gain = function(self, err) return _t"#Target# is protected by a stone shield.", _t"+Stone Link" end, | ... | ... |
-
Please register or login to post a comment