• 🏆 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!
  • 🏆 Hive's 6th HD Modeling Contest: Mechanical is now open! Design and model a mechanical creature, mechanized animal, a futuristic robotic being, or anything else your imagination can tinker with! 📅 Submissions close on June 30, 2024. Don't miss this opportunity to let your creativity shine! Enter now and show us your mechanical masterpiece! 🔗 Click here to enter!

Spell Request

Status
Not open for further replies.
Level 18
Joined
Aug 22, 2013
Messages
1,290
Forest Art

Spell Type: Passive\Aura
Make the Spell Like This:
If the Ranger is near a tree it turns invisible and gains bonus life regeneration. If the Ranger attacks it deals knockback damage

Please make this in GUI and Mui
Hope u all can make this quick i need this urgently.:vw_love:
 
Level 3
Joined
Sep 9, 2009
Messages
658
What trees are you using?

  • Forest Art Learn
    • Events
      • Unit - A unit Learns a skill
    • Conditions
      • (Learned Hero Skill) Equal to Forest Art
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Level of Forest Art for (Learning Hero)) Less than or equal to 1
        • Then - Actions
          • -------- Check if level is less than or equal to 1 to avoid the unit from being indexed every time he increases the level of the skill --------
          • Set FAindex = (FAindex + 1)
          • Set FAunit[FAindex] = (Learning Hero)
        • Else - Actions
      • Trigger - Turn on Forest Art Periodic <gen>
  • Forest Art Periodic
    • Events
      • Time - Every 0.50 seconds of game time
    • Conditions
    • Actions
      • For each (Integer Integer) from 1 to FAindex, do (Actions)
        • Loop - Actions
          • Set FAloc[FAindex] = (Position of FAunit[FAindex])
          • Set TreeCount[FAindex] = 0
          • Destructible - Pick every destructible within 300.00 of FAloc[FAindex] and do (Actions)
            • Loop - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Destructible-type of (Picked destructible)) Equal to Summer Tree Wall
                • Then - Actions
                  • Set TreeCount[FAindex] = (TreeCount[FAindex] + 1)
                • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • TreeCount[FAindex] Greater than or equal to 1
            • Then - Actions
              • Unit - Add Permanent Invisibility (Forest Art) to FAunit[FAindex]
            • Else - Actions
              • Unit - Remove Permanent Invisibility (Forest Art) from FAunit[FAindex]
          • Custom script: call RemoveLocation(udg_FAloc[udg_FAindex])
This isn't MUI but it does give invisibility when the Hero is near a tree.

You need a damage detection system for the knockback.
 
Last edited:
Level 24
Joined
Aug 1, 2013
Messages
4,657
For the knockback you need a Damage Detection System and a Knockback System.
When you hit someone and the attacker has the ability "Life Regeneration (One With The Forest)", then you apply knockback.

This is not a very nice way because the attacker has to stay near the tree if he wants thee knockback. If he runs away while the arrow is flying, the attack will have no knockback.
If that is a big problem, then you should use an Alternative Damage System.
That requires a lot of work but is actually increasing possibilities massively.

This isn't MUI but it does give invisibility when the Hero is near a tree.
It is MUI.
You just have to put all possible trees in that "Summer Tree Wall" spot.
For regular maps it will be like 4 trees max
 
Level 3
Joined
Sep 9, 2009
Messages
658
Yes, it doesn't.

I was thinking more of this.

Give the hero Permanent Invisibility and the dummy Critical Strike.

The hero becomes invisible.
The hero attacks.
Do a check if the damage source has the dummy Critical Strike.
Apply the knockback.
Remove the dummy Critical Strike.

Now even if the hero gets out of range of the trees the unit will still get the knockback.
 
Level 24
Joined
Aug 1, 2013
Messages
4,657
But what if you move to the trees and then run away from them and then attack?
The target will still take damage even though the attacker has not been near a tree for hours (if he didn't attack in the meantime)


If you would use Bash, you will not have that problem, because the attack (the projectile) gains the bash effect rather than checking on the unit when the projectile lands.
The big problem of bash is that it always interrupts the target... however you apply knockback so the interrupt doesn't matter.
 
Level 3
Joined
Sep 9, 2009
Messages
658
I didn't understand your scenario but I'd still choose Critical Strike regardless.

Bash gives a buff. No matter how short you set the duration to, you can still see the buff icon show then disappear. It's bad to look at. There are some buffs that don't show icons but it still takes up space so it's ugly to look at if the unit is affected by multiple buffs. Case in point.

attachment.php


That's Bash with the ministun. It's set to use Shockwave (Caster Buff), one of the iconless and hidden buffs. True enough, most of the time it doesn't show but hit a unit long enough and this happens. That stupid icon shows up.

That's why I'd choose Critical Strike. Whatever issues it has can be worked around with. The buff icon doesn't have a workaround. Even using the Tornado buffs can't solve it.
 

Attachments

  • Bash.png
    Bash.png
    1.5 MB · Views: 133
Level 24
Joined
Aug 1, 2013
Messages
4,657
You say that you hate a 0.01 buff duration?
I mean it is theoritical impossible to take a screenshot of it, for example.
The bash works properly and the critical strike has a glich...

Not long ago, I was pointed on that click when detecting wether an attacker was ranged or melee... what if someone attacks, then transforms into a melee unit before the missile landed? Then it is a melee attacker but he attacked with a ranged shot.

Or this one: You have a buff that your next basic attack will do increased damage and has a special effect... almost the same as this.
What if you attack an enemy and then you gain that buff before your missile landed?
Some call it a feature... for some spells it is deffinately a glitch.

If you are fine with critical strike then it is ok with me... but when telling someone to use it he should also be aware of the "glitches/features" :)

I think sunreaver should make his decision...

1. Have an unavoidable 0.01 buff (not 0 because that is infinite)
2. Have a glitch where a unit would attack and then gain invisibility and the attack still dealt knockback.
And have a glitch where a unit would gain invisibility and then run away from the trees and still have knockback.
 
Level 3
Joined
Sep 9, 2009
Messages
658
Hence I showed you a screenshot of it paused. I had to press F10 a few times to get that screenshot. That 0.01 buff is not as unnoticeable as people think.

And yes, I hate 0.01 buff durations. It's entirely possible to do that without resorting to using a 0.01 buff.

If I misunderstand I apologize but...
Have a glitch where a unit would attack and then gain invisibility and the attack still dealt knockback.

It's OP but doesn't seem like a glitch since the Hero was invisible before he made the attack. He can just be invisible again. It seems more of a problem with the invisibility delay.

And have a glitch where a unit would gain invisibility and then run away from the trees and still have knockback.

Ahh that's what you meant. It can happen with Bash too. The unit attacks then warp him to a place with no trees. The knockback would still happen.

It will happen because we don't do a check to see if the Hero is still within range of the trees the time the damage is dealt. If we do that check, then I believe we can take care of that problem.
 
Level 24
Joined
Aug 1, 2013
Messages
4,657
The first one you didn't understand.

What if you attack someone, then walk toward the trees, and then that attack that was fired when you were away fromthe trees will do a knockback.
I don't mean that you go out of invisibiliy because you attack.

The second one.. you didn't understand either.
It does not happen with Bash.
Because you can remove the bash when you walk away from the trees.
(You remove Invisibility, Health Regeneration and Bash.)
You cannot do the same to critical strike.

Attacks that were started when you have bash will have that effect on them (not counting chance) even if the attack would land when the attacker has lost bash.
The same counts for critical strike. However there is no way, you can detect if the critical strike effect (with 100% and 0 bonus damage) is on an attack because it doesn't give away a buff or something.

So you want to check if the unit has critical strike when he attacks, that means that critical strike has to remain on the unit when he leaves the trees.

There is no way you can make a difference between attacks that were started when the attacker was nearby trees and hit when he is away.
And attacks that were started when that unit just ran away from the trees (starting when the effect is not active).

So you need that 0.01 second buff, or an alternative damage system.
But I won't suggest him to use that, you could ofcourse try to make one as I haven't seen a dynamic one in here yet.
But it requires you to remove the standard damage system of warcraft 3.
Alternative Damage Systems are almost only used in complete self made maps.
 
Level 3
Joined
Sep 9, 2009
Messages
658
I see your point on the first one. Coincidentally, I was playing with the idea of using a hashtable to do more checks on the conditions. And one of the first things that came to mind was to use either an arrayed boolean or a local one to check for an attack. Something like on damage if boolean is true for unit, then knock back the target. Anyway, by doing it that way, Critical Strike would only be needed at the beginning of the attack.

For the second, Bash procs on attack not on damage. You want the knockback to occur only when the Hero is near trees.

The Hero breaks off invisibility to attack. He manages to fire an arrow. But he was warped to a place without trees. The trigger removes Bash. Now, no knockback should occur. But that's not the case. The target would still get knocked back because the attack before activated bash.

That was what I was trying to say. It doesn't have to be warped btw. The hero being affected with another knockback would be enough.
 
Level 24
Joined
Aug 1, 2013
Messages
4,657
For the second, Bash procs on attack not on damage. You want the knockback to occur only when the Hero is near trees.

The Hero breaks off invisibility to attack. He manages to fire an arrow. But he was warped to a place without trees. The trigger removes Bash. Now, no knockback should occur. But that's not the case. The target would still get knocked back because the attack before activated bash.
Lol... We both want different things.
In my opinion, attacks should have knockback when the attacker has some buff at the moment he started the attack.

There are many people who call the other option a glitch because it is illogical.
Lets take this text as a simple tooltip example:
"One With The Forest

When the hunter comes near trees, he will turn invisible and gain life regeneration.
He also enhances his arrows dealing additional damage and applying knockback."


In this context you see that arrows are made stronger and so apply knockback.
It is illogical (could be magic) that the arrow will apply knockback if the hunter is near trees when it hits but not when the attack was made... The arrow was not enhanced but does apply knockack... That is illogical.

I don't know if there is a name for it but I would call it the "Invoke vs On-Hit glitch"
Either of them is bad... I prefer to use invoke.
 
Status
Not open for further replies.
Top