azeroth-shell 0.0.0-stage → 0.1.1
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/README.md +138 -2
- package/bin/azsh.mjs +19 -0
- package/docs/aifid/eventai-texts.json +4414 -0
- package/docs/dungeons/atlas/atlas-rows-dungeons.json +8989 -0
- package/docs/dungeons/survey/pack-id-migration.json +2418 -0
- package/package.json +35 -4
- package/src/autopilot/bossSkip.ts +26 -0
- package/src/autopilot/combatRotation.ts +824 -0
- package/src/autopilot/config.ts +533 -0
- package/src/autopilot/consumables.ts +58 -0
- package/src/autopilot/encounterStand.ts +121 -0
- package/src/autopilot/objectGatePlan.ts +53 -0
- package/src/autopilot/pathEngage.ts +229 -0
- package/src/autopilot/plan.ts +1643 -0
- package/src/autopilot/questPolicy.ts +274 -0
- package/src/autopilot/routeStep.ts +69 -0
- package/src/autopilot/sessionReport.ts +88 -0
- package/src/autopilot/topOffPower.ts +26 -0
- package/src/autopilot/view.ts +476 -0
- package/src/cli/bootCheck.mjs +34 -0
- package/src/cli/bootData.mjs +57 -0
- package/src/cli/combatLogFilter.ts +153 -0
- package/src/cli/combatLogFormat.ts +613 -0
- package/src/cli/fileRepository.mjs +105 -0
- package/src/cli/gzLoader.mjs +31 -0
- package/src/cli/liveGauntletEscort.ts +978 -0
- package/src/cli/liveStratUndead.ts +305 -0
- package/src/cli/macroHostCombat.ts +545 -0
- package/src/cli/macroHostWorld.ts +330 -0
- package/src/cli/prefs.mjs +31 -0
- package/src/cli/register.mjs +4 -0
- package/src/cli/repl.mjs +693 -0
- package/src/cli/rotationText.mjs +226 -0
- package/src/cli/squad.mjs +105 -0
- package/src/cli/term.mjs +144 -0
- package/src/cli/text.mjs +122 -0
- package/src/cli/tui.mjs +626 -0
- package/src/cli/tuiArena.mjs +109 -0
- package/src/cli/tuiAutopilotSettings.mjs +93 -0
- package/src/cli/tuiBags.mjs +180 -0
- package/src/cli/tuiBars.mjs +133 -0
- package/src/cli/tuiBg.mjs +243 -0
- package/src/cli/tuiBulk.mjs +162 -0
- package/src/cli/tuiCheck.mjs +1882 -0
- package/src/cli/tuiCity.mjs +396 -0
- package/src/cli/tuiCompanionKit.mjs +300 -0
- package/src/cli/tuiCompanions.mjs +471 -0
- package/src/cli/tuiDev.mjs +62 -0
- package/src/cli/tuiDungeon.mjs +606 -0
- package/src/cli/tuiEnchantTarget.mjs +120 -0
- package/src/cli/tuiFight.mjs +577 -0
- package/src/cli/tuiFightPanes.mjs +228 -0
- package/src/cli/tuiFloor.mjs +506 -0
- package/src/cli/tuiGear.mjs +158 -0
- package/src/cli/tuiHonor.mjs +74 -0
- package/src/cli/tuiLoot.mjs +97 -0
- package/src/cli/tuiMacros.mjs +144 -0
- package/src/cli/tuiOutfitter.mjs +115 -0
- package/src/cli/tuiPet.mjs +116 -0
- package/src/cli/tuiProfessions.mjs +800 -0
- package/src/cli/tuiRaid.mjs +127 -0
- package/src/cli/tuiRep.mjs +65 -0
- package/src/cli/tuiSaves.mjs +69 -0
- package/src/cli/tuiSearch.mjs +363 -0
- package/src/cli/tuiSettings.mjs +151 -0
- package/src/cli/tuiSimLab.mjs +80 -0
- package/src/cli/tuiTalents.mjs +60 -0
- package/src/cli/tuiViews.mjs +1178 -0
- package/src/cli/tuiWiki.mjs +181 -0
- package/src/cli/tuiWorld.mjs +361 -0
- package/src/cli/wikiIndex.ts +259 -0
- package/src/cli/wikiSources.ts +355 -0
- package/src/data/alteracValley.ts +176 -0
- package/src/data/appearanceOptions.ts +534 -0
- package/src/data/applyLootChanceSanity.ts +21 -0
- package/src/data/createFlavor.ts +96 -0
- package/src/data/customItems.ts +33 -0
- package/src/data/dataStore.ts +1904 -0
- package/src/data/dungeonGameObjects.ts +84 -0
- package/src/data/dungeonPlateCover.ts +66 -0
- package/src/data/dungeonSpawns.ts +294 -0
- package/src/data/dungeons/alterac-valley.ts +135 -0
- package/src/data/dungeons/apply-dungeon-rooms.ts +29 -0
- package/src/data/dungeons/apply-encounter-outdoors.ts +72 -0
- package/src/data/dungeons/apply-instance-geometry.ts +65 -0
- package/src/data/dungeons/apply-spawn-placement.ts +171 -0
- package/src/data/dungeons/blackfathom-deeps.ts +539 -0
- package/src/data/dungeons/blackrock-depths.ts +1410 -0
- package/src/data/dungeons/blackwing-lair.ts +129 -0
- package/src/data/dungeons/boss-eventai.ts +8 -0
- package/src/data/dungeons/deadmines.ts +410 -0
- package/src/data/dungeons/dire-maul-east.ts +980 -0
- package/src/data/dungeons/dire-maul-north.ts +661 -0
- package/src/data/dungeons/dire-maul-west.ts +785 -0
- package/src/data/dungeons/dungeon-rooms.json +5479 -0
- package/src/data/dungeons/encounter-outdoors.json +359 -0
- package/src/data/dungeons/eventai/blackfathom-deeps.ts +308 -0
- package/src/data/dungeons/eventai/blackrock-depths.ts +1257 -0
- package/src/data/dungeons/eventai/deadmines.ts +264 -0
- package/src/data/dungeons/eventai/dire-maul-east.ts +320 -0
- package/src/data/dungeons/eventai/gnomeregan.ts +213 -0
- package/src/data/dungeons/eventai/helpers.ts +79 -0
- package/src/data/dungeons/eventai/index.ts +133 -0
- package/src/data/dungeons/eventai/lbrs.ts +372 -0
- package/src/data/dungeons/eventai/maraudon.ts +323 -0
- package/src/data/dungeons/eventai/ragefire-chasm.ts +108 -0
- package/src/data/dungeons/eventai/razorfen-downs.ts +207 -0
- package/src/data/dungeons/eventai/razorfen-kraul.ts +326 -0
- package/src/data/dungeons/eventai/scholomance.ts +680 -0
- package/src/data/dungeons/eventai/shadowfang-keep.ts +230 -0
- package/src/data/dungeons/eventai/sm-cathedral.ts +75 -0
- package/src/data/dungeons/eventai/sm-graveyard.ts +150 -0
- package/src/data/dungeons/eventai/sm-library.ts +55 -0
- package/src/data/dungeons/eventai/stratholme-undead.ts +127 -0
- package/src/data/dungeons/eventai/sunken-temple.ts +582 -0
- package/src/data/dungeons/eventai/the-stockade.ts +228 -0
- package/src/data/dungeons/eventai/ubrs.ts +225 -0
- package/src/data/dungeons/eventai/uldaman.ts +355 -0
- package/src/data/dungeons/eventai/wailing-caverns.ts +396 -0
- package/src/data/dungeons/eventai/zul-farrak.ts +591 -0
- package/src/data/dungeons/gnomeregan.ts +909 -0
- package/src/data/dungeons/index.ts +126 -0
- package/src/data/dungeons/instance-geometry.json +5233 -0
- package/src/data/dungeons/key-sources.json +169 -0
- package/src/data/dungeons/lbrs.ts +996 -0
- package/src/data/dungeons/maraudon.ts +786 -0
- package/src/data/dungeons/molten-core.ts +194 -0
- package/src/data/dungeons/naxxramas.ts +173 -0
- package/src/data/dungeons/onyxias-lair.ts +71 -0
- package/src/data/dungeons/pack-from-clusters.ts +1256 -0
- package/src/data/dungeons/ragefire-chasm.ts +238 -0
- package/src/data/dungeons/razorfen-downs.ts +698 -0
- package/src/data/dungeons/razorfen-kraul.ts +766 -0
- package/src/data/dungeons/ruins-of-ahnqiraj.ts +121 -0
- package/src/data/dungeons/scholomance.ts +1076 -0
- package/src/data/dungeons/shadowfang-keep.ts +740 -0
- package/src/data/dungeons/sm-armory.ts +266 -0
- package/src/data/dungeons/sm-cathedral.ts +430 -0
- package/src/data/dungeons/sm-graveyard.ts +482 -0
- package/src/data/dungeons/sm-library.ts +337 -0
- package/src/data/dungeons/stratholme-live.ts +808 -0
- package/src/data/dungeons/stratholme-undead.ts +1164 -0
- package/src/data/dungeons/sunken-temple.ts +931 -0
- package/src/data/dungeons/temple-of-ahnqiraj.ts +119 -0
- package/src/data/dungeons/the-stockade.ts +282 -0
- package/src/data/dungeons/ubrs.ts +1286 -0
- package/src/data/dungeons/uldaman.ts +685 -0
- package/src/data/dungeons/wailing-caverns.ts +356 -0
- package/src/data/dungeons/zul-farrak.ts +686 -0
- package/src/data/dungeons/zul-gurub.ts +142 -0
- package/src/data/dungeons.ts +42 -0
- package/src/data/fixtures.ts +446 -0
- package/src/data/gameobject-data.json.gz +0 -0
- package/src/data/item-data.json.gz +0 -0
- package/src/data/loot-data.json.gz +0 -0
- package/src/data/maps/atlas-approach-maps.json +1425 -0
- package/src/data/maps/atlas-landmarks.json +1711 -0
- package/src/data/maps/dungeon-viewports.json +392 -0
- package/src/data/materializeModDamagePercentTaken.ts +70 -0
- package/src/data/materializeModHealthRegen.ts +89 -0
- package/src/data/materializeSpellReputation.ts +26 -0
- package/src/data/pageTexts.ts +19 -0
- package/src/data/profession-data.json.gz +0 -0
- package/src/data/raid-plans/blackfathom-deeps.json +86 -0
- package/src/data/raid-plans/blackrock-depths.json +419 -0
- package/src/data/raid-plans/blackwing-lair.json +328 -0
- package/src/data/raid-plans/deadmines.json +55 -0
- package/src/data/raid-plans/dire-maul-east.json +94 -0
- package/src/data/raid-plans/dire-maul-north.json +70 -0
- package/src/data/raid-plans/dire-maul-west.json +75 -0
- package/src/data/raid-plans/gnomeregan.json +131 -0
- package/src/data/raid-plans/lbrs.json +176 -0
- package/src/data/raid-plans/maraudon.json +102 -0
- package/src/data/raid-plans/molten-core.json +169 -0
- package/src/data/raid-plans/naxxramas.json +354 -0
- package/src/data/raid-plans/onyxias-lair.json +18 -0
- package/src/data/raid-plans/ragefire-chasm.json +30 -0
- package/src/data/raid-plans/razorfen-downs.json +75 -0
- package/src/data/raid-plans/razorfen-kraul.json +53 -0
- package/src/data/raid-plans/ruins-of-ahnqiraj.json +110 -0
- package/src/data/raid-plans/scholomance.json +170 -0
- package/src/data/raid-plans/shadowfang-keep.json +87 -0
- package/src/data/raid-plans/sm-armory.json +53 -0
- package/src/data/raid-plans/sm-cathedral.json +72 -0
- package/src/data/raid-plans/sm-graveyard.json +63 -0
- package/src/data/raid-plans/sm-library.json +23 -0
- package/src/data/raid-plans/stratholme-live.json +129 -0
- package/src/data/raid-plans/stratholme-undead.json +73 -0
- package/src/data/raid-plans/sunken-temple.json +159 -0
- package/src/data/raid-plans/temple-of-ahnqiraj.json +163 -0
- package/src/data/raid-plans/the-stockade.json +42 -0
- package/src/data/raid-plans/ubrs.json +53 -0
- package/src/data/raid-plans/uldaman.json +131 -0
- package/src/data/raid-plans/wailing-caverns.json +90 -0
- package/src/data/raid-plans/zul-farrak.json +156 -0
- package/src/data/raid-plans/zul-gurub.json +307 -0
- package/src/data/raidInstanceCreatures.mjs +473 -0
- package/src/data/rotations/index.ts +152 -0
- package/src/data/rotations/layout.mjs +72 -0
- package/src/data/rotations/pve/druid/balance.json +754 -0
- package/src/data/rotations/pve/druid/feral-tank.json +2448 -0
- package/src/data/rotations/pve/druid/feral.json +2660 -0
- package/src/data/rotations/pve/druid/restoration.json +424 -0
- package/src/data/rotations/pve/hunter/beast-mastery.json +1288 -0
- package/src/data/rotations/pve/hunter/marksmanship.json +1260 -0
- package/src/data/rotations/pve/hunter/survival.json +1373 -0
- package/src/data/rotations/pve/mage/arcane-leveling.json +1798 -0
- package/src/data/rotations/pve/mage/fire-leveling.json +2003 -0
- package/src/data/rotations/pve/mage/frost-leveling.json +1912 -0
- package/src/data/rotations/pve/paladin/holy.json +755 -0
- package/src/data/rotations/pve/paladin/protection.json +962 -0
- package/src/data/rotations/pve/paladin/retribution.json +924 -0
- package/src/data/rotations/pve/priest/discipline.json +772 -0
- package/src/data/rotations/pve/priest/holy.json +707 -0
- package/src/data/rotations/pve/priest/shadow.json +787 -0
- package/src/data/rotations/pve/rogue/assassination.json +2477 -0
- package/src/data/rotations/pve/rogue/combat.json +2483 -0
- package/src/data/rotations/pve/rogue/subtlety.json +2523 -0
- package/src/data/rotations/pve/shaman/elemental.json +1157 -0
- package/src/data/rotations/pve/shaman/enhancement.json +1085 -0
- package/src/data/rotations/pve/shaman/restoration.json +592 -0
- package/src/data/rotations/pve/warlock/affliction.json +1185 -0
- package/src/data/rotations/pve/warlock/demonology.json +1165 -0
- package/src/data/rotations/pve/warlock/destruction.json +1177 -0
- package/src/data/rotations/pve/warrior/arms.json +3020 -0
- package/src/data/rotations/pve/warrior/fury.json +2996 -0
- package/src/data/rotations/pve/warrior/protection.json +2509 -0
- package/src/data/rotations/pvp/druid/balance.json +593 -0
- package/src/data/rotations/pvp/druid/feral.json +3276 -0
- package/src/data/rotations/pvp/druid/restoration.json +662 -0
- package/src/data/rotations/pvp/hunter/beast-mastery.json +665 -0
- package/src/data/rotations/pvp/hunter/marksmanship.json +2406 -0
- package/src/data/rotations/pvp/hunter/survival.json +635 -0
- package/src/data/rotations/pvp/mage/arcane.json +574 -0
- package/src/data/rotations/pvp/mage/fire.json +570 -0
- package/src/data/rotations/pvp/mage/frost.json +4048 -0
- package/src/data/rotations/pvp/paladin/holy.json +1498 -0
- package/src/data/rotations/pvp/paladin/protection.json +567 -0
- package/src/data/rotations/pvp/paladin/retribution.json +1110 -0
- package/src/data/rotations/pvp/priest/discipline.json +1848 -0
- package/src/data/rotations/pvp/priest/holy.json +6340 -0
- package/src/data/rotations/pvp/priest/shadow.json +2329 -0
- package/src/data/rotations/pvp/rogue/assassination.json +1322 -0
- package/src/data/rotations/pvp/rogue/combat.json +5258 -0
- package/src/data/rotations/pvp/rogue/subtlety.json +586 -0
- package/src/data/rotations/pvp/shaman/elemental.json +1404 -0
- package/src/data/rotations/pvp/shaman/enhancement.json +1277 -0
- package/src/data/rotations/pvp/shaman/restoration.json +2490 -0
- package/src/data/rotations/pvp/warlock/affliction.json +1017 -0
- package/src/data/rotations/pvp/warlock/demonology.json +1503 -0
- package/src/data/rotations/pvp/warlock/destruction.json +638 -0
- package/src/data/rotations/pvp/warrior/arms.json +5665 -0
- package/src/data/rotations/pvp/warrior/fury.json +850 -0
- package/src/data/rotations/pvp/warrior/protection.json +777 -0
- package/src/data/schema/bundle.ts +511 -0
- package/src/data/schema/constants.ts +49 -0
- package/src/data/schema/creature.ts +454 -0
- package/src/data/schema/encounter.ts +155 -0
- package/src/data/schema/faction.ts +48 -0
- package/src/data/schema/item.ts +297 -0
- package/src/data/schema/itemEnchant.ts +105 -0
- package/src/data/schema/npc.ts +44 -0
- package/src/data/schema/primitives.ts +295 -0
- package/src/data/schema/profession.ts +226 -0
- package/src/data/schema/quest.ts +154 -0
- package/src/data/schema/spell.ts +1149 -0
- package/src/data/schema/talent.ts +74 -0
- package/src/data/schema/world.ts +124 -0
- package/src/data/schema.ts +19 -0
- package/src/data/skinNodeGapFill.ts +68 -0
- package/src/data/spell-data.json.gz +0 -0
- package/src/data/spell-script-targets.json +1 -0
- package/src/data/tables/ahItemValues.json.gz +0 -0
- package/src/data/tables/alteracValley.json.gz +0 -0
- package/src/data/tables/areatriggerTeleports.json.gz +0 -0
- package/src/data/tables/botNames.json.gz +0 -0
- package/src/data/tables/botPopulation.json.gz +0 -0
- package/src/data/tables/botSpecs.json.gz +0 -0
- package/src/data/tables/classLevelStats.json.gz +0 -0
- package/src/data/tables/combatConditions.json.gz +0 -0
- package/src/data/tables/combatSkillMeta.json.gz +0 -0
- package/src/data/tables/conditions.json.gz +0 -0
- package/src/data/tables/createInfo.json.gz +0 -0
- package/src/data/tables/creatureAggroGroups.json.gz +0 -0
- package/src/data/tables/creatureClassLevelStats.json.gz +0 -0
- package/src/data/tables/creaturePatrolPacks.json.gz +0 -0
- package/src/data/tables/creatureWeapons.json.gz +0 -0
- package/src/data/tables/creatures.json.gz +0 -0
- package/src/data/tables/dbScripts.json.gz +0 -0
- package/src/data/tables/dungeonAuthoredRoutes.json.gz +0 -0
- package/src/data/tables/dungeonCensus.json.gz +0 -0
- package/src/data/tables/dungeonGameObjects.json.gz +0 -0
- package/src/data/tables/dungeonPacks.json.gz +0 -0
- package/src/data/tables/dungeonPlateCover.json.gz +0 -0
- package/src/data/tables/dungeonSpawns.json.gz +0 -0
- package/src/data/tables/dungeonSurvey.json.gz +0 -0
- package/src/data/tables/durabilityCosts.json.gz +0 -0
- package/src/data/tables/durabilityQuality.json.gz +0 -0
- package/src/data/tables/enchantApplicators.json.gz +0 -0
- package/src/data/tables/entranceYards.json.gz +0 -0
- package/src/data/tables/explorationBasexp.json.gz +0 -0
- package/src/data/tables/factionTemplates.json.gz +0 -0
- package/src/data/tables/factions.json.gz +0 -0
- package/src/data/tables/gameEvents.json.gz +0 -0
- package/src/data/tables/gameObjects.json.gz +0 -0
- package/src/data/tables/gossipMenus.json.gz +0 -0
- package/src/data/tables/graveyards.json.gz +0 -0
- package/src/data/tables/instanceMaps.json.gz +0 -0
- package/src/data/tables/itemEnchantmentTemplates.json.gz +0 -0
- package/src/data/tables/itemEnchants.json.gz +0 -0
- package/src/data/tables/itemRandomProperties.json.gz +0 -0
- package/src/data/tables/itemSets.json.gz +0 -0
- package/src/data/tables/items.json.gz +0 -0
- package/src/data/tables/levelStats.json.gz +0 -0
- package/src/data/tables/locks.json.gz +0 -0
- package/src/data/tables/map-pin-overrides.json.gz +0 -0
- package/src/data/tables/nonCombatTrash.json.gz +0 -0
- package/src/data/tables/npcTexts.json.gz +0 -0
- package/src/data/tables/pageTexts.json.gz +0 -0
- package/src/data/tables/petAbilityTP.json.gz +0 -0
- package/src/data/tables/petGenericSpells.json.gz +0 -0
- package/src/data/tables/petLevelStats.json.gz +0 -0
- package/src/data/tables/playerbot-weightscales.json.gz +0 -0
- package/src/data/tables/pools.json.gz +0 -0
- package/src/data/tables/quests.json.gz +0 -0
- package/src/data/tables/races.json.gz +0 -0
- package/src/data/tables/reputationRanks.json.gz +0 -0
- package/src/data/tables/reputationRates.json.gz +0 -0
- package/src/data/tables/reputationSpillover.json.gz +0 -0
- package/src/data/tables/ridingSpells.json.gz +0 -0
- package/src/data/tables/scriptTexts.json.gz +0 -0
- package/src/data/tables/soundClipVolume.json.gz +0 -0
- package/src/data/tables/spellChain.json.gz +0 -0
- package/src/data/tables/spellTeleports.json.gz +0 -0
- package/src/data/tables/spells.json.gz +0 -0
- package/src/data/tables/talents.json.gz +0 -0
- package/src/data/tables/tavernTriggers.json.gz +0 -0
- package/src/data/tables/taxiNodes.json.gz +0 -0
- package/src/data/tables/taxiRoutes.json.gz +0 -0
- package/src/data/tables/trainers.json.gz +0 -0
- package/src/data/tables/transports.json.gz +0 -0
- package/src/data/tables/travelAnchors.json.gz +0 -0
- package/src/data/tables/travelEdges.json.gz +0 -0
- package/src/data/tables/unitConditions.json.gz +0 -0
- package/src/data/tables/vendors.json.gz +0 -0
- package/src/data/tables/weaponEnchantProcs.json.gz +0 -0
- package/src/data/tables/xp.json.gz +0 -0
- package/src/data/tables/zoneWeather.json.gz +0 -0
- package/src/data/tables/zones.json.gz +0 -0
- package/src/data/world-data.ts +56 -0
- package/src/data/zone-music-sets.json +2751 -0
- package/src/dev/etl/lib/loot-chance-sanity.mjs +180 -0
- package/src/domain/audioQuality.mjs +145 -0
- package/src/domain/bg/ab.ts +433 -0
- package/src/domain/bg/arenaComps.ts +644 -0
- package/src/domain/bg/arenaLab.ts +695 -0
- package/src/domain/bg/arenaPace.ts +31 -0
- package/src/domain/bg/arenaRating.ts +110 -0
- package/src/domain/bg/av.ts +758 -0
- package/src/domain/bg/avEnemyPush.ts +219 -0
- package/src/domain/bg/avField.ts +283 -0
- package/src/domain/bg/avInstanceNodes.ts +197 -0
- package/src/domain/bg/avInstanceScore.ts +123 -0
- package/src/domain/bg/avQuestItems.ts +55 -0
- package/src/domain/bg/avQuests.ts +210 -0
- package/src/domain/bg/avSession.ts +196 -0
- package/src/domain/bg/bgConsumes.ts +269 -0
- package/src/domain/bg/bgPrebuff.ts +153 -0
- package/src/domain/bg/bgRest.ts +91 -0
- package/src/domain/bg/bgRoster.ts +305 -0
- package/src/domain/bg/bgTier.ts +61 -0
- package/src/domain/bg/bgWorld.ts +862 -0
- package/src/domain/bg/match.ts +215 -0
- package/src/domain/bg/strategies.ts +552 -0
- package/src/domain/bg/types.ts +291 -0
- package/src/domain/bg/wsg.ts +264 -0
- package/src/domain/bots/actionProviderSpec.ts +38 -0
- package/src/domain/bots/autoConsumables.ts +285 -0
- package/src/domain/bots/betweenPullRest.ts +239 -0
- package/src/domain/bots/botGear.ts +248 -0
- package/src/domain/bots/botInventory.ts +486 -0
- package/src/domain/bots/botPet.ts +535 -0
- package/src/domain/bots/botPool.ts +291 -0
- package/src/domain/bots/botProfessions.ts +334 -0
- package/src/domain/bots/companionActionBar.ts +209 -0
- package/src/domain/bots/companionHireCost.ts +236 -0
- package/src/domain/bots/companionMissions.ts +582 -0
- package/src/domain/bots/companionPrep.ts +254 -0
- package/src/domain/bots/companionQuests.ts +270 -0
- package/src/domain/bots/companionRep.ts +75 -0
- package/src/domain/bots/companionRotation.ts +708 -0
- package/src/domain/bots/companionXp.ts +66 -0
- package/src/domain/bots/consumableShare.ts +811 -0
- package/src/domain/bots/dpsMate.ts +1072 -0
- package/src/domain/bots/groupCompReport.ts +132 -0
- package/src/domain/bots/healthstoneSupply.ts +198 -0
- package/src/domain/bots/outfitter.ts +1056 -0
- package/src/domain/bots/paladinPrePull.ts +231 -0
- package/src/domain/bots/partyRole.ts +40 -0
- package/src/domain/bots/playerbotEquipCache.ts +412 -0
- package/src/domain/bots/playerbotItemEligibility.ts +60 -0
- package/src/domain/bots/playerbotStatWeight.ts +853 -0
- package/src/domain/bots/playerbotUnavailableItems.ts +147 -0
- package/src/domain/bots/prePullBuffs.ts +219 -0
- package/src/domain/bots/prePullStealth.ts +82 -0
- package/src/domain/bots/runSupply.ts +251 -0
- package/src/domain/bots/runSupplyPrefs.ts +28 -0
- package/src/domain/bots/sendTradeGoods.ts +394 -0
- package/src/domain/bots/soulShardCap.ts +35 -0
- package/src/domain/bots/squad.ts +842 -0
- package/src/domain/bots/squadRun.ts +81 -0
- package/src/domain/character/actionbar.ts +346 -0
- package/src/domain/character/appearance.ts +165 -0
- package/src/domain/character/buildCombatant.ts +1726 -0
- package/src/domain/character/character.ts +356 -0
- package/src/domain/character/characterName.ts +43 -0
- package/src/domain/character/characterRatings.ts +424 -0
- package/src/domain/character/characterSpells.ts +282 -0
- package/src/domain/character/characterStats.ts +1559 -0
- package/src/domain/character/characterTalents.ts +398 -0
- package/src/domain/character/combatSkills.ts +994 -0
- package/src/domain/character/displayForm.ts +72 -0
- package/src/domain/character/formTalentAuras.ts +171 -0
- package/src/domain/character/forms.ts +499 -0
- package/src/domain/character/races.ts +40 -0
- package/src/domain/character/resurrectionSickness.ts +49 -0
- package/src/domain/character/spellbook.ts +169 -0
- package/src/domain/character/stanceBar.ts +354 -0
- package/src/domain/character/stancePrereq.ts +70 -0
- package/src/domain/character/talentBuilds.ts +63 -0
- package/src/domain/character/talentImport.ts +130 -0
- package/src/domain/character/talentLink.ts +123 -0
- package/src/domain/character/talents.ts +201 -0
- package/src/domain/core/conditionSnapshot.ts +92 -0
- package/src/domain/core/hover.ts +14 -0
- package/src/domain/core/ids.ts +58 -0
- package/src/domain/core/internalNameTags.ts +5 -0
- package/src/domain/core/runtimeDataPatches.ts +357 -0
- package/src/domain/creature/aiTargeting.ts +588 -0
- package/src/domain/creature/combatCondition.ts +157 -0
- package/src/domain/creature/creatureAggro.ts +804 -0
- package/src/domain/creature/creatureAi.ts +206 -0
- package/src/domain/creature/creatureAiConstants.ts +661 -0
- package/src/domain/creature/creatureCastList.ts +1007 -0
- package/src/domain/creature/creatureEventAi.ts +1409 -0
- package/src/domain/creature/creatureGroups.ts +144 -0
- package/src/domain/creature/creatureLinking.ts +333 -0
- package/src/domain/creature/creatureScaling.ts +320 -0
- package/src/domain/creature/creatureTrigger.ts +53 -0
- package/src/domain/creature/creatureWander.ts +74 -0
- package/src/domain/creature/eventAiTexts.ts +145 -0
- package/src/domain/creature/faction.ts +287 -0
- package/src/domain/creature/forcedReaction.ts +48 -0
- package/src/domain/creature/outdoorHuntable.ts +74 -0
- package/src/domain/creature/patrolPacks.ts +210 -0
- package/src/domain/creature/reputation.ts +967 -0
- package/src/domain/creature/unitFlags.ts +74 -0
- package/src/domain/creature/worldBosses.ts +393 -0
- package/src/domain/dungeonMusic.mjs +48 -0
- package/src/domain/economy/auction.ts +282 -0
- package/src/domain/economy/auctionBot.ts +1060 -0
- package/src/domain/economy/honorPrice.ts +100 -0
- package/src/domain/economy/mail.ts +958 -0
- package/src/domain/economy/money.ts +42 -0
- package/src/domain/economy/syntheticClassTrainers.ts +62 -0
- package/src/domain/economy/trading.ts +296 -0
- package/src/domain/economy/vendorSellAll.ts +252 -0
- package/src/domain/economy/vendorStock.ts +146 -0
- package/src/domain/items/ammo.ts +817 -0
- package/src/domain/items/bank.ts +162 -0
- package/src/domain/items/consumableFamily.ts +205 -0
- package/src/domain/items/craftUpgrades.ts +83 -0
- package/src/domain/items/createItem.ts +93 -0
- package/src/domain/items/durability.ts +581 -0
- package/src/domain/items/equipment.ts +441 -0
- package/src/domain/items/equipmentHelper.ts +767 -0
- package/src/domain/items/inventory.ts +561 -0
- package/src/domain/items/itemBonding.ts +93 -0
- package/src/domain/items/itemContainer.ts +245 -0
- package/src/domain/items/itemDisplayName.ts +33 -0
- package/src/domain/items/itemInstance.ts +181 -0
- package/src/domain/items/itemRandomEnchantOutcomes.ts +315 -0
- package/src/domain/items/itemRandomProps.ts +77 -0
- package/src/domain/items/itemRestrictions.ts +329 -0
- package/src/domain/items/itemTeaches.ts +82 -0
- package/src/domain/items/itemUseCooldown.ts +52 -0
- package/src/domain/items/itemUseTarget.ts +90 -0
- package/src/domain/items/junkCategories.ts +174 -0
- package/src/domain/items/junkFilter.ts +368 -0
- package/src/domain/items/keyring.ts +131 -0
- package/src/domain/items/loot.ts +221 -0
- package/src/domain/items/mounts.ts +190 -0
- package/src/domain/items/onUsePayload.ts +102 -0
- package/src/domain/items/pendingLoot.ts +107 -0
- package/src/domain/items/relic.ts +105 -0
- package/src/domain/items/rocketBoots.ts +36 -0
- package/src/domain/items/sortContainer.ts +139 -0
- package/src/domain/items/spareContainers.ts +71 -0
- package/src/domain/items/spellReagentIndex.ts +131 -0
- package/src/domain/items/staleConsumables.ts +66 -0
- package/src/domain/items/weaponSpender.ts +110 -0
- package/src/domain/listDungeonIds.mjs +28 -0
- package/src/domain/macro/compose.ts +239 -0
- package/src/domain/macro/conditions.ts +260 -0
- package/src/domain/macro/creatureTypes.ts +40 -0
- package/src/domain/macro/describe.ts +169 -0
- package/src/domain/macro/icon.ts +60 -0
- package/src/domain/macro/index.ts +20 -0
- package/src/domain/macro/normalize.ts +112 -0
- package/src/domain/macro/parse.ts +316 -0
- package/src/domain/macro/plan.ts +288 -0
- package/src/domain/macro/rotation.ts +590 -0
- package/src/domain/macro/rotationEnv.ts +173 -0
- package/src/domain/macro/slots.ts +101 -0
- package/src/domain/macro/snapshot.ts +114 -0
- package/src/domain/macro/templates.ts +446 -0
- package/src/domain/macro/types.ts +70 -0
- package/src/domain/macro/units.ts +93 -0
- package/src/domain/macro/weaponTypes.ts +83 -0
- package/src/domain/nav/cityTeleports.ts +10 -0
- package/src/domain/nav/mounting.ts +113 -0
- package/src/domain/nav/nav.ts +43 -0
- package/src/domain/nav/navCollision.ts +606 -0
- package/src/domain/nav/navOutdoors.ts +91 -0
- package/src/domain/nav/navRegistry.ts +179 -0
- package/src/domain/nav/navRoomGraph.ts +302 -0
- package/src/domain/nav/navTypes.ts +43 -0
- package/src/domain/nav/navmesh.ts +1715 -0
- package/src/domain/nav/speed.ts +200 -0
- package/src/domain/nav/storey.ts +10 -0
- package/src/domain/nav/travel.ts +725 -0
- package/src/domain/nav/travelTypes.ts +75 -0
- package/src/domain/pet/pet.ts +1150 -0
- package/src/domain/pet/petActionBar.ts +180 -0
- package/src/domain/pet/petSpellbook.ts +39 -0
- package/src/domain/pet/petStable.ts +81 -0
- package/src/domain/professions/autoDisenchant.ts +236 -0
- package/src/domain/professions/characterEnchants.ts +176 -0
- package/src/domain/professions/craftCooldown.ts +52 -0
- package/src/domain/professions/enchantApply.ts +62 -0
- package/src/domain/professions/enchantTargets.ts +114 -0
- package/src/domain/professions/enchanting.ts +236 -0
- package/src/domain/professions/gatherFilter.ts +149 -0
- package/src/domain/professions/gearEnchant.ts +137 -0
- package/src/domain/professions/heldTools.ts +29 -0
- package/src/domain/professions/learnAllRecipes.ts +146 -0
- package/src/domain/professions/miningHarvest.ts +69 -0
- package/src/domain/professions/partyDisenchant.ts +294 -0
- package/src/domain/professions/partyWork.ts +83 -0
- package/src/domain/professions/pickpocket.ts +172 -0
- package/src/domain/professions/poisons.ts +240 -0
- package/src/domain/professions/professions.ts +677 -0
- package/src/domain/professions/rareNodes.ts +45 -0
- package/src/domain/professions/skinLoot.ts +27 -0
- package/src/domain/professions/vendorReagents.ts +152 -0
- package/src/domain/professions/weaponImbueHand.ts +171 -0
- package/src/domain/questFarmFilter.mjs +42 -0
- package/src/domain/quests/doQuest.ts +1204 -0
- package/src/domain/quests/gossip.ts +308 -0
- package/src/domain/quests/gossipTalk.ts +298 -0
- package/src/domain/quests/interpreter/canComplete.ts +150 -0
- package/src/domain/quests/interpreter/claim.ts +137 -0
- package/src/domain/quests/interpreter/dbscript/handlers.ts +1371 -0
- package/src/domain/quests/interpreter/dbscript/handlersBatch.ts +1251 -0
- package/src/domain/quests/interpreter/dbscript/hooks.ts +331 -0
- package/src/domain/quests/interpreter/dbscript/index.ts +212 -0
- package/src/domain/quests/interpreter/dbscript/opcodes.ts +257 -0
- package/src/domain/quests/interpreter/dbscript/registry.ts +1194 -0
- package/src/domain/quests/interpreter/dbscript/registryAreatriggerScripts.ts +539 -0
- package/src/domain/quests/interpreter/dbscript/registryAshenvale.ts +553 -0
- package/src/domain/quests/interpreter/dbscript/registryAzshara.ts +272 -0
- package/src/domain/quests/interpreter/dbscript/registryDarkshore.ts +637 -0
- package/src/domain/quests/interpreter/dbscript/registryDesolace.ts +501 -0
- package/src/domain/quests/interpreter/dbscript/registryDustwallowMarsh.ts +735 -0
- package/src/domain/quests/interpreter/dbscript/registryFelwood.ts +493 -0
- package/src/domain/quests/interpreter/dbscript/registryFeralas.ts +485 -0
- package/src/domain/quests/interpreter/dbscript/registryGoScripts.ts +203 -0
- package/src/domain/quests/interpreter/dbscript/registryMoonglade.ts +288 -0
- package/src/domain/quests/interpreter/dbscript/registryNpcProfessions.ts +230 -0
- package/src/domain/quests/interpreter/dbscript/registryNpcsSpecial.ts +545 -0
- package/src/domain/quests/interpreter/dbscript/registryRazorfenDowns.ts +293 -0
- package/src/domain/quests/interpreter/dbscript/registryRazorfenKraul.ts +221 -0
- package/src/domain/quests/interpreter/dbscript/registryRedridge.ts +112 -0
- package/src/domain/quests/interpreter/dbscript/registrySearingGorge.ts +125 -0
- package/src/domain/quests/interpreter/dbscript/registrySiblings.ts +51 -0
- package/src/domain/quests/interpreter/dbscript/registrySilverpineForest.ts +172 -0
- package/src/domain/quests/interpreter/dbscript/registryStonetalonMountains.ts +180 -0
- package/src/domain/quests/interpreter/dbscript/registryStormwindCity.ts +369 -0
- package/src/domain/quests/interpreter/dbscript/registryStranglethornVale.ts +115 -0
- package/src/domain/quests/interpreter/dbscript/registryStratholme.ts +146 -0
- package/src/domain/quests/interpreter/dbscript/registrySunkenTemple.ts +149 -0
- package/src/domain/quests/interpreter/dbscript/registrySwampOfSorrows.ts +163 -0
- package/src/domain/quests/interpreter/dbscript/registryTanaris.ts +318 -0
- package/src/domain/quests/interpreter/dbscript/registryTeldrassil.ts +120 -0
- package/src/domain/quests/interpreter/dbscript/registryTheBarrens.ts +603 -0
- package/src/domain/quests/interpreter/dbscript/registryThousandNeedles.ts +499 -0
- package/src/domain/quests/interpreter/dbscript/registryTirisfalGlades.ts +222 -0
- package/src/domain/quests/interpreter/dbscript/registryUngoroCrater.ts +291 -0
- package/src/domain/quests/interpreter/dbscript/registryWarEffort.ts +773 -0
- package/src/domain/quests/interpreter/dbscript/registryWesternPlaguelands.ts +206 -0
- package/src/domain/quests/interpreter/dbscript/registryWestfall.ts +190 -0
- package/src/domain/quests/interpreter/dbscript/registryWetlands.ts +186 -0
- package/src/domain/quests/interpreter/dbscript/registryWinterspring.ts +235 -0
- package/src/domain/quests/interpreter/dbscript/types.ts +817 -0
- package/src/domain/quests/interpreter/dbscript/vm.ts +171 -0
- package/src/domain/quests/interpreter/diff.ts +349 -0
- package/src/domain/quests/interpreter/fixtures/oracle-questlog-qi2.json +2417 -0
- package/src/domain/quests/interpreter/flags.ts +101 -0
- package/src/domain/quests/interpreter/index.ts +113 -0
- package/src/domain/quests/interpreter/live.ts +178 -0
- package/src/domain/quests/interpreter/types.ts +81 -0
- package/src/domain/quests/interpreter/updaters.ts +412 -0
- package/src/domain/quests/questCorpseUse.ts +155 -0
- package/src/domain/quests/questDialog.ts +43 -0
- package/src/domain/quests/questFight.ts +34 -0
- package/src/domain/quests/questObjectiveLabel.ts +39 -0
- package/src/domain/quests/questRewardChoice.ts +85 -0
- package/src/domain/quests/questScriptCredit.ts +26 -0
- package/src/domain/quests/questScriptItemUse.ts +74 -0
- package/src/domain/quests/questTameRods.ts +79 -0
- package/src/domain/quests/questlog.ts +1545 -0
- package/src/domain/quests/talkDeliver.ts +170 -0
- package/src/domain/raid/globalActionBar.ts +195 -0
- package/src/domain/raid/instanceRoster.ts +194 -0
- package/src/domain/raid/partySummon.ts +198 -0
- package/src/domain/raid/partyVault.ts +320 -0
- package/src/domain/raid/raidBossAbilities.ts +268 -0
- package/src/domain/raid/raidComp.ts +335 -0
- package/src/domain/raid/raidCustomRows.ts +453 -0
- package/src/domain/raid/raidEncounterGear.ts +298 -0
- package/src/domain/raid/raidEncounterTactics.ts +412 -0
- package/src/domain/raid/raidPlan.ts +509 -0
- package/src/domain/raid/raidPlanEdits.ts +98 -0
- package/src/domain/raid/raidPlanPacks.ts +480 -0
- package/src/domain/raid/raidRecovery.ts +183 -0
- package/src/domain/raid/raidRosterTemplate.ts +138 -0
- package/src/domain/rotation/auraSide.ts +68 -0
- package/src/domain/rotation/build.ts +3031 -0
- package/src/domain/rotation/classes/druid.ts +58 -0
- package/src/domain/rotation/classes/hooks.ts +59 -0
- package/src/domain/rotation/classes/hunter.ts +156 -0
- package/src/domain/rotation/classes/index.ts +104 -0
- package/src/domain/rotation/classes/mage.ts +99 -0
- package/src/domain/rotation/classes/paladin.ts +296 -0
- package/src/domain/rotation/classes/priest.ts +94 -0
- package/src/domain/rotation/classes/pullOpener.ts +92 -0
- package/src/domain/rotation/classes/rogue.ts +69 -0
- package/src/domain/rotation/classes/shaman.ts +29 -0
- package/src/domain/rotation/classes/supportSpec.ts +94 -0
- package/src/domain/rotation/classes/warlock.ts +81 -0
- package/src/domain/rotation/classes/warrior.ts +402 -0
- package/src/domain/rotation/classify.ts +1381 -0
- package/src/domain/rotation/condMetricPicker.ts +379 -0
- package/src/domain/rotation/consumables.ts +242 -0
- package/src/domain/rotation/evaluate.ts +1115 -0
- package/src/domain/rotation/finisherLadder.ts +145 -0
- package/src/domain/rotation/invent.ts +938 -0
- package/src/domain/rotation/killOrder.ts +30 -0
- package/src/domain/rotation/openerForm.ts +22 -0
- package/src/domain/rotation/paladinBuffs.ts +568 -0
- package/src/domain/rotation/prebuff.ts +283 -0
- package/src/domain/rotation/raidRowTuning.ts +34 -0
- package/src/domain/rotation/rotation.ts +11 -0
- package/src/domain/rotation/rotationProfiles.ts +180 -0
- package/src/domain/rotation/rotationSuggestions.ts +851 -0
- package/src/domain/rotation/ruleAfterChain.ts +49 -0
- package/src/domain/rotation/spec.ts +70 -0
- package/src/domain/rotation/spellPicker.ts +140 -0
- package/src/domain/rotation/stand.ts +143 -0
- package/src/domain/rotation/types.ts +718 -0
- package/src/domain/run/battlegroundRun.ts +111 -0
- package/src/domain/run/canEnterContext.ts +32 -0
- package/src/domain/run/death.ts +561 -0
- package/src/domain/run/deathRecovery.ts +289 -0
- package/src/domain/run/duel.ts +141 -0
- package/src/domain/run/dungeonRun.ts +344 -0
- package/src/domain/run/floorRest.ts +159 -0
- package/src/domain/run/honor.ts +557 -0
- package/src/domain/run/honorWeek.ts +180 -0
- package/src/domain/run/whenMap.ts +977 -0
- package/src/domain/scriptdev/arathiHighlands.ts +445 -0
- package/src/domain/scriptdev/ashenvale.ts +635 -0
- package/src/domain/scriptdev/ashenvaleHelpers.ts +1215 -0
- package/src/domain/scriptdev/azshara.ts +892 -0
- package/src/domain/scriptdev/blackfathomDeeps.ts +212 -0
- package/src/domain/scriptdev/blackrockDepths.ts +1434 -0
- package/src/domain/scriptdev/blackrockSpire.ts +730 -0
- package/src/domain/scriptdev/blackwingLair.ts +521 -0
- package/src/domain/scriptdev/burningSteppes.ts +62 -0
- package/src/domain/scriptdev/classFilter.ts +43 -0
- package/src/domain/scriptdev/darkshore.ts +817 -0
- package/src/domain/scriptdev/darkshoreHelpers.ts +853 -0
- package/src/domain/scriptdev/deadmines.ts +331 -0
- package/src/domain/scriptdev/desolace.ts +1239 -0
- package/src/domain/scriptdev/direMaul.ts +859 -0
- package/src/domain/scriptdev/durotar.ts +532 -0
- package/src/domain/scriptdev/dustwallowMarsh.ts +758 -0
- package/src/domain/scriptdev/dustwallowMarshHelpers.ts +994 -0
- package/src/domain/scriptdev/easternPlaguelands.ts +21 -0
- package/src/domain/scriptdev/felwood.ts +1055 -0
- package/src/domain/scriptdev/feralas.ts +571 -0
- package/src/domain/scriptdev/feralasHelpers.ts +838 -0
- package/src/domain/scriptdev/gnomeregan.ts +466 -0
- package/src/domain/scriptdev/guards.ts +616 -0
- package/src/domain/scriptdev/hinterlands.ts +693 -0
- package/src/domain/scriptdev/host.ts +1134 -0
- package/src/domain/scriptdev/index.ts +123 -0
- package/src/domain/scriptdev/instanceRaids.ts +136 -0
- package/src/domain/scriptdev/itemScripts.ts +37 -0
- package/src/domain/scriptdev/lochModan.ts +283 -0
- package/src/domain/scriptdev/maraudon.ts +232 -0
- package/src/domain/scriptdev/moltenCore.ts +831 -0
- package/src/domain/scriptdev/moonglade.ts +659 -0
- package/src/domain/scriptdev/moongladeHelpers.ts +933 -0
- package/src/domain/scriptdev/naxxramas.ts +577 -0
- package/src/domain/scriptdev/naxxramasConstruct.ts +364 -0
- package/src/domain/scriptdev/naxxramasFrostwyrm.ts +378 -0
- package/src/domain/scriptdev/naxxramasMilitary.ts +276 -0
- package/src/domain/scriptdev/npcProfessions.ts +1025 -0
- package/src/domain/scriptdev/npcsSpecial.ts +1379 -0
- package/src/domain/scriptdev/onyxiasLair.ts +313 -0
- package/src/domain/scriptdev/orgrimmar.ts +147 -0
- package/src/domain/scriptdev/professionSpecConsumer.ts +481 -0
- package/src/domain/scriptdev/razorfenDowns.ts +468 -0
- package/src/domain/scriptdev/razorfenKraul.ts +410 -0
- package/src/domain/scriptdev/redridgeMountains.ts +163 -0
- package/src/domain/scriptdev/registry.ts +945 -0
- package/src/domain/scriptdev/ruinsOfAhnqiraj.ts +356 -0
- package/src/domain/scriptdev/scarletMonastery.ts +713 -0
- package/src/domain/scriptdev/scholomance.ts +682 -0
- package/src/domain/scriptdev/searingGorge.ts +295 -0
- package/src/domain/scriptdev/shadowfangKeep.ts +181 -0
- package/src/domain/scriptdev/silithus.ts +71 -0
- package/src/domain/scriptdev/silverpineForest.ts +662 -0
- package/src/domain/scriptdev/stonetalonMountains.ts +493 -0
- package/src/domain/scriptdev/stormwindCity.ts +1192 -0
- package/src/domain/scriptdev/stranglethornVale.ts +402 -0
- package/src/domain/scriptdev/stratholme.ts +650 -0
- package/src/domain/scriptdev/stratholmeScripts.ts +505 -0
- package/src/domain/scriptdev/sunkenTemple.ts +736 -0
- package/src/domain/scriptdev/swampOfSorrows.ts +22 -0
- package/src/domain/scriptdev/tanaris.ts +391 -0
- package/src/domain/scriptdev/tanarisHelpers.ts +661 -0
- package/src/domain/scriptdev/teldrassil.ts +143 -0
- package/src/domain/scriptdev/templeOfAhnqiraj.ts +1013 -0
- package/src/domain/scriptdev/theBarrens.ts +709 -0
- package/src/domain/scriptdev/theBarrensHelpers.ts +1026 -0
- package/src/domain/scriptdev/thousandNeedles.ts +426 -0
- package/src/domain/scriptdev/thousandNeedlesHelpers.ts +566 -0
- package/src/domain/scriptdev/tirisfalGlades.ts +533 -0
- package/src/domain/scriptdev/types.ts +1026 -0
- package/src/domain/scriptdev/uldaman.ts +437 -0
- package/src/domain/scriptdev/ungoroCrater.ts +549 -0
- package/src/domain/scriptdev/ungoroCraterHelpers.ts +1006 -0
- package/src/domain/scriptdev/wailingCaverns.ts +700 -0
- package/src/domain/scriptdev/warEffort.ts +371 -0
- package/src/domain/scriptdev/westernPlaguelands.ts +952 -0
- package/src/domain/scriptdev/westfall.ts +767 -0
- package/src/domain/scriptdev/wetlands.ts +660 -0
- package/src/domain/scriptdev/winterspring.ts +482 -0
- package/src/domain/scriptdev/winterspringHelpers.ts +801 -0
- package/src/domain/scriptdev/worldBosses.ts +605 -0
- package/src/domain/scriptdev/zulfarrak.ts +478 -0
- package/src/domain/scriptdev/zulgurub.ts +1152 -0
- package/src/domain/sim/dummySim.ts +408 -0
- package/src/domain/sim/targetDummy.ts +29 -0
- package/src/domain/social/guild.ts +148 -0
- package/src/domain/spells/areaAuraMembership.ts +93 -0
- package/src/domain/spells/breakableStunCc.ts +166 -0
- package/src/domain/spells/cancelAura.ts +80 -0
- package/src/domain/spells/diminishing.ts +167 -0
- package/src/domain/spells/dispel.ts +149 -0
- package/src/domain/spells/dispelMechanic.ts +105 -0
- package/src/domain/spells/equipSpells.ts +247 -0
- package/src/domain/spells/learnOnTargets.ts +260 -0
- package/src/domain/spells/mergeSchoolImmunityFromRaw.ts +66 -0
- package/src/domain/spells/resurrectSpell.ts +124 -0
- package/src/domain/spells/spellPushback.ts +39 -0
- package/src/domain/spells/spellReflect.ts +43 -0
- package/src/domain/spells/stealth.ts +183 -0
- package/src/domain/spells/totem.ts +394 -0
- package/src/domain/spells/worldCast.ts +187 -0
- package/src/domain/world/areaTriggerLocks.ts +177 -0
- package/src/domain/world/dungeonMusic.ts +108 -0
- package/src/domain/world/gameEvents.ts +119 -0
- package/src/domain/world/gameObjects.ts +1030 -0
- package/src/domain/world/goEventFire.ts +234 -0
- package/src/domain/world/goMoTransport.ts +74 -0
- package/src/domain/world/goTransport.ts +81 -0
- package/src/domain/world/hazards.ts +459 -0
- package/src/domain/world/openLock.ts +398 -0
- package/src/domain/world/pools.ts +470 -0
- package/src/domain/world/restArea.ts +37 -0
- package/src/domain/world/weather.ts +201 -0
- package/src/domain/zoneAmbience.mjs +87 -0
- package/src/domain/zoneMusic.mjs +62 -0
- package/src/domain/zoneMusicQueue.mjs +7 -0
- package/src/engine/combat/activeSeal.ts +39 -0
- package/src/engine/combat/aiTargetResolve.ts +64 -0
- package/src/engine/combat/aoeCast.ts +289 -0
- package/src/engine/combat/applyConsumeAura.ts +74 -0
- package/src/engine/combat/applyDemonicSacrifice.ts +70 -0
- package/src/engine/combat/applyDispelMechanic.ts +30 -0
- package/src/engine/combat/applyHealEffect.ts +301 -0
- package/src/engine/combat/applySchoolAbsorb.ts +114 -0
- package/src/engine/combat/applySpell.ts +3169 -0
- package/src/engine/combat/applySpellLate.ts +2026 -0
- package/src/engine/combat/applySpellLateBag.ts +144 -0
- package/src/engine/combat/areaAura.ts +283 -0
- package/src/engine/combat/attackTable.ts +508 -0
- package/src/engine/combat/battleRez.ts +87 -0
- package/src/engine/combat/castAction.ts +36 -0
- package/src/engine/combat/castTargetGates.ts +75 -0
- package/src/engine/combat/castableKit.ts +68 -0
- package/src/engine/combat/ccMirrorUpgrade.ts +39 -0
- package/src/engine/combat/chainFan.ts +210 -0
- package/src/engine/combat/channel.ts +423 -0
- package/src/engine/combat/chaseCloseness.ts +95 -0
- package/src/engine/combat/cmangosCastGates.ts +129 -0
- package/src/engine/combat/combatFlag.ts +77 -0
- package/src/engine/combat/combatGeometry.ts +1329 -0
- package/src/engine/combat/combustion.ts +68 -0
- package/src/engine/combat/context.ts +730 -0
- package/src/engine/combat/createSession.ts +1165 -0
- package/src/engine/combat/creatureLeash.ts +38 -0
- package/src/engine/combat/crowdControl.ts +1259 -0
- package/src/engine/combat/dispelDuty.ts +54 -0
- package/src/engine/combat/dispelReflect.ts +609 -0
- package/src/engine/combat/displaceFloor.ts +113 -0
- package/src/engine/combat/duelBounds.ts +47 -0
- package/src/engine/combat/equippedItemGate.ts +297 -0
- package/src/engine/combat/evadeLifecycle.ts +63 -0
- package/src/engine/combat/eventAi.ts +2220 -0
- package/src/engine/combat/facing.ts +74 -0
- package/src/engine/combat/fearFlee.ts +137 -0
- package/src/engine/combat/fighterFactory.ts +1144 -0
- package/src/engine/combat/forceDespawnAction.ts +51 -0
- package/src/engine/combat/formulas.ts +807 -0
- package/src/engine/combat/friendlyFan.ts +55 -0
- package/src/engine/combat/groundPoolTick.ts +210 -0
- package/src/engine/combat/hazards.ts +114 -0
- package/src/engine/combat/healTargets.ts +226 -0
- package/src/engine/combat/heartbeatResist.ts +49 -0
- package/src/engine/combat/hostileItemUse.ts +75 -0
- package/src/engine/combat/interruptAuras.ts +66 -0
- package/src/engine/combat/itemRescue.ts +49 -0
- package/src/engine/combat/itemUse.ts +260 -0
- package/src/engine/combat/kitById.ts +23 -0
- package/src/engine/combat/knockBack.ts +201 -0
- package/src/engine/combat/leap.ts +89 -0
- package/src/engine/combat/mitigation.ts +587 -0
- package/src/engine/combat/modTaunt.ts +43 -0
- package/src/engine/combat/motionClaim.ts +268 -0
- package/src/engine/combat/motionGate.ts +150 -0
- package/src/engine/combat/motionGenerator.ts +27 -0
- package/src/engine/combat/navSight.ts +138 -0
- package/src/engine/combat/perfSink.ts +28 -0
- package/src/engine/combat/periodicDue.ts +55 -0
- package/src/engine/combat/petAuras.ts +86 -0
- package/src/engine/combat/pickAction.ts +3449 -0
- package/src/engine/combat/powerForm.ts +735 -0
- package/src/engine/combat/powerPools.ts +49 -0
- package/src/engine/combat/predicates.ts +538 -0
- package/src/engine/combat/procsDamage.ts +1823 -0
- package/src/engine/combat/reactiveGates.ts +135 -0
- package/src/engine/combat/roles.ts +389 -0
- package/src/engine/combat/rotationSubject.ts +78 -0
- package/src/engine/combat/ruleAfter.ts +106 -0
- package/src/engine/combat/seedDisplayAuras.ts +203 -0
- package/src/engine/combat/seedOocEffects.ts +317 -0
- package/src/engine/combat/seedSchoolImmunities.ts +45 -0
- package/src/engine/combat/session-types.ts +458 -0
- package/src/engine/combat/sessionApi.ts +1785 -0
- package/src/engine/combat/sessionCharge.ts +124 -0
- package/src/engine/combat/sessionChase.ts +869 -0
- package/src/engine/combat/sessionDeaths.ts +469 -0
- package/src/engine/combat/sessionFocus.ts +506 -0
- package/src/engine/combat/sessionFollow.ts +167 -0
- package/src/engine/combat/sessionGeometry.ts +188 -0
- package/src/engine/combat/sessionHome.ts +75 -0
- package/src/engine/combat/sessionInject.ts +719 -0
- package/src/engine/combat/sessionMechanicMove.ts +555 -0
- package/src/engine/combat/sessionMotion.ts +1553 -0
- package/src/engine/combat/sessionMotionKit.ts +247 -0
- package/src/engine/combat/sessionMoveIntent.ts +49 -0
- package/src/engine/combat/sessionMoveOrder.ts +200 -0
- package/src/engine/combat/sessionPathTo.ts +657 -0
- package/src/engine/combat/sessionPools.ts +688 -0
- package/src/engine/combat/sessionSteer.ts +144 -0
- package/src/engine/combat/sessionStepBack.ts +151 -0
- package/src/engine/combat/sessionStepWrap.ts +116 -0
- package/src/engine/combat/sessionView.ts +442 -0
- package/src/engine/combat/simEffects.ts +32 -0
- package/src/engine/combat/simFacade.ts +620 -0
- package/src/engine/combat/simPump.ts +264 -0
- package/src/engine/combat/simSnapshot.ts +165 -0
- package/src/engine/combat/simThreadPool.ts +35 -0
- package/src/engine/combat/skeramImages.ts +57 -0
- package/src/engine/combat/slowUpdate.ts +178 -0
- package/src/engine/combat/snapToFloor.ts +42 -0
- package/src/engine/combat/speedAura.ts +29 -0
- package/src/engine/combat/spellReagents.ts +71 -0
- package/src/engine/combat/stealthDetect.ts +93 -0
- package/src/engine/combat/stepBackMotion.ts +171 -0
- package/src/engine/combat/stepSession.ts +3102 -0
- package/src/engine/combat/summonCast.ts +243 -0
- package/src/engine/combat/thaddiusPolarity.ts +97 -0
- package/src/engine/combat/threat.ts +388 -0
- package/src/engine/combat/threatOps.ts +272 -0
- package/src/engine/combat/tickWorkerBody.ts +211 -0
- package/src/engine/combat/totemAuras.ts +122 -0
- package/src/engine/combat/triggerPayload.ts +42 -0
- package/src/engine/combat/triggeredCompanion.ts +63 -0
- package/src/engine/combat/types.ts +1897 -0
- package/src/engine/combat/useObjectTrap.ts +140 -0
- package/src/engine/combat/walkSurface.ts +54 -0
- package/src/engine/combat/weapon.ts +1248 -0
- package/src/engine/combat/worldFrame.ts +43 -0
- package/src/engine/combat.solo-golden.json +2242 -0
- package/src/engine/combat.ts +84 -0
- package/src/engine/core/detMath.ts +289 -0
- package/src/engine/core/events.ts +357 -0
- package/src/engine/core/rng.ts +36 -0
- package/src/engine/game/actionBars.ts +124 -0
- package/src/engine/game/activateObjectFromSpell.ts +320 -0
- package/src/engine/game/applyActiveObjectFromDbScript.ts +98 -0
- package/src/engine/game/applyDeathAndSpellScripts.ts +268 -0
- package/src/engine/game/applyDoorFromDbScript.ts +388 -0
- package/src/engine/game/applyEscortFromDbScript.ts +290 -0
- package/src/engine/game/applyGoSpellcasterCast.ts +40 -0
- package/src/engine/game/applyHoverFromDbScript.ts +110 -0
- package/src/engine/game/applyOocResurrect.ts +71 -0
- package/src/engine/game/applySpellDurability.ts +115 -0
- package/src/engine/game/applyTailFromDbScript.ts +478 -0
- package/src/engine/game/applyTerminateFromDbScript.ts +95 -0
- package/src/engine/game/auctionMail.ts +269 -0
- package/src/engine/game/bagOverflow.ts +130 -0
- package/src/engine/game/bank.ts +110 -0
- package/src/engine/game/barAutofill.ts +26 -0
- package/src/engine/game/battleground.ts +369 -0
- package/src/engine/game/combatEnemySpec.ts +216 -0
- package/src/engine/game/combatObjectTraps.ts +167 -0
- package/src/engine/game/combatSeed.ts +320 -0
- package/src/engine/game/combatSession.ts +3241 -0
- package/src/engine/game/combatSessionClock.ts +62 -0
- package/src/engine/game/companionQuestActions.ts +242 -0
- package/src/engine/game/companionTraining.ts +40 -0
- package/src/engine/game/consumables.ts +624 -0
- package/src/engine/game/context.ts +53 -0
- package/src/engine/game/createHealthstone.ts +45 -0
- package/src/engine/game/deathFlow.ts +127 -0
- package/src/engine/game/devGrant.ts +117 -0
- package/src/engine/game/dynamicObject.ts +365 -0
- package/src/engine/game/enchantItem.ts +177 -0
- package/src/engine/game/equipmentHelper.ts +806 -0
- package/src/engine/game/factionState.ts +108 -0
- package/src/engine/game/garmentsOoc.ts +69 -0
- package/src/engine/game/globalActionBar.ts +179 -0
- package/src/engine/game/goInteractQuestCredit.ts +51 -0
- package/src/engine/game/goMoTransportUse.ts +61 -0
- package/src/engine/game/goTransportUse.ts +60 -0
- package/src/engine/game/healthstoneUpkeep.ts +59 -0
- package/src/engine/game/killSkin.ts +124 -0
- package/src/engine/game/learnFromItem.ts +118 -0
- package/src/engine/game/loadReconcile.ts +551 -0
- package/src/engine/game/loot.ts +294 -0
- package/src/engine/game/macros.ts +125 -0
- package/src/engine/game/mail.ts +293 -0
- package/src/engine/game/meetingStoneQueue.ts +75 -0
- package/src/engine/game/meetingStoneUse.ts +54 -0
- package/src/engine/game/newGameState.ts +363 -0
- package/src/engine/game/oocAuraInterrupt.ts +92 -0
- package/src/engine/game/oocCast.ts +241 -0
- package/src/engine/game/oocCastEffects.ts +803 -0
- package/src/engine/game/oocCastMethods.ts +1077 -0
- package/src/engine/game/openLockFromSpell.ts +174 -0
- package/src/engine/game/outdoorPvp.ts +187 -0
- package/src/engine/game/outfitter.ts +644 -0
- package/src/engine/game/paladinBoard.ts +393 -0
- package/src/engine/game/partyAuras.ts +121 -0
- package/src/engine/game/persistCombatAuras.ts +91 -0
- package/src/engine/game/pets.ts +459 -0
- package/src/engine/game/prePullHealthstones.ts +154 -0
- package/src/engine/game/professions.ts +2227 -0
- package/src/engine/game/pruneStaleRuntime.ts +39 -0
- package/src/engine/game/questFightCredit.ts +36 -0
- package/src/engine/game/questItemOnCorpse.ts +166 -0
- package/src/engine/game/questItemOnCreature.ts +103 -0
- package/src/engine/game/questLog.ts +879 -0
- package/src/engine/game/questSpellComplete.ts +21 -0
- package/src/engine/game/questTurnIn.ts +598 -0
- package/src/engine/game/raidParty.ts +32 -0
- package/src/engine/game/reagentBuyIn.ts +39 -0
- package/src/engine/game/regenRest.ts +186 -0
- package/src/engine/game/rotation.ts +425 -0
- package/src/engine/game/runFullDungeon.ts +611 -0
- package/src/engine/game/runSupply.ts +80 -0
- package/src/engine/game/sanitizeDriftedItems.ts +135 -0
- package/src/engine/game/scriptDevGoUse.ts +397 -0
- package/src/engine/game/scriptDevInnkeeper.ts +150 -0
- package/src/engine/game/scriptDevProfessionSpec.ts +99 -0
- package/src/engine/game/sendEventFromSpell.ts +87 -0
- package/src/engine/game/sortContainers.ts +85 -0
- package/src/engine/game/spellReputation.ts +69 -0
- package/src/engine/game/squad/squadDungeonSeating.ts +197 -0
- package/src/engine/game/squadDungeon.ts +4222 -0
- package/src/engine/game/squadQuestShare.ts +260 -0
- package/src/engine/game/summonObjectSlot.ts +69 -0
- package/src/engine/game/summonObjectWild.ts +73 -0
- package/src/engine/game/summoningRitualUse.ts +141 -0
- package/src/engine/game/talents.ts +356 -0
- package/src/engine/game/tamingRodUse.ts +66 -0
- package/src/engine/game/tempSpawnCreature.ts +136 -0
- package/src/engine/game/tickDungeonPatrolScripts.ts +205 -0
- package/src/engine/game/tickTimedQuests.ts +28 -0
- package/src/engine/game/trade.ts +586 -0
- package/src/engine/game/travel.ts +1155 -0
- package/src/engine/game/types.ts +1855 -0
- package/src/engine/game/vendorOffers.ts +244 -0
- package/src/engine/game/weaponImbueItem.ts +281 -0
- package/src/engine/game/worldSession.ts +183 -0
- package/src/engine/game/worldState.ts +166 -0
- package/src/engine/game.ts +968 -0
- package/src/engine/spells/GAP.md +67 -0
- package/src/engine/spells/absorbs.ts +376 -0
- package/src/engine/spells/addTargetTrigger.ts +53 -0
- package/src/engine/spells/auraPerSecondCost.ts +50 -0
- package/src/engine/spells/auraStacking.ts +497 -0
- package/src/engine/spells/cmangos-special-cases-combustion.ts +13 -0
- package/src/engine/spells/cmangos-special-cases-s18.ts +445 -0
- package/src/engine/spells/cmangos-special-cases-s19.ts +324 -0
- package/src/engine/spells/cmangos-special-cases-s20.ts +385 -0
- package/src/engine/spells/cmangos-special-cases-s21.ts +116 -0
- package/src/engine/spells/cmangos-special-cases-s22.ts +24 -0
- package/src/engine/spells/cmangos-special-cases-s23.ts +52 -0
- package/src/engine/spells/cmangos-special-cases.ts +1570 -0
- package/src/engine/spells/conditions.ts +718 -0
- package/src/engine/spells/effects.ts +203 -0
- package/src/engine/spells/fixtures/oracle-effects-lock9a.json +1 -0
- package/src/engine/spells/immunity.ts +942 -0
- package/src/engine/spells/intentEffects.ts +351 -0
- package/src/engine/spells/interpreter/GAPS.md +21 -0
- package/src/engine/spells/interpreter/amount.ts +109 -0
- package/src/engine/spells/interpreter/class-scripts-kit.ts +478 -0
- package/src/engine/spells/interpreter/diff.ts +246 -0
- package/src/engine/spells/interpreter/duration.ts +90 -0
- package/src/engine/spells/interpreter/form-attrs.json +1 -0
- package/src/engine/spells/interpreter/form-attrs.ts +95 -0
- package/src/engine/spells/interpreter/handlers/aura-remove.ts +113 -0
- package/src/engine/spells/interpreter/handlers/auras-control.ts +1547 -0
- package/src/engine/spells/interpreter/handlers/auras-core.ts +1583 -0
- package/src/engine/spells/interpreter/handlers/auras-misc.ts +1774 -0
- package/src/engine/spells/interpreter/handlers/effect-disenchant.ts +17 -0
- package/src/engine/spells/interpreter/handlers/effect-skinning.ts +20 -0
- package/src/engine/spells/interpreter/handlers/effects-action-utility.ts +1455 -0
- package/src/engine/spells/interpreter/handlers/effects-core.ts +432 -0
- package/src/engine/spells/interpreter/handlers/effects-remainder.ts +105 -0
- package/src/engine/spells/interpreter/handlers/effects-summon-item.ts +687 -0
- package/src/engine/spells/interpreter/handlers/mod-increase-energy-percent.ts +36 -0
- package/src/engine/spells/interpreter/handlers/mod-increase-energy.ts +36 -0
- package/src/engine/spells/interpreter/handlers/periodic-trigger-zero.ts +327 -0
- package/src/engine/spells/interpreter/handlers/procs.ts +131 -0
- package/src/engine/spells/interpreter/handlers/registry.ts +975 -0
- package/src/engine/spells/interpreter/handlers/shared.ts +667 -0
- package/src/engine/spells/interpreter/handlers.ts +9 -0
- package/src/engine/spells/interpreter/hunter-kit.ts +202 -0
- package/src/engine/spells/interpreter/index.ts +525 -0
- package/src/engine/spells/interpreter/item-triggers.ts +1121 -0
- package/src/engine/spells/interpreter/lift-consume-energy.ts +37 -0
- package/src/engine/spells/interpreter/mage-portals.ts +37 -0
- package/src/engine/spells/interpreter/materialize-charm.ts +88 -0
- package/src/engine/spells/interpreter/materialize-dispel-mechanic.ts +25 -0
- package/src/engine/spells/interpreter/materialize-rating-buffs.ts +81 -0
- package/src/engine/spells/interpreter/materialize-speed.ts +109 -0
- package/src/engine/spells/interpreter/materialize-spell-magnet.ts +22 -0
- package/src/engine/spells/interpreter/opcodes.ts +789 -0
- package/src/engine/spells/interpreter/paladin-kit.ts +95 -0
- package/src/engine/spells/interpreter/paladin-seals.ts +499 -0
- package/src/engine/spells/interpreter/priest-warlock-kit.ts +135 -0
- package/src/engine/spells/interpreter/proc.ts +443 -0
- package/src/engine/spells/interpreter/registry/helpers.ts +16 -0
- package/src/engine/spells/interpreter/registry/index.ts +216 -0
- package/src/engine/spells/interpreter/registry/packs/class-abilities.ts +304 -0
- package/src/engine/spells/interpreter/registry/packs/dire-maul.ts +44 -0
- package/src/engine/spells/interpreter/registry/packs/dummy-script-tail.ts +1065 -0
- package/src/engine/spells/interpreter/registry/packs/ex-wave-m.ts +70 -0
- package/src/engine/spells/interpreter/registry/packs/life-tap.ts +107 -0
- package/src/engine/spells/interpreter/registry/packs/paladin.ts +246 -0
- package/src/engine/spells/interpreter/registry/packs/raid-script-summons.ts +26 -0
- package/src/engine/spells/interpreter/registry/packs/raid-threat-wipe.ts +22 -0
- package/src/engine/spells/interpreter/registry/packs/shaman.ts +214 -0
- package/src/engine/spells/interpreter/registry/packs/si4-dummy-generic-a.ts +269 -0
- package/src/engine/spells/interpreter/registry/packs/si4-dummy-generic-b.ts +370 -0
- package/src/engine/spells/interpreter/registry/packs/si4-dummy-generic-c.ts +172 -0
- package/src/engine/spells/interpreter/registry/packs/si4-dummy-hunter.ts +60 -0
- package/src/engine/spells/interpreter/registry/packs/si4-dummy-warrior.ts +31 -0
- package/src/engine/spells/interpreter/registry/packs/si4-script-generic-a.ts +114 -0
- package/src/engine/spells/interpreter/registry/packs/si4-script-generic-b.ts +249 -0
- package/src/engine/spells/interpreter/registry/packs/si4-script-generic-c.ts +233 -0
- package/src/engine/spells/interpreter/registry/types.ts +48 -0
- package/src/engine/spells/interpreter/talent-scripted.ts +329 -0
- package/src/engine/spells/interpreter/targeting.ts +90 -0
- package/src/engine/spells/interpreter/types-intent.ts +1501 -0
- package/src/engine/spells/interpreter/types.ts +419 -0
- package/src/engine/spells/interpreter/warrior-druid-kit.ts +314 -0
- package/src/engine/spells/interpreter/weapon-imbue-kit.ts +384 -0
- package/src/engine/spells/interrupt.ts +217 -0
- package/src/engine/spells/meleeAttackReset.ts +60 -0
- package/src/engine/spells/oocTriggerSpell.ts +49 -0
- package/src/engine/spells/overrideClassScripts.ts +319 -0
- package/src/engine/spells/parryHaste.ts +20 -0
- package/src/engine/spells/procs.ts +300 -0
- package/src/engine/spells/recovery.ts +203 -0
- package/src/engine/spells/scriptTargetDest.ts +76 -0
- package/src/engine/spells/scriptTargets.ts +85 -0
- package/src/engine/spells/singleTargetAura.ts +82 -0
- package/src/engine/spells/specialCasePayloads.ts +57 -0
- package/src/engine/spells/spellAttributes.ts +249 -0
- package/src/engine/spells/spellBonus.ts +143 -0
- package/src/engine/spells/spellModIntents.ts +419 -0
- package/src/engine/spells/spellMods.ts +283 -0
- package/src/engine/spells/spellRadius.ts +15 -0
- package/src/engine/spells/trapObjects.ts +26 -0
- package/src/json.d.ts +7 -0
- package/src/persistence/memoryRepository.ts +23 -0
- package/src/persistence/saveBackups.ts +162 -0
- package/src/persistence/saveFile.ts +68 -0
- package/src/persistence/saveRepository.ts +11 -0
- package/src/persistence/saveShape.ts +668 -0
- package/src/progression/leveling.ts +89 -0
- package/src/progression/rest.ts +1434 -0
- package/src/progression/training.ts +226 -0
- package/src/progression/xpGain.ts +369 -0
- package/src/quests/quests.ts +1580 -0
- package/src/world/aoePull.ts +198 -0
- package/src/world/areaTableDbc.ts +39 -0
- package/src/world/areaTableMapIdPairs.ts +141 -0
- package/src/world/bakeSlug.ts +43 -0
- package/src/world/continuousDungeon.ts +1250 -0
- package/src/world/dungeonBakeProjection.ts +190 -0
- package/src/world/dungeonMapDensity.ts +342 -0
- package/src/world/dungeonMapProjection.ts +135 -0
- package/src/world/dungeonNav.ts +904 -0
- package/src/world/dungeonNpcSim.ts +147 -0
- package/src/world/dungeonObjectives.ts +234 -0
- package/src/world/dungeonPreset.ts +35 -0
- package/src/world/dungeonRoute.ts +311 -0
- package/src/world/dungeonRouteGeometry.ts +732 -0
- package/src/world/dungeonRouteOrder.ts +1037 -0
- package/src/world/dungeonWingRooms.ts +426 -0
- package/src/world/escort.ts +296 -0
- package/src/world/goPoolRoll.ts +75 -0
- package/src/world/instanceObjects.ts +785 -0
- package/src/world/instances.ts +1572 -0
- package/src/world/meetingStones.ts +56 -0
- package/src/world/navmeshFloors.ts +145 -0
- package/src/world/nearGrid.ts +167 -0
- package/src/world/packBudget.ts +613 -0
- package/src/world/rareRoll.ts +335 -0
- package/src/world/routeAuthoring.ts +132 -0
- package/src/world/routeEdit.ts +209 -0
- package/src/world/world.ts +812 -0
- package/src/world/zoneHazards.ts +47 -0
|
@@ -0,0 +1,635 @@
|
|
|
1
|
+
// Ashenvale ScriptDev IR ports. Source: scripts/kalimdor/ashenvale.cpp — npc_muglash,
|
|
2
|
+
// go_naga_brazier, npc_ruul_snowhoof, npc_torek, npc_feero_ironhand. Every value cites file:line.
|
|
3
|
+
|
|
4
|
+
import type { ScriptDevIR } from './types.ts';
|
|
5
|
+
|
|
6
|
+
// Shared faction / tempfaction / AI event constants
|
|
7
|
+
|
|
8
|
+
// FACTION_ESCORT_H_NEUTRAL_PASSIVE. Cite: ScriptDevAIMgr.h:45 = 33; ashenvale.cpp:362 Muglash, :470 Ruul
|
|
9
|
+
export const FACTION_ESCORT_H_NEUTRAL_PASSIVE = 33;
|
|
10
|
+
|
|
11
|
+
/** FACTION_ESCORT_A_NEUTRAL_PASSIVE. Cite: ScriptDevAIMgr.h:44 = 10; ashenvale.cpp:768 Feero */
|
|
12
|
+
export const FACTION_ESCORT_A_NEUTRAL_PASSIVE = 10;
|
|
13
|
+
|
|
14
|
+
/** TEMPFACTION_RESTORE_RESPAWN. Cite: Creature.h TEMPFACTION_RESTORE_RESPAWN=0x01; ashenvale.cpp:362 */
|
|
15
|
+
export const TEMPFACTION_RESTORE_RESPAWN = 0x01;
|
|
16
|
+
|
|
17
|
+
// TEMPFACTION_TOGGLE_IMMUNE_TO_PLAYER. Cite: Creature.h:581 = 0x10; ashenvale.cpp:470 Ruul flags
|
|
18
|
+
// RESTORE_RESPAWN|TOGGLE_IMMUNE_TO_PLAYER
|
|
19
|
+
export const TEMPFACTION_TOGGLE_IMMUNE_TO_PLAYER = 0x10;
|
|
20
|
+
|
|
21
|
+
// TEMPFACTION_TOGGLE_IMMUNE_TO_NPC. Cite: Creature.h:582 = 0x20; ashenvale.cpp:768 Feero flags
|
|
22
|
+
// RESTORE_RESPAWN|TOGGLE_IMMUNE_TO_NPC
|
|
23
|
+
export const TEMPFACTION_TOGGLE_IMMUNE_TO_NPC = 0x20;
|
|
24
|
+
|
|
25
|
+
/** AI_EVENT_CUSTOM_A — brazier → Muglash wave start. Cite: AIDefines.h:50 = 1000; ashenvale.cpp:177,374 */
|
|
26
|
+
export const AI_EVENT_CUSTOM_A = 1000;
|
|
27
|
+
|
|
28
|
+
/** UNIT_STAND_STATE_STAND / SIT. Cite: Unit.h; ashenvale.cpp:297,303 SIT */
|
|
29
|
+
export const UNIT_STAND_STATE_STAND = 0;
|
|
30
|
+
export const UNIT_STAND_STATE_SIT = 1;
|
|
31
|
+
|
|
32
|
+
// Constants — ashenvale.cpp npc_muglash + go_naga_brazier
|
|
33
|
+
|
|
34
|
+
// ashenvale.cpp:43–75
|
|
35
|
+
/** Cite: ashenvale.cpp:43 SAY_MUGLASH_AGGRO = 8412 */
|
|
36
|
+
export const SAY_MUGLASH_AGGRO = 8412;
|
|
37
|
+
/** Cite: ashenvale.cpp:44 SAY_MUGLASH_BRAZIER = 8556 */
|
|
38
|
+
export const SAY_MUGLASH_BRAZIER = 8556;
|
|
39
|
+
/** Cite: ashenvale.cpp:45 SAY_MUGLASH_FAIL = 8409 */
|
|
40
|
+
export const SAY_MUGLASH_FAIL = 8409;
|
|
41
|
+
/** Cite: ashenvale.cpp:46 SAY_MUGLASH_EVENT_01 = 8410 */
|
|
42
|
+
export const SAY_MUGLASH_EVENT_01 = 8410;
|
|
43
|
+
/** Cite: ashenvale.cpp:47 SAY_MUGLASH_EVENT_02 = 8413 */
|
|
44
|
+
export const SAY_MUGLASH_EVENT_02 = 8413;
|
|
45
|
+
/** Cite: ashenvale.cpp:48 SAY_MUGLASH_EVENT_03 = 8567 */
|
|
46
|
+
export const SAY_MUGLASH_EVENT_03 = 8567;
|
|
47
|
+
/** Cite: ashenvale.cpp:49 SAY_MUGLASH_EVENT_04 = 8568 */
|
|
48
|
+
export const SAY_MUGLASH_EVENT_04 = 8568;
|
|
49
|
+
/** Cite: ashenvale.cpp:50 SAY_MUGLASH_SUCCESS = 8569 */
|
|
50
|
+
export const SAY_MUGLASH_SUCCESS = 8569;
|
|
51
|
+
/** Cite: ashenvale.cpp:51 SAY_MUGLASH_SUCCESS_02 = 8558 */
|
|
52
|
+
export const SAY_MUGLASH_SUCCESS_02 = 8558;
|
|
53
|
+
/** Cite: ashenvale.cpp:52 SAY_MUGLASH_SUCCESS_03 = 8564 */
|
|
54
|
+
export const SAY_MUGLASH_SUCCESS_03 = 8564;
|
|
55
|
+
/** Cite: ashenvale.cpp:53 SAY_MUGLASH_SUCCESS_04 = 8565 */
|
|
56
|
+
export const SAY_MUGLASH_SUCCESS_04 = 8565;
|
|
57
|
+
|
|
58
|
+
/** Cite: ashenvale.cpp:55 QUEST_VORSHA = 6641 */
|
|
59
|
+
export const QUEST_VORSHA = 6641;
|
|
60
|
+
/** Cite: ashenvale.cpp:56 MUGLASH_ESCORT_PATH = 12717 */
|
|
61
|
+
export const MUGLASH_ESCORT_PATH = 12717;
|
|
62
|
+
/** Cite: ashenvale.cpp:57 SPELL_MUGLASH_WAITING = 20861 */
|
|
63
|
+
export const SPELL_MUGLASH_WAITING = 20861;
|
|
64
|
+
/** Cite: ashenvale.cpp:59 GO_NAGA_BRAZIER = 178247 */
|
|
65
|
+
export const GO_NAGA_BRAZIER = 178247;
|
|
66
|
+
/** Cite: ashenvale.cpp:61 NPC_MUGLASH = 12717 */
|
|
67
|
+
export const NPC_MUGLASH = 12717;
|
|
68
|
+
|
|
69
|
+
/** First wave entries. Cite: ashenvale.cpp:64–66,90–95 */
|
|
70
|
+
export const NPC_WRATH_RIDER = 3713;
|
|
71
|
+
export const NPC_WRATH_SORCERESS = 3717;
|
|
72
|
+
export const NPC_WRATH_RAZORTAIL = 3712;
|
|
73
|
+
|
|
74
|
+
/** Second wave entries. Cite: ashenvale.cpp:69–71,103–108 */
|
|
75
|
+
export const NPC_WRATH_PRIESTESS = 3944;
|
|
76
|
+
export const NPC_WRATH_MYRMIDON = 3711;
|
|
77
|
+
export const NPC_WRATH_SEAWITCH = 3715;
|
|
78
|
+
|
|
79
|
+
/** Cite: ashenvale.cpp:74 NPC_VORSHA = 12940 */
|
|
80
|
+
export const NPC_VORSHA = 12940;
|
|
81
|
+
|
|
82
|
+
// MUGLASH_FAIL timer arm (5 minutes if brazier unused). Cite: ashenvale.cpp:273 ResetTimer(MUGLASH_FAIL,
|
|
83
|
+
// 300000)
|
|
84
|
+
export const MUGLASH_FAIL_MS = 300_000;
|
|
85
|
+
|
|
86
|
+
// Default MUGLASH_EVENT re-arm between dialogue steps. Cite:
|
|
87
|
+
// ashenvale.cpp:161,169,184,275,299,310,321,333,339,344 ResetTimer(…, 2000|…)
|
|
88
|
+
export const MUGLASH_EVENT_STEP_MS = 2000;
|
|
89
|
+
|
|
90
|
+
/** Post-wave1 rest delay before sit-continue. Cite: ashenvale.cpp:224 ResetTimer(MUGLASH_EVENT, 5000) */
|
|
91
|
+
export const MUGLASH_WAVE1_CLEAR_MS = 5000;
|
|
92
|
+
|
|
93
|
+
/** After EVENT_02 sit: next event step 9s. Cite: ashenvale.cpp:299 ResetTimer(MUGLASH_EVENT, 9000) */
|
|
94
|
+
export const MUGLASH_SIT_REST_MS = 9000;
|
|
95
|
+
|
|
96
|
+
// Wave2-dead dialogue step delays. Cite: ashenvale.cpp:310 3000; :321 8000; :333 3000; :339 5000; :344 5000
|
|
97
|
+
export const MUGLASH_EVENT_03_DELAY_MS = 3000;
|
|
98
|
+
export const MUGLASH_SUCCESS_DELAY_MS = 8000;
|
|
99
|
+
export const MUGLASH_SUCCESS_02_DELAY_MS = 3000;
|
|
100
|
+
export const MUGLASH_SUCCESS_03_DELAY_MS = 5000;
|
|
101
|
+
export const MUGLASH_SUCCESS_04_DELAY_MS = 5000;
|
|
102
|
+
|
|
103
|
+
/** ForcedDespawn after escort End random-walk. Cite: ashenvale.cpp:350 ForcedDespawn(14000) */
|
|
104
|
+
export const MUGLASH_DESPAWN_MS = 14_000;
|
|
105
|
+
|
|
106
|
+
/** Wave summon TEMPSPAWN_TIMED_OOC_DESPAWN. Cite: ashenvale.cpp:222,234,291 60000 */
|
|
107
|
+
export const MUGLASH_WAVE_DESPAWN_MS = 60_000;
|
|
108
|
+
|
|
109
|
+
/** First wave spawn coords. Cite: ashenvale.cpp:90–95 nagaLocations */
|
|
110
|
+
export const MUGLASH_WAVE1_SPAWNS = [
|
|
111
|
+
{
|
|
112
|
+
entry: NPC_WRATH_RAZORTAIL,
|
|
113
|
+
x: 3629.9194,
|
|
114
|
+
y: 1169.9987,
|
|
115
|
+
z: -3.4472558,
|
|
116
|
+
cite: 'ashenvale.cpp:92 NPC_WRATH_RAZORTAIL',
|
|
117
|
+
},
|
|
118
|
+
{
|
|
119
|
+
entry: NPC_WRATH_RIDER,
|
|
120
|
+
x: 3617.8516,
|
|
121
|
+
y: 1097.7166,
|
|
122
|
+
z: -4.0877485,
|
|
123
|
+
cite: 'ashenvale.cpp:93 NPC_WRATH_RIDER',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
entry: NPC_WRATH_SORCERESS,
|
|
127
|
+
x: 3583.1497,
|
|
128
|
+
y: 1165.5658,
|
|
129
|
+
z: -5.3660164,
|
|
130
|
+
cite: 'ashenvale.cpp:94 NPC_WRATH_SORCERESS',
|
|
131
|
+
},
|
|
132
|
+
] as const;
|
|
133
|
+
|
|
134
|
+
/** Second wave spawn coords. Cite: ashenvale.cpp:103–108 secondnagaLocations */
|
|
135
|
+
export const MUGLASH_WAVE2_SPAWNS = [
|
|
136
|
+
{
|
|
137
|
+
entry: NPC_WRATH_MYRMIDON,
|
|
138
|
+
x: 3575.009,
|
|
139
|
+
y: 1119.8704,
|
|
140
|
+
z: -4.2547455,
|
|
141
|
+
cite: 'ashenvale.cpp:105 NPC_WRATH_MYRMIDON',
|
|
142
|
+
},
|
|
143
|
+
{
|
|
144
|
+
entry: NPC_WRATH_SEAWITCH,
|
|
145
|
+
x: 3606.9448,
|
|
146
|
+
y: 1176.3822,
|
|
147
|
+
z: -2.9632108,
|
|
148
|
+
cite: 'ashenvale.cpp:106 NPC_WRATH_SEAWITCH',
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
entry: NPC_WRATH_PRIESTESS,
|
|
152
|
+
x: 3651.5383,
|
|
153
|
+
y: 1155.5522,
|
|
154
|
+
z: -3.9628646,
|
|
155
|
+
cite: 'ashenvale.cpp:107 NPC_WRATH_PRIESTESS',
|
|
156
|
+
},
|
|
157
|
+
] as const;
|
|
158
|
+
|
|
159
|
+
// Vorsha spawn. Cite: ashenvale.cpp:234 SummonCreature(NPC_VORSHA, 3630.2092f, 1190.3536f, -16.624332f, …)
|
|
160
|
+
export const VORSHA_SPAWN = {
|
|
161
|
+
entry: NPC_VORSHA,
|
|
162
|
+
x: 3630.2092,
|
|
163
|
+
y: 1190.3536,
|
|
164
|
+
z: -16.624332,
|
|
165
|
+
o: 0,
|
|
166
|
+
despawnMs: MUGLASH_WAVE_DESPAWN_MS,
|
|
167
|
+
cite: 'ashenvale.cpp:234 NPC_VORSHA TEMPSPAWN_TIMED_OOC_DESPAWN 60000',
|
|
168
|
+
} as const;
|
|
169
|
+
|
|
170
|
+
// Constants — ashenvale.cpp npc_ruul_snowhoof
|
|
171
|
+
|
|
172
|
+
// ashenvale.cpp:388–402
|
|
173
|
+
/** Cite: ashenvale.cpp:388 QUEST_FREEDOM_TO_RUUL = 6482 */
|
|
174
|
+
export const QUEST_FREEDOM_TO_RUUL = 6482;
|
|
175
|
+
/** Cite: ashenvale.cpp:389 NPC_T_AVENGER = 3925 */
|
|
176
|
+
export const NPC_T_AVENGER = 3925;
|
|
177
|
+
/** Cite: ashenvale.cpp:390 NPC_T_SHAMAN = 3924 */
|
|
178
|
+
export const NPC_T_SHAMAN = 3924;
|
|
179
|
+
/** Cite: ashenvale.cpp:391 NPC_T_PATHFINDER = 3926 */
|
|
180
|
+
export const NPC_T_PATHFINDER = 3926;
|
|
181
|
+
/** Cite: ashenvale.cpp:392 SPELL_RUUL_SHAPECHANGE = 20514 */
|
|
182
|
+
export const SPELL_RUUL_SHAPECHANGE = 20514;
|
|
183
|
+
/** Cite: ashenvale.cpp:393 SAY_RUUL_COMPLETE = -1010022 */
|
|
184
|
+
export const SAY_RUUL_COMPLETE = -1010022;
|
|
185
|
+
|
|
186
|
+
export const NPC_RUUL_SNOWHOOF = 12818;
|
|
187
|
+
|
|
188
|
+
/** Ambusher entries. Cite: ashenvale.cpp:396 */
|
|
189
|
+
export const RUUL_AMBUSHERS = [NPC_T_AVENGER, NPC_T_SHAMAN, NPC_T_PATHFINDER] as const;
|
|
190
|
+
|
|
191
|
+
/** Ambush center coords + random radius 7.0f. Cite: ashenvale.cpp:398–402,418 GetRandomPoint radius 7.0f */
|
|
192
|
+
export const RUUL_AMBUSH_COORDS = [
|
|
193
|
+
{ x: 3425.33, y: -595.93, z: 178.31, cite: 'ashenvale.cpp:400 First ambush WP14' },
|
|
194
|
+
{ x: 3245.34, y: -506.66, z: 150.05, cite: 'ashenvale.cpp:401 Second ambush WP31' },
|
|
195
|
+
] as const;
|
|
196
|
+
|
|
197
|
+
/** Cite: ashenvale.cpp:418 GetRandomPoint … 7.0f */
|
|
198
|
+
export const RUUL_AMBUSH_RADIUS_YD = 7;
|
|
199
|
+
|
|
200
|
+
/** Ambush TEMPSPAWN_DEAD_DESPAWN. Cite: ashenvale.cpp:419 60 * IN_MILLISECONDS */
|
|
201
|
+
export const RUUL_AMBUSH_DESPAWN_MS = 60_000;
|
|
202
|
+
|
|
203
|
+
// Constants — ashenvale.cpp npc_torek
|
|
204
|
+
|
|
205
|
+
// ashenvale.cpp:490–504
|
|
206
|
+
/** Cite: ashenvale.cpp:490 SAY_READY = -1000106 */
|
|
207
|
+
export const SAY_TOREK_READY = -1000106;
|
|
208
|
+
/** Cite: ashenvale.cpp:491 SAY_MOVE = -1000107 */
|
|
209
|
+
export const SAY_TOREK_MOVE = -1000107;
|
|
210
|
+
/** Cite: ashenvale.cpp:492 SAY_PREPARE = -1000108 */
|
|
211
|
+
export const SAY_TOREK_PREPARE = -1000108;
|
|
212
|
+
/** Cite: ashenvale.cpp:493 SAY_WIN = -1000109 */
|
|
213
|
+
export const SAY_TOREK_WIN = -1000109;
|
|
214
|
+
/** Cite: ashenvale.cpp:494 SAY_END = -1000110 */
|
|
215
|
+
export const SAY_TOREK_END = -1000110;
|
|
216
|
+
|
|
217
|
+
/** Cite: ashenvale.cpp:496 SPELL_REND = 11977 */
|
|
218
|
+
export const SPELL_REND = 11977;
|
|
219
|
+
/** Cite: ashenvale.cpp:497 SPELL_THUNDERCLAP = 8078 */
|
|
220
|
+
export const SPELL_THUNDERCLAP = 8078;
|
|
221
|
+
|
|
222
|
+
/** Cite: ashenvale.cpp:499 QUEST_TOREK_ASSULT = 6544 */
|
|
223
|
+
export const QUEST_TOREK_ASSULT = 6544;
|
|
224
|
+
|
|
225
|
+
/** Cite: ashenvale.cpp:501 NPC_SPLINTERTREE_RAIDER = 12859 */
|
|
226
|
+
export const NPC_SPLINTERTREE_RAIDER = 12859;
|
|
227
|
+
/** Cite: ashenvale.cpp:502 NPC_DURIEL = 12860 */
|
|
228
|
+
export const NPC_DURIEL = 12860;
|
|
229
|
+
/** Cite: ashenvale.cpp:503 NPC_SILVERWING_SENTINEL = 12896 */
|
|
230
|
+
export const NPC_SILVERWING_SENTINEL = 12896;
|
|
231
|
+
/** Cite: ashenvale.cpp:504 NPC_SILVERWING_WARRIOR = 12897 */
|
|
232
|
+
export const NPC_SILVERWING_WARRIOR = 12897;
|
|
233
|
+
|
|
234
|
+
export const NPC_TOREK = 12858;
|
|
235
|
+
|
|
236
|
+
/** Rend timer. Reset 5000; CAST_OK re-arm 20000; target victim. Cite: ashenvale.cpp:516,563-564 */
|
|
237
|
+
export const TOREK_REND_INIT_MS = 5000;
|
|
238
|
+
export const TOREK_REND_REPEAT_MS = 20_000;
|
|
239
|
+
|
|
240
|
+
/** Thunderclap timer. Reset 8000; CAST_OK re-arm 30000; target self. Cite: ashenvale.cpp:517,571-572 */
|
|
241
|
+
export const TOREK_THUNDERCLAP_INIT_MS = 8000;
|
|
242
|
+
export const TOREK_THUNDERCLAP_REPEAT_MS = 30_000;
|
|
243
|
+
|
|
244
|
+
/** WP20 Silverwing pack TEMPSPAWN_TIMED_OOC_DESPAWN. Cite: ashenvale.cpp:537-539 25000 */
|
|
245
|
+
export const TOREK_WP20_DESPAWN_MS = 25_000;
|
|
246
|
+
|
|
247
|
+
/** WP20 summons (Duriel + Sentinel + Warrior). Cite: ashenvale.cpp:537-539 */
|
|
248
|
+
export const TOREK_WP20_SPAWNS = [
|
|
249
|
+
{
|
|
250
|
+
entry: NPC_DURIEL,
|
|
251
|
+
x: 1776.73,
|
|
252
|
+
y: -2049.06,
|
|
253
|
+
z: 109.83,
|
|
254
|
+
o: 1.54,
|
|
255
|
+
cite: 'ashenvale.cpp:537 NPC_DURIEL',
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
entry: NPC_SILVERWING_SENTINEL,
|
|
259
|
+
x: 1774.64,
|
|
260
|
+
y: -2049.41,
|
|
261
|
+
z: 109.83,
|
|
262
|
+
o: 1.4,
|
|
263
|
+
cite: 'ashenvale.cpp:538 NPC_SILVERWING_SENTINEL',
|
|
264
|
+
},
|
|
265
|
+
{
|
|
266
|
+
entry: NPC_SILVERWING_WARRIOR,
|
|
267
|
+
x: 1778.73,
|
|
268
|
+
y: -2049.5,
|
|
269
|
+
z: 109.83,
|
|
270
|
+
o: 1.67,
|
|
271
|
+
cite: 'ashenvale.cpp:539 NPC_SILVERWING_WARRIOR',
|
|
272
|
+
},
|
|
273
|
+
] as const;
|
|
274
|
+
|
|
275
|
+
// Constants — ashenvale.cpp npc_feero_ironhand
|
|
276
|
+
|
|
277
|
+
// ashenvale.cpp:606–625
|
|
278
|
+
/** Cite: ashenvale.cpp:606 SAY_QUEST_START = -1000771 */
|
|
279
|
+
export const SAY_FEERO_QUEST_START = -1000771;
|
|
280
|
+
/** Cite: ashenvale.cpp:607 SAY_FIRST_AMBUSH_START = -1000772 */
|
|
281
|
+
export const SAY_FIRST_AMBUSH_START = -1000772;
|
|
282
|
+
/** Cite: ashenvale.cpp:608 SAY_FIRST_AMBUSH_END = -1000773 */
|
|
283
|
+
export const SAY_FIRST_AMBUSH_END = -1000773;
|
|
284
|
+
/** Cite: ashenvale.cpp:609 SAY_SECOND_AMBUSH_START = -1000774 */
|
|
285
|
+
export const SAY_SECOND_AMBUSH_START = -1000774;
|
|
286
|
+
/** Cite: ashenvale.cpp:610 SAY_SCOUT_SECOND_AMBUSH = -1000775 */
|
|
287
|
+
export const SAY_SCOUT_SECOND_AMBUSH = -1000775;
|
|
288
|
+
/** Cite: ashenvale.cpp:611 SAY_SECOND_AMBUSH_END = -1000776 */
|
|
289
|
+
export const SAY_SECOND_AMBUSH_END = -1000776;
|
|
290
|
+
/** Cite: ashenvale.cpp:612 SAY_FINAL_AMBUSH_START = -1000777 */
|
|
291
|
+
export const SAY_FINAL_AMBUSH_START = -1000777;
|
|
292
|
+
/** Cite: ashenvale.cpp:613 SAY_BALIZAR_FINAL_AMBUSH = -1000778 */
|
|
293
|
+
export const SAY_BALIZAR_FINAL_AMBUSH = -1000778;
|
|
294
|
+
/** Cite: ashenvale.cpp:614 SAY_FINAL_AMBUSH_ATTACK = -1000779 */
|
|
295
|
+
export const SAY_FINAL_AMBUSH_ATTACK = -1000779;
|
|
296
|
+
/** Cite: ashenvale.cpp:615 SAY_QUEST_END = -1000780 */
|
|
297
|
+
export const SAY_FEERO_QUEST_END = -1000780;
|
|
298
|
+
|
|
299
|
+
/** Cite: ashenvale.cpp:617 QUEST_SUPPLIES_TO_AUBERDINE = 976 */
|
|
300
|
+
export const QUEST_SUPPLIES_TO_AUBERDINE = 976;
|
|
301
|
+
|
|
302
|
+
/** Cite: ashenvale.cpp:619 NPC_DARK_STRAND_ASSASSIN = 3879 */
|
|
303
|
+
export const NPC_DARK_STRAND_ASSASSIN = 3879;
|
|
304
|
+
/** Cite: ashenvale.cpp:620 NPC_FORSAKEN_SCOUT = 3893 */
|
|
305
|
+
export const NPC_FORSAKEN_SCOUT = 3893;
|
|
306
|
+
/** Cite: ashenvale.cpp:622 NPC_ALIGAR_THE_TORMENTOR = 3898 */
|
|
307
|
+
export const NPC_ALIGAR_THE_TORMENTOR = 3898;
|
|
308
|
+
/** Cite: ashenvale.cpp:623 NPC_BALIZAR_THE_UMBRAGE = 3899 */
|
|
309
|
+
export const NPC_BALIZAR_THE_UMBRAGE = 3899;
|
|
310
|
+
/** Cite: ashenvale.cpp:624 NPC_CAEDAKAR_THE_VICIOUS = 3900 */
|
|
311
|
+
export const NPC_CAEDAKAR_THE_VICIOUS = 3900;
|
|
312
|
+
|
|
313
|
+
export const NPC_FEERO_IRONHAND = 4484;
|
|
314
|
+
|
|
315
|
+
// Polar summon offsets (distance, angle base). Cite: ashenvale.cpp:633–637 aSummonPositions WP15: 4
|
|
316
|
+
// assassins at angle base 1.25 − π/4 * i WP21: 3 scouts at angle base 0.95 − π/3 * i
|
|
317
|
+
export const FEERO_SUMMON_POS = [
|
|
318
|
+
{ distance: 30.0, angle: 1.25, cite: 'ashenvale.cpp:635 first ambush' },
|
|
319
|
+
{ distance: 30.0, angle: 0.95, cite: 'ashenvale.cpp:636 second ambush' },
|
|
320
|
+
] as const;
|
|
321
|
+
|
|
322
|
+
/** Cite: ashenvale.cpp:674 M_PI_F / 4 for assassin spacing */
|
|
323
|
+
export const FEERO_ASSASSIN_ANGLE_STEP = Math.PI / 4;
|
|
324
|
+
/** Cite: ashenvale.cpp:680 M_PI_F / 3 for scout spacing */
|
|
325
|
+
export const FEERO_SCOUT_ANGLE_STEP = Math.PI / 3;
|
|
326
|
+
/** Cite: ashenvale.cpp:673 for (i < 4) */
|
|
327
|
+
export const FEERO_FIRST_AMBUSH_COUNT = 4;
|
|
328
|
+
/** Cite: ashenvale.cpp:679 for (i < 3) */
|
|
329
|
+
export const FEERO_SECOND_AMBUSH_COUNT = 3;
|
|
330
|
+
|
|
331
|
+
/** Final elite hard-coded spawns. Cite: ashenvale.cpp:640–645,685–687 */
|
|
332
|
+
export const FEERO_ELITE_SPAWNS = [
|
|
333
|
+
{
|
|
334
|
+
entry: NPC_BALIZAR_THE_UMBRAGE,
|
|
335
|
+
x: 4243.12,
|
|
336
|
+
y: 108.22,
|
|
337
|
+
z: 38.12,
|
|
338
|
+
o: 3.62,
|
|
339
|
+
cite: 'ashenvale.cpp:642,685 NPC_BALIZAR',
|
|
340
|
+
},
|
|
341
|
+
{
|
|
342
|
+
entry: NPC_ALIGAR_THE_TORMENTOR,
|
|
343
|
+
x: 4240.95,
|
|
344
|
+
y: 114.04,
|
|
345
|
+
z: 38.35,
|
|
346
|
+
o: 3.56,
|
|
347
|
+
cite: 'ashenvale.cpp:643,686 NPC_ALIGAR',
|
|
348
|
+
},
|
|
349
|
+
{
|
|
350
|
+
entry: NPC_CAEDAKAR_THE_VICIOUS,
|
|
351
|
+
x: 4235.78,
|
|
352
|
+
y: 118.09,
|
|
353
|
+
z: 38.08,
|
|
354
|
+
o: 4.12,
|
|
355
|
+
cite: 'ashenvale.cpp:644,687 NPC_CAEDAKAR',
|
|
356
|
+
},
|
|
357
|
+
] as const;
|
|
358
|
+
|
|
359
|
+
/** TEMPSPAWN_TIMED_OOC_DESPAWN for ambush adds. Cite: ashenvale.cpp:685–687,716 20000 */
|
|
360
|
+
export const FEERO_AMBUSH_DESPAWN_MS = 20_000;
|
|
361
|
+
|
|
362
|
+
// ---------------------------------------------------------------------------
|
|
363
|
+
|
|
364
|
+
// Pure helpers live in ashenvaleHelpers.ts (file-size split ≤1500).
|
|
365
|
+
export {
|
|
366
|
+
muglashInitialState,
|
|
367
|
+
muglashReset,
|
|
368
|
+
muglashWaypointReached,
|
|
369
|
+
muglashBrazierUsed,
|
|
370
|
+
muglashDoEvent,
|
|
371
|
+
muglashSummonedCreatureJustDied,
|
|
372
|
+
muglashAggro,
|
|
373
|
+
muglashDoFailEscort,
|
|
374
|
+
muglashQuestAccept,
|
|
375
|
+
ruulWaypointReached,
|
|
376
|
+
ruulSpawnAmbush,
|
|
377
|
+
ruulQuestAccept,
|
|
378
|
+
torekReset,
|
|
379
|
+
torekWaypointReached,
|
|
380
|
+
torekQuestAccept,
|
|
381
|
+
feeroInitialState,
|
|
382
|
+
feeroReset,
|
|
383
|
+
feeroWaypointReached,
|
|
384
|
+
feeroJustSummoned,
|
|
385
|
+
feeroSummonedCreatureJustDied,
|
|
386
|
+
feeroAttackedBy,
|
|
387
|
+
feeroQuestAccept,
|
|
388
|
+
} from './ashenvaleHelpers.ts';
|
|
389
|
+
export type {
|
|
390
|
+
MuglashState,
|
|
391
|
+
MuglashWaypointResult,
|
|
392
|
+
MuglashBrazierUseResult,
|
|
393
|
+
MuglashEventStepResult,
|
|
394
|
+
MuglashSummonedDiedResult,
|
|
395
|
+
MuglashAggroResult,
|
|
396
|
+
MuglashFailResult,
|
|
397
|
+
MuglashQuestAcceptResult,
|
|
398
|
+
RuulWaypointResult,
|
|
399
|
+
RuulQuestAcceptResult,
|
|
400
|
+
TorekCombatState,
|
|
401
|
+
TorekWaypointResult,
|
|
402
|
+
TorekQuestAcceptResult,
|
|
403
|
+
FeeroState,
|
|
404
|
+
FeeroWaypointResult,
|
|
405
|
+
FeeroJustSummonedResult,
|
|
406
|
+
FeeroSummonedDiedResult,
|
|
407
|
+
FeeroAttackedByResult,
|
|
408
|
+
FeeroQuestAcceptResult,
|
|
409
|
+
} from './ashenvaleHelpers.ts';
|
|
410
|
+
|
|
411
|
+
// ScriptDev IR — npc_muglash
|
|
412
|
+
// ---------------------------------------------------------------------------
|
|
413
|
+
|
|
414
|
+
// npc_muglashAI, creature 12717. No combat cast timers — an event machine plus wave summons.
|
|
415
|
+
// Vorsha 12940 is absent from bake; quest 6641 credits at DoEvent case 8.
|
|
416
|
+
export const NPC_MUGLASH_SCRIPT: ScriptDevIR = {
|
|
417
|
+
name: 'npc_muglash',
|
|
418
|
+
boundCreatures: [NPC_MUGLASH],
|
|
419
|
+
sourceFile: 'kalimdor/ashenvale.cpp',
|
|
420
|
+
spellIds: [SPELL_MUGLASH_WAITING],
|
|
421
|
+
timers: [],
|
|
422
|
+
lifecycle: {
|
|
423
|
+
onReset: [
|
|
424
|
+
{
|
|
425
|
+
kind: 'flavor',
|
|
426
|
+
text: 'Reset when !escorting: m_uiEventId=0; MUGLASH_FAIL/EVENT custom timers disabled at ctor',
|
|
427
|
+
cite: 'ashenvale.cpp:112-131',
|
|
428
|
+
},
|
|
429
|
+
],
|
|
430
|
+
onAggro: [
|
|
431
|
+
{
|
|
432
|
+
kind: 'yell',
|
|
433
|
+
textId: SAY_MUGLASH_AGGRO,
|
|
434
|
+
cite: 'ashenvale.cpp:134-143 Aggro while PAUSED 50% SAY_MUGLASH_AGGRO (muglashAggro)',
|
|
435
|
+
},
|
|
436
|
+
],
|
|
437
|
+
},
|
|
438
|
+
unusedBindings: [
|
|
439
|
+
{
|
|
440
|
+
entry: NPC_VORSHA,
|
|
441
|
+
kind: 'creature',
|
|
442
|
+
reason:
|
|
443
|
+
'NPC 12940 Vorsha the Lasher is escort-summon-only after wave2 clear (ashenvale.cpp:234); absent from product bake - IR ported; spawn coords + death→eventId 7 success dialogue + quest 6641 credit documented in VORSHA_SPAWN / muglashSummonedCreatureJustDied / muglashDoEvent',
|
|
444
|
+
cite: 'ashenvale.cpp:74,234,238-241,323-328; loadRealBundle missing 12940',
|
|
445
|
+
},
|
|
446
|
+
],
|
|
447
|
+
cites: [
|
|
448
|
+
'ashenvale.cpp:37-380 npc_muglash + go_naga_brazier',
|
|
449
|
+
'ashenvale.cpp:43-75 SAY_* QUEST=6641 path=12717 SPELL=20861 GO=178247 waves + Vorsha',
|
|
450
|
+
'ashenvale.cpp:90-108 nagaLocations / secondnagaLocations',
|
|
451
|
+
'ashenvale.cpp:126-131 Reset eventId when !escorting',
|
|
452
|
+
'ashenvale.cpp:134-143 Aggro 50% SAY while paused',
|
|
453
|
+
'ashenvale.cpp:146-172 WaypointReached WP10/12/15/16/17',
|
|
454
|
+
'ashenvale.cpp:175-185 ReceiveAIEvent CUSTOM_A brazier used',
|
|
455
|
+
'ashenvale.cpp:188-242 JustSummoned / SummonedCreatureJustDied wave counters',
|
|
456
|
+
'ashenvale.cpp:246-352 DoFailEscort + DoEvent cases 0-11',
|
|
457
|
+
'ashenvale.cpp:356-367 QuestAccept 6641 faction 33 path 12717',
|
|
458
|
+
'ashenvale.cpp:57 SPELL_MUGLASH_WAITING=20861',
|
|
459
|
+
],
|
|
460
|
+
};
|
|
461
|
+
|
|
462
|
+
// ScriptDev IR — go_naga_brazier
|
|
463
|
+
|
|
464
|
+
// GOUse_go_naga_brazier, gameobject 178247. tables/gameObjects.json omits it, so the product
|
|
465
|
+
// spawn is an unused binding; the IR and pure helper are ported. pGOUse only, no combat.
|
|
466
|
+
export const GO_NAGA_BRAZIER_SCRIPT: ScriptDevIR = {
|
|
467
|
+
name: 'go_naga_brazier',
|
|
468
|
+
boundCreatures: [],
|
|
469
|
+
boundGos: [GO_NAGA_BRAZIER],
|
|
470
|
+
sourceFile: 'kalimdor/ashenvale.cpp',
|
|
471
|
+
spellIds: [],
|
|
472
|
+
timers: [],
|
|
473
|
+
goUse: {
|
|
474
|
+
goEntries: [GO_NAGA_BRAZIER],
|
|
475
|
+
actions: [
|
|
476
|
+
{
|
|
477
|
+
kind: 'flavor',
|
|
478
|
+
text: 'SendAIEvent CUSTOM_A to Muglash ≤ INTERACTION_DISTANCE*2; GO READY + NO_INTERACT (muglashBrazierUsed)',
|
|
479
|
+
cite: 'ashenvale.cpp:369-379',
|
|
480
|
+
},
|
|
481
|
+
],
|
|
482
|
+
cite: 'ashenvale.cpp:369-379 GOUse_go_naga_brazier',
|
|
483
|
+
},
|
|
484
|
+
unusedBindings: [
|
|
485
|
+
{
|
|
486
|
+
entry: GO_NAGA_BRAZIER,
|
|
487
|
+
kind: 'go',
|
|
488
|
+
reason:
|
|
489
|
+
'GO 178247 Naga Brazier is in gameobject-data.json but absent from tables/gameObjects.json product GO list - IR ported; pGOUse → AI_EVENT_CUSTOM_A on Muglash + GO ready/no-interact documented in muglashBrazierUsed',
|
|
490
|
+
cite: 'ashenvale.cpp:59,369-379; scriptdev-corpus boundGos=1; loadRealBundle gameObjects missing 178247',
|
|
491
|
+
},
|
|
492
|
+
],
|
|
493
|
+
cites: [
|
|
494
|
+
'ashenvale.cpp:369-379 GOUse_go_naga_brazier',
|
|
495
|
+
'ashenvale.cpp:59 GO_NAGA_BRAZIER=178247',
|
|
496
|
+
'ashenvale.cpp:818-821 RegisterSelf pGOUse',
|
|
497
|
+
],
|
|
498
|
+
};
|
|
499
|
+
|
|
500
|
+
// ScriptDev IR — npc_ruul_snowhoof
|
|
501
|
+
|
|
502
|
+
// npc_ruul_snowhoofAI, creature 12818. No combat cast timers; Reset casts 20514 TRIGGERED.
|
|
503
|
+
// Ambush packs 3925/3924/3926 are in bake, and quest 6482 credits at WP32.
|
|
504
|
+
export const NPC_RUUL_SNOWHOOF_SCRIPT: ScriptDevIR = {
|
|
505
|
+
name: 'npc_ruul_snowhoof',
|
|
506
|
+
boundCreatures: [NPC_RUUL_SNOWHOOF],
|
|
507
|
+
sourceFile: 'kalimdor/ashenvale.cpp',
|
|
508
|
+
spellIds: [SPELL_RUUL_SHAPECHANGE],
|
|
509
|
+
timers: [],
|
|
510
|
+
lifecycle: {
|
|
511
|
+
onReset: [
|
|
512
|
+
{
|
|
513
|
+
kind: 'cast_self',
|
|
514
|
+
spellId: SPELL_RUUL_SHAPECHANGE,
|
|
515
|
+
castFlags: 1, // TRIGGERED_OLD_TRIGGERED
|
|
516
|
+
cite: 'ashenvale.cpp:410 DoCastSpellIfCan SPELL_RUUL_SHAPECHANGE TRIGGERED',
|
|
517
|
+
},
|
|
518
|
+
],
|
|
519
|
+
},
|
|
520
|
+
cites: [
|
|
521
|
+
'ashenvale.cpp:382-482 npc_ruul_snowhoof',
|
|
522
|
+
'ashenvale.cpp:388-393 QUEST=6482 ambush NPCs SPELL=20514 SAY_RUUL_COMPLETE',
|
|
523
|
+
'ashenvale.cpp:396-402 ambusher table + coords',
|
|
524
|
+
'ashenvale.cpp:408-411 Reset cast 20514 TRIGGERED',
|
|
525
|
+
'ashenvale.cpp:413-424 DoSpawnAmbush radius 7 TEMPSPAWN_DEAD 60000',
|
|
526
|
+
'ashenvale.cpp:427-462 WaypointReached WP14/31/32/33/34/36',
|
|
527
|
+
'ashenvale.cpp:466-477 QuestAccept 6482 faction 33 + Start',
|
|
528
|
+
],
|
|
529
|
+
};
|
|
530
|
+
|
|
531
|
+
// ScriptDev IR — npc_torek
|
|
532
|
+
|
|
533
|
+
// npc_torekAI, creature 12858. Rend 11977 victim init 5s / re-arm 20s; Thunderclap 8078 self
|
|
534
|
+
// init 8s / re-arm 30s. Duriel 12860 at WP20 is absent from bake; quest 6544 credits at WP21.
|
|
535
|
+
export const NPC_TOREK_SCRIPT: ScriptDevIR = {
|
|
536
|
+
name: 'npc_torek',
|
|
537
|
+
boundCreatures: [NPC_TOREK],
|
|
538
|
+
sourceFile: 'kalimdor/ashenvale.cpp',
|
|
539
|
+
spellIds: [SPELL_REND, SPELL_THUNDERCLAP],
|
|
540
|
+
timers: [
|
|
541
|
+
{
|
|
542
|
+
id: 'rend',
|
|
543
|
+
spellId: SPELL_REND,
|
|
544
|
+
// Reset m_uiRend_Timer = 5000 (cpp:516)
|
|
545
|
+
initialMinMs: TOREK_REND_INIT_MS,
|
|
546
|
+
initialMaxMs: TOREK_REND_INIT_MS,
|
|
547
|
+
// CAST_OK re-arm 20000 (cpp:564)
|
|
548
|
+
repeatMinMs: TOREK_REND_REPEAT_MS,
|
|
549
|
+
repeatMaxMs: TOREK_REND_REPEAT_MS,
|
|
550
|
+
target: 'victim',
|
|
551
|
+
cite: 'ashenvale.cpp:516,561-564 m_uiRend_Timer init 5000 re-arm 20000 SPELL_REND 11977 victim',
|
|
552
|
+
},
|
|
553
|
+
{
|
|
554
|
+
id: 'thunderclap',
|
|
555
|
+
spellId: SPELL_THUNDERCLAP,
|
|
556
|
+
// Reset m_uiThunderclap_Timer = 8000 (cpp:517)
|
|
557
|
+
initialMinMs: TOREK_THUNDERCLAP_INIT_MS,
|
|
558
|
+
initialMaxMs: TOREK_THUNDERCLAP_INIT_MS,
|
|
559
|
+
// CAST_OK re-arm 30000 (cpp:572)
|
|
560
|
+
repeatMinMs: TOREK_THUNDERCLAP_REPEAT_MS,
|
|
561
|
+
repeatMaxMs: TOREK_THUNDERCLAP_REPEAT_MS,
|
|
562
|
+
target: 'self',
|
|
563
|
+
cite: 'ashenvale.cpp:517,569-572 m_uiThunderclap_Timer init 8000 re-arm 30000 SPELL_THUNDERCLAP 8078 self',
|
|
564
|
+
},
|
|
565
|
+
],
|
|
566
|
+
lifecycle: {
|
|
567
|
+
onReset: [
|
|
568
|
+
{
|
|
569
|
+
kind: 'flavor',
|
|
570
|
+
text: 'm_uiRend_Timer=5000 m_uiThunderclap_Timer=8000',
|
|
571
|
+
cite: 'ashenvale.cpp:514-517',
|
|
572
|
+
},
|
|
573
|
+
],
|
|
574
|
+
},
|
|
575
|
+
unusedBindings: [
|
|
576
|
+
{
|
|
577
|
+
entry: NPC_DURIEL,
|
|
578
|
+
kind: 'creature',
|
|
579
|
+
reason:
|
|
580
|
+
'NPC 12860 Duriel is escort-summon-only at Torek WP20 (ashenvale.cpp:537); absent from product bake - IR ported; spawn coords + JustSummoned AttackStart(Torek) documented in TOREK_WP20_SPAWNS / torekWaypointReached',
|
|
581
|
+
cite: 'ashenvale.cpp:502,537,551-554; loadRealBundle missing 12860',
|
|
582
|
+
},
|
|
583
|
+
],
|
|
584
|
+
cites: [
|
|
585
|
+
'ashenvale.cpp:484-598 npc_torek',
|
|
586
|
+
'ashenvale.cpp:490-504 SAY_* SPELL_REND=11977 SPELL_THUNDERCLAP=8078 QUEST=6544 NPCs',
|
|
587
|
+
'ashenvale.cpp:514-517 Reset combat timers 5000/8000',
|
|
588
|
+
'ashenvale.cpp:520-548 WaypointReached WP2/9/20/21/22',
|
|
589
|
+
'ashenvale.cpp:551-554 JustSummoned AttackStart Torek',
|
|
590
|
+
'ashenvale.cpp:556-578 UpdateEscortAI Rend + Thunderclap + melee',
|
|
591
|
+
'ashenvale.cpp:581-593 QuestAccept 6544 SAY_READY + Start',
|
|
592
|
+
],
|
|
593
|
+
};
|
|
594
|
+
|
|
595
|
+
// ScriptDev IR — npc_feero_ironhand
|
|
596
|
+
|
|
597
|
+
// npc_feero_ironhandAI, creature 4484. No combat cast timers; ambush summons at WP15/21/30 and
|
|
598
|
+
// quest 976 credits at WP31. Forsaken Scout 3893 is absent from bake.
|
|
599
|
+
export const NPC_FEERO_IRONHAND_SCRIPT: ScriptDevIR = {
|
|
600
|
+
name: 'npc_feero_ironhand',
|
|
601
|
+
boundCreatures: [NPC_FEERO_IRONHAND],
|
|
602
|
+
sourceFile: 'kalimdor/ashenvale.cpp',
|
|
603
|
+
spellIds: [],
|
|
604
|
+
timers: [],
|
|
605
|
+
lifecycle: {
|
|
606
|
+
onReset: [
|
|
607
|
+
{
|
|
608
|
+
kind: 'flavor',
|
|
609
|
+
text: 'Reset when !escorting: m_uiCreaturesCount=0 m_bIsAttacked=false',
|
|
610
|
+
cite: 'ashenvale.cpp:657-663',
|
|
611
|
+
},
|
|
612
|
+
],
|
|
613
|
+
},
|
|
614
|
+
unusedBindings: [
|
|
615
|
+
{
|
|
616
|
+
entry: NPC_FORSAKEN_SCOUT,
|
|
617
|
+
kind: 'creature',
|
|
618
|
+
reason:
|
|
619
|
+
'NPC 3893 Forsaken Scout is escort-summon-only at Feero WP21 (ashenvale.cpp:679-680); absent from product bake - IR ported; polar spawn offsets + JustSummoned scout yell + AttackStart documented in feeroWaypointReached / feeroJustSummoned',
|
|
620
|
+
cite: 'ashenvale.cpp:620,676-681,742-748; loadRealBundle missing 3893',
|
|
621
|
+
},
|
|
622
|
+
],
|
|
623
|
+
cites: [
|
|
624
|
+
'ashenvale.cpp:600-775 npc_feero_ironhand',
|
|
625
|
+
'ashenvale.cpp:606-625 SAY_* QUEST=976 ambush NPC entries',
|
|
626
|
+
'ashenvale.cpp:633-645 aSummonPositions + aEliteSummonPositions',
|
|
627
|
+
'ashenvale.cpp:657-663 Reset counters when !escorting',
|
|
628
|
+
'ashenvale.cpp:666-694 WaypointReached WP15/21/30/31',
|
|
629
|
+
'ashenvale.cpp:697-707 AttackedBy first Balizar → SAY_FINAL_AMBUSH_ATTACK',
|
|
630
|
+
'ashenvale.cpp:711-717 DoSpawnMob polar GetNearPoint',
|
|
631
|
+
'ashenvale.cpp:719-755 SummonedCreatureJustDied clear texts + JustSummoned',
|
|
632
|
+
'ashenvale.cpp:763-775 QuestAccept 976 SAY_QUEST_START + faction 10 + Start',
|
|
633
|
+
],
|
|
634
|
+
};
|
|
635
|
+
|