warscript 0.0.1-dev.59cd31d → 0.0.1-dev.5ca835c

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 (263) hide show
  1. package/attributes.d.ts +18 -0
  2. package/attributes.lua +32 -0
  3. package/binaryreader.d.ts +1 -0
  4. package/binaryreader.lua +3 -0
  5. package/config.d.ts +5 -0
  6. package/config.lua +10 -0
  7. package/core/types/effect.d.ts +14 -6
  8. package/core/types/effect.lua +131 -35
  9. package/core/types/frame.d.ts +8 -1
  10. package/core/types/frame.lua +117 -22
  11. package/core/types/group.d.ts +0 -1
  12. package/core/types/handle.d.ts +2 -1
  13. package/core/types/handle.lua +5 -0
  14. package/core/types/image.d.ts +0 -1
  15. package/core/types/missile.d.ts +2 -2
  16. package/core/types/missile.lua +8 -2
  17. package/core/types/player.d.ts +15 -0
  18. package/core/types/player.lua +56 -14
  19. package/core/types/playerCamera.d.ts +2 -0
  20. package/core/types/playerCamera.lua +123 -5
  21. package/core/types/sound.d.ts +17 -24
  22. package/core/types/sound.lua +99 -24
  23. package/core/types/tileCell.d.ts +11 -1
  24. package/core/types/tileCell.lua +97 -0
  25. package/core/types/timer.d.ts +9 -8
  26. package/core/types/timer.lua +45 -23
  27. package/core/types/unit.lua +8 -0
  28. package/core/util.d.ts +1 -1
  29. package/core/util.lua +18 -1
  30. package/decl/index.d.ts +1 -0
  31. package/decl/native.d.ts +846 -790
  32. package/engine/ability.d.ts +1 -1
  33. package/engine/behavior.d.ts +22 -11
  34. package/engine/behavior.lua +175 -73
  35. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  36. package/engine/behaviour/ability/always-enabled.lua +31 -0
  37. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  38. package/engine/behaviour/ability/apply-buff.lua +32 -0
  39. package/engine/behaviour/ability/apply-unit-behavior.d.ts +5 -1
  40. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  41. package/engine/behaviour/ability/damage.d.ts +39 -11
  42. package/engine/behaviour/ability/damage.lua +83 -37
  43. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  44. package/engine/behaviour/ability/emulate-impact.lua +43 -0
  45. package/engine/behaviour/ability/heal.d.ts +33 -6
  46. package/engine/behaviour/ability/heal.lua +89 -10
  47. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  48. package/engine/behaviour/ability/instant-impact.lua +4 -15
  49. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  50. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  51. package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
  52. package/engine/behaviour/ability/remove-buffs.lua +49 -0
  53. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  54. package/engine/behaviour/ability/restore-mana.lua +29 -0
  55. package/engine/behaviour/ability.d.ts +27 -4
  56. package/engine/behaviour/ability.lua +152 -26
  57. package/engine/behaviour/unit/stun-immunity.d.ts +7 -4
  58. package/engine/behaviour/unit/stun-immunity.lua +52 -27
  59. package/engine/behaviour/unit.d.ts +42 -2
  60. package/engine/behaviour/unit.lua +213 -0
  61. package/engine/buff.d.ts +113 -44
  62. package/engine/buff.lua +508 -217
  63. package/engine/game-map.d.ts +7 -0
  64. package/engine/game-map.lua +32 -0
  65. package/engine/internal/ability.d.ts +23 -14
  66. package/engine/internal/ability.lua +129 -85
  67. package/engine/internal/item/ability.lua +162 -4
  68. package/engine/internal/item+owner.lua +12 -6
  69. package/engine/internal/item.d.ts +20 -19
  70. package/engine/internal/item.lua +191 -74
  71. package/engine/internal/mechanics/ability-duration.lua +1 -1
  72. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  73. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  74. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  75. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  76. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  77. package/engine/internal/misc/frame-coordinates.lua +21 -0
  78. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  79. package/engine/internal/misc/get-terrain-z.lua +11 -0
  80. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  81. package/engine/internal/misc/player-local-handle.lua +5 -0
  82. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  83. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  84. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  85. package/engine/internal/object-data/evasion-probability.lua +16 -0
  86. package/engine/internal/unit/ability.d.ts +45 -1
  87. package/engine/internal/unit/ability.lua +128 -17
  88. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  89. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  90. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  91. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  92. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  93. package/engine/internal/unit/allowed-targets.lua +9 -1
  94. package/engine/internal/unit/bonus.d.ts +11 -8
  95. package/engine/internal/unit/bonus.lua +23 -1
  96. package/engine/internal/unit/fly-height.d.ts +7 -0
  97. package/engine/internal/unit/fly-height.lua +20 -0
  98. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  99. package/engine/internal/unit/ignore-events-items.lua +5 -0
  100. package/engine/internal/unit/item.d.ts +24 -0
  101. package/engine/internal/unit/item.lua +78 -0
  102. package/engine/internal/unit/main-selected.d.ts +13 -0
  103. package/engine/internal/unit/main-selected.lua +36 -0
  104. package/engine/internal/unit/order.d.ts +20 -0
  105. package/engine/internal/unit/order.lua +136 -0
  106. package/engine/internal/unit/scale.d.ts +7 -0
  107. package/engine/internal/unit/scale.lua +20 -0
  108. package/engine/internal/unit+ability.lua +12 -3
  109. package/engine/internal/unit+damage.d.ts +2 -11
  110. package/engine/internal/unit+damage.lua +10 -14
  111. package/engine/internal/unit+spellSteal.lua +1 -2
  112. package/engine/internal/unit+transport.lua +4 -10
  113. package/engine/internal/unit-missile-launch.lua +63 -13
  114. package/engine/internal/unit.d.ts +96 -28
  115. package/engine/internal/unit.lua +648 -241
  116. package/engine/internal/utility.lua +12 -0
  117. package/engine/lightning.d.ts +12 -5
  118. package/engine/lightning.lua +48 -14
  119. package/engine/local-client.d.ts +9 -2
  120. package/engine/local-client.lua +112 -0
  121. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  122. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  123. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  124. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  125. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  126. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  127. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  128. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  129. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  130. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  131. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  132. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  133. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  134. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  135. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  136. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  137. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  138. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  139. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  140. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  141. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  142. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  143. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  144. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  145. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  146. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  147. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  148. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  149. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  150. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  151. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  152. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  153. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  154. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  155. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  156. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  157. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  158. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  159. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  160. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  161. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  162. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  163. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  164. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  165. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  166. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  167. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  168. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  169. package/engine/object-data/entry/ability-type/web.lua +52 -0
  170. package/engine/object-data/entry/ability-type.d.ts +19 -18
  171. package/engine/object-data/entry/ability-type.lua +93 -36
  172. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  173. package/engine/object-data/entry/buff-type/applicable.lua +18 -37
  174. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  175. package/engine/object-data/entry/buff-type.d.ts +6 -13
  176. package/engine/object-data/entry/buff-type.lua +13 -29
  177. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  178. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  179. package/engine/object-data/entry/item-type.d.ts +15 -2
  180. package/engine/object-data/entry/item-type.lua +93 -2
  181. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  182. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  183. package/engine/object-data/entry/sound-preset.lua +140 -0
  184. package/engine/object-data/entry/unit-type.d.ts +61 -5
  185. package/engine/object-data/entry/unit-type.lua +511 -62
  186. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  187. package/engine/object-data/entry/upgrade.d.ts +1 -2
  188. package/engine/object-data/entry/upgrade.lua +4 -4
  189. package/engine/object-data/entry.d.ts +18 -17
  190. package/engine/object-data/entry.lua +60 -32
  191. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  192. package/engine/object-field/ability.d.ts +28 -5
  193. package/engine/object-field/ability.lua +59 -5
  194. package/engine/object-field/unit.d.ts +69 -3
  195. package/engine/object-field/unit.lua +264 -7
  196. package/engine/object-field.d.ts +23 -7
  197. package/engine/object-field.lua +311 -124
  198. package/engine/random.d.ts +10 -0
  199. package/engine/random.lua +22 -0
  200. package/engine/standard/entries/buff-type.d.ts +3 -0
  201. package/engine/standard/entries/buff-type.lua +3 -0
  202. package/engine/standard/entries/sound-preset.d.ts +10 -0
  203. package/engine/standard/entries/sound-preset.lua +10 -0
  204. package/engine/standard/entries/unit-type.d.ts +42 -1
  205. package/engine/standard/entries/unit-type.lua +42 -1
  206. package/engine/standard/fields/ability.d.ts +3 -1
  207. package/engine/standard/fields/ability.lua +3 -1
  208. package/engine/standard/fields/unit.d.ts +6 -0
  209. package/engine/standard/fields/unit.lua +11 -0
  210. package/engine/synchronization.d.ts +11 -0
  211. package/engine/synchronization.lua +77 -0
  212. package/engine/text-tag.d.ts +36 -2
  213. package/engine/text-tag.lua +250 -10
  214. package/engine/unit.d.ts +6 -0
  215. package/engine/unit.lua +15 -2
  216. package/event.d.ts +2 -3
  217. package/event.lua +9 -5
  218. package/global/vec2.lua +1 -0
  219. package/index.d.ts +1 -0
  220. package/index.lua +1 -0
  221. package/lualib_bundle.lua +146 -42
  222. package/math/vec2.d.ts +2 -9
  223. package/math.d.ts +0 -2
  224. package/net/socket.d.ts +7 -1
  225. package/net/socket.lua +45 -4
  226. package/network.d.ts +1 -0
  227. package/network.lua +3 -2
  228. package/objutil/ability.d.ts +0 -1
  229. package/objutil/buff.d.ts +0 -1
  230. package/objutil/buff.lua +3 -4
  231. package/objutil/object.d.ts +0 -1
  232. package/objutil/unit.d.ts +0 -1
  233. package/objutil/unit.lua +8 -0
  234. package/package.json +13 -14
  235. package/patch-lua.d.ts +0 -0
  236. package/patch-lua.lua +10 -0
  237. package/patch-lualib.lua +1 -1
  238. package/property.d.ts +55 -0
  239. package/property.lua +374 -0
  240. package/string.d.ts +30 -0
  241. package/string.lua +14 -0
  242. package/util/stream.d.ts +0 -1
  243. package/utility/arrays.d.ts +13 -5
  244. package/utility/arrays.lua +45 -3
  245. package/utility/bit-set.d.ts +0 -2
  246. package/utility/callback-array.d.ts +17 -0
  247. package/utility/callback-array.lua +61 -0
  248. package/utility/functions.d.ts +8 -0
  249. package/utility/functions.lua +13 -0
  250. package/utility/lazy.d.ts +2 -0
  251. package/utility/lazy.lua +14 -0
  252. package/utility/linked-set.d.ts +13 -3
  253. package/utility/linked-set.lua +27 -3
  254. package/utility/lua-maps.d.ts +16 -4
  255. package/utility/lua-maps.lua +53 -2
  256. package/utility/lua-sets.d.ts +3 -2
  257. package/utility/lua-sets.lua +7 -0
  258. package/utility/reflection.lua +11 -7
  259. package/utility/types.d.ts +6 -2
  260. package/core/mapbounds.d.ts +0 -8
  261. package/core/mapbounds.lua +0 -12
  262. package/core/types/order.d.ts +0 -25
  263. package/core/types/order.lua +0 -55
@@ -1,4 +1,3 @@
1
- /// <reference types="warpack-types/warpack" />
2
1
  /** @noSelfInFile */
3
2
  import { TupleOf } from "../../../utility/types";
4
3
  import { ArmorSoundType } from "../auxiliary/armor-sound-type";
@@ -13,7 +12,9 @@ import { ObjectDataEntryIdGenerator } from "../utility/object-data-entry-id-gene
13
12
  import type { AbilityTypeId } from "./ability-type";
14
13
  import type { UpgradeId } from "./upgrade";
15
14
  import { AnimationQualifier } from "../auxiliary/animation-qualifier";
16
- export type UnitTypeId = ObjectDataEntryId & {
15
+ import { AttackType } from "../auxiliary/attack-type";
16
+ import { ArmorType } from "../auxiliary/armor-type";
17
+ export type UnitTypeId = ObjectDataEntryId & number & {
17
18
  readonly __unitTypeId: unique symbol;
18
19
  };
19
20
  export type StandardUnitTypeId = UnitTypeId & {
@@ -23,12 +24,26 @@ export declare class UnitTypeWeapon {
23
24
  private readonly unitType;
24
25
  private readonly index;
25
26
  private constructor();
27
+ get attackType(): AttackType | undefined;
28
+ set attackType(attackType: AttackType | undefined);
26
29
  get backSwingDuration(): number;
27
30
  set backSwingDuration(backSwingDuration: number);
31
+ get cooldown(): number;
32
+ set cooldown(cooldown: number);
33
+ get damage(): [minimumDamage: number, maximumDamage: number];
34
+ set damage([minimumDamage, maximumDamage]: [number, number]);
35
+ get damageBase(): number;
36
+ set damageBase(damageBase: number);
37
+ get damageDiceCount(): number;
38
+ set damageDiceCount(damageDiceNumber: number);
39
+ get damageDiceSideCount(): number;
40
+ set damageDiceSideCount(damageDiceSideCount: number);
28
41
  get impactDelay(): number;
29
42
  set impactDelay(impactDelay: number);
30
43
  get missileModelPath(): string;
31
44
  set missileModelPath(missileModelPath: string);
45
+ get range(): number;
46
+ set range(range: number);
32
47
  get soundType(): WeaponSoundType;
33
48
  set soundType(soundType: WeaponSoundType);
34
49
  get soundTypeSD(): WeaponSoundType;
@@ -41,6 +56,7 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
41
56
  protected static readonly idGenerator: ObjectDataEntryIdGenerator;
42
57
  protected static generateId(): number;
43
58
  protected static getObjectData(map: WarMap): WarObjects;
59
+ private isPortraitModelPathSet?;
44
60
  get abilityTypeIds(): AbilityTypeId[];
45
61
  set abilityTypeIds(abilityTypeIds: AbilityTypeId[]);
46
62
  get defaultActiveAbilityTypeId(): AbilityTypeId | undefined;
@@ -117,6 +133,20 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
117
133
  set modelPathSD(modelPathSD: string);
118
134
  get modelPathHD(): string;
119
135
  set modelPathHD(modelPathHD: string);
136
+ get portraitModelPath(): string;
137
+ set portraitModelPath(portraitModelPath: string);
138
+ get portraitModelPathSD(): string;
139
+ set portraitModelPathSD(portraitModelPathSD: string);
140
+ get portraitModelPathHD(): string;
141
+ set portraitModelPathHD(portraitModelPathHD: string);
142
+ get runSpeed(): number;
143
+ set runSpeed(runSpeed: number);
144
+ get runSpeedSD(): number;
145
+ set runSpeedSD(runSpeedSD: number);
146
+ get runSpeedHD(): number;
147
+ set runSpeedHD(runSpeedHD: number);
148
+ get selectionCircleHeight(): number;
149
+ set selectionCircleHeight(height: number);
120
150
  get selectionCircleScale(): number;
121
151
  set selectionCircleScale(selectionCircleScale: number);
122
152
  get selectionCircleScaleSD(): number;
@@ -149,19 +179,29 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
149
179
  set shadowImageXOffset(shadowImageXOffset: number);
150
180
  get shadowImageYOffset(): number;
151
181
  set shadowImageYOffset(shadowImageYOffset: number);
182
+ get walkSpeed(): number;
183
+ set walkSpeed(walkSpeed: number);
184
+ get walkSpeedSD(): number;
185
+ set walkSpeedSD(walkSpeedSD: number);
186
+ get walkSpeedHD(): number;
187
+ set walkSpeedHD(walkSpeedHD: number);
188
+ get armor(): number;
189
+ set armor(armor: number);
152
190
  get armorSoundType(): ArmorSoundType;
153
191
  set armorSoundType(armorSoundType: ArmorSoundType);
154
192
  get armorSoundTypeSD(): ArmorSoundType;
155
193
  set armorSoundTypeSD(armorSoundTypeSD: ArmorSoundType);
156
194
  get armorSoundTypeHD(): ArmorSoundType;
157
195
  set armorSoundTypeHD(armorSoundTypeHD: ArmorSoundType);
196
+ get armorType(): ArmorType;
197
+ set armorType(armorType: ArmorType);
158
198
  get combatClassifications(): CombatClassifications;
159
199
  set combatClassifications(combatClassifications: CombatClassifications);
160
- get unitClassifications(): UnitClassifications;
161
- set unitClassifications(unitClassifications: UnitClassifications);
200
+ get classifications(): UnitClassifications;
201
+ set classifications(unitClassifications: UnitClassifications);
202
+ get weapons(): TupleOf<UnitTypeWeapon, 2>;
162
203
  get firstWeapon(): UnitTypeWeapon;
163
204
  get secondWeapon(): UnitTypeWeapon;
164
- get weapons(): TupleOf<UnitTypeWeapon, 2>;
165
205
  get flyHeight(): number;
166
206
  set flyHeight(flyHeight: number);
167
207
  get flyHeightMinimum(): number;
@@ -190,6 +230,18 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
190
230
  set formationRank(formationRank: number);
191
231
  get goldCost(): number;
192
232
  set goldCost(goldCost: number);
233
+ get healthRegenerationRate(): number;
234
+ set healthRegenerationRate(healthRegenerationRate: number);
235
+ get level(): number;
236
+ set level(level: number);
237
+ get manaRegenerationRate(): number;
238
+ set manaRegenerationRate(manaRegenerationRate: number);
239
+ get maximumHealth(): number;
240
+ set maximumHealth(maximumHealth: number);
241
+ get maximumMana(): number;
242
+ set maximumMana(maximumMana: number);
243
+ get initialMana(): number;
244
+ set initialMana(initialMana: number);
193
245
  get isStructure(): boolean;
194
246
  set isStructure(isStructure: boolean);
195
247
  get race(): Race;
@@ -215,4 +267,8 @@ export declare abstract class HeroUnitType<Id extends HeroUnitTypeId = HeroUnitT
215
267
  protected static generateId(): number;
216
268
  get heroAbilityTypeIds(): AbilityTypeId[];
217
269
  set heroAbilityTypeIds(heroAbilityTypeIds: AbilityTypeId[]);
270
+ get properNames(): string[];
271
+ set properNames(properNames: string | string[]);
272
+ get properNameCount(): number;
273
+ set properNameCount(properNameCount: number);
218
274
  }