warscript 0.0.1-dev.5abc199 → 0.0.1-dev.5bc80ec
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/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 +16 -2
- package/core/types/frame.lua +128 -67
- 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/missile.lua +7 -6
- package/core/types/player.d.ts +2 -1
- package/core/types/player.lua +18 -13
- 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 +7 -2
- package/core/types/tileCell.lua +11 -0
- 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 +706 -7
- package/engine/ability-type-extended-tooltip.d.ts +8 -0
- package/engine/ability-type-extended-tooltip.lua +44 -0
- 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.d.ts +14 -0
- package/engine/behaviour/ability/emulate-impact.lua +79 -5
- package/engine/behaviour/ability/instant-impact.d.ts +12 -1
- package/engine/behaviour/ability/instant-impact.lua +17 -2
- 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.d.ts +13 -5
- package/engine/behaviour/ability.lua +89 -8
- package/engine/behaviour/unit.d.ts +1 -0
- package/engine/behaviour/unit.lua +1 -0
- package/engine/buff.d.ts +92 -53
- package/engine/buff.lua +427 -246
- package/engine/index.d.ts +2 -1
- package/engine/internal/ability.d.ts +7 -0
- package/engine/internal/ability.lua +65 -36
- 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 +20 -5
- package/engine/internal/item.lua +146 -57
- 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/returned-melee-damage-factor.d.ts +2 -0
- package/engine/internal/object-data/returned-melee-damage-factor.lua +21 -0
- package/engine/internal/unit/ability.lua +16 -0
- 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/bonus.d.ts +15 -0
- package/engine/internal/unit/bonus.lua +103 -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/ignore-events-items.lua +10 -1
- 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/order.d.ts +3 -3
- package/engine/internal/unit/order.lua +10 -10
- package/engine/internal/unit+ability.d.ts +2 -1
- package/engine/internal/unit+ability.lua +73 -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 +13 -13
- package/engine/internal/unit.d.ts +2 -10
- package/engine/internal/unit.lua +53 -100
- package/engine/local-client.d.ts +26 -0
- package/engine/local-client.lua +294 -54
- package/engine/object-data/auxiliary/attachment-preset.d.ts +7 -0
- package/engine/object-data/auxiliary/attachment-preset.lua +7 -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 +12 -0
- package/engine/object-data/auxiliary/equipment-type.lua +26 -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/barrage.d.ts +12 -0
- package/engine/object-data/entry/ability-type/barrage.lua +52 -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.lua +2 -2
- package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.d.ts +23 -0
- package/engine/object-data/entry/ability-type/blank-passive-with-cooldown.lua +112 -0
- package/engine/object-data/entry/ability-type/blank-passive.d.ts +4 -0
- package/engine/object-data/entry/ability-type/blank-passive.lua +27 -7
- package/engine/object-data/entry/ability-type/breath-of-fire.d.ts +11 -0
- package/engine/object-data/entry/ability-type/breath-of-fire.lua +27 -0
- package/engine/object-data/entry/ability-type/channel.d.ts +2 -2
- package/engine/object-data/entry/ability-type/channel.lua +3 -3
- 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/exhume-corpses.d.ts +14 -0
- package/engine/object-data/entry/ability-type/exhume-corpses.lua +40 -0
- package/engine/object-data/entry/ability-type/firebolt.d.ts +7 -0
- package/engine/object-data/entry/ability-type/firebolt.lua +13 -0
- package/engine/object-data/entry/ability-type/flame-strike.d.ts +25 -0
- package/engine/object-data/entry/ability-type/flame-strike.lua +92 -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/life-drain.d.ts +37 -0
- package/engine/object-data/entry/ability-type/life-drain.lua +144 -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/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/rain-of-fire.d.ts +7 -0
- package/engine/object-data/entry/ability-type/rain-of-fire.lua +13 -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/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-burn.d.ts +22 -0
- package/engine/object-data/entry/ability-type/soul-burn.lua +79 -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 +33 -8
- package/engine/object-data/entry/ability-type.lua +259 -47
- package/engine/object-data/entry/buff-type/applicable.lua +122 -111
- 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 +6 -2
- package/engine/object-data/entry/destructible-type.lua +26 -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 +57 -2
- package/engine/object-data/entry/unit-type.lua +412 -64
- 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.lua +2 -2
- package/engine/object-field/item.d.ts +22 -0
- package/engine/object-field/item.lua +118 -0
- package/engine/object-field.d.ts +1 -1
- package/engine/object-field.lua +9 -7
- package/engine/random.lua +1 -1
- 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 +45 -0
- package/engine/standard/entries/buff-type.lua +43 -0
- 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/unit.d.ts +5 -1
- package/engine/unit.lua +5 -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/network.lua +25 -1
- package/objutil/buff.lua +1 -1
- package/objutil/object.lua +1 -1
- package/operation.d.ts +8 -1
- package/operation.lua +38 -18
- package/package.json +3 -23
- package/utility/arrays.d.ts +7 -1
- package/utility/arrays.lua +17 -0
- package/utility/linked-map.d.ts +2 -1
- package/utility/linked-map.lua +6 -0
- package/utility/linked-set.d.ts +1 -0
- package/utility/linked-set.lua +6 -0
- package/utility/random.d.ts +102 -0
- package/utility/random.lua +273 -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
|
@@ -3,17 +3,18 @@ import "../../internal/unit/ability";
|
|
|
3
3
|
import { TupleOf } from "../../../utility/types";
|
|
4
4
|
import { AnimationName } from "../auxiliary/animation-name";
|
|
5
5
|
import { AnimationQualifier } from "../auxiliary/animation-qualifier";
|
|
6
|
-
import { AttachmentPresetInput, EffectPresetWithParameters, EffectPresetWithParametersInput } from "../auxiliary/attachment-preset";
|
|
6
|
+
import { AttachmentPoint, AttachmentPointInput, AttachmentPresetInput, EffectPresetWithParameters, EffectPresetWithParametersInput } from "../auxiliary/attachment-preset";
|
|
7
7
|
import { CombatClassifications } from "../auxiliary/combat-classification";
|
|
8
8
|
import { Race } from "../auxiliary/race";
|
|
9
9
|
import { TechTreeDependency, TechTreeDependencyInput } from "../auxiliary/tech-tree-dependency";
|
|
10
|
-
import { ObjectDataEntry,
|
|
10
|
+
import { ObjectDataEntry, CustomObjectDataEntryId, ObjectDataEntryLevelFieldValueSupplier } from "../entry";
|
|
11
11
|
import { BuffTypeId } from "./buff-type";
|
|
12
12
|
import { LightningTypeId } from "./lightning-type";
|
|
13
13
|
import { SoundPresetId } from "./sound-preset";
|
|
14
|
-
|
|
14
|
+
import { StandardAbilityTypeId } from "../../standard/entries/ability-type";
|
|
15
|
+
export type AbilityTypeId = (CustomObjectDataEntryId & number & {
|
|
15
16
|
readonly __abilityTypeId: unique symbol;
|
|
16
|
-
};
|
|
17
|
+
}) | StandardAbilityTypeId;
|
|
17
18
|
export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId> {
|
|
18
19
|
private static readonly idGenerator;
|
|
19
20
|
protected static generateId(): number;
|
|
@@ -31,16 +32,24 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
31
32
|
set casterCastingEffectPresets(casterCastingEffectPresets: EffectPresetWithParametersInput[]);
|
|
32
33
|
get casterChannelingEffectPresets(): EffectPresetWithParameters[];
|
|
33
34
|
set casterChannelingEffectPresets(casterChannelingEffectPresets: EffectPresetWithParametersInput[]);
|
|
34
|
-
get
|
|
35
|
-
set
|
|
35
|
+
get casterEffectPresets(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2>;
|
|
36
|
+
set casterEffectPresets(casterEffectPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2>);
|
|
36
37
|
get effectModelPaths(): string[];
|
|
37
38
|
set effectModelPaths(effectModelPaths: string[]);
|
|
39
|
+
get effectModelPathsSD(): string[];
|
|
40
|
+
set effectModelPathsSD(effectModelPathsSD: string[]);
|
|
41
|
+
get effectModelPathsHD(): string[];
|
|
42
|
+
set effectModelPathsHD(effectModelPathsHD: string[]);
|
|
43
|
+
get effectModelPathsDE(): string[];
|
|
44
|
+
set effectModelPathsDE(effectModelPathsDE: string[]);
|
|
38
45
|
get iconPath(): string;
|
|
39
46
|
set iconPath(iconPath: string);
|
|
40
47
|
get iconPathSD(): string;
|
|
41
48
|
set iconPathSD(iconPathSD: string);
|
|
42
49
|
get iconPathHD(): string;
|
|
43
50
|
set iconPathHD(iconPathHD: string);
|
|
51
|
+
get iconPathDE(): string;
|
|
52
|
+
set iconPathDE(iconPathDE: string);
|
|
44
53
|
get isButtonVisible(): boolean;
|
|
45
54
|
set isButtonVisible(isButtonVisible: boolean);
|
|
46
55
|
get isMissileHoming(): boolean;
|
|
@@ -59,22 +68,36 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
59
68
|
set missileModelPathSD(missileModelPathSD: string);
|
|
60
69
|
get missileModelPathHD(): string;
|
|
61
70
|
set missileModelPathHD(missileModelPathHD: string);
|
|
71
|
+
get missileModelPathDE(): string;
|
|
72
|
+
set missileModelPathDE(missileModelPathDE: string);
|
|
62
73
|
get missileMovementArc(): number;
|
|
63
74
|
set missileMovementArc(missileMovementArc: number);
|
|
64
75
|
get missileMovementSpeed(): number;
|
|
65
76
|
set missileMovementSpeed(missileMovementSpeed: number);
|
|
66
|
-
|
|
67
|
-
|
|
77
|
+
/** Model paths of the special art (`asat`); Flame Strike, for one, uses three. */
|
|
78
|
+
get specialEffectModelPaths(): string[];
|
|
79
|
+
set specialEffectModelPaths(specialEffectModelPaths: string[]);
|
|
80
|
+
/** Where the special art attaches (`aspt`), shared by all its models. */
|
|
81
|
+
get specialEffectAttachmentPoint(): AttachmentPoint;
|
|
82
|
+
set specialEffectAttachmentPoint(specialEffectAttachmentPoint: AttachmentPointInput);
|
|
68
83
|
get targetCastingEffectPresets(): EffectPresetWithParameters[];
|
|
69
84
|
set targetCastingEffectPresets(targetCastingEffectPresets: AttachmentPresetInput[]);
|
|
70
85
|
get targetChannelingEffectPresets(): EffectPresetWithParameters[];
|
|
71
86
|
set targetChannelingEffectPresets(targetChannelingEffectPresets: EffectPresetWithParametersInput[]);
|
|
87
|
+
get targetChannelingEffectPresetsSD(): EffectPresetWithParameters[];
|
|
88
|
+
set targetChannelingEffectPresetsSD(targetChannelingEffectPresetsSD: EffectPresetWithParametersInput[]);
|
|
89
|
+
get targetChannelingEffectPresetsHD(): EffectPresetWithParameters[];
|
|
90
|
+
set targetChannelingEffectPresetsHD(targetChannelingEffectPresetsHD: EffectPresetWithParametersInput[]);
|
|
91
|
+
get targetChannelingEffectPresetsDE(): EffectPresetWithParameters[];
|
|
92
|
+
set targetChannelingEffectPresetsDE(targetChannelingEffectPresetsDE: EffectPresetWithParametersInput[]);
|
|
72
93
|
get targetEffectPresets(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
73
94
|
set targetEffectPresets(targetEffectPresets: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
74
95
|
get targetEffectPresetsSD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
75
96
|
set targetEffectPresetsSD(targetEffectPresetsSD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
76
97
|
get targetEffectPresetsHD(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
77
98
|
set targetEffectPresetsHD(targetEffectPresetsHD: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
99
|
+
get targetEffectPresetsDE(): TupleOf<EffectPresetWithParameters, 0 | 1 | 2 | 3 | 4 | 5 | 6>;
|
|
100
|
+
set targetEffectPresetsDE(targetEffectPresetsDE: TupleOf<AttachmentPresetInput, 0 | 1 | 2 | 3 | 4 | 5 | 6>);
|
|
78
101
|
get turnOffButtonPositionX(): number;
|
|
79
102
|
set turnOffButtonPositionX(buttonPositionX: number);
|
|
80
103
|
get turnOffButtonPositionY(): number;
|
|
@@ -137,6 +160,8 @@ export declare abstract class AbilityType extends ObjectDataEntry<AbilityTypeId>
|
|
|
137
160
|
set effectBuffTypeIds(effectBuffTypeIds: ObjectDataEntryLevelFieldValueSupplier<BuffTypeId[]>);
|
|
138
161
|
get heroBuffDuration(): number[];
|
|
139
162
|
set heroBuffDuration(heroBuffDuration: ObjectDataEntryLevelFieldValueSupplier<number>);
|
|
163
|
+
get isHeroAbility(): boolean;
|
|
164
|
+
set isHeroAbility(isHeroAbility: boolean);
|
|
140
165
|
get learnLevelMinimum(): number;
|
|
141
166
|
set learnLevelMinimum(learnLevelMinimum: number);
|
|
142
167
|
get learnLevelStep(): number;
|
|
@@ -3,6 +3,7 @@ local __TS__Class = ____lualib.__TS__Class
|
|
|
3
3
|
local __TS__ClassExtends = ____lualib.__TS__ClassExtends
|
|
4
4
|
local __TS__SetDescriptor = ____lualib.__TS__SetDescriptor
|
|
5
5
|
local __TS__InstanceOf = ____lualib.__TS__InstanceOf
|
|
6
|
+
local __TS__ArraySome = ____lualib.__TS__ArraySome
|
|
6
7
|
local ____exports = {}
|
|
7
8
|
local ____unit = require("engine.internal.unit")
|
|
8
9
|
local Unit = ____unit.Unit
|
|
@@ -18,8 +19,10 @@ local array = ____arrays.array
|
|
|
18
19
|
local map = ____arrays.map
|
|
19
20
|
local mapIndexed = ____arrays.mapIndexed
|
|
20
21
|
local ____attachment_2Dpreset = require("engine.object-data.auxiliary.attachment-preset")
|
|
22
|
+
local attachmentPointToNodeFQN = ____attachment_2Dpreset.attachmentPointToNodeFQN
|
|
21
23
|
local extractAttachmentPresetInputModelPath = ____attachment_2Dpreset.extractAttachmentPresetInputModelPath
|
|
22
24
|
local extractAttachmentPresetInputNodeFQN = ____attachment_2Dpreset.extractAttachmentPresetInputNodeFQN
|
|
25
|
+
local splitAttachmentNodeFQN = ____attachment_2Dpreset.splitAttachmentNodeFQN
|
|
23
26
|
local toEffectPreset = ____attachment_2Dpreset.toEffectPreset
|
|
24
27
|
local ____combat_2Dclassification = require("engine.object-data.auxiliary.combat-classification")
|
|
25
28
|
local combatClassificationsToStringArray = ____combat_2Dclassification.combatClassificationsToStringArray
|
|
@@ -40,12 +43,17 @@ local Sound3D = ____sound.Sound3D
|
|
|
40
43
|
local SoundSettings = ____sound.SoundSettings
|
|
41
44
|
local ____lua_2Dsets = require("utility.lua-sets")
|
|
42
45
|
local luaSetOf = ____lua_2Dsets.luaSetOf
|
|
46
|
+
local ____local_2Dclient = require("engine.local-client")
|
|
47
|
+
local LocalClient = ____local_2Dclient.LocalClient
|
|
43
48
|
local castAnimationFQNByAbilityTypeId = {}
|
|
44
49
|
local isButtonVisibleFalseAbilityTypes = {}
|
|
45
50
|
local casterCastingEffectPresetsByAbilityTypeId = {}
|
|
46
51
|
local casterChannelingEffectPresetsByAbilityTypeId = {}
|
|
47
52
|
local targetCastingEffectPresetsByAbilityTypeId = {}
|
|
48
53
|
local targetChannelingEffectPresetsByAbilityTypeId = {}
|
|
54
|
+
local targetChannelingEffectPresetsSDByAbilityTypeId = {}
|
|
55
|
+
local targetChannelingEffectPresetsHDByAbilityTypeId = {}
|
|
56
|
+
local targetChannelingEffectPresetsDEByAbilityTypeId = {}
|
|
49
57
|
local targetEffectSoundPresetByAbilityTypeId = {}
|
|
50
58
|
____exports.AbilityType = __TS__Class()
|
|
51
59
|
local AbilityType = ____exports.AbilityType
|
|
@@ -142,13 +150,13 @@ __TS__SetDescriptor(
|
|
|
142
150
|
)
|
|
143
151
|
__TS__SetDescriptor(
|
|
144
152
|
AbilityType.prototype,
|
|
145
|
-
"
|
|
153
|
+
"casterEffectPresets",
|
|
146
154
|
{
|
|
147
155
|
get = function(self)
|
|
148
156
|
return self:getAttachmentPresetListField("acat", {"acap", "aca1"})
|
|
149
157
|
end,
|
|
150
|
-
set = function(self,
|
|
151
|
-
self:setAttachmentPresetListField("acat", {"acap", "aca1"}, "acac",
|
|
158
|
+
set = function(self, casterEffectPresets)
|
|
159
|
+
self:setAttachmentPresetListField("acat", {"acap", "aca1"}, "acac", casterEffectPresets)
|
|
152
160
|
end
|
|
153
161
|
},
|
|
154
162
|
true
|
|
@@ -166,6 +174,45 @@ __TS__SetDescriptor(
|
|
|
166
174
|
},
|
|
167
175
|
true
|
|
168
176
|
)
|
|
177
|
+
__TS__SetDescriptor(
|
|
178
|
+
AbilityType.prototype,
|
|
179
|
+
"effectModelPathsSD",
|
|
180
|
+
{
|
|
181
|
+
get = function(self)
|
|
182
|
+
return self:getStringsField("aeat:sd")
|
|
183
|
+
end,
|
|
184
|
+
set = function(self, effectModelPathsSD)
|
|
185
|
+
self:setStringsField("aeat:sd", effectModelPathsSD)
|
|
186
|
+
end
|
|
187
|
+
},
|
|
188
|
+
true
|
|
189
|
+
)
|
|
190
|
+
__TS__SetDescriptor(
|
|
191
|
+
AbilityType.prototype,
|
|
192
|
+
"effectModelPathsHD",
|
|
193
|
+
{
|
|
194
|
+
get = function(self)
|
|
195
|
+
return self:getStringsField("aeat:hd")
|
|
196
|
+
end,
|
|
197
|
+
set = function(self, effectModelPathsHD)
|
|
198
|
+
self:setStringsField("aeat:hd", effectModelPathsHD)
|
|
199
|
+
end
|
|
200
|
+
},
|
|
201
|
+
true
|
|
202
|
+
)
|
|
203
|
+
__TS__SetDescriptor(
|
|
204
|
+
AbilityType.prototype,
|
|
205
|
+
"effectModelPathsDE",
|
|
206
|
+
{
|
|
207
|
+
get = function(self)
|
|
208
|
+
return self:getStringsField("aeat:de")
|
|
209
|
+
end,
|
|
210
|
+
set = function(self, effectModelPathsDE)
|
|
211
|
+
self:setStringsField("aeat:de", effectModelPathsDE)
|
|
212
|
+
end
|
|
213
|
+
},
|
|
214
|
+
true
|
|
215
|
+
)
|
|
169
216
|
__TS__SetDescriptor(
|
|
170
217
|
AbilityType.prototype,
|
|
171
218
|
"iconPath",
|
|
@@ -205,6 +252,19 @@ __TS__SetDescriptor(
|
|
|
205
252
|
},
|
|
206
253
|
true
|
|
207
254
|
)
|
|
255
|
+
__TS__SetDescriptor(
|
|
256
|
+
AbilityType.prototype,
|
|
257
|
+
"iconPathDE",
|
|
258
|
+
{
|
|
259
|
+
get = function(self)
|
|
260
|
+
return self:getStringField("aart:de")
|
|
261
|
+
end,
|
|
262
|
+
set = function(self, iconPathDE)
|
|
263
|
+
self:setStringField("aart:de", iconPathDE)
|
|
264
|
+
end
|
|
265
|
+
},
|
|
266
|
+
true
|
|
267
|
+
)
|
|
208
268
|
__TS__SetDescriptor(
|
|
209
269
|
AbilityType.prototype,
|
|
210
270
|
"isButtonVisible",
|
|
@@ -327,6 +387,19 @@ __TS__SetDescriptor(
|
|
|
327
387
|
},
|
|
328
388
|
true
|
|
329
389
|
)
|
|
390
|
+
__TS__SetDescriptor(
|
|
391
|
+
AbilityType.prototype,
|
|
392
|
+
"missileModelPathDE",
|
|
393
|
+
{
|
|
394
|
+
get = function(self)
|
|
395
|
+
return self:getStringField("amat:de")
|
|
396
|
+
end,
|
|
397
|
+
set = function(self, missileModelPathDE)
|
|
398
|
+
self:setStringField("amat:de", missileModelPathDE)
|
|
399
|
+
end
|
|
400
|
+
},
|
|
401
|
+
true
|
|
402
|
+
)
|
|
330
403
|
__TS__SetDescriptor(
|
|
331
404
|
AbilityType.prototype,
|
|
332
405
|
"missileMovementArc",
|
|
@@ -355,13 +428,30 @@ __TS__SetDescriptor(
|
|
|
355
428
|
)
|
|
356
429
|
__TS__SetDescriptor(
|
|
357
430
|
AbilityType.prototype,
|
|
358
|
-
"
|
|
431
|
+
"specialEffectModelPaths",
|
|
432
|
+
{
|
|
433
|
+
get = function(self)
|
|
434
|
+
return self:getStringsField("asat")
|
|
435
|
+
end,
|
|
436
|
+
set = function(self, specialEffectModelPaths)
|
|
437
|
+
self:setStringsField("asat", specialEffectModelPaths)
|
|
438
|
+
end
|
|
439
|
+
},
|
|
440
|
+
true
|
|
441
|
+
)
|
|
442
|
+
__TS__SetDescriptor(
|
|
443
|
+
AbilityType.prototype,
|
|
444
|
+
"specialEffectAttachmentPoint",
|
|
359
445
|
{
|
|
360
446
|
get = function(self)
|
|
361
|
-
|
|
447
|
+
local nodeName, nodeQualifiers = splitAttachmentNodeFQN(self:getStringField("aspt"))
|
|
448
|
+
return {nodeName = nodeName, nodeQualifiers = nodeQualifiers}
|
|
362
449
|
end,
|
|
363
|
-
set = function(self,
|
|
364
|
-
self:
|
|
450
|
+
set = function(self, specialEffectAttachmentPoint)
|
|
451
|
+
self:setStringField(
|
|
452
|
+
"aspt",
|
|
453
|
+
attachmentPointToNodeFQN(specialEffectAttachmentPoint)
|
|
454
|
+
)
|
|
365
455
|
end
|
|
366
456
|
},
|
|
367
457
|
true
|
|
@@ -392,6 +482,45 @@ __TS__SetDescriptor(
|
|
|
392
482
|
},
|
|
393
483
|
true
|
|
394
484
|
)
|
|
485
|
+
__TS__SetDescriptor(
|
|
486
|
+
AbilityType.prototype,
|
|
487
|
+
"targetChannelingEffectPresetsSD",
|
|
488
|
+
{
|
|
489
|
+
get = function(self)
|
|
490
|
+
return targetChannelingEffectPresetsSDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
491
|
+
end,
|
|
492
|
+
set = function(self, targetChannelingEffectPresetsSD)
|
|
493
|
+
targetChannelingEffectPresetsSDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsSD, toEffectPreset)
|
|
494
|
+
end
|
|
495
|
+
},
|
|
496
|
+
true
|
|
497
|
+
)
|
|
498
|
+
__TS__SetDescriptor(
|
|
499
|
+
AbilityType.prototype,
|
|
500
|
+
"targetChannelingEffectPresetsHD",
|
|
501
|
+
{
|
|
502
|
+
get = function(self)
|
|
503
|
+
return targetChannelingEffectPresetsHDByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
504
|
+
end,
|
|
505
|
+
set = function(self, targetChannelingEffectPresetsHD)
|
|
506
|
+
targetChannelingEffectPresetsHDByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsHD, toEffectPreset)
|
|
507
|
+
end
|
|
508
|
+
},
|
|
509
|
+
true
|
|
510
|
+
)
|
|
511
|
+
__TS__SetDescriptor(
|
|
512
|
+
AbilityType.prototype,
|
|
513
|
+
"targetChannelingEffectPresetsDE",
|
|
514
|
+
{
|
|
515
|
+
get = function(self)
|
|
516
|
+
return targetChannelingEffectPresetsDEByAbilityTypeId[self.id] or self.targetChannelingEffectPresets
|
|
517
|
+
end,
|
|
518
|
+
set = function(self, targetChannelingEffectPresetsDE)
|
|
519
|
+
targetChannelingEffectPresetsDEByAbilityTypeId[self.id] = map(targetChannelingEffectPresetsDE, toEffectPreset)
|
|
520
|
+
end
|
|
521
|
+
},
|
|
522
|
+
true
|
|
523
|
+
)
|
|
395
524
|
__TS__SetDescriptor(
|
|
396
525
|
AbilityType.prototype,
|
|
397
526
|
"targetEffectPresets",
|
|
@@ -473,6 +602,33 @@ __TS__SetDescriptor(
|
|
|
473
602
|
},
|
|
474
603
|
true
|
|
475
604
|
)
|
|
605
|
+
__TS__SetDescriptor(
|
|
606
|
+
AbilityType.prototype,
|
|
607
|
+
"targetEffectPresetsDE",
|
|
608
|
+
{
|
|
609
|
+
get = function(self)
|
|
610
|
+
return self:getAttachmentPresetListField(
|
|
611
|
+
"atat:de",
|
|
612
|
+
array(
|
|
613
|
+
6,
|
|
614
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
615
|
+
)
|
|
616
|
+
)
|
|
617
|
+
end,
|
|
618
|
+
set = function(self, targetEffectPresetsDE)
|
|
619
|
+
self:setAttachmentPresetListField(
|
|
620
|
+
"atat:de",
|
|
621
|
+
array(
|
|
622
|
+
6,
|
|
623
|
+
function(i) return ("ata" .. tostring(i)) .. ":de" end
|
|
624
|
+
),
|
|
625
|
+
"atac:de",
|
|
626
|
+
targetEffectPresetsDE
|
|
627
|
+
)
|
|
628
|
+
end
|
|
629
|
+
},
|
|
630
|
+
true
|
|
631
|
+
)
|
|
476
632
|
__TS__SetDescriptor(
|
|
477
633
|
AbilityType.prototype,
|
|
478
634
|
"turnOffButtonPositionX",
|
|
@@ -905,6 +1061,19 @@ __TS__SetDescriptor(
|
|
|
905
1061
|
},
|
|
906
1062
|
true
|
|
907
1063
|
)
|
|
1064
|
+
__TS__SetDescriptor(
|
|
1065
|
+
AbilityType.prototype,
|
|
1066
|
+
"isHeroAbility",
|
|
1067
|
+
{
|
|
1068
|
+
get = function(self)
|
|
1069
|
+
return self:getBooleanField("aher")
|
|
1070
|
+
end,
|
|
1071
|
+
set = function(self, isHeroAbility)
|
|
1072
|
+
self:setBooleanField("aher", isHeroAbility)
|
|
1073
|
+
end
|
|
1074
|
+
},
|
|
1075
|
+
true
|
|
1076
|
+
)
|
|
908
1077
|
__TS__SetDescriptor(
|
|
909
1078
|
AbilityType.prototype,
|
|
910
1079
|
"learnLevelMinimum",
|
|
@@ -1113,58 +1282,97 @@ local function handleAbilityChannelingStartEvent(caster, ability)
|
|
|
1113
1282
|
end
|
|
1114
1283
|
casterChannelingEffectsByCaster[caster] = effects
|
|
1115
1284
|
end
|
|
1116
|
-
local
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1121
|
-
|
|
1122
|
-
local
|
|
1123
|
-
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
end
|
|
1128
|
-
|
|
1129
|
-
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
|
|
1285
|
+
local targetChannelingEffectsDataByAbilityTypeId = postcompile(function()
|
|
1286
|
+
local function toData(presets)
|
|
1287
|
+
if presets == nil then
|
|
1288
|
+
return nil
|
|
1289
|
+
end
|
|
1290
|
+
local attachmentPoints = map(presets, extractAttachmentPresetInputNodeFQN)
|
|
1291
|
+
local parameters = map(presets, "parameters")
|
|
1292
|
+
return {
|
|
1293
|
+
modelPaths = map(presets, extractAttachmentPresetInputModelPath),
|
|
1294
|
+
attachmentPoints = __TS__ArraySome(
|
|
1295
|
+
attachmentPoints,
|
|
1296
|
+
function(____, attachmentPoint) return attachmentPoint ~= "" end
|
|
1297
|
+
) and attachmentPoints or nil,
|
|
1298
|
+
parameters = __TS__ArraySome(
|
|
1299
|
+
presets,
|
|
1300
|
+
function(____, preset) return preset.parameters ~= nil end
|
|
1301
|
+
) and parameters or nil
|
|
1302
|
+
}
|
|
1303
|
+
end
|
|
1304
|
+
local abilityTypeIds = {}
|
|
1305
|
+
for ____, presetsByAbilityTypeId in ipairs({targetChannelingEffectPresetsByAbilityTypeId, targetChannelingEffectPresetsSDByAbilityTypeId, targetChannelingEffectPresetsHDByAbilityTypeId, targetChannelingEffectPresetsDEByAbilityTypeId}) do
|
|
1306
|
+
for abilityTypeId in pairs(presetsByAbilityTypeId) do
|
|
1307
|
+
abilityTypeIds[abilityTypeId] = true
|
|
1308
|
+
end
|
|
1309
|
+
end
|
|
1310
|
+
local result = {}
|
|
1311
|
+
for abilityTypeId in pairs(abilityTypeIds) do
|
|
1312
|
+
local presets = targetChannelingEffectPresetsByAbilityTypeId[abilityTypeId]
|
|
1313
|
+
local presetsSD = targetChannelingEffectPresetsSDByAbilityTypeId[abilityTypeId]
|
|
1314
|
+
local presetsHD = targetChannelingEffectPresetsHDByAbilityTypeId[abilityTypeId]
|
|
1315
|
+
local presetsDE = targetChannelingEffectPresetsDEByAbilityTypeId[abilityTypeId]
|
|
1316
|
+
local ____math_max_8 = math.max
|
|
1317
|
+
local ____opt_0 = presetsSD or presets
|
|
1318
|
+
local ____temp_6 = ____opt_0 and #____opt_0 or 0
|
|
1319
|
+
local ____opt_2 = presetsHD or presets
|
|
1320
|
+
local ____temp_7 = ____opt_2 and #____opt_2 or 0
|
|
1321
|
+
local ____opt_4 = presetsDE or presets
|
|
1322
|
+
result[abilityTypeId] = {
|
|
1323
|
+
effectCount = ____math_max_8(____temp_6, ____temp_7, ____opt_4 and #____opt_4 or 0),
|
|
1324
|
+
data = toData(presets),
|
|
1325
|
+
dataSD = toData(presetsSD),
|
|
1326
|
+
dataHD = toData(presetsHD),
|
|
1327
|
+
dataDE = toData(presetsDE)
|
|
1328
|
+
}
|
|
1329
|
+
end
|
|
1330
|
+
return result
|
|
1133
1331
|
end)
|
|
1134
1332
|
local targetChannelingEffectsByCaster = {}
|
|
1135
|
-
local function
|
|
1136
|
-
local
|
|
1137
|
-
|
|
1138
|
-
|
|
1333
|
+
local function createTargetChannelingEffects(caster, abilityTypeId, xOrWidget, y)
|
|
1334
|
+
local effectsData = targetChannelingEffectsDataByAbilityTypeId[abilityTypeId]
|
|
1335
|
+
if effectsData == nil then
|
|
1336
|
+
return
|
|
1337
|
+
end
|
|
1338
|
+
local graphicsMode = LocalClient.graphicsMode
|
|
1339
|
+
local ____temp_10
|
|
1340
|
+
if graphicsMode == 0 then
|
|
1341
|
+
____temp_10 = effectsData.dataSD
|
|
1342
|
+
else
|
|
1343
|
+
local ____temp_9
|
|
1344
|
+
if graphicsMode == 1 then
|
|
1345
|
+
____temp_9 = effectsData.dataHD
|
|
1346
|
+
else
|
|
1347
|
+
____temp_9 = effectsData.dataDE
|
|
1348
|
+
end
|
|
1349
|
+
____temp_10 = ____temp_9
|
|
1350
|
+
end
|
|
1351
|
+
local data = ____temp_10 or effectsData.data
|
|
1352
|
+
local modelPaths = data and data.modelPaths
|
|
1353
|
+
local attachmentPoints = data and data.attachmentPoints
|
|
1354
|
+
local parameters = data and data.parameters
|
|
1139
1355
|
local effects = {}
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1356
|
+
for i = 1, effectsData.effectCount do
|
|
1357
|
+
local effectModelPath = modelPaths and modelPaths[i] or ""
|
|
1358
|
+
local effectParameters = parameters and parameters[i]
|
|
1359
|
+
if type(xOrWidget) == "number" then
|
|
1360
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, y, effectParameters)
|
|
1361
|
+
else
|
|
1143
1362
|
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1144
1363
|
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1145
1364
|
attachmentPoint = "origin"
|
|
1146
1365
|
end
|
|
1147
|
-
effects[i] = Effect:create(effectModelPath,
|
|
1366
|
+
effects[i] = Effect:create(effectModelPath, xOrWidget, attachmentPoint, effectParameters)
|
|
1148
1367
|
end
|
|
1149
1368
|
end
|
|
1150
1369
|
targetChannelingEffectsByCaster[caster] = effects
|
|
1151
1370
|
end
|
|
1371
|
+
local function handleAbilityWidgetTargetChannelingStartEvent(caster, ability, target)
|
|
1372
|
+
createTargetChannelingEffects(caster, ability.typeId, target)
|
|
1373
|
+
end
|
|
1152
1374
|
local function handleAbilityPointTargetChannelingStartEvent(caster, ability, x, y)
|
|
1153
|
-
|
|
1154
|
-
local attachmentPoints = targetChannelingEffectAttachmentPointsByAbilityTypeId[ability.typeId]
|
|
1155
|
-
local parameters = targetChannelingEffectParametersByAbilityTypeId[ability.typeId]
|
|
1156
|
-
local effects = {}
|
|
1157
|
-
if effectModelPaths ~= nil then
|
|
1158
|
-
for i = 1, #effectModelPaths do
|
|
1159
|
-
local effectModelPath = effectModelPaths[i]
|
|
1160
|
-
local attachmentPoint = attachmentPoints and attachmentPoints[i]
|
|
1161
|
-
if attachmentPoint == nil or attachmentPoint == "" then
|
|
1162
|
-
attachmentPoint = "origin"
|
|
1163
|
-
end
|
|
1164
|
-
effects[i] = Effect:create(effectModelPath, x, y, parameters and parameters[i])
|
|
1165
|
-
end
|
|
1166
|
-
end
|
|
1167
|
-
targetChannelingEffectsByCaster[caster] = effects
|
|
1375
|
+
createTargetChannelingEffects(caster, ability.typeId, x, y)
|
|
1168
1376
|
end
|
|
1169
1377
|
local function handleAbilityStopChannelingEvent(caster)
|
|
1170
1378
|
local casterEffects = casterChannelingEffectsByCaster[caster]
|
|
@@ -1184,6 +1392,10 @@ local function handleAbilityStopChannelingEvent(caster)
|
|
|
1184
1392
|
end
|
|
1185
1393
|
for abilityTypeId in pairs(casterChannelingEffectModelPathsByAbilityTypeId) do
|
|
1186
1394
|
Unit.abilityChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityChannelingStartEvent)
|
|
1395
|
+
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1396
|
+
Unit.abilityStopEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|
|
1397
|
+
end
|
|
1398
|
+
for abilityTypeId in pairs(targetChannelingEffectsDataByAbilityTypeId) do
|
|
1187
1399
|
Unit.abilityWidgetTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityWidgetTargetChannelingStartEvent)
|
|
1188
1400
|
Unit.abilityPointTargetChannelingStartEvent[abilityTypeId]:addListener(4, handleAbilityPointTargetChannelingStartEvent)
|
|
1189
1401
|
Unit.abilityChannelingFinishEvent[abilityTypeId]:addListener(4, handleAbilityStopChannelingEvent)
|