• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Over Power V1.4

~Must have Latest wc3 patch Dled for hashtables~
Should be mui gui-
Over power is a spell with a unique way of being executed, it has no cool down but u must wait for a signal to appear on your hero if you cast it and the signal is not on you and it is casted you damage yourself.

~Over Power~: Once this ability is learned you will beable to call upon a mysterious power to punish your enemies, but you must wait for a signal to appear or you will only cause yourself harm.

Level 1-Damages enemies in 500 aoe by 150, Signal appears between 10 and 20 seconds, if used at the wrong time you damage urself by 50.

Level 2-Damages enemies in 500 aoe by 300, Signal appears between 8 and 18 seconds, if used at the wrong time you damage urself by 100.

Level 3-Damages enemies in 500 aoe by 450, Signal appears between 6 and 16 seconds, if used at the wrong time you damage urself by 150.

And thanks to Wyrmlords hashtable tutorial for making this spell easy to make.

  • Learning
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Over Power
    • Actions
      • Set Random_Wait = (Random integer number between (12 - ((Level of Over Power for (Triggering unit)) x 2)) and (22 - ((Level of Over Power for (Triggering unit)) x 2)))
      • Hashtable - Save Random_Wait as 0 of (Key (Triggering unit)) in hashtable
      • Unit Group - Add (Triggering unit) to Casters

  • random wait
    • Events
      • Time - Every 2.00 seconds of game time
    • Conditions
    • Actions
      • Unit Group - Pick every unit in Casters and do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Load 2 of (Key (Picked unit)) from hashtable) Equal to 0
            • Then - Actions
              • Set Random_Wait = (Load 0 of (Key (Picked unit)) from hashtable)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Random_Wait Greater than 0
                • Then - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • ((Picked unit) is alive) Equal to True
                    • Then - Actions
                      • Hashtable - Save (Random_Wait - 2) as 0 of (Key (Picked unit)) in hashtable
                    • Else - Actions
                • Else - Actions
                  • Special Effect - Create a special effect attached to the chest of (Picked unit) using Abilities\Spells\Other\ImmolationRed\ImmolationRedTarget.mdl
                  • Set sfx = (Last created special effect)
                  • Hashtable - Save Handle Ofsfx as 1 of (Key (Picked unit)) in hashtable
                  • Set SignalOn = 1
                  • Hashtable - Save SignalOn as 2 of (Key (Picked unit)) in hashtable
            • Else - Actions
              • Special Effect - Destroy (Load 1 of (Key (Picked unit)) in hashtable)
              • Set SignalOn = 0
              • Hashtable - Save SignalOn as 2 of (Key (Picked unit)) in hashtable
              • Set Random_Wait = (Random integer number between (12 - ((Level of Over Power for (Picked unit)) x 2)) and (22 - ((Level of Over Power for (Picked unit)) x 2)))
              • Hashtable - Save Random_Wait as 0 of (Key (Picked unit)) in hashtable
  • Channeling
    • Events
      • Unit - A unit Begins channeling an ability
    • Conditions
      • (Ability being cast) Equal to Over Power
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Load 2 of (Key (Triggering unit)) from hashtable) Not equal to 0
        • Then - Actions
          • Set goodcast = True
          • Hashtable - Save goodcast as 3 of (Key (Triggering unit)) in hashtable
        • Else - Actions
          • Set goodcast = False
          • Hashtable - Save goodcast as 3 of (Key (Triggering unit)) in hashtable

  • OverPower
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Over Power
    • Actions
      • Set Temploc = (Position of (Triggering unit))
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Load 3 of (Key (Triggering unit)) from hashtable) Equal to True
        • Then - Actions
          • Unit - Create 1 Dummy for Neutral Passive at Temploc facing Temploc
          • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
          • For each (Integer A) from 1 to 10, do (Actions)
            • Loop - Actions
              • Unit - Create 1 Dummy2 for Neutral Passive at Temploc facing (Random angle) degrees
              • Animation - Change (Last created unit)'s animation speed to 75.00% of its original speed
              • Unit - Add a 5.00 second Generic expiration timer to (Last created unit)
          • Set TempGroup = (Units within 500.00 of Temploc matching ((((Matching unit) is A structure) Equal to False) and ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True) and (((Matching unit) is Mag
          • Unit Group - Pick every unit in TempGroup and do (Actions)
            • Loop - Actions
              • Unit - Cause (Triggering unit) to damage (Picked unit), dealing (150.00 x (Real((Level of Over Power for (Triggering unit))))) damage of attack type Spells and damage type Magic
          • Custom script: call DestroyGroup(udg_TempGroup)
          • Custom script: call RemoveLocation(udg_Temploc)
        • Else - Actions
          • Special Effect - Create a special effect at Temploc using Abilities\Spells\Other\Doom\DoomDeath.mdl
          • Special Effect - Destroy (Last created special effect)
          • Custom script: call RemoveLocation(udg_Temploc)
          • Unit - Cause (Triggering unit) to damage (Triggering unit), dealing (50.00 x (Real((Level of Over Power for (Triggering unit))))) damage of attack type Spells and damage type Magic
V1.1-
Changed Special effect attachment to 1 with a faster animation.
V1.2-
Fixed problem.
v1.3-
added creep respawn, added a channeling trigger so the spell can be casted late, changed damage type to magic, fixed damage problem, hasnt crashed for me after 20 minutes of spamming.
V1.4-
fixed memory leaks and changed casting or learning unit to triggering unit.

Keywords:
Stomp, gui, muigui, overpower, over power, power.
Contents

Over Power v1.4 (Map)

Reviews
20:06, 22nd Sep 2009 The_Reborn_Devil: It got no leaks now. So Approved. I won't give this spell a rating since none of them fits. The spell looks ok, and for me it's a new kind of spell, so I must say it's quite original.

Moderator

M

Moderator

20:06, 22nd Sep 2009
The_Reborn_Devil:

It got no leaks now. So Approved.
I won't give this spell a rating since none of them fits.
The spell looks ok, and for me it's a new kind of spell, so I must say it's quite original.
 
Level 11
Joined
Jul 2, 2008
Messages
601
Change the special effect then to more quickly one, don't be so lame :D

Checking triggering... Can't check, I have some strange errors... Hmmm... It's somehow connected to hashtables, wtf? I have 1.24, what's the problem...
 
Level 9
Joined
Aug 2, 2008
Messages
219
lol if it was possible to change animation speed of special effects id fix.
Actually that is possible, by creating a dummy unit which has the special effect as its model file. Then you can use SetUnitTimeScale (or what it´s called) to adjust the speed of the special effect.
Checked the triggers and somehow they confused me :s, maybe because i haven´t seen GUI triggers for a longer time. I don´t think this is MUI, because when i tested the sell with 2 casters at the same time it bugged. (The spell did not work for the second caster and it created countless special effects on the first caster).
Could you improve your tooltip a bit ? Because i diden´t get the spell working ingame, the casters just damaged theirselves.


@Aspard
I have also 1.24 but i don´t have any problems by opening it and it´s using hashtabels.
 
Level 11
Joined
May 16, 2007
Messages
288
Review


Reviewed by
Darkyvm
Reviewed Version
Over Power V1.2
Reviewing Points
[+] A bit original having to wait for a signal to cast the spell.
[+] SFX isn't top quality but looks nice.
[+-] No creep respawning / only one hero revives.
[+-] You use Attack Type Spells, usually Attack Type Normal is fine for spells, using a different one might reduce / increase the damage done because of the target's armor type.
[+-] You use Damage Type Universal, for non-ultimate spells you should always use Damage Type Magic so it considers ethereal and magic immune units (Universal ignores magic immunity)
[+-] Besides the having to wait for the signal part, spell wasn't so original. Just a plain AoE damage.
[-] Game crashed after some time when I started spamming both heroes' spell.
[-] Sometimes the effect is still visisble when you cast it but you still take damage.
[-] Spell always instantly killed targets, regardless of level.
Suggestions
Fix the spell bugs, and change Attack / Damage Type if possible
Rating
2/5 - Lacking.
 
Top