From bfbd0cc0b3e595badae70a6e2c3848c3e5b6b7fd Mon Sep 17 00:00:00 2001 From: dg <dg@51575b47-30f0-44d4-a5cc-537603b46e54> Date: Tue, 5 Mar 2013 10:53:54 +0000 Subject: [PATCH] Wearing antimagic items as an arcane character will give you a visible debuff to notice of the spell failure git-svn-id: http://svn.net-core.org/repos/t-engine4@6492 51575b47-30f0-44d4-a5cc-537603b46e54 --- game/modules/tome/class/Actor.lua | 3 +++ .../data/gfx/effects/antimagic_disruption.png | Bin 0 -> 3781 bytes game/modules/tome/data/timed_effects/other.lua | 16 ++++++++++++++++ 3 files changed, 19 insertions(+) create mode 100644 game/modules/tome/data/gfx/effects/antimagic_disruption.png diff --git a/game/modules/tome/class/Actor.lua b/game/modules/tome/class/Actor.lua index 70f4dccb5a..78d44b3d1c 100644 --- a/game/modules/tome/class/Actor.lua +++ b/game/modules/tome/class/Actor.lua @@ -2828,6 +2828,9 @@ function _M:onWear(o, bypass_set) if o.power_source and o.power_source.antimagic then self:attr("spellpower_reduction", 1) self:attr("spell_failure", (o.material_level or 1) * 10) + if self:attr("has_arcane_knowledge") then + self:setEffect(self.EFF_ANTIMAGIC_DISRUPTION, 1, {}) + end end -- Apply Psychometry diff --git a/game/modules/tome/data/gfx/effects/antimagic_disruption.png b/game/modules/tome/data/gfx/effects/antimagic_disruption.png new file mode 100644 index 0000000000000000000000000000000000000000..474a8f3a67d2549652a3adac3a1cbdc876f7bef4 GIT binary patch literal 3781 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 literal 0 HcmV?d00001 diff --git a/game/modules/tome/data/timed_effects/other.lua b/game/modules/tome/data/timed_effects/other.lua index 25a5753a36..396199213c 100644 --- a/game/modules/tome/data/timed_effects/other.lua +++ b/game/modules/tome/data/timed_effects/other.lua @@ -2229,3 +2229,19 @@ newEffect{ self.onTakeHit = old end, } + +newEffect{ + name = "ANTIMAGIC_DISRUPTION", + desc = "Antimagic Disruption", + long_desc = function(self, eff) return ("Your arcane powers are disrupted by your antimagic equipment."):format() end, + type = "other", + subtype = { antimagic=true }, + status = "detrimental", + decrease = 0, no_remove = true, + parameters = { }, + on_timeout = function(self, eff) + if not self:attr("has_arcane_knowledge") or not self:attr("spellpower_reduction") then + self:removeEffect(self.EFF_ANTIMAGIC_DISRUPTION, true, true) + end + end, +} -- GitLab