1. Are you planning to upload your awesome spell or system to Hive? Please review the rules here.
    Dismiss Notice
  2. Join Texturing Contest #30 now in a legendary battle of mythological creatures!
    Dismiss Notice
  3. The Aftermath has been revealed for the 19th Terraining Contest! Be sure to check out the Results and see what came out of it.
    Dismiss Notice
  4. Melee Mapping Contest #3 - Results are out! Congratulate the winners and check plenty of new 4v4 melee maps designed for this competition!
    Dismiss Notice
  5. The winners of our cinematic soundtrack competition have been decided! Step by the Music Contest #11 - Results to check the entries and congratulate the winners!
    Dismiss Notice
  6. Check out the Staff job openings thread.
    Dismiss Notice

Death Knight's Presences (v1.1)

Submitted by Losam
This bundle is marked as approved. It works and satisfies the submission rules.
Presentation


The concept (function) it is of Blizzard, however, it is of my authorship and intellectual property. After all, I adapted the resource of the World of Warcraft for the universe of Warcraft III.


Features


  • MUI
  • LeakLess
  • Simple codes
  • Easy to set/setup
  • Easy to import/use
  • Great performance (I believe)


Changelog


Current version (1.1)

  • Spell - More efficiency (the presences are changed instantly).
  • Triggers - Updatings, corrections and adjustments for the current version.
  • Ability - According to the suggestion, the ability Presence (Change) it was changed by the ability Berserk.

Old version (1.0)

  • Triggers - Old triggers.
  • Ability - the ability Presence (Change) it is originated from Channel.
  • Spell - Low efficiency (the presences took a small time to be changed).



Spell's function


Allow Death Knight to change Blood, Frost or Unholy Presence. Each presence improves Death Knight performance.

  • Blood - Increases the physical defense.
  • Frost - it Increases the attack damage.
  • Unholy - it Increases the attack speed and movement.

  • Attack bonus: 15%/20%/25%/30% of Death Knight's physical attack.
  • Attack speed bonus: 15%/25%/35%/45%.
  • Defense bonus: 3/4,5/6/7,5 points.
  • Speed bonus: 5%/10%/20%/25%.
  • Just one presence can be activated by time and permanence.


Spell's Triggers


Click to

Setup

[trigger=Trigger]Presence Setup
Events
Map initialization
Conditions
Actions
-------- ------------------------------------------- --------
-------- Create Hashtable: --------
Custom script: set udg_Presence_Hash = InitHashtable()
-------- ------------------------------------------- --------
-------- When Caster's presence change, the abilities below are the respective available presences: --------
Set Presence_Ability_Aura[1] = Presence (Blood)
Set Presence_Ability_Aura[2] = Presence (Frost)
Set Presence_Ability_Aura[3] = Presence (Unholy)
-------- The indexes (of the abilities) above they should be COMPATIBLE with the indexes of Buffs. --------
-------- ------------------------------------------- --------
-------- Ability that allows to Caster, to change of presence: --------
Set Presence_Ability_Change = Presence (Change)
-------- ------------------------------------------- --------
-------- The buffs below are necessary to change them instantly when Death Knight changes presence. --------
Set Presence_Buff[1] = Presence (Blood)
Set Presence_Buff[2] = Presence (Frost)
Set Presence_Buff[3] = Presence (Unholy)
-------- The indexes for buff and the indexes of the abilities (of the presences) they should be compatible, for not happening mistakes. --------
-------- ------------------------------------------- --------
-------- Destroy this Trigger to improve the performance of the spell: --------
Custom script: call DestroyTrigger (GetTriggeringTrigger())
-------- ------------------------------------------- --------
[/trigger]

Cast

[trigger=Trigger]Presence
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Presence_Ability_Change
Actions
-------- ------------------------------------------- --------
-------- Caster (Unit that cast the spell): --------
Set Presence_Caster = (Triggering unit)
-------- ------------------------------------------- --------
-------- Load Caster's key in a handle: --------
Custom script: set udg_Presence_Handle = udg_Presence_Caster
-------- ------------------------------------------- --------
-------- Ability's level capable to change the presences: --------
Set Presence_Level = (Level of Presence_Ability_Change for Presence_Caster)
-------- In this version it is not more necessary to verify the level of each presence. --------
-------- ------------------------------------------- --------
-------- Load the index of the current presence in Caster: --------
Set Presence_Index_Add = (Load 1 of (Key Presence_Handle) from Presence_Hash)
-------- The index will allow the change of presences. --------
-------- ------------------------------------------- --------
-------- The variable "Presence_Index_Add" allows to choose the next presence. --------
-------- The variable "Presence_Index_Remove" allows to remove the old presence. --------
-------- ------------------------------------------- --------
-------- In the next steps, it is verified which presence will be removed and which will be added. --------
Custom script: if udg_Presence_Index_Add == 0 then
-------- --------
-------- In case it is the first time that Caster chooses the presence, choose a random presence: --------
Custom script: set udg_Presence_Index_Add = GetRandomInt(1, 3)
-------- Be free to choose which will be the first presence to be activated. --------
-------- --------
Custom script: else
Custom script: if udg_Presence_Index_Add >= 3 then
-------- --------
-------- In case the current presence is Unholy, change the presence for Blood: --------
Custom script: set udg_Presence_Index_Add = 1
Custom script: set udg_Presence_Index_Remove = 3
-------- In this section it means that the presence reached a limit. --------
-------- --------
Custom script: else
-------- --------
-------- In case the presence didn't reach the limit: --------
Custom script: set udg_Presence_Index_Remove = udg_Presence_Index_Add
Custom script: set udg_Presence_Index_Add = udg_Presence_Index_Add + 1
-------- --------
Custom script: endif
Custom script: endif
-------- ------------------------------------------- --------
-------- Save the index of the current presence for Caster: --------
Hashtable - Save Presence_Index_Add as 1 of (Key Presence_Handle) in Presence_Hash
-------- Doesn't care Caster to die, the index will be the same until that Caster changes of presence. --------
-------- ------------------------------------------- --------
-------- Remove the buff of the old presence in Caster: --------
Unit - Remove Presence_Buff[Presence_Index_Remove] buff from Presence_Caster
-------- --------
-------- Remove the OLD presence of Caster: --------
Unit - Remove Presence_Ability_Aura[Presence_Index_Remove] from Presence_Caster
-------- --------
-------- Add the NEW presence for Caster: --------
Unit - Add Presence_Ability_Aura[Presence_Index_Add] to Presence_Caster
-------- --------
-------- Update the level of the NEW presence for Caster: --------
Unit - Set level of Presence_Ability_Aura[Presence_Index_Add] for Presence_Caster to Presence_Level
-------- ------------------------------------------- --------
-------- The buff of the old presence is removed instantly. --------
-------- But, the new presence takes little time to update. --------
-------- ------------------------------------------- --------
[/trigger]




How to Import


To import this spell in any map it is necessary to copy some items in the list below:

  • Trigger - Folder "Presence".
  • Import - All of the imported objects (from icon to models).
  • Buff - To copy the buffs of the presences (Blood,Frost and Unholy) in Object Editor.
  • Ability - The ability "Presence (Change)", "Presence (Blood)","Presence (Frost)" and "Presence (Unholy)" in Object Editor.

Tip - Enable the option: Automatically create unknown variables while pasting trigger dates (Go to: File>Preferences>General in your Warcraft III World Editor). This way, it won't be necessary to copy all the variables one for one.


Credits


  • I thank Hive WorkShop.
  • Moderator of this resource.
  • Champara Bros, for the created models (Blood, Frost and Unholy Presence).
  • I thank you for the kindness, dowload and for everything! Thank you for participating in my work.


Contact


  • Doubts?
  • Critical?
  • Subjects?
  • Suggestions?
  • Find a bug/error?
  • Difficulties in the import?

For any subject, i recommend that you sends her for me, in this page, in my profile or for a pm (private message). I insist on helping.


Request


If it uses my spell in your map (project, work...) doesn't forget to do the kindness of thanking to me for the developed work.
If it can, i ask that it rewards with reputation, in that way I can reward the favor.
Please, don't stop visiting my page for more resources and contacts.


Keywords:
Hive WorkSHop, Spells , World of Warcraft>Warcraft III , Losam
Contents

Death Knight's Presences (Map)

Reviews
Moderator
18:31, 19th Aug 2013 PurgeandFire: The code is short, but the spells themselves/the object editor manipulation is really nice. I recommend basing them off berserk or any other spell that does not interrupt orders, but that it not necessary for...
  1. 18:31, 19th Aug 2013
    PurgeandFire: The code is short, but the spells themselves/the object editor manipulation is really nice.

    I recommend basing them off berserk or any other spell that does not interrupt orders, but that it not necessary for approval. The ability is now based off berserk. Love it! Bumped to recommended.

    Approved!
     
  2. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,532
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    its a different kind of spell but i advise changing a few things.

    Since it loops through the buffs you should change this to a unit array / integer array / unit indexer by bribe.
    You can add a random number by setting the integer array keyed to that unit.
    Then give that unit the ability by using the integer.

    When the ability is cast u remove the old buff then set the integer to integer + 1 then use an ITE to check if the integer is equal to 4 set it to one. then add that ability to the unit. It will take down the amount of actions u do everytime the spell is cast so this will be more efficient.
     
  3. sniper_zero

    sniper_zero

    Joined:
    Sep 9, 2009
    Messages:
    643
    Resources:
    2
    Spells:
    1
    Tutorials:
    1
    Resources:
    2
    Isn't Blood Presence the one that increases attack damage now? And it also steals life I think. I'm pretty sure Frost Presence is the tanking presence. Other than that, nice. I these abilities once only I never thought of combining them like you did.

    Maybe you should also consider placing the added abilities into a disabled spell book? Some people like to use the slots they're occupying for extra skills.
     
  4. Losam

    Losam

    Joined:
    Mar 27, 2011
    Messages:
    260
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Well, in the Cataclysm expansion (and the next), the presence (properties) were changed by Blizzard.
     
  5. sniper_zero

    sniper_zero

    Joined:
    Sep 9, 2009
    Messages:
    643
    Resources:
    2
    Spells:
    1
    Tutorials:
    1
    Resources:
    2
    Oh yeah, you're right :) If you're going to update this spell, I suggest basing the spell on berserk that way it doesn't interrupt the unit's orders. The Death Knight kinda stops for a while when he changes presences.
     
  6. Losam

    Losam

    Joined:
    Mar 27, 2011
    Messages:
    260
    Resources:
    8
    Spells:
    8
    Resources:
    8
    Believe are related to Cast Point, which is responsible for the activation time of any skill / spell.
    And yes, I will update this version as your suggestion. Thank you for your kindness.
     
  7. Laercio

    Laercio

    Joined:
    Nov 12, 2012
    Messages:
    115
    Resources:
    1
    Spells:
    1
    Resources:
    1
    I have made a spell like this one before, just for fun, and placed it in the undead campaign for reign of chaos (I also did the same with the paladin, changing auras from command, devotion and retribution auras), and I used a spellbook with the abilities used to make the changes inside.

    If you want to see it you can ask me and I can send a link via pm. It is MUI and can be of help to improve yours (using only the spellbook as a way of changing from one presence to the other ^^)
     
  8. hemmedo

    hemmedo

    Joined:
    Jun 13, 2008
    Messages:
    264
    Resources:
    0
    Resources:
    0
    presence effects should fade away after 1-2 seconds of activation.
     
  9. YuKei

    YuKei

    Joined:
    Apr 1, 2019
    Messages:
    1
    Resources:
    0
    Resources:
    0
    Heh, simple, but very interesting spell. At least for me.