Split Damage

feelthless

New Member
Reaction score
1
Hy guys

I wanna make Spectre's Dispresion - When you are attacked you split percent of damage taken onto foes within 600 AoE

Sooo What is wrong

level one
Events
Unit - A unit Is attacked
Conditions
((Attacked unit) has buff Diseased Body Lvl1 ) Equal to True
Actions
Set enemies_group = (Units within 600.00 of (Position of (Attacked unit)) matching (((Matching unit) belongs to an enemy of (Owner of (Attacked unit))) Equal to True))
Unit Group - Pick every unit in enemies_group and do (Actions)
Loop - Actions
Unit - Cause (Attacked unit) to damage (Picked unit), dealing (0.06 x (Damage taken)) damage of attack type Spells and damage type Normal
 

ZiggyMcjoney

Data editor?! AAAHHHHH!
Reaction score
95
Hy guys

I wanna make Spectre's Dispresion - When you are attacked you split percent of damage taken onto foes within 600 AoE

Sooo What is wrong

level one
Events
Unit - A unit Is attacked
Conditions
((Attacked unit) has buff Diseased Body Lvl1 ) Equal to True
Actions
Set enemies_group = (Units within 600.00 of (Position of (Attacked unit)) matching (((Matching unit) belongs to an enemy of (Owner of (Attacked unit))) Equal to True))
Unit Group - Pick every unit in enemies_group and do (Actions)
Loop - Actions
Unit - Cause (Attacked unit) to damage (Picked unit), dealing (0.06 x (Damage taken)) damage of attack type Spells and damage type Normal

1. That trigger is easily exploitable because of "Unit is attacked". Since it fires off before the unit actually finishes the attack, you can order him to attack the target, stop and then attack the target again and you will be able to spam this spell.
2.
Code:
(((Matching unit) belongs to an enemy of (Owner of (Attacked unit))) Equal to True))
Change "attacked unit" to "attacking unit" unless I don't understand you correctly. Otherwise, won't it damage allies instead?
3.
Code:
Unit - Cause (Attacked unit) to damage (Picked unit), dealing (0.06 x (Damage taken)) damage of attack type Spells and damage type Normal
There is no Damage Taken. You need to use the "Damage Taken" event (Specific Unit event) to use this event response.
You need to add the event to the trigger through another trigger. eg:
Code:
Events
 Unit enters playable map area

Actions
 Add to Split Damage <gen> the event Unit - (Entering unit) takes damage
 

Sooda

Diversity enchants
Reaction score
318
All your made variables from Variable editor in custom script have to have 'udg_' suffix.
Variables used:
'abilDis_point' is point variable and starts with default value.
'abilDis_group' is unit group variable and starts with default value.
'abilDis_player' is player variable and starts with default value.

Use another trigger to add units with your Dispresion ability to actual trigger:
Code:
Disperson Init
    Events
        Map initialization
    Conditions
    Actions
        Unit - Create 1 Footman for Player 1 (Red) at (Center of (Playable map area)) facing Default building facing degrees
        Trigger - Add to Ability Dispresion <gen> the event (Unit - (Last created unit) Takes damage)
And trigger what does damage back:
Code:
Ability Dispresion
    Events
    Conditions
    Actions
        Set abilDis_point = (Position of (Triggering unit))
        Set abilDis_player = (Owner of (Triggering unit))
        Custom script:       set bj_wantDestroyGroup = true
        Unit Group - Pick every unit in (Units within 600.00 of abilDis_point matching (((Matching unit) belongs to an enemy of abilDis_player) Equal to True)) and do (Actions)
            Loop - Actions
                Unit - Cause (Triggering unit) to damage (Picked unit), dealing (0.06 x (Damage taken)) damage of attack type Spells and damage type Normal
        Custom script:       call RemoveLocation(udg_abilDis_point)
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Staff online

      Members online

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top