diff options
Diffstat (limited to 'src/game/Guild.h')
-rw-r--r-- | src/game/Guild.h | 42 |
1 files changed, 35 insertions, 7 deletions
diff --git a/src/game/Guild.h b/src/game/Guild.h index 5dc6c00111d..9f832260f14 100644 --- a/src/game/Guild.h +++ b/src/game/Guild.h @@ -1,7 +1,7 @@ /* - * Copyright (C) 2005-2008 MaNGOS <http://www.mangosproject.org/> + * Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/> * - * Copyright (C) 2008 Trinity <http://www.trinitycore.org/> + * Copyright (C) 2008-2009 Trinity <http://www.trinitycore.org/> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -53,10 +53,11 @@ enum GuildRankRights GR_RIGHT_VIEWOFFNOTE = 0x00004040, GR_RIGHT_EOFFNOTE = 0x00008040, GR_RIGHT_MODIFY_GUILD_INFO = 0x00010040, - GR_RIGHT_REPAIR_FROM_GUILD = 0x00020000, // unused in 2.4.x?, Remove money withdraw capacity + GR_RIGHT_WITHDRAW_GOLD_LOCK = 0x00020000, // remove money withdraw capacity GR_RIGHT_WITHDRAW_REPAIR = 0x00040000, // withdraw for repair GR_RIGHT_WITHDRAW_GOLD = 0x00080000, // withdraw gold - GR_RIGHT_ALL = 0x000FF1FF + GR_RIGHT_CREATE_GUILD_EVENT = 0x00100000, // wotlk + GR_RIGHT_ALL = 0x001DF1FF }; enum Typecommand @@ -156,6 +157,8 @@ enum GuildBankLogEntries GUILD_BANK_LOG_WITHDRAW_MONEY = 5, GUILD_BANK_LOG_REPAIR_MONEY = 6, GUILD_BANK_LOG_MOVE_ITEM2 = 7, + GUILD_BANK_LOG_UNK1 = 8, + GUILD_BANK_LOG_UNK2 = 9, }; enum GuildEventLogEntryTypes @@ -188,6 +191,22 @@ enum GuildEmblem ERR_GUILDEMBLEM_INVALIDVENDOR = 5 }; +inline uint32 GetGuildBankTabPrice(uint8 Index) +{ + switch(Index) + { + case 0: return 100; + case 1: return 250; + case 2: return 500; + case 3: return 1000; + case 4: return 2500; + case 5: return 5000; + default: + return 0; + } + return 0; +} + struct GuildBankEvent { uint32 LogGuid; @@ -217,12 +236,12 @@ struct GuildBankTab struct GuildItemPosCount { - GuildItemPosCount(uint8 _slot, uint8 _count) : slot(_slot), count(_count) {} + GuildItemPosCount(uint8 _slot, uint32 _count) : slot(_slot), count(_count) {} bool isContainedIn(std::vector<GuildItemPosCount> const& vec) const; uint8 slot; - uint8 count; + uint32 count; }; typedef std::vector<GuildItemPosCount> GuildItemPosCountVec; @@ -266,7 +285,7 @@ class Guild Guild(); ~Guild(); - bool create(uint64 lGuid, std::string gname); + bool create(Player* leader, std::string gname); void Disband(); typedef std::map<uint32, MemberSlot> MemberList; @@ -314,6 +333,15 @@ class Guild void BroadcastPacketToRank(WorldPacket *packet, uint32 rankId); void BroadcastPacket(WorldPacket *packet); + template<class Do> + void BroadcastWorker(Do& _do, Player* except = NULL) + { + for(MemberList::iterator itr = members.begin(); itr != members.end(); ++itr) + if(Player *player = ObjectAccessor::FindPlayer(MAKE_NEW_GUID(itr->first, 0, HIGHGUID_PLAYER))) + if(player != except) + _do(player); + } + void CreateRank(std::string name,uint32 rights); void DelRank(); std::string GetRankName(uint32 rankId); |