• 🏆 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!

Spell Request

Status
Not open for further replies.
Level 12
Joined
Dec 25, 2010
Messages
972
Royal Myrmidon - Strength
Abilities:




Kraken Shell - Innate Ability
Activate to block a portion of damage to Royal Myrmidon
Notes: If Royal Myrmidon has Empowering Tides buff it
may return the damage to the damage source



Crushing Waves - Point Target
Sends out a wave of water, damaging and
lowering armor of enemy units in a line.
Range: 1150
Cooldown: 12 seconds



Tidal Cloak - Unit Target
Envelops a target unit with the powers of sea.
It increases the hitpoints or manapoints regeneration.
Range: 800
Cooldown: 20 seconds
Notes: It randomly increases HP/MP regen but not at the same time.



Empowering Tides - Passive
The power of tides is granted to the Royal Myrmidon's trident.
Therefore increases it's damage and slows a large area in front of him.
Notes: The slow is similar to cleave but instead slows an enemy unit
within X radius of the main target unit.



Ultimate:
Warlord's Wrath - Instant
Creates water torrents around the Royal Myrmidon. Damages and
rises all enemies in the air. It slows their movement speed and
absorbs mana from enemies..
Cooldown: 160 seconds
Notes: The mana absorbed can be determined by anything.

Based on these Ideas by @apcrabnightlive can someone make those spells?
 
I made a crushing wave stomp spell. Its sends out a wave in a circle around the Myrmidon knocking units back and stunning them for a few seconds. To import it you will need a knockback system. The spell is in my map here. It's called waterstomp, ignore everything else. Copy the dummy unit's spell and the waterstomp spell first, then the dummy unit, and finally the trigger. Look in the trigger for the knockback system I use. It will have a trigger that says run trigger x. Copy trigger x and import that too. That is the knockback system. DOwnload the map Here.

If you want crushing wave to lower armor, just create dummy units in a line. Give the dummy units a short distance howl with no buff. Order them to howl and remove them from the game. BooM! Crushing Wave that lowers armor.
 

Ardenian

A

Ardenian

Do you already use a damage detection system in your map ?
If so, then Empowering Tides is very easy to make ( if it only concerns units damaged by attacks, not by range in front of the hero). If you tell me what damage detection you use I can do that one for you :)
 
Level 12
Joined
Dec 25, 2010
Messages
972
I made a crushing wave stomp spell. Its sends out a wave in a circle around the Myrmidon knocking units back and stunning them for a few seconds. To import it you will need a knockback system. The spell is in my map here. It's called waterstomp, ignore everything else. Copy the dummy unit's spell and the waterstomp spell first, then the dummy unit, and finally the trigger. Look in the trigger for the knockback system I use. It will have a trigger that says run trigger x. Copy trigger x and import that too. That is the knockback system. DOwnload the map Here.

If you want crushing wave to lower armor, just create dummy units in a line. Give the dummy units a short distance howl with no buff. Order them to howl and remove them from the game. BooM! Crushing Wave that lowers armor.

If you would show me how

Do you already use a damage detection system in your map ?
If so, then Empowering Tides is very easy to make ( if it only concerns units damaged by attacks, not by range in front of the hero). If you tell me what damage detection you use I can do that one for you :)

I plan to use the same system used in a spellpack I requested before which is located here for you to see

Do you prefer GUI or JASS?

VJASS. I always prefer to use VJASS but I don't shy of a good GUI spell (I use 4 spells of the Lich King Spellpack by Maker to one of the Forsaken Heroes, the Tyrant, from another map)
 

Ardenian

A

Ardenian

Then Bribe's DDS it is
Alright, I need that system with the exact ability you will use later on ( = Cleave, for the Id) and the unit type ( for conditions).

You can handle Kraken Shell with the DDS, too, by the way.
 

Ardenian

A

Ardenian

Yes, and I need the exact ability you use as well as the unit.

I can create the ability for you, but I need the unit Id. I assume you don't know a lot about trigger, so I would like to make it as less hard to configure as possible.
Therefore I need the unit object data of the hero.
 
Level 12
Joined
Dec 25, 2010
Messages
972
Yes, and I need the exact ability you use as well as the unit.

I can create the ability for you, but I need the unit Id. I assume you don't know a lot about trigger, so I would like to make it as less hard to configure as possible.
Therefore I need the unit object data of the hero.

I know how to config my friend
You can Use whatever you wish and you can give a good config for it
and the Hero's ID ingame will be "NH00"
 

Ardenian

A

Ardenian

I know how to config my friend
You can Use whatever you wish and you can give a good config for it
and the Hero's ID ingame will be "NH00"

Testing is up to you, DDS not included.
 
Last edited by a moderator:
Level 12
Joined
Dec 25, 2010
Messages
972
I made a mistake in a global condition. Go to Register trigger and change the condition to Unit type of Learning hero Equal Mountainking, not DamageEventSource.

Then it works.

It works now

By the way I want to make the slow ability of the tide based on chance
How do I do it?
 
Last edited:

Ardenian

A

Ardenian

  • Empowered Tide
    • Events
      • Game - DamageEvent becomes Equal 1.00
    • Conditions
      • (Unit-type of DamageEventSource) Equal Mountainking
      • (DamageEventSource is in HeroesWithEmpoweredTide) Equal True
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • 'IF'-Conditions
          • (Random integer number between 1 and 10) Equal 1
        • 'THEN'-Actions
          • Custom script: local integer i
          • Custom script: set i = GetUnitAbilityLevel( udg_DamageEventSource, udg_EmpoweredTide)
          • Unit - Create 1 Caster Dummy for (Owner of DamageEventSource) at (Position of DamageEventSource) facing (Facing of DamageEventSource) degrees
          • Custom script: set udg_Dummy = GetLastCreatedUnit()
          • Unit - Add Slow to Dummy
          • Set Slow = Slow
          • Custom script: call SetUnitAbilityLevel( udg_Dummy, udg_Slow, i)
          • Unit - Order Dummy to Sorceress - 'Slow' DamageEventTarget
          • Unit - Add a 1.00 second Standard expiration timer to Dummy
        • 'ELSE'-Actions
10% chance
 
Level 12
Joined
Dec 25, 2010
Messages
972
  • Empowered Tide
    • Events
      • Game - DamageEvent becomes Equal 1.00
    • Conditions
      • (Unit-type of DamageEventSource) Equal Mountainking
      • (DamageEventSource is in HeroesWithEmpoweredTide) Equal True
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • 'IF'-Conditions
          • (Random integer number between 1 and 10) Equal 1
        • 'THEN'-Actions
          • Custom script: local integer i
          • Custom script: set i = GetUnitAbilityLevel( udg_DamageEventSource, udg_EmpoweredTide)
          • Unit - Create 1 Caster Dummy for (Owner of DamageEventSource) at (Position of DamageEventSource) facing (Facing of DamageEventSource) degrees
          • Custom script: set udg_Dummy = GetLastCreatedUnit()
          • Unit - Add Slow to Dummy
          • Set Slow = Slow
          • Custom script: call SetUnitAbilityLevel( udg_Dummy, udg_Slow, i)
          • Unit - Order Dummy to Sorceress - 'Slow' DamageEventTarget
          • Unit - Add a 1.00 second Standard expiration timer to Dummy
        • 'ELSE'-Actions
10% chance

I'm getting the error "line 304: Locals are only supported at the top of the function"
 
If you would show me how



See also, this tutorial.

  1. Under Preferences, make sure you have "Automatically create unknown variables while
    pasting trigger data" checked
  2. Copy and paste the dummy unit and custom abilities in the Object Editor into
    your map
  3. Copy and paste all triggers into your map
 
Last edited:
Level 24
Joined
Aug 1, 2013
Messages
4,657
Why use locals in the first place?
Use a global "TempInteger" variable and then you can replace all the custom scripts by GUI actions... when you are making something in GUI, then use GUI and only custom scripts where necessary.

Be aware that you leak a location on each attack.

Also, change the check from
(DamageEventSource is in HeroesWithEmpoweredTide)
to
(Level of Empowered Tide for DamageEventSource is greater than 0)

Last but not least, when you use a variable like "Slow", then USE it.
wjDbOT9.png
 
Level 12
Joined
Dec 25, 2010
Messages
972
Why use locals in the first place?
Use a global "TempInteger" variable and then you can replace all the custom scripts by GUI actions... when you are making something in GUI, then use GUI and only custom scripts where necessary.

Be aware that you leak a location on each attack.

Also, change the check from
(DamageEventSource is in HeroesWithEmpoweredTide)
to
(Level of Empowered Tide for DamageEventSource is greater than 0)

Last but not least, when you use a variable like "Slow", then USE it.
wjDbOT9.png

Can you show me how please?
 
Level 24
Joined
Aug 1, 2013
Messages
4,657
The post was more aimed at Ardenian, but all should be very easy to do.
You can find numberless threads about leaks like locations and how to fix them... so I will not explain them here.

Replacing the local variables with global variables should be no problem.
You just create a global variable of type integer and use that one instead of "i" and you should replace all custom scripts with the corresponding GUI actions.
"Set <variable> = Last created unit"
"Set <variable> = Level of ability for unit"
"Unit - Set level of ability of unit to integer"

The condition of the group vs ability check is an integer comparison comparing the level of EmpoweredTide to 0. (If it is 0, he doesnt have the ability.)

The slow variable should actually be a constant initialized at map init (preferably) or in global variables.
Equal as a variable of the Empowered Tide ability and the Caster Dummy.
 
Level 12
Joined
Dec 25, 2010
Messages
972
The post was more aimed at Ardenian, but all should be very easy to do.
You can find numberless threads about leaks like locations and how to fix them... so I will not explain them here.

Replacing the local variables with global variables should be no problem.
You just create a global variable of type integer and use that one instead of "i" and you should replace all custom scripts with the corresponding GUI actions.
"Set <variable> = Last created unit"
"Set <variable> = Level of ability for unit"
"Unit - Set level of ability of unit to integer"

The condition of the group vs ability check is an integer comparison comparing the level of EmpoweredTide to 0. (If it is 0, he doesnt have the ability.)

The slow variable should actually be a constant initialized at map init (preferably) or in global variables.
Equal as a variable of the Empowered Tide ability and the Caster Dummy.

Can you make Trigger wrap for me to see how it would look?
 
Status
Not open for further replies.
Top