Having trouble with triggered spells

LiVam

New Member
Reaction score
1
Ok, so I'm making a map which is turning out to be a real pain.

Basicly, each hero can have loads of abilities, which are randomly given to him on levelup. The player cannot choose what he/she will get, and cannot choose when to use their spells either.

Initially, I used a trigger that checked if the hero was being attacked, then created an integer with a random value. I then had one seperate action for each ability, checking if the integer was "1", "2".. etc, and using the appropriate ability. But it would mean you'd use the abilities way too often when groups of mobs attacked, and barely ever use them in 1on1 duels.

So what I'm trying to make is this:

Trigger:
  • UseAbility
    • Events
      • Unit - A unit Begins casting an ability
    • Conditions
      • (Ability being cast) Equal to UseAbility
    • Actions
      • Set UseAbilityInt = (Random integer number between 1 and 6)


"UseAbility" is based on Critical Strike. And after looking around forums it seems this is not possible. So my question is, how do I check if the hero is critting, or causing damage to an enemy?

Thanks :)
 
Reaction score
341
I don't think you can accurately detect critical hits.

Unless you know how much damage your crit should do, then compare it to how much damage a normal attack does.

Then if the compared damage is higher, then it's a critical hit.

As for detecting damage, search for 'Damage Detection System'.
 

LiVam

New Member
Reaction score
1
I don't think you can accurately detect critical hits.

Unless you know how much damage your crit should do, then compare it to how much damage a normal attack does.

Then if the compared damage is higher, then it's a critical hit.

As for detecting damage, search for 'Damage Detection System'.

Well, what I need is something that checks if a hero is attacking another unit, and if so; cause it to cast a spell.

I looked at a Damage Detection System, but it doesn't seem to do what I want. Or am I just being stupid?
 
Reaction score
341
I looked at a Damage Detection System, but it doesn't seem to do what I want. Or am I just being stupid?

DDS's are the only way to accuratley detect if a unit has been attacked.

The event 'Unit - Is attacked' isn't accurate.

Try the event 'Unit - Takes damage'.
 

LiVam

New Member
Reaction score
1
DDS's are the only way to accuratley detect if a unit has been attacked.

The event 'Unit - Is attacked' isn't accurate.

Try the event 'Unit - Takes damage'.

Trigger:
  • UseAbility
    • Events
      • Unit - Any unit takes damage
    • Conditions
      • ((Attacking unit) is A Hero) Equal to True
    • Actions
      • Set UseAbilityInt = (Random integer number between 1 and 6)



That didn't work, so what condition should I use? "Attacking unit" doesn't seem to be recognized.
 
Reaction score
341
Are you using EGUI or something, any unit isn't a default event?

Anyways, something like this;

Code:
Untitled Trigger 001
    Events
        Unit - No unit Takes damage
    Conditions
        ((Damage source) is A Hero) Equal to True
    Actions
 

LiVam

New Member
Reaction score
1
Are you using EGUI or something, any unit isn't a default event?

Anyways, something like this;

Code:
Untitled Trigger 001
    Events
        Unit - No unit Takes damage
    Conditions
        ((Damage source) is A Hero) Equal to True
    Actions

Yup, I am, sadly.

So I changed it that way, but how would I make an action like this:

Trigger:
  • Unit - Order (Damage source) to Undead Dreadlord - Sleep (Attacked unit)


I'm kinda doubting that'll work?
 

LiVam

New Member
Reaction score
1
It's not a bad thing, in-fact it's better than using plain'ol GUI.



If you want whoever got attacked to cast that, then it should work.

Well, I want the attacker to cast a spell on the attacked unit.

So here's the scenario:

1. Hero attacks unit
2. Chance for hero to cast spell on attacked unit
3. Casts/Doesn't cast

How'd I go about doing that? :D
 
Reaction score
341
Get Triggering Unit should be the hero.
Get Damage Source should be the attacked unit.

I'm guessing you can figure out the rest.
 

black.sheep

Active Member
Reaction score
24
Uhh
Trigger:
  • Sleep Attack
    • Events
      • Unit - No unit Is attacked
    • Conditions
      • (Level of Sleep Attack for (Damage source)) Greater than 0
      • (Random integer number between 1 and 10) Equal to 1
    • Actions
      • Set p = (Position of (Triggering unit))
      • Unit - Create 1 Dummy Caster for (Owner of (Damage source)) at p facing Default building facing degrees
      • Unit - Add Sleep Dummy to (Last created unit)
      • Unit - Order (Last created unit) to Undead Dreadlord - Sleep (Triggering unit)
      • Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
      • Custom script: call RemoveLocation(udg_p)

Oh damn i gots beaten.
 
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