Greetings, everyone!
I'm currently working on a Druid hero, and I've been facing a weird problem:
The game freezes at 8~9 minutes.
"But Paulo, are there any loops running in this time window?"
Yes, there are, but I disabled them, and the Druid keeps freezing the game.
"Have you triedturning it off then on again? isolating his abilities to check which one is the problematic one?"
Yes, I did, many, many times, and I came to the conclusion that using Thorny Field (the strongest suspect) and Wild Form during a run ensures the freezing, while using only one of them... doesnt.
Here are his abilities' triggers:
I'm... completely lost on how to pinpoint what exactly is freezing, but it's sure that using Wild Form and Thorny Field WILL freeze the game around the 8~9 minutes mark.
EDIT: After a lot of tests, the issue was that I set Flame Strike's "Half Damage Interval" as 0.00, which was somehow stressing the game until it froze.
I'm currently working on a Druid hero, and I've been facing a weird problem:
The game freezes at 8~9 minutes.
"But Paulo, are there any loops running in this time window?"
Yes, there are, but I disabled them, and the Druid keeps freezing the game.
"Have you tried
Yes, I did, many, many times, and I came to the conclusion that using Thorny Field (the strongest suspect) and Wild Form during a run ensures the freezing, while using only one of them... doesnt.
Here are his abilities' triggers:
- The actual ability (cast by the Druid) is based on Entangling Roots.
- The AoE damage (cast by a dummy) is based on Flame Strike (with @Chaosium's Rooty Impale model replacing the ground flames)
-
Thorny Field
-

Events
-


Unit - A unit Starts the effect of an ability
-
-

Conditions
-


(Ability being cast) Equal to Druid H1 - Thorny Field
-
-

Actions
-


Set VariableSet TES_Caster = (Casting unit)
-


Set VariableSet _Player = (Owner of TES_Caster)
-


Set VariableSet _Integer = (Level of Druid H1 - Thorny Field for TES_Caster)
-


Set VariableSet _Real = (Real((_Integer + 1)))
-


Set VariableSet _Real = (_Real x (1.00 + (0.01 x (Real((Intelligence of TES_Caster (Include bonuses)))))))
-


Ability - Set Ability: (Unit: TES_Caster's Ability with Ability Code: Druid H1 - Thorny Field )'s Real Level Field: Duration - Normal ('adur') of Level: (_Integer - 1) to _Real
-


Ability - Set Ability: (Unit: TES_Caster's Ability with Ability Code: Druid H1 - Thorny Field )'s Real Level Field: Duration - Hero ('ahdu') of Level: (_Integer - 1) to (_Real x 0.50)
-


Set VariableSet TES_Target = (Target unit of ability being cast)
-


Set VariableSet TES_Point = (Position of TES_Target)
-


Unit - Create 1 *Dummy Caster for _Player at TES_Point facing Default building facing degrees
-


Set VariableSet TES_Dummy = (Last created unit)
-


Unit - Add Druid H1a - Thorny Field [AOE Damage over time] to TES_Dummy
-


Set VariableSet _Real = (0.15 x (Real((_Integer + 1))))
-


Set VariableSet _Real = (_Real x (Real((Intelligence of TES_Caster (Include bonuses)))))
-


Set VariableSet _Real = (_Real x 0.25)
-


Ability - Set Ability: (Unit: TES_Dummy's Ability with Ability Code: Druid H1a - Thorny Field [AOE Damage over time])'s Real Level Field: Full Damage Dealt ('Hfs1') of Level: 0 to _Real
-


Unit - Order TES_Dummy to Human Blood Mage - Flame Strike TES_Point
-


Custom script: RemoveLocation(udg_TES_Point)
-
-
- The actual ability (cast by the Druid) is based on Silence, affecting none.
- The AOE rejuvenation effect (cast by the Dummy) is based on Sroll of Regeneration
-
Rejuvenation
-

Events
-


Unit - A unit Starts the effect of an ability
-
-

Conditions
-


(Ability being cast) Equal to Druid H2 - Rejuvenation
-
-

Actions
-


Set VariableSet TES_Caster = (Casting unit)
-


Set VariableSet TES_Point = (Target point of ability being cast)
-


Set VariableSet _Player = (Owner of TES_Caster)
-


Set VariableSet _Integer = (Level of Druid H2 - Rejuvenation for TES_Caster)
-


-------- - --------
-


Set VariableSet _Real = (Real((_Integer + 1)))
-


Set VariableSet _Real = (_Real x 3.00)
-


Set VariableSet _Real = (_Real x (Real((Intelligence of TES_Caster (Include bonuses)))))
-


-------- - --------
-


Unit - Create 1 *Dummy Caster for _Player at TES_Point facing Default building facing degrees
-


Set VariableSet TES_Dummy = (Last created unit)
-


Unit - Add Druid H2a - Rejuvenation [AOE Rejuv] to TES_Dummy
-


Ability - Set Ability: (Unit: TES_Dummy's Ability with Ability Code: Druid H2a - Rejuvenation [AOE Rejuv] )'s Real Level Field: Life Regenerated ('irl1') of Level: 0 to _Real
-


Custom script: IssueImmediateOrderById(udg_TES_Dummy, 852609)
-


Custom script: RemoveLocation(udg_TES_Point)
-
-
-
Wild Form
-

Events
-


Unit - A unit Starts the effect of an ability
-
-

Conditions
-


(Ability being cast) Equal to Druid H4 - Wild Form
-
-

Actions
-


Set VariableSet _Unit = (Casting unit)
-


Set VariableSet _UnitType = (Unit-type of _Unit)
-


If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-



If - Conditions
-




(Level of Druid H5 - Attribute Bonus for _Unit) Not equal to 0
-
-



Then - Actions
-




Set VariableSet _Ability = (Unit: _Unit's Ability with Ability Code: Druid H5 - Attribute Bonus )
-




Set VariableSet _Integer = (Level of Druid H5 - Attribute Bonus for _Unit)
-




If (All Conditions are True) then do (Then Actions) else do (Else Actions)
-





If - Conditions
-






_UnitType Equal to Druid [Wise Form]
-
-





Then - Actions
-






Ability - Set Ability: _Ability's Integer Level Field: Strength Bonus ('Istr') of Level: (_Integer - 1) to (24 x _Integer)
-






Ability - Set Ability: _Ability's Integer Level Field: Agility Bonus ('Iagi') of Level: (_Integer - 1) to (12 x _Integer)
-






Ability - Set Ability: _Ability's Integer Level Field: Intelligence Bonus ('Iint') of Level: (_Integer - 1) to 0
-
-





Else - Actions
-






Ability - Set Ability: _Ability's Integer Level Field: Strength Bonus ('Istr') of Level: (_Integer - 1) to (12 x _Integer)
-






Ability - Set Ability: _Ability's Integer Level Field: Agility Bonus ('Iagi') of Level: (_Integer - 1) to (6 x _Integer)
-






Ability - Set Ability: _Ability's Integer Level Field: Intelligence Bonus ('Iint') of Level: (_Integer - 1) to (18 x _Integer)
-
-
-
-



Else - Actions
-
-
-
I'm... completely lost on how to pinpoint what exactly is freezing, but it's sure that using Wild Form and Thorny Field WILL freeze the game around the 8~9 minutes mark.
EDIT: After a lot of tests, the issue was that I set Flame Strike's "Half Damage Interval" as 0.00, which was somehow stressing the game until it froze.
Last edited:

