Skip to content

Commit

Permalink
[9221] Implement minimal area team size for some items arena rating r…
Browse files Browse the repository at this point in the history
…equirements.

Signed-off-by: VladimirMangos <vladimir@getmangos.com>
  • Loading branch information
LordJZ authored and VladimirMangos committed Jan 20, 2010
1 parent 9a2547d commit dc15c54
Show file tree
Hide file tree
Showing 5 changed files with 7 additions and 7 deletions.
2 changes: 1 addition & 1 deletion src/game/DBCStructure.h
Original file line number Diff line number Diff line change
Expand Up @@ -1007,7 +1007,7 @@ struct ItemExtendedCostEntry
uint32 ID; // 0 extended-cost entry id
uint32 reqhonorpoints; // 1 required honor points
uint32 reqarenapoints; // 2 required arena points
//uint32 unk1; // 4 probably indicates new 2v2 bracket restrictions
uint32 reqarenaslot; // 4 arena slot restrctions (min slot value)
uint32 reqitem[5]; // 5-8 required item id
uint32 reqitemcount[5]; // 9-13 required count of 1st item
uint32 reqpersonalarenarating; // 14 required personal arena rating
Expand Down
2 changes: 1 addition & 1 deletion src/game/DBCfmt.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ const char Itemfmt[]="niiiiiii";
const char ItemBagFamilyfmt[]="nxxxxxxxxxxxxxxxxx";
//const char ItemDisplayTemplateEntryfmt[]="nxxxxxxxxxxixxxxxxxxxxx";
//const char ItemCondExtCostsEntryfmt[]="xiii";
const char ItemExtendedCostEntryfmt[]="niixiiiiiiiiiiix";
const char ItemExtendedCostEntryfmt[]="niiiiiiiiiiiiiix";
const char ItemLimitCategoryEntryfmt[]="nxxxxxxxxxxxxxxxxxix";
const char ItemRandomPropertiesfmt[]="nxiiiiissssssssssssssssx";
const char ItemRandomSuffixfmt[]="nssssssssssssssssxxiiiiiiiiii";
Expand Down
6 changes: 3 additions & 3 deletions src/game/Player.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -17927,7 +17927,7 @@ bool Player::BuyItemFromVendor(uint64 vendorguid, uint32 item, uint8 count, uint
}

// check for personal arena rating requirement
if( GetMaxPersonalArenaRatingRequirement() < iece->reqpersonalarenarating )
if( GetMaxPersonalArenaRatingRequirement(iece->reqarenaslot) < iece->reqpersonalarenarating )
{
// probably not the proper equip err
SendEquipError(EQUIP_ERR_CANT_EQUIP_RANK,NULL,NULL);
Expand Down Expand Up @@ -18041,13 +18041,13 @@ bool Player::BuyItemFromVendor(uint64 vendorguid, uint32 item, uint8 count, uint
return crItem->maxcount != 0;
}

uint32 Player::GetMaxPersonalArenaRatingRequirement()
uint32 Player::GetMaxPersonalArenaRatingRequirement(uint32 minarenaslot)
{
// returns the maximal personal arena rating that can be used to purchase items requiring this condition
// the personal rating of the arena team must match the required limit as well
// so return max[in arenateams](min(personalrating[teamtype], teamrating[teamtype]))
uint32 max_personal_rating = 0;
for(int i = 0; i < MAX_ARENA_SLOT; ++i)
for(int i = minarenaslot; i < MAX_ARENA_SLOT; ++i)
{
if(ArenaTeam * at = sObjectMgr.GetArenaTeamById(GetArenaTeamId(i)))
{
Expand Down
2 changes: 1 addition & 1 deletion src/game/Player.h
Original file line number Diff line number Diff line change
Expand Up @@ -1943,7 +1943,7 @@ class MANGOS_DLL_SPEC Player : public Unit
uint32 GetArenaPoints() { return GetUInt32Value(PLAYER_FIELD_ARENA_CURRENCY); }
void ModifyHonorPoints( int32 value );
void ModifyArenaPoints( int32 value );
uint32 GetMaxPersonalArenaRatingRequirement();
uint32 GetMaxPersonalArenaRatingRequirement(uint32 minarenaslot);

//End of PvP System

Expand Down
2 changes: 1 addition & 1 deletion src/shared/revision_nr.h
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#ifndef __REVISION_NR_H__
#define __REVISION_NR_H__
#define REVISION_NR "9220"
#define REVISION_NR "9221"
#endif // __REVISION_NR_H__

0 comments on commit dc15c54

Please sign in to comment.