Skill help!! (again xD)

micolord

You can change this now in User CP.
Reaction score
0
So I finally made this bloody skill working! But there's a creepy bug in it, please help me:

Trigger:
  • Heroic Sacrifice
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Heroic Sacrifice
    • Actions
      • Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
        • Loop - Actions
          • Trigger - Add to Heroic Sacrifice support 002 <gen> the event (Unit - (Picked unit) Takes damage)
          • Set micocaster = (Casting unit)


Trigger:
  • Heroic Sacrifice support 002
    • Events
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • ((Triggering unit) has buff Heroic Sacrifice ) Equal to True
          • (micocaster is alive) Equal to True
        • Then - Actions
          • Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) + (Damage taken))
          • Unit - Cause (Damage source) to damage micocaster, dealing (Damage taken) damage of attack type Spells and damage type Normal
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (micocaster is alive) Equal to False
            • Then - Actions
              • Unit - Remove Heroic Sacrifice buff from (Triggering unit)
            • Else - Actions
              • Do nothing


I modified the Battle Cry skill into Heroic Sacrifice which upon activation hero near 300 range in caster will receive a buff called Heroic Sacrifice (The skill name and the buff name is the same), now the trigger do is: A unit that receives a damage will not be damaged if he/she has the buff effect but instead the caster will take his/her damage. My problem is: Somehow the trigger keeps restoring the damage taken from the hero that is in effect of the buff so what happens is instead of only restoring the heroes damage health it doubles the restoration because it keeps on storing the damage value which also means that the caster will take a double amount of damage, so what I need to know is how on earth do I reset/stop the trigger from keep on storing the bloody values.

Advance thanks :)

UPDATE: Just figured out that Damage taken is recorded by W3WE system that's why it does not stores the health of the hero based from the damage it received when the day my trigger functioned instead it stores the heroes health based on the damage it received from the whole game play, which means every attack he/she gained with or with out my trigger it is saved. Is there any way to only record the damage the hero gains after receiving the buffs of the skill and is able to reset it????
 

micolord

You can change this now in User CP.
Reaction score
0
I'm off to bed now as it is very late ;D See you soon! Please still help :)
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
you will need a DDS (damage detection system) do you already have one implemented?
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
damage detection system, i suggest weeps, essentially it tells you when a unit takes damage, and how much damage they take...

i suggest you read how to implement weeps.
 

micolord

You can change this now in User CP.
Reaction score
0
damage detection system, i suggest weeps, essentially it tells you when a unit takes damage, and how much damage they take...

i suggest you read how to implement weeps.

That is some.... I'm too newbie for that xD
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
to copy and paste?

you dont need to understand it all that much or even how it does what it does, all you need to understand is how to copy and paste and then how to use the variables correctly
 

micolord

You can change this now in User CP.
Reaction score
0
to copy and paste?

you dont need to understand it all that much or even how it does what it does, all you need to understand is how to copy and paste and then how to use the variables correctly

I don't even know where to paste that.......... Is there any tutorial here on how to post a code that is like that?
 

Dirac

22710180
Reaction score
147
You download the map and copy the trigger.
DDS is as new user-friendly as it gets
 

vypur85

Hibernate
Reaction score
803
Code:
Heroic Sacrifice
    Events
        Unit - A unit Starts the effect of an ability
    Conditions
        (Ability being cast) Equal to Heroic Sacrifice 
    Actions
        [B]Set micocaster = (Triggering unit)[/B]
        Unit Group - Pick every unit in (Units in (Playable map area)) and do (Actions)
            Loop - Actions
                If then else
                   If - Conditions
                        [B](Picked unit) is in UnitGroupVariable Equal to False[/B]
                   Then - Actions
                        [B]Unit group - Add (Picked unit) to UnitGroupVariable [/B]
                        Trigger - Add to Heroic Sacrifice support 002 <gen> the event (Unit - (Picked unit) Takes damage)
                   Else - Actions

Code:
Heroic Sacrifice support 002
    Events
    Conditions
        [B]((Triggering unit) has buff Heroic Sacrifice ) Equal to True
        (micocaster is alive) Equal to True
        (Damage source) Not Equal to microcaster
        (Damage source) Not Equal to (Triggering unit)[/B]
    Actions
        Unit - Set life of (Triggering unit) to ((Life of (Triggering unit)) + (Damage taken))
        Unit - Cause (Damage source) to damage micocaster, dealing (Damage taken) damage of attack type Spells and damage type Normal

Try the above triggers to see if it works. The problem is because the picked units are added to the damage taken event multiple times after multiple casts (your trigger should work well at first cast though). Causing the stack in heal and damage.
 

GFreak45

I didnt slap you, i high 5'd your face.
Reaction score
130
you could also save another piece of data in a hashtable, a boolean saying true using (key picked unit) of (whatever number u want) in (whatever hashtable you want) to say whether or not the unit can add the event or if the unit is already added
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top