Good way of making synergy ability?

millz-

New Member
Reaction score
25
As I am still quite new to WE, I don't really know many other more possibilities of playing around with it. I am trying to make a passive ability, much like Diablo II's Sorceress' Lightning Mastery whereby when it's learned or leveled up, passively increases lightning skills'/other skills' damage.

My normal abilities will have 10 levels each. What I have thought of doing was if I learned the mastery level, use trigger to raise other ability level to level + 10*mastery level. But it would get really troublesome to make 110 levels for every spell.

Is there any good way to implement this kind of synergy?
 

Rllulium

New Member
Reaction score
10
There is a ability called Engineering upgrade that can do similar things, by exchanging one ability for another. Basicly you can have one set of abilities per level of mastery ability. That's still alot of abilities/ability levels to do thou; the positive thing being that it requires no trigger.
Another thing is to let all your abilities deal damage through triggers, and add the mastery ability's level to the damage calculation. But I would recommend the first of these two solutions.
 

tooltiperror

Super Moderator
Reaction score
231
Maybe you could trigger the spell with integers. Here goes nothing.

Trigger:
  • Dealing Damage
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to Animate Dead
    • Actions
      • Unit - Set life of (Target unit of ability being cast) to (Damage Dealt)


Trigger:
  • Dealing Damage
    • Events
      • Time - Every 10.00 seconds of game time
    • Conditions
    • Actions
      • Set DamageDealt = (DamageDealt + 10)


It could use balancing based upon your damage system, but basic idea is there.
 

millz-

New Member
Reaction score
25
Thanks for the reply Rllulium but I think the engineering upgrade method would be 10 times more troublesome than my original idea of having 110 ability levels.

I would prefer doing it the damage way. But do you have any idea how to detect that a unit is being damaged by a spell? I've tried Get ability being cast on a Unit is attacked event but that didn't work. Also if I were to use a Unit starts effect of an ability, it's really hard to get units that are damaged or going to be damaged for an AOE spell.

@ToolTipError
Sorry, but I really don't understand what is that for :|
 

tooltiperror

Super Moderator
Reaction score
231
> @ToolTipError
Sorry, but I really don't understand what is that for :|​

Was just a template for you.

What it does, in a nutshell, is deals "DamageDealt" (an integer) to a unit when a spell is cast on them.

Every ten seconds "DamageDealt" increases by ten, meaning more damage passively.
 

Admit

New Member
Reaction score
25
> @ToolTipError
Sorry, but I really don't understand what is that for :|​

Was just a template for you.

What it does, in a nutshell, is deals "DamageDealt" (an integer) to a unit when a spell is cast on them.

Every ten seconds "DamageDealt" increases by ten, meaning more damage passively.

Your spell will never kill the target unit, it will only set it's life to X (Where X is your interger number) So higer spell "number" the more hp target unit get.

Here is a MUI AoE triggered Spell:
Trigger:
  • TriggeredSpell
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to Channel
    • Actions
      • Set Temp_Point = (Target point of ability being cast)
      • Set Temp_UnitGroup = (Units within 512.00 of Temp_Point matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))
      • Unit Group - Pick every unit in Temp_UnitGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause (Triggering unit) to damage (Picked unit), dealing (50.00 + (50.00 x (Real((Level of SkillMastery for (Triggering unit)))))) damage of attack type Spells and damage type Magic
      • Custom script: call RemoveLocation (udg_Temp_Point)
      • Custom script: call DestroyGroup (udg_Temp_UnitGroup)


Edit*
Updated it so it deals damage acording to the "SkillMastery" skill.
SkillMastery should just be a random passive spell that does nothing.
 

tooltiperror

Super Moderator
Reaction score
231
> Your spell will never kill the target unit, it will only set it's life to X (Where X is your interger number) So higer spell "number" the more hp target unit get.​

Wow, Noob Mistake on my part, thanks for catching that.
 

millz-

New Member
Reaction score
25
Thanks for that Admit, but what I really wanted is a percentage damage boost of what the original ability has. Example:

Ability1 deals 200 damage at level 1.
Ability2 deals 300 damage at level 1.
Mastery level 1 increases Ability1 and Ability2 damage by 10% which inturn deals 220 and 330 damage respectively.

I don't want it to be a constant number * Mastery level, is this possible? As in, is it possible to detect how much damage would an ability do? Or do I have to do it the long way? E.g. setting all damage of all ability for all levels into arrays
 

avalya

New Member
Reaction score
37
millz- Engineering Upgrade is the most simple way of doing this, do not bother to trigger it, it will be much, much harder. You will still have to do all the "110 ranks", but it will go faster than triggering... about 25 times faster.
 

Admit

New Member
Reaction score
25
millz- Engineering Upgrade is the most simple way of doing this, do not bother to trigger it, it will be much, much harder. You will still have to do all the "110 ranks", but it will go faster than triggering... about 25 times faster.

I do not agree. This trigger is Alot faster then createting 110 diffrent spells and it takes up less space too.

It now Deal damage according to it's own level + 10% for every level in Spellupgrade2 (Aka; SkillMastery)
Trigger:
  • TriggeredSpell
    • Events
      • Unit - A unit Starts the effect of an ability
    • Conditions
      • (Ability being cast) Equal to AoE Spell
    • Actions
      • Set SpellDmg_R[0] = (25.00 x (Real((Level of (Ability being cast) for (Triggering unit)))))
      • Set SpellDmg_R[1] = ((0.10 x (Real((Level of Spellupdate2 for (Triggering unit))))) x (25.00 x (Real((Level of (Ability being cast) for (Triggering unit))))))
      • Set Temp_Point = (Target point of ability being cast)
      • Set Temp_UnitGroup = (Units within 512.00 of Temp_Point matching (((Matching unit) belongs to an enemy of (Owner of (Triggering unit))) Equal to True))
      • Unit Group - Pick every unit in Temp_UnitGroup and do (Actions)
        • Loop - Actions
          • Unit - Cause (Triggering unit) to damage (Picked unit), dealing (SpellDmg_R[0] + SpellDmg_R[1]) damage of attack type Spells and damage type Magic
      • Custom script: call RemoveLocation (udg_Temp_Point)
      • Custom script: call DestroyGroup (udg_Temp_UnitGroup)
 

avalya

New Member
Reaction score
37
Yes, but if he uses for example, spells with missiles, an AOE spell and for example, a buff spell, it is easier just doing Engineering Upgrade than triggering them individually, the tooltip will also show up correctly instead of being false.
 

Admit

New Member
Reaction score
25
Yes, but if he uses for example, spells with missiles, an AOE spell and for example, a buff spell, it is easier just doing Engineering Upgrade than triggering them individually, the tooltip will also show up correctly instead of being false.

That is indeed true.

Becuse he would also need a seperated trigger for every spell becuse all spells dosen't do same amount of "core" damage.

However if you use many spells with the same "core" damage this would be easyer. As you could just add
Trigger:
  • Or - Any (Conditions) are true
    • Conditions

to the trigger.

But yes your right, "Engeenering upgrade" is easyer to create than alot of different triggers doing almost the samething.

But you could also create alot of If/Then Else and have pre saved the damage amount every spell does in a Variable. That way you only need one trigger. The tooltip could be like "Dealing 25+"10% for every level in Skillmastery"".
This way you only need half the ability's needed for the "Engeenering upgrade".

But the Trigger would needed to be larger, It's up to the OP to chose, both should work, but i think the Engeenering upgrade is easyer to make.
 

millz-

New Member
Reaction score
25
Thanks for all the help guys, I have come up with a solution myself. I used part of your code Admit, to get units within an AOE, then pick the units and add a custom ability based on Spell Damage Reduction, and let the game calculate the bonus damage instead.
 

tooltiperror

Super Moderator
Reaction score
231
Very Cool!

Good Job, hope you can use this as a learning experience.
 
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