- Joined
- May 13, 2023
- Messages
- 111
I'm trying to change unit's vertex/tinting color temporarily but unfortunately have no luck with it, bcz getter function for Tinting Color Integer Field works but the setter doesnt so i have to use Animation Vertex color change function. This works but with drawbacks setting the value back to 100%/100%/100% alters the unit's original tinting color values meaning if it was 255/0/50 it will return to 255/255/255. Tried to store units tinting with hashtables but when saving the values it always saves 0 and loads 0 even though i altered it after saving?. Would appreciate any assistance.
-
Iron Curtain Init
-

Events
-


Unit - A unit Starts the effect of an ability
-
-

Conditions
-


(Ability being cast) Equal to Iron Curtain
-
-

Actions
-


Set VariableSet AA_POS7 = (Target point of ability being cast)
-


Unit - Create 1 Dummy (Iron Curtain) for (Owner of (Triggering unit)) at AA_POS7 facing Default building facing degrees
-


Unit - Add a 0.80 second Generic expiration timer to (Last created unit)
-


Set VariableSet IronCurtainINDEX = (IronCurtainINDEX + 1)
-


Set VariableSet IronCurtainCaster[IronCurtainINDEX] = (Triggering unit)
-


Set VariableSet IronCurtainCounter[IronCurtainINDEX] = 0
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




Or - Any (Conditions) are true
-





Conditions
-






(Level of Iron Curtain for IronCurtainCaster[IronCurtainINDEX]) Equal to 1
-






(Level of Iron Curtain for IronCurtainCaster[IronCurtainINDEX]) Equal to 2
-
-
-
-



Then - Actions
-




Set VariableSet IronCurtainPos[IronCurtainINDEX] = 400.00
-




Set VariableSet IronCurtainMaxCounter[IronCurtainINDEX] = 4
-
-



Else - Actions
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






Or - Any (Conditions) are true
-







Conditions
-








(Level of Iron Curtain for IronCurtainCaster[IronCurtainINDEX]) Equal to 3
-








(Level of Iron Curtain for IronCurtainCaster[IronCurtainINDEX]) Equal to 4
-
-
-
-





Then - Actions
-






Set VariableSet IronCurtainPos[IronCurtainINDEX] = 500.00
-






Set VariableSet IronCurtainMaxCounter[IronCurtainINDEX] = 5
-
-





Else - Actions
-






If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








Or - Any (Conditions) are true
-









Conditions
-










(Level of Iron Curtain for IronCurtainCaster[IronCurtainINDEX]) Equal to 5
-










(Level of Iron Curtain for IronCurtainCaster[IronCurtainINDEX]) Equal to 6
-
-
-
-







Then - Actions
-








Set VariableSet IronCurtainPos[IronCurtainINDEX] = 600.00
-








Set VariableSet IronCurtainMaxCounter[IronCurtainINDEX] = 6
-
-







Else - Actions
-
-
-
-
-
-


Unit Group - Pick every unit in (Units within IronCurtainPos[IronCurtainINDEX] of AA_POS7.) and do (Actions)
-



Loop - Actions
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






((Picked unit) is A structure) Equal to False
-






((Picked unit) belongs to an ally of (Owner of IronCurtainCaster[IronCurtainINDEX]).) Equal to True
-
-





Then - Actions
-






If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








(Load 99 of (Key (Picked unit).) from IronCurtainTable.) Equal to False
-
-







Then - Actions
-








Hashtable - Save (Unit: (Picked unit)'s Integer Field: Tinting Color 1 (Red) ('uclr')) as 1 of (Key (Picked unit).) in IronCurtainTable.
-








Hashtable - Save (Unit: (Picked unit)'s Integer Field: Tinting Color 2 (Green) ('uclg')) as 2 of (Key (Picked unit).) in IronCurtainTable.
-








Hashtable - Save (Unit: (Picked unit)'s Integer Field: Tinting Color 3 (Blue) ('uclb')) as 3 of (Key (Picked unit).) in IronCurtainTable.
-








Hashtable - Save True as 99 of (Key (Picked unit).) in IronCurtainTable.
-
-







Else - Actions
-
-






Animation - Change (Picked unit)'s vertex coloring to (0.00%, 0.00%, 0.00%) with 0.00% transparency
-






Unit - Make (Picked unit) Invulnerable
-






Unit Group - Add (Picked unit) to IronCurtainGroup[IronCurtainINDEX]
-
-





Else - Actions
-
-
-
-


Custom script: call RemoveLocation(udg_AA_POS7)
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




IronCurtainINDEX Equal to 1
-
-



Then - Actions
-




Trigger - Turn on Iron Curtain End <gen>
-
-



Else - Actions
-
-
-
-
Iron Curtain End
-

Events
-


Time - Every 1.00 seconds of game time
-
-

Conditions
-

Actions
-


For each (Integer IronCurtainLOOP) from 1 to IronCurtainINDEX, do (Actions)
-



Loop - Actions
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






IronCurtainCounter[IronCurtainLOOP] Less than or equal to IronCurtainMaxCounter[IronCurtainLOOP]
-
-





Then - Actions
-






Set VariableSet IronCurtainCounter[IronCurtainLOOP] = (IronCurtainCounter[IronCurtainLOOP] + 1)
-
-





Else - Actions
-






Unit Group - Pick every unit in IronCurtainGroup[IronCurtainLOOP] and do (Actions)
-







Loop - Actions
-








Set VariableSet IronCurtainVertex[0] = (Load 1 of (Key (Picked unit).) from IronCurtainTable.)
-








Set VariableSet IronCurtainVertex[1] = (Load 2 of (Key (Picked unit).) from IronCurtainTable.)
-








Set VariableSet IronCurtainVertex[2] = (Load 3 of (Key (Picked unit).) from IronCurtainTable.)
-








Animation - Change (Picked unit)'s vertex coloring to ((((Real(IronCurtainVertex[0])) / 255.00) x 100.00)%, (((Real(IronCurtainVertex[1])) / 255.00) x 100.00)%, (((Real(IronCurtainVertex[2])) / 255.00) x 100.00)%) with 0.00% transparency
-








Unit - Make (Picked unit) Vulnerable
-
-
-






Set VariableSet IronCurtainCaster[IronCurtainLOOP] = IronCurtainCaster[IronCurtainINDEX]
-






Set VariableSet IronCurtainMaxCounter[IronCurtainLOOP] = IronCurtainMaxCounter[IronCurtainINDEX]
-






Set VariableSet IronCurtainPos[IronCurtainLOOP] = IronCurtainPos[IronCurtainINDEX]
-






Set VariableSet IronCurtainCounter[IronCurtainLOOP] = IronCurtainCounter[IronCurtainINDEX]
-






Set VariableSet IronCurtainGroup[IronCurtainLOOP] = IronCurtainGroup[IronCurtainINDEX]
-






Set VariableSet IronCurtainINDEX = (IronCurtainINDEX - 1)
-






Set VariableSet IronCurtainLOOP = (IronCurtainLOOP - 1)
-






If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-







If - Conditions
-








IronCurtainINDEX Equal to 0
-
-







Then - Actions
-








Trigger - Turn off (This trigger)
-
-







Else - Actions
-
-
-
-
-
-
-



