warscript 0.0.1-dev.4363c65 → 0.0.1-dev.46595c8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/attributes.d.ts +5 -0
  2. package/attributes.lua +8 -1
  3. package/config.d.ts +5 -0
  4. package/config.lua +10 -0
  5. package/core/types/effect.d.ts +14 -6
  6. package/core/types/effect.lua +131 -35
  7. package/core/types/frame.d.ts +4 -0
  8. package/core/types/frame.lua +71 -0
  9. package/core/types/sound.d.ts +17 -24
  10. package/core/types/sound.lua +99 -24
  11. package/core/types/timer.d.ts +6 -7
  12. package/core/types/timer.lua +18 -21
  13. package/core/util.d.ts +1 -1
  14. package/core/util.lua +18 -1
  15. package/decl/native.d.ts +840 -786
  16. package/engine/behavior.d.ts +2 -2
  17. package/engine/behavior.lua +6 -6
  18. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  19. package/engine/behaviour/ability/always-enabled.lua +31 -0
  20. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  21. package/engine/behaviour/ability/apply-buff.lua +32 -0
  22. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  23. package/engine/behaviour/ability/damage.d.ts +9 -3
  24. package/engine/behaviour/ability/damage.lua +26 -38
  25. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  26. package/engine/behaviour/ability/emulate-impact.lua +42 -0
  27. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  28. package/engine/behaviour/ability/instant-impact.lua +4 -19
  29. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  30. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  31. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  32. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  33. package/engine/behaviour/ability.d.ts +20 -4
  34. package/engine/behaviour/ability.lua +112 -39
  35. package/engine/behaviour/unit.d.ts +22 -0
  36. package/engine/behaviour/unit.lua +134 -4
  37. package/engine/buff.d.ts +73 -47
  38. package/engine/buff.lua +329 -236
  39. package/engine/internal/ability.d.ts +20 -13
  40. package/engine/internal/ability.lua +97 -76
  41. package/engine/internal/item/ability.lua +112 -4
  42. package/engine/internal/item+owner.lua +2 -2
  43. package/engine/internal/item.d.ts +7 -4
  44. package/engine/internal/item.lua +131 -28
  45. package/engine/internal/mechanics/ability-duration.lua +1 -1
  46. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  47. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  48. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  49. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  50. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  51. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  52. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  53. package/engine/internal/object-data/evasion-probability.lua +16 -0
  54. package/engine/internal/unit/ability.d.ts +15 -1
  55. package/engine/internal/unit/ability.lua +50 -14
  56. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  57. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  58. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  59. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  60. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  61. package/engine/internal/unit/allowed-targets.lua +9 -1
  62. package/engine/internal/unit/bonus.d.ts +6 -2
  63. package/engine/internal/unit/bonus.lua +23 -1
  64. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  65. package/engine/internal/unit/ignore-events-items.lua +5 -0
  66. package/engine/internal/unit/item.d.ts +24 -0
  67. package/engine/internal/unit/item.lua +78 -0
  68. package/engine/internal/unit/main-selected.d.ts +13 -0
  69. package/engine/internal/unit/main-selected.lua +51 -0
  70. package/engine/internal/unit/order.d.ts +20 -0
  71. package/engine/internal/unit/order.lua +127 -0
  72. package/engine/internal/unit+ability.lua +2 -2
  73. package/engine/internal/unit+damage.d.ts +2 -11
  74. package/engine/internal/unit+damage.lua +10 -14
  75. package/engine/internal/unit+spellSteal.lua +1 -2
  76. package/engine/internal/unit-missile-launch.lua +25 -6
  77. package/engine/internal/unit.d.ts +52 -13
  78. package/engine/internal/unit.lua +344 -116
  79. package/engine/internal/utility.lua +12 -0
  80. package/engine/lightning.d.ts +12 -5
  81. package/engine/lightning.lua +48 -14
  82. package/engine/local-client.d.ts +7 -2
  83. package/engine/local-client.lua +82 -0
  84. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  85. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  86. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -2
  87. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  88. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  89. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  90. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  91. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  92. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  93. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  94. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  95. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  96. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  97. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  98. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  99. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  100. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  101. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  102. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  103. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  104. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  105. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  106. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  107. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  108. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  109. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  110. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  111. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  112. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  113. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  114. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  115. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  116. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  117. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  118. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  119. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  120. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  121. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  122. package/engine/object-data/entry/ability-type/web.lua +52 -0
  123. package/engine/object-data/entry/ability-type.d.ts +19 -17
  124. package/engine/object-data/entry/ability-type.lua +89 -33
  125. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  126. package/engine/object-data/entry/buff-type.d.ts +6 -12
  127. package/engine/object-data/entry/buff-type.lua +13 -29
  128. package/engine/object-data/entry/destructible-type.d.ts +1 -1
  129. package/engine/object-data/entry/item-type.d.ts +15 -1
  130. package/engine/object-data/entry/item-type.lua +93 -2
  131. package/engine/object-data/entry/lightning-type.d.ts +1 -1
  132. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  133. package/engine/object-data/entry/sound-preset.lua +140 -0
  134. package/engine/object-data/entry/unit-type.d.ts +10 -3
  135. package/engine/object-data/entry/unit-type.lua +155 -92
  136. package/engine/object-data/entry/upgrade.d.ts +1 -1
  137. package/engine/object-data/entry/upgrade.lua +4 -4
  138. package/engine/object-data/entry.d.ts +16 -14
  139. package/engine/object-data/entry.lua +60 -32
  140. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  141. package/engine/object-field/ability.d.ts +10 -4
  142. package/engine/object-field/ability.lua +4 -1
  143. package/engine/object-field/unit.d.ts +46 -3
  144. package/engine/object-field/unit.lua +173 -7
  145. package/engine/object-field.d.ts +17 -6
  146. package/engine/object-field.lua +187 -89
  147. package/engine/standard/entries/buff-type.d.ts +3 -0
  148. package/engine/standard/entries/buff-type.lua +3 -0
  149. package/engine/standard/entries/sound-preset.d.ts +10 -0
  150. package/engine/standard/entries/sound-preset.lua +10 -0
  151. package/engine/standard/fields/ability.d.ts +2 -0
  152. package/engine/standard/fields/ability.lua +2 -0
  153. package/engine/text-tag.d.ts +12 -1
  154. package/engine/text-tag.lua +44 -10
  155. package/engine/unit.d.ts +4 -0
  156. package/engine/unit.lua +4 -0
  157. package/index.d.ts +1 -0
  158. package/index.lua +1 -0
  159. package/net/socket.d.ts +7 -1
  160. package/net/socket.lua +45 -4
  161. package/network.d.ts +1 -0
  162. package/network.lua +3 -2
  163. package/objutil/buff.lua +2 -3
  164. package/objutil/unit.lua +8 -0
  165. package/package.json +2 -2
  166. package/patch-lua.d.ts +0 -0
  167. package/patch-lua.lua +10 -0
  168. package/utility/arrays.d.ts +9 -1
  169. package/utility/arrays.lua +37 -3
  170. package/utility/functions.d.ts +1 -0
  171. package/utility/functions.lua +1 -0
  172. package/utility/lazy.d.ts +2 -0
  173. package/utility/lazy.lua +14 -0
  174. package/utility/linked-set.d.ts +1 -0
  175. package/utility/linked-set.lua +3 -0
  176. package/utility/lua-maps.d.ts +4 -0
  177. package/utility/lua-maps.lua +20 -0
  178. package/utility/lua-sets.d.ts +1 -0
  179. package/utility/lua-sets.lua +3 -0
  180. package/utility/reflection.lua +11 -7
  181. package/core/types/order.d.ts +0 -25
  182. package/core/types/order.lua +0 -55
package/engine/buff.d.ts CHANGED
@@ -5,16 +5,21 @@ import { Ability } from "./internal/ability";
5
5
  import { AbilityTypeId } from "./object-data/entry/ability-type";
6
6
  import { BuffPolarity } from "./object-data/auxiliary/buff-polarity";
7
7
  import { BuffResistanceType } from "./object-data/auxiliary/buff-resistance-type";
8
- import { AbilityBooleanField, AbilityBooleanLevelField, AbilityCombatClassificationsLevelField, AbilityDependentValue, AbilityIntegerField, AbilityIntegerLevelField, AbilityNumberField, AbilityNumberLevelField } from "./object-field/ability";
8
+ import { AbilityBooleanField, AbilityBooleanLevelField, AbilityCombatClassificationsLevelField, AbilityDependentValue, AbilityEnumLevelField, AbilityIntegerField, AbilityIntegerLevelField, AbilityNumberField, AbilityNumberLevelField } from "./object-field/ability";
9
9
  import { CombatClassifications } from "./object-data/auxiliary/combat-classification";
10
- import { IsExactlyAny, NonEmptyArray, Prohibit } from "../utility/types";
10
+ import { IsExactlyAny, Prohibit, ReadonlyNonEmptyArray } from "../utility/types";
11
+ import { EffectParameters } from "../core/types/effect";
11
12
  import { UnitBehavior } from "./behaviour/unit";
12
13
  import type { Widget } from "../core/types/widget";
13
14
  import { Destructor } from "../destroyable";
15
+ import { Event } from "../event";
14
16
  export type BuffConstructor<T extends Buff<any> = Buff<any>, Args extends any[] = any> = OmitConstructor<typeof Buff<any>> & (new (...args: Args) => T);
17
+ type EnumParameterValueType<T extends number> = T | AbilityEnumLevelField<T>;
15
18
  type NumberParameterValueType = number | AbilityNumberField | AbilityNumberLevelField;
16
19
  type IntegerParameterValueType = number | AbilityIntegerField | AbilityIntegerLevelField;
17
20
  type BooleanParameterValueType = boolean | AbilityBooleanField | AbilityBooleanLevelField;
21
+ export type BuffPolarityParameterType = EnumParameterValueType<BuffPolarity>;
22
+ export type BuffResistanceTypeParameterType = EnumParameterValueType<BuffResistanceType>;
18
23
  export declare class BuffUniqueGroup {
19
24
  }
20
25
  export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
@@ -51,11 +56,15 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
51
56
  armorIncreaseFactor?: NumberParameterValueType;
52
57
  attackSpeedIncreaseFactor?: NumberParameterValueType;
53
58
  movementSpeedIncreaseFactor?: NumberParameterValueType;
59
+ evasionProbability?: NumberParameterValueType;
60
+ missProbability?: NumberParameterValueType;
61
+ damageFactor?: NumberParameterValueType;
54
62
  receivedDamageFactor?: NumberParameterValueType;
55
63
  receivedMagicDamageFactor?: NumberParameterValueType;
56
64
  durationIncreaseOnAutoAttack?: NumberParameterValueType;
57
65
  maximumRemainingDuration?: NumberParameterValueType;
58
66
  maximumDuration?: NumberParameterValueType;
67
+ turnsIntoGhost?: BooleanParameterValueType;
59
68
  stuns?: BooleanParameterValueType;
60
69
  ignoresStunImmunity?: BooleanParameterValueType;
61
70
  providesStunImmunity?: BooleanParameterValueType;
@@ -73,46 +82,49 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
73
82
  uniqueGroup?: BuffUniqueGroup;
74
83
  } : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters : object);
75
84
  declare const enum BuffPropertyKey {
76
- UNIT = 100,
77
- SOURCE = 101,
78
- DURATION = 102,
79
- UNIQUE_GROUP = 103,
80
- EFFECT_MODEL_PATH = 104,
81
- SPECIAL_EFFECT_MODEL_PATH = 105,
82
- DURATION_INCREASE_ON_AUTO_ATTACK = 106,
83
- MAXIMUM_DURATION = 107,
84
- MAXIMUM_REMAINING_DURATION = 108,
85
- DAMAGE_OVER_DURATION = 109,
86
- DAMAGE_PER_INTERVAL = 110,
87
- DAMAGE_INTERVAL = 111,
88
- REMAINING_DAMAGE_OVER_DURATION = 112,
89
- DAMAGE_INTERVAL_TIMER = 113,
90
- HEALING_OVER_DURATION = 114,
91
- HEALING_PER_INTERVAL = 115,
92
- HEALING_INTERVAL = 116,
93
- REMAINING_HEALING_OVER_DURATION = 117,
94
- HEALING_INTERVAL_TIMER = 118,
95
- DAMAGE_ON_EXPIRATION = 119,
96
- HEALING_ON_EXPIRATION = 120,
97
- DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS = 121,
98
- DAMAGE_UPON_DEATH = 122,
99
- DAMAGE_UPON_DEATH_RANGE = 123,
100
- MEDIUM_DAMAGE_UPON_DEATH = 124,
101
- MEDIUM_DAMAGE_UPON_DEATH_RANGE = 125,
102
- SMALL_DAMAGE_UPON_DEATH = 126,
103
- SMALL_DAMAGE_UPON_DEATH_RANGE = 127,
104
- AUTO_ATTACK_COUNT = 128,
105
- MAXIMUM_AUTO_ATTACK_COUNT = 129,
106
- DAMAGE_DEALT_EVENT_COUNT = 130,
107
- MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 131,
108
- DAMAGE_RECEIVED_EVENT_COUNT = 132,
109
- MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 133,
110
- STUNS = 134,
111
- IGNORES_STUN_IMMUNITY = 135,
112
- DISABLES_AUTO_ATTACK = 136,
113
- PROVIDES_INVULNERABILITY = 137,
114
- KILLS_ON_EXPIRATION = 138,
115
- EXPLODES_ON_EXPIRATION = 139
85
+ STATE = 100,
86
+ UNIT = 101,
87
+ SOURCE = 102,
88
+ DURATION = 103,
89
+ UNIQUE_GROUP = 104,
90
+ EFFECT_MODEL_PATH = 105,
91
+ SPECIAL_EFFECT_MODEL_PATH = 106,
92
+ DURATION_INCREASE_ON_AUTO_ATTACK = 107,
93
+ MAXIMUM_DURATION = 108,
94
+ MAXIMUM_REMAINING_DURATION = 109,
95
+ DAMAGE_OVER_DURATION = 110,
96
+ DAMAGE_PER_INTERVAL = 111,
97
+ DAMAGE_INTERVAL = 112,
98
+ REMAINING_DAMAGE_OVER_DURATION = 113,
99
+ DAMAGE_INTERVAL_TIMER = 114,
100
+ HEALING_OVER_DURATION = 115,
101
+ HEALING_PER_INTERVAL = 116,
102
+ HEALING_INTERVAL = 117,
103
+ REMAINING_HEALING_OVER_DURATION = 118,
104
+ HEALING_INTERVAL_TIMER = 119,
105
+ DAMAGE_ON_EXPIRATION = 120,
106
+ HEALING_ON_EXPIRATION = 121,
107
+ DAMAGE_UPON_DEATH_ALLOWED_TARGET_CLASSIFICATIONS = 122,
108
+ DAMAGE_UPON_DEATH = 123,
109
+ DAMAGE_UPON_DEATH_RANGE = 124,
110
+ MEDIUM_DAMAGE_UPON_DEATH = 125,
111
+ MEDIUM_DAMAGE_UPON_DEATH_RANGE = 126,
112
+ SMALL_DAMAGE_UPON_DEATH = 127,
113
+ SMALL_DAMAGE_UPON_DEATH_RANGE = 128,
114
+ AUTO_ATTACK_COUNT = 129,
115
+ MAXIMUM_AUTO_ATTACK_COUNT = 130,
116
+ DAMAGE_DEALT_EVENT_COUNT = 131,
117
+ MAXIMUM_DAMAGE_DEALT_EVENT_COUNT = 132,
118
+ DAMAGE_RECEIVED_EVENT_COUNT = 133,
119
+ MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT = 134,
120
+ TURNS_INTO_GHOST = 135,
121
+ STUNS = 136,
122
+ IGNORES_STUN_IMMUNITY = 137,
123
+ DISABLES_AUTO_ATTACK = 138,
124
+ PROVIDES_INVULNERABILITY = 139,
125
+ KILLS_ON_EXPIRATION = 140,
126
+ EXPLODES_ON_EXPIRATION = 141,
127
+ MISS_PROBABILITY = 142
116
128
  }
117
129
  export declare const enum BuffTypeIdSelectionPolicy {
118
130
  LEAST_DURATION = 0
@@ -120,19 +132,20 @@ export declare const enum BuffTypeIdSelectionPolicy {
120
132
  export type BuffAdditionalParameters = Prohibit<Record<string, any>, keyof BuffParameters>;
121
133
  export type BuffConstructorParameters<AdditionalParameters extends BuffAdditionalParameters> = [
122
134
  ...typeId: [ApplicableBuffTypeId] | [
123
- typeIds: NonEmptyArray<ApplicableBuffTypeId>,
135
+ typeIds: ReadonlyNonEmptyArray<ApplicableBuffTypeId>,
124
136
  typeIdSelectionPolicy: BuffTypeIdSelectionPolicy
125
137
  ],
126
- polarity: BuffPolarity,
127
- resistanceType: BuffResistanceType,
138
+ polarity: BuffPolarityParameterType,
139
+ resistanceType: BuffResistanceTypeParameterType,
128
140
  ...abilityOrParameters: [
129
- ability: Ability,
141
+ ability?: Ability,
130
142
  parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
131
143
  ] | [parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>]
132
144
  ];
133
145
  export declare class Buff<AdditionalParameters extends Prohibit<Record<string, any>, keyof BuffParameters> = object> extends UnitBehavior {
134
146
  private _unit;
135
147
  protected readonly __additionalParametersBrand?: AdditionalParameters;
148
+ private [BuffPropertyKey.STATE];
136
149
  private [BuffPropertyKey.UNIT];
137
150
  private [BuffPropertyKey.SOURCE]?;
138
151
  private [BuffPropertyKey.DURATION];
@@ -167,6 +180,7 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
167
180
  private [BuffPropertyKey.DAMAGE_DEALT_EVENT_COUNT]?;
168
181
  private [BuffPropertyKey.MAXIMUM_DAMAGE_RECEIVED_EVENT_COUNT]?;
169
182
  private [BuffPropertyKey.DAMAGE_RECEIVED_EVENT_COUNT]?;
183
+ private [BuffPropertyKey.TURNS_INTO_GHOST]?;
170
184
  private [BuffPropertyKey.STUNS]?;
171
185
  private [BuffPropertyKey.IGNORES_STUN_IMMUNITY]?;
172
186
  private [BuffPropertyKey.DISABLES_AUTO_ATTACK]?;
@@ -186,6 +200,7 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
186
200
  private readonly _level?;
187
201
  private readonly _spellStealPriority?;
188
202
  private readonly _learnLevelMinimum?;
203
+ private readonly [BuffPropertyKey.MISS_PROBABILITY]?;
189
204
  private _bonusIdByBonusType?;
190
205
  private readonly _abilityTypeIds?;
191
206
  private _behaviors?;
@@ -213,10 +228,14 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
213
228
  set damageOnExpiration(damageOnExpiration: number);
214
229
  get healingOnExpiration(): number;
215
230
  set healingOnExpiration(healingOnExpiration: number);
231
+ get damageFactor(): number;
232
+ set damageFactor(damageFactor: number);
216
233
  get receivedDamageFactor(): number;
217
234
  set receivedDamageFactor(receivedDamageFactor: number);
218
235
  get armorIncrease(): number;
219
236
  set armorIncrease(armorIncrease: number);
237
+ get turnsIntoGhost(): boolean;
238
+ set turnsIntoGhost(turnsIntoGhost: boolean);
220
239
  get stuns(): boolean;
221
240
  set stuns(stuns: boolean);
222
241
  get ignoresStunImmunity(): boolean;
@@ -241,11 +260,17 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
241
260
  set attackSpeedIncreaseFactor(attackSpeedIncreaseFactor: number);
242
261
  get movementSpeedIncreaseFactor(): number;
243
262
  set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: number);
263
+ get evasionProbability(): number;
264
+ set evasionProbability(evasionProbability: number);
244
265
  get duration(): number;
245
266
  get remainingDuration(): number;
246
267
  set remainingDuration(remainingDuration: number);
247
- flashEffect(...parameters: [...widget: [] | [Widget], ...duration: [] | [number]]): void;
268
+ flashEffect(...parameters: [
269
+ ...widgetOrXY: [] | [Widget] | [x: number, x: number],
270
+ ...parametersOrDuration: [] | [EffectParameters] | [number]
271
+ ]): void;
248
272
  flashSpecialEffect(...parameters: [...widget: [] | [Widget], ...duration: [] | [number]]): void;
273
+ protected onCreate(): void;
249
274
  protected onDestroy(): Destructor;
250
275
  static apply<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, ...args: Args): T | undefined;
251
276
  static getByTypeId<T extends Buff<any>, Args extends any[]>(this: BuffConstructor<T, Args>, unit: Unit, typeId: ApplicableBuffTypeId): T | undefined;
@@ -253,5 +278,6 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
253
278
  onDeath(source: Unit | undefined): void;
254
279
  onDamageDealt(target: Unit, event: DamageEvent): void;
255
280
  onDamageReceived(source: Unit | undefined, event: DamageEvent): void;
281
+ static readonly destroyEvent: Event<[Buff<object>]>;
256
282
  }
257
283
  export {};