Ok
@Alexstrasza, ahora tienes alguna idea de como modificar la verificación de loot rights en el codigo de fuente TrinityCore y en que parte del codigo de Fuente de TrinityCore-WoTLK puedo hacer eso?
La modificación del sistema de loot rights es una tarea compleja y necesitas tener un conocimiento profundo del código fuente de TrinityCore. Antes de que procedas, te advierto que cualquier cambio que hagas puede tener implicaciones significativas en el funcionamiento de tu servidor, por lo que te recomiendo hacer una copia de seguridad antes de hacer cualquier cambio.
La verificación de los derechos de loot en TrinityCore generalmente se realiza en el archivo "LootMgr.cpp". En este archivo, hay una función llamada "CheckLootRights" (o algo similar dependiendo de la versión de TrinityCore que estés utilizando) que se utiliza para verificar si un jugador tiene derecho a recoger el loot de un monstruo o boss.
En la versión TrinityCore-WOTLK, la función se puede ver más o menos así:
```C++
bool LootMgr::CheckLootRights(Player* player, Creature* creature)
{
// Verificar si el jugador estuvo presente cuando el monstruo/boss fue derrotado
if (creature->IsLooted())
{
return false;
}
// Verificar si el jugador pertenece al mismo grupo/raid que derrotó al monstruo/boss
if (creature->GetLootRecipient() != player->GetGroup())
{
return false;
}
return true;
}
```
Para permitir que los personajes alternos recojan el loot, puedes modificar esta función para que también verifique si el jugador es un personaje alterno del jugador que derrotó al monstruo/boss. Esto podría implicar añadir un nuevo campo a la tabla de personajes en la base de datos para rastrear qué personajes son alternos de qué personajes principales, y luego consultar este campo en la función "CheckLootRights".
Recuerda, este es solo un ejemplo y la estructura del código puede variar dependiendo de la versión específica de TrinityCore que estés utilizando. Te recomiendo encarecidamente que busques guía profesional si no estás completamente seguro de cómo proceder.