Nyph
Occasional News Reader
- Reaction score
- 87
Fire Bomb
Gui = yes (with alot of custom script)
Mui = yes
Leakless = i think so
Lagless = only lags on slower computers
The caster harnesses his magical power and creates a giant ball of fire, which floats up, stops for a short while, and then drops straight down, creating a massive explosion.
Code:
FireBomb
Events
Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Fire Bomb
Actions
Custom script: local location temp
Custom script: local integer temp_LevelBomb
Custom script: local location array temp_Loc
Custom script: local location Targetloc
Custom script: local unit array fire1
Custom script: local unit fireball
Custom script: local unit firefield
Custom script: set Targetloc = GetSpellTargetLoc()
Set temp_targloc = (Target point of ability being cast)
Set temp_loc = (Position of (Triggering unit))
Unit - Create 1 Fireball for (Owner of (Triggering unit)) at temp_loc facing (Facing of (Triggering unit)) degrees
Unit - Set (Last created unit) movement speed to ((Distance between temp_loc and temp_targloc) / 2.00)
Custom script: set fireball = GetLastCreatedUnit()
Unit - Order (Last created unit) to Move To temp_targloc
Animation - Change (Last created unit) flying height to 1000.00 at 500.00
Custom script: call RemoveLocation( udg_temp_loc )
Custom script: call RemoveLocation( udg_temp_targloc )
Wait 2.50 game-time seconds
Custom script: call SetUnitFlyHeightBJ( fireball, 0.00, 2000.00 )
Wait 0.40 game-time seconds
Custom script: call RemoveUnit( fireball )
Custom script: set fireball = null
Set FireNo = 0
Set LevelBomb = (Level of Fire Bomb for (Triggering unit))
Set Angle = 0.00
For each (Integer A) from 1 to (2 + LevelBomb), do (Actions)
Loop - Actions
Set FireNo = (FireNo + 1)
Set Angle = (Angle + (360.00 / (2.00 + (Real(LevelBomb)))))
Custom script: call CreateNUnitsAtLoc( 1, 'u000', GetOwningPlayer(GetTriggerUnit()), Targetloc , udg_Angle )
Custom script: set temp = PolarProjectionBJ(GetUnitLoc(GetLastCreatedUnit()), 100.00, GetUnitFacing(GetLastCreatedUnit()))
Custom script: set fire1[udg_FireNo] = GetLastCreatedUnit()
Unit - Add Fire1 to (Last created unit)
Custom script: set udg_Loc[udg_FireNo] = temp
Unit - Order (Last created unit) to Neutral Pandaren Brewmaster - Breath Of Fire Loc[FireNo]
Custom script: call RemoveLocation( temp )
For each (Integer A) from 1 to (4 + (LevelBomb x 4)), do (Actions)
Loop - Actions
Set FireNo = (FireNo + 1)
Custom script: call CreateNUnitsAtLoc( 1, 'u000', GetOwningPlayer(GetTriggerUnit()), Targetloc , GetRandomReal(0, 360.00) )
Custom script: set temp = PolarProjectionBJ(GetUnitLoc(GetLastCreatedUnit()), GetRandomReal(0,400), GetUnitFacing(GetLastCreatedUnit()))
Custom script: set fire1[udg_FireNo] = GetLastCreatedUnit()
Unit - Add Mini Fireballs to (Last created unit)
Custom script: set udg_Loc[udg_FireNo] = temp
Unit - Order (Last created unit) to Neutral Tinker - Cluster Rockets Loc[FireNo]
Custom script: call RemoveLocation(temp)
Custom script: call CreateNUnitsAtLoc( 1, 'u002', GetOwningPlayer(GetTriggerUnit()), Targetloc , GetRandomReal(0, 360.00) )
Custom script: set firefield = GetLastCreatedUnit()
For each (Integer A) from 1 to (1 + (LevelBomb x 2)), do (Actions)
Loop - Actions
Set FireNo = (FireNo + 1)
Custom script: call CreateNUnitsAtLoc( 1, 'u000', GetOwningPlayer(GetTriggerUnit()), Targetloc , GetRandomReal(0, 360.00) )
Custom script: set temp = PolarProjectionBJ(GetUnitLoc(GetLastCreatedUnit()), GetRandomReal(0,400), GetUnitFacing(GetLastCreatedUnit()))
Custom script: set fire1[udg_FireNo] = GetLastCreatedUnit()
Unit - Add FireWave to (Last created unit)
Custom script: set udg_Loc[udg_FireNo] = temp
Unit - Order (Last created unit) to Orc Tauren Chieftain - Shockwave Loc[FireNo]
Custom script: call RemoveLocation(temp)
Set FireNo = (FireNo + 1)
Custom script: call CreateNUnitsAtLoc( 1, 'u000', GetOwningPlayer(GetTriggerUnit()), Targetloc , GetRandomReal(0, 360.00) )
Custom script: set fire1[udg_FireNo] = GetLastCreatedUnit()
Unit - Add MainFire to (Last created unit)
Custom script: set udg_Loc[udg_FireNo] = Targetloc
Unit - Order (Last created unit) to Human Blood Mage - Flame Strike Loc[FireNo]
Set FireNo = (FireNo + 1)
Custom script: call CreateNUnitsAtLoc( 1, 'u000', GetOwningPlayer(GetTriggerUnit()), Targetloc , GetRandomReal(0, 360.00) )
Custom script: set fire1[udg_FireNo] = GetLastCreatedUnit()
Unit - Add Burned (Neutral Hostile) to (Last created unit)
Unit - Set level of Burned (Neutral Hostile) for (Last created unit) to LevelBomb
Unit - Order (Last created unit) to Neutral Pit Lord - Howl Of Terror
Custom script: set temp_LevelBomb = udg_LevelBomb
For each (Integer A) from 1 to (9 + (LevelBomb x 7)), do (Actions)
Loop - Actions
Set FireNo = (FireNo + 1)
Custom script: set temp_Loc[udg_FireNo] = udg_Loc[udg_FireNo]
Wait 0.20 game-time seconds
Custom script: set udg_LevelBomb = temp_LevelBomb
Set FireNo = 0
Custom script: call RemoveUnit( fire1[udg_FireNo] )
For each (Integer A) from 1 to (9 + (LevelBomb x 7)), do (Actions)
Loop - Actions
Set FireNo = (FireNo + 1)
Custom script: call RemoveUnit( fire1[udg_FireNo] )
Custom script: call RemoveLocation(temp_Loc[udg_FireNo])
Custom script: set fire1[udg_FireNo] = null
Custom script: set temp_Loc[udg_FireNo] = null
Wait 4.80 game-time seconds
Custom script: call RemoveUnit( firefield )
Custom script: set firefield = null
Custom script: set temp = null
Screenshot: