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

Fire Arrows Hero ability

Status
Not open for further replies.
Level 9
Joined
Jun 10, 2013
Messages
473
Hey I need help with making an ability it acts like the searing arrows ability for the Priestess of the moon except


Fire Arrows:

Level 1: Deal +10 damage to the attacks of this unit and deal 2 times the arrows damage to enemy structures ( 10 x 2 = 20 damage to stuctures)

level 2: +20 damage and 3 times the arrows damage to structures

Level 3: +30 damage and 4 times the arrows damage to structures

Get it? :D

any help with how the triggering of this ability would work, would be excellent I also need it to be auto cast and increase on mana cost by 10 for each level.
 
Level 26
Joined
Aug 18, 2009
Messages
4,097
Remodelling the basic attacks is not that fancy but you can pick an arrow ability with a buff like 'Frost Arrows', adjust the targets so it affects structures as well. Remove the ability damage and make a trigger with the "Unit takes damage" event, ask for the existence of the buff on the target unit, remove the buff immediately afterwards and then deal the damage etc. as you like.
 
Level 11
Joined
Jan 23, 2015
Messages
788
  • FireArrowSetup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set FireArrowDamage[1] = 10.00
      • Set FireArrowDamage[2] = 20.00
      • Set FireArrowDamage[3] = 30.00
      • Set FireArrowDamage[1] = 2.00
      • Set FireArrowDamage[2] = 3.00
      • Set FireArrowDamage[3] = 4.00
  • FireArrow
    • Events
      • Game - PDD_damageEventTrigger becomes Equal to 1.00
    • Conditions
    • Actions
      • Set FireArrowLevel = (Level of Fire Arrow for PDD_source)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (PDD_target is A structure) Equal to False
        • Then - Actions
          • Set PDD_amount = (PDD_amount + FireArrowDamage[FireArrowLevel])
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target is A structure) Equal to True
            • Then - Actions
              • Set PDD_amount = (PDD_amount + (FireArrowDamage[FireArrowLevel] x FireArrowMultiplyAmount[FireArrowLevel]))
            • Else - Actions
You will need these two triggers, not tested it, so, report if you find any bugs, first make sure you have a Damage Detection implemented in your map.
 
Level 9
Joined
Jun 10, 2013
Messages
473
  • FireArrowSetup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set FireArrowDamage[1] = 10.00
      • Set FireArrowDamage[2] = 20.00
      • Set FireArrowDamage[3] = 30.00
      • Set FireArrowDamage[1] = 2.00
      • Set FireArrowDamage[2] = 3.00
      • Set FireArrowDamage[3] = 4.00
  • FireArrow
    • Events
      • Game - PDD_damageEventTrigger becomes Equal to 1.00
    • Conditions
    • Actions
      • Set FireArrowLevel = (Level of Fire Arrow for PDD_source)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (PDD_target is A structure) Equal to False
        • Then - Actions
          • Set PDD_amount = (PDD_amount + FireArrowDamage[FireArrowLevel])
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target is A structure) Equal to True
            • Then - Actions
              • Set PDD_amount = (PDD_amount + (FireArrowDamage[FireArrowLevel] x FireArrowMultiplyAmount[FireArrowLevel]))
            • Else - Actions
You will need these two triggers, not tested it, so, report if you find any bugs, first make sure you have a Damage Detection implemented in your map.

Will test it out, thakn you! but what do you mean by "make sure you have a Damage Detection implemented in your map"
 
Level 11
Joined
Jan 23, 2015
Messages
788
Will test it out, thakn you! but what do you mean by "make sure you have a Damage Detection implemented in your map"

It's a system that detects damage, cause world editor itself doesn't have an event that detects when a unit is damaged/has attacked another unit, unless the targeted unit is a specific one, for a case like that - use "Damage Taken" event..

I use PDD, it is very easy to implement, just follow the instructions. Once you implement it, just copy my triggers in your map.
 
Level 9
Joined
Jun 10, 2013
Messages
473
It's a system that detects damage, cause world editor itself doesn't have an event that detects when a unit is damaged/has attacked another unit, unless the targeted unit is a specific one, for a case like that - use "Damage Taken" event..

I use PDD, it is very easy to implement, just follow the instructions. Once you implement it, just copy my triggers in your map.

Going to install it but whats the point of this part in implementing the system

Copy the two custom abilities to your map and make sure they have the correct ID. You can specify the ID in the function InitGlobalVariables below.
• Go to the locust swarm ability and invert its damage return portion from (default) 0.75 to -0.75.
• Remove the spell damage reduction ability from the spell damage reduction items you use (runed bracers). You can configure the resistance of this item in the InitGlobalVariables function, modifying the global variable udg_PDD_BRACERS_SPELL_DMG_RED.
 
Level 9
Joined
Jun 10, 2013
Messages
473
Okay here's what I have

  • SunBlessedArrowsSetup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set SunBlessedArrowDamage[1] = 10.00
      • Set SunBlessedArrowDamage[2] = 20.00
      • Set SunBlessedArrowDamage[3] = 30.00
      • Set SunBlessedArrowDamage[1] = 2.00
      • Set SunBlessedArrowDamage[2] = 3.00
      • Set SunBlessedArrowDamage[3] = 4.00
and

  • SunBlessedArrow
    • Events
      • Game - PDD_damageEventTrigger becomes Equal to 1.00
    • Conditions
    • Actions
      • Set SunBlessedArrowLevel = (Level of Sun Blessed Arrows Ranger General for PDD_source)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (PDD_target is A structure) Equal to False
        • Then - Actions
          • Set PDD_amount = (PDD_amount + (PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel]))
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target is A structure) Equal to True
            • Then - Actions
              • Set PDD_amount = (PDD_amount + (SunBlessedArrowDamage[SunBlessedArrowLevel] x SunBlessedArrowMultiplyAmount[SunBlessedArrowLevel]))
            • Else - Actions
But how will it know to be activated with this custom ability http://www.hiveworkshop.com/forums/members/229903-albums8377-picture100873.html

because that trigger how it is. isn't doing anything....
 
Last edited by a moderator:
Level 24
Joined
Aug 1, 2013
Messages
4,657
First of all that second trigger should have a condition which checks if the source has the ability or not and needs a condition to check if the damage was physical.

And just check if the target is a structure.
If not, then there is no need to check if it is not because you already know it is not.

About what that trigger does... it doubles all damage done to non-structures... no matter who attacked.
Because it adds the amount to the amount (meaning 2 X amount) and adds the damage from the variables to it.
However the damage from the variables is 2, 3, 4 and the multiplies from the variables are 0, 0, 0.

Get the first trigger right, get the second trigger right, place some "Game - Display <text>" actions in it to find out who the target and source are and if the damage is modified, then post all responses from the game and show new triggers.
(You copied the triggers correctly but they were made wrong. Not your fault saruman.)
 
Level 11
Joined
Jan 23, 2015
Messages
788
First of all that second trigger should have a condition which checks if the source has the ability or not and needs a condition to check if the damage was physical.

And just check if the target is a structure.
If not, then there is no need to check if it is not because you already know it is not.

About what that trigger does... it doubles all damage done to non-structures... no matter who attacked.
Because it adds the amount to the amount (meaning 2 X amount) and adds the damage from the variables to it.
However the damage from the variables is 2, 3, 4 and the multiplies from the variables are 0, 0, 0.

Get the first trigger right, get the second trigger right, place some "Game - Display <text>" actions in it to find out who the target and source are and if the damage is modified, then post all responses from the game and show new triggers.
(You copied the triggers correctly but they were made wrong. Not your fault saruman.)

Yep, need more triggers for this, a trigger that will add the unit to a unit group once it activates the ability and remove it once it deactivates it, so you will check in trigger 2 and give the bonus damage depending on the ability level..

Make your triggers just like these:

  • FireArrowSetup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set FireArrowDamage[1] = 10.00
      • Set FireArrowDamage[2] = 20.00
      • Set FireArrowDamage[3] = 30.00
      • Set FireArrowMultiplyAmount[1] = 2.00
      • Set FireArrowMultiplyAmount[2] = 3.00
      • Set FireArrowMultiplyAmount[3] = 4.00
  • FireArrow ON OFF
    • Events
      • Unit - A unit Is issued an order with no target
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Issued order) Equal to (Order(flamingarrows))
        • Then - Actions
          • Unit Group - Add (Ordered unit) to FireArrowON
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Issued order) Equal to (Order(unflamingarrows))
            • Then - Actions
              • Unit Group - Remove (Ordered unit) from FireArrowON
            • Else - Actions
  • FireArrow
    • Events
      • Game - PDD_damageEventTrigger becomes Equal to 1.00
    • Conditions
      • (PDD_source is in FireArrowON) Equal to True
    • Actions
      • Set FireArrowLevel = (Level of FireArrow for PDD_source)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (PDD_target is A structure) Equal to False
        • Then - Actions
          • Set PDD_amount = (PDD_amount + FireArrowDamage[FireArrowLevel])
        • Else - Actions
          • Set PDD_amount = (PDD_amount + (FireArrowDamage[FireArrowLevel] x FireArrowMultiplyAmount[FireArrowLevel]))

Sorry it's my mistake, I made these two triggers in a quick way, thanks for the heads up Wietlol.
 
Level 9
Joined
Jun 10, 2013
Messages
473
okay here are my triggers but i'm afraid this still does not work :/

  • SunBlessedArrowsSetup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set SunBlessedArrowDamage[1] = 10.00
      • Set SunBlessedArrowDamage[2] = 20.00
      • Set SunBlessedArrowDamage[3] = 30.00
      • Set SunBlessedArrowDamage[1] = 2.00
      • Set SunBlessedArrowDamage[2] = 3.00
      • Set SunBlessedArrowDamage[3] = 4.00
  • SunBlessedArrowOn Off
    • Events
      • Unit - A unit Is issued an order with no target
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Issued order) Equal to (Order(sunblessedarrows))
        • Then - Actions
          • Unit Group - Add (Ordered unit) to SunBlessedArrowOn
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Issued order) Equal to (Order(unsunblessedarrows))
            • Then - Actions
              • Unit Group - Remove (Ordered unit) from SunBlessedArrowOn
            • Else - Actions
  • SunBlessedArrow
    • Events
      • Game - PDD_damageEventTrigger becomes Equal to 1.00
    • Conditions
      • (PDD_source is in SunBlessedArrowOn) Equal to True
    • Actions
      • Set SunBlessedArrowLevel = (Level of Sun Blessed Arrows Ranger General for PDD_source)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (PDD_target is A structure) Equal to False
        • Then - Actions
          • Set PDD_amount = (PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel])
        • Else - Actions
          • Set PDD_amount = ((PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel]) x SunBlessedArrowMultiplyAmount[SunBlessedArrowLevel])
 
Level 11
Joined
Jan 23, 2015
Messages
788
Set SunBlessedArrowDamage[1] = 10.00
Set SunBlessedArrowDamage[2] = 20.00
Set SunBlessedArrowDamage[3] = 30.00
Set SunBlessedArrowDamage[1] = 2.00
Set SunBlessedArrowDamage[2] = 3.00
Set SunBlessedArrowDamage[3] = 4.00

You need two variables, check my first trigger the second time i posted you triggers
 
Level 9
Joined
Jun 10, 2013
Messages
473
Set SunBlessedArrowDamage[1] = 10.00
Set SunBlessedArrowDamage[2] = 20.00
Set SunBlessedArrowDamage[3] = 30.00
Set SunBlessedArrowDamage[1] = 2.00
Set SunBlessedArrowDamage[2] = 3.00
Set SunBlessedArrowDamage[3] = 4.00

You need two variables, check my first trigger the second time i posted you triggers

Ah stupid me the second set of 1,2,3 should use this variable Set FireArrowMultiplyAmount

edit: Still no affect :/ sadly
 
Last edited:
Level 11
Joined
Jan 23, 2015
Messages
788
Change your third trigger to this:

  • FireArrow
    • 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_source is in FireArrowON) Equal to True
          • (Unit-type of PDD_source) Equal to <YourHero>
        • Then - Actions
          • Set FireArrowLevel = (Level of FireArrow for PDD_source)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target is A structure) Equal to False
            • Then - Actions
              • Set PDD_amount = (PDD_amount + FireArrowDamage[FireArrowLevel])
            • Else - Actions
              • Set PDD_amount = (PDD_amount + (FireArrowDamage[FireArrowLevel] x FireArrowMultiplyAmount[FireArrowLevel]))
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_source is in FireArrowON) Equal to False
              • (Unit-type of PDD_source) Equal to <YourHero>
              • PDD_damageType Equal to PDD_SPELL
            • Then - Actions
              • Set FireArrowLevel = (Level of FireArrow for PDD_source)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (PDD_target is A structure) Equal to False
                • Then - Actions
                  • Set PDD_amount = (PDD_amount + FireArrowDamage[FireArrowLevel])
                • Else - Actions
                  • Set PDD_amount = (PDD_amount + (FireArrowDamage[FireArrowLevel] x FireArrowMultiplyAmount[FireArrowLevel]))
            • Else - Actions
 
Level 9
Joined
Jun 10, 2013
Messages
473
Not sure what i'mm doing wrong because theirs still no affect :/ Maybe I should send you the map?

EDIT:

btw theses are my variables and their types

SunBlessedArrow -----------> Ability

SunBlessedArrowMultiplyAmount ----------> Real Array (1)

SunBlessedArrowOn -----------> Unit Group

SunBlessedArrowLevel -----------> Integer

SunBlessedArrowDamage ----------> Real Array (1)

EDIT2:

The current look of the three triggers

  • SunBlessedArrowsSetup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set SunBlessedArrowDamage[1] = 10.00
      • Set SunBlessedArrowDamage[2] = 20.00
      • Set SunBlessedArrowDamage[3] = 30.00
      • Set SunBlessedArrowMultiplyAmount[1] = 2.00
      • Set SunBlessedArrowMultiplyAmount[2] = 3.00
      • Set SunBlessedArrowMultiplyAmount[3] = 4.00

  • SunBlessedArrowOn Off
    • Events
      • Unit - A unit Is issued an order with no target
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Issued order) Equal to (Order(sunblessedarrows))
        • Then - Actions
          • Unit Group - Add (Ordered unit) to SunBlessedArrowOn
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Issued order) Equal to (Order(unsunblessedarrows))
            • Then - Actions
              • Unit Group - Remove (Ordered unit) from SunBlessedArrowOn
            • Else - Actions
  • SunBlessedArrow
    • 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_source is in SunBlessedArrowOn) Equal to True
          • (Unit-type of PDD_source) Equal to Ranger General
        • Then - Actions
          • Set SunBlessedArrowLevel = (Level of SunBlessedArrow for PDD_source)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target is A structure) Equal to False
            • Then - Actions
              • Set PDD_amount = (PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel])
            • Else - Actions
              • Set PDD_amount = ((PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel]) x SunBlessedArrowMultiplyAmount[SunBlessedArrowLevel])
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_source is in SunBlessedArrowOn) Equal to False
              • (Unit-type of PDD_source) Equal to Ranger General
              • PDD_damageType Equal to PDD_SPELL
            • Then - Actions
              • Set SunBlessedArrowLevel = (Level of SunBlessedArrow for PDD_source)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (PDD_target is A structure) Equal to False
                • Then - Actions
                  • Set PDD_amount = (PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel])
                • Else - Actions
                  • Set PDD_amount = ((PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel]) x SunBlessedArrowMultiplyAmount[SunBlessedArrowLevel])
            • Else - Actions
 
Level 9
Joined
Jun 10, 2013
Messages
473
You still need the multiply amount in the first trigger.
Next to that, it looks fine.

But it is there :/

  • SunBlessedArrowsSetup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set SunBlessedArrowDamage[1] = 10.00
      • Set SunBlessedArrowDamage[2] = 20.00
      • Set SunBlessedArrowDamage[3] = 30.00
      • Set SunBlessedArrowMultiplyAmount[1] = 2.00
      • Set SunBlessedArrowMultiplyAmount[2] = 3.00
      • Set SunBlessedArrowMultiplyAmount[3] = 4.00
 
Last edited:
Level 11
Joined
Jan 23, 2015
Messages
788
You need 3 arrays for the variables, not 1, cause you're using 3, fix that and test again, also, put these debug messages and tell me how many of them you got when you used the spell..


  • SunBlessedArrow
    • Events
      • Game - PDD_damageEventTrigger becomes Equal to 1.00
    • Conditions
    • Actions
      • Game - Display to (All Players) the text: (trigger works)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (PDD_source is in SunBlessedArrowOn) Equal to True
          • (Unit-type of PDD_source) Equal to Ranger General
        • Then - Actions
          • Set SunBlessedArrowLevel = (Level of SunBlessedArrow for PDD_source)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target is A structure) Equal to False
            • Then - Actions
              • Game - Display to (All Players) the text: (target is not a structure)
              • Game - Display to (All Players) the text: (String(SunBlessedArrowLevel))
              • Set PDD_amount = (PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel])
            • Else - Actions
              • Game - Display to (All Players) the text: (target is a structure)
              • Game - Display to (All Players) the text: (String(SunBlessedArrowLevel))
              • Set PDD_amount = ((PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel]) x SunBlessedArrowMultiplyAmount[SunBlessedArrowLevel])
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_source is in SunBlessedArrowOn) Equal to False
              • (Unit-type of PDD_source) Equal to Ranger General
              • PDD_damageType Equal to PDD_SPELL
            • Then - Actions
              • Set SunBlessedArrowLevel = (Level of SunBlessedArrow for PDD_source)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (PDD_target is A structure) Equal to False
                • Then - Actions
                  • Game - Display to (All Players) the text: (target is not a structure)
                  • Game - Display to (All Players) the text: (String(SunBlessedArrowLevel))
                  • Set PDD_amount = (PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel])
                • Else - Actions
                  • Game - Display to (All Players) the text: (target is a structure)
                  • Game - Display to (All Players) the text: (String(SunBlessedArrowLevel))
                  • Set PDD_amount = ((PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel]) x SunBlessedArrowMultiplyAmount[SunBlessedArrowLevel])
            • Else - Actions
 
Level 11
Joined
Jan 23, 2015
Messages
788
Ah, you've made the arithmetic action in a wrong way. In this case, if the damage is 30, the hero will deal 30 + 10 = 40 damage, and then that will be multiplied by 2, which will make the hero deal 80 damage instead of 50, do the following:

Open the Integer window in the PDD_amount variable, choose arithmetic and put PDD_amount in the 'Value' field, leave the '+' as it is, in the other field, make another arithmetic, and then add SunBlessedArrowDamage x SunBlessedArrowMultiplyAmount

It should look like this:
  • (PDD_amount + (SunBlessedArrowDamage[SunBlessedArrowLevel] x SunBlessedArrowMultiplyAmount[SunBlessedArrowLevel]))
Do this for the other action same as this one.
 
Level 9
Joined
Jun 10, 2013
Messages
473
I'm sorry but i'm so confused XD

this is how the trigger looks now but it still only deals 40 damage to structure when it should deal 80

/////sorry for my inexperience

  • SunBlessedArrow
    • Events
      • Game - PDD_damageEventTrigger becomes Equal to 1.00
    • Conditions
    • Actions
      • Game - Display to (All players) the text: trigger works
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (PDD_source is in SunBlessedArrowOn) Equal to True
          • (Unit-type of PDD_source) Equal to Ranger General
        • Then - Actions
          • Set SunBlessedArrowLevel = (Level of SunBlessedArrow for PDD_source)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target is A structure) Equal to False
            • Then - Actions
              • Game - Display to (All players) the text: (target is not a st...
              • Game - Display to (All players) the text: (String(SunBlessedA...
              • Set PDD_amount = (PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel])
            • Else - Actions
              • Set PDD_amount = (PDD_amount + (SunBlessedArrowDamage[SunBlessedArrowLevel] x SunBlessedArrowMultiplyAmount[SunBlessedArrowLevel]))
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_source is in SunBlessedArrowOn) Equal to False
              • (Unit-type of PDD_source) Equal to Ranger General
              • PDD_damageType Equal to PDD_SPELL
            • Then - Actions
              • Set SunBlessedArrowLevel = (Level of SunBlessedArrow for PDD_source)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (PDD_target is A structure) Equal to False
                • Then - Actions
                  • Game - Display to (All players) the text: (target is not a st...
                  • Game - Display to (All players) the text: (String(SunBlessedA...
                  • Set PDD_amount = (PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel])
                • Else - Actions
                  • Game - Display to (All players) the text: (target is a struct...
                  • Game - Display to (All players) the text: (String(SunBlessedA...
                  • Set PDD_amount = (PDD_amount + (SunBlessedArrowDamage[SunBlessedArrowLevel] x SunBlessedArrowMultiplyAmount[SunBlessedArrowLevel]))
            • Else - Actions
 
Level 9
Joined
Jun 10, 2013
Messages
473
oh now that I look at my original post I worded this in correctly I want it so that lets say the unit deals 20 then add the sun arrow damage bonus 10/20/30 which would then equal 30/40/50 and times that by 2/3/4 making her damage to buildings while the ability is in use 60/80/100

///hope this is clearer and sorry for my bad wording
 
Level 11
Joined
Jan 23, 2015
Messages
788
Not sure what i'mm doing wrong because theirs still no affect :/ Maybe I should send you the map?

EDIT:

btw theses are my variables and their types

SunBlessedArrow -----------> Ability

SunBlessedArrowMultiplyAmount ----------> Real Array (1)

SunBlessedArrowOn -----------> Unit Group

SunBlessedArrowLevel -----------> Integer

SunBlessedArrowDamage ----------> Real Array (1)

EDIT2:

The current look of the three triggers

  • SunBlessedArrowsSetup
    • Events
      • Map initialization
    • Conditions
    • Actions
      • Set SunBlessedArrowDamage[1] = 10.00
      • Set SunBlessedArrowDamage[2] = 20.00
      • Set SunBlessedArrowDamage[3] = 30.00
      • Set SunBlessedArrowMultiplyAmount[1] = 2.00
      • Set SunBlessedArrowMultiplyAmount[2] = 3.00
      • Set SunBlessedArrowMultiplyAmount[3] = 4.00

  • SunBlessedArrowOn Off
    • Events
      • Unit - A unit Is issued an order with no target
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • (Issued order) Equal to (Order(sunblessedarrows))
        • Then - Actions
          • Unit Group - Add (Ordered unit) to SunBlessedArrowOn
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Issued order) Equal to (Order(unsunblessedarrows))
            • Then - Actions
              • Unit Group - Remove (Ordered unit) from SunBlessedArrowOn
            • Else - Actions
  • SunBlessedArrow
    • 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_source is in SunBlessedArrowOn) Equal to True
          • (Unit-type of PDD_source) Equal to Ranger General
        • Then - Actions
          • Set SunBlessedArrowLevel = (Level of SunBlessedArrow for PDD_source)
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_target is A structure) Equal to False
            • Then - Actions
              • Set PDD_amount = (PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel])
            • Else - Actions
              • Set PDD_amount = ((PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel]) x SunBlessedArrowMultiplyAmount[SunBlessedArrowLevel])
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (PDD_source is in SunBlessedArrowOn) Equal to False
              • (Unit-type of PDD_source) Equal to Ranger General
              • PDD_damageType Equal to PDD_SPELL
            • Then - Actions
              • Set SunBlessedArrowLevel = (Level of SunBlessedArrow for PDD_source)
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • (PDD_target is A structure) Equal to False
                • Then - Actions
                  • Set PDD_amount = (PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel])
                • Else - Actions
                  • Set PDD_amount = ((PDD_amount + SunBlessedArrowDamage[SunBlessedArrowLevel]) x SunBlessedArrowMultiplyAmount[SunBlessedArrowLevel])
            • Else - Actions

Then Trigger 3 in this post should work just like you want it to, tell me more about your problem, how much damage does it deal?
 
Level 11
Joined
Jan 23, 2015
Messages
788
Here it is, I gave the new ability an editor suffix 'Working!!' it's the same ability but just based on another one.. You can remove the other one marked Not Working. Also, the trigger still shows some debug messages displaying the damage dealt, you can delete them in the SunBlessedArrows trigger
 

Attachments

  • Warcraft Enchanted.w3x
    7.3 MB · Views: 19
Last edited:
Status
Not open for further replies.
Top