vypur85
Hibernate
- Reaction score
- 803
Death Knight
Hi. This is my first spell submission. Hope you guys like it. It based of Death Knight. I guess the spells should tally correctly with the hero . There are 4 abilities + 1 dummy ability. All the abilities are interconnected with each other. So, if you want to use the spells, copy them as a whole. The idea is taken from Shadow Fiend in DotA (in terms of the Corpse Counter ability).
GUI: Yes
MUI: Should be yes.
Import difficulty: For me, it's tedious .
Leaks: Should be none. Tell me if there is.
Hero Setup
1. Corpse Counter (Passive - Learnt through trigger)
This ability does nothing. It is just a dummy ability. It serves as counter, to take record of the number of units killed by the Death Knight. Every unit killed by the DK will increase the level of this ability, hence the corpse count.
2. Death Stomp (Active)
Deals damage to enemy units around the Death Knight with damage depending on the amount of corpse stored. Upon activation of this ability, all of the corpse will be used up.
Example:
Level 1 - Damages enemy units around 500 aoe of the Death Knight with 250 damage. Each corpse availability increases the damage by 250.
3. Summon Corpse (Active)
Summons Undead Corpse to assist the Death Knight in battle. The number of summoned units depends on the corpse availability. Upon activation of this ability, all of the corpse will be used up.
Example:
Level 1 - Summons weak melee Undead Corpse to assist the Death Knight. The number of units summoned is depending on the availability of corpse. Killing credits done by the corpse will not affect the Corpse Counter status of Death Knight.
4. Death Armor (Passive)
Allows the Death Knight to increase its armor according to the amount of corpse stored.
Example:
Level 1 - Increases the Death Knight armor by 5 with every corpse available. A maximum of 50 armor.
5. Death Conversion (Active)
Converts corpse into the source of Strength for Death Knight. Each additional corpse amplifies its Strength conversion. Amount of Strength gain increases with level. Upon activation of this ability, all of the corpse will be used up.
Example:
Level 1 - Each corpse available increases the Strength of Death Knight with 1.
Sorry but there is no screenshot available because all the abilities rely on maths instead of graphics. So there is no point of putting pictures . Please leave comments regarding the triggering. I'm trying my best to improve my skills.
Hope I did everything correctly in posting this.
PS: The variables have 'Deft_' in front of them. Its meant for 'Default', which is how i recognise them in my map. Please dun comment about them . The damage and armor values I set are rather high because this unit was supposed to be used in my Siege Map (which seems never-to-be finished, that's why I'm sharing this Spellpack).
Hi. This is my first spell submission. Hope you guys like it. It based of Death Knight. I guess the spells should tally correctly with the hero . There are 4 abilities + 1 dummy ability. All the abilities are interconnected with each other. So, if you want to use the spells, copy them as a whole. The idea is taken from Shadow Fiend in DotA (in terms of the Corpse Counter ability).
GUI: Yes
MUI: Should be yes.
Import difficulty: For me, it's tedious .
Leaks: Should be none. Tell me if there is.
Hero Setup
Code:
Death Knight Hero Setup
Events
Unit - A unit Learns a skill
Conditions
Or - Any (Conditions) are true
Conditions
(Learned Hero Skill) Equal to (DEATH) Death Armor
(Learned Hero Skill) Equal to (DEATH) Death Stomp
(Learned Hero Skill) Equal to (DEATH) Death Conversion
(Learned Hero Skill) Equal to (DEATH) Summon Corpse
(Level of (DEATH) Corpse Counter for (Triggering unit)) Equal to 0
Actions
Unit - Add (DEATH) Corpse Counter to (Learning Hero)
-------- ============================================================================ --------
-------- CORPSE COUNTER: This is for the minimum level for the corpse counter to drop after any spell is used (Note: 1 means the min corpse is 0) --------
Set Deft_int_DK_COUNTER_minlvl = 1
-------- CORPSE COUNTER: This is for the maximum level for the corpse counter (Note: 11 means the max corpse is 10) --------
Set Deft_int_DK_COUNTER_maxlevel = 11
-------- ============================================================================ --------
-------- DEATH STOMP: This value accounts for the initial damage (Each level increases the damage by one time) --------
Set Deft_real_DK_STOMP_dmg[1] = 250.00
-------- DEATH STOMP: This value accounts for the damage increment per corpse (Each level increases the damage by one time) --------
Set Deft_real_DK_STOMP_dmg[2] = 250.00
-------- ============================================================================ --------
-------- SUMMON CORPSE: This for Summon Corpse unit-type setup --------
Set Deft_unittype_DK_CORPSE_corpse[1] = The Undead Level 1
Set Deft_unittype_DK_CORPSE_corpse[2] = The Undead Level 2
Set Deft_unittype_DK_CORPSE_corpse[3] = The Undead Level 3
Set Deft_unittype_DK_CORPSE_corpse[4] = The Undead Level 4
-------- ============================================================================ --------
-------- DEATH ARMOR: This for Death Armor ability-type setup --------
Set Deft_abi_DK_ARMOR_abitype[1] = (DEATH) Armor Bonus Level 1
Set Deft_abi_DK_ARMOR_abitype[2] = (DEATH) Armor Bonus Level 2
Set Deft_abi_DK_ARMOR_abitype[3] = (DEATH) Armor Bonus Level 3
Set Deft_abi_DK_ARMOR_abitype[4] = (DEATH) Armor Bonus Level 4
-------- ============================================================================ --------
1. Corpse Counter (Passive - Learnt through trigger)
This ability does nothing. It is just a dummy ability. It serves as counter, to take record of the number of units killed by the Death Knight. Every unit killed by the DK will increase the level of this ability, hence the corpse count.
Code:
Corpse Counter
Events
Unit - A unit Dies
Conditions
(Level of (DEATH) Corpse Counter for (Killing unit)) Greater than 0
(Level of (DEATH) Corpse Counter for (Killing unit)) Less than or equal to (Deft_int_DK_COUNTER_maxlevel - 1)
Actions
Set Deft_int_DK_COUNTER_lastlvl = (Level of (DEATH) Corpse Counter for (Killing unit))
Unit - Remove (DEATH) Corpse Counter from (Killing unit)
Unit - Add (DEATH) Corpse Counter to (Killing unit)
Unit - Set level of (DEATH) Corpse Counter for (Killing unit) to (1 + Deft_int_DK_COUNTER_lastlvl)
Set Deft_int_DK_COUNTER_lastlvl = 0
2. Death Stomp (Active)
Deals damage to enemy units around the Death Knight with damage depending on the amount of corpse stored. Upon activation of this ability, all of the corpse will be used up.
Example:
Level 1 - Damages enemy units around 500 aoe of the Death Knight with 250 damage. Each corpse availability increases the damage by 250.
Code:
Death Stomp
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to (DEATH) Death Stomp
Actions
Trigger - Turn off Corpse Counter <gen>
Trigger - Turn off Death Armor Increment <gen>
Set Deft_unitgp_DK_STOMP_aoedmg = (Units within 500.00 of (Position of (Triggering unit)) matching ((((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True) and ((((Matching unit) is alive) Equal to True) and (((Matching unit) is A structure) Equal to False))))
Unit Group - Pick every unit in Deft_unitgp_DK_STOMP_aoedmg and do (Actions)
Loop - Actions
Unit - Cause (Triggering unit) to damage (Picked unit), dealing ((Deft_real_DK_STOMP_dmg[1] x (Real((Level of (DEATH) Death Stomp for (Triggering unit))))) + (((Real((Level of (DEATH) Corpse Counter for (Triggering unit)))) - 1.00) x ((Real((Level of (DEATH) Death Stomp for (Triggering unit)))) x Deft_real_DK_STOMP_dmg damage of attack type Spells and damage type Normal
Special Effect - Create a special effect attached to the origin of (Picked unit) using Abilities\Spells\Undead\DeathCoil\DeathCoilSpecialArt.mdl
Special Effect - Destroy (Last created special effect)
-------- This is to set the Corpse Counter to minimum level and changes the armor level --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of (DEATH) Corpse Counter for (Triggering unit)) Greater than or equal to Deft_int_DK_COUNTER_minlvl
(Level of (DEATH) Corpse Counter for (Triggering unit)) Less than or equal to Deft_int_DK_COUNTER_maxlevel
Then - Actions
Unit - Remove (DEATH) Corpse Counter from (Triggering unit)
Unit - Add (DEATH) Corpse Counter to (Triggering unit)
Unit - Set level of (DEATH) Corpse Counter for (Triggering unit) to Deft_int_DK_COUNTER_minlvl
For each (Integer A) from 1 to 4, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Deft_abi_DK_ARMOR_abitype[(Integer A)] for (Triggering unit)) Greater than or equal to Deft_int_DK_COUNTER_minlvl
Then - Actions
Unit - Remove Deft_abi_DK_ARMOR_abitype[(Integer A)] from (Triggering unit)
Unit - Add Deft_abi_DK_ARMOR_abitype[(Integer A)] to (Triggering unit)
Unit - Set level of Deft_abi_DK_ARMOR_abitype[(Integer A)] for (Triggering unit) to (Level of (DEATH) Corpse Counter for (Triggering unit))
Else - Actions
Do nothing
Else - Actions
Do nothing
Trigger - Turn on Corpse Counter <gen>
Trigger - Turn on Death Armor Increment <gen>
Custom script: call DestroyGroup (udg_Deft_unitgp_DK_STOMP_aoedmg)
3. Summon Corpse (Active)
Summons Undead Corpse to assist the Death Knight in battle. The number of summoned units depends on the corpse availability. Upon activation of this ability, all of the corpse will be used up.
Example:
Level 1 - Summons weak melee Undead Corpse to assist the Death Knight. The number of units summoned is depending on the availability of corpse. Killing credits done by the corpse will not affect the Corpse Counter status of Death Knight.
Code:
Summon Corpse
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to (DEATH) Summon Corpse
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of (DEATH) Corpse Counter for (Triggering unit)) Equal to 1
Then - Actions
Set Deft_int_DK_CORPSE_corpselvl = (Level of (DEATH) Summon Corpse for (Triggering unit))
Game - Display to (All players controlled by a ((Triggering player) controller) player) for 1.00 seconds the text: |cffffcc00No corpse...
Unit - Remove (DEATH) Summon Corpse from (Triggering unit)
Unit - Add (DEATH) Summon Corpse to (Triggering unit)
Unit - Set level of (DEATH) Summon Corpse for (Triggering unit) to Deft_int_DK_CORPSE_corpselvl
Else - Actions
Do nothing
For each (Integer A) from 1 to ((Level of (DEATH) Corpse Counter for (Triggering unit)) - 1), do (Actions)
Loop - Actions
Set Deft_pt_DK_CORPSE_triggerpos = (Position of (Triggering unit))
For each (Integer B) from 1 to 4, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of (DEATH) Summon Corpse for (Triggering unit)) Equal to (Integer B)
Then - Actions
Unit - Create 1 Deft_unittype_DK_CORPSE_corpse[(Integer B)] for (Owner of (Triggering unit)) at (Deft_pt_DK_CORPSE_triggerpos offset by 150.00 towards (Random angle) degrees) facing Deft_pt_DK_CORPSE_triggerpos
Set Deft_pt_DK_CORPSE_corpsepos = (Position of (Last created unit))
Unit - Add a 45.00 second Generic expiration timer to (Last created unit)
Special Effect - Create a special effect at Deft_pt_DK_CORPSE_corpsepos using Abilities\Spells\Undead\RaiseSkeletonWarrior\RaiseSkeleton.mdl
Special Effect - Destroy (Last created special effect)
Custom script: call RemoveLocation (udg_Deft_pt_DK_CORPSE_corpsepos)
Else - Actions
Do nothing
Custom script: call RemoveLocation (udg_Deft_pt_DK_CORPSE_triggerpos)
-------- This is to set the Corpse Counter to minimum level --------
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of (DEATH) Corpse Counter for (Triggering unit)) Greater than or equal to Deft_int_DK_COUNTER_minlvl
Then - Actions
Unit - Remove (DEATH) Corpse Counter from (Triggering unit)
Unit - Add (DEATH) Corpse Counter to (Triggering unit)
Unit - Set level of (DEATH) Corpse Counter for (Triggering unit) to Deft_int_DK_COUNTER_minlvl
Else - Actions
Do nothing
-------- This is for the armor reduction according to corpse reduction --------
For each (Integer A) from 1 to 4, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Deft_abi_DK_ARMOR_abitype[(Integer A)] for (Triggering unit)) Greater than or equal to Deft_int_DK_COUNTER_minlvl
Then - Actions
Unit - Remove Deft_abi_DK_ARMOR_abitype[(Integer A)] from (Triggering unit)
Unit - Add Deft_abi_DK_ARMOR_abitype[(Integer A)] to (Triggering unit)
Unit - Set level of Deft_abi_DK_ARMOR_abitype[(Integer A)] for (Triggering unit) to (Level of (DEATH) Corpse Counter for (Triggering unit))
Else - Actions
Do nothing
4. Death Armor (Passive)
Allows the Death Knight to increase its armor according to the amount of corpse stored.
Example:
Level 1 - Increases the Death Knight armor by 5 with every corpse available. A maximum of 50 armor.
Code:
Death Armor Learning Rule
Events
Unit - A unit Learns a skill
Conditions
(Learned Hero Skill) Equal to (DEATH) Death Armor
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of (DEATH) Death Armor for (Learning Hero)) Equal to 1
Then - Actions
Unit - Add (DEATH) Armor Bonus Level 1 to (Learning Hero)
Unit - Set level of (DEATH) Armor Bonus Level 1 for (Learning Hero) to (Level of (DEATH) Corpse Counter for (Learning Hero))
Skip remaining actions
Else - Actions
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of (DEATH) Death Armor for (Learning Hero)) Equal to 2
Then - Actions
Unit - Remove (DEATH) Armor Bonus Level 1 from (Learning Hero)
Unit - Add (DEATH) Armor Bonus Level 2 to (Learning Hero)
Unit - Set level of (DEATH) Armor Bonus Level 2 for (Learning Hero) to (Level of (DEATH) Corpse Counter for (Learning Hero))
Skip remaining actions
Else - Actions
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of (DEATH) Death Armor for (Learning Hero)) Equal to 3
Then - Actions
Unit - Remove (DEATH) Armor Bonus Level 2 from (Learning Hero)
Unit - Add (DEATH) Armor Bonus Level 3 to (Learning Hero)
Unit - Set level of (DEATH) Armor Bonus Level 3 for (Learning Hero) to (Level of (DEATH) Corpse Counter for (Learning Hero))
Skip remaining actions
Else - Actions
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of (DEATH) Death Armor for (Learning Hero)) Equal to 4
Then - Actions
Unit - Remove (DEATH) Armor Bonus Level 3 from (Learning Hero)
Unit - Add (DEATH) Armor Bonus Level 4 to (Learning Hero)
Unit - Set level of (DEATH) Armor Bonus Level 4 for (Learning Hero) to (Level of (DEATH) Corpse Counter for (Learning Hero))
Else - Actions
Do nothing
Code:
Death Armor Increment
Events
Unit - A unit Dies
Conditions
(Level of (DEATH) Corpse Counter for (Killing unit)) Greater than or equal to 1
(Level of (DEATH) Corpse Counter for (Killing unit)) Less than or equal to 11
Actions
For each (Integer A) from 1 to 4, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Deft_abi_DK_ARMOR_abitype[(Integer A)] for (Killing unit)) Greater than or equal to 1
Then - Actions
Unit - Remove Deft_abi_DK_ARMOR_abitype[(Integer A)] from (Killing unit)
Unit - Add Deft_abi_DK_ARMOR_abitype[(Integer A)] to (Killing unit)
Unit - Set level of Deft_abi_DK_ARMOR_abitype[(Integer A)] for (Killing unit) to (Level of (DEATH) Corpse Counter for (Killing unit))
Else - Actions
Do nothing
5. Death Conversion (Active)
Converts corpse into the source of Strength for Death Knight. Each additional corpse amplifies its Strength conversion. Amount of Strength gain increases with level. Upon activation of this ability, all of the corpse will be used up.
Example:
Level 1 - Each corpse available increases the Strength of Death Knight with 1.
Code:
Death Conversion
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to (DEATH) Death Conversion
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of (DEATH) Corpse Counter for (Triggering unit)) Equal to 1
Then - Actions
Set DEATHcurrentstatslevel = (Level of (DEATH) Death Conversion for (Triggering unit))
Game - Display to (All players controlled by a ((Triggering player) controller) player) for 1.00 seconds the text: |cffffcc00No corpse...
Unit - Remove (DEATH) Death Conversion from (Triggering unit)
Unit - Add (DEATH) Death Conversion to (Triggering unit)
Unit - Set level of (DEATH) Death Conversion for (Triggering unit) to DEATHcurrentstatslevel
Else - Actions
Do nothing
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of (DEATH) Corpse Counter for (Triggering unit)) Greater than or equal to 2
Then - Actions
Hero - Modify Strength of (Triggering unit): Add (((Level of (DEATH) Corpse Counter for (Triggering unit)) - 1) x (Level of (DEATH) Death Conversion for (Triggering unit)))
Special Effect - Create a special effect attached to the origin of (Triggering unit) using Abilities\Spells\Undead\AnimateDead\AnimateDeadTarget.mdl
Special Effect - Destroy (Last created special effect)
-------- This is to set the Corpse Counter to Level 1 (ZERO corpse) --------
Unit - Remove (DEATH) Corpse Counter from (Triggering unit)
Unit - Add (DEATH) Corpse Counter to (Triggering unit)
Unit - Set level of (DEATH) Corpse Counter for (Triggering unit) to 1
Else - Actions
Do nothing
-------- This is for the armor reduction according to corpse reduction --------
For each (Integer A) from 1 to 4, do (Actions)
Loop - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Level of Deft_abi_DK_ARMOR_abitype[(Integer A)] for (Triggering unit)) Greater than or equal to Deft_int_DK_COUNTER_minlvl
Then - Actions
Unit - Remove Deft_abi_DK_ARMOR_abitype[(Integer A)] from (Triggering unit)
Unit - Add Deft_abi_DK_ARMOR_abitype[(Integer A)] to (Triggering unit)
Unit - Set level of Deft_abi_DK_ARMOR_abitype[(Integer A)] for (Triggering unit) to (Level of (DEATH) Corpse Counter for (Triggering unit))
Else - Actions
Do nothing
Sorry but there is no screenshot available because all the abilities rely on maths instead of graphics. So there is no point of putting pictures . Please leave comments regarding the triggering. I'm trying my best to improve my skills.
Hope I did everything correctly in posting this.
PS: The variables have 'Deft_' in front of them. Its meant for 'Default', which is how i recognise them in my map. Please dun comment about them . The damage and armor values I set are rather high because this unit was supposed to be used in my Siege Map (which seems never-to-be finished, that's why I'm sharing this Spellpack).