1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. From the gates of hell, the 5th Special Effect Contest Results have emerged.
    Dismiss Notice
  4. Rubbed the right way, the genie is out of its lamp! The 12th Concept Art Contest Results have been announced.
    Dismiss Notice
  5. Race against the odds and Reforge, Don't Refund. The 14th Techtree Contest has begun!
    Dismiss Notice
  6. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Healing Wave

Discussion in 'Requests' started by Merry, Nov 1, 2014.

  1. Merry

    Merry

    Joined:
    Mar 26, 2004
    Messages:
    53
    Resources:
    0
    Resources:
    0
    Anyone have a quick MUI/GUI script to make Crushing Wave/Carrion Swarm heal allies instead of damage enemies?

    Changing the values to negative and then altering the targets does not work.
     
  2. Wietlol

    Wietlol

    Joined:
    Aug 1, 2013
    Messages:
    4,640
    Resources:
    3
    Spells:
    3
    Resources:
    3
    I will give you the perfect solution.
    I don't have the time at this moment but I will show it to you within 6 hours.

    If anyone else knows how to do it then he/she may. I just posted this to tell you that your answer is coming.
     
  3. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,719
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
    set targets allowed to allies and set damage to negative aka -100
     
  4. Wietlol

    Wietlol

    Joined:
    Aug 1, 2013
    Messages:
    4,640
    Resources:
    3
    Spells:
    3
    Resources:
    3
    Ok let me get started.
    Ill show you within 15 minutes.
     
  5. Wietlol

    Wietlol

    Joined:
    Aug 1, 2013
    Messages:
    4,640
    Resources:
    3
    Spells:
    3
    Resources:
    3
    Took a little bit longer than expected but here it is.
    Make an ability based of Channel and make it pretend it is Breath of Fire
    Note that Target Type must be point or unit, follow time must be 0 and Options must be visible.

    Then make an ability based of Breath of Fire and put there the desired AoE in.
    Set the damage to 0, mana cost to 0 and duration to 0.01.
    Make a new buff and set some lovely stuff.
    Add that buff to the breath of fire.

    Then make a dummy unit (if you don't know how to make a 'dummy' unit then tell me.
    Add the breath of fire to that unit.

    Now comes the trigger stuff.
    Make this trigger:
    • Healing Wave
      • Events
        • Unit - A unit Starts the effect of an ability
      • Conditions
        • (Ability being cast) Equal to Healing Wave (Channel)
      • Actions
        • Set TempPlayer = (Owner of (Casting unit))
        • Unit - Create 1 Footman for Neutral Hostile at (Position of (Casting unit)) facing Default building facing degrees
        • Unit - Set level of Healing Wave for (Last created unit) to (Level of Healing Wave (Channel) for (Casting unit))
        • Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
        • Unit - Order (Last created unit) to Neutral Pandaren Brewmaster - Breath Of Fire (Target point of ability being cast)


    Then make another trigger:
    • Take Damage
      • Events
      • Conditions
      • Actions
        • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
          • If - Conditions
            • ((Triggering unit) has buff Healing Wave ) Equal to True
          • Then - Actions
            • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
      • If - Conditions
        • ((Triggering unit) belongs to an ally of TempPlayer) Equal to True
      • Then - Actions
        • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) + 100.00)
      • Else - Actions
        • Else - Actions


    That last trigger has no initial events.
    That means that it has to be called by another trigger or it must gain an event by another trigger.
    We use that last one.

    In any map initialization trigger, add the following line:
    • Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
      • Loop - Actions
        • Trigger - Add to Take Damage <gen> the event (Unit - (Picked unit) Takes damage)


    And make the next trigger.
    • New Unit
      • Events
        • Unit - A unit enters (Entire map)
      • Conditions
      • Actions
        • Trigger - Add to Take Damage <gen> the event (Unit - (Entering unit) Takes damage)


    Now you have your system.

    Whenever a unit casts the channel ability, he creates a neutral hostile dummy that casts breath of fire to the target area.
    That breath of fire does no damage and applies a buff.
    Once a unit gains that buff and he is an ally of the original caster, he gains 100 health.

    This doesn't work if a neutral hostile unit wants to cast it.
    This doesn't work if healing wave is cast wile a previous healing wave is still under effect. (This can be helped by using JASS)

    It may have some leaks but I don't really care that much :D
     
  6. Merry

    Merry

    Joined:
    Mar 26, 2004
    Messages:
    53
    Resources:
    0
    Resources:
    0
    Hey, thanks for putting in the time on this. Problem is that I needed it to be castable by multiple units at the same time. Its for a generic caster unit.
     
  7. Wietlol

    Wietlol

    Joined:
    Aug 1, 2013
    Messages:
    4,640
    Resources:
    3
    Spells:
    3
    Resources:
    3
    Do you have any experience with jass?
    If not then it is still possible only will take me a bit longer to make.
     
  8. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,719
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
    Just use this.. it takes 1 min of work and is MUI obviously
     
  9. Wietlol

    Wietlol

    Joined:
    Aug 1, 2013
    Messages:
    4,640
    Resources:
    3
    Spells:
    3
    Resources:
    3
    Please do me a favor.
    Go to the world editor and make it.
    Once you did it, upload the map.

    Or once you found out that those abilities cannot damage allied units (so also no negative damage). Just come here and tell us that you know why we need something like I made.

    We can also wait until a true WC3 fan comes by and tells us that there is a hidden ability that does exacly what we want, but I doubt that that will happen.
     
  10. Chaosy

    Chaosy

    Joined:
    Jun 9, 2011
    Messages:
    10,719
    Resources:
    18
    Maps:
    1
    Spells:
    11
    Tutorials:
    6
    Resources:
    18
    Seems like that's correct.. never cared to check that before.

    Either way, for your solution you should use a proper DDS since your trigger is leaking at the moment.
     
  11. Wietlol

    Wietlol

    Joined:
    Aug 1, 2013
    Messages:
    4,640
    Resources:
    3
    Spells:
    3
    Resources:
    3
    Someone pointed that out just a minute before you XD
    It is easy to refresh the trigger once in a while but even when 200k units are added to that trigger, WC3 runs smooth