warscript 0.0.1-dev.f5421e8 → 0.0.1-dev.f594e71
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 -0
- package/attributes.lua +17 -1
- package/core/types/frame.d.ts +1 -0
- package/core/types/frame.lua +136 -58
- package/core/types/handle.lua +9 -9
- package/core/types/item.d.ts +1 -0
- package/core/types/item.lua +1 -0
- package/core/types/player.d.ts +18 -1
- package/core/types/player.lua +76 -26
- package/core/types/playerCamera.d.ts +2 -0
- package/core/types/playerCamera.lua +123 -5
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +1 -1
- package/core/types/sound.lua +19 -9
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +3 -1
- package/core/types/timer.lua +27 -2
- package/core/types/unit.d.ts +4 -0
- package/core/types/unit.lua +4 -0
- package/decl/native.d.ts +1718 -964
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +14 -1
- package/engine/behavior.lua +230 -70
- package/engine/behaviour/ability/apply-buff.lua +5 -5
- package/engine/behaviour/ability/damage.d.ts +9 -3
- package/engine/behaviour/ability/damage.lua +40 -49
- package/engine/behaviour/ability/emulate-impact.d.ts +1 -1
- package/engine/behaviour/ability/emulate-impact.lua +23 -7
- package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
- package/engine/behaviour/ability/remove-buffs.lua +21 -0
- package/engine/behaviour/ability/restore-mana.d.ts +1 -1
- package/engine/behaviour/ability/restore-mana.lua +6 -6
- package/engine/behaviour/ability.d.ts +12 -6
- package/engine/behaviour/ability.lua +49 -17
- package/engine/behaviour/unit/stun-immunity.d.ts +12 -6
- package/engine/behaviour/unit/stun-immunity.lua +57 -31
- package/engine/behaviour/unit.d.ts +40 -3
- package/engine/behaviour/unit.lua +270 -6
- package/engine/buff.d.ts +75 -28
- package/engine/buff.lua +433 -196
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +11 -1
- package/engine/internal/ability.lua +100 -41
- package/engine/internal/item/ability.lua +63 -11
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- package/engine/internal/item+owner.d.ts +1 -0
- package/engine/internal/item+owner.lua +19 -6
- package/engine/internal/item.d.ts +28 -16
- package/engine/internal/item.lua +241 -82
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- 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/armor-bonus.d.ts +2 -0
- package/engine/internal/object-data/attribute-bonus.lua +2 -2
- package/engine/internal/object-data/health-bonus.d.ts +2 -0
- package/engine/internal/object-data/health-bonus.lua +16 -0
- package/engine/internal/object-data/mana-bonus.d.ts +2 -0
- package/engine/internal/object-data/mana-bonus.lua +16 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.d.ts +2 -0
- package/engine/internal/object-data/mana-regeneration-rate-increase-factor.lua +16 -0
- package/engine/internal/unit/ability.d.ts +35 -0
- package/engine/internal/unit/ability.lua +113 -12
- package/engine/internal/unit/allowed-targets.d.ts +1 -1
- package/engine/internal/unit/allowed-targets.lua +9 -1
- package/engine/internal/unit/appearance.d.ts +15 -0
- package/engine/internal/unit/appearance.lua +85 -0
- package/engine/internal/unit/attributes.d.ts +17 -0
- package/engine/internal/unit/attributes.lua +46 -0
- package/engine/internal/unit/bag.d.ts +18 -0
- package/engine/internal/unit/bag.lua +63 -0
- package/engine/internal/unit/bonus.d.ts +6 -0
- package/engine/internal/unit/bonus.lua +33 -3
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/equipment.d.ts +36 -0
- package/engine/internal/unit/equipment.lua +169 -0
- package/engine/internal/unit/fly-height.d.ts +7 -0
- package/engine/internal/unit/fly-height.lua +20 -0
- package/engine/internal/unit/interrupts.d.ts +12 -0
- package/engine/internal/unit/interrupts.lua +28 -0
- package/engine/internal/unit/{item.d.ts → inventory.d.ts} +3 -3
- package/engine/internal/unit/{item.lua → inventory.lua} +25 -26
- package/engine/internal/unit/main-selected.lua +12 -27
- package/engine/internal/unit/order.d.ts +20 -0
- package/engine/internal/unit/order.lua +136 -0
- package/engine/internal/unit/pseudo-passive-abilities.d.ts +2 -0
- package/engine/internal/unit/pseudo-passive-abilities.lua +11 -0
- package/engine/internal/unit/range-event.d.ts +12 -0
- package/engine/internal/unit/range-event.lua +90 -0
- package/engine/internal/unit/scale.d.ts +7 -0
- package/engine/internal/unit/scale.lua +20 -0
- package/engine/internal/unit+ability.lua +10 -1
- package/engine/internal/unit+bonus.lua +3 -3
- package/engine/internal/unit+damage.d.ts +11 -11
- package/engine/internal/unit+damage.lua +43 -14
- package/engine/internal/unit+spellSteal.lua +1 -2
- package/engine/internal/unit-missile-data.lua +58 -32
- package/engine/internal/unit-missile-launch.lua +52 -14
- package/engine/internal/unit.d.ts +39 -27
- package/engine/internal/unit.lua +382 -269
- package/engine/local-client.d.ts +27 -0
- package/engine/local-client.lua +370 -54
- 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/attack-type.d.ts +7 -8
- package/engine/object-data/auxiliary/attack-type.lua +42 -0
- package/engine/object-data/auxiliary/equipment-slot.d.ts +12 -0
- package/engine/object-data/auxiliary/equipment-slot.lua +2 -0
- package/engine/object-data/auxiliary/equipment-type.d.ts +13 -0
- package/engine/object-data/auxiliary/equipment-type.lua +2 -0
- package/engine/object-data/auxiliary/health-regeneration-type.d.ts +8 -0
- package/engine/object-data/auxiliary/health-regeneration-type.lua +2 -0
- package/engine/object-data/auxiliary/item-tag.d.ts +12 -0
- package/engine/object-data/auxiliary/item-tag.lua +2 -0
- 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-set-name.d.ts +14 -3
- 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/apprehend.d.ts +22 -0
- package/engine/object-data/entry/ability-type/apprehend.lua +66 -0
- package/engine/object-data/entry/ability-type/armor-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/{armor-increase.lua → armor-bonus.lua} +9 -9
- package/engine/object-data/entry/ability-type/banshee.d.ts +8 -0
- package/engine/object-data/entry/ability-type/banshee.lua +13 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/banshees-wail-damage-amp.lua +27 -0
- package/engine/object-data/entry/ability-type/banshees-wail.d.ts +31 -0
- package/engine/object-data/entry/ability-type/banshees-wail.lua +117 -0
- package/engine/object-data/entry/ability-type/battering-ram.d.ts +33 -0
- package/engine/object-data/entry/ability-type/battering-ram.lua +130 -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 +3 -0
- package/engine/object-data/entry/ability-type/blank-configurable.lua +30 -0
- package/engine/object-data/entry/ability-type/cleansing-fire.d.ts +27 -0
- package/engine/object-data/entry/ability-type/cleansing-fire.lua +104 -0
- package/engine/object-data/entry/ability-type/consecration.d.ts +15 -0
- package/engine/object-data/entry/ability-type/consecration.lua +52 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.d.ts +12 -0
- package/engine/object-data/entry/ability-type/cooldown-reduction.lua +39 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.d.ts +18 -0
- package/engine/object-data/entry/ability-type/critical-strike-system.lua +65 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.d.ts +21 -0
- package/engine/object-data/entry/ability-type/deathseeker-arrows.lua +78 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.d.ts +8 -0
- package/engine/object-data/entry/ability-type/equipment-inventory-interface.lua +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment-inventory.lua +27 -0
- package/engine/object-data/entry/ability-type/equipment.d.ts +13 -0
- package/engine/object-data/entry/ability-type/equipment.lua +27 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.d.ts +8 -0
- package/engine/object-data/entry/ability-type/grant-talent-point.lua +13 -0
- package/engine/object-data/entry/ability-type/grim-conviction.d.ts +36 -0
- package/engine/object-data/entry/ability-type/grim-conviction.lua +131 -0
- package/engine/object-data/entry/ability-type/grit.d.ts +18 -0
- package/engine/object-data/entry/ability-type/grit.lua +65 -0
- package/engine/object-data/entry/ability-type/guiding-hand.d.ts +27 -0
- package/engine/object-data/entry/ability-type/guiding-hand.lua +104 -0
- package/engine/object-data/entry/ability-type/headsplitter.d.ts +27 -0
- package/engine/object-data/entry/ability-type/headsplitter.lua +104 -0
- package/engine/object-data/entry/ability-type/{armor-increase.d.ts → healing-modifier.d.ts} +4 -3
- package/engine/object-data/entry/ability-type/healing-modifier.lua +26 -0
- package/engine/object-data/entry/ability-type/health-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/health-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/heroic-slash.d.ts +18 -0
- package/engine/object-data/entry/ability-type/heroic-slash.lua +65 -0
- package/engine/object-data/entry/ability-type/holy-wrath.d.ts +30 -0
- package/engine/object-data/entry/ability-type/holy-wrath.lua +117 -0
- package/engine/object-data/entry/ability-type/inspire-courage.d.ts +18 -0
- package/engine/object-data/entry/ability-type/inspire-courage.lua +65 -0
- package/engine/object-data/entry/ability-type/lights-mercy.d.ts +27 -0
- package/engine/object-data/entry/ability-type/lights-mercy.lua +104 -0
- package/engine/object-data/entry/ability-type/mana-bonus.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-bonus.lua +26 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.d.ts +12 -0
- package/engine/object-data/entry/ability-type/mana-efficiency.lua +39 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.d.ts +8 -0
- package/engine/object-data/entry/ability-type/mana-regeneration.lua +26 -0
- package/engine/object-data/entry/ability-type/mind-control.d.ts +21 -0
- package/engine/object-data/entry/ability-type/mind-control.lua +78 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.d.ts +21 -0
- package/engine/object-data/entry/ability-type/on-attack-cast-spell.lua +52 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.d.ts +19 -0
- package/engine/object-data/entry/ability-type/on-basic-attack-cast-spell.lua +65 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.d.ts +15 -0
- package/engine/object-data/entry/ability-type/on-hit-cast-spell.lua +26 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.d.ts +6 -0
- package/engine/object-data/entry/ability-type/on-magic-attack-cast-spell.lua +12 -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/provoke.d.ts +21 -0
- package/engine/object-data/entry/ability-type/provoke.lua +66 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.d.ts +9 -0
- package/engine/object-data/entry/ability-type/raise-the-banner.lua +26 -0
- package/engine/object-data/entry/ability-type/reincarnation.d.ts +8 -0
- package/engine/object-data/entry/ability-type/reincarnation.lua +26 -0
- package/engine/object-data/entry/ability-type/resolve.d.ts +12 -0
- package/engine/object-data/entry/ability-type/resolve.lua +39 -0
- package/engine/object-data/entry/ability-type/righteous-fury.d.ts +33 -0
- package/engine/object-data/entry/ability-type/righteous-fury.lua +130 -0
- package/engine/object-data/entry/ability-type/sacred-aura.d.ts +27 -0
- package/engine/object-data/entry/ability-type/sacred-aura.lua +104 -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/soul-lantern.d.ts +30 -0
- package/engine/object-data/entry/ability-type/soul-lantern.lua +117 -0
- package/engine/object-data/entry/ability-type/spell-amp.d.ts +15 -0
- package/engine/object-data/entry/ability-type/spell-amp.lua +52 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-critical-strike.lua +39 -0
- package/engine/object-data/entry/ability-type/spell-vamp.d.ts +12 -0
- package/engine/object-data/entry/ability-type/spell-vamp.lua +39 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-evasion.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.d.ts +21 -0
- package/engine/object-data/entry/ability-type/stackable-hardened-skin.lua +78 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-life-steal.lua +26 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-spell-damage-reduction.lua +13 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.d.ts +9 -0
- package/engine/object-data/entry/ability-type/stackable-thorn-shield.lua +13 -0
- package/engine/object-data/entry/ability-type/stat-details.d.ts +12 -0
- package/engine/object-data/entry/ability-type/stat-details.lua +27 -0
- package/engine/object-data/entry/ability-type/surge-of-light.d.ts +33 -0
- package/engine/object-data/entry/ability-type/surge-of-light.lua +130 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.d.ts +57 -0
- package/engine/object-data/entry/ability-type/sweeping-strike.lua +234 -0
- package/engine/object-data/entry/ability-type/talents.d.ts +12 -0
- package/engine/object-data/entry/ability-type/talents.lua +27 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.d.ts +30 -0
- package/engine/object-data/entry/ability-type/unyielding-guard.lua +117 -0
- package/engine/object-data/entry/ability-type/valiant-charge.d.ts +27 -0
- package/engine/object-data/entry/ability-type/valiant-charge.lua +104 -0
- package/engine/object-data/entry/ability-type/warcry.d.ts +9 -0
- package/engine/object-data/entry/ability-type/warcry.lua +26 -0
- package/engine/object-data/entry/ability-type/withering-fire.d.ts +21 -0
- package/engine/object-data/entry/ability-type/withering-fire.lua +78 -0
- package/engine/object-data/entry/ability-type.d.ts +12 -3
- package/engine/object-data/entry/ability-type.lua +148 -7
- package/engine/object-data/entry/buff-type/applicable.lua +113 -104
- package/engine/object-data/entry/buff-type.d.ts +10 -12
- package/engine/object-data/entry/buff-type.lua +37 -27
- package/engine/object-data/entry/destructible-type.d.ts +32 -2
- package/engine/object-data/entry/destructible-type.lua +181 -0
- package/engine/object-data/entry/item-type.d.ts +12 -3
- package/engine/object-data/entry/item-type.lua +52 -0
- package/engine/object-data/entry/lightning-type.d.ts +2 -2
- package/engine/object-data/entry/sound-preset.d.ts +2 -2
- package/engine/object-data/entry/unit-type.d.ts +64 -6
- package/engine/object-data/entry/unit-type.lua +531 -85
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry.d.ts +4 -1
- package/engine/object-field/ability.d.ts +4 -4
- package/engine/object-field/ability.lua +9 -8
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field/unit.d.ts +72 -3
- package/engine/object-field/unit.lua +268 -7
- package/engine/object-field.d.ts +26 -7
- package/engine/object-field.lua +360 -119
- package/engine/random.d.ts +10 -0
- package/engine/random.lua +21 -0
- package/engine/standard/entries/ability-type.d.ts +3102 -7
- package/engine/standard/entries/ability-type.lua +0 -6
- package/engine/standard/entries/buff-type.d.ts +3 -0
- package/engine/standard/entries/buff-type.lua +3 -0
- package/engine/standard/entries/item-type.d.ts +1299 -0
- package/engine/standard/entries/item-type.lua +2 -0
- package/engine/standard/entries/unit-type.d.ts +5 -0
- package/engine/standard/entries/unit-type.lua +5 -0
- package/engine/standard/fields/ability.d.ts +2 -2
- package/engine/standard/fields/ability.lua +2 -2
- package/engine/standard/fields/item.d.ts +4 -0
- package/engine/standard/fields/item.lua +6 -0
- package/engine/standard/fields/unit.d.ts +12 -0
- package/engine/standard/fields/unit.lua +20 -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 +10 -1
- package/engine/unit.lua +10 -1
- package/event.d.ts +1 -1
- package/lualib_bundle.lua +1 -1
- package/math.d.ts +2 -0
- package/math.lua +14 -0
- package/net/socket.lua +1 -1
- package/network.lua +25 -1
- package/objutil/buff.lua +11 -10
- package/objutil/object.lua +1 -1
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- package/package.json +3 -23
- package/patch-lua.lua +15 -0
- package/patch-lualib.lua +1 -1
- package/utility/arrays.d.ts +2 -0
- package/utility/arrays.lua +11 -0
- 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/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +5 -1
- package/utility/linked-set.lua +49 -1
- package/utility/lua-maps.d.ts +15 -2
- package/utility/lua-maps.lua +53 -2
- package/utility/lua-sets.d.ts +2 -0
- package/utility/lua-sets.lua +7 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -0
- package/utility/records.lua +20 -1
- package/utility/types.d.ts +3 -0
- package/utility/unordered-map.d.ts +27 -0
- package/utility/unordered-map.lua +99 -0
- package/core/types/order.d.ts +0 -25
- package/core/types/order.lua +0 -55
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/damage-metadata-by-target.d.ts} +0 -0
- /package/engine/internal/object-data/{armor-increase.lua → armor-bonus.lua} +0 -0
- /package/engine/object-data/entry/ability-type/{attribute-increase.d.ts → attribute-bonus.d.ts} +0 -0
- /package/engine/object-data/entry/ability-type/{attribute-increase.lua → attribute-bonus.lua} +0 -0
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { TupleOf } from "../../../utility/types";
|
|
3
3
|
import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
|
|
4
|
-
import { ObjectDataEntry,
|
|
4
|
+
import { ObjectDataEntry, CustomObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
|
|
5
5
|
import { AbilityTypeId } from "./ability-type";
|
|
6
|
-
export type UpgradeId =
|
|
6
|
+
export type UpgradeId = CustomObjectDataEntryId & number & {
|
|
7
7
|
readonly __upgradeId: unique symbol;
|
|
8
8
|
};
|
|
9
9
|
export declare const enum UpgradeEffectType {
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { AttachmentPreset, AttachmentPresetInput } from "./auxiliary/attachment-preset";
|
|
3
3
|
import { MutableKeys } from "../../utility/types";
|
|
4
|
-
|
|
4
|
+
import { StandardAbilityTypeId } from "../standard/entries/ability-type";
|
|
5
|
+
import { StandardItemTypeId } from "../standard/entries/item-type";
|
|
6
|
+
export type CustomObjectDataEntryId = (number | string) & {
|
|
5
7
|
readonly __objectDataEntryId: unique symbol;
|
|
6
8
|
};
|
|
9
|
+
export type ObjectDataEntryId = CustomObjectDataEntryId | StandardAbilityTypeId | StandardItemTypeId;
|
|
7
10
|
export type ObjectDataEntryIdType<T extends ObjectDataEntry> = T extends ObjectDataEntry<infer Id> ? Id : never;
|
|
8
11
|
export type ObjectDataEntryConstructor<T extends ObjectDataEntry> = OmitConstructor<typeof ObjectDataEntry> & (new (object: WarObject) => T);
|
|
9
12
|
export type ObjectDataEntryAbstractConstructor<T extends ObjectDataEntry> = OmitConstructor<typeof ObjectDataEntry> & (abstract new (object: WarObject) => T);
|
|
@@ -12,7 +12,7 @@ import { ReadonlyNonEmptyLinkedSet } from "../../utility/linked-set";
|
|
|
12
12
|
export declare abstract class AbilityField<ValueType extends number | string | boolean = number | string | boolean, NativeFieldType extends jabilityfield = jabilityfield> extends ObjectField<AbilityType, Ability, ValueType, NativeFieldType> {
|
|
13
13
|
protected get instanceClass(): typeof Ability;
|
|
14
14
|
protected getObjectDataEntryId(instance: Ability): AbilityTypeId;
|
|
15
|
-
protected hasNativeFieldValue(
|
|
15
|
+
protected hasNativeFieldValue(abilityTypeId: AbilityTypeId): boolean;
|
|
16
16
|
static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<AbilityField>>;
|
|
17
17
|
}
|
|
18
18
|
export declare class AbilityBooleanField extends AbilityField<boolean, jabilitybooleanfield> {
|
|
@@ -48,7 +48,7 @@ export declare class AbilityStringField extends AbilityField<string, jabilitystr
|
|
|
48
48
|
export declare abstract class AbilityArrayField<ValueType extends number | string | boolean = number | string | boolean, NativeFieldType extends jabilityfield = jabilityfield> extends ObjectArrayField<AbilityType, Ability, ValueType, NativeFieldType> {
|
|
49
49
|
protected get instanceClass(): typeof Ability;
|
|
50
50
|
protected getObjectDataEntryId(instance: Ability): AbilityTypeId;
|
|
51
|
-
protected hasNativeFieldValue(
|
|
51
|
+
protected hasNativeFieldValue(abilityTypeId: AbilityTypeId): boolean;
|
|
52
52
|
}
|
|
53
53
|
export declare class AbilityStringArrayField extends AbilityArrayField<string, jabilitystringlevelfield> {
|
|
54
54
|
protected get defaultValue(): string;
|
|
@@ -68,7 +68,7 @@ export declare abstract class AbilityLevelField<ValueType extends number | strin
|
|
|
68
68
|
protected get instanceClass(): typeof Ability;
|
|
69
69
|
protected getLevelCount(entry: AbilityType | Ability): number;
|
|
70
70
|
protected getObjectDataEntryId(instance: Ability): AbilityTypeId;
|
|
71
|
-
protected hasNativeFieldValue(
|
|
71
|
+
protected hasNativeFieldValue(abilityTypeId: AbilityTypeId): boolean;
|
|
72
72
|
static get valueChangeEvent(): ObjectLevelFieldValueChangeEvent<ReadonlyObjectLevelFieldType<AbilityLevelField>>;
|
|
73
73
|
}
|
|
74
74
|
export declare class AbilityBooleanLevelField extends AbilityLevelField<boolean, boolean, jabilityintegerlevelfield> {
|
|
@@ -117,7 +117,7 @@ export declare abstract class AbilityEnumLevelField<T extends number> extends Ab
|
|
|
117
117
|
protected getNativeFieldById(id: number): jabilityintegerlevelfield;
|
|
118
118
|
protected getNativeFieldValue(instance: Ability, level: number): T;
|
|
119
119
|
protected setNativeFieldValue(instance: Ability, level: number, value: T): boolean;
|
|
120
|
-
static get valueChangeEvent(): ObjectLevelFieldValueChangeEvent<
|
|
120
|
+
static get valueChangeEvent(): ObjectLevelFieldValueChangeEvent<AbilityEnumLevelField<number>>;
|
|
121
121
|
}
|
|
122
122
|
export declare class AbilityBuffPolarityLevelField extends AbilityEnumLevelField<BuffPolarity> {
|
|
123
123
|
protected values: ReadonlyNonEmptyLinkedSet<BuffPolarity>;
|
|
@@ -7,6 +7,7 @@ local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
|
7
7
|
local ____exports = {}
|
|
8
8
|
local ____ability = require("engine.internal.ability")
|
|
9
9
|
local Ability = ____ability.Ability
|
|
10
|
+
local abilityTypeHasField = ____ability.abilityTypeHasField
|
|
10
11
|
local ____object_2Dfield = require("engine.object-field")
|
|
11
12
|
local ObjectArrayField = ____object_2Dfield.ObjectArrayField
|
|
12
13
|
local ObjectField = ____object_2Dfield.ObjectField
|
|
@@ -29,8 +30,8 @@ __TS__ClassExtends(AbilityField, ObjectField)
|
|
|
29
30
|
function AbilityField.prototype.getObjectDataEntryId(self, instance)
|
|
30
31
|
return instance.typeId
|
|
31
32
|
end
|
|
32
|
-
function AbilityField.prototype.hasNativeFieldValue(self,
|
|
33
|
-
return
|
|
33
|
+
function AbilityField.prototype.hasNativeFieldValue(self, abilityTypeId)
|
|
34
|
+
return abilityTypeHasField(abilityTypeId, self.nativeField)
|
|
34
35
|
end
|
|
35
36
|
__TS__SetDescriptor(
|
|
36
37
|
AbilityField.prototype,
|
|
@@ -197,8 +198,8 @@ __TS__ClassExtends(AbilityArrayField, ObjectArrayField)
|
|
|
197
198
|
function AbilityArrayField.prototype.getObjectDataEntryId(self, instance)
|
|
198
199
|
return instance.typeId
|
|
199
200
|
end
|
|
200
|
-
function AbilityArrayField.prototype.hasNativeFieldValue(self,
|
|
201
|
-
return
|
|
201
|
+
function AbilityArrayField.prototype.hasNativeFieldValue(self, abilityTypeId)
|
|
202
|
+
return abilityTypeHasField(abilityTypeId, self.nativeField)
|
|
202
203
|
end
|
|
203
204
|
__TS__SetDescriptor(
|
|
204
205
|
AbilityArrayField.prototype,
|
|
@@ -269,8 +270,8 @@ end
|
|
|
269
270
|
function AbilityLevelField.prototype.getObjectDataEntryId(self, instance)
|
|
270
271
|
return instance.typeId
|
|
271
272
|
end
|
|
272
|
-
function AbilityLevelField.prototype.hasNativeFieldValue(self,
|
|
273
|
-
return
|
|
273
|
+
function AbilityLevelField.prototype.hasNativeFieldValue(self, abilityTypeId)
|
|
274
|
+
return abilityTypeHasField(abilityTypeId, self.nativeField)
|
|
274
275
|
end
|
|
275
276
|
__TS__SetDescriptor(
|
|
276
277
|
AbilityLevelField.prototype,
|
|
@@ -518,9 +519,9 @@ __TS__SetDescriptor(
|
|
|
518
519
|
)
|
|
519
520
|
____exports.resolveCurrentAbilityDependentValue = function(ability, value)
|
|
520
521
|
if __TS__InstanceOf(value, ____exports.AbilityField) then
|
|
521
|
-
return value:getValue(ability)
|
|
522
|
+
return value:getValue(ability, true)
|
|
522
523
|
elseif __TS__InstanceOf(value, ____exports.AbilityLevelField) then
|
|
523
|
-
return value:getValue(ability, ability.level)
|
|
524
|
+
return value:getValue(ability, ability.level, true)
|
|
524
525
|
elseif type(value) == "function" then
|
|
525
526
|
return value(ability)
|
|
526
527
|
else
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/** @noSelfInFile */
|
|
2
|
+
import { ObjectField } from "../object-field";
|
|
3
|
+
import { Item } from "../internal/item";
|
|
4
|
+
import { ItemType, ItemTypeId } from "../object-data/entry/item-type";
|
|
5
|
+
export declare abstract class ItemField<ValueType extends number | string | boolean = number | string | boolean, NativeFieldType = any> extends ObjectField<ItemType, Item, ValueType, NativeFieldType> {
|
|
6
|
+
protected get instanceClass(): typeof Item;
|
|
7
|
+
protected getObjectDataEntryId(instance: Item): ItemTypeId;
|
|
8
|
+
}
|
|
9
|
+
export declare class ItemBooleanField extends ItemField<boolean, jitembooleanfield> {
|
|
10
|
+
protected get defaultValue(): boolean;
|
|
11
|
+
protected getNativeFieldById(id: number): jitembooleanfield;
|
|
12
|
+
protected hasNativeFieldValue(): boolean;
|
|
13
|
+
protected getNativeFieldValue(instance: Item): boolean;
|
|
14
|
+
protected setNativeFieldValue(instance: Item, value: boolean): boolean;
|
|
15
|
+
}
|
|
16
|
+
export declare class ItemIntegerField extends ItemField<number, jitemintegerfield> {
|
|
17
|
+
protected get defaultValue(): number;
|
|
18
|
+
protected getNativeFieldById(id: number): jitemintegerfield;
|
|
19
|
+
protected hasNativeFieldValue(): boolean;
|
|
20
|
+
protected getNativeFieldValue(instance: Item): number;
|
|
21
|
+
protected setNativeFieldValue(instance: Item, value: number): boolean;
|
|
22
|
+
}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__Class = ____lualib.__TS__Class
|
|
3
|
+
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
|
+
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local ____exports = {}
|
|
6
|
+
local ____object_2Dfield = require("engine.object-field")
|
|
7
|
+
local ObjectField = ____object_2Dfield.ObjectField
|
|
8
|
+
local ____item = require("engine.internal.item")
|
|
9
|
+
local Item = ____item.Item
|
|
10
|
+
local ____lua_2Dsets = require("utility.lua-sets")
|
|
11
|
+
local luaSetOf = ____lua_2Dsets.luaSetOf
|
|
12
|
+
local convertItemBooleanField = ConvertItemBooleanField
|
|
13
|
+
local convertItemIntegerField = ConvertItemIntegerField
|
|
14
|
+
local getItemBooleanField = BlzGetItemBooleanField
|
|
15
|
+
local getItemIntegerField = BlzGetItemIntegerField
|
|
16
|
+
local isItemPawnable = IsItemPawnable
|
|
17
|
+
local isItemPowerup = IsItemPowerup
|
|
18
|
+
local setItemBooleanField = BlzSetItemBooleanField
|
|
19
|
+
local setItemDropOnDeath = SetItemDropOnDeath
|
|
20
|
+
local setItemDroppable = SetItemDroppable
|
|
21
|
+
local setItemPawnable = SetItemPawnable
|
|
22
|
+
local setItemIntegerField = BlzSetItemIntegerField
|
|
23
|
+
____exports.ItemField = __TS__Class()
|
|
24
|
+
local ItemField = ____exports.ItemField
|
|
25
|
+
ItemField.name = "ItemField"
|
|
26
|
+
__TS__ClassExtends(ItemField, ObjectField)
|
|
27
|
+
function ItemField.prototype.getObjectDataEntryId(self, instance)
|
|
28
|
+
return instance.typeId
|
|
29
|
+
end
|
|
30
|
+
__TS__SetDescriptor(
|
|
31
|
+
ItemField.prototype,
|
|
32
|
+
"instanceClass",
|
|
33
|
+
{get = function(self)
|
|
34
|
+
return Item
|
|
35
|
+
end},
|
|
36
|
+
true
|
|
37
|
+
)
|
|
38
|
+
local nativeItemBooleanFieldIds = luaSetOf(
|
|
39
|
+
fourCC("ipaw"),
|
|
40
|
+
fourCC("iusa")
|
|
41
|
+
)
|
|
42
|
+
____exports.ItemBooleanField = __TS__Class()
|
|
43
|
+
local ItemBooleanField = ____exports.ItemBooleanField
|
|
44
|
+
ItemBooleanField.name = "ItemBooleanField"
|
|
45
|
+
__TS__ClassExtends(ItemBooleanField, ____exports.ItemField)
|
|
46
|
+
function ItemBooleanField.prototype.getNativeFieldById(self, id)
|
|
47
|
+
return convertItemBooleanField(id)
|
|
48
|
+
end
|
|
49
|
+
function ItemBooleanField.prototype.hasNativeFieldValue(self)
|
|
50
|
+
return nativeItemBooleanFieldIds[self.id] ~= nil
|
|
51
|
+
end
|
|
52
|
+
function ItemBooleanField.prototype.getNativeFieldValue(self, instance)
|
|
53
|
+
return getItemBooleanField(instance.handle, self.nativeField)
|
|
54
|
+
end
|
|
55
|
+
function ItemBooleanField.prototype.setNativeFieldValue(self, instance, value)
|
|
56
|
+
if self.id == fourCC("iusa") then
|
|
57
|
+
local handle = instance.handle
|
|
58
|
+
local powerUp = isItemPowerup(handle)
|
|
59
|
+
local perishes = getItemBooleanField(handle, ITEM_BF_PERISHABLE)
|
|
60
|
+
local dropsOnDeath = getItemBooleanField(handle, ITEM_BF_DROPPED_WHEN_CARRIER_DIES)
|
|
61
|
+
local canBeDropped = getItemBooleanField(handle, ITEM_BF_CAN_BE_DROPPED)
|
|
62
|
+
local canBeSold = isItemPawnable(handle)
|
|
63
|
+
local result = setItemBooleanField(handle, ITEM_BF_ACTIVELY_USED, value)
|
|
64
|
+
setItemPawnable(handle, canBeSold)
|
|
65
|
+
setItemDroppable(handle, canBeDropped)
|
|
66
|
+
setItemDropOnDeath(handle, dropsOnDeath)
|
|
67
|
+
setItemBooleanField(handle, ITEM_BF_PERISHABLE, perishes)
|
|
68
|
+
setItemBooleanField(handle, ITEM_BF_USE_AUTOMATICALLY_WHEN_ACQUIRED, powerUp)
|
|
69
|
+
return result
|
|
70
|
+
end
|
|
71
|
+
return setItemBooleanField(instance.handle, self.nativeField, value)
|
|
72
|
+
end
|
|
73
|
+
__TS__SetDescriptor(
|
|
74
|
+
ItemBooleanField.prototype,
|
|
75
|
+
"defaultValue",
|
|
76
|
+
{get = function(self)
|
|
77
|
+
return false
|
|
78
|
+
end},
|
|
79
|
+
true
|
|
80
|
+
)
|
|
81
|
+
local nativeItemIntegerFieldIds = luaSetOf(
|
|
82
|
+
fourCC("ilev"),
|
|
83
|
+
fourCC("iuse"),
|
|
84
|
+
fourCC("icid"),
|
|
85
|
+
fourCC("ihtp"),
|
|
86
|
+
fourCC("ihpc"),
|
|
87
|
+
fourCC("ipri"),
|
|
88
|
+
fourCC("iarm"),
|
|
89
|
+
fourCC("iclr"),
|
|
90
|
+
fourCC("iclg"),
|
|
91
|
+
fourCC("iclb"),
|
|
92
|
+
fourCC("ical")
|
|
93
|
+
)
|
|
94
|
+
____exports.ItemIntegerField = __TS__Class()
|
|
95
|
+
local ItemIntegerField = ____exports.ItemIntegerField
|
|
96
|
+
ItemIntegerField.name = "ItemIntegerField"
|
|
97
|
+
__TS__ClassExtends(ItemIntegerField, ____exports.ItemField)
|
|
98
|
+
function ItemIntegerField.prototype.getNativeFieldById(self, id)
|
|
99
|
+
return convertItemIntegerField(id)
|
|
100
|
+
end
|
|
101
|
+
function ItemIntegerField.prototype.hasNativeFieldValue(self)
|
|
102
|
+
return nativeItemIntegerFieldIds[self.id] ~= nil
|
|
103
|
+
end
|
|
104
|
+
function ItemIntegerField.prototype.getNativeFieldValue(self, instance)
|
|
105
|
+
return getItemIntegerField(instance.handle, self.nativeField)
|
|
106
|
+
end
|
|
107
|
+
function ItemIntegerField.prototype.setNativeFieldValue(self, instance, value)
|
|
108
|
+
return setItemIntegerField(instance.handle, self.nativeField, value)
|
|
109
|
+
end
|
|
110
|
+
__TS__SetDescriptor(
|
|
111
|
+
ItemIntegerField.prototype,
|
|
112
|
+
"defaultValue",
|
|
113
|
+
{get = function(self)
|
|
114
|
+
return 0
|
|
115
|
+
end},
|
|
116
|
+
true
|
|
117
|
+
)
|
|
118
|
+
return ____exports
|
|
@@ -1,16 +1,85 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { Unit } from "../internal/unit";
|
|
3
|
-
import { ObjectField } from "../object-field";
|
|
3
|
+
import { ObjectField, ObjectFieldValueChangeEvent, ObjectLevelField, ObjectLevelFieldValueChangeEvent, ReadonlyObjectFieldType, ReadonlyObjectLevelFieldType } from "../object-field";
|
|
4
4
|
import { UnitType, UnitTypeId } from "../object-data/entry/unit-type";
|
|
5
|
+
import { ReadonlyNonEmptyLinkedSet } from "../../utility/linked-set";
|
|
6
|
+
import { AttackType } from "../object-data/auxiliary/attack-type";
|
|
7
|
+
import { UnitClassifications } from "../object-data/auxiliary/unit-classification";
|
|
8
|
+
import { HealthRegenerationType } from "../object-data/auxiliary/health-regeneration-type";
|
|
5
9
|
export declare abstract class UnitField<ValueType extends number | string | boolean = number | string | boolean, NativeFieldType = any> extends ObjectField<UnitType, Unit, ValueType, NativeFieldType> {
|
|
6
10
|
protected get instanceClass(): typeof Unit;
|
|
7
11
|
protected getObjectDataEntryId(instance: Unit): UnitTypeId;
|
|
12
|
+
protected hasNativeFieldValue(): boolean;
|
|
13
|
+
static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<UnitField>>;
|
|
14
|
+
}
|
|
15
|
+
export declare class UnitBooleanField extends UnitField<boolean, junitbooleanfield> {
|
|
16
|
+
protected get defaultValue(): boolean;
|
|
17
|
+
protected getNativeFieldById(id: number): junitbooleanfield;
|
|
18
|
+
protected getNativeFieldValue(instance: Unit): boolean;
|
|
19
|
+
protected setNativeFieldValue(instance: Unit, value: boolean): boolean;
|
|
20
|
+
static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<UnitBooleanField>>;
|
|
21
|
+
}
|
|
22
|
+
export declare class UnitFloatField extends UnitField<number, junitrealfield> {
|
|
23
|
+
protected get defaultValue(): number;
|
|
24
|
+
protected getNativeFieldById(id: number): junitrealfield;
|
|
25
|
+
protected getNativeFieldValue(instance: Unit): number;
|
|
26
|
+
protected setNativeFieldValue(instance: Unit, value: number): boolean;
|
|
27
|
+
static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<UnitFloatField>>;
|
|
28
|
+
}
|
|
29
|
+
export declare class UnitIntegerField<T extends number = number> extends UnitField<T, junitintegerfield> {
|
|
30
|
+
protected get defaultValue(): T;
|
|
31
|
+
protected getNativeFieldById(id: number): junitintegerfield;
|
|
32
|
+
protected getNativeFieldValue(instance: Unit): T;
|
|
33
|
+
protected setNativeFieldValue(instance: Unit, value: T): boolean;
|
|
34
|
+
static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<UnitIntegerField>>;
|
|
8
35
|
}
|
|
9
36
|
export declare class UnitStringField extends UnitField<string, junitstringfield> {
|
|
10
37
|
protected get defaultValue(): string;
|
|
11
38
|
protected getNativeFieldById(id: number): junitstringfield;
|
|
12
|
-
protected hasNativeFieldValue(): boolean;
|
|
13
39
|
protected getNativeFieldValue(instance: Unit): string;
|
|
14
|
-
protected getObjectDataEntryId(instance: Unit): UnitTypeId;
|
|
15
40
|
protected setNativeFieldValue(instance: Unit, value: string): boolean;
|
|
41
|
+
static get valueChangeEvent(): ObjectFieldValueChangeEvent<ReadonlyObjectFieldType<UnitStringField>>;
|
|
42
|
+
}
|
|
43
|
+
type junitweaponfield = junitweaponbooleanfield | junitweaponintegerfield | junitweaponrealfield | junitweaponstringfield;
|
|
44
|
+
export declare abstract class UnitWeaponField<ValueType extends number | string | boolean = number | string | boolean, InputValueType extends ValueType = never, NativeFieldType extends junitweaponfield = junitweaponfield> extends ObjectLevelField<UnitType, Unit, ValueType, InputValueType, NativeFieldType> {
|
|
45
|
+
protected get instanceClass(): typeof Unit;
|
|
46
|
+
protected getLevelCount(): number;
|
|
47
|
+
protected getObjectDataEntryId(instance: Unit): UnitTypeId;
|
|
48
|
+
protected hasNativeFieldValue(): boolean;
|
|
49
|
+
static get valueChangeEvent(): ObjectLevelFieldValueChangeEvent<ReadonlyObjectLevelFieldType<UnitWeaponField>>;
|
|
50
|
+
}
|
|
51
|
+
export declare abstract class UnitNumberWeaponField<NativeFieldType extends junitweaponintegerfield | junitweaponrealfield = junitweaponintegerfield | junitweaponrealfield> extends UnitWeaponField<number, number, NativeFieldType> {
|
|
52
|
+
protected get defaultValue(): number;
|
|
53
|
+
static get valueChangeEvent(): ObjectLevelFieldValueChangeEvent<UnitNumberWeaponField>;
|
|
54
|
+
}
|
|
55
|
+
export declare abstract class UnitEnumWeaponField<T extends number> extends UnitWeaponField<T, T, junitweaponintegerfield> {
|
|
56
|
+
protected abstract values: ReadonlyNonEmptyLinkedSet<T>;
|
|
57
|
+
protected get defaultValue(): T;
|
|
58
|
+
protected getNativeFieldById(id: number): junitweaponintegerfield;
|
|
59
|
+
protected getNativeFieldValue(instance: Unit, index: number): T;
|
|
60
|
+
protected setNativeFieldValue(instance: Unit, index: number, value: T): boolean;
|
|
61
|
+
static get valueChangeEvent(): ObjectLevelFieldValueChangeEvent<UnitEnumWeaponField<number>>;
|
|
62
|
+
}
|
|
63
|
+
export declare class UnitAttackTypeWeaponField extends UnitEnumWeaponField<AttackType> {
|
|
64
|
+
protected values: ReadonlyNonEmptyLinkedSet<AttackType>;
|
|
65
|
+
}
|
|
66
|
+
export declare class UnitClassificationsField extends UnitField<UnitClassifications, junitintegerfield> {
|
|
67
|
+
protected get defaultValue(): UnitClassifications;
|
|
68
|
+
protected getNativeFieldById(id: number): junitintegerfield;
|
|
69
|
+
protected getNativeFieldValue(instance: Unit): UnitClassifications;
|
|
70
|
+
protected setNativeFieldValue(instance: Unit, value: UnitClassifications): boolean;
|
|
71
|
+
}
|
|
72
|
+
export declare class UnitFlyHeightField extends UnitFloatField {
|
|
73
|
+
protected getNativeFieldValue(instance: Unit): number;
|
|
74
|
+
protected setNativeFieldValue(instance: Unit, value: number): boolean;
|
|
75
|
+
}
|
|
76
|
+
export declare class UnitPropulsionWindowField extends UnitFloatField {
|
|
77
|
+
protected getNativeFieldValue(instance: Unit): number;
|
|
78
|
+
protected setNativeFieldValue(instance: Unit, value: number): boolean;
|
|
79
|
+
}
|
|
80
|
+
export declare class UnitHealthRegenerationTypeField extends UnitIntegerField<HealthRegenerationType> {
|
|
81
|
+
}
|
|
82
|
+
export declare class UnitScalingValueField extends UnitFloatField {
|
|
83
|
+
protected setNativeFieldValue(instance: Unit, value: number): boolean;
|
|
16
84
|
}
|
|
85
|
+
export {};
|
|
@@ -2,11 +2,27 @@ local ____lualib = require("lualib_bundle")
|
|
|
2
2
|
local __TS__Class = ____lualib.__TS__Class
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
4
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
|
+
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
5
6
|
local ____exports = {}
|
|
6
7
|
local ____unit = require("engine.internal.unit")
|
|
7
8
|
local Unit = ____unit.Unit
|
|
8
9
|
local ____object_2Dfield = require("engine.object-field")
|
|
9
10
|
local ObjectField = ____object_2Dfield.ObjectField
|
|
11
|
+
local ObjectLevelField = ____object_2Dfield.ObjectLevelField
|
|
12
|
+
local ____linked_2Dset = require("utility.linked-set")
|
|
13
|
+
local nonEmptyLinkedSetOf = ____linked_2Dset.nonEmptyLinkedSetOf
|
|
14
|
+
local convertUnitBooleanField = ConvertUnitBooleanField
|
|
15
|
+
local convertUnitIntegerField = ConvertUnitIntegerField
|
|
16
|
+
local convertUnitRealField = ConvertUnitRealField
|
|
17
|
+
local convertUnitStringField = ConvertUnitStringField
|
|
18
|
+
local convertUnitWeaponIntegerField = ConvertUnitWeaponIntegerField
|
|
19
|
+
local getUnitWeaponIntegerField = BlzGetUnitWeaponIntegerField
|
|
20
|
+
local setUnitWeaponIntegerField = BlzSetUnitWeaponIntegerField
|
|
21
|
+
local getUnitFlyHeight = GetUnitFlyHeight
|
|
22
|
+
local setUnitFlyHeight = SetUnitFlyHeight
|
|
23
|
+
local getUnitPropulsionWindow = GetUnitPropWindow
|
|
24
|
+
local setUnitPropulsionWindow = SetUnitPropWindow
|
|
25
|
+
local setUnitScale = SetUnitScale
|
|
10
26
|
____exports.UnitField = __TS__Class()
|
|
11
27
|
local UnitField = ____exports.UnitField
|
|
12
28
|
UnitField.name = "UnitField"
|
|
@@ -14,6 +30,9 @@ __TS__ClassExtends(UnitField, ObjectField)
|
|
|
14
30
|
function UnitField.prototype.getObjectDataEntryId(self, instance)
|
|
15
31
|
return instance.typeId
|
|
16
32
|
end
|
|
33
|
+
function UnitField.prototype.hasNativeFieldValue(self)
|
|
34
|
+
return true
|
|
35
|
+
end
|
|
17
36
|
__TS__SetDescriptor(
|
|
18
37
|
UnitField.prototype,
|
|
19
38
|
"instanceClass",
|
|
@@ -22,22 +41,107 @@ __TS__SetDescriptor(
|
|
|
22
41
|
end},
|
|
23
42
|
true
|
|
24
43
|
)
|
|
44
|
+
__TS__ObjectDefineProperty(
|
|
45
|
+
UnitField,
|
|
46
|
+
"valueChangeEvent",
|
|
47
|
+
{get = function(self)
|
|
48
|
+
return self:getOrCreateValueChangeEvent()
|
|
49
|
+
end}
|
|
50
|
+
)
|
|
51
|
+
____exports.UnitBooleanField = __TS__Class()
|
|
52
|
+
local UnitBooleanField = ____exports.UnitBooleanField
|
|
53
|
+
UnitBooleanField.name = "UnitBooleanField"
|
|
54
|
+
__TS__ClassExtends(UnitBooleanField, ____exports.UnitField)
|
|
55
|
+
function UnitBooleanField.prototype.getNativeFieldById(self, id)
|
|
56
|
+
return convertUnitBooleanField(id)
|
|
57
|
+
end
|
|
58
|
+
function UnitBooleanField.prototype.getNativeFieldValue(self, instance)
|
|
59
|
+
return instance:getField(self.nativeField)
|
|
60
|
+
end
|
|
61
|
+
function UnitBooleanField.prototype.setNativeFieldValue(self, instance, value)
|
|
62
|
+
return instance:setField(self.nativeField, value)
|
|
63
|
+
end
|
|
64
|
+
__TS__SetDescriptor(
|
|
65
|
+
UnitBooleanField.prototype,
|
|
66
|
+
"defaultValue",
|
|
67
|
+
{get = function(self)
|
|
68
|
+
return false
|
|
69
|
+
end},
|
|
70
|
+
true
|
|
71
|
+
)
|
|
72
|
+
__TS__ObjectDefineProperty(
|
|
73
|
+
UnitBooleanField,
|
|
74
|
+
"valueChangeEvent",
|
|
75
|
+
{get = function(self)
|
|
76
|
+
return self:getOrCreateValueChangeEvent()
|
|
77
|
+
end}
|
|
78
|
+
)
|
|
79
|
+
____exports.UnitFloatField = __TS__Class()
|
|
80
|
+
local UnitFloatField = ____exports.UnitFloatField
|
|
81
|
+
UnitFloatField.name = "UnitFloatField"
|
|
82
|
+
__TS__ClassExtends(UnitFloatField, ____exports.UnitField)
|
|
83
|
+
function UnitFloatField.prototype.getNativeFieldById(self, id)
|
|
84
|
+
return convertUnitRealField(id)
|
|
85
|
+
end
|
|
86
|
+
function UnitFloatField.prototype.getNativeFieldValue(self, instance)
|
|
87
|
+
return instance:getField(self.nativeField)
|
|
88
|
+
end
|
|
89
|
+
function UnitFloatField.prototype.setNativeFieldValue(self, instance, value)
|
|
90
|
+
return instance:setField(self.nativeField, value)
|
|
91
|
+
end
|
|
92
|
+
__TS__SetDescriptor(
|
|
93
|
+
UnitFloatField.prototype,
|
|
94
|
+
"defaultValue",
|
|
95
|
+
{get = function(self)
|
|
96
|
+
return 0
|
|
97
|
+
end},
|
|
98
|
+
true
|
|
99
|
+
)
|
|
100
|
+
__TS__ObjectDefineProperty(
|
|
101
|
+
UnitFloatField,
|
|
102
|
+
"valueChangeEvent",
|
|
103
|
+
{get = function(self)
|
|
104
|
+
return self:getOrCreateValueChangeEvent()
|
|
105
|
+
end}
|
|
106
|
+
)
|
|
107
|
+
____exports.UnitIntegerField = __TS__Class()
|
|
108
|
+
local UnitIntegerField = ____exports.UnitIntegerField
|
|
109
|
+
UnitIntegerField.name = "UnitIntegerField"
|
|
110
|
+
__TS__ClassExtends(UnitIntegerField, ____exports.UnitField)
|
|
111
|
+
function UnitIntegerField.prototype.getNativeFieldById(self, id)
|
|
112
|
+
return convertUnitIntegerField(id)
|
|
113
|
+
end
|
|
114
|
+
function UnitIntegerField.prototype.getNativeFieldValue(self, instance)
|
|
115
|
+
return instance:getField(self.nativeField)
|
|
116
|
+
end
|
|
117
|
+
function UnitIntegerField.prototype.setNativeFieldValue(self, instance, value)
|
|
118
|
+
return instance:setField(self.nativeField, value)
|
|
119
|
+
end
|
|
120
|
+
__TS__SetDescriptor(
|
|
121
|
+
UnitIntegerField.prototype,
|
|
122
|
+
"defaultValue",
|
|
123
|
+
{get = function(self)
|
|
124
|
+
return 0
|
|
125
|
+
end},
|
|
126
|
+
true
|
|
127
|
+
)
|
|
128
|
+
__TS__ObjectDefineProperty(
|
|
129
|
+
UnitIntegerField,
|
|
130
|
+
"valueChangeEvent",
|
|
131
|
+
{get = function(self)
|
|
132
|
+
return self:getOrCreateValueChangeEvent()
|
|
133
|
+
end}
|
|
134
|
+
)
|
|
25
135
|
____exports.UnitStringField = __TS__Class()
|
|
26
136
|
local UnitStringField = ____exports.UnitStringField
|
|
27
137
|
UnitStringField.name = "UnitStringField"
|
|
28
138
|
__TS__ClassExtends(UnitStringField, ____exports.UnitField)
|
|
29
139
|
function UnitStringField.prototype.getNativeFieldById(self, id)
|
|
30
|
-
return
|
|
31
|
-
end
|
|
32
|
-
function UnitStringField.prototype.hasNativeFieldValue(self)
|
|
33
|
-
return true
|
|
140
|
+
return convertUnitStringField(id)
|
|
34
141
|
end
|
|
35
142
|
function UnitStringField.prototype.getNativeFieldValue(self, instance)
|
|
36
143
|
return instance:getField(self.nativeField)
|
|
37
144
|
end
|
|
38
|
-
function UnitStringField.prototype.getObjectDataEntryId(self, instance)
|
|
39
|
-
return instance.typeId
|
|
40
|
-
end
|
|
41
145
|
function UnitStringField.prototype.setNativeFieldValue(self, instance, value)
|
|
42
146
|
return instance:setField(self.nativeField, value)
|
|
43
147
|
end
|
|
@@ -49,4 +153,161 @@ __TS__SetDescriptor(
|
|
|
49
153
|
end},
|
|
50
154
|
true
|
|
51
155
|
)
|
|
156
|
+
__TS__ObjectDefineProperty(
|
|
157
|
+
UnitStringField,
|
|
158
|
+
"valueChangeEvent",
|
|
159
|
+
{get = function(self)
|
|
160
|
+
return self:getOrCreateValueChangeEvent()
|
|
161
|
+
end}
|
|
162
|
+
)
|
|
163
|
+
____exports.UnitWeaponField = __TS__Class()
|
|
164
|
+
local UnitWeaponField = ____exports.UnitWeaponField
|
|
165
|
+
UnitWeaponField.name = "UnitWeaponField"
|
|
166
|
+
__TS__ClassExtends(UnitWeaponField, ObjectLevelField)
|
|
167
|
+
function UnitWeaponField.prototype.getLevelCount(self)
|
|
168
|
+
return 2
|
|
169
|
+
end
|
|
170
|
+
function UnitWeaponField.prototype.getObjectDataEntryId(self, instance)
|
|
171
|
+
return instance.typeId
|
|
172
|
+
end
|
|
173
|
+
function UnitWeaponField.prototype.hasNativeFieldValue(self)
|
|
174
|
+
return true
|
|
175
|
+
end
|
|
176
|
+
__TS__SetDescriptor(
|
|
177
|
+
UnitWeaponField.prototype,
|
|
178
|
+
"instanceClass",
|
|
179
|
+
{get = function(self)
|
|
180
|
+
return Unit
|
|
181
|
+
end},
|
|
182
|
+
true
|
|
183
|
+
)
|
|
184
|
+
__TS__ObjectDefineProperty(
|
|
185
|
+
UnitWeaponField,
|
|
186
|
+
"valueChangeEvent",
|
|
187
|
+
{get = function(self)
|
|
188
|
+
return self:getOrCreateValueChangeEvent()
|
|
189
|
+
end}
|
|
190
|
+
)
|
|
191
|
+
____exports.UnitNumberWeaponField = __TS__Class()
|
|
192
|
+
local UnitNumberWeaponField = ____exports.UnitNumberWeaponField
|
|
193
|
+
UnitNumberWeaponField.name = "UnitNumberWeaponField"
|
|
194
|
+
__TS__ClassExtends(UnitNumberWeaponField, ____exports.UnitWeaponField)
|
|
195
|
+
__TS__SetDescriptor(
|
|
196
|
+
UnitNumberWeaponField.prototype,
|
|
197
|
+
"defaultValue",
|
|
198
|
+
{get = function(self)
|
|
199
|
+
return 0
|
|
200
|
+
end},
|
|
201
|
+
true
|
|
202
|
+
)
|
|
203
|
+
__TS__ObjectDefineProperty(
|
|
204
|
+
UnitNumberWeaponField,
|
|
205
|
+
"valueChangeEvent",
|
|
206
|
+
{get = function(self)
|
|
207
|
+
return self:getOrCreateValueChangeEvent()
|
|
208
|
+
end}
|
|
209
|
+
)
|
|
210
|
+
____exports.UnitEnumWeaponField = __TS__Class()
|
|
211
|
+
local UnitEnumWeaponField = ____exports.UnitEnumWeaponField
|
|
212
|
+
UnitEnumWeaponField.name = "UnitEnumWeaponField"
|
|
213
|
+
__TS__ClassExtends(UnitEnumWeaponField, ____exports.UnitWeaponField)
|
|
214
|
+
function UnitEnumWeaponField.prototype.getNativeFieldById(self, id)
|
|
215
|
+
return convertUnitWeaponIntegerField(id)
|
|
216
|
+
end
|
|
217
|
+
function UnitEnumWeaponField.prototype.getNativeFieldValue(self, instance, index)
|
|
218
|
+
local value = getUnitWeaponIntegerField(instance.handle, self.nativeField, index)
|
|
219
|
+
if self.values:contains(value) then
|
|
220
|
+
return value
|
|
221
|
+
end
|
|
222
|
+
return self.values:first()
|
|
223
|
+
end
|
|
224
|
+
function UnitEnumWeaponField.prototype.setNativeFieldValue(self, instance, index, value)
|
|
225
|
+
return setUnitWeaponIntegerField(instance.handle, self.nativeField, index, value)
|
|
226
|
+
end
|
|
227
|
+
__TS__SetDescriptor(
|
|
228
|
+
UnitEnumWeaponField.prototype,
|
|
229
|
+
"defaultValue",
|
|
230
|
+
{get = function(self)
|
|
231
|
+
return self.values:first()
|
|
232
|
+
end},
|
|
233
|
+
true
|
|
234
|
+
)
|
|
235
|
+
__TS__ObjectDefineProperty(
|
|
236
|
+
UnitEnumWeaponField,
|
|
237
|
+
"valueChangeEvent",
|
|
238
|
+
{get = function(self)
|
|
239
|
+
return self:getOrCreateValueChangeEvent()
|
|
240
|
+
end}
|
|
241
|
+
)
|
|
242
|
+
____exports.UnitAttackTypeWeaponField = __TS__Class()
|
|
243
|
+
local UnitAttackTypeWeaponField = ____exports.UnitAttackTypeWeaponField
|
|
244
|
+
UnitAttackTypeWeaponField.name = "UnitAttackTypeWeaponField"
|
|
245
|
+
__TS__ClassExtends(UnitAttackTypeWeaponField, ____exports.UnitEnumWeaponField)
|
|
246
|
+
function UnitAttackTypeWeaponField.prototype.____constructor(self, ...)
|
|
247
|
+
UnitAttackTypeWeaponField.____super.prototype.____constructor(self, ...)
|
|
248
|
+
self.values = nonEmptyLinkedSetOf(
|
|
249
|
+
1,
|
|
250
|
+
2,
|
|
251
|
+
3,
|
|
252
|
+
0,
|
|
253
|
+
5,
|
|
254
|
+
4,
|
|
255
|
+
6
|
|
256
|
+
)
|
|
257
|
+
end
|
|
258
|
+
____exports.UnitClassificationsField = __TS__Class()
|
|
259
|
+
local UnitClassificationsField = ____exports.UnitClassificationsField
|
|
260
|
+
UnitClassificationsField.name = "UnitClassificationsField"
|
|
261
|
+
__TS__ClassExtends(UnitClassificationsField, ____exports.UnitField)
|
|
262
|
+
function UnitClassificationsField.prototype.getNativeFieldById(self, id)
|
|
263
|
+
return convertUnitIntegerField(id)
|
|
264
|
+
end
|
|
265
|
+
function UnitClassificationsField.prototype.getNativeFieldValue(self, instance)
|
|
266
|
+
return instance:getField(self.nativeField)
|
|
267
|
+
end
|
|
268
|
+
function UnitClassificationsField.prototype.setNativeFieldValue(self, instance, value)
|
|
269
|
+
return instance:setField(self.nativeField, value)
|
|
270
|
+
end
|
|
271
|
+
__TS__SetDescriptor(
|
|
272
|
+
UnitClassificationsField.prototype,
|
|
273
|
+
"defaultValue",
|
|
274
|
+
{get = function(self)
|
|
275
|
+
return 0
|
|
276
|
+
end},
|
|
277
|
+
true
|
|
278
|
+
)
|
|
279
|
+
____exports.UnitFlyHeightField = __TS__Class()
|
|
280
|
+
local UnitFlyHeightField = ____exports.UnitFlyHeightField
|
|
281
|
+
UnitFlyHeightField.name = "UnitFlyHeightField"
|
|
282
|
+
__TS__ClassExtends(UnitFlyHeightField, ____exports.UnitFloatField)
|
|
283
|
+
function UnitFlyHeightField.prototype.getNativeFieldValue(self, instance)
|
|
284
|
+
return getUnitFlyHeight(instance.handle)
|
|
285
|
+
end
|
|
286
|
+
function UnitFlyHeightField.prototype.setNativeFieldValue(self, instance, value)
|
|
287
|
+
setUnitFlyHeight(instance.handle, value, 100000)
|
|
288
|
+
return true
|
|
289
|
+
end
|
|
290
|
+
____exports.UnitPropulsionWindowField = __TS__Class()
|
|
291
|
+
local UnitPropulsionWindowField = ____exports.UnitPropulsionWindowField
|
|
292
|
+
UnitPropulsionWindowField.name = "UnitPropulsionWindowField"
|
|
293
|
+
__TS__ClassExtends(UnitPropulsionWindowField, ____exports.UnitFloatField)
|
|
294
|
+
function UnitPropulsionWindowField.prototype.getNativeFieldValue(self, instance)
|
|
295
|
+
return getUnitPropulsionWindow(instance.handle)
|
|
296
|
+
end
|
|
297
|
+
function UnitPropulsionWindowField.prototype.setNativeFieldValue(self, instance, value)
|
|
298
|
+
setUnitPropulsionWindow(instance.handle, value)
|
|
299
|
+
return true
|
|
300
|
+
end
|
|
301
|
+
____exports.UnitHealthRegenerationTypeField = __TS__Class()
|
|
302
|
+
local UnitHealthRegenerationTypeField = ____exports.UnitHealthRegenerationTypeField
|
|
303
|
+
UnitHealthRegenerationTypeField.name = "UnitHealthRegenerationTypeField"
|
|
304
|
+
__TS__ClassExtends(UnitHealthRegenerationTypeField, ____exports.UnitIntegerField)
|
|
305
|
+
____exports.UnitScalingValueField = __TS__Class()
|
|
306
|
+
local UnitScalingValueField = ____exports.UnitScalingValueField
|
|
307
|
+
UnitScalingValueField.name = "UnitScalingValueField"
|
|
308
|
+
__TS__ClassExtends(UnitScalingValueField, ____exports.UnitFloatField)
|
|
309
|
+
function UnitScalingValueField.prototype.setNativeFieldValue(self, instance, value)
|
|
310
|
+
setUnitScale(instance.handle, value, value, value)
|
|
311
|
+
return UnitScalingValueField.____super.prototype.setNativeFieldValue(self, instance, value)
|
|
312
|
+
end
|
|
52
313
|
return ____exports
|