warscript 0.0.1-dev.c8d6bc0 → 0.0.1-dev.c8f98de
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 +0 -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 +13 -3
- package/core/types/effect.lua +116 -17
- package/core/types/frame.d.ts +8 -1
- package/core/types/frame.lua +93 -1
- 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/sound.d.ts +1 -0
- package/core/types/sound.lua +32 -2
- package/core/types/unit.lua +8 -0
- package/core/util.d.ts +1 -1
- package/core/util.lua +12 -0
- package/decl/index.d.ts +1 -0
- package/engine/ability.d.ts +1 -1
- package/engine/behavior.d.ts +10 -10
- package/engine/behavior.lua +6 -6
- 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 +32 -0
- package/engine/behaviour/ability/apply-unit-behavior.d.ts +6 -1
- package/engine/behaviour/ability/damage.d.ts +33 -11
- package/engine/behaviour/ability/damage.lua +89 -31
- package/engine/behaviour/ability/emulate-impact.d.ts +6 -0
- package/engine/behaviour/ability/emulate-impact.lua +28 -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 +16 -0
- package/engine/behaviour/ability/remove-buffs.lua +28 -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 +22 -3
- package/engine/behaviour/ability.lua +134 -13
- package/engine/behaviour/unit/stun-immunity.d.ts +0 -1
- package/engine/behaviour/unit.d.ts +8 -2
- package/engine/behaviour/unit.lua +27 -0
- package/engine/buff.d.ts +97 -40
- package/engine/buff.lua +431 -209
- package/engine/game-map.d.ts +7 -0
- package/engine/game-map.lua +32 -0
- package/engine/internal/ability.d.ts +16 -13
- package/engine/internal/ability.lua +80 -76
- package/engine/internal/item/ability.lua +106 -0
- package/engine/internal/item+owner.lua +2 -2
- package/engine/internal/item.d.ts +2 -2
- package/engine/internal/item.lua +56 -25
- package/engine/internal/misc/ability-disable-counter.d.ts +2 -0
- package/engine/internal/misc/ability-disable-counter.lua +13 -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 +10 -1
- package/engine/internal/unit/ability.lua +36 -14
- 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/bonus.d.ts +11 -8
- package/engine/internal/unit/bonus.lua +23 -1
- 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 +51 -0
- package/engine/internal/unit+ability.lua +2 -2
- package/engine/internal/unit+transport.lua +4 -10
- package/engine/internal/unit-missile-launch.lua +25 -6
- package/engine/internal/unit.d.ts +59 -16
- package/engine/internal/unit.lua +373 -132
- 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 +7 -2
- package/engine/local-client.lua +82 -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/attachment-preset.d.ts +0 -1
- package/engine/object-data/auxiliary/combat-classification.d.ts +0 -2
- 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/entry/ability-type/blank-configurable.d.ts +0 -1
- package/engine/object-data/entry/ability-type/blank-configurable.lua +21 -1
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +0 -1
- package/engine/object-data/entry/ability-type/channel.d.ts +0 -1
- package/engine/object-data/entry/ability-type/curse.lua +2 -2
- 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/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/phoenix-morph.lua +4 -4
- 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.d.ts +6 -7
- package/engine/object-data/entry/ability-type.lua +24 -27
- package/engine/object-data/entry/buff-type/applicable.d.ts +0 -1
- package/engine/object-data/entry/buff-type/applicable.lua +11 -35
- package/engine/object-data/entry/buff-type/blank.d.ts +0 -1
- package/engine/object-data/entry/buff-type.d.ts +1 -2
- package/engine/object-data/entry/buff-type.lua +2 -2
- package/engine/object-data/entry/destructible-type.d.ts +1 -2
- 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 +16 -0
- package/engine/object-data/entry/sound-preset.lua +36 -0
- package/engine/object-data/entry/unit-type.d.ts +29 -3
- package/engine/object-data/entry/unit-type.lua +284 -57
- 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 +26 -3
- package/engine/object-field/ability.lua +54 -1
- package/engine/object-field.d.ts +2 -3
- package/engine/object-field.lua +4 -0
- package/engine/random.d.ts +1 -0
- package/engine/random.lua +9 -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 +3 -1
- package/engine/standard/fields/ability.lua +3 -1
- package/engine/unit.d.ts +3 -0
- package/engine/unit.lua +12 -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 +1 -1
- package/objutil/object.d.ts +0 -1
- package/objutil/unit.d.ts +0 -1
- package/objutil/unit.lua +8 -0
- package/package.json +13 -13
- package/patch-lua.d.ts +0 -0
- package/patch-lua.lua +10 -0
- 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 +11 -5
- package/utility/arrays.lua +34 -3
- package/utility/bit-set.d.ts +0 -2
- package/utility/lazy.d.ts +2 -0
- package/utility/lazy.lua +14 -0
- package/utility/linked-set.d.ts +11 -3
- package/utility/linked-set.lua +5 -2
- package/utility/lua-maps.d.ts +1 -2
- package/utility/lua-sets.d.ts +1 -2
- package/utility/reflection.lua +11 -7
- package/utility/types.d.ts +1 -0
- package/core/mapbounds.d.ts +0 -8
- package/core/mapbounds.lua +0 -12
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
/// <reference types="warpack-types/warpack" />
|
|
2
1
|
/** @noSelfInFile */
|
|
3
2
|
import { TupleOf } from "../../../utility/types";
|
|
4
3
|
import { ArmorSoundType } from "../auxiliary/armor-sound-type";
|
|
@@ -14,7 +13,7 @@ import type { AbilityTypeId } from "./ability-type";
|
|
|
14
13
|
import type { UpgradeId } from "./upgrade";
|
|
15
14
|
import { AnimationQualifier } from "../auxiliary/animation-qualifier";
|
|
16
15
|
import { AttackType } from "../auxiliary/attack-type";
|
|
17
|
-
export type UnitTypeId = ObjectDataEntryId & {
|
|
16
|
+
export type UnitTypeId = ObjectDataEntryId & number & {
|
|
18
17
|
readonly __unitTypeId: unique symbol;
|
|
19
18
|
};
|
|
20
19
|
export type StandardUnitTypeId = UnitTypeId & {
|
|
@@ -28,6 +27,16 @@ export declare class UnitTypeWeapon {
|
|
|
28
27
|
set attackType(attackType: AttackType);
|
|
29
28
|
get backSwingDuration(): number;
|
|
30
29
|
set backSwingDuration(backSwingDuration: number);
|
|
30
|
+
get cooldown(): number;
|
|
31
|
+
set cooldown(cooldown: number);
|
|
32
|
+
get damage(): [minimumDamage: number, maximumDamage: number];
|
|
33
|
+
set damage([minimumDamage, maximumDamage]: [number, number]);
|
|
34
|
+
get damageBase(): number;
|
|
35
|
+
set damageBase(damageBase: number);
|
|
36
|
+
get damageDiceCount(): number;
|
|
37
|
+
set damageDiceCount(damageDiceNumber: number);
|
|
38
|
+
get damageDiceSideCount(): number;
|
|
39
|
+
set damageDiceSideCount(damageDiceSideCount: number);
|
|
31
40
|
get impactDelay(): number;
|
|
32
41
|
set impactDelay(impactDelay: number);
|
|
33
42
|
get missileModelPath(): string;
|
|
@@ -46,6 +55,7 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
|
|
|
46
55
|
protected static readonly idGenerator: ObjectDataEntryIdGenerator;
|
|
47
56
|
protected static generateId(): number;
|
|
48
57
|
protected static getObjectData(map: WarMap): WarObjects;
|
|
58
|
+
private isPortraitModelPathSet?;
|
|
49
59
|
get abilityTypeIds(): AbilityTypeId[];
|
|
50
60
|
set abilityTypeIds(abilityTypeIds: AbilityTypeId[]);
|
|
51
61
|
get defaultActiveAbilityTypeId(): AbilityTypeId | undefined;
|
|
@@ -122,6 +132,12 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
|
|
|
122
132
|
set modelPathSD(modelPathSD: string);
|
|
123
133
|
get modelPathHD(): string;
|
|
124
134
|
set modelPathHD(modelPathHD: string);
|
|
135
|
+
get portraitModelPath(): string;
|
|
136
|
+
set portraitModelPath(portraitModelPath: string);
|
|
137
|
+
get portraitModelPathSD(): string;
|
|
138
|
+
set portraitModelPathSD(portraitModelPathSD: string);
|
|
139
|
+
get portraitModelPathHD(): string;
|
|
140
|
+
set portraitModelPathHD(portraitModelPathHD: string);
|
|
125
141
|
get runSpeed(): number;
|
|
126
142
|
set runSpeed(runSpeed: number);
|
|
127
143
|
get runSpeedSD(): number;
|
|
@@ -176,9 +192,9 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
|
|
|
176
192
|
set combatClassifications(combatClassifications: CombatClassifications);
|
|
177
193
|
get unitClassifications(): UnitClassifications;
|
|
178
194
|
set unitClassifications(unitClassifications: UnitClassifications);
|
|
195
|
+
get weapons(): TupleOf<UnitTypeWeapon, 2>;
|
|
179
196
|
get firstWeapon(): UnitTypeWeapon;
|
|
180
197
|
get secondWeapon(): UnitTypeWeapon;
|
|
181
|
-
get weapons(): TupleOf<UnitTypeWeapon, 2>;
|
|
182
198
|
get flyHeight(): number;
|
|
183
199
|
set flyHeight(flyHeight: number);
|
|
184
200
|
get flyHeightMinimum(): number;
|
|
@@ -207,6 +223,16 @@ export declare abstract class UnitType<Id extends UnitTypeId = UnitTypeId> exten
|
|
|
207
223
|
set formationRank(formationRank: number);
|
|
208
224
|
get goldCost(): number;
|
|
209
225
|
set goldCost(goldCost: number);
|
|
226
|
+
get healthRegenerationRate(): number;
|
|
227
|
+
set healthRegenerationRate(healthRegenerationRate: number);
|
|
228
|
+
get manaRegenerationRate(): number;
|
|
229
|
+
set manaRegenerationRate(manaRegenerationRate: number);
|
|
230
|
+
get maximumHealth(): number;
|
|
231
|
+
set maximumHealth(maximumHealth: number);
|
|
232
|
+
get maximumMana(): number;
|
|
233
|
+
set maximumMana(maximumMana: number);
|
|
234
|
+
get initialMana(): number;
|
|
235
|
+
set initialMana(initialMana: number);
|
|
210
236
|
get isStructure(): boolean;
|
|
211
237
|
set isStructure(isStructure: boolean);
|
|
212
238
|
get race(): Race;
|
|
@@ -19,6 +19,8 @@ local ____entry = require("engine.object-data.entry")
|
|
|
19
19
|
local ObjectDataEntry = ____entry.ObjectDataEntry
|
|
20
20
|
local ____object_2Ddata_2Dentry_2Did_2Dgenerator = require("engine.object-data.utility.object-data-entry-id-generator")
|
|
21
21
|
local ObjectDataEntryIdGenerator = ____object_2Ddata_2Dentry_2Did_2Dgenerator.ObjectDataEntryIdGenerator
|
|
22
|
+
local ____config = require("config")
|
|
23
|
+
local WarscriptConfig = ____config.WarscriptConfig
|
|
22
24
|
local getOrCreateUnitTypeWeapons
|
|
23
25
|
____exports.UnitTypeWeapon = __TS__Class()
|
|
24
26
|
local UnitTypeWeapon = ____exports.UnitTypeWeapon
|
|
@@ -73,21 +75,21 @@ __TS__SetDescriptor(
|
|
|
73
75
|
)
|
|
74
76
|
__TS__SetDescriptor(
|
|
75
77
|
UnitTypeWeapon.prototype,
|
|
76
|
-
"
|
|
78
|
+
"cooldown",
|
|
77
79
|
{
|
|
78
80
|
get = function(self)
|
|
79
81
|
local ____self_4 = self.unitType
|
|
80
82
|
return ____self_4.getNumberField(
|
|
81
83
|
____self_4,
|
|
82
|
-
"
|
|
84
|
+
("ua" .. tostring(self.index)) .. "c"
|
|
83
85
|
)
|
|
84
86
|
end,
|
|
85
|
-
set = function(self,
|
|
87
|
+
set = function(self, cooldown)
|
|
86
88
|
local ____self_5 = self.unitType
|
|
87
89
|
____self_5.setNumberField(
|
|
88
90
|
____self_5,
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
+
("ua" .. tostring(self.index)) .. "c",
|
|
92
|
+
cooldown
|
|
91
93
|
)
|
|
92
94
|
end
|
|
93
95
|
},
|
|
@@ -95,21 +97,42 @@ __TS__SetDescriptor(
|
|
|
95
97
|
)
|
|
96
98
|
__TS__SetDescriptor(
|
|
97
99
|
UnitTypeWeapon.prototype,
|
|
98
|
-
"
|
|
100
|
+
"damage",
|
|
101
|
+
{
|
|
102
|
+
get = function(self)
|
|
103
|
+
local minimumDamage = self.damageBase + self.damageDiceCount
|
|
104
|
+
local maximumDamage = self.damageBase + self.damageDiceCount * self.damageDiceSideCount
|
|
105
|
+
return {minimumDamage, maximumDamage}
|
|
106
|
+
end,
|
|
107
|
+
set = function(self, ____bindingPattern0)
|
|
108
|
+
local maximumDamage
|
|
109
|
+
local minimumDamage
|
|
110
|
+
minimumDamage = ____bindingPattern0[1]
|
|
111
|
+
maximumDamage = ____bindingPattern0[2]
|
|
112
|
+
self.damageBase = minimumDamage - 1
|
|
113
|
+
self.damageDiceCount = 1
|
|
114
|
+
self.damageDiceSideCount = maximumDamage - minimumDamage + 1
|
|
115
|
+
end
|
|
116
|
+
},
|
|
117
|
+
true
|
|
118
|
+
)
|
|
119
|
+
__TS__SetDescriptor(
|
|
120
|
+
UnitTypeWeapon.prototype,
|
|
121
|
+
"damageBase",
|
|
99
122
|
{
|
|
100
123
|
get = function(self)
|
|
101
124
|
local ____self_6 = self.unitType
|
|
102
|
-
return ____self_6.
|
|
125
|
+
return ____self_6.getNumberField(
|
|
103
126
|
____self_6,
|
|
104
|
-
("ua" .. tostring(self.index)) .. "
|
|
127
|
+
("ua" .. tostring(self.index)) .. "b"
|
|
105
128
|
)
|
|
106
129
|
end,
|
|
107
|
-
set = function(self,
|
|
130
|
+
set = function(self, damageBase)
|
|
108
131
|
local ____self_7 = self.unitType
|
|
109
|
-
____self_7.
|
|
132
|
+
____self_7.setNumberField(
|
|
110
133
|
____self_7,
|
|
111
|
-
("ua" .. tostring(self.index)) .. "
|
|
112
|
-
|
|
134
|
+
("ua" .. tostring(self.index)) .. "b",
|
|
135
|
+
damageBase
|
|
113
136
|
)
|
|
114
137
|
end
|
|
115
138
|
},
|
|
@@ -117,19 +140,107 @@ __TS__SetDescriptor(
|
|
|
117
140
|
)
|
|
118
141
|
__TS__SetDescriptor(
|
|
119
142
|
UnitTypeWeapon.prototype,
|
|
120
|
-
"
|
|
143
|
+
"damageDiceCount",
|
|
121
144
|
{
|
|
122
145
|
get = function(self)
|
|
123
146
|
local ____self_8 = self.unitType
|
|
124
147
|
return ____self_8.getNumberField(
|
|
125
148
|
____self_8,
|
|
126
|
-
("ua" .. tostring(self.index)) .. "
|
|
149
|
+
("ua" .. tostring(self.index)) .. "d"
|
|
127
150
|
)
|
|
128
151
|
end,
|
|
129
|
-
set = function(self,
|
|
152
|
+
set = function(self, damageDiceNumber)
|
|
130
153
|
local ____self_9 = self.unitType
|
|
131
154
|
____self_9.setNumberField(
|
|
132
155
|
____self_9,
|
|
156
|
+
("ua" .. tostring(self.index)) .. "d",
|
|
157
|
+
damageDiceNumber
|
|
158
|
+
)
|
|
159
|
+
end
|
|
160
|
+
},
|
|
161
|
+
true
|
|
162
|
+
)
|
|
163
|
+
__TS__SetDescriptor(
|
|
164
|
+
UnitTypeWeapon.prototype,
|
|
165
|
+
"damageDiceSideCount",
|
|
166
|
+
{
|
|
167
|
+
get = function(self)
|
|
168
|
+
local ____self_10 = self.unitType
|
|
169
|
+
return ____self_10.getNumberField(
|
|
170
|
+
____self_10,
|
|
171
|
+
("ua" .. tostring(self.index)) .. "s"
|
|
172
|
+
)
|
|
173
|
+
end,
|
|
174
|
+
set = function(self, damageDiceSideCount)
|
|
175
|
+
local ____self_11 = self.unitType
|
|
176
|
+
____self_11.setNumberField(
|
|
177
|
+
____self_11,
|
|
178
|
+
("ua" .. tostring(self.index)) .. "s",
|
|
179
|
+
damageDiceSideCount
|
|
180
|
+
)
|
|
181
|
+
end
|
|
182
|
+
},
|
|
183
|
+
true
|
|
184
|
+
)
|
|
185
|
+
__TS__SetDescriptor(
|
|
186
|
+
UnitTypeWeapon.prototype,
|
|
187
|
+
"impactDelay",
|
|
188
|
+
{
|
|
189
|
+
get = function(self)
|
|
190
|
+
local ____self_12 = self.unitType
|
|
191
|
+
return ____self_12.getNumberField(
|
|
192
|
+
____self_12,
|
|
193
|
+
"udp" .. tostring(self.index)
|
|
194
|
+
)
|
|
195
|
+
end,
|
|
196
|
+
set = function(self, impactDelay)
|
|
197
|
+
local ____self_13 = self.unitType
|
|
198
|
+
____self_13.setNumberField(
|
|
199
|
+
____self_13,
|
|
200
|
+
"udp" .. tostring(self.index),
|
|
201
|
+
impactDelay
|
|
202
|
+
)
|
|
203
|
+
end
|
|
204
|
+
},
|
|
205
|
+
true
|
|
206
|
+
)
|
|
207
|
+
__TS__SetDescriptor(
|
|
208
|
+
UnitTypeWeapon.prototype,
|
|
209
|
+
"missileModelPath",
|
|
210
|
+
{
|
|
211
|
+
get = function(self)
|
|
212
|
+
local ____self_14 = self.unitType
|
|
213
|
+
return ____self_14.getStringField(
|
|
214
|
+
____self_14,
|
|
215
|
+
("ua" .. tostring(self.index)) .. "m"
|
|
216
|
+
)
|
|
217
|
+
end,
|
|
218
|
+
set = function(self, missileModelPath)
|
|
219
|
+
local ____self_15 = self.unitType
|
|
220
|
+
____self_15.setStringField(
|
|
221
|
+
____self_15,
|
|
222
|
+
("ua" .. tostring(self.index)) .. "m",
|
|
223
|
+
missileModelPath
|
|
224
|
+
)
|
|
225
|
+
end
|
|
226
|
+
},
|
|
227
|
+
true
|
|
228
|
+
)
|
|
229
|
+
__TS__SetDescriptor(
|
|
230
|
+
UnitTypeWeapon.prototype,
|
|
231
|
+
"range",
|
|
232
|
+
{
|
|
233
|
+
get = function(self)
|
|
234
|
+
local ____self_16 = self.unitType
|
|
235
|
+
return ____self_16.getNumberField(
|
|
236
|
+
____self_16,
|
|
237
|
+
("ua" .. tostring(self.index)) .. "r"
|
|
238
|
+
)
|
|
239
|
+
end,
|
|
240
|
+
set = function(self, range)
|
|
241
|
+
local ____self_17 = self.unitType
|
|
242
|
+
____self_17.setNumberField(
|
|
243
|
+
____self_17,
|
|
133
244
|
("ua" .. tostring(self.index)) .. "r",
|
|
134
245
|
range
|
|
135
246
|
)
|
|
@@ -142,16 +253,16 @@ __TS__SetDescriptor(
|
|
|
142
253
|
"soundType",
|
|
143
254
|
{
|
|
144
255
|
get = function(self)
|
|
145
|
-
local
|
|
146
|
-
return
|
|
147
|
-
|
|
256
|
+
local ____self_18 = self.unitType
|
|
257
|
+
return ____self_18.getStringField(
|
|
258
|
+
____self_18,
|
|
148
259
|
"ucs" .. tostring(self.index)
|
|
149
260
|
)
|
|
150
261
|
end,
|
|
151
262
|
set = function(self, soundType)
|
|
152
|
-
local
|
|
153
|
-
|
|
154
|
-
|
|
263
|
+
local ____self_19 = self.unitType
|
|
264
|
+
____self_19.setStringField(
|
|
265
|
+
____self_19,
|
|
155
266
|
"ucs" .. tostring(self.index),
|
|
156
267
|
soundType
|
|
157
268
|
)
|
|
@@ -164,16 +275,16 @@ __TS__SetDescriptor(
|
|
|
164
275
|
"soundTypeSD",
|
|
165
276
|
{
|
|
166
277
|
get = function(self)
|
|
167
|
-
local
|
|
168
|
-
return
|
|
169
|
-
|
|
278
|
+
local ____self_20 = self.unitType
|
|
279
|
+
return ____self_20.getStringField(
|
|
280
|
+
____self_20,
|
|
170
281
|
("ucs" .. tostring(self.index)) .. ":sd"
|
|
171
282
|
)
|
|
172
283
|
end,
|
|
173
284
|
set = function(self, soundTypeSD)
|
|
174
|
-
local
|
|
175
|
-
|
|
176
|
-
|
|
285
|
+
local ____self_21 = self.unitType
|
|
286
|
+
____self_21.setStringField(
|
|
287
|
+
____self_21,
|
|
177
288
|
("ucs" .. tostring(self.index)) .. ":sd",
|
|
178
289
|
soundTypeSD
|
|
179
290
|
)
|
|
@@ -186,16 +297,16 @@ __TS__SetDescriptor(
|
|
|
186
297
|
"soundTypeHD",
|
|
187
298
|
{
|
|
188
299
|
get = function(self)
|
|
189
|
-
local
|
|
190
|
-
return
|
|
191
|
-
|
|
300
|
+
local ____self_22 = self.unitType
|
|
301
|
+
return ____self_22.getStringField(
|
|
302
|
+
____self_22,
|
|
192
303
|
("ucs" .. tostring(self.index)) .. ":hd"
|
|
193
304
|
)
|
|
194
305
|
end,
|
|
195
306
|
set = function(self, soundTypeHD)
|
|
196
|
-
local
|
|
197
|
-
|
|
198
|
-
|
|
307
|
+
local ____self_23 = self.unitType
|
|
308
|
+
____self_23.setStringField(
|
|
309
|
+
____self_23,
|
|
199
310
|
("ucs" .. tostring(self.index)) .. ":hd",
|
|
200
311
|
soundTypeHD
|
|
201
312
|
)
|
|
@@ -236,10 +347,10 @@ __TS__SetDescriptor(
|
|
|
236
347
|
"abilityTypeIds",
|
|
237
348
|
{
|
|
238
349
|
get = function(self)
|
|
239
|
-
return self:
|
|
350
|
+
return self:getObjectDataEntryNumericIdsField("uabi")
|
|
240
351
|
end,
|
|
241
352
|
set = function(self, abilityTypeIds)
|
|
242
|
-
self:
|
|
353
|
+
self:setObjectDataEntryNumericIdsField("uabi", abilityTypeIds)
|
|
243
354
|
end
|
|
244
355
|
},
|
|
245
356
|
true
|
|
@@ -249,10 +360,10 @@ __TS__SetDescriptor(
|
|
|
249
360
|
"defaultActiveAbilityTypeId",
|
|
250
361
|
{
|
|
251
362
|
get = function(self)
|
|
252
|
-
return self:
|
|
363
|
+
return self:getObjectDataEntryNumericIdsField("udaa")[1]
|
|
253
364
|
end,
|
|
254
365
|
set = function(self, abilityTypeId)
|
|
255
|
-
self:
|
|
366
|
+
self:setObjectDataEntryNumericIdsField(
|
|
256
367
|
"udaa",
|
|
257
368
|
arrayOfNotNull(abilityTypeId)
|
|
258
369
|
)
|
|
@@ -698,6 +809,9 @@ __TS__SetDescriptor(
|
|
|
698
809
|
end,
|
|
699
810
|
set = function(self, modelPath)
|
|
700
811
|
self:setStringField("umdl", modelPath)
|
|
812
|
+
if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
|
|
813
|
+
self:setStringField("upor", modelPath)
|
|
814
|
+
end
|
|
701
815
|
end
|
|
702
816
|
},
|
|
703
817
|
true
|
|
@@ -711,6 +825,9 @@ __TS__SetDescriptor(
|
|
|
711
825
|
end,
|
|
712
826
|
set = function(self, modelPathSD)
|
|
713
827
|
self:setStringField("umdl:sd", modelPathSD)
|
|
828
|
+
if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
|
|
829
|
+
self:setStringField("upor:sd", modelPathSD)
|
|
830
|
+
end
|
|
714
831
|
end
|
|
715
832
|
},
|
|
716
833
|
true
|
|
@@ -724,6 +841,51 @@ __TS__SetDescriptor(
|
|
|
724
841
|
end,
|
|
725
842
|
set = function(self, modelPathHD)
|
|
726
843
|
self:setStringField("umdl:hd", modelPathHD)
|
|
844
|
+
if not self.isPortraitModelPathSet and WarscriptConfig.AUTOMATICALLY_SET_UNIT_TYPE_PORTRAIT_MODEL_PATH then
|
|
845
|
+
self:setStringField("upor:hd", modelPathHD)
|
|
846
|
+
end
|
|
847
|
+
end
|
|
848
|
+
},
|
|
849
|
+
true
|
|
850
|
+
)
|
|
851
|
+
__TS__SetDescriptor(
|
|
852
|
+
UnitType.prototype,
|
|
853
|
+
"portraitModelPath",
|
|
854
|
+
{
|
|
855
|
+
get = function(self)
|
|
856
|
+
return self:getStringField("upor")
|
|
857
|
+
end,
|
|
858
|
+
set = function(self, portraitModelPath)
|
|
859
|
+
self:setStringField("upor", portraitModelPath)
|
|
860
|
+
self.isPortraitModelPathSet = true
|
|
861
|
+
end
|
|
862
|
+
},
|
|
863
|
+
true
|
|
864
|
+
)
|
|
865
|
+
__TS__SetDescriptor(
|
|
866
|
+
UnitType.prototype,
|
|
867
|
+
"portraitModelPathSD",
|
|
868
|
+
{
|
|
869
|
+
get = function(self)
|
|
870
|
+
return self:getStringField("upor:sd")
|
|
871
|
+
end,
|
|
872
|
+
set = function(self, portraitModelPathSD)
|
|
873
|
+
self:setStringField("upor:sd", portraitModelPathSD)
|
|
874
|
+
self.isPortraitModelPathSet = true
|
|
875
|
+
end
|
|
876
|
+
},
|
|
877
|
+
true
|
|
878
|
+
)
|
|
879
|
+
__TS__SetDescriptor(
|
|
880
|
+
UnitType.prototype,
|
|
881
|
+
"portraitModelPathHD",
|
|
882
|
+
{
|
|
883
|
+
get = function(self)
|
|
884
|
+
return self:getStringField("upor:hd")
|
|
885
|
+
end,
|
|
886
|
+
set = function(self, portraitModelPathHD)
|
|
887
|
+
self:setStringField("upor:hd", portraitModelPathHD)
|
|
888
|
+
self.isPortraitModelPathSet = true
|
|
727
889
|
end
|
|
728
890
|
},
|
|
729
891
|
true
|
|
@@ -1087,25 +1249,25 @@ __TS__SetDescriptor(
|
|
|
1087
1249
|
)
|
|
1088
1250
|
__TS__SetDescriptor(
|
|
1089
1251
|
UnitType.prototype,
|
|
1090
|
-
"
|
|
1252
|
+
"weapons",
|
|
1091
1253
|
{get = function(self)
|
|
1092
|
-
return self
|
|
1254
|
+
return getOrCreateUnitTypeWeapons(self)
|
|
1093
1255
|
end},
|
|
1094
1256
|
true
|
|
1095
1257
|
)
|
|
1096
1258
|
__TS__SetDescriptor(
|
|
1097
1259
|
UnitType.prototype,
|
|
1098
|
-
"
|
|
1260
|
+
"firstWeapon",
|
|
1099
1261
|
{get = function(self)
|
|
1100
|
-
return self.weapons[
|
|
1262
|
+
return self.weapons[1]
|
|
1101
1263
|
end},
|
|
1102
1264
|
true
|
|
1103
1265
|
)
|
|
1104
1266
|
__TS__SetDescriptor(
|
|
1105
1267
|
UnitType.prototype,
|
|
1106
|
-
"
|
|
1268
|
+
"secondWeapon",
|
|
1107
1269
|
{get = function(self)
|
|
1108
|
-
return
|
|
1270
|
+
return self.weapons[2]
|
|
1109
1271
|
end},
|
|
1110
1272
|
true
|
|
1111
1273
|
)
|
|
@@ -1291,6 +1453,71 @@ __TS__SetDescriptor(
|
|
|
1291
1453
|
},
|
|
1292
1454
|
true
|
|
1293
1455
|
)
|
|
1456
|
+
__TS__SetDescriptor(
|
|
1457
|
+
UnitType.prototype,
|
|
1458
|
+
"healthRegenerationRate",
|
|
1459
|
+
{
|
|
1460
|
+
get = function(self)
|
|
1461
|
+
return self:getNumberField("uhpr")
|
|
1462
|
+
end,
|
|
1463
|
+
set = function(self, healthRegenerationRate)
|
|
1464
|
+
self:setNumberField("uhpr", healthRegenerationRate)
|
|
1465
|
+
end
|
|
1466
|
+
},
|
|
1467
|
+
true
|
|
1468
|
+
)
|
|
1469
|
+
__TS__SetDescriptor(
|
|
1470
|
+
UnitType.prototype,
|
|
1471
|
+
"manaRegenerationRate",
|
|
1472
|
+
{
|
|
1473
|
+
get = function(self)
|
|
1474
|
+
return self:getNumberField("umpr")
|
|
1475
|
+
end,
|
|
1476
|
+
set = function(self, manaRegenerationRate)
|
|
1477
|
+
self:setNumberField("umpr", manaRegenerationRate)
|
|
1478
|
+
end
|
|
1479
|
+
},
|
|
1480
|
+
true
|
|
1481
|
+
)
|
|
1482
|
+
__TS__SetDescriptor(
|
|
1483
|
+
UnitType.prototype,
|
|
1484
|
+
"maximumHealth",
|
|
1485
|
+
{
|
|
1486
|
+
get = function(self)
|
|
1487
|
+
return self:getNumberField("uhpm")
|
|
1488
|
+
end,
|
|
1489
|
+
set = function(self, maximumHealth)
|
|
1490
|
+
self:setNumberField("uhpm", maximumHealth)
|
|
1491
|
+
end
|
|
1492
|
+
},
|
|
1493
|
+
true
|
|
1494
|
+
)
|
|
1495
|
+
__TS__SetDescriptor(
|
|
1496
|
+
UnitType.prototype,
|
|
1497
|
+
"maximumMana",
|
|
1498
|
+
{
|
|
1499
|
+
get = function(self)
|
|
1500
|
+
return self:getNumberField("umpm")
|
|
1501
|
+
end,
|
|
1502
|
+
set = function(self, maximumMana)
|
|
1503
|
+
self:setNumberField("umpm", maximumMana)
|
|
1504
|
+
end
|
|
1505
|
+
},
|
|
1506
|
+
true
|
|
1507
|
+
)
|
|
1508
|
+
__TS__SetDescriptor(
|
|
1509
|
+
UnitType.prototype,
|
|
1510
|
+
"initialMana",
|
|
1511
|
+
{
|
|
1512
|
+
get = function(self)
|
|
1513
|
+
return self:getNumberField("umpi")
|
|
1514
|
+
end,
|
|
1515
|
+
set = function(self, initialMana)
|
|
1516
|
+
self:setNumberField("umpi", initialMana)
|
|
1517
|
+
end
|
|
1518
|
+
},
|
|
1519
|
+
true
|
|
1520
|
+
)
|
|
1294
1521
|
__TS__SetDescriptor(
|
|
1295
1522
|
UnitType.prototype,
|
|
1296
1523
|
"isStructure",
|
|
@@ -1322,10 +1549,10 @@ __TS__SetDescriptor(
|
|
|
1322
1549
|
"affectingUpgradeIds",
|
|
1323
1550
|
{
|
|
1324
1551
|
get = function(self)
|
|
1325
|
-
return self:
|
|
1552
|
+
return self:getObjectDataEntryNumericIdsField("upgr")
|
|
1326
1553
|
end,
|
|
1327
1554
|
set = function(self, affectingUpgradeIds)
|
|
1328
|
-
self:
|
|
1555
|
+
self:setObjectDataEntryNumericIdsField("upgr", affectingUpgradeIds)
|
|
1329
1556
|
end
|
|
1330
1557
|
},
|
|
1331
1558
|
true
|
|
@@ -1385,11 +1612,11 @@ __TS__SetDescriptor(
|
|
|
1385
1612
|
implementReadonlyNumberIndexSupplier(
|
|
1386
1613
|
____exports.UnitType,
|
|
1387
1614
|
function(id)
|
|
1388
|
-
local
|
|
1389
|
-
|
|
1390
|
-
__TS__ClassExtends(
|
|
1391
|
-
|
|
1392
|
-
return
|
|
1615
|
+
local ____class_24 = __TS__Class()
|
|
1616
|
+
____class_24.name = ____class_24.name
|
|
1617
|
+
__TS__ClassExtends(____class_24, ____exports.UnitType)
|
|
1618
|
+
____class_24.BASE_ID = id
|
|
1619
|
+
return ____class_24
|
|
1393
1620
|
end
|
|
1394
1621
|
)
|
|
1395
1622
|
____exports.HeroUnitType = __TS__Class()
|
|
@@ -1408,10 +1635,10 @@ __TS__SetDescriptor(
|
|
|
1408
1635
|
"heroAbilityTypeIds",
|
|
1409
1636
|
{
|
|
1410
1637
|
get = function(self)
|
|
1411
|
-
return self:
|
|
1638
|
+
return self:getObjectDataEntryNumericIdsField("uhab")
|
|
1412
1639
|
end,
|
|
1413
1640
|
set = function(self, heroAbilityTypeIds)
|
|
1414
|
-
self:
|
|
1641
|
+
self:setObjectDataEntryNumericIdsField("uhab", heroAbilityTypeIds)
|
|
1415
1642
|
end
|
|
1416
1643
|
},
|
|
1417
1644
|
true
|
|
@@ -1450,11 +1677,11 @@ __TS__SetDescriptor(
|
|
|
1450
1677
|
implementReadonlyNumberIndexSupplier(
|
|
1451
1678
|
____exports.HeroUnitType,
|
|
1452
1679
|
function(id)
|
|
1453
|
-
local
|
|
1454
|
-
|
|
1455
|
-
__TS__ClassExtends(
|
|
1456
|
-
|
|
1457
|
-
return
|
|
1680
|
+
local ____class_25 = __TS__Class()
|
|
1681
|
+
____class_25.name = ____class_25.name
|
|
1682
|
+
__TS__ClassExtends(____class_25, ____exports.HeroUnitType)
|
|
1683
|
+
____class_25.BASE_ID = id
|
|
1684
|
+
return ____class_25
|
|
1458
1685
|
end
|
|
1459
1686
|
)
|
|
1460
1687
|
return ____exports
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/// <reference types="warpack-types/warpack" />
|
|
2
1
|
/** @noSelfInFile */
|
|
3
2
|
import { TupleOf } from "../../../utility/types";
|
|
4
3
|
import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
|
|
5
4
|
import { ObjectDataEntry, ObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
|
|
6
5
|
import { AbilityTypeId } from "./ability-type";
|
|
7
|
-
export type UpgradeId = ObjectDataEntryId & {
|
|
6
|
+
export type UpgradeId = ObjectDataEntryId & number & {
|
|
8
7
|
readonly __upgradeId: unique symbol;
|
|
9
8
|
};
|
|
10
9
|
export declare const enum UpgradeEffectType {
|
|
@@ -32,7 +32,7 @@ function Upgrade.prototype.getEffect(self, i)
|
|
|
32
32
|
type = effectType,
|
|
33
33
|
bonusBase = self:getNumberField("gba" .. tostring(i)),
|
|
34
34
|
bonusIncrement = self:getNumberField("gmo" .. tostring(i)),
|
|
35
|
-
abilityTypeId = self:
|
|
35
|
+
abilityTypeId = self:getObjectDataEntryNumericIdField("gco" .. tostring(i))
|
|
36
36
|
}
|
|
37
37
|
end
|
|
38
38
|
return nil
|
|
@@ -51,7 +51,7 @@ function Upgrade.prototype.setEffect(self, i, effect)
|
|
|
51
51
|
effect and effect.bonusIncrement or 0
|
|
52
52
|
)
|
|
53
53
|
if (effect and effect.abilityTypeId) ~= nil then
|
|
54
|
-
self:
|
|
54
|
+
self:setObjectDataEntryNumericIdField(
|
|
55
55
|
"gco" .. tostring(i),
|
|
56
56
|
effect and effect.abilityTypeId
|
|
57
57
|
)
|
|
@@ -145,7 +145,7 @@ __TS__SetDescriptor(
|
|
|
145
145
|
"techTreeDependencies",
|
|
146
146
|
{
|
|
147
147
|
get = function(self)
|
|
148
|
-
local techTreeDependencyIds = self:
|
|
148
|
+
local techTreeDependencyIds = self:getObjectDataEntryNumericIdsLevelField("greq")
|
|
149
149
|
local techTreeDependencyInternalLevels = self:getNumbersLevelField("grqc")
|
|
150
150
|
return mapIndexed(
|
|
151
151
|
techTreeDependencyIds,
|
|
@@ -177,7 +177,7 @@ __TS__SetDescriptor(
|
|
|
177
177
|
function(level) return level + 1 end
|
|
178
178
|
)
|
|
179
179
|
end
|
|
180
|
-
self:
|
|
180
|
+
self:setObjectDataEntryNumericIdsLevelField("greq", techTreeDependencyIds)
|
|
181
181
|
self:setNumbersLevelField("grqc", techTreeDependencyInternalLevels)
|
|
182
182
|
end
|
|
183
183
|
},
|