Spell causes lag

Sirroelivan

Gunnerkrigg Court
Reaction score
95
I've made a passive skill called sunder armor. Whenever the hero attacks, the target gains an amor debuff that gets stronger with every time the hero hits the target. To do this I've made a dummy passive ability for the skill and a faerie fire with 30 lvl (debuff improves up to 5 times, skill has 6 levels) with a different buff for each level. I've put the buffs in an array and am using this trigger.

Code:
Sunder Armor
    Events
        Unit - A unit Is attacked
    Conditions
        (Unit-type of (Attacking unit)) Equal to Fighter
        (Level of Sunder Armor  for (Attacking unit)) Greater than 0
    Actions
        Set Has_Sunder = False
        For each (Integer A) from 1 to 30, do (Actions)
            Loop - Actions
                If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    If - Conditions
                        ((Attacked unit) has buff Sunder_Armor[(Integer A)]) Equal to True
                    Then - Actions
                        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            If - Conditions
                                (Integer A) Less than ((Level of Sunder Armor  for (Attacking unit)) x 5)
                            Then - Actions
                                Set Point = (Position of (Attacking unit))
                                Unit - Create 1 Dummy Caster for (Owner of (Attacking unit)) at Point facing Default building facing degrees
                                Custom script:   call RemoveLocation(udg_Point)
                                Unit - Add Sunder Armor (Buff)  to (Last created unit)
                                Unit - Set level of Sunder Armor (Buff)  for (Last created unit) to ((Integer A) + 1)
                                Unit - Order (Last created unit) to Night Elf Druid Of The Talon - Faerie Fire (Attacked unit)
                                Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
                                Set Has_Sunder = True
                            Else - Actions
                                Set Has_Sunder = True
                    Else - Actions
                        Do nothing
        If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            If - Conditions
                Has_Sunder Equal to False
            Then - Actions
                Set Point = (Position of (Attacking unit))
                Unit - Create 1 Dummy Caster for (Owner of (Attacking unit)) at Point facing Default building facing degrees
                Custom script:   call RemoveLocation(udg_Point)
                Unit - Add Sunder Armor (Buff)  to (Last created unit)
                Unit - Set level of Sunder Armor (Buff)  for (Last created unit) to ((Level of Sunder Armor  for (Attacking unit)) - 4)
                Unit - Order (Last created unit) to Night Elf Druid Of The Talon - Faerie Fire (Attacked unit)
                Unit - Add a 2.00 second Generic expiration timer to (Last created unit)
                Set Has_Sunder = True
            Else - Actions
                Do nothing

The problem is, whenever the hero with sunder armor attack for the first time in the game, the screen freezes for a moment, how can i prevent this.
 

Exide

I am amazingly focused right now!
Reaction score
448
>The problem is, whenever the hero with sunder armor attack for the first time in the game, the screen freezes for a moment, how can i prevent this.
Try preloading a unit with the custom abilities that your spell uses.
-Simply create a new unit, give it all the ability (including the dummy unit's faerie fire and whatnot) and place it on the map.
Then have a trigger remove the unit after 0.1 second of game time-
 

Sirroelivan

Gunnerkrigg Court
Reaction score
95
Yep, that fixed it. Thanks!
Guess loading an ability with 30 different buffs does cause lagg.:D
 

Exide

I am amazingly focused right now!
Reaction score
448
Yep, that fixed it. Thanks!
Guess loading an ability with 30 different buffs does cause lagg.:D

You should probably preload all your custom abilities.
(The loading time (lag) is transfered from In-Game to the Map Loading Time.)
OffTopic (sort of); I believe standard buffs and abilities don't cause first-time-cast-lag.. But I can't be bothered to find out. :p
 

AceHart

Your Friendly Neighborhood Admin
Reaction score
1,495
> I believe standard buffs and abilities don't cause first-time-cast-lag

Well, anything that needs to be loaded... needs to be loaded.
Melee games for example use a huge list of stuff-to-preload that includes even most unit sounds and buttons like upgrades...
 
General chit-chat
Help Users
  • No one is chatting at the moment.

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials

      Network Sponsors

      Apex Steel Pipe - Buys and sells Steel Pipe.
      Top