warscript 0.0.1-dev.6745db1 → 0.0.1-dev.6817452
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 +1 -0
- package/attributes.lua +9 -0
- package/core/dummy.lua +4 -2
- package/core/types/effect.d.ts +11 -1
- package/core/types/effect.lua +43 -77
- package/core/types/frame.d.ts +1 -0
- package/core/types/frame.lua +126 -46
- 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 +73 -25
- package/core/types/playerCamera.lua +44 -0
- package/core/types/playerColor.lua +4 -3
- package/core/types/sound.d.ts +1 -1
- package/core/types/sound.lua +14 -9
- package/core/types/tileCell.d.ts +11 -1
- package/core/types/tileCell.lua +97 -0
- package/core/types/timer.d.ts +3 -2
- package/core/types/timer.lua +22 -2
- package/core/types/unit.d.ts +5 -0
- package/core/types/unit.lua +5 -0
- package/core/util.d.ts +3 -1
- package/core/util.lua +109 -3
- package/decl/native.d.ts +707 -9
- package/destroyable.d.ts +1 -0
- package/destroyable.lua +9 -0
- package/engine/behavior.d.ts +12 -1
- package/engine/behavior.lua +199 -65
- package/engine/behaviour/ability/apply-buff.lua +4 -4
- package/engine/behaviour/ability/apply-unit-behavior.lua +5 -0
- package/engine/behaviour/ability/damage.d.ts +4 -0
- package/engine/behaviour/ability/damage.lua +19 -15
- package/engine/behaviour/ability/emulate-impact.lua +5 -4
- package/engine/behaviour/ability/on-command-impact.d.ts +1 -0
- package/engine/behaviour/ability/on-command-impact.lua +1 -0
- package/engine/behaviour/ability/remove-buffs.d.ts +9 -0
- package/engine/behaviour/ability/remove-buffs.lua +21 -0
- package/engine/behaviour/ability.d.ts +13 -6
- package/engine/behaviour/ability.lua +56 -1
- package/engine/behaviour/unit/stun-immunity.d.ts +9 -5
- package/engine/behaviour/unit/stun-immunity.lua +17 -7
- package/engine/behaviour/unit.d.ts +16 -5
- package/engine/behaviour/unit.lua +127 -22
- package/engine/buff.d.ts +73 -27
- package/engine/buff.lua +424 -193
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +7 -1
- package/engine/internal/ability.lua +82 -45
- package/engine/internal/item/fields.d.ts +12 -0
- package/engine/internal/item/fields.lua +33 -0
- package/engine/internal/item/owner-cache.d.ts +5 -0
- package/engine/internal/item/owner-cache.lua +4 -0
- package/engine/internal/item+owner.d.ts +2 -0
- package/engine/internal/item+owner.lua +27 -4
- package/engine/internal/item.d.ts +27 -14
- package/engine/internal/item.lua +180 -82
- package/engine/internal/mechanics/cast-ability.lua +6 -3
- package/engine/internal/misc/unit-ability-level-natives.lua +12 -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/health-regeneration-rate-increase.d.ts +2 -0
- package/engine/internal/object-data/health-regeneration-rate-increase.lua +48 -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 +14 -14
- package/engine/internal/unit/ability.lua +86 -47
- package/engine/internal/unit/add-item-to-slot-init.lua +3 -14
- package/engine/internal/unit/add-item-to-slot.lua +53 -12
- 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/bonus.d.ts +14 -0
- package/engine/internal/unit/bonus.lua +102 -8
- package/engine/internal/unit/buff.d.ts +2 -2
- package/engine/internal/unit/buff.lua +34 -19
- package/engine/internal/unit/equipment-inventory.d.ts +44 -0
- package/engine/internal/unit/equipment-inventory.lua +233 -0
- package/engine/internal/unit/expiration-timer.lua +1 -1
- package/engine/internal/unit/extended-inventory.d.ts +25 -0
- package/engine/internal/unit/extended-inventory.lua +99 -0
- 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.lua +10 -1
- 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} +7 -3
- package/engine/internal/unit/inventory.lua +87 -0
- package/engine/internal/unit/item-container.d.ts +25 -0
- package/engine/internal/unit/item-container.lua +11 -0
- package/engine/internal/unit/item-order-events.d.ts +17 -0
- package/engine/internal/unit/item-order-events.lua +67 -0
- package/engine/internal/unit/item-slot.d.ts +27 -0
- package/engine/internal/unit/item-slot.lua +92 -0
- package/engine/internal/unit/main-selected.lua +12 -27
- package/engine/internal/unit/order.d.ts +3 -3
- package/engine/internal/unit/order.lua +10 -10
- 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.d.ts +2 -1
- package/engine/internal/unit+ability.lua +63 -2
- package/engine/internal/unit+bonus.lua +3 -3
- package/engine/internal/unit+damage.d.ts +9 -0
- package/engine/internal/unit+damage.lua +33 -0
- package/engine/internal/unit+rally.lua +9 -31
- package/engine/internal/unit-missile-data.lua +58 -32
- package/engine/internal/unit-missile-launch.lua +64 -33
- package/engine/internal/unit.d.ts +18 -30
- package/engine/internal/unit.lua +188 -269
- package/engine/local-client.d.ts +28 -0
- package/engine/local-client.lua +324 -54
- 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 +12 -0
- package/engine/object-data/auxiliary/equipment-type.lua +26 -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-class.d.ts +11 -0
- package/engine/object-data/auxiliary/item-class.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/order-type.d.ts +939 -0
- package/engine/object-data/auxiliary/order-type.lua +2 -0
- package/engine/object-data/auxiliary/sound-set-name.d.ts +14 -3
- package/engine/object-data/auxiliary/unit-attribute.lua +1 -1
- 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/aura-of-blight.d.ts +13 -0
- package/engine/object-data/entry/ability-type/aura-of-blight.lua +39 -0
- 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/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/healing-ward-aura.d.ts +13 -0
- package/engine/object-data/entry/ability-type/healing-ward-aura.lua +39 -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/item-life-regeneration.d.ts +10 -0
- package/engine/object-data/entry/ability-type/item-life-regeneration.lua +26 -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/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/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 +141 -5
- package/engine/object-data/entry/buff-type/applicable.lua +113 -109
- package/engine/object-data/entry/buff-type.d.ts +6 -2
- package/engine/object-data/entry/buff-type.lua +26 -0
- 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 +18 -3
- package/engine/object-data/entry/item-type.lua +84 -0
- package/engine/object-data/entry/lightning-type.d.ts +6 -8
- package/engine/object-data/entry/lightning-type.lua +1 -1
- package/engine/object-data/entry/sound-preset.d.ts +2 -2
- package/engine/object-data/entry/unit-type.d.ts +51 -2
- package/engine/object-data/entry/unit-type.lua +415 -37
- package/engine/object-data/entry/upgrade.d.ts +2 -2
- package/engine/object-data/entry.d.ts +6 -1
- package/engine/object-data/entry.lua +8 -0
- package/engine/object-field/ability.d.ts +3 -3
- 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 +20 -5
- package/engine/object-field/unit.lua +61 -0
- package/engine/object-field.d.ts +12 -4
- package/engine/object-field.lua +273 -126
- 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/item-type.d.ts +1299 -0
- package/engine/standard/entries/item-type.lua +2 -0
- package/engine/standard/entries/lightning-type.d.ts +42 -15
- package/engine/standard/entries/lightning-type.lua +0 -14
- 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 +11 -3
- package/engine/standard/fields/unit.lua +15 -2
- package/engine/synchronization.d.ts +11 -0
- package/engine/synchronization.lua +77 -0
- package/engine/text-tag.lua +3 -2
- 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 -9
- 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 +1 -0
- package/utility/arrays.lua +8 -0
- package/utility/callback-array.d.ts +17 -0
- package/utility/callback-array.lua +61 -0
- package/utility/linked-map.d.ts +35 -0
- package/utility/linked-map.lua +107 -0
- package/utility/linked-set.d.ts +4 -1
- package/utility/linked-set.lua +46 -1
- package/utility/lua-maps.d.ts +11 -2
- package/utility/lua-maps.lua +33 -2
- 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/engine/internal/unit/item.lua +0 -78
- /package/engine/internal/{object-data/armor-increase.d.ts → misc/unit-ability-level-natives.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
package/engine/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
|
-
import { Handle } from "../../core/types/handle";
|
|
2
|
+
import { Handle, HandleDestructor } from "../../core/types/handle";
|
|
3
3
|
import { Event } from "../../event";
|
|
4
4
|
import type { Item } from "../../core/types/item";
|
|
5
5
|
import type { Unit } from "./unit";
|
|
@@ -64,9 +64,14 @@ export declare class UnitAbility extends Ability {
|
|
|
64
64
|
get isDisabled(): boolean;
|
|
65
65
|
get level(): number;
|
|
66
66
|
set level(v: number);
|
|
67
|
+
/** Uses the native percentage scale. */
|
|
68
|
+
get cooldownRemainingPercent(): number;
|
|
69
|
+
set cooldownRemainingPercent(percent: number);
|
|
67
70
|
get cooldownRemaining(): number;
|
|
68
71
|
set cooldownRemaining(cooldownRemaining: number);
|
|
72
|
+
startCooldown(cooldown: number): void;
|
|
69
73
|
interruptCast(): void;
|
|
74
|
+
protected onDestroy(): HandleDestructor;
|
|
70
75
|
static get onCreate(): Event<[UnitAbility]>;
|
|
71
76
|
static get onDestroy(): Event<[UnitAbility]>;
|
|
72
77
|
}
|
|
@@ -93,6 +98,7 @@ export declare class ItemAbility extends Ability {
|
|
|
93
98
|
get cooldownRemaining(): number;
|
|
94
99
|
set cooldownRemaining(cooldownRemaining: number);
|
|
95
100
|
interruptCast(): void;
|
|
101
|
+
protected onDestroy(): HandleDestructor;
|
|
96
102
|
static get onCreate(): Event<[ItemAbility]>;
|
|
97
103
|
static get onDestroy(): Event<[ItemAbility]>;
|
|
98
104
|
}
|
|
@@ -14,31 +14,34 @@ local abilityActionDummy = ____ability.abilityActionDummy
|
|
|
14
14
|
local doAbilityAction = ____ability.doAbilityAction
|
|
15
15
|
local doAbilityActionForceDummy = ____ability.doAbilityActionForceDummy
|
|
16
16
|
local startItemCooldown = ____ability.startItemCooldown
|
|
17
|
-
local
|
|
18
|
-
local
|
|
19
|
-
local setAbilityIntegerField = BlzSetAbilityIntegerField
|
|
20
|
-
local setAbilityRealField = BlzSetAbilityRealField
|
|
21
|
-
local setAbilityBooleanField = BlzSetAbilityBooleanField
|
|
22
|
-
local setAbilityStringField = BlzSetAbilityStringField
|
|
23
|
-
local setAbilityIntegerLevelField = BlzSetAbilityIntegerLevelField
|
|
24
|
-
local setAbilityRealLevelField = BlzSetAbilityRealLevelField
|
|
25
|
-
local setAbilityBooleanLevelField = BlzSetAbilityBooleanLevelField
|
|
26
|
-
local setAbilityStringLevelField = BlzSetAbilityStringLevelField
|
|
27
|
-
local getAbilityIntegerField = BlzGetAbilityIntegerField
|
|
28
|
-
local getAbilityRealField = BlzGetAbilityRealField
|
|
17
|
+
local ____unit_2Dability_2Dlevel_2Dnatives = require("engine.internal.misc.unit-ability-level-natives")
|
|
18
|
+
local rawSetUnitAbilityLevel = ____unit_2Dability_2Dlevel_2Dnatives.rawSetUnitAbilityLevel
|
|
29
19
|
local getAbilityBooleanField = BlzGetAbilityBooleanField
|
|
30
|
-
local
|
|
20
|
+
local getAbilityBooleanLevelField = BlzGetAbilityBooleanLevelField
|
|
21
|
+
local getAbilityIntegerField = BlzGetAbilityIntegerField
|
|
31
22
|
local getAbilityIntegerLevelField = BlzGetAbilityIntegerLevelField
|
|
23
|
+
local getAbilityRealField = BlzGetAbilityRealField
|
|
32
24
|
local getAbilityRealLevelField = BlzGetAbilityRealLevelField
|
|
33
|
-
local
|
|
25
|
+
local getAbilityStringField = BlzGetAbilityStringField
|
|
34
26
|
local getAbilityStringLevelField = BlzGetAbilityStringLevelField
|
|
27
|
+
local getHandleId = GetHandleId
|
|
28
|
+
local getUnitAbilityCooldownPercent = BlzGetUnitAbilityCooldownPercent
|
|
35
29
|
local getUnitAbilityCooldownRemaining = BlzGetUnitAbilityCooldownRemaining
|
|
30
|
+
local getUnitAbilityLevel = GetUnitAbilityLevel
|
|
31
|
+
local order2orderId = _G.OrderId
|
|
32
|
+
local setAbilityBooleanField = BlzSetAbilityBooleanField
|
|
33
|
+
local setAbilityBooleanLevelField = BlzSetAbilityBooleanLevelField
|
|
34
|
+
local setAbilityIntegerField = BlzSetAbilityIntegerField
|
|
35
|
+
local setAbilityIntegerLevelField = BlzSetAbilityIntegerLevelField
|
|
36
|
+
local setAbilityRealField = BlzSetAbilityRealField
|
|
37
|
+
local setAbilityRealLevelField = BlzSetAbilityRealLevelField
|
|
38
|
+
local setAbilityStringField = BlzSetAbilityStringField
|
|
39
|
+
local setAbilityStringLevelField = BlzSetAbilityStringLevelField
|
|
40
|
+
local setUnitAbilityCooldownPercent = BlzSetUnitAbilityCooldownPercent
|
|
41
|
+
local setUnitAbilityCooldownRemaining = BlzSetUnitAbilityCooldownRemaining
|
|
36
42
|
local startUnitAbilityCooldown = BlzStartUnitAbilityCooldown
|
|
37
|
-
local getHandleId = GetHandleId
|
|
38
|
-
local getItemBooleanField = BlzGetItemBooleanField
|
|
39
|
-
local setItemBooleanField = BlzSetItemBooleanField
|
|
40
|
-
local unitHideAbility = BlzUnitHideAbility
|
|
41
43
|
local unitDisableAbility = BlzUnitDisableAbility
|
|
44
|
+
local unitHideAbility = BlzUnitHideAbility
|
|
42
45
|
local match = string.match
|
|
43
46
|
local ____type = _G.type
|
|
44
47
|
local ____tostring = _G.tostring
|
|
@@ -215,7 +218,6 @@ local levelRefreshFields = {
|
|
|
215
218
|
[fourCC("Neg1")] = true
|
|
216
219
|
}
|
|
217
220
|
local levelsField = ABILITY_IF_LEVELS
|
|
218
|
-
local order2orderId = _G.OrderId
|
|
219
221
|
local orderIdFieldByParentTypeId = {
|
|
220
222
|
[fourCC("ANcl")] = ABILITY_SLF_BASE_ORDER_ID_NCL6,
|
|
221
223
|
[fourCC("Aspb")] = ABILITY_SLF_BASE_ORDER_ID_SPB5,
|
|
@@ -232,6 +234,19 @@ ____exports.getOrderIdByAbilityTypeId = function(abilityTypeId)
|
|
|
232
234
|
local parentTypeId = availableFields[abilityTypeId]
|
|
233
235
|
return order2orderId(orders[____type(parentTypeId) == "number" and parentTypeId or abilityTypeId] or "")
|
|
234
236
|
end
|
|
237
|
+
---
|
|
238
|
+
-- @internal For use by internal systems only.
|
|
239
|
+
____exports.abilityTypeHasField = function(abilityTypeId, field)
|
|
240
|
+
field = ____type(field) == "number" and field or getHandleId(field)
|
|
241
|
+
if commonFields[field] then
|
|
242
|
+
return true
|
|
243
|
+
end
|
|
244
|
+
local id = availableFields[abilityTypeId]
|
|
245
|
+
if ____type(id) == "number" then
|
|
246
|
+
id = availableFields[id]
|
|
247
|
+
end
|
|
248
|
+
return not not (id and id[field])
|
|
249
|
+
end
|
|
235
250
|
____exports.Ability = __TS__Class()
|
|
236
251
|
local Ability = ____exports.Ability
|
|
237
252
|
Ability.name = "Ability"
|
|
@@ -247,15 +262,7 @@ function Ability.prototype.getSnapshot(self)
|
|
|
247
262
|
return nil
|
|
248
263
|
end
|
|
249
264
|
function Ability.prototype.hasField(self, field)
|
|
250
|
-
|
|
251
|
-
if commonFields[field] then
|
|
252
|
-
return true
|
|
253
|
-
end
|
|
254
|
-
local id = availableFields[self.typeId]
|
|
255
|
-
if ____type(id) == "number" then
|
|
256
|
-
id = availableFields[id]
|
|
257
|
-
end
|
|
258
|
-
return not not (id and id[field])
|
|
265
|
+
return ____exports.abilityTypeHasField(self.typeId, field)
|
|
259
266
|
end
|
|
260
267
|
function Ability.prototype.getField(self, field, level)
|
|
261
268
|
local fieldType = match(
|
|
@@ -283,8 +290,8 @@ function Ability.prototype.setField(self, field, levelOrValue, value)
|
|
|
283
290
|
local levels = getAbilityIntegerField(ability, levelsField)
|
|
284
291
|
setAbilityIntegerField(ability, levelsField, levels + 1)
|
|
285
292
|
local level = getUnitAbilityLevel(unit, typeId)
|
|
286
|
-
|
|
287
|
-
|
|
293
|
+
rawSetUnitAbilityLevel(unit, typeId, levels + 1)
|
|
294
|
+
rawSetUnitAbilityLevel(unit, typeId, level)
|
|
288
295
|
setAbilityIntegerField(ability, levelsField, levels)
|
|
289
296
|
end
|
|
290
297
|
return success
|
|
@@ -417,9 +424,18 @@ function UnitAbility.prototype.decrementDisableCounter(self)
|
|
|
417
424
|
unitHideAbility(unit, typeId, true)
|
|
418
425
|
self.d = (self.d or 0) - 1
|
|
419
426
|
end
|
|
427
|
+
function UnitAbility.prototype.startCooldown(self, cooldown)
|
|
428
|
+
startUnitAbilityCooldown(self.u, self.typeId, cooldown)
|
|
429
|
+
end
|
|
420
430
|
function UnitAbility.prototype.interruptCast(self)
|
|
421
431
|
self.owner:interruptCast(self.typeId)
|
|
422
432
|
end
|
|
433
|
+
function UnitAbility.prototype.onDestroy(self)
|
|
434
|
+
if self.owner.state ~= 2 then
|
|
435
|
+
self.owner:removeAbility(self.typeId)
|
|
436
|
+
end
|
|
437
|
+
return UnitAbility.____super.prototype.onDestroy(self)
|
|
438
|
+
end
|
|
423
439
|
__TS__SetDescriptor(
|
|
424
440
|
UnitAbility.prototype,
|
|
425
441
|
"isDisabled",
|
|
@@ -436,7 +452,20 @@ __TS__SetDescriptor(
|
|
|
436
452
|
return getUnitAbilityLevel(self.u, self.typeId) - 1
|
|
437
453
|
end,
|
|
438
454
|
set = function(self, v)
|
|
439
|
-
|
|
455
|
+
SetUnitAbilityLevel(self.u, self.typeId, v + 1)
|
|
456
|
+
end
|
|
457
|
+
},
|
|
458
|
+
true
|
|
459
|
+
)
|
|
460
|
+
__TS__SetDescriptor(
|
|
461
|
+
UnitAbility.prototype,
|
|
462
|
+
"cooldownRemainingPercent",
|
|
463
|
+
{
|
|
464
|
+
get = function(self)
|
|
465
|
+
return getUnitAbilityCooldownPercent(self.u, self.typeId)
|
|
466
|
+
end,
|
|
467
|
+
set = function(self, percent)
|
|
468
|
+
setUnitAbilityCooldownPercent(self.u, self.typeId, percent)
|
|
440
469
|
end
|
|
441
470
|
},
|
|
442
471
|
true
|
|
@@ -449,7 +478,7 @@ __TS__SetDescriptor(
|
|
|
449
478
|
return getUnitAbilityCooldownRemaining(self.u, self.typeId)
|
|
450
479
|
end,
|
|
451
480
|
set = function(self, cooldownRemaining)
|
|
452
|
-
|
|
481
|
+
setUnitAbilityCooldownRemaining(self.u, self.typeId, cooldownRemaining)
|
|
453
482
|
end
|
|
454
483
|
},
|
|
455
484
|
true
|
|
@@ -505,12 +534,20 @@ function ItemAbility.prototype.setField(self, field, levelOrValue, value)
|
|
|
505
534
|
)
|
|
506
535
|
end
|
|
507
536
|
function ItemAbility.prototype.interruptCast(self)
|
|
508
|
-
local
|
|
509
|
-
local
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
537
|
+
local item = self.owner
|
|
538
|
+
local itemHandle = item.handle
|
|
539
|
+
local ____opt_1 = item.owner
|
|
540
|
+
local itemOwnerHandle = ____opt_1 and ____opt_1.handle
|
|
541
|
+
local cooldownRemaining = doAbilityActionForceDummy(itemHandle, itemOwnerHandle, getAbilityCooldown, self.typeId)
|
|
542
|
+
if cooldownRemaining == 0 then
|
|
543
|
+
startItemCooldown(itemHandle, itemOwnerHandle, 0.015625)
|
|
544
|
+
end
|
|
545
|
+
end
|
|
546
|
+
function ItemAbility.prototype.onDestroy(self)
|
|
547
|
+
if self.owner.state ~= 2 then
|
|
548
|
+
self.owner:removeAbility(self.typeId)
|
|
513
549
|
end
|
|
550
|
+
return ItemAbility.____super.prototype.onDestroy(self)
|
|
514
551
|
end
|
|
515
552
|
__TS__SetDescriptor(
|
|
516
553
|
ItemAbility.prototype,
|
|
@@ -526,17 +563,17 @@ __TS__SetDescriptor(
|
|
|
526
563
|
{
|
|
527
564
|
get = function(self)
|
|
528
565
|
local item = self.owner
|
|
529
|
-
local
|
|
530
|
-
local
|
|
531
|
-
local
|
|
532
|
-
return
|
|
566
|
+
local ____doAbilityActionForceDummy_6 = doAbilityActionForceDummy
|
|
567
|
+
local ____item_handle_5 = item.handle
|
|
568
|
+
local ____opt_3 = item.owner
|
|
569
|
+
return ____doAbilityActionForceDummy_6(____item_handle_5, ____opt_3 and ____opt_3.handle, getAbilityCooldown, self.typeId)
|
|
533
570
|
end,
|
|
534
571
|
set = function(self, cooldownRemaining)
|
|
535
572
|
local item = self.owner
|
|
536
|
-
local
|
|
537
|
-
local
|
|
538
|
-
local
|
|
539
|
-
|
|
573
|
+
local ____startItemCooldown_10 = startItemCooldown
|
|
574
|
+
local ____item_handle_9 = item.handle
|
|
575
|
+
local ____opt_7 = item.owner
|
|
576
|
+
____startItemCooldown_10(____item_handle_9, ____opt_7 and ____opt_7.handle, cooldownRemaining)
|
|
540
577
|
end
|
|
541
578
|
},
|
|
542
579
|
true
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
local ____lualib = require("lualib_bundle")
|
|
2
|
+
local __TS__ObjectDefineProperty = ____lualib.__TS__ObjectDefineProperty
|
|
3
|
+
local ____exports = {}
|
|
4
|
+
local ____item = require("engine.internal.item")
|
|
5
|
+
local Item = ____item.Item
|
|
6
|
+
local ____item = require("engine.standard.fields.item")
|
|
7
|
+
local CAN_BE_SOLD_TO_MERCHANTS_ITEM_FIELD = ____item.CAN_BE_SOLD_TO_MERCHANTS_ITEM_FIELD
|
|
8
|
+
local IS_ACTIVELY_USED_ITEM_FIELD = ____item.IS_ACTIVELY_USED_ITEM_FIELD
|
|
9
|
+
__TS__ObjectDefineProperty(
|
|
10
|
+
Item.prototype,
|
|
11
|
+
"canBeSold",
|
|
12
|
+
{
|
|
13
|
+
get = function(self)
|
|
14
|
+
return CAN_BE_SOLD_TO_MERCHANTS_ITEM_FIELD:getValue(self)
|
|
15
|
+
end,
|
|
16
|
+
set = function(self, value)
|
|
17
|
+
CAN_BE_SOLD_TO_MERCHANTS_ITEM_FIELD:setValue(self, value)
|
|
18
|
+
end
|
|
19
|
+
}
|
|
20
|
+
)
|
|
21
|
+
__TS__ObjectDefineProperty(
|
|
22
|
+
Item.prototype,
|
|
23
|
+
"isActivelyUsed",
|
|
24
|
+
{
|
|
25
|
+
get = function(self)
|
|
26
|
+
return IS_ACTIVELY_USED_ITEM_FIELD:getValue(self)
|
|
27
|
+
end,
|
|
28
|
+
set = function(self, value)
|
|
29
|
+
IS_ACTIVELY_USED_ITEM_FIELD:setValue(self, value)
|
|
30
|
+
end
|
|
31
|
+
}
|
|
32
|
+
)
|
|
33
|
+
return ____exports
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
/** @noSelfInFile */
|
|
2
2
|
import { Unit } from "./unit";
|
|
3
|
+
import "./unit/equipment-inventory";
|
|
3
4
|
declare module "./item" {
|
|
4
5
|
interface Item {
|
|
6
|
+
/** The unit carrying the item in any of its inventories (regular, extended or equipment), if any. */
|
|
5
7
|
readonly owner?: Unit;
|
|
6
8
|
}
|
|
7
9
|
}
|
|
@@ -5,15 +5,33 @@ local ____item = require("engine.internal.item")
|
|
|
5
5
|
local Item = ____item.Item
|
|
6
6
|
local ____unit = require("engine.internal.unit")
|
|
7
7
|
local Unit = ____unit.Unit
|
|
8
|
-
|
|
8
|
+
require("engine.internal.unit.equipment-inventory")
|
|
9
|
+
local ____owner_2Dcache = require("engine.internal.item.owner-cache")
|
|
10
|
+
local ownerByItem = ____owner_2Dcache.ownerByItem
|
|
11
|
+
local ____item_2Dcontainer = require("engine.internal.unit.item-container")
|
|
12
|
+
local unitOwnsItem = ____item_2Dcontainer.unitOwnsItem
|
|
9
13
|
Unit.itemPickedUpEvent:addListener(
|
|
10
|
-
|
|
14
|
+
999999,
|
|
11
15
|
function(unit, item)
|
|
12
16
|
ownerByItem[item] = unit
|
|
13
17
|
end
|
|
14
18
|
)
|
|
19
|
+
Unit.itemEquippedEvent:addListener(
|
|
20
|
+
999999,
|
|
21
|
+
function(unit, item)
|
|
22
|
+
ownerByItem[item] = unit
|
|
23
|
+
end
|
|
24
|
+
)
|
|
25
|
+
Unit.itemUnequippedEvent:addListener(
|
|
26
|
+
999999,
|
|
27
|
+
function(unit, item)
|
|
28
|
+
if not unitOwnsItem(unit.handle, item.handle) then
|
|
29
|
+
ownerByItem[item] = nil
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
)
|
|
15
33
|
Unit.itemDroppedEvent:addListener(
|
|
16
|
-
|
|
34
|
+
999999,
|
|
17
35
|
function(unit, item)
|
|
18
36
|
ownerByItem[item] = nil
|
|
19
37
|
end
|
|
@@ -22,7 +40,12 @@ __TS__ObjectDefineProperty(
|
|
|
22
40
|
Item.prototype,
|
|
23
41
|
"owner",
|
|
24
42
|
{get = function(self)
|
|
25
|
-
|
|
43
|
+
local owner = ownerByItem[self]
|
|
44
|
+
if owner ~= nil and not unitOwnsItem(owner.handle, self.handle) then
|
|
45
|
+
ownerByItem[self] = nil
|
|
46
|
+
return nil
|
|
47
|
+
end
|
|
48
|
+
return owner
|
|
26
49
|
end}
|
|
27
50
|
)
|
|
28
51
|
return ____exports
|
|
@@ -2,6 +2,9 @@
|
|
|
2
2
|
import { Handle, HandleDestructor } from "../../core/types/handle";
|
|
3
3
|
import { Color } from "../../core/types/color";
|
|
4
4
|
import { Event } from "../../event";
|
|
5
|
+
import { PlayerColor } from "../../core/types/playerColor";
|
|
6
|
+
import { EquipmentType } from "../object-data/auxiliary/equipment-type";
|
|
7
|
+
import { ItemTag } from "../object-data/auxiliary/item-tag";
|
|
5
8
|
import { ReadonlyRect } from "../../core/types/rect";
|
|
6
9
|
import { ItemAbility } from "./ability";
|
|
7
10
|
import { AbilityTypeId } from "../object-data/entry/ability-type";
|
|
@@ -9,14 +12,27 @@ import type { ItemTypeId } from "../object-data/entry/item-type";
|
|
|
9
12
|
type DefenseType = 0 | 1 | 2 | 3 | 4 | 5;
|
|
10
13
|
declare const enum ItemPropertyKey {
|
|
11
14
|
ABILITIES = 100,
|
|
12
|
-
|
|
15
|
+
DEATH_TRIGGER = 101,
|
|
16
|
+
COLOR = 102
|
|
13
17
|
}
|
|
14
18
|
export declare class Item extends Handle<jitem> {
|
|
15
19
|
private readonly [ItemPropertyKey.ABILITIES];
|
|
16
|
-
private readonly [ItemPropertyKey.
|
|
20
|
+
private readonly [ItemPropertyKey.DEATH_TRIGGER];
|
|
21
|
+
private [ItemPropertyKey.COLOR]?;
|
|
17
22
|
constructor(handle: jitem);
|
|
18
23
|
protected onDestroy(): HandleDestructor;
|
|
19
24
|
static create<T extends Item>(this: typeof Item & (new (handle: jitem) => T), id: number, x: number, y: number, skinId?: number): T;
|
|
25
|
+
/** Whether the item is owned by a unit, i.e. carried in any of its inventories (regular, extended or equipment). */
|
|
26
|
+
get isOwned(): boolean;
|
|
27
|
+
/** Whether the item is carried in a unit's (regular) inventory, as opposed to its extended or equipment inventory. */
|
|
28
|
+
get isInInventory(): boolean;
|
|
29
|
+
get isInExtendedInventory(): boolean;
|
|
30
|
+
get isInEquipmentInventory(): boolean;
|
|
31
|
+
get equipmentType(): EquipmentType;
|
|
32
|
+
get tag(): ItemTag;
|
|
33
|
+
get color(): PlayerColor;
|
|
34
|
+
set color(color: PlayerColor);
|
|
35
|
+
static getRandomTypeId(level: number, equipmentType?: EquipmentType | undefined, tag?: ItemTag, itemType?: jitemtype): ItemTypeId | undefined;
|
|
20
36
|
get typeId(): ItemTypeId;
|
|
21
37
|
set skinId(v: number);
|
|
22
38
|
get skinId(): number;
|
|
@@ -30,22 +46,18 @@ export declare class Item extends Handle<jitem> {
|
|
|
30
46
|
get extendedTooltip(): string;
|
|
31
47
|
set iconPath(v: string);
|
|
32
48
|
get iconPath(): string;
|
|
33
|
-
set
|
|
34
|
-
get
|
|
35
|
-
set
|
|
36
|
-
get
|
|
37
|
-
set
|
|
38
|
-
get
|
|
39
|
-
set
|
|
40
|
-
get
|
|
41
|
-
set powerup(v: boolean);
|
|
42
|
-
get powerup(): boolean;
|
|
49
|
+
set dropsOnDeath(dropsOnDeath: boolean);
|
|
50
|
+
get dropsOnDeath(): boolean;
|
|
51
|
+
set canBeDropped(canBeDropped: boolean);
|
|
52
|
+
get canBeDropped(): boolean;
|
|
53
|
+
set perishes(perishes: boolean);
|
|
54
|
+
get perishes(): boolean;
|
|
55
|
+
set isPowerUp(isPowerUp: boolean);
|
|
56
|
+
get isPowerUp(): boolean;
|
|
43
57
|
get isAlive(): boolean;
|
|
44
58
|
get isDead(): boolean;
|
|
45
59
|
set isInvulnerable(isInvulnerable: boolean);
|
|
46
60
|
get isInvulnerable(): boolean;
|
|
47
|
-
set usable(v: boolean);
|
|
48
|
-
get usable(): boolean;
|
|
49
61
|
set visible(v: boolean);
|
|
50
62
|
get visible(): boolean;
|
|
51
63
|
set level(v: number);
|
|
@@ -84,6 +96,7 @@ export declare class Item extends Handle<jitem> {
|
|
|
84
96
|
static getInRect(rect: ReadonlyRect): Item[];
|
|
85
97
|
static get onCreate(): Event<[Item]>;
|
|
86
98
|
static get destroyEvent(): Event<[Item]>;
|
|
99
|
+
static readonly deathEvent: Event<[Item]>;
|
|
87
100
|
static readonly chargesChangedEvent: Event<[Item]>;
|
|
88
101
|
}
|
|
89
102
|
export {};
|