Files
moonwell-core/doc/MechanicsIndex.md
T
2026-06-12 18:17:33 +04:00

86 lines
15 KiB
Markdown

# Mechanics Index
This file is a query bridge for Graphify. It maps gameplay and deployment mechanics to the code paths that usually answer "how does this work?" questions.
Use terms from the "Query terms" column when asking Graphify about mechanics. Russian terms are included so searches like "механика получения уровня" or "как работает лут" land near the right implementation.
| Mechanic | Query terms | Primary code anchors |
| --- | --- | --- |
| Player XP and level-up | level, leveling, player level, XP, experience, GiveXP, GiveLevel, получение уровня, прокачка, опыт | `src/server/game/Entities/Player/Player.cpp` (`Player::GiveXP`, `Player::GiveLevel`, `Player::InitStatsForLevel`), `src/server/game/Globals/ObjectMgr.cpp` (`LoadPlayerXPForLevel`, `GetXPForLevel`) |
| Kill XP reward | kill XP, mob XP, creature XP, group XP, rested XP, опыт за убийство | `src/server/game/Entities/Player/KillRewarder.cpp`, `src/server/game/Miscellaneous/Formulas.cpp` (`Acore::XP::Gain`, `Acore::XP::BaseGain`) |
| Quest XP and quest rewards | quest XP, RewardQuest, quest reward, награда за квест, опыт за квест | `src/server/game/Entities/Player/PlayerQuest.cpp` (`Player::RewardQuest`, `CalculateQuestRewardXP`), `src/server/game/Quests/QuestDef.cpp` (`Quest::XPValue`) |
| Progression caps and expansion gating | progression, expansion gating, vanilla cap, TBC cap, контентная прогрессия, ограничение уровня | `modules/mod-individual-progression/src/IndividualProgressionPlayer.cpp`, `modules/mod-individual-progression/src/IndividualProgression.cpp`, `setup-modules.sh` |
| Dungeon and raid scaling | autobalance, dungeon scaling, raid scaling, solo dungeon, баланс подземелий, масштабирование мобов | `modules/mod-autobalance/src/ABPlayerScript.cpp`, `modules/mod-autobalance/src/ABCreatureInfo.cpp`, `modules/mod-autobalance/src/ABMapInfo.cpp`, `setup-modules.sh` |
| Playerbots | playerbots, bots, addclass, random bots, боты, бот-пати | `modules/mod-playerbots/src/`, `setup-modules.sh`, `.env.example` |
| Automatic spell learning | learn spells, auto learn, riding, talents, автообучение, заклинания | `modules/mod-learnspells/src/`, `modules/mod-learnspells/conf/mod_learnspells.conf.dist`, `setup-modules.sh` |
| Loot quality of life | aoe loot, area loot, quest loot party, лут, групповой квестовый лут | `modules/mod-aoe-loot/`, `modules/mod-quest-loot-party/`, `import-custom-sql.sh`, `setup-modules.sh` |
| Eluna Lua scripts | Eluna, Lua, AIO, server script, lua_scripts, скрипты Lua | `modules/mod-eluna/`, `lua_scripts/AIO_Server/`, `lua_scripts/`, `setup-modules.sh` |
| Mythic Plus | MythicPlus, mythic key, affixes, vault, мифик плюс, ключи, недельный сундук | `lua_scripts/MythicPlus/`, `sql/Mythic+/`, `import-custom-sql.sh` |
| Store system | store, shop, purchase, донат-магазин, магазин | `lua_scripts/Store_System/`, `sql/Store.sql`, `import-custom-sql.sh` |
| Start-zone teleporters | start zone teleporters, race teleporter, телепорт стартовых зон | `lua_scripts/StartZoneRaceTeleporters/`, `setup-modules.sh` |
| Module config generation | module config, generated config, setup modules, конфиги модулей | `setup-modules.sh`, `.env.example`, `env/dist/etc/modules/*.conf.dist` |
| Custom SQL bootstrap | custom SQL, import SQL, bootstrap SQL, импорт SQL, база данных | `import-custom-sql.sh`, `sql/`, `lua_scripts/*/sql/` |
| Realm address and auth DB sync | realmlist, realm address, auth DB, sync realmlist, реалмлист | `sync-realmlist.sh`, `.env.example`, `docker-compose.override.yml` |
| Account bootstrap | create account, gmlevel, account access, создание аккаунта | `create-account.sh`, `.env.example` |
| Docker startup | start server, docker compose, worldserver, authserver, запуск сервера | `start-server.sh`, `docker-compose.yml`, `docker-compose.override.yml`, `.env.example` |
| World loop and server runtime | world loop, world update, server startup, worldserver runtime, тик мира, цикл сервера | `src/server/game/World/`, `src/server/game/Server/`, `src/server/worldserver/`, `start-server.sh` |
| Session and packet handling | WorldSession, packet handler, opcode, client packet, server packet, обработчик пакетов | `src/server/game/Server/`, `src/server/game/Handlers/`, `src/server/game/Server/Packets/` |
| Object model and update fields | Object, Unit, Player, Creature, GameObject, update fields, объектная модель | `src/server/game/Entities/Object/`, `src/server/game/Entities/Unit/`, `src/server/game/Entities/Player/`, `src/server/game/Entities/Creature/`, `src/server/game/Entities/GameObject/` |
| Player lifecycle | login, logout, create character, load character, save character, death, resurrect, вход персонажа, смерть, воскрешение | `src/server/game/Entities/Player/Player.cpp`, `src/server/game/Entities/Player/PlayerStorage.cpp`, `src/server/game/Handlers/CharacterHandler.cpp` |
| Player stats and ratings | stats, rating, health, mana, armor, attack power, regen, характеристики, рейтинги | `src/server/game/Entities/Player/Player.cpp`, `src/server/game/Entities/Player/PlayerUpdates.cpp`, `src/server/game/Entities/Unit/Unit.cpp` |
| Talents and glyphs | talents, glyphs, specs, talent reset, таланты, символы, спеки | `src/server/game/Entities/Player/Player.cpp`, `src/server/game/Handlers/SpellHandler.cpp`, `src/server/game/DataStores/DBCStores.cpp` |
| Skills and professions | skills, professions, weapon skill, trade skill, навыки, профессии | `src/server/game/Skills/`, `src/server/game/Entities/Player/Player.cpp`, `src/server/game/Handlers/SkillHandler.cpp` |
| Spell casting | spell cast, spell prepare, spell effects, cooldown, cast result, каст заклинаний | `src/server/game/Spells/`, `src/server/game/Spells/Spell.cpp`, `src/server/game/Spells/SpellEffects.cpp`, `src/server/game/Handlers/SpellHandler.cpp` |
| Auras and procs | aura, buff, debuff, proc, spell aura, periodic aura, ауры, проки | `src/server/game/Spells/Auras/`, `src/server/game/Spells/SpellAuras.cpp`, `src/server/game/Spells/SpellAuraEffects.cpp`, `src/server/game/Spells/SpellProc.cpp` |
| Combat damage and threat | combat, damage, melee, ranged, threat, aggro, бой, урон, угроза, агро | `src/server/game/Combat/`, `src/server/game/Entities/Unit/Unit.cpp`, `src/server/game/Entities/Unit/ThreatManager.cpp` |
| Creature AI and scripting | CreatureAI, ScriptedAI, SmartAI, EventAI, npc script, ИИ мобов, скрипт NPC | `src/server/game/AI/`, `src/server/game/AI/ScriptedAI/`, `src/server/game/AI/SmartScripts/`, `src/server/scripts/` |
| Gossip and NPC interaction | gossip, npc menu, trainer, vendor, quest giver, диалог NPC, тренер, торговец | `src/server/game/AI/ScriptedAI/ScriptedGossip.cpp`, `src/server/game/Handlers/NPCHandler.cpp`, `src/server/scripts/World/` |
| Quest flow | quest accept, quest complete, quest status, objectives, квесты, цели квеста | `src/server/game/Quests/`, `src/server/game/Entities/Player/PlayerQuest.cpp`, `src/server/game/Handlers/QuestHandler.cpp` |
| Reputation and factions | reputation, faction, standing, faction change, репутация, фракции | `src/server/game/Reputation/`, `src/server/game/Entities/Player/Player.cpp` |
| Achievements | achievement, criteria, achievement reward, достижения, критерии | `src/server/game/Achievements/`, `src/server/game/Entities/Player/Player.cpp` |
| Inventory and equipment | inventory, equip, bag, item storage, bank, инвентарь, экипировка, сумки, банк | `src/server/game/Entities/Item/`, `src/server/game/Entities/Player/PlayerStorage.cpp`, `src/server/game/Handlers/ItemHandler.cpp`, `src/server/game/Handlers/BankHandler.cpp` |
| Item effects and durability | item use, item enchant, gems, durability, repair, предметы, прочность, чары, сокеты | `src/server/game/Entities/Item/`, `src/server/game/Spells/SpellEffects.cpp`, `src/server/game/Handlers/ItemHandler.cpp` |
| Loot system | Loot, loot template, creature loot, gameobject loot, disenchant loot, лут, добыча | `src/server/game/Loot/`, `src/server/game/Handlers/LootHandler.cpp`, `src/server/game/Entities/Player/Player.cpp` |
| Trade and economy | trade, money, buyback, vendor, trainer cost, торговля, деньги, экономика | `src/server/game/Handlers/TradeHandler.cpp`, `src/server/game/Handlers/NPCHandler.cpp`, `src/server/game/Entities/Player/Player.cpp` |
| Auction house | auction, bid, buyout, auction mail, аукцион | `src/server/game/AuctionHouse/`, `src/server/game/Handlers/AuctionHouseHandler.cpp` |
| Mail | mail, mailbox, item mail, cod, почта | `src/server/game/Mails/`, `src/server/game/Handlers/MailHandler.cpp` |
| Groups and raids | group, raid, party, group reward, raid difficulty, группа, рейд, пати | `src/server/game/Groups/`, `src/server/game/Handlers/GroupHandler.cpp`, `src/server/game/Entities/Player/KillRewarder.cpp` |
| Guilds and guild bank | guild, guild bank, guild rank, guild roster, гильдия, банк гильдии | `src/server/game/Guilds/`, `src/server/game/Handlers/GuildHandler.cpp` |
| Chat and channels | chat, channel, whisper, say, yell, чат, каналы | `src/server/game/Chat/`, `src/server/game/Chat/Channels/`, `src/server/game/Handlers/ChatHandler.cpp` |
| Calendar | calendar, event invite, raid lock calendar, календарь | `src/server/game/Calendar/`, `src/server/game/Handlers/CalendarHandler.cpp` |
| Tickets and GM support | ticket, complaint, GM ticket, тикеты | `src/server/game/Tickets/`, `src/server/game/Handlers/TicketHandler.cpp` |
| Commands and GM tools | command, gm command, chat command, server command, команды GM | `src/server/game/Chat/ChatCommands/`, `src/server/scripts/Commands/` |
| Maps and instances | map, instance, dungeon, raid, instance save, bind, карта, инстанс, подземелье | `src/server/game/Maps/`, `src/server/game/Instances/`, `src/server/scripts/*/*/` |
| Dungeon finder | dungeon finder, LFG, RDF, random dungeon, поиск подземелий | `src/server/game/DungeonFinding/`, `src/server/game/Handlers/LFGHandler.cpp` |
| Battlegrounds and arenas | battleground, arena, honor, marks, PvP queue, бг, арена, хонор | `src/server/game/Battlegrounds/`, `src/server/game/Handlers/BattleGroundHandler.cpp`, `src/server/game/Battlegrounds/ArenaSeason/` |
| Outdoor PvP and battlefields | OutdoorPvP, Wintergrasp, battlefield, world PvP, озеро ледяных оков | `src/server/game/OutdoorPvP/`, `src/server/game/Battlefield/`, `src/server/scripts/OutdoorPvP/` |
| Pets and summons | pet, hunter pet, summon, charm, totem, питомец, призыв, тотем | `src/server/game/Entities/Pet/`, `src/server/game/Entities/Totem/`, `src/server/scripts/Pet/` |
| Vehicles | vehicle, seat, passenger, vehicle aura, транспортное средство | `src/server/game/Entities/Vehicle/`, `src/server/game/Handlers/VehicleHandler.cpp` |
| Movement and pathing | movement, spline, waypoint, mmap, pathfinding, движение, путь, вейпоинт | `src/server/game/Movement/`, `src/server/game/Movement/MovementGenerators/`, `src/server/game/Movement/Waypoints/`, `src/tools/mmaps_generator/` |
| Transports and boats | transport, ship, zeppelin, elevator, транспорт, корабль, дирижабль | `src/server/game/Entities/Transport/`, `src/server/game/Handlers/MovementHandler.cpp` |
| GameObjects | gameobject, door, chest, trap, goober, объект мира, дверь, сундук | `src/server/game/Entities/GameObject/`, `src/server/game/Handlers/GameObjectHandler.cpp` |
| Corpse and graveyard | corpse, graveyard, spirit healer, release spirit, труп, кладбище | `src/server/game/Entities/Corpse/`, `src/server/game/Handlers/MiscHandler.cpp` |
| Conditions system | conditions, condition source, visibility condition, условия | `src/server/game/Conditions/`, `src/server/game/Globals/ObjectMgr.cpp` |
| DBC and data stores | DBC, DB2, DBCStores, game tables, клиентские данные | `src/server/game/DataStores/`, `src/server/game/Globals/ObjectMgr.cpp` |
| Pools and spawns | pool, spawn pool, pooled gameobject, pooled creature, пулы спавна | `src/server/game/Pools/`, `src/server/game/Globals/ObjectMgr.cpp` |
| Game events | game event, holiday, seasonal event, событие, праздник | `src/server/game/Events/`, `src/server/scripts/Events/` |
| Weather and time | weather, time, game time, day night, погода, время | `src/server/game/Weather/`, `src/server/game/Time/` |
| Warden and anti-cheat | Warden, anti cheat, client check, античит | `src/server/game/Warden/` |
| Addons and saved variables | addon, addon info, client addon, аддоны | `src/server/game/Addons/`, `src/server/game/Handlers/MiscHandler.cpp` |
| Cache packets | cache, query response, creature query, item query, кэш клиента | `src/server/game/Cache/`, `src/server/game/Handlers/QueryHandler.cpp` |
| Script manager and hooks | ScriptMgr, PlayerScript, CreatureScript, hook, скриптовые хуки | `src/server/game/Scripting/`, `src/server/scripts/`, `modules/*/src/` |
| World DB loading | ObjectMgr, load templates, creature_template, gameobject_template, загрузка world DB | `src/server/game/Globals/ObjectMgr.cpp`, `src/server/database/` |
When Graphify returns a broad node such as `Player`, `Quest`, `Creature`, `scripts`, or `Configuration`, refine with the concrete query term from this table, for example:
- `graphify query "GiveXP GiveLevel player level-up"`
- `graphify query "mod-individual-progression vanilla cap XP"`
- `graphify query "MythicPlus vault weekly affixes"`
- `graphify query "setup-modules module config generation"`
For the fastest lookup, copy the matching key from `doc/mechanics.index.json` and use `graphify explain`. This returns the clean anchor list without pulling in neighboring mechanics:
- `graphify explain "spell_casting_spell_prepare_spell_effects_cooldown_cast_result_каст_заклинаний"`
- `graphify explain "loot_system_loot_template_creature_loot_gameobject_loot_disenchant_лут_добыча"`
- `graphify explain "session_packet_handling_WorldSession_opcode_client_packet_server_packet_обработчик_пакетов"`