Reflect (mana flare)

CBBPhoenix

New Member
Reaction score
1
Hi guys

I am making an ability which is based on faerie dragon's mana flare ability. I called it Reflact and it used to work in the usal mana flare way. Problem was that it dealt AoE damage no matter what so I dumped that idea and made it GUI trigger based. This is my trigger and it does not work at all even thoug I think it makes sense T_T anyone pro has some suggestions why it does not damage the caster even if I set the damage to a constant value?

Trigger:
  • Unit - A unit Starts the effect of an ability
    • (Distance between (Position of (Casting unit)) and (Position of (Random unit from (Units in (Playable map area) matching (((Matching unit) has buff Reflect ) Equal to True))))) Less than or equal to 950.00
    • Set casterhero = (Casting unit)
    • Set reflecterhero = (Matching unit)
    • Unit - Cause reflecterhero to damage casterhero, dealing (300.00 - (4.00 x (Real((Intelligence of casterhero (Include bonuses)))))) damage of attack type Spells and damage type Normal
The variables are Unit variables

Thanks in advance
 

azareus

And you know it.
Reaction score
63
Your caster is not a hero?
Your caster is immune to spells?
Matching unit only work inside the -units matching condition?
 

Bird

Ultra Cool Member
Reaction score
29
Can you post your trigger a little cleaner? Show what is an event, a conditional, and actions?

Based on what you posted, it would appear as you are not setting "reflecterhero" to anything, even though you think you are.
 

avalya

New Member
Reaction score
37
Use
AND: Distance Between temp_point (or name it something special for this trigger and make this the point where the ward stands) and Position of Triggering Unit (that is the one casting the spell) is less than or equal to 950.
AND: Triggering Unit has buff (Reflect)

The variable for the hero should already be set (when the hero casts the spell, same trigger as you make a variable for the target point) and then deal the damage (300 + 4x Intelligence (include bonuses) of caster_hero to Triggering Unit of damage type Spells and attack type Magic).
 

jomik

New Member
Reaction score
17
btw, why don't set casterhero before? :O
Trigger:
  • Reflect
    • Events
    • Conditions
    • Actions
      • Set casterHero = (Casting unit)
      • Set tmp_p = (Position of casterHero)
      • Unit Group - Pick every unit in (Units within 950.00 of tmp_p matching (((Matching unit) has buff Reflect) Equal to True)) and do (Actions)
        • Loop - Actions
          • Set reflectorHero = (Picked unit)
      • Custom script: call RemoveLocation(tmp_p)


Try this :D
EDIT: Found an error, missed the condition when picking the unit, should work now :)
 

avalya

New Member
Reaction score
37
By the way, I took it as the Mana Flare ward in DotA, I suppose this is a hero channeling or having this instead? Then you can make everything in the same trigger, you can use everything I posted but everything about the ward should be the hero instead.
 

CBBPhoenix

New Member
Reaction score
1
Problem solved (I guess)

Thanks for your replies guys. :) I am now using this trigger
Trigger:
  • Unit - A unit Starts the effect of an ability
    • Unit Group - Pick every unit in (Units within 950.00 of (Position of (Casting unit)) matching (((Matching unit) has buff Reflect ) Equal to True)) and do (Unit - Cause (Picked unit) to damage (Casting unit), dealing (300.00 - (4.00 x (Real((Intelligence of (Casting unit) (Include bonuses)))))) damage of attack type Spells and damage type Normal)
I assume that when a non-hero unit is damaged by reflect it takes 300 spell damage as it's intelligence value would return 0 in the function? Just a question: do I have have to define variables for the casting unit to ensure that it is a new unit each time someone else casts a spell (for instance right after another enemy has cast one)? I have chekced the trigger and WC3 and it seems as every time a new spellcaster casts a spell, it will take damage so it does not seem necessary to use varibles as far as I can observe.
 

avalya

New Member
Reaction score
37
Actually that trigger would damage ALL units within a 950 area since you're not actually picking the target itself, but all the units in that area.

Use this:
Action: A Unit Starts the Effect of an Ability
Condition: AND: Triggering unit has buff Reflect equal to True [this will work since the target must be within a 950 area to have the buff, if the area of the aura is 950]
AND: Triggering unit belongs to an enemy of Owner of Reflect_Caster [use this as a variable that you set when the hero LEARNS the spell Reflect, so you have this already from another trigger]
Action: Cause Reflect_Caster to damage Triggering unit Dealing 300 + 4 x Intelligence of Triggering unit (Include bonuses) [this will deal the damage and 4 times the intelligence of the TRIGGERING UNIT, use Reflect_Caster here if you want it to be the caster's intelligence as damage]
 

avalya

New Member
Reaction score
37
Why would he pick random units when the unit that is casting the spell is the one who should be damaged?
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top