1V1 模块在新版的AZ中部分有变化,所以使用了官方的模块部分代码,后续我觉得应该取消内部1V1,直接改用官方1V1模块算求了

This commit is contained in:
尚美 2025-02-19 00:59:22 +08:00
parent c1af7ad46c
commit 83474bae4d

View File

@ -95,37 +95,20 @@ public:
ChatHandler(pPlayer->GetSession()).SendSysMessage("这个服务器正在运行 |cff4CFF00竞技场1v1 |r 模块。");
}
void GetCustomGetArenaTeamId(const Player* player, uint8 slot, uint32& id) const override
{
if (slot == sConfigMgr->GetOption<uint32>("Arena1v1.ArenaSlotID", 3))
{
if (ArenaTeam* at = sArenaTeamMgr->GetArenaTeamByCaptain(player->GetGUID(), ARENA_TEAM_1V1))
{
id = at->GetId();
}
}
}
void GetCustomArenaPersonalRating(const Player* player, uint8 slot, uint32& rating) const override
{
if (slot == sConfigMgr->GetOption<uint32>("Arena1v1.ArenaSlotID", 3))
{
if (ArenaTeam* at = sArenaTeamMgr->GetArenaTeamByCaptain(player->GetGUID(), ARENA_TEAM_1V1))
{
rating = at->GetRating();
}
}
}
void OnGetMaxPersonalArenaRatingRequirement(const Player* player, uint32 minslot, uint32& maxArenaRating) const override
{
if (sConfigMgr->GetOption<bool>("Arena1v1.VendorRating", false) && minslot < (uint32)sConfigMgr->GetOption<uint32>("Arena1v1.ArenaSlotID", 3))
{
if (ArenaTeam* at = sArenaTeamMgr->GetArenaTeamByCaptain(player->GetGUID(), ARENA_TEAM_1V1))
{
maxArenaRating = std::max(at->GetRating(), maxArenaRating);
}
}
void OnGetArenaTeamId(Player* player, uint8 slot, uint32& result) override
{
if (!player)
return;
if (slot == ARENA_SLOT_1V1)
result = player->GetArenaTeamIdFromDB(player->GetGUID(), ARENA_TYPE_1V1);
}
};