Galdiuz
Creator of Photon Command
- Reaction score
- 98
Ok, I had this problem where if i created 2 dummies, the second one was never created. I did some deeper research, and it turned out that the second dummy was never created due to the fact that the point I told it to spawn at never existed. Now, that may sound confusing, but simply it's like this: If I order a unit to cast a spell, the point variable i created the unit at becomes null. (Something like that) I know how to fix this problem, i just have to change all trigger involving dummies, but i'd still like to know why it is like that, because it worked fine before, but then it suddenly stopped to work. I'll show how i had triggers before and after i changed them too, maybe it can help.
This worked fine before, but since this 'bug' came up, I'd have to change this to the one below or it would only create one dummy. (Since the point variable's gone somehow.)
As you can see, it's not a big change, and it's easily done, but I'd like to know why this happened.
Trigger:
- Entangling Roots
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Earth - Entangling Roots
- Actions
- Set Atemp_aloc = (Target point of ability being cast)
- Set Atemp_group = (Units within 250.00 of Atemp_aloc matching ((((Owner of (Matching unit)) is an enemy of (Owner of (Triggering unit))) Equal to True) and ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True))))
- EGUI Leak - Remove Atemp_aloc
- Set Atemp_aloc = (Position of (Triggering unit))
- Unit Group - Pick every unit in Atemp_group and do (Actions)
- Loop - Actions
- Unit - Create 1 Caster Dummy for (Owner of (Triggering unit)) at Atemp_aloc facing Default building facing degrees
- Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
- Unit - Add Entangling Roots to (Last created unit)
- Unit - Set level of Entangling Roots for (Last created unit) to (Level of (Ability being cast) for (Triggering unit))
- Unit - Order (Last created unit) to Orc Raider - Ensnare (Picked unit)
- Loop - Actions
- EGUI Leak - Remove Atemp_aloc
- Events
This worked fine before, but since this 'bug' came up, I'd have to change this to the one below or it would only create one dummy. (Since the point variable's gone somehow.)
Trigger:
- Entangling Roots
- Events
- Unit - A unit Starts the effect of an ability
- Conditions
- (Ability being cast) Equal to Earth - Entangling Roots
- Actions
- Set Atemp_aloc = (Target point of ability being cast)
- Set Atemp_group = (Units within 250.00 of Atemp_aloc matching ((((Owner of (Matching unit)) is an enemy of (Owner of (Triggering unit))) Equal to True) and ((((Matching unit) is A structure) Equal to False) and (((Matching unit) is alive) Equal to True))))
- EGUI Leak - Remove Atemp_aloc
- Unit Group - Pick every unit in Atemp_group and do (Actions)
- Loop - Actions
- Set Atemp_aloc = (Position of (Triggering unit))
- Unit - Create 1 Caster Dummy for (Owner of (Triggering unit)) at Atemp_aloc facing Default building facing degrees
- Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
- Unit - Add Entangling Roots to (Last created unit)
- Unit - Set level of Entangling Roots for (Last created unit) to (Level of (Ability being cast) for (Triggering unit))
- Unit - Order (Last created unit) to Orc Raider - Ensnare (Picked unit)
- EGUI Leak - Remove Atemp_aloc
- Loop - Actions
- Events
As you can see, it's not a big change, and it's easily done, but I'd like to know why this happened.