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

Need help with these spells

Status
Not open for further replies.
Level 19
Joined
Oct 7, 2014
Messages
2,209
I'm working on my wood elf ranger abilities but i couldn't find a way to make it more.

Buckshot - Innate Passive
Enemies below 10% HP take 5% more damage from the Night Elf Ranger.

Smokescreen - Area Target
Covers an area in smoke, which increases the damage taken by all units inside from ranged and magical attacks for a few seconds. If the Wood Elf Ranger stays in the area while in Meld, the ability temporarily goes into a halt.
Range: 600
Cooldown: Above Average-Average
Notes: Scales ranged and magical attack damage amplification. Perhaps use a negative valued Elune's Grace for this. Affects all units (even allied ones).

Bull's-eye - No Target
The next attack of the Wood Elf Ranger will not miss and would deal significantly more damage than usual.
Range: 0
Cooldown: Average
 
Level 24
Joined
Aug 1, 2013
Messages
4,657
I feel like I have seen these before...

Anyway,

Buckshot:
Use a DDS (Damage Detection System)
When a unit takes damage, check if the attacker has the ability Buckshot.
If so, check if the target's health is below 10%.
If both true, set damage = damage X 1.05

Bull's-eye:
This one is extremely complicated but this comes pretty close.
Create a buff when a unit casts Bull's-eye.
Same as above, check when a unit takes damage, and check if the attacker has this buff.
If so, increase the damage.
The miss cannot be removed simply.
At least, the miss that happens by WC3 mechanics.

Smokescreen:
Create a dummy unit at the target location. (the smoke)
Make it have an aura that affects enemy units. (the buff)
When a unit takes damage, increase the damage if the target has that buff.
"If the Wood Elf Ranger stays in the area while in Meld, the ability temporarily goes into a halt." Dunno what you want but it is impossible to check if a unit is in meld form... unless you triggered that one yourself.
 
Level 6
Joined
May 20, 2014
Messages
228
> The miss cannot be removed simply. At least, the miss that happens by WC3 mechanics.

There is an item in DotA that causes your attacks to never miss, regardless of any cliff level or evasion chance. But it doesn't stack with some attack modifiers (hence it can be toggled off), so I think it may be an orb attack that never misses. I'm not sure which, though, but it's possible.

Time to do some searching.

Edit: Seems like Bash is the only thing that never miss, here's the thread: http://www.hiveworkshop.com/forums/world-editor-help-zone-98/attack-never-miss-225312/

Add a 100% bash with a very low stun (0.01) for one hit.
 
Level 19
Joined
Oct 7, 2014
Messages
2,209
I tried implementing the Physical Damage Detection System and I don't know what's next.
The variables in the conditions are missing.
  • OnDamage
    • Events
      • Game - PDD_damageEventTrigger becomes Equal to 1.00
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • PDD_damageType Equal to PDD_PHYSICAL
        • Then - Actions
          • -------- Actions for PHYSICAL damage --------
          • -------- Block all physical damage from the Archmage --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • PDD_source Equal to gg_unit_Hamg_0001
            • Then - Actions
              • Set PDD_amount = 0.00
            • Else - Actions
          • -------- Let the Blademaster heal 50 hitpoints on every attack --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • PDD_source Equal to gg_unit_Obla_0000
            • Then - Actions
              • Set PDD_amount = -50.00
            • Else - Actions
          • Game - Display to (All players) for 10.00 seconds the text: ((Name of PDD_source) + ( damages + ((Name of PDD_target) + ( with damage: + (|cffff0000 + (String(PDD_amount)))))))
          • -------- End of Actions for PHYISCAL damage --------
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • PDD_damageType Equal to PDD_SPELL
            • Then - Actions
              • -------- Actions for SPELL damage --------
              • -------- Double all spell damage from the Mountain King --------
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • PDD_source Equal to gg_unit_Hmkg_0002
                • Then - Actions
                  • Set PDD_amount = (2.00 x PDD_amount)
                • Else - Actions
              • Game - Display to (All players) for 10.00 seconds the text: ((Name of PDD_source) + ( damages + ((Name of PDD_target) + ( with damage: + (|cff6495ed + (String(PDD_amount)))))))
              • -------- End of Actions for SPELL damage --------
            • Else - Actions
              • -------- Actions for CODE damage --------
              • Game - Display to (All players) for 10.00 seconds the text: ((Name of PDD_source) + ( damages + ((Name of PDD_target) + ( with damage: + (|cff32cd32 + (String(PDD_amount)))))))
              • -------- End of Actions for CODE damage --------
      • -------- Reflect 50 damage from the Kodo back on the damage source --------
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • PDD_target Equal to gg_unit_okod_0006
        • Then - Actions
          • Custom script: call UnitDamageTargetEx(udg_PDD_target, udg_PDD_source, 50.0, true, false, ATTACK_TYPE_CHAOS, DAMAGE_TYPE_UNIVERSAL, null)
        • Else - Actions
 
Level 24
Joined
Aug 1, 2013
Messages
4,657
Make a new trigger.
Make it have the same event except that you use 0 instead of 1 (using 1 is a very big mistake)
Create a condition "PDD_Damage_Type is equal to PDD_PHYSICAL".
Create another condition "PDD_Source has buff "buckshot" equal to true".
And another one "Percentage HP of PDD_Target is lower than or equal to 10".
Make an action "Set PDD_Amount = PDD_Amount X 1.05".

Use "Set PDD_Amount = PDD_Amount X 5.00" to test if it increases the damage at the right moments.

When that one works, smokescreen wouldnt be that hard any more.
 
Level 19
Joined
Oct 7, 2014
Messages
2,209
I tried to make it show if it really works with a floating text but none is shown.
  • Buckshot
    • Events
      • Game - PDD_damageEventTrigger becomes Equal to 0.00
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • PDD_damageType Equal to PDD_PHYSICAL
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_source has buff Buckshot ) Equal to True
            • Then - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (Percentage life of PDD_target) Less than or equal to 10.00
                • Then - Actions
                  • Set PDD_amount = (PDD_amount x 1.05)
                  • Floating Text - Create floating text that reads (String(PDD_amount)) above PDD_source with Z offset 0.00, using font size 10.00, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
                  • Floating Text - Change (Last created floating text): Disable permanence
                  • Floating Text - Change the lifespan of (Last created floating text) to 1.00 seconds
                  • Floating Text - Set the velocity of (Last created floating text) to 30.00 towards 90.00 degrees
                  • Floating Text - Change the fading age of (Last created floating text) to 0.50 seconds
                • Else - Actions
            • Else - Actions
        • Else - Actions
 
Status
Not open for further replies.
Top