- Joined
- May 20, 2009
- Messages
- 822
Nevermind the level check, I can fix that later. (Unless that'd make less visible lag in-game) Right now, this causes some pretty noticeable lag, which is bad because this is a common unit that has this ability.
Also, I'll fix the leaks on this later.
-
Sense Calc
-
Events
-
Time - Every 1.00 seconds of game time
-
-
Conditions
-
Actions
-
For each (Integer SenseInit) from 1 to SenseUnitMaxIndex, do (Actions)
-
Loop - Actions
-
Set SenseUnitPoint[SenseInit] = (Position of SenseUnit[SenseInit])
-
Custom script: call RemoveLocation(GetUnitLoc(udg_SenseUnit[udg_SenseInit]))
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Sense for SenseUnit[SenseInit]) Equal to 1
-
-
Then - Actions
-
Set SenseRange[SenseInit] = 1200.00
-
-
Else - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(Level of Sense for SenseUnit[SenseInit]) Equal to 2
-
-
Then - Actions
-
Set SenseRange[SenseInit] = 1700.00
-
-
Else - Actions
-
-
-
-
Unit Group - Pick every unit in (Units within SenseRange[SenseInit] of SenseUnitPoint[SenseInit]) and do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
((Picked unit) has buff Sense ) Equal to True
-
((Picked unit) is A structure) Equal to False
-
((Picked unit) is alive) Equal to True
-
((Picked unit) belongs to an ally of (Owner of SenseUnit[SenseInit])) Equal to False
-
Or - Any (Conditions) are true
-
Conditions
-
((Picked unit) belongs to an enemy of (Owner of SenseUnit[SenseInit])) Equal to True
-
(Owner of (Picked unit)) Equal to Neutral Hostile
-
(Owner of (Picked unit)) Equal to Neutral Victim
-
(Owner of (Picked unit)) Equal to Neutral Extra
-
(Owner of (Picked unit)) Equal to Neutral Passive
-
-
-
-
Then - Actions
-
Set SensedPointMaxIndex = (SensedPointMaxIndex + 1)
-
Set SensedUnitPoint[SensedPointMaxIndex] = (Position of (Picked unit))
-
Custom script: call RemoveLocation(GetUnitLoc(GetEnumUnit()))
-
For each (Integer SensedUnitInit) from 1 to SensedPointMaxIndex, do (Actions)
-
Loop - Actions
-
Unit - Create 1 Dummy Sense Unit for (Owner of SenseUnit[SenseInit]) at SensedUnitPoint[SensedUnitInit] facing SensedUnitPoint[SensedUnitInit]
-
Unit - Add a 1.00 second Generic expiration timer to (Last created unit)
-
Custom script: call RemoveLocation(udg_SensedUnitPoint[udg_SensedUnitInit])
-
-
-
Custom script: call DestroyGroup(GetLastCreatedGroup())
-
Custom script: call DestroyGroup(udg_SensingUnitGroup)
-
-
Else - Actions
-
-
-
-
-
-
-
-
Orb of Shadow Curse Calc
-
Events
-
Game - GDD_Event becomes Equal to 0.00
-
-
Conditions
-
Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
(GDD_DamagedUnit has buff Curse (Orb of Shadow)) Equal to True
-
-
Then - Actions
-
Set RandomInitPayOut = (Random integer number between 1 and 5)
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
RandomInitPayOut Equal to 5
-
-
Then - Actions
-
Set RandomInitPayOut = 4
-
-
Else - Actions
-
-
For each (Integer RandomInit) from 1 to RandomInitPayOut, do (Actions)
-
Loop - Actions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
RandomInit Equal to 4
-
-
Then - Actions
-
Set RandomInitPayOut = 0
-
Game - Display to (All players) the text: (RandomInit has become equal to + ((String(RandomInit)) + !)) \\Debug text
-
Unit - Remove Curse (Orb of Shadow) buff from GDD_DamagedUnit
-
Unit - Create 1 Dummy Ability Unit 1 for (Owner of GDD_DamageSource) at (Position of GDD_DamagedUnit) facing (Position of GDD_DamagedUnit)
-
Unit - Order (Last created unit) to Undead Banshee - Curse GDD_DamagedUnit
-
Unit - Add a 3.00 second Generic expiration timer to (Last created unit)
-
-
Else - Actions
-
-
-
-
-
Else - Actions
-
-
-
Also, I'll fix the leaks on this later.
Last edited: