diff --git a/.github/README.md b/.github/README.md index f9691f2..0b86cdb 100644 --- a/.github/README.md +++ b/.github/README.md @@ -1,17 +1,65 @@ # ![logo](https://raw.githubusercontent.com/azerothcore/azerothcore.github.io/master/images/logo-github.png) AzerothCore -## # Mod Quest Loot Party +## Quest Loot Party Module -[English](README.md) | [Español](README_ES.md) +[Español](#español) | [English](#english) -- Latest build status with azerothcore: +[![Build Status](https://github.com/pangolp/mod-quest-loot-party/actions/workflows/core-build.yml/badge.svg?branch=master)](https://github.com/pangolp/mod-quest-loot-party/actions) -[![Build Status](https://github.com/pangolp/mod-quest-loot-party/workflows/core-build/badge.svg?branch=master&event=push)](https://github.com/pangolp/mod-quest-loot-party) +--- -The idea of this simple mod is that by implementing a hook in the emulator, it is possible to modify the drop condition of the quest items. In this way, it is possible that within a group, everyone is able to get the quest item, as long as the npc has a chance to drop it. +## Español -I think this way, we encourage more people to play in groups, because before, if we were a group of 5 people doing quests, and we had to get all the necessary items, we had to kill a lot of npc, or directly avoid that kind of quests. - -- For this module to work, the following pull request must be approved. -- Until it is in the emulator, it cannot work. +- Para que este modulo funcione, se requiere de la aprobación del siguiente pull request. +- Hasta que el mismo no se encuentre en el emulador, no puede funcionar. - https://github.com/azerothcore/azerothcore-wotlk/pull/16509 + +Este módulo para **AzerothCore** permite que los objetos de misión (Quest Items) caigan para todos los miembros del grupo que tengan la misión activa, facilitando la progresión en grupo y evitando la necesidad de matar al mismo jefe o criatura múltiples veces. + +### Características +* **Botín Grupal:** Cuando un jugador despoja un objeto de misión, todos los miembros del grupo elegibles reciben el objeto. +* **Mensajes Configurables:** Notifica a los jugadores cuando el botín se reparte. +* **Configuración Sencilla:** Control total desde el archivo `.conf`. + +### Instalación +1. Copia el contenido de este repositorio en la carpeta `modules/` de tu código fuente de AzerothCore. +2. Vuelve a ejecutar CMake. +3. Compila el servidor. +4. Copia el archivo `QuestParty.conf.dist` a tu carpeta de binarios (donde está el `worldserver.exe`), renombrándolo a `QuestParty.conf`. + +### Configuración +En el archivo `QuestParty.conf` puedes ajustar: +* `QuestParty.Enable`: Activa (1) o desactiva (0) el módulo. +* `QuestParty.Message`: Activa (1) o desactiva (0) los mensajes informativos en el chat del juego. + +--- + +## English + +- For this module to work, approval of the following pull request is required. +- Until it is found in the emulator, it cannot work. +- https://github.com/azerothcore/azerothcore-wotlk/pull/16509 + +This module for **AzerothCore** enables quest items to drop for all party members who have the quest active, streamlining group progression and removing the need to kill the same boss or creature multiple times. + +### Features +* **Group Looting:** When one player loots a quest item, all eligible party members receive the item. +* **Configurable Messages:** Notifies players when the loot is distributed. +* **Easy Setup:** Full control via the `.conf` file. + +### Installation +1. Copy the contents of this repository into the `modules/` folder of your AzerothCore source code. +2. Rerun CMake. +3. Recompile your server. +4. Copy the `QuestParty.conf.dist` file to your binaries folder (where `worldserver.exe` is located) and rename it to `QuestParty.conf`. + +### Configuration +Within the `QuestParty.conf` file, you can adjust: +* `QuestParty.Enable`: Enable (1) or Disable (0) the module. +* `QuestParty.Message`: Enable (1) or Disable (0) in-game chat notifications. + +--- + +## Créditos / Credits +* **Autor:** [pangolp](https://github.com/pangolp) +* **Plataforma:** [AzerothCore](https://github.com/azerothcore/azerothcore-wotlk) diff --git a/.github/README_ES.md b/.github/README_ES.md deleted file mode 100644 index 375dd54..0000000 --- a/.github/README_ES.md +++ /dev/null @@ -1,17 +0,0 @@ -# ![logo](https://raw.githubusercontent.com/azerothcore/azerothcore.github.io/master/images/logo-github.png) AzerothCore - -## # Mod Quest Loot Party - -[English](README.md) | [Español](README_ES.md) - -- Último estado de compilación con azerothcore: - -[![Build Status](https://github.com/pangolp/mod-quest-loot-party/workflows/core-build/badge.svg?branch=master&event=push)](https://github.com/pangolp/mod-quest-loot-party) - -La idea de este sencillo mod, es que mediante la implementación de un hook en el emulador, sea posible modificar la condición del drop de los ítems de quest. De esa forma, es posible, que dentro de un grupo, todos sean capaces de obtener el ítem de quest, siempre y cuando, el npc tenga una probabilidad de tirarlo. - -Creo que de esa forma, fomentamos mas el hecho de que la gente jugué en grupo, porque anteriormente, si eramos un grupo de 5 personas haciendo misiones, y teníamos que obtener todos los ítems necesarios, debíamos matar mucha cantidad de npc, o bien, directamente evitar ese tipo de misiones. - -- Para que este modulo funcione, se requiere de la aprobación del siguiente pull request. -- Hasta que el mismo no se encuentre en el emulador, no puede funcionar. -- https://github.com/azerothcore/azerothcore-wotlk/pull/16509 diff --git a/conf/mod-quest-loot-party.conf.dist b/conf/mod-quest-loot-party.conf.dist index 1b98c5a..174fdba 100644 --- a/conf/mod-quest-loot-party.conf.dist +++ b/conf/mod-quest-loot-party.conf.dist @@ -3,7 +3,8 @@ # # QuestParty.Message # Description: Enable or Disable the Quest Loot Party Message. -# Default: QuestParty.Message = 1 +# Options: 0 or 1 +# Default: 1 (enabled) # QuestParty.Message = 1 @@ -11,7 +12,8 @@ QuestParty.Message = 1 # # QuestParty.Enable # Description: Enable or Disable the Quest Loot Party Module. -# Default: QuestParty.Enable = 1 +# Options: 0 or 1 +# Default: 1 (enabled) # QuestParty.Enable = 1 diff --git a/data/sql/db-world/base/.gitkeep b/data/sql/db-world/base/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/src/quest_loot_party.cpp b/src/quest_loot_party.cpp index a9718e6..fe25cd3 100644 --- a/src/quest_loot_party.cpp +++ b/src/quest_loot_party.cpp @@ -19,7 +19,7 @@ public: void OnPlayerLogin(Player* player) override { - if (sConfigMgr->GetOption("QuestParty.Message", false)) + if (sConfigMgr->GetOption("QuestParty.Message", true)) { ChatHandler(player->GetSession()).PSendSysMessage(HELLO_QUEST_PARTY); } @@ -27,7 +27,7 @@ public: void OnPlayerBeforeFillQuestLootItem(Player* /*player*/, LootItem& item) override { - if (sConfigMgr->GetOption("QuestParty.Enable", false)) + if (sConfigMgr->GetOption("QuestParty.Enable", true)) { ItemTemplate const* itemTemplate = sObjectMgr->GetItemTemplate(item.itemid);