warscript 0.0.1-dev.87bdb89 → 0.0.1-dev.8895ff6

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 (118) hide show
  1. package/attributes.d.ts +1 -0
  2. package/attributes.lua +9 -0
  3. package/core/types/frame.lua +24 -21
  4. package/core/types/player.d.ts +16 -0
  5. package/core/types/player.lua +60 -15
  6. package/core/types/playerCamera.d.ts +2 -0
  7. package/core/types/playerCamera.lua +123 -5
  8. package/core/types/tileCell.d.ts +11 -1
  9. package/core/types/tileCell.lua +97 -0
  10. package/core/types/timer.d.ts +3 -1
  11. package/core/types/timer.lua +27 -2
  12. package/decl/native.d.ts +6 -4
  13. package/destroyable.d.ts +1 -0
  14. package/destroyable.lua +9 -0
  15. package/engine/behavior.d.ts +14 -1
  16. package/engine/behavior.lua +230 -70
  17. package/engine/behaviour/ability/apply-buff.lua +5 -5
  18. package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
  19. package/engine/behaviour/ability/emulate-impact.lua +2 -1
  20. package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
  21. package/engine/behaviour/ability/remove-buffs.lua +21 -0
  22. package/engine/behaviour/ability/restore-mana.d.ts +1 -1
  23. package/engine/behaviour/ability/restore-mana.lua +6 -6
  24. package/engine/behaviour/ability.d.ts +2 -1
  25. package/engine/behaviour/ability.lua +9 -17
  26. package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
  27. package/engine/behaviour/unit/stun-immunity.lua +57 -31
  28. package/engine/behaviour/unit.d.ts +26 -5
  29. package/engine/behaviour/unit.lua +180 -27
  30. package/engine/buff.d.ts +21 -8
  31. package/engine/buff.lua +187 -121
  32. package/engine/internal/ability.d.ts +3 -1
  33. package/engine/internal/ability.lua +34 -11
  34. package/engine/internal/item/ability.lua +51 -1
  35. package/engine/internal/item+owner.lua +12 -6
  36. package/engine/internal/item.d.ts +13 -15
  37. package/engine/internal/item.lua +63 -49
  38. package/engine/internal/mechanics/cast-ability.lua +6 -3
  39. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  40. package/engine/internal/misc/frame-coordinates.lua +21 -0
  41. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  42. package/engine/internal/misc/get-terrain-z.lua +11 -0
  43. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  44. package/engine/internal/misc/player-local-handle.lua +5 -0
  45. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
  46. package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
  47. package/engine/internal/unit/ability.d.ts +35 -5
  48. package/engine/internal/unit/ability.lua +96 -21
  49. package/engine/internal/unit/attributes.d.ts +17 -0
  50. package/engine/internal/unit/attributes.lua +46 -0
  51. package/engine/internal/unit/bonus.d.ts +2 -0
  52. package/engine/internal/unit/bonus.lua +10 -0
  53. package/engine/internal/unit/fly-height.d.ts +7 -0
  54. package/engine/internal/unit/fly-height.lua +20 -0
  55. package/engine/internal/unit/interrupts.d.ts +12 -0
  56. package/engine/internal/unit/interrupts.lua +28 -0
  57. package/engine/internal/unit/main-selected.lua +12 -27
  58. package/engine/internal/unit/order.d.ts +20 -0
  59. package/engine/internal/unit/order.lua +136 -0
  60. package/engine/internal/unit/scale.d.ts +7 -0
  61. package/engine/internal/unit/scale.lua +20 -0
  62. package/engine/internal/unit+ability.lua +10 -1
  63. package/engine/internal/unit-missile-launch.lua +52 -14
  64. package/engine/internal/unit.d.ts +19 -23
  65. package/engine/internal/unit.lua +171 -190
  66. package/engine/local-client.d.ts +2 -0
  67. package/engine/local-client.lua +30 -0
  68. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  69. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  70. package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
  71. package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
  72. package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
  73. package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
  74. package/engine/object-data/entry/ability-type.lua +5 -4
  75. package/engine/object-data/entry/destructible-type.d.ts +27 -1
  76. package/engine/object-data/entry/destructible-type.lua +155 -0
  77. package/engine/object-data/entry/unit-type.d.ts +15 -2
  78. package/engine/object-data/entry/unit-type.lua +135 -33
  79. package/engine/object-field/ability.d.ts +3 -3
  80. package/engine/object-field/ability.lua +7 -6
  81. package/engine/object-field/unit.d.ts +31 -5
  82. package/engine/object-field/unit.lua +95 -0
  83. package/engine/object-field.d.ts +13 -3
  84. package/engine/object-field.lua +279 -133
  85. package/engine/random.d.ts +9 -0
  86. package/engine/random.lua +13 -0
  87. package/engine/standard/fields/ability.d.ts +2 -2
  88. package/engine/standard/fields/ability.lua +2 -2
  89. package/engine/standard/fields/unit.d.ts +12 -0
  90. package/engine/standard/fields/unit.lua +20 -0
  91. package/engine/synchronization.d.ts +11 -0
  92. package/engine/synchronization.lua +77 -0
  93. package/engine/text-tag.d.ts +26 -3
  94. package/engine/text-tag.lua +217 -11
  95. package/engine/unit.d.ts +5 -0
  96. package/engine/unit.lua +5 -0
  97. package/net/socket.lua +1 -1
  98. package/objutil/buff.lua +10 -8
  99. package/package.json +2 -2
  100. package/patch-lualib.lua +1 -1
  101. package/utility/arrays.d.ts +1 -0
  102. package/utility/arrays.lua +8 -0
  103. package/utility/callback-array.d.ts +17 -0
  104. package/utility/callback-array.lua +61 -0
  105. package/utility/functions.d.ts +7 -0
  106. package/utility/functions.lua +12 -0
  107. package/utility/linked-map.d.ts +26 -0
  108. package/utility/linked-map.lua +66 -0
  109. package/utility/linked-set.d.ts +1 -0
  110. package/utility/linked-set.lua +23 -1
  111. package/utility/lua-maps.d.ts +12 -2
  112. package/utility/lua-maps.lua +37 -2
  113. package/utility/lua-sets.d.ts +1 -0
  114. package/utility/lua-sets.lua +4 -0
  115. package/utility/records.lua +20 -1
  116. package/utility/types.d.ts +3 -0
  117. package/core/types/order.d.ts +0 -26
  118. package/core/types/order.lua +0 -65
package/engine/buff.d.ts CHANGED
@@ -13,6 +13,7 @@ import { UnitBehavior } from "./behaviour/unit";
13
13
  import type { Widget } from "../core/types/widget";
14
14
  import { Destructor } from "../destroyable";
15
15
  import { Event } from "../event";
16
+ import { AbilityBehavior } from "./behaviour/ability";
16
17
  export type BuffConstructor<T extends Buff<any> = Buff<any>, Args extends any[] = any> = OmitConstructor<typeof Buff<any>> & (new (...args: Args) => T);
17
18
  type EnumParameterValueType<T extends number> = T | AbilityEnumLevelField<T>;
18
19
  type NumberParameterValueType = number | AbilityNumberField | AbilityNumberLevelField;
@@ -30,8 +31,10 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
30
31
  source?: Unit;
31
32
  behaviorConstructors?: (new (unit: Unit) => UnitBehavior)[];
32
33
  abilityTypeIds?: Record<AbilityTypeId, {
33
- [numberField: (AbilityNumberField | AbilityNumberLevelField) & symbol]: NumberParameterValueType;
34
- } & {
34
+ readonly fields?: [
35
+ AbilityNumberField | AbilityNumberLevelField,
36
+ NumberParameterValueType
37
+ ][];
35
38
  /** Default `true`. */
36
39
  readonly isButtonVisible?: boolean;
37
40
  /** Default is the level of the source ability or 0 if it is absent. */
@@ -56,6 +59,7 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
56
59
  armorIncreaseFactor?: NumberParameterValueType;
57
60
  attackSpeedIncreaseFactor?: NumberParameterValueType;
58
61
  movementSpeedIncreaseFactor?: NumberParameterValueType;
62
+ manaRegenerationRateIncreaseFactor?: NumberParameterValueType;
59
63
  evasionProbability?: NumberParameterValueType;
60
64
  missProbability?: NumberParameterValueType;
61
65
  damageFactor?: NumberParameterValueType;
@@ -79,6 +83,7 @@ export type BuffParameters<T extends Buff<any> = Buff> = Buff extends T ? {
79
83
  healingOnExpiration?: NumberParameterValueType;
80
84
  killsOnExpiration?: BooleanParameterValueType;
81
85
  explodesOnExpiration?: BooleanParameterValueType;
86
+ abilityCooldownFactor?: NumberParameterValueType;
82
87
  uniqueGroup?: BuffUniqueGroup;
83
88
  } : BuffParameters & (T extends Buff<infer AdditionalParameters> ? AdditionalParameters : object);
84
89
  declare const enum BuffPropertyKey {
@@ -124,7 +129,9 @@ declare const enum BuffPropertyKey {
124
129
  PROVIDES_INVULNERABILITY = 139,
125
130
  KILLS_ON_EXPIRATION = 140,
126
131
  EXPLODES_ON_EXPIRATION = 141,
127
- MISS_PROBABILITY = 142
132
+ MISS_PROBABILITY = 142,
133
+ ABILITY_COOLDOWN_FACTOR = 143,
134
+ ABILITY_COOLDOWN_MODIFIER = 144
128
135
  }
129
136
  export declare const enum BuffTypeIdSelectionPolicy {
130
137
  LEAST_DURATION = 0
@@ -138,7 +145,7 @@ export type BuffConstructorParameters<AdditionalParameters extends BuffAdditiona
138
145
  polarity: BuffPolarityParameterType,
139
146
  resistanceType: BuffResistanceTypeParameterType,
140
147
  ...abilityOrParameters: [
141
- ability?: Ability,
148
+ ability?: Ability | AbilityBehavior,
142
149
  parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>
143
150
  ] | [parameters?: BuffParameters & Omit<AdditionalParameters, keyof BuffParameters>]
144
151
  ];
@@ -187,6 +194,8 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
187
194
  private [BuffPropertyKey.PROVIDES_INVULNERABILITY]?;
188
195
  private [BuffPropertyKey.KILLS_ON_EXPIRATION]?;
189
196
  private [BuffPropertyKey.EXPLODES_ON_EXPIRATION]?;
197
+ private [BuffPropertyKey.ABILITY_COOLDOWN_FACTOR]?;
198
+ private [BuffPropertyKey.ABILITY_COOLDOWN_MODIFIER]?;
190
199
  protected static readonly defaultParameters: BuffParameters;
191
200
  get source(): Unit;
192
201
  readonly typeId: ApplicableBuffTypeId;
@@ -201,11 +210,8 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
201
210
  private readonly _spellStealPriority?;
202
211
  private readonly _learnLevelMinimum?;
203
212
  private readonly [BuffPropertyKey.MISS_PROBABILITY]?;
204
- private _bonusIdByBonusType?;
205
213
  private readonly _abilityTypeIds?;
206
214
  private _behaviors?;
207
- private getUnitBonus;
208
- private addOrUpdateOrRemoveUnitBonus;
209
215
  constructor(target: Unit, ...parameters: BuffConstructorParameters<AdditionalParameters>);
210
216
  get level(): number;
211
217
  get remainingDamageOverDuration(): number;
@@ -262,9 +268,15 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
262
268
  set movementSpeedIncreaseFactor(movementSpeedIncreaseFactor: number);
263
269
  get evasionProbability(): number;
264
270
  set evasionProbability(evasionProbability: number);
271
+ get manaRegenerationRateIncreaseFactor(): number;
272
+ set manaRegenerationRateIncreaseFactor(manaRegenerationRateIncreaseFactor: number);
265
273
  get duration(): number;
266
274
  get remainingDuration(): number;
267
275
  set remainingDuration(remainingDuration: number);
276
+ get abilityCooldownFactor(): number;
277
+ set abilityCooldownFactor(abilityCooldownFactor: number);
278
+ onAbilityGained(ability: Ability): void;
279
+ onAbilityLost(ability: Ability): void;
268
280
  flashEffect(...parameters: [
269
281
  ...widgetOrXY: [] | [Widget] | [x: number, x: number],
270
282
  ...parametersOrDuration: [] | [EffectParameters] | [number]
@@ -278,6 +290,7 @@ export declare class Buff<AdditionalParameters extends Prohibit<Record<string, a
278
290
  onDeath(source: Unit | undefined): void;
279
291
  onDamageDealt(target: Unit, event: DamageEvent): void;
280
292
  onDamageReceived(source: Unit | undefined, event: DamageEvent): void;
281
- static readonly destroyEvent: Event<[Buff<object>]>;
293
+ static readonly createdEvent: Event<[Buff<object>]>;
294
+ static readonly beingDestroyedEvent: Event<[Buff<object>]>;
282
295
  }
283
296
  export {};