warscript 0.0.1-dev.ee2345e → 0.0.1-dev.ef189a5
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.
- package/attributes.d.ts +6 -1
- package/attributes.lua +17 -1
- package/binaryreader.d.ts +1 -0
- package/binaryreader.lua +3 -0
- package/config.d.ts +5 -0
- package/config.lua +10 -0
- package/core/types/effect.d.ts +14 -6
- package/core/types/effect.lua +131 -35
- package/core/types/frame.d.ts +8 -1
- package/core/types/frame.lua +117 -22
- package/core/types/group.d.ts +0 -1
- package/core/types/image.d.ts +0 -1
- package/core/types/missile.d.ts +2 -2
- package/core/types/missile.lua +8 -2
- package/core/types/player.d.ts +16 -0
- package/core/types/player.lua +60 -15
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/sound.d.ts +17 -24
- package/core/types/sound.lua +99 -24
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +9 -8
- package/core/types/timer.lua +45 -23
- package/core/types/unit.lua +8 -0
- package/core/util.d.ts +1 -1
- package/core/util.lua +18 -1
- package/decl/index.d.ts +1 -0
- package/decl/native.d.ts +846 -790
- package/engine/ability.d.ts +1 -1
- package/engine/behavior.d.ts +22 -11
- package/engine/behavior.lua +175 -73
- package/engine/behaviour/ability/always-enabled.d.ts +7 -0
- package/engine/behaviour/ability/always-enabled.lua +31 -0
- package/engine/behaviour/ability/apply-buff.d.ts +8 -5
- package/engine/behaviour/ability/apply-buff.lua +36 -4
- package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
- package/engine/behaviour/ability/apply-unit-behavior.lua +1 -0
- package/engine/behaviour/ability/damage.d.ts +39 -11
- package/engine/behaviour/ability/damage.lua +83 -37
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +43 -0
- package/engine/behaviour/ability/heal.d.ts +33 -6
- package/engine/behaviour/ability/heal.lua +89 -10
- package/engine/behaviour/ability/instant-impact.d.ts +2 -2
- package/engine/behaviour/ability/instant-impact.lua +4 -15
- package/engine/behaviour/ability/on-command-impact.d.ts +8 -0
- package/engine/behaviour/ability/on-command-impact.lua +25 -0
- package/engine/behaviour/ability/remove-buffs.d.ts +25 -0
- package/engine/behaviour/ability/remove-buffs.lua +49 -0
- package/engine/behaviour/ability/restore-mana.d.ts +15 -0
- package/engine/behaviour/ability/restore-mana.lua +29 -0
- package/engine/behaviour/ability.d.ts +29 -5
- package/engine/behaviour/ability.lua +154 -27
- package/engine/behaviour/unit/stun-immunity.d.ts +11 -6
- package/engine/behaviour/unit/stun-immunity.lua +53 -28
- package/engine/behaviour/unit.d.ts +48 -4
- package/engine/behaviour/unit.lua +282 -2
- package/engine/buff.d.ts +114 -44
- package/engine/buff.lua +525 -224
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/internal/ability.d.ts +23 -14
- package/engine/internal/ability.lua +129 -85
- package/engine/internal/item/ability.lua +162 -4
- package/engine/internal/item+owner.lua +12 -6
- package/engine/internal/item.d.ts +20 -19
- package/engine/internal/item.lua +191 -74
- package/engine/internal/mechanics/ability-duration.lua +1 -1
- package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
- package/engine/internal/misc/ability-disable-counter.lua +13 -0
- package/engine/internal/misc/damage-metadata-by-target.d.ts +2 -0
- package/engine/internal/misc/damage-metadata-by-target.lua +5 -0
- package/engine/internal/misc/frame-coordinates.d.ts +2 -0
- package/engine/internal/misc/frame-coordinates.lua +21 -0
- package/engine/internal/misc/get-terrain-z.d.ts +2 -0
- package/engine/internal/misc/get-terrain-z.lua +11 -0
- package/engine/internal/misc/player-local-handle.d.ts +2 -0
- package/engine/internal/misc/player-local-handle.lua +5 -0
- package/engine/internal/object-data/auto-attack-speed-increase.d.ts +1 -1
- package/engine/internal/object-data/auto-attack-speed-increase.lua +2 -0
- package/engine/internal/object-data/evasion-probability.d.ts +2 -0
- package/engine/internal/object-data/evasion-probability.lua +16 -0
- package/engine/internal/unit/ability.d.ts +45 -1
- package/engine/internal/unit/ability.lua +128 -17
- package/engine/internal/unit/add-item-to-slot-init.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot-init.lua +23 -0
- package/engine/internal/unit/add-item-to-slot.d.ts +2 -0
- package/engine/internal/unit/add-item-to-slot.lua +52 -0
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/bonus.d.ts +11 -8
- package/engine/internal/unit/bonus.lua +23 -1
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/ignore-events-items.d.ts +2 -0
- package/engine/internal/unit/ignore-events-items.lua +5 -0
- package/engine/internal/unit/item.d.ts +24 -0
- package/engine/internal/unit/item.lua +78 -0
- package/engine/internal/unit/main-selected.d.ts +13 -0
- package/engine/internal/unit/main-selected.lua +36 -0
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- package/engine/internal/unit/scale.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit+ability.lua +12 -3
- package/engine/internal/unit+damage.d.ts +2 -11
- package/engine/internal/unit+damage.lua +10 -14
- package/engine/internal/unit+spellSteal.lua +1 -2
- package/engine/internal/unit+transport.lua +4 -10
- package/engine/internal/unit-missile-launch.lua +63 -13
- package/engine/internal/unit.d.ts +96 -28
- package/engine/internal/unit.lua +648 -241
- package/engine/internal/utility.lua +12 -0
- package/engine/lightning.d.ts +12 -5
- package/engine/lightning.lua +48 -14
- package/engine/local-client.d.ts +9 -2
- package/engine/local-client.lua +112 -0
- package/engine/object-data/auxiliary/animation-name.d.ts +1 -0
- package/engine/object-data/auxiliary/animation-name.lua +16 -0
- package/engine/object-data/auxiliary/armor-type.d.ts +11 -0
- package/engine/object-data/auxiliary/armor-type.lua +46 -0
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -3
- package/engine/object-data/auxiliary/attachment-preset.lua +4 -3
- package/engine/object-data/auxiliary/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
- package/engine/object-data/auxiliary/movement-type.d.ts +7 -7
- package/engine/object-data/auxiliary/movement-type.lua +22 -0
- package/engine/object-data/auxiliary/sound-eax.d.ts +10 -0
- package/engine/object-data/auxiliary/sound-eax.lua +2 -0
- package/engine/object-data/auxiliary/sound-preset-name.d.ts +5 -1
- package/engine/object-data/auxiliary/tech-tree-dependency.d.ts +1 -1
- package/engine/object-data/auxiliary/unit-attribute.d.ts +6 -0
- package/engine/object-data/auxiliary/unit-attribute.lua +9 -0
- package/engine/object-data/entry/ability-type/berserk.d.ts +2 -0
- package/engine/object-data/entry/ability-type/berserk.lua +13 -0
- package/engine/object-data/entry/ability-type/blank-configurable.d.ts +0 -1
- package/engine/object-data/entry/ability-type/blank-configurable.lua +12 -1
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
- package/engine/object-data/entry/ability-type/carrion-swarm.d.ts +14 -0
- package/engine/object-data/entry/ability-type/carrion-swarm.lua +65 -0
- package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
- package/engine/object-data/entry/ability-type/disease-cloud.lua +2 -2
- package/engine/object-data/entry/ability-type/engineering-upgrade.lua +2 -2
- package/engine/object-data/entry/ability-type/ensnare.d.ts +12 -0
- package/engine/object-data/entry/ability-type/ensnare.lua +52 -0
- package/engine/object-data/entry/ability-type/feral-spirit.lua +2 -2
- package/engine/object-data/entry/ability-type/mine.d.ts +10 -0
- package/engine/object-data/entry/ability-type/mine.lua +39 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.d.ts +8 -0
- package/engine/object-data/entry/ability-type/permanent-invisibility.lua +26 -0
- package/engine/object-data/entry/ability-type/phase-shift.d.ts +10 -0
- package/engine/object-data/entry/ability-type/phase-shift.lua +39 -0
- package/engine/object-data/entry/ability-type/phoenix-morph.lua +4 -4
- package/engine/object-data/entry/ability-type/raise-dead.d.ts +17 -0
- package/engine/object-data/entry/ability-type/raise-dead.lua +78 -0
- package/engine/object-data/entry/ability-type/shock-wave.d.ts +4 -0
- package/engine/object-data/entry/ability-type/shock-wave.lua +26 -0
- package/engine/object-data/entry/ability-type/slow-poison.d.ts +10 -0
- package/engine/object-data/entry/ability-type/slow-poison.lua +58 -0
- package/engine/object-data/entry/ability-type/spirit-touch.d.ts +2 -2
- package/engine/object-data/entry/ability-type/spirit-touch.lua +6 -6
- package/engine/object-data/entry/ability-type/summon-quilbeast.lua +2 -2
- package/engine/object-data/entry/ability-type/summon-water-elemental.lua +2 -2
- package/engine/object-data/entry/ability-type/web.d.ts +12 -0
- package/engine/object-data/entry/ability-type/web.lua +52 -0
- package/engine/object-data/entry/ability-type.d.ts +19 -18
- package/engine/object-data/entry/ability-type.lua +93 -36
- package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
- package/engine/object-data/entry/buff-type/applicable.lua +18 -37
- package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
- package/engine/object-data/entry/buff-type.d.ts +6 -13
- package/engine/object-data/entry/buff-type.lua +13 -29
- package/engine/object-data/entry/destructible-type.d.ts +6 -3
- package/engine/object-data/entry/destructible-type.lua +12 -0
- package/engine/object-data/entry/item-type/blank.d.ts +0 -1
- package/engine/object-data/entry/item-type.d.ts +15 -2
- package/engine/object-data/entry/item-type.lua +93 -2
- package/engine/object-data/entry/lightning-type.d.ts +1 -2
- package/engine/object-data/entry/sound-preset.d.ts +33 -0
- package/engine/object-data/entry/sound-preset.lua +140 -0
- package/engine/object-data/entry/unit-type.d.ts +62 -7
- package/engine/object-data/entry/unit-type.lua +524 -75
- package/engine/object-data/entry/upgrade/blank.d.ts +0 -1
- package/engine/object-data/entry/upgrade.d.ts +1 -2
- package/engine/object-data/entry/upgrade.lua +4 -4
- package/engine/object-data/entry.d.ts +18 -17
- package/engine/object-data/entry.lua +60 -32
- package/engine/object-data/utility/object-data-entry-id-generator.lua +7 -0
- package/engine/object-field/ability.d.ts +28 -5
- package/engine/object-field/ability.lua +59 -5
- package/engine/object-field/unit.d.ts +69 -3
- package/engine/object-field/unit.lua +264 -7
- package/engine/object-field.d.ts +23 -7
- package/engine/object-field.lua +311 -124
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +22 -0
- package/engine/standard/entries/buff-type.d.ts +3 -0
- package/engine/standard/entries/buff-type.lua +3 -0
- package/engine/standard/entries/sound-preset.d.ts +10 -0
- package/engine/standard/entries/sound-preset.lua +10 -0
- package/engine/standard/entries/unit-type.d.ts +39 -1
- package/engine/standard/entries/unit-type.lua +39 -1
- package/engine/standard/fields/ability.d.ts +5 -3
- package/engine/standard/fields/ability.lua +5 -3
- package/engine/standard/fields/unit.d.ts +6 -0
- package/engine/standard/fields/unit.lua +11 -0
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.d.ts +36 -2
- package/engine/text-tag.lua +250 -10
- package/engine/unit.d.ts +6 -0
- package/engine/unit.lua +15 -2
- package/event.d.ts +2 -3
- package/event.lua +9 -5
- package/index.d.ts +1 -0
- package/index.lua +1 -0
- package/lualib_bundle.lua +146 -42
- package/math/vec2.d.ts +2 -9
- package/math.d.ts +0 -2
- package/net/socket.d.ts +7 -1
- package/net/socket.lua +45 -4
- package/network.d.ts +1 -0
- package/network.lua +3 -2
- package/objutil/ability.d.ts +0 -1
- package/objutil/buff.d.ts +0 -1
- package/objutil/buff.lua +3 -4
- package/objutil/object.d.ts +0 -1
- package/objutil/unit.d.ts +0 -1
- package/objutil/unit.lua +8 -0
- package/package.json +13 -14
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +10 -0
- package/patch-lualib.lua +1 -1
- package/property.d.ts +55 -0
- package/property.lua +374 -0
- package/string.d.ts +30 -0
- package/string.lua +14 -0
- package/util/stream.d.ts +0 -1
- package/utility/arrays.d.ts +13 -5
- package/utility/arrays.lua +45 -3
- package/utility/bit-set.d.ts +0 -2
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/functions.d.ts +8 -0
- package/utility/functions.lua +13 -0
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-set.d.ts +13 -3
- package/utility/linked-set.lua +27 -3
- package/utility/lua-maps.d.ts +16 -4
- package/utility/lua-maps.lua +53 -2
- package/utility/lua-sets.d.ts +3 -2
- package/utility/lua-sets.lua +7 -0
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +4 -0
- package/core/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
package/engine/object-field.lua
CHANGED
|
@@ -20,6 +20,15 @@ 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 mutableLuaMap = ____lua_2Dmaps.mutableLuaMap
|
|
29
|
+
local mutableWeakLuaMap = ____lua_2Dmaps.mutableWeakLuaMap
|
|
30
|
+
local ____arrays = require("utility.arrays")
|
|
31
|
+
local emptyArray = ____arrays.emptyArray
|
|
23
32
|
local compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId = {}
|
|
24
33
|
local defaultValueByObjectDataEntryIdByObjectFieldId = postcompile(function() return compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId end)
|
|
25
34
|
local objectFieldById = {}
|
|
@@ -29,7 +38,11 @@ local idGenerator = __TS__New(
|
|
|
29
38
|
)
|
|
30
39
|
local ObjectFieldBase = __TS__Class()
|
|
31
40
|
ObjectFieldBase.name = "ObjectFieldBase"
|
|
32
|
-
function ObjectFieldBase.prototype.____constructor(self, id)
|
|
41
|
+
function ObjectFieldBase.prototype.____constructor(self, id, isGlobal)
|
|
42
|
+
if isGlobal == nil then
|
|
43
|
+
isGlobal = false
|
|
44
|
+
end
|
|
45
|
+
self.isGlobal = isGlobal
|
|
33
46
|
self.valueByInstance = setmetatable({}, {__mode = "k"})
|
|
34
47
|
if objectFieldById[id] ~= nil then
|
|
35
48
|
error(
|
|
@@ -46,10 +59,15 @@ end
|
|
|
46
59
|
function ObjectFieldBase.prototype.supports(self, instance)
|
|
47
60
|
return __TS__InstanceOf(instance, self.instanceClass)
|
|
48
61
|
end
|
|
49
|
-
function ObjectFieldBase.
|
|
62
|
+
function ObjectFieldBase.prototype.hasValue(self, objectDataEntryId)
|
|
63
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
64
|
+
return self.isGlobal or defaultValueByObjectDataEntryId ~= nil and defaultValueByObjectDataEntryId[objectDataEntryId] ~= nil or self:hasNativeFieldValue(objectDataEntryId)
|
|
65
|
+
end
|
|
66
|
+
function ObjectFieldBase.create(self, id, isGlobal)
|
|
50
67
|
return __TS__New(
|
|
51
68
|
self,
|
|
52
|
-
id or idGenerator:next()
|
|
69
|
+
id or idGenerator:next(),
|
|
70
|
+
isGlobal
|
|
53
71
|
)
|
|
54
72
|
end
|
|
55
73
|
function ObjectFieldBase.of(self, id)
|
|
@@ -71,7 +89,7 @@ ____exports.ObjectField = __TS__Class()
|
|
|
71
89
|
local ObjectField = ____exports.ObjectField
|
|
72
90
|
ObjectField.name = "ObjectField"
|
|
73
91
|
__TS__ClassExtends(ObjectField, ObjectFieldBase)
|
|
74
|
-
function ObjectField.prototype.getValue(self, entry)
|
|
92
|
+
function ObjectField.prototype.getValue(self, entry, includeModifiers)
|
|
75
93
|
if __TS__InstanceOf(entry, ObjectDataEntry) then
|
|
76
94
|
local defaultValueByObjectDataEntryId = (warpack.compiletime and compiletimeDefaultValueByObjectDataEntryIdByObjectFieldId or defaultValueByObjectDataEntryIdByObjectFieldId)[self.id]
|
|
77
95
|
if defaultValueByObjectDataEntryId ~= nil then
|
|
@@ -82,22 +100,16 @@ function ObjectField.prototype.getValue(self, entry)
|
|
|
82
100
|
end
|
|
83
101
|
return self.defaultValue
|
|
84
102
|
end
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
____self_valueByInstance_entry_0 = defaultValue
|
|
103
|
+
if not includeModifiers then
|
|
104
|
+
local originalValueByInstance = self.originalValueByInstance
|
|
105
|
+
if originalValueByInstance ~= nil then
|
|
106
|
+
local originalValue = originalValueByInstance[entry]
|
|
107
|
+
if originalValue ~= nil then
|
|
108
|
+
return originalValue
|
|
92
109
|
end
|
|
93
|
-
return ____self_valueByInstance_entry_0
|
|
94
110
|
end
|
|
95
111
|
end
|
|
96
|
-
|
|
97
|
-
if ____temp_1 == nil then
|
|
98
|
-
____temp_1 = self.defaultValue
|
|
99
|
-
end
|
|
100
|
-
return ____temp_1
|
|
112
|
+
return self:getActualValue(entry)
|
|
101
113
|
end
|
|
102
114
|
function ObjectField.prototype.setValue(self, entry, value)
|
|
103
115
|
if __TS__InstanceOf(entry, ObjectDataEntry) then
|
|
@@ -112,37 +124,59 @@ function ObjectField.prototype.setValue(self, entry, value)
|
|
|
112
124
|
defaultValueByObjectDataEntryId[entry.id] = value
|
|
113
125
|
return true
|
|
114
126
|
end
|
|
115
|
-
local
|
|
116
|
-
if
|
|
117
|
-
local
|
|
118
|
-
if
|
|
119
|
-
local
|
|
120
|
-
if
|
|
121
|
-
|
|
122
|
-
|
|
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)
|
|
127
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
128
|
+
if modifiersByInstance ~= nil then
|
|
129
|
+
local modifiers = modifiersByInstance[entry]
|
|
130
|
+
if modifiers ~= nil and modifiers.size ~= 0 then
|
|
131
|
+
local originalValueByInstance = self.originalValueByInstance
|
|
132
|
+
if originalValueByInstance == nil then
|
|
133
|
+
originalValueByInstance = mutableWeakLuaMap()
|
|
134
|
+
self.originalValueByInstance = originalValueByInstance
|
|
131
135
|
end
|
|
132
|
-
|
|
136
|
+
originalValueByInstance[entry] = value
|
|
137
|
+
value = self:calculateActualValue(entry)
|
|
133
138
|
end
|
|
134
139
|
end
|
|
135
|
-
|
|
136
|
-
|
|
140
|
+
return self:setActualValue(entry, value)
|
|
141
|
+
end
|
|
142
|
+
function ObjectField.prototype.applyModifier(self, instance, modifier)
|
|
143
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
144
|
+
if modifiersByInstance == nil then
|
|
145
|
+
modifiersByInstance = mutableWeakLuaMap()
|
|
146
|
+
self.modifiersByInstance = modifiersByInstance
|
|
147
|
+
end
|
|
148
|
+
if getOrPut(modifiersByInstance, instance, mutableLinkedSet):add(modifier) then
|
|
149
|
+
local originalValueByInstance = self.originalValueByInstance
|
|
150
|
+
if originalValueByInstance == nil then
|
|
151
|
+
originalValueByInstance = mutableWeakLuaMap()
|
|
152
|
+
self.originalValueByInstance = originalValueByInstance
|
|
153
|
+
end
|
|
154
|
+
local ____originalValueByInstance_1 = originalValueByInstance
|
|
155
|
+
local ____instance_2 = instance
|
|
156
|
+
local ____originalValueByInstance_instance_0 = originalValueByInstance[instance]
|
|
157
|
+
if ____originalValueByInstance_instance_0 == nil then
|
|
158
|
+
____originalValueByInstance_instance_0 = self:getActualValue(instance)
|
|
159
|
+
end
|
|
160
|
+
____originalValueByInstance_1[____instance_2] = ____originalValueByInstance_instance_0
|
|
161
|
+
self:setActualValue(
|
|
162
|
+
instance,
|
|
163
|
+
self:calculateActualValue(instance)
|
|
164
|
+
)
|
|
137
165
|
end
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
166
|
+
end
|
|
167
|
+
function ObjectField.prototype.removeModifier(self, instance, modifier)
|
|
168
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
169
|
+
if modifiersByInstance ~= nil then
|
|
170
|
+
local modifiers = modifiersByInstance[instance]
|
|
171
|
+
if modifiers ~= nil and modifiers:remove(modifier) then
|
|
172
|
+
self:setActualValue(
|
|
173
|
+
instance,
|
|
174
|
+
self:calculateActualValue(instance)
|
|
175
|
+
)
|
|
176
|
+
return true
|
|
142
177
|
end
|
|
143
|
-
self:invokeValueChangeEvent(entry, self, previousValue, value)
|
|
144
178
|
end
|
|
145
|
-
return
|
|
179
|
+
return false
|
|
146
180
|
end
|
|
147
181
|
function ObjectField.prototype.removeValue(self, entry)
|
|
148
182
|
if not warpack.compiletime then
|
|
@@ -164,6 +198,74 @@ function ObjectField.prototype.trySetValue(self, entry, value)
|
|
|
164
198
|
end
|
|
165
199
|
return self:setValue(entry, value)
|
|
166
200
|
end
|
|
201
|
+
function ObjectField.prototype.getActualValue(self, instance)
|
|
202
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
203
|
+
if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
|
|
204
|
+
local defaultValue = (defaultValueByObjectDataEntryId or emptyLuaMap())[self:getObjectDataEntryId(instance)]
|
|
205
|
+
if defaultValue ~= nil or self.isGlobal then
|
|
206
|
+
local ____self_valueByInstance_instance_3 = self.valueByInstance[instance]
|
|
207
|
+
if ____self_valueByInstance_instance_3 == nil then
|
|
208
|
+
____self_valueByInstance_instance_3 = defaultValue
|
|
209
|
+
end
|
|
210
|
+
local ____self_valueByInstance_instance_3_4 = ____self_valueByInstance_instance_3
|
|
211
|
+
if ____self_valueByInstance_instance_3_4 == nil then
|
|
212
|
+
____self_valueByInstance_instance_3_4 = self.defaultValue
|
|
213
|
+
end
|
|
214
|
+
return ____self_valueByInstance_instance_3_4
|
|
215
|
+
end
|
|
216
|
+
end
|
|
217
|
+
local ____temp_5 = self:getNativeFieldValue(instance)
|
|
218
|
+
if ____temp_5 == nil then
|
|
219
|
+
____temp_5 = self.defaultValue
|
|
220
|
+
end
|
|
221
|
+
return ____temp_5
|
|
222
|
+
end
|
|
223
|
+
function ObjectField.prototype.setActualValue(self, instance, value)
|
|
224
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
225
|
+
local objectDataEntryId = self:getObjectDataEntryId(instance)
|
|
226
|
+
if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
|
|
227
|
+
local defaultValue = (defaultValueByObjectDataEntryId or emptyLuaMap())[objectDataEntryId]
|
|
228
|
+
if defaultValue ~= nil or self.isGlobal then
|
|
229
|
+
local ____self_valueByInstance_instance_6 = self.valueByInstance[instance]
|
|
230
|
+
if ____self_valueByInstance_instance_6 == nil then
|
|
231
|
+
____self_valueByInstance_instance_6 = defaultValue
|
|
232
|
+
end
|
|
233
|
+
local ____self_valueByInstance_instance_6_7 = ____self_valueByInstance_instance_6
|
|
234
|
+
if ____self_valueByInstance_instance_6_7 == nil then
|
|
235
|
+
____self_valueByInstance_instance_6_7 = self.defaultValue
|
|
236
|
+
end
|
|
237
|
+
local previousValue = ____self_valueByInstance_instance_6_7
|
|
238
|
+
self.valueByInstance[instance] = value
|
|
239
|
+
self:invokeValueChangeEvent(instance, self, previousValue, value)
|
|
240
|
+
return true
|
|
241
|
+
end
|
|
242
|
+
end
|
|
243
|
+
if not self:hasNativeFieldValue(objectDataEntryId) then
|
|
244
|
+
return false
|
|
245
|
+
end
|
|
246
|
+
local previousValue = self:getNativeFieldValue(instance)
|
|
247
|
+
if value ~= previousValue and not self:setNativeFieldValue(instance, value) then
|
|
248
|
+
return false
|
|
249
|
+
end
|
|
250
|
+
self:invokeValueChangeEvent(instance, self, previousValue, value)
|
|
251
|
+
return true
|
|
252
|
+
end
|
|
253
|
+
function ObjectField.prototype.calculateActualValue(self, instance)
|
|
254
|
+
local ____opt_8 = self.originalValueByInstance
|
|
255
|
+
local originalValue = ____opt_8 and ____opt_8[instance]
|
|
256
|
+
local ____opt_10 = self.modifiersByInstance
|
|
257
|
+
local modifiers = ____opt_10 and ____opt_10[instance]
|
|
258
|
+
if originalValue ~= nil then
|
|
259
|
+
local value = originalValue
|
|
260
|
+
if modifiers ~= nil then
|
|
261
|
+
for modifier in pairs(modifiers) do
|
|
262
|
+
value = modifier(instance, value, originalValue)
|
|
263
|
+
end
|
|
264
|
+
end
|
|
265
|
+
return value
|
|
266
|
+
end
|
|
267
|
+
return self.defaultValue
|
|
268
|
+
end
|
|
167
269
|
function ObjectField.prototype.invokeValueChangeEvent(self, ...)
|
|
168
270
|
self:invokeValueChangeEventRecursive(
|
|
169
271
|
getClass(self),
|
|
@@ -217,37 +319,37 @@ function ObjectArrayField.prototype.getValue(self, entry, index)
|
|
|
217
319
|
if defaultValueByObjectDataEntryId ~= nil then
|
|
218
320
|
local value = defaultValueByObjectDataEntryId[entry.id]
|
|
219
321
|
if value ~= nil then
|
|
220
|
-
local
|
|
322
|
+
local ____temp_13
|
|
221
323
|
if index == nil then
|
|
222
|
-
|
|
324
|
+
____temp_13 = value
|
|
223
325
|
else
|
|
224
|
-
local
|
|
225
|
-
if
|
|
226
|
-
|
|
326
|
+
local ____value_index_12 = value[index + 1]
|
|
327
|
+
if ____value_index_12 == nil then
|
|
328
|
+
____value_index_12 = self.defaultValue
|
|
227
329
|
end
|
|
228
|
-
|
|
330
|
+
____temp_13 = ____value_index_12
|
|
229
331
|
end
|
|
230
|
-
return
|
|
332
|
+
return ____temp_13
|
|
231
333
|
end
|
|
232
334
|
end
|
|
233
335
|
return index == nil and ({}) or self.defaultValue
|
|
234
336
|
end
|
|
235
337
|
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
236
|
-
if defaultValueByObjectDataEntryId ~= nil then
|
|
237
|
-
local defaultValue = defaultValueByObjectDataEntryId[self:getObjectDataEntryId(entry)]
|
|
238
|
-
if defaultValue ~= nil then
|
|
239
|
-
local value = self.valueByInstance[entry] or defaultValue
|
|
240
|
-
local
|
|
338
|
+
if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
|
|
339
|
+
local defaultValue = (defaultValueByObjectDataEntryId or emptyLuaMap())[self:getObjectDataEntryId(entry)]
|
|
340
|
+
if defaultValue ~= nil or self.isGlobal then
|
|
341
|
+
local value = self.valueByInstance[entry] or defaultValue or emptyArray()
|
|
342
|
+
local ____temp_15
|
|
241
343
|
if index == nil then
|
|
242
|
-
|
|
344
|
+
____temp_15 = value
|
|
243
345
|
else
|
|
244
|
-
local
|
|
245
|
-
if
|
|
246
|
-
|
|
346
|
+
local ____value_index_14 = value[index + 1]
|
|
347
|
+
if ____value_index_14 == nil then
|
|
348
|
+
____value_index_14 = self.defaultValue
|
|
247
349
|
end
|
|
248
|
-
|
|
350
|
+
____temp_15 = ____value_index_14
|
|
249
351
|
end
|
|
250
|
-
return
|
|
352
|
+
return ____temp_15
|
|
251
353
|
end
|
|
252
354
|
end
|
|
253
355
|
if index ~= nil then
|
|
@@ -292,36 +394,22 @@ function ObjectLevelField.prototype.getValue(self, entry, level)
|
|
|
292
394
|
if defaultValueByObjectDataEntryId ~= nil then
|
|
293
395
|
local valueByLevel = defaultValueByObjectDataEntryId[entry.id]
|
|
294
396
|
if valueByLevel ~= nil then
|
|
295
|
-
local
|
|
296
|
-
if
|
|
297
|
-
|
|
397
|
+
local ____valueByLevel_index_16 = valueByLevel[level + 1]
|
|
398
|
+
if ____valueByLevel_index_16 == nil then
|
|
399
|
+
____valueByLevel_index_16 = self.defaultValue
|
|
298
400
|
end
|
|
299
|
-
return
|
|
401
|
+
return ____valueByLevel_index_16
|
|
300
402
|
end
|
|
301
403
|
end
|
|
302
404
|
return self.defaultValue
|
|
303
405
|
end
|
|
304
|
-
local
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
local ____temp_11 = ____opt_9 and ____opt_9[level + 1]
|
|
310
|
-
if ____temp_11 == nil then
|
|
311
|
-
____temp_11 = defaultValueByLevel[level + 1]
|
|
312
|
-
end
|
|
313
|
-
local ____temp_11_12 = ____temp_11
|
|
314
|
-
if ____temp_11_12 == nil then
|
|
315
|
-
____temp_11_12 = self.defaultValue
|
|
316
|
-
end
|
|
317
|
-
return ____temp_11_12
|
|
318
|
-
end
|
|
406
|
+
local ____opt_19 = self.originalValueByLevelByInstance
|
|
407
|
+
local ____opt_17 = ____opt_19 and ____opt_19[entry]
|
|
408
|
+
local originalValue = ____opt_17 and ____opt_17[level]
|
|
409
|
+
if originalValue ~= nil then
|
|
410
|
+
return originalValue
|
|
319
411
|
end
|
|
320
|
-
|
|
321
|
-
if ____temp_13 == nil then
|
|
322
|
-
____temp_13 = self.defaultValue
|
|
323
|
-
end
|
|
324
|
-
return ____temp_13
|
|
412
|
+
return self:getActualValue(entry, level)
|
|
325
413
|
end
|
|
326
414
|
function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
|
|
327
415
|
if value == nil then
|
|
@@ -361,54 +449,66 @@ function ObjectLevelField.prototype.setValue(self, entry, levelOrValue, value)
|
|
|
361
449
|
valueByLevel[level + 1] = value
|
|
362
450
|
return true
|
|
363
451
|
end
|
|
364
|
-
local
|
|
365
|
-
if
|
|
366
|
-
local
|
|
367
|
-
if
|
|
368
|
-
local
|
|
369
|
-
if
|
|
370
|
-
|
|
371
|
-
self.
|
|
372
|
-
end
|
|
373
|
-
local ____valueByLevel_index_14 = valueByLevel[level + 1]
|
|
374
|
-
if ____valueByLevel_index_14 == nil then
|
|
375
|
-
____valueByLevel_index_14 = defaultValueByLevel[level + 1]
|
|
452
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
453
|
+
if modifiersByInstance ~= nil then
|
|
454
|
+
local modifiers = modifiersByInstance[entry]
|
|
455
|
+
if modifiers ~= nil and modifiers.size ~= 0 then
|
|
456
|
+
local originalValueByLevelByInstance = self.originalValueByLevelByInstance
|
|
457
|
+
if originalValueByLevelByInstance == nil then
|
|
458
|
+
originalValueByLevelByInstance = mutableWeakLuaMap()
|
|
459
|
+
self.originalValueByLevelByInstance = originalValueByLevelByInstance
|
|
376
460
|
end
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
461
|
+
getOrPut(originalValueByLevelByInstance, entry, mutableLuaMap)[level] = value
|
|
462
|
+
value = self:calculateActualValue(entry, level)
|
|
463
|
+
end
|
|
464
|
+
end
|
|
465
|
+
return self:setActualValue(entry, level, value)
|
|
466
|
+
end
|
|
467
|
+
function ObjectLevelField.prototype.applyModifier(self, instance, modifier)
|
|
468
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
469
|
+
if modifiersByInstance == nil then
|
|
470
|
+
modifiersByInstance = mutableWeakLuaMap()
|
|
471
|
+
self.modifiersByInstance = modifiersByInstance
|
|
472
|
+
end
|
|
473
|
+
if getOrPut(modifiersByInstance, instance, mutableLinkedSet):add(modifier) then
|
|
474
|
+
local originalValueByLevelByInstance = self.originalValueByLevelByInstance
|
|
475
|
+
if originalValueByLevelByInstance == nil then
|
|
476
|
+
originalValueByLevelByInstance = mutableWeakLuaMap()
|
|
477
|
+
self.originalValueByLevelByInstance = originalValueByLevelByInstance
|
|
478
|
+
end
|
|
479
|
+
local originalValueByLevel = getOrPut(originalValueByLevelByInstance, instance, mutableLuaMap)
|
|
480
|
+
local levelCount = self:getLevelCount(instance)
|
|
481
|
+
for level = 0, levelCount - 1 do
|
|
482
|
+
local ____originalValueByLevel_level_21 = originalValueByLevel[level]
|
|
483
|
+
if ____originalValueByLevel_level_21 == nil then
|
|
484
|
+
____originalValueByLevel_level_21 = self:getActualValue(instance, level)
|
|
380
485
|
end
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
486
|
+
originalValueByLevel[level] = ____originalValueByLevel_level_21
|
|
487
|
+
self:setActualValue(
|
|
488
|
+
instance,
|
|
489
|
+
level,
|
|
490
|
+
self:calculateActualValue(instance, level)
|
|
491
|
+
)
|
|
492
|
+
end
|
|
493
|
+
end
|
|
494
|
+
end
|
|
495
|
+
function ObjectLevelField.prototype.removeModifier(self, instance, modifier)
|
|
496
|
+
local modifiersByInstance = self.modifiersByInstance
|
|
497
|
+
if modifiersByInstance ~= nil then
|
|
498
|
+
local modifiers = modifiersByInstance[instance]
|
|
499
|
+
if modifiers ~= nil and modifiers:remove(modifier) then
|
|
500
|
+
local levelCount = self:getLevelCount(instance)
|
|
501
|
+
for level = 0, levelCount - 1 do
|
|
502
|
+
self:setActualValue(
|
|
503
|
+
instance,
|
|
387
504
|
level,
|
|
388
|
-
|
|
389
|
-
value
|
|
505
|
+
self:calculateActualValue(instance, level)
|
|
390
506
|
)
|
|
391
507
|
end
|
|
392
508
|
return true
|
|
393
509
|
end
|
|
394
510
|
end
|
|
395
|
-
|
|
396
|
-
return false
|
|
397
|
-
end
|
|
398
|
-
local previousValue = self:getNativeFieldValue(entry, level)
|
|
399
|
-
if value ~= previousValue then
|
|
400
|
-
if not self:setNativeFieldValue(entry, level, value) then
|
|
401
|
-
return false
|
|
402
|
-
end
|
|
403
|
-
self:invokeValueChangeEvent(
|
|
404
|
-
entry,
|
|
405
|
-
self,
|
|
406
|
-
level,
|
|
407
|
-
previousValue,
|
|
408
|
-
value
|
|
409
|
-
)
|
|
410
|
-
end
|
|
411
|
-
return true
|
|
511
|
+
return false
|
|
412
512
|
end
|
|
413
513
|
function ObjectLevelField.prototype.trySetValue(self, entry, levelOrValue, value)
|
|
414
514
|
if value ~= nil then
|
|
@@ -425,6 +525,93 @@ function ObjectLevelField.prototype.trySetValue(self, entry, levelOrValue, value
|
|
|
425
525
|
end
|
|
426
526
|
return self:setValue(entry, levelOrValue)
|
|
427
527
|
end
|
|
528
|
+
function ObjectLevelField.prototype.getActualValue(self, instance, level)
|
|
529
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
530
|
+
if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
|
|
531
|
+
local defaultValueByLevel = (defaultValueByObjectDataEntryId or emptyLuaMap())[self:getObjectDataEntryId(instance)]
|
|
532
|
+
if defaultValueByLevel ~= nil or self.isGlobal then
|
|
533
|
+
local ____opt_22 = self.valueByInstance[instance]
|
|
534
|
+
local ____temp_24 = ____opt_22 and ____opt_22[level + 1]
|
|
535
|
+
if ____temp_24 == nil then
|
|
536
|
+
____temp_24 = (defaultValueByLevel or emptyArray())[level + 1]
|
|
537
|
+
end
|
|
538
|
+
local ____temp_24_25 = ____temp_24
|
|
539
|
+
if ____temp_24_25 == nil then
|
|
540
|
+
____temp_24_25 = self.defaultValue
|
|
541
|
+
end
|
|
542
|
+
return ____temp_24_25
|
|
543
|
+
end
|
|
544
|
+
end
|
|
545
|
+
local ____temp_26 = self:getNativeFieldValue(instance, level)
|
|
546
|
+
if ____temp_26 == nil then
|
|
547
|
+
____temp_26 = self.defaultValue
|
|
548
|
+
end
|
|
549
|
+
return ____temp_26
|
|
550
|
+
end
|
|
551
|
+
function ObjectLevelField.prototype.setActualValue(self, instance, level, value)
|
|
552
|
+
local defaultValueByObjectDataEntryId = defaultValueByObjectDataEntryIdByObjectFieldId[self.id]
|
|
553
|
+
local objectDataEntryId = self:getObjectDataEntryId(instance)
|
|
554
|
+
if defaultValueByObjectDataEntryId ~= nil or self.isGlobal then
|
|
555
|
+
local defaultValueByLevel = (defaultValueByObjectDataEntryId or emptyLuaMap())[objectDataEntryId]
|
|
556
|
+
if defaultValueByLevel ~= nil or self.isGlobal then
|
|
557
|
+
local valueByLevel = self.valueByInstance[instance]
|
|
558
|
+
if valueByLevel == nil then
|
|
559
|
+
valueByLevel = {}
|
|
560
|
+
self.valueByInstance[instance] = valueByLevel
|
|
561
|
+
end
|
|
562
|
+
local ____valueByLevel_index_27 = valueByLevel[level + 1]
|
|
563
|
+
if ____valueByLevel_index_27 == nil then
|
|
564
|
+
____valueByLevel_index_27 = (defaultValueByLevel or emptyArray())[level + 1]
|
|
565
|
+
end
|
|
566
|
+
local ____valueByLevel_index_27_28 = ____valueByLevel_index_27
|
|
567
|
+
if ____valueByLevel_index_27_28 == nil then
|
|
568
|
+
____valueByLevel_index_27_28 = self.defaultValue
|
|
569
|
+
end
|
|
570
|
+
local previousValue = ____valueByLevel_index_27_28
|
|
571
|
+
valueByLevel[level + 1] = value
|
|
572
|
+
self:invokeValueChangeEvent(
|
|
573
|
+
instance,
|
|
574
|
+
self,
|
|
575
|
+
level,
|
|
576
|
+
previousValue,
|
|
577
|
+
value
|
|
578
|
+
)
|
|
579
|
+
return true
|
|
580
|
+
end
|
|
581
|
+
end
|
|
582
|
+
if not self:hasNativeFieldValue(objectDataEntryId) then
|
|
583
|
+
return false
|
|
584
|
+
end
|
|
585
|
+
local previousValue = self:getNativeFieldValue(instance, level)
|
|
586
|
+
if value ~= previousValue and not self:setNativeFieldValue(instance, level, value) then
|
|
587
|
+
return false
|
|
588
|
+
end
|
|
589
|
+
self:invokeValueChangeEvent(
|
|
590
|
+
instance,
|
|
591
|
+
self,
|
|
592
|
+
level,
|
|
593
|
+
previousValue,
|
|
594
|
+
value
|
|
595
|
+
)
|
|
596
|
+
return true
|
|
597
|
+
end
|
|
598
|
+
function ObjectLevelField.prototype.calculateActualValue(self, instance, level)
|
|
599
|
+
local ____opt_31 = self.originalValueByLevelByInstance
|
|
600
|
+
local ____opt_29 = ____opt_31 and ____opt_31[instance]
|
|
601
|
+
local originalValue = ____opt_29 and ____opt_29[level]
|
|
602
|
+
local ____opt_33 = self.modifiersByInstance
|
|
603
|
+
local modifiers = ____opt_33 and ____opt_33[instance]
|
|
604
|
+
if originalValue ~= nil then
|
|
605
|
+
local value = originalValue
|
|
606
|
+
if modifiers ~= nil then
|
|
607
|
+
for modifier in pairs(modifiers) do
|
|
608
|
+
value = modifier(instance, level, value, originalValue)
|
|
609
|
+
end
|
|
610
|
+
end
|
|
611
|
+
return value
|
|
612
|
+
end
|
|
613
|
+
return self.defaultValue
|
|
614
|
+
end
|
|
428
615
|
function ObjectLevelField.prototype.invokeValueChangeEvent(self, ...)
|
|
429
616
|
self:invokeValueChangeEventRecursive(
|
|
430
617
|
getClass(self),
|
package/engine/random.d.ts
CHANGED
|
@@ -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,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
|