Commit c6ecacc1a6e877ebebe58bc8c1d783ec1aa0adb8

Authored by DarkGod
2 parents ce8db74c 3730c36a

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
... ... @@ -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,
... ...