warscript 0.0.1-dev.b530e1f → 0.0.1-dev.b9f7033

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 (264) 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/binarywriter.lua +12 -0
  6. package/config.d.ts +5 -0
  7. package/config.lua +10 -0
  8. package/core/types/effect.d.ts +14 -6
  9. package/core/types/effect.lua +131 -35
  10. package/core/types/frame.d.ts +8 -1
  11. package/core/types/frame.lua +117 -22
  12. package/core/types/group.d.ts +0 -1
  13. package/core/types/handle.d.ts +2 -1
  14. package/core/types/handle.lua +5 -0
  15. package/core/types/image.d.ts +0 -1
  16. package/core/types/missile.d.ts +2 -2
  17. package/core/types/missile.lua +8 -2
  18. package/core/types/player.lua +3 -1
  19. package/core/types/playerCamera.d.ts +2 -0
  20. package/core/types/playerCamera.lua +123 -5
  21. package/core/types/sound.d.ts +17 -24
  22. package/core/types/sound.lua +99 -24
  23. package/core/types/tileCell.d.ts +9 -0
  24. package/core/types/tileCell.lua +92 -0
  25. package/core/types/timer.d.ts +8 -8
  26. package/core/types/timer.lua +39 -23
  27. package/core/types/unit.lua +8 -0
  28. package/core/util.d.ts +1 -1
  29. package/core/util.lua +18 -1
  30. package/decl/index.d.ts +1 -0
  31. package/decl/native.d.ts +846 -790
  32. package/engine/ability.d.ts +1 -1
  33. package/engine/behavior.d.ts +15 -10
  34. package/engine/behavior.lua +112 -33
  35. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  36. package/engine/behaviour/ability/always-enabled.lua +31 -0
  37. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  38. package/engine/behaviour/ability/apply-buff.lua +32 -0
  39. package/engine/behaviour/ability/apply-unit-behavior.d.ts +13 -4
  40. package/engine/behaviour/ability/apply-unit-behavior.lua +32 -9
  41. package/engine/behaviour/ability/damage.d.ts +39 -11
  42. package/engine/behaviour/ability/damage.lua +83 -37
  43. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  44. package/engine/behaviour/ability/emulate-impact.lua +43 -0
  45. package/engine/behaviour/ability/heal.d.ts +33 -6
  46. package/engine/behaviour/ability/heal.lua +89 -10
  47. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  48. package/engine/behaviour/ability/instant-impact.lua +4 -15
  49. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  50. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  51. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  52. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  53. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  54. package/engine/behaviour/ability/restore-mana.lua +29 -0
  55. package/engine/behaviour/ability.d.ts +27 -4
  56. package/engine/behaviour/ability.lua +152 -26
  57. package/engine/behaviour/unit/stun-immunity.d.ts +5 -4
  58. package/engine/behaviour/unit/stun-immunity.lua +43 -27
  59. package/engine/behaviour/unit.d.ts +40 -2
  60. package/engine/behaviour/unit.lua +208 -0
  61. package/engine/buff.d.ts +104 -44
  62. package/engine/buff.lua +453 -215
  63. package/engine/game-map.d.ts +7 -0
  64. package/engine/game-map.lua +32 -0
  65. package/engine/internal/ability.d.ts +24 -15
  66. package/engine/internal/ability.lua +129 -85
  67. package/engine/internal/item/ability.lua +162 -4
  68. package/engine/internal/item+owner.lua +12 -6
  69. package/engine/internal/item.d.ts +8 -7
  70. package/engine/internal/item.lua +153 -51
  71. package/engine/internal/mechanics/ability-duration.d.ts +1 -3
  72. package/engine/internal/mechanics/ability-duration.lua +3 -1
  73. package/engine/internal/mechanics/cast-ability.d.ts +2 -0
  74. package/engine/internal/mechanics/cast-ability.lua +86 -0
  75. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  76. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  77. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  78. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  79. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  80. package/engine/internal/misc/frame-coordinates.lua +21 -0
  81. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  82. package/engine/internal/misc/get-terrain-z.lua +11 -0
  83. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  84. package/engine/internal/misc/player-local-handle.lua +5 -0
  85. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  86. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  87. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  88. package/engine/internal/object-data/evasion-probability.lua +16 -0
  89. package/engine/internal/unit/ability.d.ts +45 -1
  90. package/engine/internal/unit/ability.lua +98 -14
  91. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  92. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  93. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  94. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  95. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  96. package/engine/internal/unit/allowed-targets.lua +9 -1
  97. package/engine/internal/unit/bonus.d.ts +11 -8
  98. package/engine/internal/unit/bonus.lua +23 -1
  99. package/engine/internal/unit/detach-missiles.d.ts +7 -0
  100. package/engine/internal/unit/detach-missiles.lua +30 -0
  101. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  102. package/engine/internal/unit/ignore-events-items.lua +5 -0
  103. package/engine/internal/unit/item.d.ts +24 -0
  104. package/engine/internal/unit/item.lua +78 -0
  105. package/engine/internal/unit/main-selected.d.ts +13 -0
  106. package/engine/internal/unit/main-selected.lua +51 -0
  107. package/engine/internal/unit/order.d.ts +20 -0
  108. package/engine/internal/unit/order.lua +136 -0
  109. package/engine/internal/unit+ability.lua +12 -3
  110. package/engine/internal/unit+damage.d.ts +2 -11
  111. package/engine/internal/unit+damage.lua +10 -14
  112. package/engine/internal/unit+spellSteal.lua +1 -2
  113. package/engine/internal/unit+transport.lua +4 -10
  114. package/engine/internal/unit-missile-launch.lua +33 -7
  115. package/engine/internal/unit.d.ts +89 -24
  116. package/engine/internal/unit.lua +594 -206
  117. package/engine/internal/utility.lua +12 -0
  118. package/engine/lightning.d.ts +12 -5
  119. package/engine/lightning.lua +48 -14
  120. package/engine/local-client.d.ts +7 -2
  121. package/engine/local-client.lua +82 -0
  122. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  123. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  124. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  125. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  126. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  127. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  128. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  129. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  130. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  131. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  132. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  133. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  134. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  135. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  136. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  137. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  138. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  139. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  140. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  141. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  142. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  143. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  144. package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
  145. package/engine/object-data/entry/ability-type/blink.lua +39 -0
  146. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  147. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  148. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  149. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  150. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
  151. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  152. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  153. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  154. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  155. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  156. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  157. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  158. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  159. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  160. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  161. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  162. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  163. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  164. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  165. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  166. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  167. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  168. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  169. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  170. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  171. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  172. package/engine/object-data/entry/ability-type/web.lua +52 -0
  173. package/engine/object-data/entry/ability-type.d.ts +19 -18
  174. package/engine/object-data/entry/ability-type.lua +90 -36
  175. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  176. package/engine/object-data/entry/buff-type/applicable.lua +39 -102
  177. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  178. package/engine/object-data/entry/buff-type.d.ts +6 -13
  179. package/engine/object-data/entry/buff-type.lua +13 -29
  180. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  181. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  182. package/engine/object-data/entry/item-type.d.ts +15 -2
  183. package/engine/object-data/entry/item-type.lua +93 -2
  184. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  185. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  186. package/engine/object-data/entry/sound-preset.lua +140 -0
  187. package/engine/object-data/entry/unit-type.d.ts +61 -5
  188. package/engine/object-data/entry/unit-type.lua +511 -62
  189. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  190. package/engine/object-data/entry/upgrade.d.ts +1 -2
  191. package/engine/object-data/entry/upgrade.lua +4 -4
  192. package/engine/object-data/entry.d.ts +18 -17
  193. package/engine/object-data/entry.lua +60 -32
  194. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  195. package/engine/object-field/ability.d.ts +33 -8
  196. package/engine/object-field/ability.lua +61 -1
  197. package/engine/object-field/unit.d.ts +57 -2
  198. package/engine/object-field/unit.lua +207 -4
  199. package/engine/object-field.d.ts +17 -5
  200. package/engine/object-field.lua +201 -97
  201. package/engine/random.d.ts +10 -0
  202. package/engine/random.lua +22 -0
  203. package/engine/standard/entries/buff-type.d.ts +3 -0
  204. package/engine/standard/entries/buff-type.lua +3 -0
  205. package/engine/standard/entries/sound-preset.d.ts +10 -0
  206. package/engine/standard/entries/sound-preset.lua +10 -0
  207. package/engine/standard/entries/unit-type.d.ts +42 -1
  208. package/engine/standard/entries/unit-type.lua +42 -1
  209. package/engine/standard/fields/ability.d.ts +3 -1
  210. package/engine/standard/fields/ability.lua +3 -1
  211. package/engine/standard/fields/unit.d.ts +4 -0
  212. package/engine/standard/fields/unit.lua +7 -0
  213. package/engine/text-tag.d.ts +36 -2
  214. package/engine/text-tag.lua +249 -10
  215. package/engine/unit.d.ts +5 -0
  216. package/engine/unit.lua +14 -2
  217. package/event.d.ts +2 -3
  218. package/event.lua +9 -5
  219. package/global/vec2.lua +1 -0
  220. package/index.d.ts +1 -0
  221. package/index.lua +1 -0
  222. package/lualib_bundle.lua +146 -42
  223. package/math/vec2.d.ts +2 -9
  224. package/math.d.ts +0 -2
  225. package/net/socket.d.ts +7 -1
  226. package/net/socket.lua +45 -4
  227. package/network.d.ts +1 -0
  228. package/network.lua +3 -2
  229. package/objutil/ability.d.ts +0 -1
  230. package/objutil/buff.d.ts +0 -1
  231. package/objutil/buff.lua +2 -3
  232. package/objutil/object.d.ts +0 -1
  233. package/objutil/unit.d.ts +0 -1
  234. package/objutil/unit.lua +8 -0
  235. package/package.json +13 -14
  236. package/patch-lua.d.ts +0 -0
  237. package/patch-lua.lua +10 -0
  238. package/patch-lualib.lua +1 -1
  239. package/property.d.ts +55 -0
  240. package/property.lua +374 -0
  241. package/string.d.ts +30 -0
  242. package/string.lua +14 -0
  243. package/util/stream.d.ts +0 -1
  244. package/utility/arrays.d.ts +12 -5
  245. package/utility/arrays.lua +37 -3
  246. package/utility/bit-set.d.ts +0 -2
  247. package/utility/callback-array.d.ts +13 -0
  248. package/utility/callback-array.lua +46 -0
  249. package/utility/functions.d.ts +8 -0
  250. package/utility/functions.lua +13 -0
  251. package/utility/lazy.d.ts +2 -0
  252. package/utility/lazy.lua +14 -0
  253. package/utility/linked-set.d.ts +12 -3
  254. package/utility/linked-set.lua +8 -2
  255. package/utility/lua-maps.d.ts +16 -4
  256. package/utility/lua-maps.lua +53 -2
  257. package/utility/lua-sets.d.ts +3 -2
  258. package/utility/lua-sets.lua +7 -0
  259. package/utility/reflection.lua +11 -7
  260. package/utility/types.d.ts +3 -2
  261. package/core/mapbounds.d.ts +0 -8
  262. package/core/mapbounds.lua +0 -12
  263. package/core/types/order.d.ts +0 -25
  264. package/core/types/order.lua +0 -55
@@ -20,6 +20,14 @@ 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 emptyLuaMap = ____lua_2Dmaps.emptyLuaMap
27
+ local getOrPut = ____lua_2Dmaps.getOrPut
28
+ local mutableWeakLuaMap = ____lua_2Dmaps.mutableWeakLuaMap
29
+ local ____arrays = require("utility.arrays")
30
+ local emptyArray = ____arrays.emptyArray
23
31
  local compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId = {}
24
32
  local defaultValueByObjectDataEntryIdByObjectFieldId = postcompile(function() return compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId end)
25
33
  local objectFieldById = {}
@@ -29,7 +37,11 @@ local idGenerator = __TS__New(
29
37
  )
30
38
  local ObjectFieldBase = __TS__Class()
31
39
  ObjectFieldBase.name = "ObjectFieldBase"
32
- function ObjectFieldBase.prototype.____constructor(self, id)
40
+ function ObjectFieldBase.prototype.____constructor(self, id, isGlobal)
41
+ if isGlobal == nil then
42
+ isGlobal = false
43
+ end
44
+ self.isGlobal = isGlobal
33
45
  self.valueByInstance = setmetatable({}, {__mode = "k"})
34
46
  if objectFieldById[id] ~= nil then
35
47
  error(
@@ -46,10 +58,15 @@ end
46
58
  function ObjectFieldBase.prototype.supports(self, instance)
47
59
  return __TS__InstanceOf(instance, self.instanceClass)
48
60
  end
49
- function ObjectFieldBase.create(self, id)
61
+ function ObjectFieldBase.prototype.hasValue(self, objectDataEntryId)
62
+ local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
63
+ return self.isGlobal or defaultValueByObjectDataEntryId ~= nil and defaultValueByObjectDataEntryId[objectDataEntryId] ~= nil or self:hasNativeFieldValue(objectDataEntryId)
64
+ end
65
+ function ObjectFieldBase.create(self, id, isGlobal)
50
66
  return __TS__New(
51
67
  self,
52
- id or idGenerator:next()
68
+ id or idGenerator:next(),
69
+ isGlobal
53
70
  )
54
71
  end
55
72
  function ObjectFieldBase.of(self, id)
@@ -71,7 +88,7 @@ ____exports.ObjectField = __TS__Class()
71
88
  local ObjectField = ____exports.ObjectField
72
89
  ObjectField.name = "ObjectField"
73
90
  __TS__ClassExtends(ObjectField, ObjectFieldBase)
74
- function ObjectField.prototype.getValue(self, entry)
91
+ function ObjectField.prototype.getValue(self, entry, includeModifiers)
75
92
  if __TS__InstanceOf(entry, ObjectDataEntry) then
76
93
  local defaultValueByObjectDataEntryId = (warpack.compiletime and compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId or defaultValueByObjectDataEntryIdByObjectFieldId)[self.id]
77
94
  if defaultValueByObjectDataEntryId ~= nil then
@@ -82,22 +99,16 @@ function ObjectField.prototype.getValue(self, entry)
82
99
  end
83
100
  return self.defaultValue
84
101
  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
102
+ if includeModifiers == false then
103
+ local originalValueByInstance = self.originalValueByInstance
104
+ if originalValueByInstance ~= nil then
105
+ local originalValue = originalValueByInstance[entry]
106
+ if originalValue ~= nil then
107
+ return originalValue
92
108
  end
93
- return ____self_valueByInstance_entry_0
94
109
  end
95
110
  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
111
+ return self:getActualValue(entry)
101
112
  end
102
113
  function ObjectField.prototype.setValue(self, entry, value)
103
114
  if __TS__InstanceOf(entry, ObjectDataEntry) then
@@ -112,35 +123,53 @@ function ObjectField.prototype.setValue(self, entry, value)
112
123
  defaultValueByObjectDataEntryId[entry.id] = value
113
124
  return true
114
125
  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
126
+ local modifiersByInstance = self.modifiersByInstance
127
+ if modifiersByInstance ~= nil then
128
+ local modifiers = modifiersByInstance[entry]
129
+ if modifiers ~= nil and modifiers.size ~= 0 then
130
+ local originalValueByInstance = self.originalValueByInstance
131
+ if originalValueByInstance == nil then
132
+ originalValueByInstance = mutableWeakLuaMap()
133
+ self.originalValueByInstance = originalValueByInstance
122
134
  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)
131
- end
132
- return true
135
+ originalValueByInstance[entry] = value
136
+ value = self:calculateActualValue(entry)
133
137
  end
134
138
  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
139
+ return self:setActualValue(entry, value)
140
+ end
141
+ function ObjectField.prototype.applyModifier(self, instance, modifier)
142
+ local modifiersByInstance = self.modifiersByInstance
143
+ if modifiersByInstance == nil then
144
+ modifiersByInstance = mutableWeakLuaMap()
145
+ self.modifiersByInstance = modifiersByInstance
146
+ end
147
+ if getOrPut(modifiersByInstance, instance, mutableLinkedSet):add(modifier) then
148
+ local originalValueByInstance = self.originalValueByInstance
149
+ if originalValueByInstance == nil then
150
+ originalValueByInstance = mutableWeakLuaMap()
151
+ self.originalValueByInstance = originalValueByInstance
141
152
  end
153
+ originalValueByInstance[instance] = self:getActualValue(instance)
154
+ self:setActualValue(
155
+ instance,
156
+ self:calculateActualValue(instance)
157
+ )
142
158
  end
143
- return true
159
+ end
160
+ function ObjectField.prototype.removeModifier(self, instance, modifier)
161
+ local modifiersByInstance = self.modifiersByInstance
162
+ if modifiersByInstance ~= nil then
163
+ local modifiers = modifiersByInstance[instance]
164
+ if modifiers ~= nil and modifiers:remove(modifier) then
165
+ self:setActualValue(
166
+ instance,
167
+ self:calculateActualValue(instance)
168
+ )
169
+ return true
170
+ end
171
+ end
172
+ return false
144
173
  end
145
174
  function ObjectField.prototype.removeValue(self, entry)
146
175
  if not warpack.compiletime then
@@ -162,6 +191,78 @@ function ObjectField.prototype.trySetValue(self, entry, value)
162
191
  end
163
192
  return self:setValue(entry, value)
164
193
  end
194
+ function ObjectField.prototype.getActualValue(self, instance)
195
+ local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
196
+ if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
197
+ local defaultValue = (defaultValueByObjectDataEntryId or emptyLuaMap())[self:getObjectDataEntryId(instance)]
198
+ if defaultValue ~= nil or self.isGlobal then
199
+ local ____self_valueByInstance_instance_0 = self.valueByInstance[instance]
200
+ if ____self_valueByInstance_instance_0 == nil then
201
+ ____self_valueByInstance_instance_0 = defaultValue
202
+ end
203
+ local ____self_valueByInstance_instance_0_1 = ____self_valueByInstance_instance_0
204
+ if ____self_valueByInstance_instance_0_1 == nil then
205
+ ____self_valueByInstance_instance_0_1 = self.defaultValue
206
+ end
207
+ return ____self_valueByInstance_instance_0_1
208
+ end
209
+ end
210
+ local ____temp_2 = self:getNativeFieldValue(instance)
211
+ if ____temp_2 == nil then
212
+ ____temp_2 = self.defaultValue
213
+ end
214
+ return ____temp_2
215
+ end
216
+ function ObjectField.prototype.setActualValue(self, instance, value)
217
+ local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
218
+ local objectDataEntryId = self:getObjectDataEntryId(instance)
219
+ if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
220
+ local defaultValue = (defaultValueByObjectDataEntryId or emptyLuaMap())[objectDataEntryId]
221
+ if defaultValue ~= nil or self.isGlobal then
222
+ local ____self_valueByInstance_instance_3 = self.valueByInstance[instance]
223
+ if ____self_valueByInstance_instance_3 == nil then
224
+ ____self_valueByInstance_instance_3 = defaultValue
225
+ end
226
+ local ____self_valueByInstance_instance_3_4 = ____self_valueByInstance_instance_3
227
+ if ____self_valueByInstance_instance_3_4 == nil then
228
+ ____self_valueByInstance_instance_3_4 = self.defaultValue
229
+ end
230
+ local previousValue = ____self_valueByInstance_instance_3_4
231
+ if value ~= previousValue then
232
+ self.valueByInstance[instance] = value
233
+ self:invokeValueChangeEvent(instance, self, previousValue, value)
234
+ end
235
+ return true
236
+ end
237
+ end
238
+ if not self:hasNativeFieldValue(objectDataEntryId) then
239
+ return false
240
+ end
241
+ local previousValue = self:getNativeFieldValue(instance)
242
+ if value ~= previousValue then
243
+ if not self:setNativeFieldValue(instance, value) then
244
+ return false
245
+ end
246
+ self:invokeValueChangeEvent(instance, self, previousValue, value)
247
+ end
248
+ return true
249
+ end
250
+ function ObjectField.prototype.calculateActualValue(self, instance)
251
+ local ____opt_5 = self.originalValueByInstance
252
+ local originalValue = ____opt_5 and ____opt_5[instance]
253
+ local ____opt_7 = self.modifiersByInstance
254
+ local modifiers = ____opt_7 and ____opt_7[instance]
255
+ if originalValue ~= nil then
256
+ local value = originalValue
257
+ if modifiers ~= nil then
258
+ for modifier in pairs(modifiers) do
259
+ value = modifier(instance, value, originalValue)
260
+ end
261
+ end
262
+ return value
263
+ end
264
+ return self.defaultValue
265
+ end
165
266
  function ObjectField.prototype.invokeValueChangeEvent(self, ...)
166
267
  self:invokeValueChangeEventRecursive(
167
268
  getClass(self),
@@ -215,37 +316,37 @@ function ObjectArrayField.prototype.getValue(self, entry, index)
215
316
  if defaultValueByObjectDataEntryId ~= nil then
216
317
  local value = defaultValueByObjectDataEntryId[entry.id]
217
318
  if value ~= nil then
218
- local ____temp_5
319
+ local ____temp_10
219
320
  if index == nil then
220
- ____temp_5 = value
321
+ ____temp_10 = value
221
322
  else
222
- local ____value_index_4 = value[index + 1]
223
- if ____value_index_4 == nil then
224
- ____value_index_4 = self.defaultValue
323
+ local ____value_index_9 = value[index + 1]
324
+ if ____value_index_9 == nil then
325
+ ____value_index_9 = self.defaultValue
225
326
  end
226
- ____temp_5 = ____value_index_4
327
+ ____temp_10 = ____value_index_9
227
328
  end
228
- return ____temp_5
329
+ return ____temp_10
229
330
  end
230
331
  end
231
332
  return index == nil and ({}) or self.defaultValue
232
333
  end
233
334
  local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
234
- if defaultValueByObjectDataEntryId ~= nil then
235
- local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
236
- if defaultValue ~= nil then
237
- local value = self.valueByInstance[entry] or defaultValue
238
- local ____temp_7
335
+ if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
336
+ local defaultValue = (defaultValueByObjectDataEntryId or emptyLuaMap())[self:getObjectDataEntryId(entry)]
337
+ if defaultValue ~= nil or self.isGlobal then
338
+ local value = self.valueByInstance[entry] or defaultValue or emptyArray()
339
+ local ____temp_12
239
340
  if index == nil then
240
- ____temp_7 = value
341
+ ____temp_12 = value
241
342
  else
242
- local ____value_index_6 = value[index + 1]
243
- if ____value_index_6 == nil then
244
- ____value_index_6 = self.defaultValue
343
+ local ____value_index_11 = value[index + 1]
344
+ if ____value_index_11 == nil then
345
+ ____value_index_11 = self.defaultValue
245
346
  end
246
- ____temp_7 = ____value_index_6
347
+ ____temp_12 = ____value_index_11
247
348
  end
248
- return ____temp_7
349
+ return ____temp_12
249
350
  end
250
351
  end
251
352
  if index ~= nil then
@@ -290,36 +391,36 @@ function ObjectLevelField.prototype.getValue(self, entry, level)
290
391
  if defaultValueByObjectDataEntryId ~= nil then
291
392
  local valueByLevel = defaultValueByObjectDataEntryId[entry.id]
292
393
  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
394
+ local ____valueByLevel_index_13 = valueByLevel[level + 1]
395
+ if ____valueByLevel_index_13 == nil then
396
+ ____valueByLevel_index_13 = self.defaultValue
296
397
  end
297
- return ____valueByLevel_index_8
398
+ return ____valueByLevel_index_13
298
399
  end
299
400
  end
300
401
  return self.defaultValue
301
402
  end
302
403
  local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
303
- if defaultValueByObjectDataEntryId ~= nil then
304
- local defaultValueByLevel = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
305
- 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]
404
+ if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
405
+ local defaultValueByLevel = (defaultValueByObjectDataEntryId or emptyLuaMap())[self:getObjectDataEntryId(entry)]
406
+ if defaultValueByLevel ~= nil or self.isGlobal then
407
+ local ____opt_14 = self.valueByInstance[entry]
408
+ local ____temp_16 = ____opt_14 and ____opt_14[level + 1]
409
+ if ____temp_16 == nil then
410
+ ____temp_16 = (defaultValueByLevel or emptyArray())[level + 1]
310
411
  end
311
- local ____temp_11_12 = ____temp_11
312
- if ____temp_11_12 == nil then
313
- ____temp_11_12 = self.defaultValue
412
+ local ____temp_16_17 = ____temp_16
413
+ if ____temp_16_17 == nil then
414
+ ____temp_16_17 = self.defaultValue
314
415
  end
315
- return ____temp_11_12
416
+ return ____temp_16_17
316
417
  end
317
418
  end
318
- local ____temp_13 = self:getNativeFieldValue(entry, level)
319
- if ____temp_13 == nil then
320
- ____temp_13 = self.defaultValue
419
+ local ____temp_18 = self:getNativeFieldValue(entry, level)
420
+ if ____temp_18 == nil then
421
+ ____temp_18 = self.defaultValue
321
422
  end
322
- return ____temp_13
423
+ return ____temp_18
323
424
  end
324
425
  function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
325
426
  if value == nil then
@@ -360,23 +461,24 @@ function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
360
461
  return true
361
462
  end
362
463
  local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
363
- if defaultValueByObjectDataEntryId ~= nil then
364
- local defaultValueByLevel = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
365
- if defaultValueByLevel ~= nil then
464
+ local objectDataEntryId = self:getObjectDataEntryId(entry)
465
+ if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
466
+ local defaultValueByLevel = (defaultValueByObjectDataEntryId or emptyLuaMap())[objectDataEntryId]
467
+ if defaultValueByLevel ~= nil or self.isGlobal then
366
468
  local valueByLevel = self.valueByInstance[entry]
367
469
  if valueByLevel == nil then
368
470
  valueByLevel = {}
369
471
  self.valueByInstance[entry] = valueByLevel
370
472
  end
371
- local ____valueByLevel_index_14 = valueByLevel[level + 1]
372
- if ____valueByLevel_index_14 == nil then
373
- ____valueByLevel_index_14 = defaultValueByLevel[level + 1]
473
+ local ____valueByLevel_index_19 = valueByLevel[level + 1]
474
+ if ____valueByLevel_index_19 == nil then
475
+ ____valueByLevel_index_19 = (defaultValueByLevel or emptyArray())[level + 1]
374
476
  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
477
+ local ____valueByLevel_index_19_20 = ____valueByLevel_index_19
478
+ if ____valueByLevel_index_19_20 == nil then
479
+ ____valueByLevel_index_19_20 = self.defaultValue
378
480
  end
379
- local previousValue = ____valueByLevel_index_14_15
481
+ local previousValue = ____valueByLevel_index_19_20
380
482
  if value ~= previousValue then
381
483
  valueByLevel[level + 1] = value
382
484
  self:invokeValueChangeEvent(
@@ -390,19 +492,21 @@ function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
390
492
  return true
391
493
  end
392
494
  end
495
+ if not self:hasNativeFieldValue(objectDataEntryId) then
496
+ return false
497
+ end
393
498
  local previousValue = self:getNativeFieldValue(entry, level)
394
499
  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
500
+ if not self:setNativeFieldValue(entry, level, value) then
404
501
  return false
405
502
  end
503
+ self:invokeValueChangeEvent(
504
+ entry,
505
+ self,
506
+ level,
507
+ previousValue,
508
+ value
509
+ )
406
510
  end
407
511
  return true
408
512
  end
@@ -1,4 +1,5 @@
1
1
  /** @noSelfInFile */
2
+ import { ReadonlyNonEmptyArray } from "../utility/types";
2
3
  export declare const randomAngle: () => number;
3
4
  export declare const randomInteger: {
4
5
  (upperBound?: number): number;
@@ -8,3 +9,12 @@ export declare const randomFloat: {
8
9
  (upperBound?: number): number;
9
10
  (lowerBound: number, upperBound: number): number;
10
11
  };
12
+ export declare const randomXY: (centerX: number, centerY: number, range: number) => LuaMultiReturn<[x: number, y: number]>;
13
+ export declare const randomElement: {
14
+ <T>(array: ReadonlyNonEmptyArray<T>): T;
15
+ <T>(array: ReadonlyArray<T>): T | undefined;
16
+ };
17
+ export declare const random: {
18
+ <T>(element: T, ...elements: T[]): T;
19
+ <T>(...elements: T[]): T | undefined;
20
+ };
package/engine/random.lua CHANGED
@@ -1,9 +1,31 @@
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 select = _G.select
8
+ local cos = math.cos
9
+ local sin = math.sin
10
+ local sqrt = math.sqrt
6
11
  ____exports.randomAngle = function() return getRandomReal(0, 360) end
7
12
  ____exports.randomInteger = function(m, n) return n ~= nil and getRandomInt(m, n) or getRandomInt(0, m or MAXIMUM_INTEGER) end
8
13
  ____exports.randomFloat = function(m, n) return n ~= nil and getRandomReal(m, n) or getRandomReal(0, m or MAXIMUM_INTEGER) end
14
+ ____exports.randomXY = function(centerX, centerY, range)
15
+ local r = range * sqrt(getRandomReal(0, 1))
16
+ local t = getRandomReal(0, 1) * 2 * PI
17
+ return centerX + r * cos(t), centerY + r * sin(t)
18
+ end
19
+ ____exports.randomElement = function(array)
20
+ return array[getRandomInt(1, #array)]
21
+ end
22
+ ____exports.random = function(...)
23
+ return (select(
24
+ getRandomInt(
25
+ 1,
26
+ select("#", ...)
27
+ ),
28
+ ...
29
+ ))
30
+ end
9
31
  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")