- 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
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
If - Conditions
-
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
-
Conditions
-
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])
-
Loop - Actions
- Custom script: call DestroyGroup(GetLastCreatedGroup())
- Custom script: call DestroyGroup(udg_SensingUnitGroup)
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
-
Loop - Actions
-
For each (Integer SenseInit) from 1 to SenseUnitMaxIndex, do (Actions)
-
Events
-
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
-
If - Conditions
-
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
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Loop - Actions
- Else - Actions
-
If - Conditions
-
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-
Events
Also, I'll fix the leaks on this later.
Last edited: