Wowpedia

We have moved to Warcraft Wiki. Click here for information and the new URL.

READ MORE

Wowpedia
No edit summary
 
mNo edit summary
 
Line 1: Line 1:
  +
{{Removedfromgame|patch=4.0.1}}
−
----
 
  +
<onlyinclude>{{Infobox ability
−
Fixing addons after the removal of the magic global variables ''this'' and ''argX'' and replacing the removed ''{{api|getglobal}}'' function.
 
  +
|name=Seal of Corruption
  +
|image=Spell_Holy_SealOfVengeance.png
  +
|description=Fills the Paladin with holy power, causing attacks to apply Blood Corruption, which deals [(0.013 * SPH + 0.025 * AP) * 5] additional Holy damage over 15 sec. Once stacked to 5 times, each of the Paladins attacks also deals 33% weapon damage as additional Holy damage. Blood Corruption can stack up to 5 times. Only one Seal can be active on the Paladin at any one time. Lasts 30 min.<br/><br/>Unleashing this Seal's energy will deal [1 + 0.22 * SPH + 0.14 * AP] Holy damage to an enemy, increased by 10% for each application of Blood Corruption on the target.
  +
|class=[[Paladin]]
  +
|race=[[Blood elf]]
  +
|type=Offensive
  +
|school=Holy
  +
|cost=14% of base mana
  +
|cast_time=Instant
  +
|cooldown=None
  +
|improvement=[[Seals of the Pure]]
  +
|ranks=1
  +
|buff_type=Magic
  +
|buff_desc=Melee attacks cause Holy damage over 15 sec.
  +
|buff_dur=2 minutes
  +
|debuff_name=Blood Corruption
  +
|debuff_type=Magic
  +
|debuff_desc=Holy damage every 3 sec.
  +
|debuff_dur=15 seconds
  +
}}</onlyinclude>
   
  +
The '''Seal of Corruption''' is the Horde equivalent of the Alliance's [[Seal of Vengeance]]. See the [[Seal of Vengeance]] article for information on the seal's mechanics, tactical utility, etc..
−
==Details==
 
−
As you may know, these variables and function have been removed as of patch 4.0.1. Here are some details on how to fix your addon (or someone else's).
 
   
−
===Errors Messages===
+
==Tips & Tactics==
  +
Primarily, it is meant as a tanking seal. It allows the paladin to put stacking, Damage Over Time threat on a target.
−
1. There will be an error message to the effect of "Attempt to reference global variable "''this''" a nil value" or "Attempt to call global function "''getglobal''" a nil value." These errors will come with line numbers; as with the error, "[AddOn\Addon.lua:59] Attempt to call global function "''getglobal''" a nil value," which is directing you to line 59 of the file "AddOn\Addon.lua").<br />
 
−
2. If your addon doesn't throw errors, then you don't need this.<br />
 
−
3. Just because you get only one error, doesn't mean you only have one line to fix. Conversely, 900 errors doesn't necessarily mean there are 900 lines to fix.
 
   
  +
This is very useful while tanking as it allows the paladin to switch targets while still maintaining aggro, and it allows the paladin to generate instant threat in the event of a threat wipe.
−
===getglobal===
 
−
There are two ways to approach this fix:<br />
 
−
1. Create a local function named ''getglobal'' and return the entry from the _G table.
 
−
<div style="margin-left: 25px;"><pre>local function getglobal(var)
 
−
return _G[var]
 
−
end</pre></div>
 
−
2. Replace all instances of ''getglobal("var name")'' with ''_G["var name"]''.
 
   
  +
It can also be useful in PvP against [[rogues]] who use [[Vanish]] as the Damage Over Time component will unstealth them.
−
===this===
 
−
There are numerous renditions of this variable:<br />
 
−
1. Look in any XML files for the <Scripts>...</Scripts> section (there may be many).<br />
 
−
1a. If the script in question looks like this ("'''Before'''"), alter it to look like it does in "'''After'''" and find the matching function header in the Lua file adding "''this''" as the first parameter.
 
−
<div style="margin-left: 25px;">
 
−
'''Before'''
 
−
<pre><Scripts>
 
−
<OnLoad>
 
−
FunctionName()
 
−
</OnLoad>
 
−
</Scripts></pre>
 
   
  +
The debuff will stack up to five times on the target and will last the full fifteen seconds, remaining even after a paladin (or multiple paladins) [[Judgement|judges]] the Seal. If multiple paladins attack the same target with this Seal, it will only stack up to five with no further debuffs being applied, however, doing so will keep the stacks up allowing each of the paladins to each Judge for the full effect.
−
'''After'''
 
−
<pre><Scripts>
 
−
<OnLoad>
 
−
FunctionName(self)
 
−
</OnLoad>
 
−
</Scripts></pre>
 
−
</div>
 
−
1b. If it looks like this, then you don't need to do anything in the XML file.
 
−
<div style="margin-left: 25px;">
 
−
<pre><Scripts>
 
−
<OnLoad function="FunctionName" />
 
−
</Scripts></pre>
 
−
</div>
 
−
2. Look in any Lua files for functions that use ''this'' in them and add it to the functions parameter list. There are various other ways to do it, but this is the simplest and easiest to explain.
 
−
<div style="margin-left: 25px;">
 
−
'''Before'''
 
−
<pre>function FunctionName()
 
−
this:MethodName()
 
−
this.MemberName = "stuff"
 
−
end</pre>
 
   
  +
[[Hammer of the Righteous]] will apply a stack to all targets hit.
−
'''After'''
 
−
<pre>function FunctionName(this)
 
−
this:MethodName()
 
−
this.MemberName = "stuff"
 
−
end</pre></div>
 
   
  +
This seal is listed as magic, not melee, so it can not miss but it can be resisted.
−
===argX===
 
−
This is a pain in the butt because not all argX variables were removed, just the global ones (nice, huh?).
 
   
  +
Since patch 3.2 it became the main DPS seal for Retribution Paladins against mobs with enough HP to not die before Seal of Corruption takes full effect, such as bosses. However {{ability|Seal of Command}} should be used on mobs that die quickly.
−
1. Look in any XML files for references to argX (arg1, arg2, etc.) and replace them all with the appropriate variable name. To find out what that variable name is, [[Widget handlers|this article]] lists many of them. For example, [[UIHANDLER OnClick|OnClick]] uses ''button'' and ''down'' (''arg1'' and ''arg2'' respectively).<br />
 
−
2. [[UIHANDLER OnEvent|OnEvent]] now uses local ''argX'' variables as opposed to previously using the globals, so there's no need to change them other than following the steps below.<br />
 
−
3. Follow the steps in the [[#this]] section to fix stray ''argX'' variables. These parameters must come after ''this'' or ''event'', if applicable, as in the following example.
 
−
<div style="margin-left: 25px;">
 
−
'''In the XML'''
 
−
<pre><Scripts>
 
−
<OnClick>
 
−
FunctionName(self, button, down)
 
−
</OnClick>
 
−
</Scripts></pre>
 
   
  +
== Patch changes ==
−
'''If not an OnEvent handler'''
 
  +
* {{Patch 3.2.0|note=Inaccurate combat log tooltip corrected.}}
−
<pre>function FunctionName(this, arg1, arg2, arg3, arg4, _, arg6) -- one for every one needed in sequence including ''_'' for unused ones.
 
−
this:MethodName(arg2, arg3, arg4, arg6)
 
−
this.MemberName = arg1
 
−
end</pre>
 
   
  +
== External links ==
−
'''If an OnEvent handler'''
 
  +
<!-- Read http://www.wowwiki.com/WoWWiki:External_links before posting your links here.
−
<pre>function FunctionName(this, event, arg1, arg2, arg3, arg4, _, arg6) -- one for every one needed in sequence including ''_'' for unused ones.
 
  +
Links that do not conform to the rules will be DELETED.
−
if event == "EVENT" then
 
  +
Repeat violations may result in a BAN.
−
this:MethodName(arg2, arg3, arg4, arg6)
 
  +
Have a nice day. :) -->
−
this.MemberName = arg1
 
  +
{{Elinks-spell|53742}}
−
end
 
−
end</pre></div>
 
   
  +
{{Classfooter|Paladin}}
−
===Other things you can do===
 
  +
[[Category:Paladin abilities]]
−
====varargs====
 
−
''varargs'' are a construct that makes a list of values in the order they were passed to a function. You can change every function header in your Lua files (or XML files if you declared functions in them) to use the ''vararg'' expression.
 
−  
−
<div style="margin-left: 25px;">
 
−
'''If not an OnEvent handler'''
 
−
<pre>function FunctionName(...)
 
−
local this, arg1, arg2, arg3, arg4, _, arg6 = ...
 
−
this:MethodName(arg2, arg3, arg4, arg6)
 
−
this.MemberName = arg1
 
−
end</pre>
 
−  
−
'''If an OnEvent handler'''
 
−
<pre>function FunctionName(...)
 
−
local this, event, arg1, arg2, arg3, arg4, _, arg6 = ...
 
−
if event == "EVENT" then
 
−
this:MethodName(arg2, arg3, arg4, arg6)
 
−
this.MemberName = arg1
 
−
end
 
−
end</pre></div>
 
−  
−
However, it is common practice and good form to only use ''vararg'' for ''argX''. Like the following.
 
−  
−
<div style="margin-left: 25px;">
 
−
'''If not an OnEvent handler'''
 
−
<pre>function FunctionName(this, ...)
 
−
local arg1, arg2, arg3, arg4, _, arg6 = ...
 
−
this:MethodName(arg2, arg3, arg4, arg6)
 
−
this.MemberName = arg1
 
−
end</pre>
 
−  
−
'''If an OnEvent handler'''
 
−
<pre>function FunctionName(this, event, ...)
 
−
local arg1, arg2, arg3, arg4, _, arg6 = ...
 
−
if event == "EVENT" then
 
−
this:MethodName(arg2, arg3, arg4, arg6)
 
−
this.MemberName = arg1
 
−
end
 
−
end</pre></div>
 

Revision as of 04:35, 13 October 2010

Seal of Corruption
Inv misc questionmark
  • Seal of Corruption (1 rank)
  • Paladin ability
  • 14% of base mana
  • Instant
  • Fills the Paladin with holy power, causing attacks to apply Blood Corruption, which deals [(0.013 * SPH + 0.025 * AP) * 5] additional Holy damage over 15 sec. Once stacked to 5 times, each of the Paladins attacks also deals 33% weapon damage as additional Holy damage. Blood Corruption can stack up to 5 times. Only one Seal can be active on the Paladin at any one time. Lasts 30 min.

    Unleashing this Seal's energy will deal [1 + 0.22 * SPH + 0.14 * AP] Holy damage to an enemy, increased by 10% for each application of Blood Corruption on the target.
Properties
Class Paladin
Race(s) Blood elf
School Holy
Cooldown None
Improvements Ability thunderbolt [Seals of the Pure]
Related buff
Inv misc questionmark
  • Magic
  • Seal of Corruption
  • Melee attacks cause Holy damage over 15 sec.
  • Duration: 2 minutes
Related debuff
Inv misc questionmark
  • Magic
  • Blood Corruption
  • Holy damage every 3 sec.
  • Duration: 15 seconds

[[Category:Removed paladin abilities]][[Category:Removed paladin abilities]]

The Seal of Corruption is the Horde equivalent of the Alliance's Spell holy sealofvengeance [Seal of Vengeance]. See the Spell holy sealofvengeance [Seal of Vengeance] article for information on the seal's mechanics, tactical utility, etc..

Tips & Tactics

Primarily, it is meant as a tanking seal. It allows the paladin to put stacking, Damage Over Time threat on a target.

This is very useful while tanking as it allows the paladin to switch targets while still maintaining aggro, and it allows the paladin to generate instant threat in the event of a threat wipe.

It can also be useful in PvP against rogues who use Ability vanish [Vanish] as the Damage Over Time component will unstealth them.

The debuff will stack up to five times on the target and will last the full fifteen seconds, remaining even after a paladin (or multiple paladins) judges the Seal. If multiple paladins attack the same target with this Seal, it will only stack up to five with no further debuffs being applied, however, doing so will keep the stacks up allowing each of the paladins to each Judge for the full effect.

Ability paladin hammeroftherighteous [Hammer of the Righteous] will apply a stack to all targets hit.

This seal is listed as magic, not melee, so it can not miss but it can be resisted.

Since patch 3.2 it became the main DPS seal for Retribution Paladins against mobs with enough HP to not die before Seal of Corruption takes full effect, such as bosses. However Spell holy sealofblood [Seal of Command] should be used on mobs that die quickly.

Patch changes

  • Wrath-Logo-Small Patch 3.2.0 (2009-08-04): Inaccurate combat log tooltip corrected.

External links