Moderator
M
Moderator
Wave of Souls | Reviewed by Maker | 14th Apr 2013 | ||||
APPROVED | ||||
|
(5 ratings)
Wave of Souls | Reviewed by Maker | 14th Apr 2013 | ||||
APPROVED | ||||
|
Would like. XD It looks like to I will have to explain this every time when I post spells. I AM ON CELL-PHONE I CANNOT POST THEM. IF SOMEONE CAN POST THEM IT WOULD BE GREAT
mate long and boring story. I dont have net on pc and I steal wireless xDHere are the Triggers for you
Nice Spell btw and how can you upload a spell on your cell phone why don't you post them right away?????
- Wave of Souls Start
- Events
- Unit - A unit Begins channeling an ability
- Conditions
- (Ability being cast) Equal to Wave of Souls
- Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- WoS_Times Equal to 0
- Then - Actions
- Trigger - Turn on Wave of Souls Loop <gen>
- Else - Actions
- Set WoS_Skip = (WoS_Skip + 1)
- Set WoS_Times = (WoS_Times + 1)
- Set WoS_Caster[WoS_Times] = (Triggering unit)
- Set WoS_SpellLvl[WoS_Times] = (Level of Wave of Souls for WoS_Caster[WoS_Times])
- Set WoS_Point1 = (Position of WoS_Caster[WoS_Times])
- Set WoS_Point2 = (Target point of ability being cast)
- Set WoS_Off[WoS_Times] = False
- Set WoS_Angle[WoS_Times] = (Angle from WoS_Point1 to WoS_Point2)
- Set WoS_Loop[WoS_Times] = 4
- Custom script: call RemoveLocation(udg_WoS_Point1)
- Custom script: call RemoveLocation(udg_WoS_Point2)
- Wave of Souls Loop
- Events
- Time - Every 0.03 seconds of game time
- Conditions
- Actions
- For each (Integer WoS) from 1 to WoS_Times, do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- WoS_Off[WoS] Equal to False
- Then - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Current order of WoS_Caster[WoS]) Not equal to (Order(flamestrike))
- Then - Actions
- Set WoS_Skip = (WoS_Skip - 1)
- Set WoS_Off[WoS] = True
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- WoS_Skip Equal to 0
- Then - Actions
- Trigger - Turn off (This trigger)
- Set WoS_Times = 0
- Else - Actions
- Else - Actions
- Set WoS_Loop[WoS] = (WoS_Loop[WoS] + 1)
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- WoS_Loop[WoS] Equal to 5
- Then - Actions
- Set WoS_Loop[WoS] = 0
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- WoS2_Times Equal to 0
- Then - Actions
- Trigger - Turn on Wave of Souls Loop2 <gen>
- Else - Actions
- Set WoS2_Times = (WoS2_Times + 1)
- Set WoS2_Skip = (WoS2_Skip + 1)
- Set WoS2_Off[WoS2_Times] = False
- Set WoS2_Distance[WoS2_Times] = (Random real number between 350.00 and 550.00)
- Set WoS_Point1 = (Position of WoS_Caster[WoS])
- Unit - Create 1 WoS Dummy for (Owner of WoS_Caster[WoS]) at WoS_Point1 facing (WoS_Angle[WoS] + (Random real number between -35.00 and 35.00)) degrees
- Set WoS_Dummy[WoS2_Times] = (Last created unit)
- Set WoS2_SpellLvl[WoS2_Times] = WoS_SpellLvl[WoS]
- Custom script: call RemoveLocation(udg_WoS_Point1)
- Else - Actions
- Else - Actions
- Wave of Souls Loop2
- Events
- Time - Every 0.03 seconds of game time
- Conditions
- Actions
- For each (Integer WoS) from 1 to WoS2_Times, do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- WoS2_Off[WoS] Equal to False
- Then - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- WoS2_Distance[WoS] Less than or equal to 0.00
- Then - Actions
- Unit - Kill WoS_Dummy[WoS]
- Set WoS_Skip = (WoS2_Skip - 1)
- Set WoS2_Off[WoS] = True
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- WoS2_Skip Equal to 0
- Then - Actions
- Trigger - Turn off (This trigger)
- Set WoS2_Times = 0
- Else - Actions
- Else - Actions
- Set WoS_Point1 = (Position of WoS_Dummy[WoS])
- Set WoS_Point2 = (WoS_Point1 offset by 10.00 towards (Facing of WoS_Dummy[WoS]) degrees)
- Item - Create Mask of Death at WoS_Point2
- Set TempPoint = (Position of (Last created item))
- Item - Remove (Last created item)
- Custom script: set bj_wantDestroyGroup=true
- Unit Group - Pick every unit in (Units within 50.00 of WoS_Point2 matching ((((Matching unit) is alive) Equal to True) and ((((Matching unit) belongs to an enemy of (Owner of WoS_Dummy[WoS])) Equal to True) and (((Matching unit) is Magic Immune) Not equal to True)))) and do (Actions)
- Loop - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Number of units in (Last created unit group)) Greater than 0
- Then - Actions
- Set WoS2_Distance[WoS] = 0.00
- Unit - Create 1 WoS Dummy Caster for (Owner of WoS_Dummy[WoS]) at WoS_Point2 facing Default building facing degrees
- Set DummyCaster = (Last created unit)
- Unit - Set level of Wave of Souls for DummyCaster to WoS2_SpellLvl[WoS]
- Unit - Order DummyCaster to Undead Lich - Frost Nova (Picked unit)
- Unit - Add a 0.20 second Generic expiration timer to DummyCaster
- Else - Actions
- If (All Conditions are True) then do (Then Actions) else do (Else Actions)
- If - Conditions
- (Distance between WoS_Point2 and TempPoint) Greater than 0.50
- Then - Actions
- Set WoS2_Distance[WoS] = 0.00
- Else - Actions
- Set WoS2_Distance[WoS] = (WoS2_Distance[WoS] - 10.00)
- Custom script: set udg_TempX = GetLocationX(udg_WoS_Point2)
- Custom script: set udg_TempY = GetLocationY(udg_WoS_Point2)
- Custom script: call SetUnitX(udg_WoS_Dummy[udg_WoS], udg_TempX)
- Custom script: call SetUnitY(udg_WoS_Dummy[udg_WoS], udg_TempY)
- Custom script: call RemoveLocation(udg_TempPoint)
- Custom script: call RemoveLocation(udg_WoS_Point1)
- Custom script: call RemoveLocation(udg_WoS_Point2)
- Else - Actions
call SetUnitX(myUnit, GetUnitX(myUnit) + speed * Cos(angle * bj_DEGTORAD))
call SetUnitY(myUnit, GetUnitY(myUnit) + speed * Sin(angle * bj_DEGTORAD))
if UnitAddAbility(myUnit, 'Amrf') and UnitRemoveAbility(myUnit, 'Amrf') then
endif
3)Open you map and past all things inside(triggers, units, spells). You will maybe have to create next variables: TempX and TempY (put them to real). Configure condition, for spell, also maybe units get messed up so also fix this actions Unit - Create 1 etc to it fits to this trigger.