warscript 0.0.1-dev.1858ab2 → 0.0.1-dev.19d0f81

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 (232) hide show
  1. package/attributes.d.ts +12 -0
  2. package/attributes.lua +16 -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 +93 -1
  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/sound.d.ts +17 -24
  18. package/core/types/sound.lua +99 -24
  19. package/core/types/timer.d.ts +6 -7
  20. package/core/types/timer.lua +18 -21
  21. package/core/types/unit.lua +8 -0
  22. package/core/util.d.ts +1 -1
  23. package/core/util.lua +18 -1
  24. package/decl/index.d.ts +1 -0
  25. package/decl/native.d.ts +840 -786
  26. package/engine/ability.d.ts +1 -1
  27. package/engine/behavior.d.ts +10 -10
  28. package/engine/behavior.lua +6 -6
  29. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  30. package/engine/behaviour/ability/always-enabled.lua +31 -0
  31. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  32. package/engine/behaviour/ability/apply-buff.lua +32 -0
  33. package/engine/behaviour/ability/apply-unit-behavior.d.ts +13 -4
  34. package/engine/behaviour/ability/apply-unit-behavior.lua +32 -9
  35. package/engine/behaviour/ability/damage.d.ts +37 -11
  36. package/engine/behaviour/ability/damage.lua +90 -32
  37. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  38. package/engine/behaviour/ability/emulate-impact.lua +35 -0
  39. package/engine/behaviour/ability/heal.d.ts +33 -6
  40. package/engine/behaviour/ability/heal.lua +89 -10
  41. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  42. package/engine/behaviour/ability/instant-impact.lua +4 -15
  43. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  44. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  45. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  46. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  47. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  48. package/engine/behaviour/ability/restore-mana.lua +29 -0
  49. package/engine/behaviour/ability.d.ts +27 -4
  50. package/engine/behaviour/ability.lua +152 -17
  51. package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
  52. package/engine/behaviour/unit.d.ts +10 -2
  53. package/engine/behaviour/unit.lua +27 -0
  54. package/engine/buff.d.ts +103 -41
  55. package/engine/buff.lua +465 -212
  56. package/engine/game-map.d.ts +7 -0
  57. package/engine/game-map.lua +32 -0
  58. package/engine/internal/ability.d.ts +17 -14
  59. package/engine/internal/ability.lua +80 -76
  60. package/engine/internal/item/ability.lua +106 -0
  61. package/engine/internal/item+owner.lua +2 -2
  62. package/engine/internal/item.d.ts +4 -3
  63. package/engine/internal/item.lua +56 -25
  64. package/engine/internal/mechanics/ability-duration.d.ts +1 -3
  65. package/engine/internal/mechanics/ability-duration.lua +3 -1
  66. package/engine/internal/mechanics/cast-ability.d.ts +2 -0
  67. package/engine/internal/mechanics/cast-ability.lua +86 -0
  68. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  69. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  70. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  71. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  72. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  73. package/engine/internal/object-data/evasion-probability.lua +16 -0
  74. package/engine/internal/unit/ability.d.ts +10 -1
  75. package/engine/internal/unit/ability.lua +36 -14
  76. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  77. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  78. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  79. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  80. package/engine/internal/unit/bonus.d.ts +11 -8
  81. package/engine/internal/unit/bonus.lua +23 -1
  82. package/engine/internal/unit/detach-missiles.d.ts +7 -0
  83. package/engine/internal/unit/detach-missiles.lua +30 -0
  84. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  85. package/engine/internal/unit/ignore-events-items.lua +5 -0
  86. package/engine/internal/unit/item.d.ts +24 -0
  87. package/engine/internal/unit/item.lua +78 -0
  88. package/engine/internal/unit/main-selected.d.ts +13 -0
  89. package/engine/internal/unit/main-selected.lua +51 -0
  90. package/engine/internal/unit+ability.lua +2 -2
  91. package/engine/internal/unit+damage.d.ts +2 -11
  92. package/engine/internal/unit+damage.lua +11 -14
  93. package/engine/internal/unit+spellSteal.lua +1 -2
  94. package/engine/internal/unit+transport.lua +4 -10
  95. package/engine/internal/unit-missile-launch.lua +25 -6
  96. package/engine/internal/unit.d.ts +75 -17
  97. package/engine/internal/unit.lua +452 -162
  98. package/engine/internal/utility.lua +12 -0
  99. package/engine/lightning.d.ts +12 -5
  100. package/engine/lightning.lua +48 -14
  101. package/engine/local-client.d.ts +7 -2
  102. package/engine/local-client.lua +82 -0
  103. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  104. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  105. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  106. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  107. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  108. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  109. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  110. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  111. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  112. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  113. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  114. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  115. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  116. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  117. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  118. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  119. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  120. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  121. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  122. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  123. package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
  124. package/engine/object-data/entry/ability-type/blink.lua +39 -0
  125. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  126. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  127. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  128. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  129. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  130. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  131. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  132. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  133. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  134. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  135. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  136. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  137. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  138. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  139. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  140. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  141. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  142. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  143. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  144. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  145. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  146. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  147. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  148. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  149. package/engine/object-data/entry/ability-type/web.lua +52 -0
  150. package/engine/object-data/entry/ability-type.d.ts +20 -18
  151. package/engine/object-data/entry/ability-type.lua +90 -33
  152. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  153. package/engine/object-data/entry/buff-type/applicable.lua +39 -102
  154. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  155. package/engine/object-data/entry/buff-type.d.ts +6 -13
  156. package/engine/object-data/entry/buff-type.lua +13 -29
  157. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  158. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  159. package/engine/object-data/entry/item-type.d.ts +15 -2
  160. package/engine/object-data/entry/item-type.lua +93 -2
  161. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  162. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  163. package/engine/object-data/entry/sound-preset.lua +140 -0
  164. package/engine/object-data/entry/unit-type.d.ts +50 -3
  165. package/engine/object-data/entry/unit-type.lua +452 -61
  166. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  167. package/engine/object-data/entry/upgrade.d.ts +1 -2
  168. package/engine/object-data/entry/upgrade.lua +4 -4
  169. package/engine/object-data/entry.d.ts +18 -17
  170. package/engine/object-data/entry.lua +60 -32
  171. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  172. package/engine/object-field/ability.d.ts +33 -8
  173. package/engine/object-field/ability.lua +60 -1
  174. package/engine/object-field/unit.d.ts +46 -2
  175. package/engine/object-field/unit.lua +173 -4
  176. package/engine/object-field.d.ts +11 -3
  177. package/engine/object-field.lua +174 -84
  178. package/engine/random.d.ts +1 -0
  179. package/engine/random.lua +9 -0
  180. package/engine/standard/entries/buff-type.d.ts +3 -0
  181. package/engine/standard/entries/buff-type.lua +3 -0
  182. package/engine/standard/entries/sound-preset.d.ts +10 -0
  183. package/engine/standard/entries/sound-preset.lua +10 -0
  184. package/engine/standard/entries/unit-type.d.ts +42 -1
  185. package/engine/standard/entries/unit-type.lua +42 -1
  186. package/engine/standard/fields/ability.d.ts +3 -1
  187. package/engine/standard/fields/ability.lua +3 -1
  188. package/engine/unit.d.ts +4 -0
  189. package/engine/unit.lua +13 -2
  190. package/event.d.ts +2 -3
  191. package/event.lua +9 -5
  192. package/global/vec2.lua +1 -0
  193. package/index.d.ts +1 -0
  194. package/index.lua +1 -0
  195. package/lualib_bundle.lua +146 -42
  196. package/math/vec2.d.ts +2 -9
  197. package/math.d.ts +0 -2
  198. package/net/socket.d.ts +7 -1
  199. package/net/socket.lua +45 -4
  200. package/network.d.ts +1 -0
  201. package/network.lua +3 -2
  202. package/objutil/ability.d.ts +0 -1
  203. package/objutil/buff.d.ts +0 -1
  204. package/objutil/buff.lua +2 -3
  205. package/objutil/object.d.ts +0 -1
  206. package/objutil/unit.d.ts +0 -1
  207. package/objutil/unit.lua +8 -0
  208. package/package.json +13 -14
  209. package/patch-lua.d.ts +0 -0
  210. package/patch-lua.lua +10 -0
  211. package/property.d.ts +55 -0
  212. package/property.lua +374 -0
  213. package/string.d.ts +30 -0
  214. package/string.lua +14 -0
  215. package/util/stream.d.ts +0 -1
  216. package/utility/arrays.d.ts +12 -5
  217. package/utility/arrays.lua +37 -3
  218. package/utility/bit-set.d.ts +0 -2
  219. package/utility/functions.d.ts +1 -0
  220. package/utility/functions.lua +1 -0
  221. package/utility/lazy.d.ts +2 -0
  222. package/utility/lazy.lua +14 -0
  223. package/utility/linked-set.d.ts +12 -3
  224. package/utility/linked-set.lua +8 -2
  225. package/utility/lua-maps.d.ts +4 -2
  226. package/utility/lua-maps.lua +16 -0
  227. package/utility/lua-sets.d.ts +2 -2
  228. package/utility/lua-sets.lua +3 -0
  229. package/utility/reflection.lua +11 -7
  230. package/utility/types.d.ts +3 -2
  231. package/core/mapbounds.d.ts +0 -8
  232. package/core/mapbounds.lua +0 -12
@@ -20,6 +20,11 @@ local extractObjectDataEntryLevelFieldValue = ____entry.extractObjectDataEntryLe
20
20
  local ObjectDataEntry = ____entry.ObjectDataEntry
21
21
  local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
22
22
  local ObjectDataEntryIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.ObjectDataEntryIdGenerator
23
+ local ____linked_2Dset = require("utility.linked-set")
24
+ local mutableLinkedSet = ____linked_2Dset.mutableLinkedSet
25
+ local ____lua_2Dmaps = require("utility.lua-maps")
26
+ local getOrPut = ____lua_2Dmaps.getOrPut
27
+ local mutableWeakLuaMap = ____lua_2Dmaps.mutableWeakLuaMap
23
28
  local compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId = {}
24
29
  local defaultValueByObjectDataEntryIdByObjectFieldId = postcompile(function() return compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId end)
25
30
  local objectFieldById = {}
@@ -46,6 +51,10 @@ end
46
51
  function ObjectFieldBase.prototype.supports(self, instance)
47
52
  return __TS__InstanceOf(instance, self.instanceClass)
48
53
  end
54
+ function ObjectFieldBase.prototype.hasValue(self, instance)
55
+ local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
56
+ return defaultValueByObjectDataEntryId ~= nil and defaultValueByObjectDataEntryId[self:getObjectDataEntryId(instance)] ~= nil or self:hasNativeFieldValue(instance)
57
+ end
49
58
  function ObjectFieldBase.create(self, id)
50
59
  return __TS__New(
51
60
  self,
@@ -71,7 +80,7 @@ ____exports.ObjectField = __TS__Class()
71
80
  local ObjectField = ____exports.ObjectField
72
81
  ObjectField.name = "ObjectField"
73
82
  __TS__ClassExtends(ObjectField, ObjectFieldBase)
74
- function ObjectField.prototype.getValue(self, entry)
83
+ function ObjectField.prototype.getValue(self, entry, includeModifiers)
75
84
  if __TS__InstanceOf(entry, ObjectDataEntry) then
76
85
  local defaultValueByObjectDataEntryId = (warpack.compiletime and compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId or defaultValueByObjectDataEntryIdByObjectFieldId)[self.id]
77
86
  if defaultValueByObjectDataEntryId ~= nil then
@@ -82,22 +91,16 @@ function ObjectField.prototype.getValue(self, entry)
82
91
  end
83
92
  return self.defaultValue
84
93
  end
85
- local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
86
- if defaultValueByObjectDataEntryId ~= nil then
87
- local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
88
- if defaultValue ~= nil then
89
- local ____self_valueByInstance_entry_0 = self.valueByInstance[entry]
90
- if ____self_valueByInstance_entry_0 == nil then
91
- ____self_valueByInstance_entry_0 = defaultValue
94
+ if includeModifiers == false then
95
+ local originalValueByInstance = self.originalValueByInstance
96
+ if originalValueByInstance ~= nil then
97
+ local originalValue = originalValueByInstance[entry]
98
+ if originalValue ~= nil then
99
+ return originalValue
92
100
  end
93
- return ____self_valueByInstance_entry_0
94
101
  end
95
102
  end
96
- local ____temp_1 = self:getNativeFieldValue(entry)
97
- if ____temp_1 == nil then
98
- ____temp_1 = self.defaultValue
99
- end
100
- return ____temp_1
103
+ return self:getActualValue(entry)
101
104
  end
102
105
  function ObjectField.prototype.setValue(self, entry, value)
103
106
  if __TS__InstanceOf(entry, ObjectDataEntry) then
@@ -112,35 +115,53 @@ function ObjectField.prototype.setValue(self, entry, value)
112
115
  defaultValueByObjectDataEntryId[entry.id] = value
113
116
  return true
114
117
  end
115
- local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
116
- if defaultValueByObjectDataEntryId ~= nil then
117
- local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
118
- if defaultValue ~= nil then
119
- local ____self_valueByInstance_entry_2 = self.valueByInstance[entry]
120
- if ____self_valueByInstance_entry_2 == nil then
121
- ____self_valueByInstance_entry_2 = defaultValue
122
- end
123
- local ____self_valueByInstance_entry_2_3 = ____self_valueByInstance_entry_2
124
- if ____self_valueByInstance_entry_2_3 == nil then
125
- ____self_valueByInstance_entry_2_3 = self.defaultValue
126
- end
127
- local previousValue = ____self_valueByInstance_entry_2_3
128
- if value ~= previousValue then
129
- self.valueByInstance[entry] = value
130
- self:invokeValueChangeEvent(entry, self, previousValue, value)
118
+ local modifiersByInstance = self.modifiersByInstance
119
+ if modifiersByInstance ~= nil then
120
+ local modifiers = modifiersByInstance[entry]
121
+ if modifiers ~= nil and modifiers.size ~= 0 then
122
+ local originalValueByInstance = self.originalValueByInstance
123
+ if originalValueByInstance == nil then
124
+ originalValueByInstance = mutableWeakLuaMap()
125
+ self.originalValueByInstance = originalValueByInstance
131
126
  end
132
- return true
127
+ originalValueByInstance[entry] = value
128
+ value = self:calculateActualValue(entry)
133
129
  end
134
130
  end
135
- local previousValue = self:getNativeFieldValue(entry)
136
- if value ~= previousValue then
137
- if self:setNativeFieldValue(entry, value) then
138
- self:invokeValueChangeEvent(entry, self, previousValue, value)
139
- else
140
- return false
131
+ return self:setActualValue(entry, value)
132
+ end
133
+ function ObjectField.prototype.applyModifier(self, instance, modifier)
134
+ local modifiersByInstance = self.modifiersByInstance
135
+ if modifiersByInstance == nil then
136
+ modifiersByInstance = mutableWeakLuaMap()
137
+ self.modifiersByInstance = modifiersByInstance
138
+ end
139
+ if getOrPut(modifiersByInstance, instance, mutableLinkedSet):add(modifier) then
140
+ local originalValueByInstance = self.originalValueByInstance
141
+ if originalValueByInstance == nil then
142
+ originalValueByInstance = mutableWeakLuaMap()
143
+ self.originalValueByInstance = originalValueByInstance
141
144
  end
145
+ originalValueByInstance[instance] = self:getActualValue(instance)
146
+ self:setActualValue(
147
+ instance,
148
+ self:calculateActualValue(instance)
149
+ )
142
150
  end
143
- return true
151
+ end
152
+ function ObjectField.prototype.removeModifier(self, instance, modifier)
153
+ local modifiersByInstance = self.modifiersByInstance
154
+ if modifiersByInstance ~= nil then
155
+ local modifiers = modifiersByInstance[instance]
156
+ if modifiers ~= nil and modifiers:remove(modifier) then
157
+ self:setActualValue(
158
+ instance,
159
+ self:calculateActualValue(instance)
160
+ )
161
+ return true
162
+ end
163
+ end
164
+ return false
144
165
  end
145
166
  function ObjectField.prototype.removeValue(self, entry)
146
167
  if not warpack.compiletime then
@@ -162,6 +183,73 @@ function ObjectField.prototype.trySetValue(self, entry, value)
162
183
  end
163
184
  return self:setValue(entry, value)
164
185
  end
186
+ function ObjectField.prototype.getActualValue(self, instance)
187
+ local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
188
+ if defaultValueByObjectDataEntryId ~= nil then
189
+ local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(instance)]
190
+ if defaultValue ~= nil then
191
+ local ____self_valueByInstance_instance_0 = self.valueByInstance[instance]
192
+ if ____self_valueByInstance_instance_0 == nil then
193
+ ____self_valueByInstance_instance_0 = defaultValue
194
+ end
195
+ return ____self_valueByInstance_instance_0
196
+ end
197
+ end
198
+ local ____temp_1 = self:getNativeFieldValue(instance)
199
+ if ____temp_1 == nil then
200
+ ____temp_1 = self.defaultValue
201
+ end
202
+ return ____temp_1
203
+ end
204
+ function ObjectField.prototype.setActualValue(self, instance, value)
205
+ local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
206
+ if defaultValueByObjectDataEntryId ~= nil then
207
+ local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(instance)]
208
+ if defaultValue ~= nil then
209
+ local ____self_valueByInstance_instance_2 = self.valueByInstance[instance]
210
+ if ____self_valueByInstance_instance_2 == nil then
211
+ ____self_valueByInstance_instance_2 = defaultValue
212
+ end
213
+ local ____self_valueByInstance_instance_2_3 = ____self_valueByInstance_instance_2
214
+ if ____self_valueByInstance_instance_2_3 == nil then
215
+ ____self_valueByInstance_instance_2_3 = self.defaultValue
216
+ end
217
+ local previousValue = ____self_valueByInstance_instance_2_3
218
+ if value ~= previousValue then
219
+ self.valueByInstance[instance] = value
220
+ self:invokeValueChangeEvent(instance, self, previousValue, value)
221
+ end
222
+ return true
223
+ end
224
+ end
225
+ if not self:hasNativeFieldValue(instance) then
226
+ return false
227
+ end
228
+ local previousValue = self:getNativeFieldValue(instance)
229
+ if value ~= previousValue then
230
+ if not self:setNativeFieldValue(instance, value) then
231
+ return false
232
+ end
233
+ self:invokeValueChangeEvent(instance, self, previousValue, value)
234
+ end
235
+ return true
236
+ end
237
+ function ObjectField.prototype.calculateActualValue(self, instance)
238
+ local ____opt_4 = self.originalValueByInstance
239
+ local originalValue = ____opt_4 and ____opt_4[instance]
240
+ local ____opt_6 = self.modifiersByInstance
241
+ local modifiers = ____opt_6 and ____opt_6[instance]
242
+ if originalValue ~= nil then
243
+ local value = originalValue
244
+ if modifiers ~= nil then
245
+ for modifier in pairs(modifiers) do
246
+ value = modifier(instance, value, originalValue)
247
+ end
248
+ end
249
+ return value
250
+ end
251
+ return self.defaultValue
252
+ end
165
253
  function ObjectField.prototype.invokeValueChangeEvent(self, ...)
166
254
  self:invokeValueChangeEventRecursive(
167
255
  getClass(self),
@@ -215,17 +303,17 @@ function ObjectArrayField.prototype.getValue(self, entry, index)
215
303
  if defaultValueByObjectDataEntryId ~= nil then
216
304
  local value = defaultValueByObjectDataEntryId[entry.id]
217
305
  if value ~= nil then
218
- local ____temp_5
306
+ local ____temp_9
219
307
  if index == nil then
220
- ____temp_5 = value
308
+ ____temp_9 = value
221
309
  else
222
- local ____value_index_4 = value[index + 1]
223
- if ____value_index_4 == nil then
224
- ____value_index_4 = self.defaultValue
310
+ local ____value_index_8 = value[index + 1]
311
+ if ____value_index_8 == nil then
312
+ ____value_index_8 = self.defaultValue
225
313
  end
226
- ____temp_5 = ____value_index_4
314
+ ____temp_9 = ____value_index_8
227
315
  end
228
- return ____temp_5
316
+ return ____temp_9
229
317
  end
230
318
  end
231
319
  return index == nil and ({}) or self.defaultValue
@@ -235,17 +323,17 @@ function ObjectArrayField.prototype.getValue(self, entry, index)
235
323
  local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
236
324
  if defaultValue ~= nil then
237
325
  local value = self.valueByInstance[entry] or defaultValue
238
- local ____temp_7
326
+ local ____temp_11
239
327
  if index == nil then
240
- ____temp_7 = value
328
+ ____temp_11 = value
241
329
  else
242
- local ____value_index_6 = value[index + 1]
243
- if ____value_index_6 == nil then
244
- ____value_index_6 = self.defaultValue
330
+ local ____value_index_10 = value[index + 1]
331
+ if ____value_index_10 == nil then
332
+ ____value_index_10 = self.defaultValue
245
333
  end
246
- ____temp_7 = ____value_index_6
334
+ ____temp_11 = ____value_index_10
247
335
  end
248
- return ____temp_7
336
+ return ____temp_11
249
337
  end
250
338
  end
251
339
  if index ~= nil then
@@ -290,11 +378,11 @@ function ObjectLevelField.prototype.getValue(self, entry, level)
290
378
  if defaultValueByObjectDataEntryId ~= nil then
291
379
  local valueByLevel = defaultValueByObjectDataEntryId[entry.id]
292
380
  if valueByLevel ~= nil then
293
- local ____valueByLevel_index_8 = valueByLevel[level + 1]
294
- if ____valueByLevel_index_8 == nil then
295
- ____valueByLevel_index_8 = self.defaultValue
381
+ local ____valueByLevel_index_12 = valueByLevel[level + 1]
382
+ if ____valueByLevel_index_12 == nil then
383
+ ____valueByLevel_index_12 = self.defaultValue
296
384
  end
297
- return ____valueByLevel_index_8
385
+ return ____valueByLevel_index_12
298
386
  end
299
387
  end
300
388
  return self.defaultValue
@@ -303,23 +391,23 @@ function ObjectLevelField.prototype.getValue(self, entry, level)
303
391
  if defaultValueByObjectDataEntryId ~= nil then
304
392
  local defaultValueByLevel = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
305
393
  if defaultValueByLevel ~= nil then
306
- local ____opt_9 = self.valueByInstance[entry]
307
- local ____temp_11 = ____opt_9 and ____opt_9[level + 1]
308
- if ____temp_11 == nil then
309
- ____temp_11 = defaultValueByLevel[level + 1]
394
+ local ____opt_13 = self.valueByInstance[entry]
395
+ local ____temp_15 = ____opt_13 and ____opt_13[level + 1]
396
+ if ____temp_15 == nil then
397
+ ____temp_15 = defaultValueByLevel[level + 1]
310
398
  end
311
- local ____temp_11_12 = ____temp_11
312
- if ____temp_11_12 == nil then
313
- ____temp_11_12 = self.defaultValue
399
+ local ____temp_15_16 = ____temp_15
400
+ if ____temp_15_16 == nil then
401
+ ____temp_15_16 = self.defaultValue
314
402
  end
315
- return ____temp_11_12
403
+ return ____temp_15_16
316
404
  end
317
405
  end
318
- local ____temp_13 = self:getNativeFieldValue(entry, level)
319
- if ____temp_13 == nil then
320
- ____temp_13 = self.defaultValue
406
+ local ____temp_17 = self:getNativeFieldValue(entry, level)
407
+ if ____temp_17 == nil then
408
+ ____temp_17 = self.defaultValue
321
409
  end
322
- return ____temp_13
410
+ return ____temp_17
323
411
  end
324
412
  function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
325
413
  if value == nil then
@@ -368,15 +456,15 @@ function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
368
456
  valueByLevel = {}
369
457
  self.valueByInstance[entry] = valueByLevel
370
458
  end
371
- local ____valueByLevel_index_14 = valueByLevel[level + 1]
372
- if ____valueByLevel_index_14 == nil then
373
- ____valueByLevel_index_14 = defaultValueByLevel[level + 1]
459
+ local ____valueByLevel_index_18 = valueByLevel[level + 1]
460
+ if ____valueByLevel_index_18 == nil then
461
+ ____valueByLevel_index_18 = defaultValueByLevel[level + 1]
374
462
  end
375
- local ____valueByLevel_index_14_15 = ____valueByLevel_index_14
376
- if ____valueByLevel_index_14_15 == nil then
377
- ____valueByLevel_index_14_15 = self.defaultValue
463
+ local ____valueByLevel_index_18_19 = ____valueByLevel_index_18
464
+ if ____valueByLevel_index_18_19 == nil then
465
+ ____valueByLevel_index_18_19 = self.defaultValue
378
466
  end
379
- local previousValue = ____valueByLevel_index_14_15
467
+ local previousValue = ____valueByLevel_index_18_19
380
468
  if value ~= previousValue then
381
469
  valueByLevel[level + 1] = value
382
470
  self:invokeValueChangeEvent(
@@ -390,19 +478,21 @@ function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
390
478
  return true
391
479
  end
392
480
  end
481
+ if not self:hasNativeFieldValue(entry) then
482
+ return false
483
+ end
393
484
  local previousValue = self:getNativeFieldValue(entry, level)
394
485
  if value ~= previousValue then
395
- if self:setNativeFieldValue(entry, level, value) then
396
- self:invokeValueChangeEvent(
397
- entry,
398
- self,
399
- level,
400
- previousValue,
401
- value
402
- )
403
- else
486
+ if not self:setNativeFieldValue(entry, level, value) then
404
487
  return false
405
488
  end
489
+ self:invokeValueChangeEvent(
490
+ entry,
491
+ self,
492
+ level,
493
+ previousValue,
494
+ value
495
+ )
406
496
  end
407
497
  return true
408
498
  end
@@ -8,3 +8,4 @@ export declare const randomFloat: {
8
8
  (upperBound?: number): number;
9
9
  (lowerBound: number, upperBound: number): number;
10
10
  };
11
+ export declare const randomXY: (centerX: number, centerY: number, range: number) => LuaMultiReturn<[x: number, y: number]>;
package/engine/random.lua CHANGED
@@ -1,9 +1,18 @@
1
1
  local ____exports = {}
2
2
  local ____math = require("math")
3
3
  local MAXIMUM_INTEGER = ____math.MAXIMUM_INTEGER
4
+ local PI = ____math.PI
4
5
  local getRandomInt = GetRandomInt
5
6
  local getRandomReal = GetRandomReal
7
+ local cos = math.cos
8
+ local sin = math.sin
9
+ local sqrt = math.sqrt
6
10
  ____exports.randomAngle = function() return getRandomReal(0, 360) end
7
11
  ____exports.randomInteger = function(m, n) return n ~= nil and getRandomInt(m, n) or getRandomInt(0, m or MAXIMUM_INTEGER) end
8
12
  ____exports.randomFloat = function(m, n) return n ~= nil and getRandomReal(m, n) or getRandomReal(0, m or MAXIMUM_INTEGER) end
13
+ ____exports.randomXY = function(centerX, centerY, range)
14
+ local r = range * sqrt(getRandomReal(0, 1))
15
+ local t = getRandomReal(0, 1) * 2 * PI
16
+ return centerX + r * cos(t), centerY + r * sin(t)
17
+ end
9
18
  return ____exports
@@ -0,0 +1,3 @@
1
+ /** @noSelfInFile */
2
+ import { StandardBuffTypeId } from "../../object-data/entry/buff-type";
3
+ export declare const CHEMICAL_RAGE_BUFF_TYPE_ID: StandardBuffTypeId;
@@ -0,0 +1,3 @@
1
+ local ____exports = {}
2
+ ____exports.CHEMICAL_RAGE_BUFF_TYPE_ID = fourCC("BNcr")
3
+ return ____exports
@@ -0,0 +1,10 @@
1
+ /** @noSelfInFile */
2
+ import { StandardSoundPresetId } from "../../object-data/entry/sound-preset";
3
+ export declare const ABOMINATION_PISSED_SOUND_PRESET_ID: StandardSoundPresetId;
4
+ export declare const ABOMINATION_READY_SOUND_PRESET_ID: StandardSoundPresetId;
5
+ export declare const ABOMINATION_WAR_CRY_SOUND_PRESET_ID: StandardSoundPresetId;
6
+ export declare const AXE_MEDIUM_CHOP_WOOD_SOUND_PRESET_ID: StandardSoundPresetId;
7
+ export declare const IMPALE_SOUND_PRESET_ID: StandardSoundPresetId;
8
+ export declare const IMPALE_HIT_SOUND_PRESET_ID: StandardSoundPresetId;
9
+ export declare const IMPALE_LAND_SOUND_PRESET_ID: StandardSoundPresetId;
10
+ export declare const IMPALE_CAST_SOUND_PRESET_ID: StandardSoundPresetId;
@@ -0,0 +1,10 @@
1
+ local ____exports = {}
2
+ ____exports.ABOMINATION_PISSED_SOUND_PRESET_ID = "AbominationPissed"
3
+ ____exports.ABOMINATION_READY_SOUND_PRESET_ID = "AbominationReady"
4
+ ____exports.ABOMINATION_WAR_CRY_SOUND_PRESET_ID = "AbominationWarcry"
5
+ ____exports.AXE_MEDIUM_CHOP_WOOD_SOUND_PRESET_ID = "AxeMediumChopWood"
6
+ ____exports.IMPALE_SOUND_PRESET_ID = "Impale"
7
+ ____exports.IMPALE_HIT_SOUND_PRESET_ID = "ImpaleHit"
8
+ ____exports.IMPALE_LAND_SOUND_PRESET_ID = "ImpaleLand"
9
+ ____exports.IMPALE_CAST_SOUND_PRESET_ID = "ImpaleCast"
10
+ return ____exports
@@ -9,11 +9,33 @@ export declare const RIFLEMAN_UNIT_TYPE_ID: StandardUnitTypeId;
9
9
  export declare const SIEGE_ENGINE_UNIT_TYPE_ID: StandardUnitTypeId;
10
10
  export declare const SORCERESS_UNIT_TYPE_ID: StandardUnitTypeId;
11
11
  export declare const SPELLBREAKER_UNIT_TYPE_ID: StandardUnitTypeId;
12
- export declare const PALADIN_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
13
12
  export declare const ARCHMAGE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
13
+ export declare const BLOOD_MAGE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
14
+ export declare const MOUNTAIN_KING_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
15
+ export declare const PALADIN_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
16
+ export declare const ARCHER_HIGH_ELF_UNIT_TYPE_ID: StandardUnitTypeId;
14
17
  export declare const CAPTAIN_UNIT_TYPE_ID: StandardUnitTypeId;
18
+ export declare const SWORDSMAN_UNIT_TYPE_ID: StandardUnitTypeId;
19
+ export declare const ADMIRAL_PROUDMOORE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
20
+ export declare const ANASTERIAN_SUNSTRIDER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
21
+ export declare const ANTONIDAS_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
22
+ export declare const ANTONIDAS_GHOST_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
15
23
  export declare const ARTHAS_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
16
24
  export declare const ARTHAS_WITH_FROSTMOURNE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
25
+ export declare const DAGREN_THE_ORCSLAYER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
26
+ export declare const HALAHK_THE_LIFEBRINGER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
27
+ export declare const JAINA_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
28
+ export declare const JENNALLA_DEEMSPRING_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
29
+ export declare const KAEL_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
30
+ export declare const KELEN_THE_SEEKER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
31
+ export declare const LORD_GARITHOS_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
32
+ export declare const LORD_NICHOLAS_BUZAN_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
33
+ export declare const MAGROTH_THE_DEFENDER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
34
+ export declare const MURADIN_BRONZEBEARD_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
35
+ export declare const SIR_GREGORY_EDMUNSON_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
36
+ export declare const SYLVANAS_WINDRUNNER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
37
+ export declare const THALORIEN_DAWNSEEKER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
38
+ export declare const UTHER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
17
39
  export declare const BATRIDER_UNIT_TYPE_ID: StandardUnitTypeId;
18
40
  export declare const DEMOLISHER_UNIT_TYPE_ID: StandardUnitTypeId;
19
41
  export declare const GRUNT_UNIT_TYPE_ID: StandardUnitTypeId;
@@ -25,11 +47,29 @@ export declare const SPIRIT_WALKER_UNIT_TYPE_ID: StandardUnitTypeId;
25
47
  export declare const TAUREN_UNIT_TYPE_ID: StandardUnitTypeId;
26
48
  export declare const WIND_RIDER_UNIT_TYPE_ID: StandardUnitTypeId;
27
49
  export declare const WITCH_DOCTOR_UNIT_TYPE_ID: StandardUnitTypeId;
50
+ export declare const ARCHER_UNIT_TYPE_ID: StandardUnitTypeId;
51
+ export declare const CHIMAERA_UNIT_TYPE_ID: StandardUnitTypeId;
52
+ export declare const DRUID_OF_THE_CLAW_UNIT_TYPE_ID: StandardUnitTypeId;
53
+ export declare const DRUID_OF_THE_TALON_UNIT_TYPE_ID: StandardUnitTypeId;
54
+ export declare const DRYAD_UNIT_TYPE_ID: StandardUnitTypeId;
55
+ export declare const FAERIE_DRAGON_UNIT_TYPE_ID: StandardUnitTypeId;
56
+ export declare const GLAIVE_THROWER_UNIT_TYPE_ID: StandardUnitTypeId;
57
+ export declare const HIPPOGRYPH_UNIT_TYPE_ID: StandardUnitTypeId;
58
+ export declare const HIPPOGRYPH_RIDER_UNIT_TYPE_ID: StandardUnitTypeId;
59
+ export declare const HUNTRESS_UNIT_TYPE_ID: StandardUnitTypeId;
60
+ export declare const MOUNTAIN_GIANT_THROWER_UNIT_TYPE_ID: StandardUnitTypeId;
61
+ export declare const WISP_UNIT_TYPE_ID: StandardUnitTypeId;
28
62
  export declare const DEMON_HUNTER_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
63
+ export declare const KEEPER_OF_THE_GROVE_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
64
+ export declare const MOON_PRIESTESS_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
65
+ export declare const WARDEN_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
29
66
  export declare const DEMON_HUNTER_DEMON_FORM_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
30
67
  export declare const ABOMINATION_UNIT_TYPE_ID: StandardUnitTypeId;
31
68
  export declare const GHOUL_UNIT_TYPE_ID: StandardUnitTypeId;
32
69
  export declare const DEATH_KNIGHT_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
70
+ export declare const ZOMBIE_UNIT_TYPE_ID: StandardUnitTypeId;
71
+ export declare const ZOMBIE_FEMALE_UNIT_TYPE_ID: StandardUnitTypeId;
72
+ export declare const ARTHAS_EVIL_HERO_UNIT_TYPE_ID: StandardHeroUnitTypeId;
33
73
  export declare const DIRE_MAMMOTH_UNIT_TYPE_ID: StandardUnitTypeId;
34
74
  export declare const ELDER_JUNGLE_STALKER_UNIT_TYPE_ID: StandardUnitTypeId;
35
75
  export declare const ENRAGED_ELEMENTAL_UNIT_TYPE_ID: StandardUnitTypeId;
@@ -58,6 +98,7 @@ export declare const WENDIGO_UNIT_TYPE_ID: StandardUnitTypeId;
58
98
  export declare const WENDIGO_SHAMAN_UNIT_TYPE_ID: StandardUnitTypeId;
59
99
  export declare const WILDKIN_UNIT_TYPE_ID: StandardUnitTypeId;
60
100
  export declare const WRAITH_UNIT_TYPE_ID: StandardUnitTypeId;
101
+ export declare const GOBLIN_LAND_MINE_UNIT_TYPE_ID: StandardUnitTypeId;
61
102
  export declare const CIRCLE_OF_POWER_UNIT_TYPE_ID: StandardUnitTypeId;
62
103
  export declare const CIRCLE_OF_POWER_MEDIUM_UNIT_TYPE_ID: StandardUnitTypeId;
63
104
  export declare const CIRCLE_OF_POWER_LARGE_UNIT_TYPE_ID: StandardUnitTypeId;
@@ -8,11 +8,33 @@ ____exports.RIFLEMAN_UNIT_TYPE_ID = fourCC("hrif")
8
8
  ____exports.SIEGE_ENGINE_UNIT_TYPE_ID = fourCC("hmtt")
9
9
  ____exports.SORCERESS_UNIT_TYPE_ID = fourCC("hsor")
10
10
  ____exports.SPELLBREAKER_UNIT_TYPE_ID = fourCC("hspt")
11
- ____exports.PALADIN_HERO_UNIT_TYPE_ID = fourCC("Hpal")
12
11
  ____exports.ARCHMAGE_HERO_UNIT_TYPE_ID = fourCC("Hamg")
12
+ ____exports.BLOOD_MAGE_HERO_UNIT_TYPE_ID = fourCC("Hblm")
13
+ ____exports.MOUNTAIN_KING_HERO_UNIT_TYPE_ID = fourCC("Hmkg")
14
+ ____exports.PALADIN_HERO_UNIT_TYPE_ID = fourCC("Hpal")
15
+ ____exports.ARCHER_HIGH_ELF_UNIT_TYPE_ID = fourCC("nhea")
13
16
  ____exports.CAPTAIN_UNIT_TYPE_ID = fourCC("hcth")
17
+ ____exports.SWORDSMAN_UNIT_TYPE_ID = fourCC("hhes")
18
+ ____exports.ADMIRAL_PROUDMOORE_HERO_UNIT_TYPE_ID = fourCC("Hapm")
19
+ ____exports.ANASTERIAN_SUNSTRIDER_HERO_UNIT_TYPE_ID = fourCC("Hssa")
20
+ ____exports.ANTONIDAS_HERO_UNIT_TYPE_ID = fourCC("Hant")
21
+ ____exports.ANTONIDAS_GHOST_HERO_UNIT_TYPE_ID = fourCC("Hgam")
14
22
  ____exports.ARTHAS_HERO_UNIT_TYPE_ID = fourCC("Hart")
15
23
  ____exports.ARTHAS_WITH_FROSTMOURNE_HERO_UNIT_TYPE_ID = fourCC("Harf")
24
+ ____exports.DAGREN_THE_ORCSLAYER_HERO_UNIT_TYPE_ID = fourCC("Hdgo")
25
+ ____exports.HALAHK_THE_LIFEBRINGER_HERO_UNIT_TYPE_ID = fourCC("Hhkl")
26
+ ____exports.JAINA_HERO_UNIT_TYPE_ID = fourCC("Hjai")
27
+ ____exports.JENNALLA_DEEMSPRING_HERO_UNIT_TYPE_ID = fourCC("Hjnd")
28
+ ____exports.KAEL_HERO_UNIT_TYPE_ID = fourCC("Hkal")
29
+ ____exports.KELEN_THE_SEEKER_HERO_UNIT_TYPE_ID = fourCC("Haah")
30
+ ____exports.LORD_GARITHOS_HERO_UNIT_TYPE_ID = fourCC("Hlgr")
31
+ ____exports.LORD_NICHOLAS_BUZAN_HERO_UNIT_TYPE_ID = fourCC("Hpb1")
32
+ ____exports.MAGROTH_THE_DEFENDER_HERO_UNIT_TYPE_ID = fourCC("Hmgd")
33
+ ____exports.MURADIN_BRONZEBEARD_HERO_UNIT_TYPE_ID = fourCC("Hmbr")
34
+ ____exports.SIR_GREGORY_EDMUNSON_HERO_UNIT_TYPE_ID = fourCC("Hpb2")
35
+ ____exports.SYLVANAS_WINDRUNNER_HERO_UNIT_TYPE_ID = fourCC("Hvwd")
36
+ ____exports.THALORIEN_DAWNSEEKER_HERO_UNIT_TYPE_ID = fourCC("Hddt")
37
+ ____exports.UTHER_HERO_UNIT_TYPE_ID = fourCC("Huth")
16
38
  ____exports.BATRIDER_UNIT_TYPE_ID = fourCC("otbr")
17
39
  ____exports.DEMOLISHER_UNIT_TYPE_ID = fourCC("ocat")
18
40
  ____exports.GRUNT_UNIT_TYPE_ID = fourCC("ogru")
@@ -24,11 +46,29 @@ ____exports.SPIRIT_WALKER_UNIT_TYPE_ID = fourCC("ospw")
24
46
  ____exports.TAUREN_UNIT_TYPE_ID = fourCC("otau")
25
47
  ____exports.WIND_RIDER_UNIT_TYPE_ID = fourCC("owyv")
26
48
  ____exports.WITCH_DOCTOR_UNIT_TYPE_ID = fourCC("odoc")
49
+ ____exports.ARCHER_UNIT_TYPE_ID = fourCC("earc")
50
+ ____exports.CHIMAERA_UNIT_TYPE_ID = fourCC("echm")
51
+ ____exports.DRUID_OF_THE_CLAW_UNIT_TYPE_ID = fourCC("edoc")
52
+ ____exports.DRUID_OF_THE_TALON_UNIT_TYPE_ID = fourCC("edot")
53
+ ____exports.DRYAD_UNIT_TYPE_ID = fourCC("edry")
54
+ ____exports.FAERIE_DRAGON_UNIT_TYPE_ID = fourCC("efdr")
55
+ ____exports.GLAIVE_THROWER_UNIT_TYPE_ID = fourCC("ebal")
56
+ ____exports.HIPPOGRYPH_UNIT_TYPE_ID = fourCC("ehip")
57
+ ____exports.HIPPOGRYPH_RIDER_UNIT_TYPE_ID = fourCC("ehpr")
58
+ ____exports.HUNTRESS_UNIT_TYPE_ID = fourCC("esen")
59
+ ____exports.MOUNTAIN_GIANT_THROWER_UNIT_TYPE_ID = fourCC("emtg")
60
+ ____exports.WISP_UNIT_TYPE_ID = fourCC("ewsp")
27
61
  ____exports.DEMON_HUNTER_HERO_UNIT_TYPE_ID = fourCC("Edem")
62
+ ____exports.KEEPER_OF_THE_GROVE_HERO_UNIT_TYPE_ID = fourCC("Ekee")
63
+ ____exports.MOON_PRIESTESS_HERO_UNIT_TYPE_ID = fourCC("Emoo")
64
+ ____exports.WARDEN_HERO_UNIT_TYPE_ID = fourCC("Ewar")
28
65
  ____exports.DEMON_HUNTER_DEMON_FORM_HERO_UNIT_TYPE_ID = fourCC("Edmm")
29
66
  ____exports.ABOMINATION_UNIT_TYPE_ID = fourCC("uabo")
30
67
  ____exports.GHOUL_UNIT_TYPE_ID = fourCC("ugho")
31
68
  ____exports.DEATH_KNIGHT_HERO_UNIT_TYPE_ID = fourCC("Udea")
69
+ ____exports.ZOMBIE_UNIT_TYPE_ID = fourCC("nzom")
70
+ ____exports.ZOMBIE_FEMALE_UNIT_TYPE_ID = fourCC("nzof")
71
+ ____exports.ARTHAS_EVIL_HERO_UNIT_TYPE_ID = fourCC("Uear")
32
72
  ____exports.DIRE_MAMMOTH_UNIT_TYPE_ID = fourCC("nmdr")
33
73
  ____exports.ELDER_JUNGLE_STALKER_UNIT_TYPE_ID = fourCC("njga")
34
74
  ____exports.ENRAGED_ELEMENTAL_UNIT_TYPE_ID = fourCC("nele")
@@ -57,6 +97,7 @@ ____exports.WENDIGO_UNIT_TYPE_ID = fourCC("nwen")
57
97
  ____exports.WENDIGO_SHAMAN_UNIT_TYPE_ID = fourCC("nwns")
58
98
  ____exports.WILDKIN_UNIT_TYPE_ID = fourCC("nowb")
59
99
  ____exports.WRAITH_UNIT_TYPE_ID = fourCC("ngh2")
100
+ ____exports.GOBLIN_LAND_MINE_UNIT_TYPE_ID = fourCC("nglm")
60
101
  ____exports.CIRCLE_OF_POWER_UNIT_TYPE_ID = fourCC("ncop")
61
102
  ____exports.CIRCLE_OF_POWER_MEDIUM_UNIT_TYPE_ID = fourCC("ncp2")
62
103
  ____exports.CIRCLE_OF_POWER_LARGE_UNIT_TYPE_ID = fourCC("ncp3")
@@ -16,7 +16,7 @@ export declare const LEVEL_SKIP_REQUIREMENT_ABILITY_INTEGER_FIELD: AbilityIntege
16
16
  export declare const HERO_ABILITY_ABILITY_BOOLEAN_FIELD: AbilityBooleanField & symbol;
17
17
  export declare const ITEM_ABILITY_ABILITY_BOOLEAN_FIELD: AbilityBooleanField & symbol;
18
18
  export declare const CHECK_DEPENDENCIES_ABILITY_BOOLEAN_FIELD: AbilityBooleanField & symbol;
19
- export declare const ARF_MISSILE_ARC_ABILITY_FLOAT_FIELD: AbilityFloatField & symbol;
19
+ export declare const MISSILE_ARC_ABILITY_FLOAT_FIELD: AbilityFloatField & symbol;
20
20
  export declare const NAME_ABILITY_STRING_FIELD: AbilityStringField & symbol;
21
21
  export declare const ICON_ACTIVATED_ABILITY_STRING_FIELD: AbilityStringField & symbol;
22
22
  export declare const ICON_RESEARCH_ABILITY_STRING_FIELD: AbilityStringField & symbol;
@@ -687,6 +687,8 @@ export declare const DISABLE_OTHER_ABILITIES_ABILITY_BOOLEAN_LEVEL_FIELD: Abilit
687
687
  export declare const ALLOW_BOUNTY_ABILITY_BOOLEAN_LEVEL_FIELD: AbilityBooleanLevelField & symbol;
688
688
  export declare const ICON_NORMAL_ABILITY_STRING_LEVEL_FIELD: AbilityStringLevelField & symbol;
689
689
  export declare const CASTER_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD: AbilityStringArrayField & symbol;
690
+ export declare const CASTER_EFFECT_FIRST_ATTACHMENT_POINT_STRING_FIELD: AbilityStringField & symbol;
691
+ export declare const CASTER_EFFECT_SECOND_ATTACHMENT_POINT_STRING_FIELD: AbilityStringField & symbol;
690
692
  export declare const TARGET_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD: AbilityStringArrayField & symbol;
691
693
  export declare const TARGET_EFFECT_FIRST_ATTACHMENT_POINT_STRING_FIELD: AbilityStringField & symbol;
692
694
  export declare const TARGET_EFFECT_SECOND_ATTACHMENT_POINT_STRING_FIELD: AbilityStringField & symbol;
@@ -27,7 +27,7 @@ ____exports.LEVEL_SKIP_REQUIREMENT_ABILITY_INTEGER_FIELD = AbilityIntegerField:c
27
27
  ____exports.HERO_ABILITY_ABILITY_BOOLEAN_FIELD = AbilityBooleanField:create(fourCC("aher"))
28
28
  ____exports.ITEM_ABILITY_ABILITY_BOOLEAN_FIELD = AbilityBooleanField:create(fourCC("aite"))
29
29
  ____exports.CHECK_DEPENDENCIES_ABILITY_BOOLEAN_FIELD = AbilityBooleanField:create(fourCC("achd"))
30
- ____exports.ARF_MISSILE_ARC_ABILITY_FLOAT_FIELD = AbilityFloatField:create(fourCC("amac"))
30
+ ____exports.MISSILE_ARC_ABILITY_FLOAT_FIELD = AbilityFloatField:create(fourCC("amac"))
31
31
  ____exports.NAME_ABILITY_STRING_FIELD = AbilityStringField:create(fourCC("anam"))
32
32
  ____exports.ICON_ACTIVATED_ABILITY_STRING_FIELD = AbilityStringField:create(fourCC("auar"))
33
33
  ____exports.ICON_RESEARCH_ABILITY_STRING_FIELD = AbilityStringField:create(fourCC("arar"))
@@ -698,6 +698,8 @@ ____exports.DISABLE_OTHER_ABILITIES_ABILITY_BOOLEAN_LEVEL_FIELD = AbilityBoolean
698
698
  ____exports.ALLOW_BOUNTY_ABILITY_BOOLEAN_LEVEL_FIELD = AbilityBooleanLevelField:create(fourCC("Ntm4"))
699
699
  ____exports.ICON_NORMAL_ABILITY_STRING_LEVEL_FIELD = AbilityStringLevelField:create(fourCC("aart"))
700
700
  ____exports.CASTER_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = AbilityStringArrayField:create(fourCC("acat"))
701
+ ____exports.CASTER_EFFECT_FIRST_ATTACHMENT_POINT_STRING_FIELD = AbilityStringField:create(fourCC("acap"))
702
+ ____exports.CASTER_EFFECT_SECOND_ATTACHMENT_POINT_STRING_FIELD = AbilityStringField:create(fourCC("aca1"))
701
703
  ____exports.TARGET_EFFECT_MODEL_PATHS_ABILITY_STRING_ARRAY_FIELD = AbilityStringArrayField:create(fourCC("atat"))
702
704
  ____exports.TARGET_EFFECT_FIRST_ATTACHMENT_POINT_STRING_FIELD = AbilityStringField:create(fourCC("ata0"))
703
705
  ____exports.TARGET_EFFECT_SECOND_ATTACHMENT_POINT_STRING_FIELD = AbilityStringField:create(fourCC("ata1"))
package/engine/unit.d.ts CHANGED
@@ -4,6 +4,7 @@ import "./internal/unit/ability";
4
4
  import "./internal/unit/allowed-targets";
5
5
  import "./internal/unit/buff";
6
6
  import "./internal/unit/expiration-timer";
7
+ import "./internal/unit/item";
7
8
  import "./internal/unit+ability";
8
9
  import "./internal/unit+damage";
9
10
  import "./internal/unit+rally";
@@ -14,6 +15,9 @@ import "./internal/unit/missile";
14
15
  import "./internal/unit-missile-launch";
15
16
  import "./internal/unit/ghost-counter";
16
17
  import "./internal/unit/invulnerability-counter";
18
+ import "./internal/unit/detach-missiles";
19
+ import "./internal/unit/main-selected";
20
+ import "./internal/unit/add-item-to-slot-init";
17
21
  import "./internal/unit/band-aids/ancestral-spirit-cannibalize";
18
22
  export { Unit, DamagingEvent, DamageEvent } from "./internal/unit";
19
23
  export * from "./internal/unit+damage";