Restore rank requirements to Vanilla PvP gear

This commit is contained in:
郑佩茹
2023-08-08 21:15:41 -06:00
parent f3c8d23aaa
commit 20f9993311
6 changed files with 144 additions and 3 deletions

View File

@@ -361,6 +361,75 @@ public:
rDungeonId = RDF_THE_BURNING_CRUSADE_HEROIC;
}
}
bool CanEquipItem(Player* player, uint8 /*slot*/, uint16& /*dest*/, Item* pItem, bool /*swap*/, bool /*not_loading*/) override
{
if (sIndividualProgression->pvpGearRequirements)
{
switch (pItem->GetTemplate()->RequiredHonorRank)
{
case 5:
if (!(player->HasTitle(PRIVATE) || player->HasTitle(SCOUT)))
return false;
break;
case 6:
if (!(player->HasTitle(CORPORAL) || player->HasTitle(GRUNT)))
return false;
break;
case 7:
if (!(player->HasTitle(SERGEANT) || player->HasTitle(SERGEANT_H)))
return false;
break;
case 8:
if (!(player->HasTitle(MASTER_SERGEANT) || player->HasTitle(SENIOR_SERGEANT)))
return false;
break;
case 9:
if (!(player->HasTitle(SERGEANT_MAJOR) || player->HasTitle(FIRST_SERGEANT)))
return false;
break;
case 10:
if (!(player->HasTitle(KNIGHT) || player->HasTitle(STONE_GUARD)))
return false;
break;
case 11:
if (!(player->HasTitle(KNIGHT_LIEUTENANT) || player->HasTitle(BLOOD_GUARD)))
return false;
break;
case 12:
if (!(player->HasTitle(KNIGHT_CAPTAIN) || player->HasTitle(LEGIONNAIRE)))
return false;
break;
case 13:
if (!(player->HasTitle(KNIGHT_CHAMPION) || player->HasTitle(CENTURION)))
return false;
break;
case 14:
if (!(player->HasTitle(LIEUTENANT_COMMANDER) || player->HasTitle(CHAMPION)))
return false;
break;
case 15:
if (!(player->HasTitle(COMMANDER) || player->HasTitle(LIEUTENANT_GENERAL)))
return false;
break;
case 16:
if (!(player->HasTitle(MARSHAL) || player->HasTitle(GENERAL)))
return false;
break;
case 17:
if (!(player->HasTitle(FIELD_MARSHAL) || player->HasTitle(WARLORD)))
return false;
break;
case 18:
if (!(player->HasTitle(GRAND_MARSHAL) || player->HasTitle(HIGH_WARLORD)))
return false;
break;
default:
break;
}
}
return true;
}
};
class IndividualPlayerProgression_AccountScript: public AccountScript