- Joined
- Aug 12, 2008
- Messages
- 350
I have this weird spell problem in my map. Below is the triggers for the spell and a link to the screenshot.
Events
Time - Every 0.10 seconds of game time
Conditions
Actions
For each (Integer V_index3) from 1 to V_indexSize, do (Actions)
Loop - Actions
Set V_index2 = V_index1[V_index3]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(V_caster[V_index2] is alive) Equal to True
(V_target[V_index2] is alive) Equal to True
V_duration[V_index2] Greater than 0.00
Then - Actions
Set V_duration[V_index2] = (V_duration[V_index2] - 0.10)
Set V_count[V_index2] = (V_count[V_index2] + 0.10)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
V_count[V_index2] Greater than or equal to 2.00
Then - Actions
Set V_damage = (Real((Intelligence of V_caster[V_index2] (Include bonuses))))
Unit - Cause V_caster[V_index2] to damage V_target[V_index2], dealing V_damage damage of attack type Spells and damage type Normal
Set tempPoint = (Position of V_target[V_index2])
Special Effect - Create a special effect at tempPoint using Abilities\Spells\Undead\VampiricAura\VampiricAura.mdl
Special Effect - Destroy (Last created special effect)
Floating Text - Create floating text that reads (+ + (|cffffc00 + ((Substring((String(V_damage)), 1, ((Length of (String(V_damage))) - 1))) + |r))) above V_target[V_index2] with Z offset 0.00, using font size 7.50, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
Floating Text - Change the lifespan of (Last created floating text) to 2.50 seconds
Floating Text - Change the fading age of (Last created floating text) to 1.25 seconds
Custom script: call RemoveLocation (udg_tempPoint)
Set V_count[V_index2] = 0.00
Else - Actions
Else - Actions
Set V_index1[V_index3] = V_index1[V_indexSize]
Set V_index1[V_indexSize] = V_index2
Set V_indexSize = (V_indexSize - 1)
Set V_index3 = (V_index3 - 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
V_indexSize Equal to 0
Then - Actions
Trigger - Turn off (This trigger)
Else - Actions
[/trigger]
The problem is that the floating text does not show the exact value of the variable "V_damage". As you can see from the picture. The intelligence of the caster is 18 but the values showed is only 8. Can anyone help me?
-
Voodoo
-
Events
- Unit - A unit Starts the effect of an ability
-
Conditions
- (Ability being cast) Equal to Voodoo
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- V_indexSize Equal to 0
-
Then - Actions
- Trigger - Turn on Voodoo loop <gen>
- Else - Actions
-
If - Conditions
- Set V_indexSize = (V_indexSize + 1)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
- V_indexSize Greater than V_indexMax
-
Then - Actions
- Set V_index1[V_indexSize] = V_indexSize
- Set V_indexMax = V_indexSize
- Else - Actions
-
If - Conditions
- Set V_index2 = V_index1[V_indexSize]
- -------- ---------------------------------------------------------------------------------------------------------------- --------
- Set V_count[V_index2] = 0.00
- Set V_caster[V_index2] = (Triggering unit)
- Set V_target[V_index2] = (Target unit of ability being cast)
- Set tempInteger = (Level of Voodoo for V_caster[V_index2])
- Set V_duration[V_index2] = (6.00 + (2.00 x (Real(tempInteger))))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
Events
Time - Every 0.10 seconds of game time
Conditions
Actions
For each (Integer V_index3) from 1 to V_indexSize, do (Actions)
Loop - Actions
Set V_index2 = V_index1[V_index3]
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(V_caster[V_index2] is alive) Equal to True
(V_target[V_index2] is alive) Equal to True
V_duration[V_index2] Greater than 0.00
Then - Actions
Set V_duration[V_index2] = (V_duration[V_index2] - 0.10)
Set V_count[V_index2] = (V_count[V_index2] + 0.10)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
V_count[V_index2] Greater than or equal to 2.00
Then - Actions
Set V_damage = (Real((Intelligence of V_caster[V_index2] (Include bonuses))))
Unit - Cause V_caster[V_index2] to damage V_target[V_index2], dealing V_damage damage of attack type Spells and damage type Normal
Set tempPoint = (Position of V_target[V_index2])
Special Effect - Create a special effect at tempPoint using Abilities\Spells\Undead\VampiricAura\VampiricAura.mdl
Special Effect - Destroy (Last created special effect)
Floating Text - Create floating text that reads (+ + (|cffffc00 + ((Substring((String(V_damage)), 1, ((Length of (String(V_damage))) - 1))) + |r))) above V_target[V_index2] with Z offset 0.00, using font size 7.50, color (100.00%, 100.00%, 100.00%), and 0.00% transparency
Floating Text - Change (Last created floating text): Disable permanence
Floating Text - Set the velocity of (Last created floating text) to 64.00 towards 90.00 degrees
Floating Text - Change the lifespan of (Last created floating text) to 2.50 seconds
Floating Text - Change the fading age of (Last created floating text) to 1.25 seconds
Custom script: call RemoveLocation (udg_tempPoint)
Set V_count[V_index2] = 0.00
Else - Actions
Else - Actions
Set V_index1[V_index3] = V_index1[V_indexSize]
Set V_index1[V_indexSize] = V_index2
Set V_indexSize = (V_indexSize - 1)
Set V_index3 = (V_index3 - 1)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
V_indexSize Equal to 0
Then - Actions
Trigger - Turn off (This trigger)
Else - Actions
[/trigger]
The problem is that the floating text does not show the exact value of the variable "V_damage". As you can see from the picture. The intelligence of the caster is 18 but the values showed is only 8. Can anyone help me?
Last edited: