warscript 0.0.1-dev.404878c → 0.0.1-dev.40c20e7

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 (265) 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 +117 -22
  11. package/core/types/group.d.ts +0 -1
  12. package/core/types/handle.d.ts +2 -1
  13. package/core/types/handle.lua +5 -0
  14. package/core/types/image.d.ts +0 -1
  15. package/core/types/missile.d.ts +2 -2
  16. package/core/types/missile.lua +8 -2
  17. package/core/types/player.lua +3 -1
  18. package/core/types/playerCamera.d.ts +2 -0
  19. package/core/types/playerCamera.lua +123 -5
  20. package/core/types/sound.d.ts +17 -24
  21. package/core/types/sound.lua +99 -24
  22. package/core/types/tileCell.d.ts +8 -0
  23. package/core/types/tileCell.lua +78 -0
  24. package/core/types/timer.d.ts +8 -8
  25. package/core/types/timer.lua +39 -23
  26. package/core/types/unit.lua +8 -0
  27. package/core/util.d.ts +1 -1
  28. package/core/util.lua +18 -1
  29. package/decl/index.d.ts +1 -0
  30. package/decl/native.d.ts +846 -790
  31. package/engine/ability.d.ts +1 -1
  32. package/engine/behavior.d.ts +15 -10
  33. package/engine/behavior.lua +112 -33
  34. package/engine/behaviour/ability/always-enabled.d.ts +7 -0
  35. package/engine/behaviour/ability/always-enabled.lua +31 -0
  36. package/engine/behaviour/ability/apply-buff.d.ts +8 -5
  37. package/engine/behaviour/ability/apply-buff.lua +32 -0
  38. package/engine/behaviour/ability/apply-unit-behavior.d.ts +13 -4
  39. package/engine/behaviour/ability/apply-unit-behavior.lua +32 -9
  40. package/engine/behaviour/ability/damage.d.ts +39 -11
  41. package/engine/behaviour/ability/damage.lua +83 -37
  42. package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
  43. package/engine/behaviour/ability/emulate-impact.lua +43 -0
  44. package/engine/behaviour/ability/heal.d.ts +33 -6
  45. package/engine/behaviour/ability/heal.lua +89 -10
  46. package/engine/behaviour/ability/instant-impact.d.ts +2 -2
  47. package/engine/behaviour/ability/instant-impact.lua +4 -15
  48. package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
  49. package/engine/behaviour/ability/on-command-impact.lua +25 -0
  50. package/engine/behaviour/ability/remove-buffs.d.ts +16 -0
  51. package/engine/behaviour/ability/remove-buffs.lua +28 -0
  52. package/engine/behaviour/ability/restore-mana.d.ts +15 -0
  53. package/engine/behaviour/ability/restore-mana.lua +29 -0
  54. package/engine/behaviour/ability.d.ts +27 -4
  55. package/engine/behaviour/ability.lua +152 -26
  56. package/engine/behaviour/unit/stun-immunity.d.ts +5 -4
  57. package/engine/behaviour/unit/stun-immunity.lua +43 -27
  58. package/engine/behaviour/unit.d.ts +40 -2
  59. package/engine/behaviour/unit.lua +208 -0
  60. package/engine/buff.d.ts +104 -44
  61. package/engine/buff.lua +453 -215
  62. package/engine/game-map.d.ts +7 -0
  63. package/engine/game-map.lua +32 -0
  64. package/engine/internal/ability.d.ts +24 -15
  65. package/engine/internal/ability.lua +129 -85
  66. package/engine/internal/item/ability.lua +162 -4
  67. package/engine/internal/item+owner.lua +12 -6
  68. package/engine/internal/item.d.ts +8 -7
  69. package/engine/internal/item.lua +153 -51
  70. package/engine/internal/mechanics/ability-duration.d.ts +1 -3
  71. package/engine/internal/mechanics/ability-duration.lua +3 -1
  72. package/engine/internal/mechanics/cast-ability.d.ts +2 -0
  73. package/engine/internal/mechanics/cast-ability.lua +86 -0
  74. package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
  75. package/engine/internal/misc/ability-disable-counter.lua +13 -0
  76. package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
  77. package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
  78. package/engine/internal/misc/frame-coordinates.d.ts +2 -0
  79. package/engine/internal/misc/frame-coordinates.lua +21 -0
  80. package/engine/internal/misc/get-terrain-z.d.ts +2 -0
  81. package/engine/internal/misc/get-terrain-z.lua +11 -0
  82. package/engine/internal/misc/player-local-handle.d.ts +2 -0
  83. package/engine/internal/misc/player-local-handle.lua +5 -0
  84. package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
  85. package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
  86. package/engine/internal/object-data/evasion-probability.d.ts +2 -0
  87. package/engine/internal/object-data/evasion-probability.lua +16 -0
  88. package/engine/internal/unit/ability.d.ts +45 -1
  89. package/engine/internal/unit/ability.lua +98 -14
  90. package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
  91. package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
  92. package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
  93. package/engine/internal/unit/add-item-to-slot.lua +52 -0
  94. package/engine/internal/unit/allowed-targets.d.ts +1 -1
  95. package/engine/internal/unit/allowed-targets.lua +9 -1
  96. package/engine/internal/unit/bonus.d.ts +11 -8
  97. package/engine/internal/unit/bonus.lua +23 -1
  98. package/engine/internal/unit/detach-missiles.d.ts +7 -0
  99. package/engine/internal/unit/detach-missiles.lua +30 -0
  100. package/engine/internal/unit/ignore-events-items.d.ts +2 -0
  101. package/engine/internal/unit/ignore-events-items.lua +5 -0
  102. package/engine/internal/unit/item.d.ts +24 -0
  103. package/engine/internal/unit/item.lua +78 -0
  104. package/engine/internal/unit/main-selected.d.ts +13 -0
  105. package/engine/internal/unit/main-selected.lua +51 -0
  106. package/engine/internal/unit/order.d.ts +20 -0
  107. package/engine/internal/unit/order.lua +136 -0
  108. package/engine/internal/unit+ability.lua +12 -3
  109. package/engine/internal/unit+damage.d.ts +2 -11
  110. package/engine/internal/unit+damage.lua +10 -14
  111. package/engine/internal/unit+spellSteal.lua +1 -2
  112. package/engine/internal/unit+transport.lua +4 -10
  113. package/engine/internal/unit-missile-launch.lua +33 -7
  114. package/engine/internal/unit.d.ts +89 -24
  115. package/engine/internal/unit.lua +594 -206
  116. package/engine/internal/utility.lua +12 -0
  117. package/engine/lightning.d.ts +12 -5
  118. package/engine/lightning.lua +48 -14
  119. package/engine/local-client.d.ts +7 -2
  120. package/engine/local-client.lua +82 -0
  121. package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
  122. package/engine/object-data/auxiliary/animation-name.lua +16 -0
  123. package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
  124. package/engine/object-data/auxiliary/armor-type.lua +46 -0
  125. package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
  126. package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
  127. package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
  128. package/engine/object-data/auxiliary/attack-type.lua +42 -0
  129. package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
  130. package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
  131. package/engine/object-data/auxiliary/movement-type.lua +22 -0
  132. package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
  133. package/engine/object-data/auxiliary/sound-eax.lua +2 -0
  134. package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
  135. package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
  136. package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
  137. package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
  138. package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
  139. package/engine/object-data/entry/ability-type/berserk.lua +13 -0
  140. package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
  141. package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
  142. package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
  143. package/engine/object-data/entry/ability-type/blink.d.ts +10 -0
  144. package/engine/object-data/entry/ability-type/blink.lua +39 -0
  145. package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
  146. package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
  147. package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
  148. package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
  149. package/engine/object-data/entry/ability-type/engineering-upgrade.lua +4 -4
  150. package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
  151. package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
  152. package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
  153. package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
  154. package/engine/object-data/entry/ability-type/mine.lua +39 -0
  155. package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
  156. package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
  157. package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
  158. package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
  159. package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
  160. package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
  161. package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
  162. package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
  163. package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
  164. package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
  165. package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
  166. package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
  167. package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
  168. package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
  169. package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
  170. package/engine/object-data/entry/ability-type/web.d.ts +12 -0
  171. package/engine/object-data/entry/ability-type/web.lua +52 -0
  172. package/engine/object-data/entry/ability-type.d.ts +20 -18
  173. package/engine/object-data/entry/ability-type.lua +91 -36
  174. package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
  175. package/engine/object-data/entry/buff-type/applicable.lua +39 -102
  176. package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
  177. package/engine/object-data/entry/buff-type.d.ts +6 -13
  178. package/engine/object-data/entry/buff-type.lua +13 -29
  179. package/engine/object-data/entry/destructible-type.d.ts +1 -2
  180. package/engine/object-data/entry/item-type/blank.d.ts +0 -1
  181. package/engine/object-data/entry/item-type.d.ts +15 -2
  182. package/engine/object-data/entry/item-type.lua +93 -2
  183. package/engine/object-data/entry/lightning-type.d.ts +1 -2
  184. package/engine/object-data/entry/sound-preset.d.ts +33 -0
  185. package/engine/object-data/entry/sound-preset.lua +140 -0
  186. package/engine/object-data/entry/unit-type.d.ts +61 -5
  187. package/engine/object-data/entry/unit-type.lua +511 -62
  188. package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
  189. package/engine/object-data/entry/upgrade.d.ts +1 -2
  190. package/engine/object-data/entry/upgrade.lua +4 -4
  191. package/engine/object-data/entry.d.ts +18 -17
  192. package/engine/object-data/entry.lua +60 -32
  193. package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
  194. package/engine/object-field/ability.d.ts +33 -8
  195. package/engine/object-field/ability.lua +61 -1
  196. package/engine/object-field/unit.d.ts +57 -2
  197. package/engine/object-field/unit.lua +207 -4
  198. package/engine/object-field.d.ts +21 -8
  199. package/engine/object-field.lua +223 -97
  200. package/engine/random.d.ts +1 -0
  201. package/engine/random.lua +9 -0
  202. package/engine/standard/entries/buff-type.d.ts +3 -0
  203. package/engine/standard/entries/buff-type.lua +3 -0
  204. package/engine/standard/entries/sound-preset.d.ts +10 -0
  205. package/engine/standard/entries/sound-preset.lua +10 -0
  206. package/engine/standard/entries/unit-type.d.ts +42 -1
  207. package/engine/standard/entries/unit-type.lua +42 -1
  208. package/engine/standard/fields/ability.d.ts +3 -1
  209. package/engine/standard/fields/ability.lua +3 -1
  210. package/engine/standard/fields/unit.d.ts +4 -0
  211. package/engine/standard/fields/unit.lua +7 -0
  212. package/engine/text-tag.d.ts +36 -2
  213. package/engine/text-tag.lua +249 -10
  214. package/engine/unit.d.ts +5 -0
  215. package/engine/unit.lua +14 -2
  216. package/event.d.ts +2 -3
  217. package/event.lua +9 -5
  218. package/exception.d.ts +2 -0
  219. package/exception.lua +4 -0
  220. package/global/vec2.lua +1 -0
  221. package/index.d.ts +1 -0
  222. package/index.lua +1 -0
  223. package/lualib_bundle.lua +146 -42
  224. package/math/vec2.d.ts +2 -9
  225. package/math.d.ts +0 -2
  226. package/net/socket.d.ts +7 -1
  227. package/net/socket.lua +45 -4
  228. package/network.d.ts +1 -0
  229. package/network.lua +3 -2
  230. package/objutil/ability.d.ts +0 -1
  231. package/objutil/buff.d.ts +0 -1
  232. package/objutil/buff.lua +2 -3
  233. package/objutil/object.d.ts +0 -1
  234. package/objutil/unit.d.ts +0 -1
  235. package/objutil/unit.lua +8 -0
  236. package/package.json +13 -14
  237. package/patch-lua.d.ts +0 -0
  238. package/patch-lua.lua +10 -0
  239. package/patch-lualib.lua +1 -1
  240. package/property.d.ts +55 -0
  241. package/property.lua +374 -0
  242. package/string.d.ts +30 -0
  243. package/string.lua +14 -0
  244. package/util/stream.d.ts +0 -1
  245. package/utility/arrays.d.ts +13 -6
  246. package/utility/arrays.lua +41 -4
  247. package/utility/bit-set.d.ts +0 -2
  248. package/utility/callback-array.d.ts +13 -0
  249. package/utility/callback-array.lua +46 -0
  250. package/utility/functions.d.ts +8 -0
  251. package/utility/functions.lua +13 -0
  252. package/utility/lazy.d.ts +2 -0
  253. package/utility/lazy.lua +14 -0
  254. package/utility/linked-set.d.ts +13 -3
  255. package/utility/linked-set.lua +24 -2
  256. package/utility/lua-maps.d.ts +5 -2
  257. package/utility/lua-maps.lua +20 -0
  258. package/utility/lua-sets.d.ts +3 -2
  259. package/utility/lua-sets.lua +7 -0
  260. package/utility/reflection.lua +11 -7
  261. package/utility/types.d.ts +3 -2
  262. package/core/mapbounds.d.ts +0 -8
  263. package/core/mapbounds.lua +0 -12
  264. package/core/types/order.d.ts +0 -25
  265. package/core/types/order.lua +0 -55
@@ -4,6 +4,7 @@ local __TS__Class = ____lualib.__TS__Class
4
4
  local __TS__InstanceOf = ____lualib.__TS__InstanceOf
5
5
  local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
6
6
  local __TS__ClassExtends = ____lualib.__TS__ClassExtends
7
+ local __TS__TypeOf = ____lualib.__TS__TypeOf
7
8
  local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
8
9
  local ____exports = {}
9
10
  local ____event = require("event")
@@ -19,6 +20,14 @@ local extractObjectDataEntryLevelFieldValue = ____entry.extractObjectDataEntryLe
19
20
  local ObjectDataEntry = ____entry.ObjectDataEntry
20
21
  local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
21
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
22
31
  local compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId = {}
23
32
  local defaultValueByObjectDataEntryIdByObjectFieldId = postcompile(function() return compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId end)
24
33
  local objectFieldById = {}
@@ -28,7 +37,11 @@ local idGenerator = __TS__New(
28
37
  )
29
38
  local ObjectFieldBase = __TS__Class()
30
39
  ObjectFieldBase.name = "ObjectFieldBase"
31
- 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
32
45
  self.valueByInstance = setmetatable({}, {__mode = "k"})
33
46
  if objectFieldById[id] ~= nil then
34
47
  error(
@@ -45,10 +58,15 @@ end
45
58
  function ObjectFieldBase.prototype.supports(self, instance)
46
59
  return __TS__InstanceOf(instance, self.instanceClass)
47
60
  end
48
- 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)
49
66
  return __TS__New(
50
67
  self,
51
- id or idGenerator:next()
68
+ id or idGenerator:next(),
69
+ isGlobal
52
70
  )
53
71
  end
54
72
  function ObjectFieldBase.of(self, id)
@@ -70,7 +88,7 @@ ____exports.ObjectField = __TS__Class()
70
88
  local ObjectField = ____exports.ObjectField
71
89
  ObjectField.name = "ObjectField"
72
90
  __TS__ClassExtends(ObjectField, ObjectFieldBase)
73
- function ObjectField.prototype.getValue(self, entry)
91
+ function ObjectField.prototype.getValue(self, entry, includeModifiers)
74
92
  if __TS__InstanceOf(entry, ObjectDataEntry) then
75
93
  local defaultValueByObjectDataEntryId = (warpack.compiletime and compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId or defaultValueByObjectDataEntryIdByObjectFieldId)[self.id]
76
94
  if defaultValueByObjectDataEntryId ~= nil then
@@ -81,22 +99,16 @@ function ObjectField.prototype.getValue(self, entry)
81
99
  end
82
100
  return self.defaultValue
83
101
  end
84
- local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
85
- if defaultValueByObjectDataEntryId ~= nil then
86
- local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
87
- if defaultValue ~= nil then
88
- local ____self_valueByInstance_entry_0 = self.valueByInstance[entry]
89
- if ____self_valueByInstance_entry_0 == nil then
90
- ____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
91
108
  end
92
- return ____self_valueByInstance_entry_0
93
109
  end
94
110
  end
95
- local ____temp_1 = self:getNativeFieldValue(entry)
96
- if ____temp_1 == nil then
97
- ____temp_1 = self.defaultValue
98
- end
99
- return ____temp_1
111
+ return self:getActualValue(entry)
100
112
  end
101
113
  function ObjectField.prototype.setValue(self, entry, value)
102
114
  if __TS__InstanceOf(entry, ObjectDataEntry) then
@@ -111,35 +123,53 @@ function ObjectField.prototype.setValue(self, entry, value)
111
123
  defaultValueByObjectDataEntryId[entry.id] = value
112
124
  return true
113
125
  end
114
- local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
115
- if defaultValueByObjectDataEntryId ~= nil then
116
- local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
117
- if defaultValue ~= nil then
118
- local ____self_valueByInstance_entry_2 = self.valueByInstance[entry]
119
- if ____self_valueByInstance_entry_2 == nil then
120
- ____self_valueByInstance_entry_2 = defaultValue
121
- end
122
- local ____self_valueByInstance_entry_2_3 = ____self_valueByInstance_entry_2
123
- if ____self_valueByInstance_entry_2_3 == nil then
124
- ____self_valueByInstance_entry_2_3 = self.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
125
134
  end
126
- local previousValue = ____self_valueByInstance_entry_2_3
127
- if value ~= previousValue then
128
- self.valueByInstance[entry] = value
129
- self:invokeValueChangeEvent(entry, self, previousValue, value)
130
- end
131
- return true
135
+ originalValueByInstance[entry] = value
136
+ value = self:calculateActualValue(entry)
132
137
  end
133
138
  end
134
- local previousValue = self:getNativeFieldValue(entry)
135
- if value ~= previousValue then
136
- if self:setNativeFieldValue(entry, value) then
137
- self:invokeValueChangeEvent(entry, self, previousValue, value)
138
- else
139
- 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
140
152
  end
153
+ originalValueByInstance[instance] = self:getActualValue(instance)
154
+ self:setActualValue(
155
+ instance,
156
+ self:calculateActualValue(instance)
157
+ )
141
158
  end
142
- 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
143
173
  end
144
174
  function ObjectField.prototype.removeValue(self, entry)
145
175
  if not warpack.compiletime then
@@ -155,6 +185,84 @@ function ObjectField.prototype.removeValue(self, entry)
155
185
  end
156
186
  return false
157
187
  end
188
+ function ObjectField.prototype.trySetValue(self, entry, value)
189
+ if __TS__TypeOf(value) ~= __TS__TypeOf(self.defaultValue) then
190
+ return false
191
+ end
192
+ return self:setValue(entry, value)
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
158
266
  function ObjectField.prototype.invokeValueChangeEvent(self, ...)
159
267
  self:invokeValueChangeEventRecursive(
160
268
  getClass(self),
@@ -208,37 +316,37 @@ function ObjectArrayField.prototype.getValue(self, entry, index)
208
316
  if defaultValueByObjectDataEntryId ~= nil then
209
317
  local value = defaultValueByObjectDataEntryId[entry.id]
210
318
  if value ~= nil then
211
- local ____temp_5
319
+ local ____temp_10
212
320
  if index == nil then
213
- ____temp_5 = value
321
+ ____temp_10 = value
214
322
  else
215
- local ____value_index_4 = value[index + 1]
216
- if ____value_index_4 == nil then
217
- ____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
218
326
  end
219
- ____temp_5 = ____value_index_4
327
+ ____temp_10 = ____value_index_9
220
328
  end
221
- return ____temp_5
329
+ return ____temp_10
222
330
  end
223
331
  end
224
332
  return index == nil and ({}) or self.defaultValue
225
333
  end
226
334
  local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
227
- if defaultValueByObjectDataEntryId ~= nil then
228
- local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
229
- if defaultValue ~= nil then
230
- local value = self.valueByInstance[entry] or defaultValue
231
- 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
232
340
  if index == nil then
233
- ____temp_7 = value
341
+ ____temp_12 = value
234
342
  else
235
- local ____value_index_6 = value[index + 1]
236
- if ____value_index_6 == nil then
237
- ____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
238
346
  end
239
- ____temp_7 = ____value_index_6
347
+ ____temp_12 = ____value_index_11
240
348
  end
241
- return ____temp_7
349
+ return ____temp_12
242
350
  end
243
351
  end
244
352
  if index ~= nil then
@@ -283,36 +391,36 @@ function ObjectLevelField.prototype.getValue(self, entry, level)
283
391
  if defaultValueByObjectDataEntryId ~= nil then
284
392
  local valueByLevel = defaultValueByObjectDataEntryId[entry.id]
285
393
  if valueByLevel ~= nil then
286
- local ____valueByLevel_index_8 = valueByLevel[level + 1]
287
- if ____valueByLevel_index_8 == nil then
288
- ____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
289
397
  end
290
- return ____valueByLevel_index_8
398
+ return ____valueByLevel_index_13
291
399
  end
292
400
  end
293
401
  return self.defaultValue
294
402
  end
295
403
  local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
296
- if defaultValueByObjectDataEntryId ~= nil then
297
- local defaultValueByLevel = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
298
- if defaultValueByLevel ~= nil then
299
- local ____opt_9 = self.valueByInstance[entry]
300
- local ____temp_11 = ____opt_9 and ____opt_9[level + 1]
301
- if ____temp_11 == nil then
302
- ____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]
303
411
  end
304
- local ____temp_11_12 = ____temp_11
305
- if ____temp_11_12 == nil then
306
- ____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
307
415
  end
308
- return ____temp_11_12
416
+ return ____temp_16_17
309
417
  end
310
418
  end
311
- local ____temp_13 = self:getNativeFieldValue(entry, level)
312
- if ____temp_13 == nil then
313
- ____temp_13 = self.defaultValue
419
+ local ____temp_18 = self:getNativeFieldValue(entry, level)
420
+ if ____temp_18 == nil then
421
+ ____temp_18 = self.defaultValue
314
422
  end
315
- return ____temp_13
423
+ return ____temp_18
316
424
  end
317
425
  function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
318
426
  if value == nil then
@@ -353,23 +461,24 @@ function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
353
461
  return true
354
462
  end
355
463
  local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
356
- if defaultValueByObjectDataEntryId ~= nil then
357
- local defaultValueByLevel = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
358
- 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
359
468
  local valueByLevel = self.valueByInstance[entry]
360
469
  if valueByLevel == nil then
361
470
  valueByLevel = {}
362
471
  self.valueByInstance[entry] = valueByLevel
363
472
  end
364
- local ____valueByLevel_index_14 = valueByLevel[level + 1]
365
- if ____valueByLevel_index_14 == nil then
366
- ____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]
367
476
  end
368
- local ____valueByLevel_index_14_15 = ____valueByLevel_index_14
369
- if ____valueByLevel_index_14_15 == nil then
370
- ____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
371
480
  end
372
- local previousValue = ____valueByLevel_index_14_15
481
+ local previousValue = ____valueByLevel_index_19_20
373
482
  if value ~= previousValue then
374
483
  valueByLevel[level + 1] = value
375
484
  self:invokeValueChangeEvent(
@@ -383,22 +492,39 @@ function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
383
492
  return true
384
493
  end
385
494
  end
495
+ if not self:hasNativeFieldValue(objectDataEntryId) then
496
+ return false
497
+ end
386
498
  local previousValue = self:getNativeFieldValue(entry, level)
387
499
  if value ~= previousValue then
388
- if self:setNativeFieldValue(entry, level, value) then
389
- self:invokeValueChangeEvent(
390
- entry,
391
- self,
392
- level,
393
- previousValue,
394
- value
395
- )
396
- else
500
+ if not self:setNativeFieldValue(entry, level, value) then
397
501
  return false
398
502
  end
503
+ self:invokeValueChangeEvent(
504
+ entry,
505
+ self,
506
+ level,
507
+ previousValue,
508
+ value
509
+ )
399
510
  end
400
511
  return true
401
512
  end
513
+ function ObjectLevelField.prototype.trySetValue(self, entry, levelOrValue, value)
514
+ if value ~= nil then
515
+ if __TS__TypeOf(value) ~= __TS__TypeOf(self.defaultValue) then
516
+ return false
517
+ end
518
+ if type(levelOrValue) ~= "number" then
519
+ return false
520
+ end
521
+ return self:setValue(entry, levelOrValue, value)
522
+ end
523
+ if __TS__TypeOf(levelOrValue) ~= __TS__TypeOf(self.defaultValue) then
524
+ return false
525
+ end
526
+ return self:setValue(entry, levelOrValue)
527
+ end
402
528
  function ObjectLevelField.prototype.invokeValueChangeEvent(self, ...)
403
529
  self:invokeValueChangeEventRecursive(
404
530
  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")