I recently remade a spell I had in order to make it MUI, but, like most things I create, it doesn't work.
The spell is based on Tornado (Soulnado), and it damages enemy units' (HP%) instead of tossing them in the air. When the summon goes away, a dummy casts a spell (based on Inner Fire) on the caster, that has higher level depending on the number of damage ticks.
Or at least that's what it's supposed to do. However, not only is the HP not being drained, but the Inner Fire based spell never fires. (The dummy is created though.)
I tried using unit groups to hold the summoned units, but it didn't work. No idea why I thought it would either.
Here are the triggers.
Any and all replies will be greatly appreciated.
EDIT: Just found out there's a function specifically for summoned units; incorporated it into the first trigger. Now the life drain is happening! However, part of the problem persists because the Inner Fire based spell still isn't being cast.
EDIT2: Cleaned some messes in the triggers.
The spell is based on Tornado (Soulnado), and it damages enemy units' (HP%) instead of tossing them in the air. When the summon goes away, a dummy casts a spell (based on Inner Fire) on the caster, that has higher level depending on the number of damage ticks.
Or at least that's what it's supposed to do. However, not only is the HP not being drained, but the Inner Fire based spell never fires. (The dummy is created though.)
I tried using unit groups to hold the summoned units, but it didn't work. No idea why I thought it would either.
Here are the triggers.
-
Soulnado Switch On
-
Events
- Unit - A unit Spawns a summoned unit
-
Conditions
- (Unit-type of (Summoned unit)) Equal to Soulnado
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- MUISoulnado Greater than 100
-
Then - Actions
- Set MUISoulnado = 1
-
Else - Actions
- Set MUISoulnado = (MUISoulnado + 1)
-
If - Conditions
- Set SoulnadoCaster[MUISoulnado] = (Triggering unit)
- Set SoulnadoUnit[MUISoulnado] = (Summoned unit)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
-
Soulnado Ticker
-
Events
- Time - Every 1.00 seconds of game time
- Conditions
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- (SoulnadoUnit[MUISoulnado] is alive) Equal to True
-
Then - Actions
- Set SoulnadoUnitPos[MUISoulnado] = (Position of SoulnadoUnit[MUISoulnado])
- Custom script: set bj_wantDestroyGroup = true
-
Unit Group - Pick every unit in (Units within 512.00 of SoulnadoUnitPos[MUISoulnado] matching ((((Matching unit) has buff Invulnerable) Equal to False) and ((((Matching unit) has buff Divine Shield) Equal to False) and (((Matching unit) belongs to an enemy of (Owner of SoulnadoCaster[MUISou and do (Actions)
-
Loop - Actions
- Unit - Cause SoulnadoUnit[MUISoulnado] to damage (Picked unit), dealing ((Max life of (Picked unit)) / 50.00) damage of attack type Spells and damage type Normal
- Set SoulnadoCounter[MUISoulnado] = (SoulnadoCounter[MUISoulnado] + 1)
-
Loop - Actions
- Custom script: call RemoveLocation(udg_SoulnadoUnitPos[udg_MUISoulnado])
-
Else - Actions
- Set SoulnadoCasterPos[MUISoulnado] = (Position of SoulnadoCaster[MUISoulnado])
- Unit - Create 1 DUMMYCASTER 01 for (Owner of SoulnadoCaster[MUISoulnado]) at SoulnadoCasterPos[MUISoulnado] facing SoulnadoCasterPos[MUISoulnado]
- Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- SoulnadoCounter[MUISoulnado] Greater than 50
-
Then - Actions
- Unit - Set level of Soul Strength for (Last created unit) to 50
-
Else - Actions
- Unit - Set level of Soul Strength for (Last created unit) to SoulnadoCounter[MUISoulnado]
-
If - Conditions
- Unit - Order (Last created unit) to Human Priest - Inner Fire SoulnadoCaster[MUISoulnado]
- Custom script: call RemoveLocation(udg_SoulnadoCasterPos[udg_MUISoulnado])
- Set SoulnadoUnit[MUISoulnado] = No unit
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
Any and all replies will be greatly appreciated.
EDIT: Just found out there's a function specifically for summoned units; incorporated it into the first trigger. Now the life drain is happening! However, part of the problem persists because the Inner Fire based spell still isn't being cast.
EDIT2: Cleaned some messes in the triggers.
Last edited: