azeroth-shell 0.0.0-stage → 0.1.0
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 +26 -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 +126 -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,637 @@
|
|
|
1
|
+
// QI4 — kalimdor/darkshore residuals, extracted for the 1500-line ratchet. Registered: 731, 945,
|
|
2
|
+
// 994, 995, 2078, 2118 and 5321. Cite: kalimdor/darkshore.cpp.
|
|
3
|
+
|
|
4
|
+
import type { DbScriptIntent } from './types.ts';
|
|
5
|
+
import {
|
|
6
|
+
UNIT_FLAG_CHANGE_REMOVE,
|
|
7
|
+
UNIT_STAND_STATE_STAND,
|
|
8
|
+
} from './opcodes.ts';
|
|
9
|
+
|
|
10
|
+
/** Matches registry.ts QuestScriptHook — local to avoid circular import. */
|
|
11
|
+
type QuestScriptHook = 'accept' | 'reward' | 'complete' | 'frame';
|
|
12
|
+
|
|
13
|
+
/** Minimal registry entry shape (mirrors registry.ts QuestScriptEntry). */
|
|
14
|
+
export interface DarkshoreQuestScriptEntry {
|
|
15
|
+
family?: string;
|
|
16
|
+
questId?: number;
|
|
17
|
+
questIds?: number[];
|
|
18
|
+
hooks?: QuestScriptHook[];
|
|
19
|
+
run?: (phase: QuestScriptHook, questId: number) => DbScriptIntent[];
|
|
20
|
+
cite?: string;
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
// ── sourced constants ────────────────────────────────────────────────────────
|
|
24
|
+
|
|
25
|
+
// Cite: darkshore.cpp:233 QUEST_ABSENT_MINDED_PT2 = 731 Escort Prospector Remtravel; WP38 event explore
|
|
26
|
+
// credit.
|
|
27
|
+
export const QUEST_ABSENT_MINDED_PT2 = 731;
|
|
28
|
+
/** Cite: darkshore.cpp:490 QUEST_ID_THERYLUNE_ESCAPE = 945 Escort Therylune; WP18 event explore credit. */
|
|
29
|
+
export const QUEST_ID_THERYLUNE_ESCAPE = 945;
|
|
30
|
+
// Cite: darkshore.cpp:398 QUEST_ESCAPE_THROUGH_FORCE = 994 Escort Volcor force path VOLCOR_PATH_02; WP15
|
|
31
|
+
// explore credit.
|
|
32
|
+
export const QUEST_ESCAPE_THROUGH_FORCE = 994;
|
|
33
|
+
// Cite: darkshore.cpp:399 QUEST_ESCAPE_THROUGH_STEALTH = 995 Escort Volcor stealth path VOLCOR_PATH_01; WP3
|
|
34
|
+
// explore credit.
|
|
35
|
+
export const QUEST_ESCAPE_THROUGH_STEALTH = 995;
|
|
36
|
+
// Cite: darkshore.cpp:309 QUEST_GYROMAST_REV = 2078 Gossip turn-key starts Threshwackonator follower; kill
|
|
37
|
+
// 6669 after hostile flip.
|
|
38
|
+
export const QUEST_GYROMAST_REV = 2078;
|
|
39
|
+
// Cite: darkshore.cpp:549 QUEST_PLAGUED_LANDS = 2118 Trap rabid bear with SPELL_BEAR_CAPTURED → kill credit
|
|
40
|
+
// 11836.
|
|
41
|
+
export const QUEST_PLAGUED_LANDS = 2118;
|
|
42
|
+
// Cite: darkshore.cpp:77 QUEST_SLEEPER_AWAKENED = 5321 Follower Kerlonian; LOS Liladris → event explore
|
|
43
|
+
// credit.
|
|
44
|
+
export const QUEST_SLEEPER_AWAKENED = 5321;
|
|
45
|
+
|
|
46
|
+
/** Cite: bake starterCreatureEntries quest 731; scriptdev2.sql:299 entry=2917 Prospector Remtravel. */
|
|
47
|
+
const NPC_PROSPECTOR_REMTRAVEL = 2917;
|
|
48
|
+
/** Cite: bake enderCreatureEntries quest 731 — Archaeologist Hollee (2913). */
|
|
49
|
+
const NPC_ARCHAEOLOGIST_HOLLEE = 2913;
|
|
50
|
+
/** Cite: darkshore.cpp:234 REMTRAVEL_ESCORT_PATH = 2917 Path id passed to npc_escortAI::Start on accept. */
|
|
51
|
+
const REMTRAVEL_ESCORT_PATH = 2917;
|
|
52
|
+
/** Cite: darkshore.cpp:236–241 SAY_REM_AGGRO_1..6 broadcast_text ids (FO6 combat). */
|
|
53
|
+
const SAY_REM_AGGRO_1 = 938;
|
|
54
|
+
const SAY_REM_AGGRO_6 = 943;
|
|
55
|
+
|
|
56
|
+
/** Cite: bake starterCreatureEntries quest 945; scriptdev2.sql:302 entry=3584 Therylune. */
|
|
57
|
+
const NPC_THERYLUNE = 3584;
|
|
58
|
+
/** Cite: bake enderCreatureEntries quest 945; darkshore.cpp:488 NPC_THERYSIL = 3585 */
|
|
59
|
+
const NPC_THERYSIL = 3585;
|
|
60
|
+
/** Cite: darkshore.cpp:485–486 SAY_THERYLUNE_START/FINISH script texts. */
|
|
61
|
+
const SAY_THERYLUNE_START = -1000905;
|
|
62
|
+
const SAY_THERYLUNE_FINISH = -1000906;
|
|
63
|
+
|
|
64
|
+
/** Cite: bake starterCreatureEntries quests 994/995; scriptdev2.sql:301 entry=3692 Volcor. */
|
|
65
|
+
const NPC_VOLCOR = 3692;
|
|
66
|
+
/** Cite: bake enderCreatureEntries quests 994/995 — Terenthis (3693). */
|
|
67
|
+
const NPC_TERENTHIS = 3693;
|
|
68
|
+
/** Cite: darkshore.cpp:395–396 VOLCOR_PATH_01/02 escort path ids. */
|
|
69
|
+
const VOLCOR_PATH_01 = 3692;
|
|
70
|
+
const VOLCOR_PATH_02 = 3693;
|
|
71
|
+
/** Cite: darkshore.cpp:390–393 SAY_AGGRO_1..4 broadcast_text (FO6 combat). */
|
|
72
|
+
const SAY_VOLCOR_AGGRO_1 = 1250;
|
|
73
|
+
const SAY_VOLCOR_AGGRO_4 = 1253;
|
|
74
|
+
/** Cite: darkshore.cpp:454 ForcedDespawn(1000) after stealth path credit. */
|
|
75
|
+
const VOLCOR_STEALTH_DESPAWN_MS = 1000;
|
|
76
|
+
|
|
77
|
+
/** Cite: bake starter/ender quest 2078; darkshore.cpp:310 NPC_GELKAK = 6667 */
|
|
78
|
+
const NPC_GELKAK = 6667;
|
|
79
|
+
// Cite: scriptdev2.sql:300 ScriptName='npc_threshwackonator' WHERE entry=6669 Bake killTargets quest 2078.
|
|
80
|
+
const NPC_THRESHWACKONATOR = 6669;
|
|
81
|
+
/** Cite: darkshore.cpp:307–308 EMOTE_START / SAY_AT_CLOSE script texts. */
|
|
82
|
+
const EMOTE_THRESH_START = -1000325;
|
|
83
|
+
const SAY_THRESH_AT_CLOSE = -1000326;
|
|
84
|
+
/** Cite: darkshore.cpp:311 FACTION_HOSTILE = 14 DoAtEnd SetFactionTemporary before AttackStart. */
|
|
85
|
+
const FACTION_HOSTILE = 14;
|
|
86
|
+
/** Cite: darkshore.cpp:313–314 gossip menu text ids. */
|
|
87
|
+
const TEXT_ID_THRESH_DEFAULT = 718;
|
|
88
|
+
const TEXT_ID_KEY_READY = 758;
|
|
89
|
+
/** Cite: bake srcItem quest 2078 — Gyromast's Key (7442). */
|
|
90
|
+
const ITEM_GYROMASTS_KEY = 7442;
|
|
91
|
+
|
|
92
|
+
// Cite: bake starter/ender quest 2118 — Tharnariun Treetender (3701). Cite: darkshore.cpp:552
|
|
93
|
+
// NPC_THARNARIUN_TREETENDER = 3701
|
|
94
|
+
const NPC_THARNARIUN_TREETENDER = 3701;
|
|
95
|
+
/** Cite: scriptdev2.sql:303 ScriptName='npc_rabid_bear' WHERE entry=2164 Pre-capture template. */
|
|
96
|
+
const NPC_RABID_THISTLE_BEAR = 2164;
|
|
97
|
+
/** Cite: darkshore.cpp:551 NPC_CAPTURED_RABID_THISTLE_BEAR = 11836 Bake killTargets quest 2118. */
|
|
98
|
+
const NPC_CAPTURED_RABID_THISTLE_BEAR = 11836;
|
|
99
|
+
/** Cite: darkshore.cpp:556 SPELL_BEAR_CAPTURED = 9439 SpellHit gate for capture transform + credit. */
|
|
100
|
+
const SPELL_BEAR_CAPTURED = 9439;
|
|
101
|
+
/** Cite: darkshore.cpp:553 GO_NIGHT_ELVEN_BEAR_TRAP = 111148 Visual spell-focus GO for trap. */
|
|
102
|
+
const GO_NIGHT_ELVEN_BEAR_TRAP = 111148;
|
|
103
|
+
/** Cite: bake srcItem quest 2118 — Tharnariun's Hope (7586). */
|
|
104
|
+
const ITEM_THARNARIUNS_HOPE = 7586;
|
|
105
|
+
// Cite: darkshore.cpp:619 m_uiDespawnTimer = 3 * MINUTE * IN_MILLISECONDS Cite: Common.h:113 MINUTE=60;
|
|
106
|
+
// :119 IN_MILLISECONDS=1000 → 180000ms.
|
|
107
|
+
const RABID_BEAR_DESPAWN_MS = 3 * 60 * 1000;
|
|
108
|
+
/** Cite: darkshore.cpp:555 SPELL_RABIES = 3150 combat cast (FO6). */
|
|
109
|
+
const SPELL_RABIES = 3150;
|
|
110
|
+
|
|
111
|
+
/** Cite: bake starterCreatureEntries quest 5321; scriptdev2.sql:298 entry=11218 Kerlonian Evershade. */
|
|
112
|
+
const NPC_KERLONIAN = 11218;
|
|
113
|
+
/** Cite: darkshore.cpp:79 NPC_LILADRIS = 11219; bake enderCreatureEntries 5321. */
|
|
114
|
+
const NPC_LILADRIS = 11219;
|
|
115
|
+
/** Cite: darkshore.cpp:55 SAY_KER_START = -1000434 DoScriptText on accept. */
|
|
116
|
+
const SAY_KER_START = -1000434;
|
|
117
|
+
/** Cite: darkshore.cpp:71 SAY_KER_END = -1000444 after explore credit. */
|
|
118
|
+
const SAY_KER_END = -1000444;
|
|
119
|
+
/** Cite: darkshore.cpp:73 SPELL_BEAR_FORM = 18309 removed on accept. */
|
|
120
|
+
const SPELL_BEAR_FORM = 18309;
|
|
121
|
+
/** Cite: darkshore.cpp:74 SPELL_SLEEP_VISUAL = 25148 follower sleep (FO6). */
|
|
122
|
+
const SPELL_SLEEP_VISUAL = 25148;
|
|
123
|
+
/** Cite: darkshore.cpp:75 SPELL_AWAKEN = 17536; spell_awaken_kerlonian AI_EVENT_CUSTOM_A. */
|
|
124
|
+
const SPELL_AWAKEN = 17536;
|
|
125
|
+
/** Cite: bake itemTargets quest 5321 — Horn of Awakening (13536). */
|
|
126
|
+
const ITEM_HORN_OF_AWAKENING = 13536;
|
|
127
|
+
|
|
128
|
+
/** Cite: ScriptDevAIMgr.h:55 FACTION_ESCORT_A_PASSIVE = 774 Remtravel SetFactionTemporary on accept. */
|
|
129
|
+
const FACTION_ESCORT_A_PASSIVE = 774;
|
|
130
|
+
// Cite: ScriptDevAIMgr.h:48 FACTION_ESCORT_A_NEUTRAL_ACTIVE = 231 Therylune SetFactionTemporary on accept.
|
|
131
|
+
const FACTION_ESCORT_A_NEUTRAL_ACTIVE = 231;
|
|
132
|
+
// Cite: ScriptDevAIMgr.h:52 FACTION_ESCORT_N_FRIEND_PASSIVE = 290 Kerlonian StartFollow faction argument.
|
|
133
|
+
const FACTION_ESCORT_N_FRIEND_PASSIVE = 290;
|
|
134
|
+
/** Cite: Creature.h:577 TEMPFACTION_RESTORE_RESPAWN = 0x01 */
|
|
135
|
+
const TEMPFACTION_RESTORE_RESPAWN = 0x01;
|
|
136
|
+
/** Cite: Creature.h:582 TEMPFACTION_TOGGLE_IMMUNE_TO_NPC = 0x20 */
|
|
137
|
+
const TEMPFACTION_TOGGLE_IMMUNE_TO_NPC = 0x20;
|
|
138
|
+
// Cite: darkshore.cpp:535 TEMPFACTION_RESTORE_RESPAWN | TEMPFACTION_TOGGLE_IMMUNE_TO_NPC = 0x01 | 0x20 =
|
|
139
|
+
// 0x21
|
|
140
|
+
const THERYLUNE_TEMP_FACTION_FLAGS =
|
|
141
|
+
TEMPFACTION_RESTORE_RESPAWN | TEMPFACTION_TOGGLE_IMMUNE_TO_NPC;
|
|
142
|
+
/** Cite: Unit.h:477 UNIT_FLAG_IMMUNE_TO_NPC = 0x00000200 Kerlonian RemoveFlag on accept. */
|
|
143
|
+
const UNIT_FLAG_IMMUNE_TO_NPC = 0x00000200;
|
|
144
|
+
/** Cite: Unit.h:97 UNIT_STAND_STATE_STAND = 0 (opcodes.ts re-export) */
|
|
145
|
+
const UNIT_STAND_STATE_STAND_DARKSHORE = UNIT_STAND_STATE_STAND;
|
|
146
|
+
|
|
147
|
+
// ── accept handlers ──────────────────────────────────────────────────────────
|
|
148
|
+
|
|
149
|
+
// QuestAccept_npc_prospector_remtravel — quest 731: temporary passive faction, then escort path
|
|
150
|
+
// 2917; WP38 carries the explore credit. Cite: darkshore.cpp:289–299, :271–285.
|
|
151
|
+
function runRemtravelAccept(): DbScriptIntent[] {
|
|
152
|
+
const citeFaction =
|
|
153
|
+
'darkshore.cpp:294 SetFactionTemporary(FACTION_ESCORT_A_PASSIVE, TEMPFACTION_RESTORE_RESPAWN)';
|
|
154
|
+
const citeEscort =
|
|
155
|
+
`darkshore.cpp:295 npc_prospector_remtravel (${NPC_PROSPECTOR_REMTRAVEL}) ` +
|
|
156
|
+
`npc_escortAI::Start(false, player, quest, false, false, REMTRAVEL_ESCORT_PATH=${REMTRAVEL_ESCORT_PATH}) ` +
|
|
157
|
+
'- FO6 degraded finishEscort';
|
|
158
|
+
const citeAggro =
|
|
159
|
+
`darkshore.cpp:251–261 Aggro urand SAY_REM_AGGRO_1..6=${SAY_REM_AGGRO_1}–${SAY_REM_AGGRO_6} - FO6 combat`;
|
|
160
|
+
const citeCredit =
|
|
161
|
+
'darkshore.cpp:275–278 WP38 RewardPlayerAndGroupAtEventExplored(731) - FO6 finishEscort';
|
|
162
|
+
const citeEnd =
|
|
163
|
+
'darkshore.cpp:279–283 WP39 MoveIdle + End - FO6';
|
|
164
|
+
const citeEnder =
|
|
165
|
+
`bake enderCreatureEntries NPC_ARCHAEOLOGIST_HOLLEE=${NPC_ARCHAEOLOGIST_HOLLEE} after WP38 explore credit`;
|
|
166
|
+
return [
|
|
167
|
+
{
|
|
168
|
+
kind: 'set_faction',
|
|
169
|
+
factionId: FACTION_ESCORT_A_PASSIVE,
|
|
170
|
+
flags: TEMPFACTION_RESTORE_RESPAWN,
|
|
171
|
+
cleared: false,
|
|
172
|
+
cite: citeFaction,
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
kind: 'skip',
|
|
176
|
+
reason:
|
|
177
|
+
`escort Start(false, player, quest, false, false, path=${REMTRAVEL_ESCORT_PATH}) ` +
|
|
178
|
+
`npc_prospector_remtravel (${NPC_PROSPECTOR_REMTRAVEL}) - FO6 degraded finishEscort`,
|
|
179
|
+
cite: citeEscort,
|
|
180
|
+
},
|
|
181
|
+
{
|
|
182
|
+
kind: 'skip',
|
|
183
|
+
reason:
|
|
184
|
+
`Aggro SAY_REM_AGGRO_1..6 (${SAY_REM_AGGRO_1}–${SAY_REM_AGGRO_6}) - FO6 combat`,
|
|
185
|
+
cite: citeAggro,
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
kind: 'skip',
|
|
189
|
+
reason:
|
|
190
|
+
'WP38 RewardPlayerAndGroupAtEventExplored(731) - FO6 finishEscort',
|
|
191
|
+
cite: citeCredit,
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
kind: 'skip',
|
|
195
|
+
reason: 'WP39 MoveIdle + End - FO6',
|
|
196
|
+
cite: citeEnd,
|
|
197
|
+
},
|
|
198
|
+
{
|
|
199
|
+
kind: 'skip',
|
|
200
|
+
reason: `turn-in NPC_ARCHAEOLOGIST_HOLLEE (${NPC_ARCHAEOLOGIST_HOLLEE}) after explore credit`,
|
|
201
|
+
cite: citeEnder,
|
|
202
|
+
},
|
|
203
|
+
];
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
// QuestAccept_npc_therylune — quest 945 Therylune's Escape: escort start, temporary neutral
|
|
207
|
+
// faction and the start line; WP18 carries the explore credit. Cite: darkshore.cpp:528–541.
|
|
208
|
+
function runTheryluneAccept(): DbScriptIntent[] {
|
|
209
|
+
const citeTalk =
|
|
210
|
+
`darkshore.cpp:536 npc_therylune (${NPC_THERYLUNE}) ` +
|
|
211
|
+
`DoScriptText(SAY_THERYLUNE_START=${SAY_THERYLUNE_START})`;
|
|
212
|
+
const citeFaction =
|
|
213
|
+
'darkshore.cpp:535 SetFactionTemporary(FACTION_ESCORT_A_NEUTRAL_ACTIVE, ' +
|
|
214
|
+
'TEMPFACTION_RESTORE_RESPAWN | TEMPFACTION_TOGGLE_IMMUNE_TO_NPC)';
|
|
215
|
+
const citeEscort =
|
|
216
|
+
`darkshore.cpp:534 npc_therylune (${NPC_THERYLUNE}) ` +
|
|
217
|
+
'npc_escortAI::Start(false, player, quest) - FO6 degraded finishEscort';
|
|
218
|
+
const citeCredit =
|
|
219
|
+
'darkshore.cpp:510–512 WP18 RewardPlayerAndGroupAtEventExplored(945) - FO6 finishEscort';
|
|
220
|
+
const citeFinish =
|
|
221
|
+
`darkshore.cpp:514–518 WP20 DoScriptText(SAY_THERYLUNE_FINISH=${SAY_THERYLUNE_FINISH}) + SetRun - FO6`;
|
|
222
|
+
const citeEnder =
|
|
223
|
+
`bake enderCreatureEntries NPC_THERYSIL=${NPC_THERYSIL} after WP18 explore credit`;
|
|
224
|
+
return [
|
|
225
|
+
{
|
|
226
|
+
kind: 'talk',
|
|
227
|
+
textId: SAY_THERYLUNE_START,
|
|
228
|
+
stringTemplateId: 0,
|
|
229
|
+
cite: citeTalk,
|
|
230
|
+
},
|
|
231
|
+
{
|
|
232
|
+
kind: 'set_faction',
|
|
233
|
+
factionId: FACTION_ESCORT_A_NEUTRAL_ACTIVE,
|
|
234
|
+
flags: THERYLUNE_TEMP_FACTION_FLAGS,
|
|
235
|
+
cleared: false,
|
|
236
|
+
cite: citeFaction,
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
kind: 'skip',
|
|
240
|
+
reason:
|
|
241
|
+
`escort Start(false, player, quest) npc_therylune (${NPC_THERYLUNE}) - FO6 degraded finishEscort`,
|
|
242
|
+
cite: citeEscort,
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
kind: 'skip',
|
|
246
|
+
reason:
|
|
247
|
+
'WP18 RewardPlayerAndGroupAtEventExplored(945) - FO6 finishEscort',
|
|
248
|
+
cite: citeCredit,
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
kind: 'skip',
|
|
252
|
+
reason:
|
|
253
|
+
`WP20 SAY_THERYLUNE_FINISH (${SAY_THERYLUNE_FINISH}) + SetRun - FO6`,
|
|
254
|
+
cite: citeFinish,
|
|
255
|
+
},
|
|
256
|
+
{
|
|
257
|
+
kind: 'skip',
|
|
258
|
+
reason: `turn-in NPC_THERYSIL (${NPC_THERYSIL}) after explore credit`,
|
|
259
|
+
cite: citeEnder,
|
|
260
|
+
},
|
|
261
|
+
];
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// QuestAccept_npc_volcor — quest 994 Escape Through Force: escort path 2 from Volcor, with WP15
|
|
265
|
+
// carrying the explore credit. Cite: darkshore.cpp:468–477, :442–464.
|
|
266
|
+
function runVolcorForceAccept(): DbScriptIntent[] {
|
|
267
|
+
const citeEscort =
|
|
268
|
+
`darkshore.cpp:438–439,468–474 npc_volcor (${NPC_VOLCOR}) ` +
|
|
269
|
+
`StartEscort force Start(false, player, quest, false, false, VOLCOR_PATH_02=${VOLCOR_PATH_02}) ` +
|
|
270
|
+
'- FO6 degraded finishEscort';
|
|
271
|
+
const citeAggro =
|
|
272
|
+
`darkshore.cpp:417–426 Aggro urand SAY_AGGRO_1..4=${SAY_VOLCOR_AGGRO_1}–${SAY_VOLCOR_AGGRO_4} - FO6 combat`;
|
|
273
|
+
const citeCredit =
|
|
274
|
+
'darkshore.cpp:457–462 WP15 RewardPlayerAndGroupAtEventExplored(994) + End - FO6 finishEscort';
|
|
275
|
+
const citeEnder =
|
|
276
|
+
`bake enderCreatureEntries NPC_TERENTHIS=${NPC_TERENTHIS} after WP15 explore credit`;
|
|
277
|
+
return [
|
|
278
|
+
{
|
|
279
|
+
kind: 'skip',
|
|
280
|
+
reason:
|
|
281
|
+
`escort Start(false, player, quest, false, false, path=${VOLCOR_PATH_02}) ` +
|
|
282
|
+
`npc_volcor (${NPC_VOLCOR}) force - FO6 degraded finishEscort`,
|
|
283
|
+
cite: citeEscort,
|
|
284
|
+
},
|
|
285
|
+
{
|
|
286
|
+
kind: 'skip',
|
|
287
|
+
reason:
|
|
288
|
+
`Aggro SAY_AGGRO_1..4 (${SAY_VOLCOR_AGGRO_1}–${SAY_VOLCOR_AGGRO_4}) - FO6 combat`,
|
|
289
|
+
cite: citeAggro,
|
|
290
|
+
},
|
|
291
|
+
{
|
|
292
|
+
kind: 'skip',
|
|
293
|
+
reason:
|
|
294
|
+
'WP15 RewardPlayerAndGroupAtEventExplored(994) + End - FO6 finishEscort',
|
|
295
|
+
cite: citeCredit,
|
|
296
|
+
},
|
|
297
|
+
{
|
|
298
|
+
kind: 'skip',
|
|
299
|
+
reason: `turn-in NPC_TERENTHIS (${NPC_TERENTHIS}) after explore credit`,
|
|
300
|
+
cite: citeEnder,
|
|
301
|
+
},
|
|
302
|
+
];
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// QuestAccept_npc_volcor — quest 995 Escape Through Stealth: escort path 1 at a run, with WP3
|
|
306
|
+
// carrying the credit then a despawn. Cite: darkshore.cpp:468–477, :446–455.
|
|
307
|
+
function runVolcorStealthAccept(): DbScriptIntent[] {
|
|
308
|
+
const citeEscort =
|
|
309
|
+
`darkshore.cpp:434–436,468–474 npc_volcor (${NPC_VOLCOR}) ` +
|
|
310
|
+
`StartEscort stealth Start(true, player, quest, false, false, VOLCOR_PATH_01=${VOLCOR_PATH_01}) ` +
|
|
311
|
+
'- FO6 degraded finishEscort';
|
|
312
|
+
const citeCredit =
|
|
313
|
+
`darkshore.cpp:446–454 WP3 RewardPlayerAndGroupAtEventExplored(995) + ` +
|
|
314
|
+
`ForcedDespawn(${VOLCOR_STEALTH_DESPAWN_MS}) - FO6 finishEscort`;
|
|
315
|
+
const citeEnder =
|
|
316
|
+
`bake enderCreatureEntries NPC_TERENTHIS=${NPC_TERENTHIS} after WP3 explore credit`;
|
|
317
|
+
return [
|
|
318
|
+
{
|
|
319
|
+
kind: 'skip',
|
|
320
|
+
reason:
|
|
321
|
+
`escort Start(true, player, quest, false, false, path=${VOLCOR_PATH_01}) ` +
|
|
322
|
+
`npc_volcor (${NPC_VOLCOR}) stealth - FO6 degraded finishEscort`,
|
|
323
|
+
cite: citeEscort,
|
|
324
|
+
},
|
|
325
|
+
{
|
|
326
|
+
kind: 'skip',
|
|
327
|
+
reason:
|
|
328
|
+
`WP3 RewardPlayerAndGroupAtEventExplored(995) + ForcedDespawn(${VOLCOR_STEALTH_DESPAWN_MS}) - FO6 finishEscort`,
|
|
329
|
+
cite: citeCredit,
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
kind: 'skip',
|
|
333
|
+
reason: `turn-in NPC_TERENTHIS (${NPC_TERENTHIS}) after explore credit`,
|
|
334
|
+
cite: citeEnder,
|
|
335
|
+
},
|
|
336
|
+
];
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
// QuestAccept_npc_kerlonian — quest 5321 The Sleeper Has Awakened: drop bear form, stand, clear
|
|
340
|
+
// IMMUNE_TO_NPC and follow; sighting Liladris credits it. Cite: darkshore.cpp:197–212, :102–120.
|
|
341
|
+
function runKerlonianAccept(): DbScriptIntent[] {
|
|
342
|
+
const citeAura =
|
|
343
|
+
`darkshore.cpp:203 RemoveAurasDueToSpell(SPELL_BEAR_FORM=${SPELL_BEAR_FORM})`;
|
|
344
|
+
const citeStand =
|
|
345
|
+
'darkshore.cpp:204 SetStandState(UNIT_STAND_STATE_STAND)';
|
|
346
|
+
const citeFlags =
|
|
347
|
+
'darkshore.cpp:205 RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_IMMUNE_TO_NPC)';
|
|
348
|
+
const citeTalk =
|
|
349
|
+
`darkshore.cpp:206 npc_kerlonian (${NPC_KERLONIAN}) DoScriptText(SAY_KER_START=${SAY_KER_START})`;
|
|
350
|
+
const citeFollow =
|
|
351
|
+
`darkshore.cpp:207 StartFollow(player, FACTION_ESCORT_N_FRIEND_PASSIVE=${FACTION_ESCORT_N_FRIEND_PASSIVE}, quest) ` +
|
|
352
|
+
`npc_kerlonian (${NPC_KERLONIAN}) - FO6 degraded FollowerAI finishEscort`;
|
|
353
|
+
const citeSleep =
|
|
354
|
+
`darkshore.cpp:132–165 SetSleeping SPELL_SLEEP_VISUAL=${SPELL_SLEEP_VISUAL}; ` +
|
|
355
|
+
`SPELL_AWAKEN=${SPELL_AWAKEN} ClearSleeping (Horn ${ITEM_HORN_OF_AWAKENING}) - FO6`;
|
|
356
|
+
const citeCredit =
|
|
357
|
+
`darkshore.cpp:106–118 LOS NPC_LILADRIS=${NPC_LILADRIS} ` +
|
|
358
|
+
`RewardPlayerAndGroupAtEventExplored(5321) + SAY_KER_END=${SAY_KER_END} - FO6 finishEscort`;
|
|
359
|
+
const citeEnder =
|
|
360
|
+
`bake enderCreatureEntries NPC_LILADRIS=${NPC_LILADRIS} after LOS explore credit`;
|
|
361
|
+
const priorFlags = UNIT_FLAG_IMMUNE_TO_NPC;
|
|
362
|
+
const resultFlags = priorFlags & ~UNIT_FLAG_IMMUNE_TO_NPC;
|
|
363
|
+
return [
|
|
364
|
+
{
|
|
365
|
+
kind: 'remove_aura',
|
|
366
|
+
spellId: SPELL_BEAR_FORM,
|
|
367
|
+
mode: 'full',
|
|
368
|
+
cite: citeAura,
|
|
369
|
+
},
|
|
370
|
+
{
|
|
371
|
+
kind: 'stand_state',
|
|
372
|
+
standState: UNIT_STAND_STATE_STAND_DARKSHORE,
|
|
373
|
+
cite: citeStand,
|
|
374
|
+
},
|
|
375
|
+
{
|
|
376
|
+
kind: 'modify_unit_flags',
|
|
377
|
+
flag: UNIT_FLAG_IMMUNE_TO_NPC,
|
|
378
|
+
changeFlag: UNIT_FLAG_CHANGE_REMOVE,
|
|
379
|
+
mode: 'remove',
|
|
380
|
+
resultFlags,
|
|
381
|
+
cite: citeFlags,
|
|
382
|
+
},
|
|
383
|
+
{
|
|
384
|
+
kind: 'talk',
|
|
385
|
+
textId: SAY_KER_START,
|
|
386
|
+
stringTemplateId: 0,
|
|
387
|
+
cite: citeTalk,
|
|
388
|
+
},
|
|
389
|
+
{
|
|
390
|
+
kind: 'skip',
|
|
391
|
+
reason:
|
|
392
|
+
`StartFollow(player, FACTION_ESCORT_N_FRIEND_PASSIVE=${FACTION_ESCORT_N_FRIEND_PASSIVE}, quest) ` +
|
|
393
|
+
`npc_kerlonian (${NPC_KERLONIAN}) - FO6 degraded FollowerAI finishEscort`,
|
|
394
|
+
cite: citeFollow,
|
|
395
|
+
},
|
|
396
|
+
{
|
|
397
|
+
kind: 'skip',
|
|
398
|
+
reason:
|
|
399
|
+
`sleep SPELL_SLEEP_VISUAL (${SPELL_SLEEP_VISUAL}) + awaken SPELL_AWAKEN (${SPELL_AWAKEN}) ` +
|
|
400
|
+
`Horn ${ITEM_HORN_OF_AWAKENING} - FO6`,
|
|
401
|
+
cite: citeSleep,
|
|
402
|
+
},
|
|
403
|
+
{
|
|
404
|
+
kind: 'skip',
|
|
405
|
+
reason:
|
|
406
|
+
`LOS NPC_LILADRIS (${NPC_LILADRIS}) RewardPlayerAndGroupAtEventExplored(5321) + ` +
|
|
407
|
+
`SAY_KER_END (${SAY_KER_END}) - FO6 finishEscort`,
|
|
408
|
+
cite: citeCredit,
|
|
409
|
+
},
|
|
410
|
+
{
|
|
411
|
+
kind: 'skip',
|
|
412
|
+
reason: `turn-in NPC_LILADRIS (${NPC_LILADRIS}) after explore credit`,
|
|
413
|
+
cite: citeEnder,
|
|
414
|
+
},
|
|
415
|
+
];
|
|
416
|
+
}
|
|
417
|
+
|
|
418
|
+
// ── frame residuals (no pQuestAcceptNPC) ─────────────────────────────────────
|
|
419
|
+
|
|
420
|
+
// GossipSelect_npc_threshwackonator and its follower end — quest 2078: turning the key starts the
|
|
421
|
+
// follow, and reaching Gelkak flips it hostile. Cite: darkshore.cpp:355–382, :325–347.
|
|
422
|
+
function runThreshwackonatorResidual(): DbScriptIntent[] {
|
|
423
|
+
const citeGossip =
|
|
424
|
+
`darkshore.cpp:355–366 GossipHello incomplete ${QUEST_GYROMAST_REV}: ` +
|
|
425
|
+
`TEXT_ID_KEY_READY=${TEXT_ID_KEY_READY} else TEXT_ID_THRESH_DEFAULT=${TEXT_ID_THRESH_DEFAULT} ` +
|
|
426
|
+
`npc_threshwackonator (${NPC_THRESHWACKONATOR})`;
|
|
427
|
+
const citeSelect =
|
|
428
|
+
`darkshore.cpp:368–382 GossipSelect TURN_KEY: CLOSE + DoScriptText(EMOTE_START=${EMOTE_THRESH_START}) + StartFollow(player)`;
|
|
429
|
+
const citeEnd =
|
|
430
|
+
`darkshore.cpp:325–347 LOS NPC_GELKAK=${NPC_GELKAK} 10.0f: ` +
|
|
431
|
+
`DoScriptText(SAY_AT_CLOSE=${SAY_THRESH_AT_CLOSE}); ` +
|
|
432
|
+
`SetFactionTemporary(FACTION_HOSTILE=${FACTION_HOSTILE}); AttackStart(holder); SetFollowComplete - FO6 follow end`;
|
|
433
|
+
const citeKill =
|
|
434
|
+
`bake killTargets NPC_THRESHWACKONATOR=${NPC_THRESHWACKONATOR}×1 after hostile flip; ` +
|
|
435
|
+
`srcItem ITEM_GYROMASTS_KEY=${ITEM_GYROMASTS_KEY}`;
|
|
436
|
+
return [
|
|
437
|
+
{
|
|
438
|
+
kind: 'skip',
|
|
439
|
+
reason:
|
|
440
|
+
`GossipHello incomplete 2078 TEXT_ID_KEY_READY (${TEXT_ID_KEY_READY}) on ` +
|
|
441
|
+
`npc_threshwackonator (${NPC_THRESHWACKONATOR})`,
|
|
442
|
+
cite: citeGossip,
|
|
443
|
+
},
|
|
444
|
+
{
|
|
445
|
+
kind: 'talk',
|
|
446
|
+
textId: EMOTE_THRESH_START,
|
|
447
|
+
stringTemplateId: 0,
|
|
448
|
+
cite: citeSelect,
|
|
449
|
+
},
|
|
450
|
+
{
|
|
451
|
+
kind: 'skip',
|
|
452
|
+
reason:
|
|
453
|
+
`GossipSelect StartFollow(player) npc_threshwackonator (${NPC_THRESHWACKONATOR}) - FO6 follower`,
|
|
454
|
+
cite: citeSelect,
|
|
455
|
+
},
|
|
456
|
+
{
|
|
457
|
+
kind: 'skip',
|
|
458
|
+
reason:
|
|
459
|
+
`LOS Gelkak (${NPC_GELKAK}) SAY_AT_CLOSE (${SAY_THRESH_AT_CLOSE}) + ` +
|
|
460
|
+
`FACTION_HOSTILE (${FACTION_HOSTILE}) AttackStart - FO6 follow end`,
|
|
461
|
+
cite: citeEnd,
|
|
462
|
+
},
|
|
463
|
+
{
|
|
464
|
+
kind: 'skip',
|
|
465
|
+
reason:
|
|
466
|
+
`kill NPC_THRESHWACKONATOR (${NPC_THRESHWACKONATOR})×1 after hostile flip; key ${ITEM_GYROMASTS_KEY}`,
|
|
467
|
+
cite: citeKill,
|
|
468
|
+
},
|
|
469
|
+
];
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
// npc_rabid_bear SpellHit capture — quest 2118 Plagued Lands: the trap spell re-templates the bear,
|
|
473
|
+
// credits the kill and makes it follow. Cite: darkshore.cpp:598–620.
|
|
474
|
+
function runRabidBearCapture(): DbScriptIntent[] {
|
|
475
|
+
const citeSpell =
|
|
476
|
+
`darkshore.cpp:598–600 SpellHit SPELL_BEAR_CAPTURED=${SPELL_BEAR_CAPTURED} incomplete ${QUEST_PLAGUED_LANDS}`;
|
|
477
|
+
const citeTrap =
|
|
478
|
+
`darkshore.cpp:553 GO_NIGHT_ELVEN_BEAR_TRAP=${GO_NIGHT_ELVEN_BEAR_TRAP}; ` +
|
|
479
|
+
`bake srcItem ITEM_THARNARIUNS_HOPE=${ITEM_THARNARIUNS_HOPE}`;
|
|
480
|
+
const citeEntry =
|
|
481
|
+
`darkshore.cpp:606 UpdateEntry(NPC_CAPTURED_RABID_THISTLE_BEAR=${NPC_CAPTURED_RABID_THISTLE_BEAR}) ` +
|
|
482
|
+
`from NPC_RABID_THISTLE_BEAR=${NPC_RABID_THISTLE_BEAR}`;
|
|
483
|
+
const citeCredit =
|
|
484
|
+
`darkshore.cpp:608–610 KilledMonsterCredit(NPC_CAPTURED_RABID_THISTLE_BEAR=${NPC_CAPTURED_RABID_THISTLE_BEAR})`;
|
|
485
|
+
const citeFollow =
|
|
486
|
+
'darkshore.cpp:611 MoveFollow(caster, PET_FOLLOW_DIST, PET_FOLLOW_ANGLE) - FO6 follow';
|
|
487
|
+
const citeDespawn =
|
|
488
|
+
`darkshore.cpp:619 m_uiDespawnTimer=${RABID_BEAR_DESPAWN_MS}ms (3*MINUTE*IN_MILLISECONDS) ForcedDespawn - FO6`;
|
|
489
|
+
const citeCombat =
|
|
490
|
+
`darkshore.cpp:638–642 SPELL_RABIES=${SPELL_RABIES} combat cast - FO6`;
|
|
491
|
+
const citeEnder =
|
|
492
|
+
`bake enderCreatureEntries NPC_THARNARIUN_TREETENDER=${NPC_THARNARIUN_TREETENDER} after capture credit`;
|
|
493
|
+
return [
|
|
494
|
+
{
|
|
495
|
+
kind: 'skip',
|
|
496
|
+
reason:
|
|
497
|
+
`SpellHit SPELL_BEAR_CAPTURED (${SPELL_BEAR_CAPTURED}) on Rabid Thistle Bear (${NPC_RABID_THISTLE_BEAR}) incomplete 2118`,
|
|
498
|
+
cite: citeSpell,
|
|
499
|
+
},
|
|
500
|
+
{
|
|
501
|
+
kind: 'skip',
|
|
502
|
+
reason:
|
|
503
|
+
`trap GO ${GO_NIGHT_ELVEN_BEAR_TRAP} + srcItem Tharnariun's Hope (${ITEM_THARNARIUNS_HOPE})`,
|
|
504
|
+
cite: citeTrap,
|
|
505
|
+
},
|
|
506
|
+
{
|
|
507
|
+
kind: 'update_template',
|
|
508
|
+
oldEntry: NPC_RABID_THISTLE_BEAR,
|
|
509
|
+
newTemplate: NPC_CAPTURED_RABID_THISTLE_BEAR,
|
|
510
|
+
changed: true,
|
|
511
|
+
cite: citeEntry,
|
|
512
|
+
},
|
|
513
|
+
{
|
|
514
|
+
kind: 'kill_credit',
|
|
515
|
+
creatureEntry: NPC_CAPTURED_RABID_THISTLE_BEAR,
|
|
516
|
+
cite: citeCredit,
|
|
517
|
+
},
|
|
518
|
+
{
|
|
519
|
+
kind: 'skip',
|
|
520
|
+
reason: 'MoveFollow caster PET_FOLLOW_DIST/ANGLE - FO6 follow',
|
|
521
|
+
cite: citeFollow,
|
|
522
|
+
},
|
|
523
|
+
{
|
|
524
|
+
kind: 'despawn_self',
|
|
525
|
+
despawnDelay: RABID_BEAR_DESPAWN_MS,
|
|
526
|
+
cite: citeDespawn,
|
|
527
|
+
},
|
|
528
|
+
{
|
|
529
|
+
kind: 'skip',
|
|
530
|
+
reason: `SPELL_RABIES (${SPELL_RABIES}) combat - FO6`,
|
|
531
|
+
cite: citeCombat,
|
|
532
|
+
},
|
|
533
|
+
{
|
|
534
|
+
kind: 'skip',
|
|
535
|
+
reason: `turn-in NPC_THARNARIUN_TREETENDER (${NPC_THARNARIUN_TREETENDER}) after capture credit`,
|
|
536
|
+
cite: citeEnder,
|
|
537
|
+
},
|
|
538
|
+
];
|
|
539
|
+
}
|
|
540
|
+
|
|
541
|
+
// Family pack: kalimdor/darkshore.cpp. Accept hooks for 5321, 731, 994/995 and 945; residuals for
|
|
542
|
+
// the Threshwackonator gossip-follow (2078) and the rabid bear SpellHit (2118).
|
|
543
|
+
export function runDarkshore(
|
|
544
|
+
phase: QuestScriptHook,
|
|
545
|
+
questId: number,
|
|
546
|
+
): DbScriptIntent[] {
|
|
547
|
+
if (phase === 'accept') {
|
|
548
|
+
if (questId === QUEST_ABSENT_MINDED_PT2) return runRemtravelAccept();
|
|
549
|
+
if (questId === QUEST_ID_THERYLUNE_ESCAPE) return runTheryluneAccept();
|
|
550
|
+
if (questId === QUEST_ESCAPE_THROUGH_FORCE) return runVolcorForceAccept();
|
|
551
|
+
if (questId === QUEST_ESCAPE_THROUGH_STEALTH) return runVolcorStealthAccept();
|
|
552
|
+
if (questId === QUEST_SLEEPER_AWAKENED) return runKerlonianAccept();
|
|
553
|
+
return [];
|
|
554
|
+
}
|
|
555
|
+
if (phase === 'frame' || phase === 'complete') {
|
|
556
|
+
if (questId === QUEST_GYROMAST_REV) return runThreshwackonatorResidual();
|
|
557
|
+
if (questId === QUEST_PLAGUED_LANDS) return runRabidBearCapture();
|
|
558
|
+
return [];
|
|
559
|
+
}
|
|
560
|
+
return [];
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
// Map entries spread into QUEST_SCRIPT_REGISTRY (keeps registry.ts under 1500). next-batch.mjs also matches
|
|
564
|
+
// `family: 'kalimdor/darkshore'` in registry.ts.
|
|
565
|
+
export const DARKSHORE_REGISTRY: Record<string | number, DarkshoreQuestScriptEntry> = {
|
|
566
|
+
'kalimdor/darkshore': {
|
|
567
|
+
family: 'kalimdor/darkshore',
|
|
568
|
+
questIds: [
|
|
569
|
+
QUEST_ABSENT_MINDED_PT2,
|
|
570
|
+
QUEST_ID_THERYLUNE_ESCAPE,
|
|
571
|
+
QUEST_ESCAPE_THROUGH_FORCE,
|
|
572
|
+
QUEST_ESCAPE_THROUGH_STEALTH,
|
|
573
|
+
QUEST_GYROMAST_REV,
|
|
574
|
+
QUEST_PLAGUED_LANDS,
|
|
575
|
+
QUEST_SLEEPER_AWAKENED,
|
|
576
|
+
],
|
|
577
|
+
hooks: ['accept', 'frame', 'complete'],
|
|
578
|
+
cite: 'kalimdor/darkshore.cpp:197–212,289–299,355–382,468–477,528–541,598–620',
|
|
579
|
+
run: runDarkshore,
|
|
580
|
+
},
|
|
581
|
+
[QUEST_ABSENT_MINDED_PT2]: {
|
|
582
|
+
family: 'kalimdor/darkshore',
|
|
583
|
+
questId: QUEST_ABSENT_MINDED_PT2,
|
|
584
|
+
questIds: [QUEST_ABSENT_MINDED_PT2],
|
|
585
|
+
hooks: ['accept'],
|
|
586
|
+
cite: 'darkshore.cpp:289–299 QuestAccept_npc_prospector_remtravel',
|
|
587
|
+
run: runDarkshore,
|
|
588
|
+
},
|
|
589
|
+
[QUEST_ID_THERYLUNE_ESCAPE]: {
|
|
590
|
+
family: 'kalimdor/darkshore',
|
|
591
|
+
questId: QUEST_ID_THERYLUNE_ESCAPE,
|
|
592
|
+
questIds: [QUEST_ID_THERYLUNE_ESCAPE],
|
|
593
|
+
hooks: ['accept'],
|
|
594
|
+
cite: 'darkshore.cpp:528–541 QuestAccept_npc_therylune',
|
|
595
|
+
run: runDarkshore,
|
|
596
|
+
},
|
|
597
|
+
[QUEST_ESCAPE_THROUGH_FORCE]: {
|
|
598
|
+
family: 'kalimdor/darkshore',
|
|
599
|
+
questId: QUEST_ESCAPE_THROUGH_FORCE,
|
|
600
|
+
questIds: [QUEST_ESCAPE_THROUGH_FORCE],
|
|
601
|
+
hooks: ['accept'],
|
|
602
|
+
cite: 'darkshore.cpp:468–477 QuestAccept_npc_volcor force path',
|
|
603
|
+
run: runDarkshore,
|
|
604
|
+
},
|
|
605
|
+
[QUEST_ESCAPE_THROUGH_STEALTH]: {
|
|
606
|
+
family: 'kalimdor/darkshore',
|
|
607
|
+
questId: QUEST_ESCAPE_THROUGH_STEALTH,
|
|
608
|
+
questIds: [QUEST_ESCAPE_THROUGH_STEALTH],
|
|
609
|
+
hooks: ['accept'],
|
|
610
|
+
cite: 'darkshore.cpp:468–477 QuestAccept_npc_volcor stealth path',
|
|
611
|
+
run: runDarkshore,
|
|
612
|
+
},
|
|
613
|
+
[QUEST_GYROMAST_REV]: {
|
|
614
|
+
family: 'kalimdor/darkshore',
|
|
615
|
+
questId: QUEST_GYROMAST_REV,
|
|
616
|
+
questIds: [QUEST_GYROMAST_REV],
|
|
617
|
+
hooks: ['frame', 'complete'],
|
|
618
|
+
cite: 'darkshore.cpp:355–382,325–347 GossipSelect + DoAtEnd threshwackonator',
|
|
619
|
+
run: runDarkshore,
|
|
620
|
+
},
|
|
621
|
+
[QUEST_PLAGUED_LANDS]: {
|
|
622
|
+
family: 'kalimdor/darkshore',
|
|
623
|
+
questId: QUEST_PLAGUED_LANDS,
|
|
624
|
+
questIds: [QUEST_PLAGUED_LANDS],
|
|
625
|
+
hooks: ['frame', 'complete'],
|
|
626
|
+
cite: 'darkshore.cpp:598–620 npc_rabid_bear SpellHit capture residual',
|
|
627
|
+
run: runDarkshore,
|
|
628
|
+
},
|
|
629
|
+
[QUEST_SLEEPER_AWAKENED]: {
|
|
630
|
+
family: 'kalimdor/darkshore',
|
|
631
|
+
questId: QUEST_SLEEPER_AWAKENED,
|
|
632
|
+
questIds: [QUEST_SLEEPER_AWAKENED],
|
|
633
|
+
hooks: ['accept'],
|
|
634
|
+
cite: 'darkshore.cpp:197–212 QuestAccept_npc_kerlonian',
|
|
635
|
+
run: runDarkshore,
|
|
636
|
+
},
|
|
637
|
+
};
|