warscript 0.0.1-dev.c37d12c → 0.0.1-dev.c49e173

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 (240) hide show
  1. package/attributes.d.ts +17 -0
  2. package/attributes.lua +23 -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/order.d.ts +1 -0
  18. package/core/types/order.lua +11 -1
  19. package/core/types/sound.d.ts +17 -24
  20. package/core/types/sound.lua +99 -24
  21. package/core/types/timer.d.ts +6 -7
  22. package/core/types/timer.lua +18 -21
  23. package/core/types/unit.lua +8 -0
  24. package/core/util.d.ts +1 -1
  25. package/core/util.lua +18 -1
  26. package/decl/index.d.ts +1 -0
  27. package/decl/native.d.ts +840 -786
  28. package/engine/ability.d.ts +1 -1
  29. package/engine/behavior.d.ts +10 -10
  30. package/engine/behavior.lua +6 -6
  31. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  32. package/engine/behaviour/ability/always-enabled.lua +31 -0
  33. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  34. package/engine/behaviour/ability/apply-buff.lua +32 -0
  35. package/engine/behaviour/ability/apply-unit-behavior.d.ts +13 -4
  36. package/engine/behaviour/ability/apply-unit-behavior.lua +32 -9
  37. package/engine/behaviour/ability/damage.d.ts +39 -11
  38. package/engine/behaviour/ability/damage.lua +83 -37
  39. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  40. package/engine/behaviour/ability/emulate-impact.lua +35 -0
  41. package/engine/behaviour/ability/heal.d.ts +33 -6
  42. package/engine/behaviour/ability/heal.lua +89 -10
  43. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  44. package/engine/behaviour/ability/instant-impact.lua +4 -15
  45. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  46. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  47. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  48. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  49. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  50. package/engine/behaviour/ability/restore-mana.lua +29 -0
  51. package/engine/behaviour/ability.d.ts +27 -4
  52. package/engine/behaviour/ability.lua +152 -17
  53. package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
  54. package/engine/behaviour/unit.d.ts +21 -2
  55. package/engine/behaviour/unit.lua +117 -0
  56. package/engine/buff.d.ts +103 -41
  57. package/engine/buff.lua +465 -212
  58. package/engine/game-map.d.ts +7 -0
  59. package/engine/game-map.lua +32 -0
  60. package/engine/internal/ability.d.ts +19 -14
  61. package/engine/internal/ability.lua +87 -76
  62. package/engine/internal/item/ability.lua +112 -4
  63. package/engine/internal/item+owner.lua +2 -2
  64. package/engine/internal/item.d.ts +6 -4
  65. package/engine/internal/item.lua +125 -28
  66. package/engine/internal/mechanics/ability-duration.d.ts +1 -3
  67. package/engine/internal/mechanics/ability-duration.lua +3 -1
  68. package/engine/internal/mechanics/cast-ability.d.ts +2 -0
  69. package/engine/internal/mechanics/cast-ability.lua +86 -0
  70. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  71. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  72. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  73. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  74. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  75. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  76. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  77. package/engine/internal/object-data/evasion-probability.lua +16 -0
  78. package/engine/internal/unit/ability.d.ts +10 -1
  79. package/engine/internal/unit/ability.lua +36 -14
  80. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  81. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  82. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  83. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  84. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  85. package/engine/internal/unit/allowed-targets.lua +9 -1
  86. package/engine/internal/unit/bonus.d.ts +11 -8
  87. package/engine/internal/unit/bonus.lua +23 -1
  88. package/engine/internal/unit/detach-missiles.d.ts +7 -0
  89. package/engine/internal/unit/detach-missiles.lua +30 -0
  90. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  91. package/engine/internal/unit/ignore-events-items.lua +5 -0
  92. package/engine/internal/unit/item.d.ts +24 -0
  93. package/engine/internal/unit/item.lua +78 -0
  94. package/engine/internal/unit/main-selected.d.ts +13 -0
  95. package/engine/internal/unit/main-selected.lua +51 -0
  96. package/engine/internal/unit+ability.lua +2 -2
  97. package/engine/internal/unit+damage.d.ts +2 -11
  98. package/engine/internal/unit+damage.lua +10 -14
  99. package/engine/internal/unit+spellSteal.lua +1 -2
  100. package/engine/internal/unit+transport.lua +4 -10
  101. package/engine/internal/unit-missile-launch.lua +25 -6
  102. package/engine/internal/unit.d.ts +84 -19
  103. package/engine/internal/unit.lua +540 -167
  104. package/engine/internal/utility.lua +12 -0
  105. package/engine/lightning.d.ts +12 -5
  106. package/engine/lightning.lua +48 -14
  107. package/engine/local-client.d.ts +7 -2
  108. package/engine/local-client.lua +82 -0
  109. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  110. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  111. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  112. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  113. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  114. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  115. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  116. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  117. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  118. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  119. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  120. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  121. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  122. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  123. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  124. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  125. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  126. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  127. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  128. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  129. package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
  130. package/engine/object-data/entry/ability-type/blink.lua +39 -0
  131. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  132. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  133. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  134. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  135. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  136. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  137. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  138. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  139. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  140. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  141. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  142. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  143. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  144. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  145. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  146. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  147. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  148. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  149. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  150. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  151. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  152. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  153. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  154. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  155. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  156. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  157. package/engine/object-data/entry/ability-type/web.lua +52 -0
  158. package/engine/object-data/entry/ability-type.d.ts +20 -18
  159. package/engine/object-data/entry/ability-type.lua +90 -33
  160. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  161. package/engine/object-data/entry/buff-type/applicable.lua +39 -102
  162. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  163. package/engine/object-data/entry/buff-type.d.ts +6 -13
  164. package/engine/object-data/entry/buff-type.lua +13 -29
  165. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  166. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  167. package/engine/object-data/entry/item-type.d.ts +15 -2
  168. package/engine/object-data/entry/item-type.lua +93 -2
  169. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  170. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  171. package/engine/object-data/entry/sound-preset.lua +140 -0
  172. package/engine/object-data/entry/unit-type.d.ts +50 -3
  173. package/engine/object-data/entry/unit-type.lua +452 -61
  174. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  175. package/engine/object-data/entry/upgrade.d.ts +1 -2
  176. package/engine/object-data/entry/upgrade.lua +4 -4
  177. package/engine/object-data/entry.d.ts +18 -17
  178. package/engine/object-data/entry.lua +60 -32
  179. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  180. package/engine/object-field/ability.d.ts +33 -8
  181. package/engine/object-field/ability.lua +60 -1
  182. package/engine/object-field/unit.d.ts +46 -2
  183. package/engine/object-field/unit.lua +173 -4
  184. package/engine/object-field.d.ts +15 -7
  185. package/engine/object-field.lua +195 -90
  186. package/engine/random.d.ts +1 -0
  187. package/engine/random.lua +9 -0
  188. package/engine/standard/entries/buff-type.d.ts +3 -0
  189. package/engine/standard/entries/buff-type.lua +3 -0
  190. package/engine/standard/entries/sound-preset.d.ts +10 -0
  191. package/engine/standard/entries/sound-preset.lua +10 -0
  192. package/engine/standard/entries/unit-type.d.ts +42 -1
  193. package/engine/standard/entries/unit-type.lua +42 -1
  194. package/engine/standard/fields/ability.d.ts +3 -1
  195. package/engine/standard/fields/ability.lua +3 -1
  196. package/engine/unit.d.ts +4 -0
  197. package/engine/unit.lua +13 -2
  198. package/event.d.ts +2 -3
  199. package/event.lua +9 -5
  200. package/global/vec2.lua +1 -0
  201. package/index.d.ts +1 -0
  202. package/index.lua +1 -0
  203. package/lualib_bundle.lua +146 -42
  204. package/math/vec2.d.ts +2 -9
  205. package/math.d.ts +0 -2
  206. package/net/socket.d.ts +7 -1
  207. package/net/socket.lua +45 -4
  208. package/network.d.ts +1 -0
  209. package/network.lua +3 -2
  210. package/objutil/ability.d.ts +0 -1
  211. package/objutil/buff.d.ts +0 -1
  212. package/objutil/buff.lua +2 -3
  213. package/objutil/object.d.ts +0 -1
  214. package/objutil/unit.d.ts +0 -1
  215. package/objutil/unit.lua +8 -0
  216. package/package.json +13 -14
  217. package/patch-lua.d.ts +0 -0
  218. package/patch-lua.lua +10 -0
  219. package/property.d.ts +55 -0
  220. package/property.lua +374 -0
  221. package/string.d.ts +30 -0
  222. package/string.lua +14 -0
  223. package/util/stream.d.ts +0 -1
  224. package/utility/arrays.d.ts +12 -5
  225. package/utility/arrays.lua +37 -3
  226. package/utility/bit-set.d.ts +0 -2
  227. package/utility/functions.d.ts +1 -0
  228. package/utility/functions.lua +1 -0
  229. package/utility/lazy.d.ts +2 -0
  230. package/utility/lazy.lua +14 -0
  231. package/utility/linked-set.d.ts +13 -3
  232. package/utility/linked-set.lua +24 -2
  233. package/utility/lua-maps.d.ts +4 -2
  234. package/utility/lua-maps.lua +16 -0
  235. package/utility/lua-sets.d.ts +2 -2
  236. package/utility/lua-sets.lua +3 -0
  237. package/utility/reflection.lua +11 -7
  238. package/utility/types.d.ts +3 -2
  239. package/core/mapbounds.d.ts +0 -8
  240. 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,10 +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.accepts(self, value)
75
- return __TS__TypeOf(value) == __TS__TypeOf(self.defaultValue)
76
- end
77
- function ObjectField.prototype.getValue(self, entry)
83
+ function ObjectField.prototype.getValue(self, entry, includeModifiers)
78
84
  if __TS__InstanceOf(entry, ObjectDataEntry) then
79
85
  local defaultValueByObjectDataEntryId = (warpack.compiletime and compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId or defaultValueByObjectDataEntryIdByObjectFieldId)[self.id]
80
86
  if defaultValueByObjectDataEntryId ~= nil then
@@ -85,22 +91,16 @@ function ObjectField.prototype.getValue(self, entry)
85
91
  end
86
92
  return self.defaultValue
87
93
  end
88
- local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
89
- if defaultValueByObjectDataEntryId ~= nil then
90
- local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
91
- if defaultValue ~= nil then
92
- local ____self_valueByInstance_entry_0 = self.valueByInstance[entry]
93
- if ____self_valueByInstance_entry_0 == nil then
94
- ____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
95
100
  end
96
- return ____self_valueByInstance_entry_0
97
101
  end
98
102
  end
99
- local ____temp_1 = self:getNativeFieldValue(entry)
100
- if ____temp_1 == nil then
101
- ____temp_1 = self.defaultValue
102
- end
103
- return ____temp_1
103
+ return self:getActualValue(entry)
104
104
  end
105
105
  function ObjectField.prototype.setValue(self, entry, value)
106
106
  if __TS__InstanceOf(entry, ObjectDataEntry) then
@@ -115,35 +115,53 @@ function ObjectField.prototype.setValue(self, entry, value)
115
115
  defaultValueByObjectDataEntryId[entry.id] = value
116
116
  return true
117
117
  end
118
- local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
119
- if defaultValueByObjectDataEntryId ~= nil then
120
- local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
121
- if defaultValue ~= nil then
122
- local ____self_valueByInstance_entry_2 = self.valueByInstance[entry]
123
- if ____self_valueByInstance_entry_2 == nil then
124
- ____self_valueByInstance_entry_2 = defaultValue
125
- end
126
- local ____self_valueByInstance_entry_2_3 = ____self_valueByInstance_entry_2
127
- if ____self_valueByInstance_entry_2_3 == nil then
128
- ____self_valueByInstance_entry_2_3 = self.defaultValue
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
129
126
  end
130
- local previousValue = ____self_valueByInstance_entry_2_3
131
- if value ~= previousValue then
132
- self.valueByInstance[entry] = value
133
- self:invokeValueChangeEvent(entry, self, previousValue, value)
134
- end
135
- return true
127
+ originalValueByInstance[entry] = value
128
+ value = self:calculateActualValue(entry)
136
129
  end
137
130
  end
138
- local previousValue = self:getNativeFieldValue(entry)
139
- if value ~= previousValue then
140
- if self:setNativeFieldValue(entry, value) then
141
- self:invokeValueChangeEvent(entry, self, previousValue, value)
142
- else
143
- 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
144
144
  end
145
+ originalValueByInstance[instance] = self:getActualValue(instance)
146
+ self:setActualValue(
147
+ instance,
148
+ self:calculateActualValue(instance)
149
+ )
145
150
  end
146
- 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
147
165
  end
148
166
  function ObjectField.prototype.removeValue(self, entry)
149
167
  if not warpack.compiletime then
@@ -159,6 +177,79 @@ function ObjectField.prototype.removeValue(self, entry)
159
177
  end
160
178
  return false
161
179
  end
180
+ function ObjectField.prototype.trySetValue(self, entry, value)
181
+ if __TS__TypeOf(value) ~= __TS__TypeOf(self.defaultValue) then
182
+ return false
183
+ end
184
+ return self:setValue(entry, value)
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
162
253
  function ObjectField.prototype.invokeValueChangeEvent(self, ...)
163
254
  self:invokeValueChangeEventRecursive(
164
255
  getClass(self),
@@ -212,17 +303,17 @@ function ObjectArrayField.prototype.getValue(self, entry, index)
212
303
  if defaultValueByObjectDataEntryId ~= nil then
213
304
  local value = defaultValueByObjectDataEntryId[entry.id]
214
305
  if value ~= nil then
215
- local ____temp_5
306
+ local ____temp_9
216
307
  if index == nil then
217
- ____temp_5 = value
308
+ ____temp_9 = value
218
309
  else
219
- local ____value_index_4 = value[index + 1]
220
- if ____value_index_4 == nil then
221
- ____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
222
313
  end
223
- ____temp_5 = ____value_index_4
314
+ ____temp_9 = ____value_index_8
224
315
  end
225
- return ____temp_5
316
+ return ____temp_9
226
317
  end
227
318
  end
228
319
  return index == nil and ({}) or self.defaultValue
@@ -232,17 +323,17 @@ function ObjectArrayField.prototype.getValue(self, entry, index)
232
323
  local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
233
324
  if defaultValue ~= nil then
234
325
  local value = self.valueByInstance[entry] or defaultValue
235
- local ____temp_7
326
+ local ____temp_11
236
327
  if index == nil then
237
- ____temp_7 = value
328
+ ____temp_11 = value
238
329
  else
239
- local ____value_index_6 = value[index + 1]
240
- if ____value_index_6 == nil then
241
- ____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
242
333
  end
243
- ____temp_7 = ____value_index_6
334
+ ____temp_11 = ____value_index_10
244
335
  end
245
- return ____temp_7
336
+ return ____temp_11
246
337
  end
247
338
  end
248
339
  if index ~= nil then
@@ -273,9 +364,6 @@ ____exports.ObjectLevelField = __TS__Class()
273
364
  local ObjectLevelField = ____exports.ObjectLevelField
274
365
  ObjectLevelField.name = "ObjectLevelField"
275
366
  __TS__ClassExtends(ObjectLevelField, ObjectFieldBase)
276
- function ObjectLevelField.prototype.accepts(self, value)
277
- return __TS__TypeOf(value) == __TS__TypeOf(self.defaultValue)
278
- end
279
367
  function ObjectLevelField.prototype.getValue(self, entry, level)
280
368
  if level == nil then
281
369
  local result = {}
@@ -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,22 +478,39 @@ 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
499
+ function ObjectLevelField.prototype.trySetValue(self, entry, levelOrValue, value)
500
+ if value ~= nil then
501
+ if __TS__TypeOf(value) ~= __TS__TypeOf(self.defaultValue) then
502
+ return false
503
+ end
504
+ if type(levelOrValue) ~= "number" then
505
+ return false
506
+ end
507
+ return self:setValue(entry, levelOrValue, value)
508
+ end
509
+ if __TS__TypeOf(levelOrValue) ~= __TS__TypeOf(self.defaultValue) then
510
+ return false
511
+ end
512
+ return self:setValue(entry, levelOrValue)
513
+ end
409
514
  function ObjectLevelField.prototype.invokeValueChangeEvent(self, ...)
410
515
  self:invokeValueChangeEventRecursive(
411
516
  getClass(self),
@@ -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"))