warscript 0.0.1-dev.ee2345e → 0.0.1-dev.effa673

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 (197) hide show
  1. package/attributes.d.ts +0 -1
  2. package/binaryreader.d.ts +1 -0
  3. package/binaryreader.lua +3 -0
  4. package/config.d.ts +5 -0
  5. package/config.lua +10 -0
  6. package/core/types/effect.d.ts +14 -6
  7. package/core/types/effect.lua +131 -35
  8. package/core/types/frame.d.ts +8 -1
  9. package/core/types/frame.lua +93 -1
  10. package/core/types/group.d.ts +0 -1
  11. package/core/types/image.d.ts +0 -1
  12. package/core/types/missile.d.ts +2 -2
  13. package/core/types/missile.lua +8 -2
  14. package/core/types/sound.d.ts +17 -24
  15. package/core/types/sound.lua +94 -24
  16. package/core/types/unit.lua +8 -0
  17. package/core/util.d.ts +1 -1
  18. package/core/util.lua +18 -1
  19. package/decl/index.d.ts +1 -0
  20. package/engine/ability.d.ts +1 -1
  21. package/engine/behavior.d.ts +10 -10
  22. package/engine/behavior.lua +6 -6
  23. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  24. package/engine/behaviour/ability/always-enabled.lua +31 -0
  25. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  26. package/engine/behaviour/ability/apply-buff.lua +32 -0
  27. package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
  28. package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
  29. package/engine/behaviour/ability/damage.d.ts +36 -11
  30. package/engine/behaviour/ability/damage.lua +90 -32
  31. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  32. package/engine/behaviour/ability/emulate-impact.lua +28 -0
  33. package/engine/behaviour/ability/heal.d.ts +33 -6
  34. package/engine/behaviour/ability/heal.lua +89 -10
  35. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  36. package/engine/behaviour/ability/instant-impact.lua +4 -15
  37. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  38. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  39. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  40. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  41. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  42. package/engine/behaviour/ability/restore-mana.lua +29 -0
  43. package/engine/behaviour/ability.d.ts +27 -4
  44. package/engine/behaviour/ability.lua +152 -17
  45. package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
  46. package/engine/behaviour/unit.d.ts +10 -2
  47. package/engine/behaviour/unit.lua +27 -0
  48. package/engine/buff.d.ts +103 -41
  49. package/engine/buff.lua +465 -212
  50. package/engine/game-map.d.ts +7 -0
  51. package/engine/game-map.lua +32 -0
  52. package/engine/internal/ability.d.ts +16 -13
  53. package/engine/internal/ability.lua +80 -76
  54. package/engine/internal/item/ability.lua +106 -0
  55. package/engine/internal/item+owner.lua +2 -2
  56. package/engine/internal/item.d.ts +2 -2
  57. package/engine/internal/item.lua +56 -25
  58. package/engine/internal/mechanics/ability-duration.lua +1 -1
  59. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  60. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  61. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  62. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  63. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  64. package/engine/internal/object-data/evasion-probability.lua +16 -0
  65. package/engine/internal/unit/ability.d.ts +10 -1
  66. package/engine/internal/unit/ability.lua +36 -14
  67. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  68. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  69. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  70. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  71. package/engine/internal/unit/bonus.d.ts +11 -8
  72. package/engine/internal/unit/bonus.lua +23 -1
  73. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  74. package/engine/internal/unit/ignore-events-items.lua +5 -0
  75. package/engine/internal/unit/item.d.ts +24 -0
  76. package/engine/internal/unit/item.lua +78 -0
  77. package/engine/internal/unit/main-selected.d.ts +13 -0
  78. package/engine/internal/unit/main-selected.lua +51 -0
  79. package/engine/internal/unit+ability.lua +2 -2
  80. package/engine/internal/unit+transport.lua +4 -10
  81. package/engine/internal/unit-missile-launch.lua +25 -6
  82. package/engine/internal/unit.d.ts +64 -16
  83. package/engine/internal/unit.lua +381 -134
  84. package/engine/internal/utility.lua +12 -0
  85. package/engine/lightning.d.ts +12 -5
  86. package/engine/lightning.lua +48 -14
  87. package/engine/local-client.d.ts +7 -2
  88. package/engine/local-client.lua +82 -0
  89. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  90. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  91. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  92. package/engine/object-data/auxiliary/attachment-preset.lua +2 -2
  93. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  94. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  95. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  96. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  97. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  98. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  99. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  100. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -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/channel.d.ts +0 -1
  104. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  105. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  106. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  107. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  108. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  109. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  110. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  111. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  112. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  113. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  114. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  115. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  116. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  117. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  118. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  119. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  120. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  121. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  122. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  123. package/engine/object-data/entry/ability-type/web.lua +52 -0
  124. package/engine/object-data/entry/ability-type.d.ts +19 -18
  125. package/engine/object-data/entry/ability-type.lua +82 -33
  126. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  127. package/engine/object-data/entry/buff-type/applicable.lua +13 -37
  128. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  129. package/engine/object-data/entry/buff-type.d.ts +1 -2
  130. package/engine/object-data/entry/buff-type.lua +2 -2
  131. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  132. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  133. package/engine/object-data/entry/item-type.d.ts +15 -2
  134. package/engine/object-data/entry/item-type.lua +93 -2
  135. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  136. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  137. package/engine/object-data/entry/sound-preset.lua +140 -0
  138. package/engine/object-data/entry/unit-type.d.ts +45 -3
  139. package/engine/object-data/entry/unit-type.lua +394 -57
  140. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  141. package/engine/object-data/entry/upgrade.d.ts +1 -2
  142. package/engine/object-data/entry/upgrade.lua +4 -4
  143. package/engine/object-data/entry.d.ts +18 -17
  144. package/engine/object-data/entry.lua +60 -32
  145. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  146. package/engine/object-field/ability.d.ts +26 -3
  147. package/engine/object-field/ability.lua +54 -1
  148. package/engine/object-field.d.ts +2 -3
  149. package/engine/object-field.lua +4 -0
  150. package/engine/random.d.ts +1 -0
  151. package/engine/random.lua +9 -0
  152. package/engine/standard/entries/sound-preset.d.ts +10 -0
  153. package/engine/standard/entries/sound-preset.lua +10 -0
  154. package/engine/standard/entries/unit-type.d.ts +39 -1
  155. package/engine/standard/entries/unit-type.lua +39 -1
  156. package/engine/standard/fields/ability.d.ts +3 -1
  157. package/engine/standard/fields/ability.lua +3 -1
  158. package/engine/unit.d.ts +3 -0
  159. package/engine/unit.lua +12 -2
  160. package/event.d.ts +2 -3
  161. package/event.lua +9 -5
  162. package/index.d.ts +1 -0
  163. package/index.lua +1 -0
  164. package/lualib_bundle.lua +146 -42
  165. package/math/vec2.d.ts +2 -9
  166. package/math.d.ts +0 -2
  167. package/net/socket.d.ts +7 -1
  168. package/net/socket.lua +45 -4
  169. package/network.d.ts +1 -0
  170. package/network.lua +3 -2
  171. package/objutil/ability.d.ts +0 -1
  172. package/objutil/buff.d.ts +0 -1
  173. package/objutil/buff.lua +1 -1
  174. package/objutil/object.d.ts +0 -1
  175. package/objutil/unit.d.ts +0 -1
  176. package/objutil/unit.lua +8 -0
  177. package/package.json +13 -14
  178. package/patch-lua.d.ts +0 -0
  179. package/patch-lua.lua +10 -0
  180. package/property.d.ts +55 -0
  181. package/property.lua +374 -0
  182. package/string.d.ts +30 -0
  183. package/string.lua +14 -0
  184. package/util/stream.d.ts +0 -1
  185. package/utility/arrays.d.ts +11 -5
  186. package/utility/arrays.lua +34 -3
  187. package/utility/bit-set.d.ts +0 -2
  188. package/utility/lazy.d.ts +2 -0
  189. package/utility/lazy.lua +14 -0
  190. package/utility/linked-set.d.ts +11 -3
  191. package/utility/linked-set.lua +5 -2
  192. package/utility/lua-maps.d.ts +1 -2
  193. package/utility/lua-sets.d.ts +1 -2
  194. package/utility/reflection.lua +11 -7
  195. package/utility/types.d.ts +1 -0
  196. package/core/mapbounds.d.ts +0 -8
  197. package/core/mapbounds.lua +0 -12
@@ -0,0 +1,140 @@
1
+ local ____lualib = require("lualib_bundle")
2
+ local __TS__Class = ____lualib.__TS__Class
3
+ local __TS__ClassExtends = ____lualib.__TS__ClassExtends
4
+ local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
5
+ local ____exports = {}
6
+ local ____entry = require("engine.object-data.entry")
7
+ local ObjectDataEntry = ____entry.ObjectDataEntry
8
+ ____exports.SoundPreset = __TS__Class()
9
+ local SoundPreset = ____exports.SoundPreset
10
+ SoundPreset.name = "SoundPreset"
11
+ __TS__ClassExtends(SoundPreset, ObjectDataEntry)
12
+ function SoundPreset.generateId(self)
13
+ local ____self_0, ____nextId_1 = self, "nextId"
14
+ local ____self_nextId_2 = ____self_0[____nextId_1]
15
+ ____self_0[____nextId_1] = ____self_nextId_2 + 1
16
+ return "CustomSound" .. tostring(____self_nextId_2)
17
+ end
18
+ function SoundPreset.getObjectData(self, map)
19
+ return map.objects.sound
20
+ end
21
+ SoundPreset.BASE_ID = "BlizzardWave"
22
+ SoundPreset.nextId = 0
23
+ __TS__SetDescriptor(
24
+ SoundPreset.prototype,
25
+ "filePaths",
26
+ {
27
+ get = function(self)
28
+ return self:getStringsField("FileNames")
29
+ end,
30
+ set = function(self, filePaths)
31
+ self:setStringsField("FileNames", filePaths)
32
+ end
33
+ },
34
+ true
35
+ )
36
+ __TS__SetDescriptor(
37
+ SoundPreset.prototype,
38
+ "volume",
39
+ {
40
+ get = function(self)
41
+ return self:getNumberField("Volume")
42
+ end,
43
+ set = function(self, volume)
44
+ self:setNumberField("Volume", volume)
45
+ end
46
+ },
47
+ true
48
+ )
49
+ __TS__SetDescriptor(
50
+ SoundPreset.prototype,
51
+ "pitch",
52
+ {
53
+ get = function(self)
54
+ return self:getNumberField("Pitch")
55
+ end,
56
+ set = function(self, pitch)
57
+ self:setNumberField("Pitch", pitch)
58
+ end
59
+ },
60
+ true
61
+ )
62
+ __TS__SetDescriptor(
63
+ SoundPreset.prototype,
64
+ "priority",
65
+ {
66
+ get = function(self)
67
+ return self:getNumberField("Priority")
68
+ end,
69
+ set = function(self, priority)
70
+ self:setNumberField("Priority", priority)
71
+ end
72
+ },
73
+ true
74
+ )
75
+ __TS__SetDescriptor(
76
+ SoundPreset.prototype,
77
+ "channel",
78
+ {
79
+ get = function(self)
80
+ return self:getNumberField("Channel")
81
+ end,
82
+ set = function(self, channel)
83
+ self:setNumberField("Channel", channel)
84
+ end
85
+ },
86
+ true
87
+ )
88
+ __TS__SetDescriptor(
89
+ SoundPreset.prototype,
90
+ "minimumDistance",
91
+ {
92
+ get = function(self)
93
+ return self:getNumberField("MinDistance")
94
+ end,
95
+ set = function(self, minimumDistance)
96
+ self:setNumberField("MinDistance", minimumDistance)
97
+ end
98
+ },
99
+ true
100
+ )
101
+ __TS__SetDescriptor(
102
+ SoundPreset.prototype,
103
+ "maximumDistance",
104
+ {
105
+ get = function(self)
106
+ return self:getNumberField("MaxDistance")
107
+ end,
108
+ set = function(self, maximumDistance)
109
+ self:setNumberField("MaxDistance", maximumDistance)
110
+ end
111
+ },
112
+ true
113
+ )
114
+ __TS__SetDescriptor(
115
+ SoundPreset.prototype,
116
+ "distanceCutoff",
117
+ {
118
+ get = function(self)
119
+ return self:getNumberField("DistanceCutoff")
120
+ end,
121
+ set = function(self, distanceCutoff)
122
+ self:setNumberField("DistanceCutoff", distanceCutoff)
123
+ end
124
+ },
125
+ true
126
+ )
127
+ __TS__SetDescriptor(
128
+ SoundPreset.prototype,
129
+ "eax",
130
+ {
131
+ get = function(self)
132
+ return self:getStringField("EAXFlags")
133
+ end,
134
+ set = function(self, eax)
135
+ self:setStringField("EAXFlags", eax)
136
+ end
137
+ },
138
+ true
139
+ )
140
+ return ____exports
@@ -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";
@@ -14,7 +13,7 @@ import type { AbilityTypeId } from "./ability-type";
14
13
  import type { UpgradeId } from "./upgrade";
15
14
  import { AnimationQualifier } from "../auxiliary/animation-qualifier";
16
15
  import { AttackType } from "../auxiliary/attack-type";
17
- export type UnitTypeId = ObjectDataEntryId & {
16
+ export type UnitTypeId = ObjectDataEntryId & number & {
18
17
  readonly __unitTypeId: unique symbol;
19
18
  };
20
19
  export type StandardUnitTypeId = UnitTypeId & {
@@ -28,6 +27,16 @@ export declare class UnitTypeWeapon {
28
27
  set attackType(attackType: AttackType);
29
28
  get backSwingDuration(): number;
30
29
  set backSwingDuration(backSwingDuration: number);
30
+ get cooldown(): number;
31
+ set cooldown(cooldown: number);
32
+ get damage(): [minimumDamage: number, maximumDamage: number];
33
+ set damage([minimumDamage, maximumDamage]: [number, number]);
34
+ get damageBase(): number;
35
+ set damageBase(damageBase: number);
36
+ get damageDiceCount(): number;
37
+ set damageDiceCount(damageDiceNumber: number);
38
+ get damageDiceSideCount(): number;
39
+ set damageDiceSideCount(damageDiceSideCount: number);
31
40
  get impactDelay(): number;
32
41
  set impactDelay(impactDelay: number);
33
42
  get missileModelPath(): string;
@@ -46,6 +55,7 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
46
55
  protected static readonly idGenerator: ObjectDataEntryIdGenerator;
47
56
  protected static generateId(): number;
48
57
  protected static getObjectData(map: WarMap): WarObjects;
58
+ private isPortraitModelPathSet?;
49
59
  get abilityTypeIds(): AbilityTypeId[];
50
60
  set abilityTypeIds(abilityTypeIds: AbilityTypeId[]);
51
61
  get defaultActiveAbilityTypeId(): AbilityTypeId | undefined;
@@ -122,6 +132,18 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
122
132
  set modelPathSD(modelPathSD: string);
123
133
  get modelPathHD(): string;
124
134
  set modelPathHD(modelPathHD: string);
135
+ get portraitModelPath(): string;
136
+ set portraitModelPath(portraitModelPath: string);
137
+ get portraitModelPathSD(): string;
138
+ set portraitModelPathSD(portraitModelPathSD: string);
139
+ get portraitModelPathHD(): string;
140
+ set portraitModelPathHD(portraitModelPathHD: string);
141
+ get runSpeed(): number;
142
+ set runSpeed(runSpeed: number);
143
+ get runSpeedSD(): number;
144
+ set runSpeedSD(runSpeedSD: number);
145
+ get runSpeedHD(): number;
146
+ set runSpeedHD(runSpeedHD: number);
125
147
  get selectionCircleScale(): number;
126
148
  set selectionCircleScale(selectionCircleScale: number);
127
149
  get selectionCircleScaleSD(): number;
@@ -154,6 +176,12 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
154
176
  set shadowImageXOffset(shadowImageXOffset: number);
155
177
  get shadowImageYOffset(): number;
156
178
  set shadowImageYOffset(shadowImageYOffset: number);
179
+ get walkSpeed(): number;
180
+ set walkSpeed(walkSpeed: number);
181
+ get walkSpeedSD(): number;
182
+ set walkSpeedSD(walkSpeedSD: number);
183
+ get walkSpeedHD(): number;
184
+ set walkSpeedHD(walkSpeedHD: number);
157
185
  get armorSoundType(): ArmorSoundType;
158
186
  set armorSoundType(armorSoundType: ArmorSoundType);
159
187
  get armorSoundTypeSD(): ArmorSoundType;
@@ -164,9 +192,9 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
164
192
  set combatClassifications(combatClassifications: CombatClassifications);
165
193
  get unitClassifications(): UnitClassifications;
166
194
  set unitClassifications(unitClassifications: UnitClassifications);
195
+ get weapons(): TupleOf<UnitTypeWeapon, 2>;
167
196
  get firstWeapon(): UnitTypeWeapon;
168
197
  get secondWeapon(): UnitTypeWeapon;
169
- get weapons(): TupleOf<UnitTypeWeapon, 2>;
170
198
  get flyHeight(): number;
171
199
  set flyHeight(flyHeight: number);
172
200
  get flyHeightMinimum(): number;
@@ -195,6 +223,16 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
195
223
  set formationRank(formationRank: number);
196
224
  get goldCost(): number;
197
225
  set goldCost(goldCost: number);
226
+ get healthRegenerationRate(): number;
227
+ set healthRegenerationRate(healthRegenerationRate: number);
228
+ get manaRegenerationRate(): number;
229
+ set manaRegenerationRate(manaRegenerationRate: number);
230
+ get maximumHealth(): number;
231
+ set maximumHealth(maximumHealth: number);
232
+ get maximumMana(): number;
233
+ set maximumMana(maximumMana: number);
234
+ get initialMana(): number;
235
+ set initialMana(initialMana: number);
198
236
  get isStructure(): boolean;
199
237
  set isStructure(isStructure: boolean);
200
238
  get race(): Race;
@@ -220,4 +258,8 @@ export declare abstract class HeroUnitType<Id extends HeroUnitTypeId = HeroUnitT
220
258
  protected static generateId(): number;
221
259
  get heroAbilityTypeIds(): AbilityTypeId[];
222
260
  set heroAbilityTypeIds(heroAbilityTypeIds: AbilityTypeId[]);
261
+ get properNames(): string[];
262
+ set properNames(properNames: string | string[]);
263
+ get properNameCount(): number;
264
+ set properNameCount(properNameCount: number);
223
265
  }