diff --git a/src/game/Guild.cpp b/src/game/Guild.cpp index 15f642c7e..596fc3966 100644 --- a/src/game/Guild.cpp +++ b/src/game/Guild.cpp @@ -647,6 +647,7 @@ void Guild::DelRank() // delete lowest guild_rank uint32 rank = GetLowestRank(); CharacterDatabase.PExecute("DELETE FROM guild_rank WHERE rid>='%u' AND guildid='%u'", rank, m_Id); + CharacterDatabase.PExecute("DELETE FROM guild_bank_right WHERE rid>='%u' AND guildid='%u'", rank, m_Id); m_Ranks.pop_back(); } @@ -1411,7 +1412,11 @@ void Guild::SetBankRightsAndSlots(uint32 rankId, uint8 TabId, uint32 right, uint if (rankId >= m_Ranks.size() || TabId >= GUILD_BANK_MAX_TABS || TabId >= m_PurchasedTabs) + { + //TODO remove next line, It is there just to repair existing bug in deleting guild rank + CharacterDatabase.PExecute("DELETE FROM guild_bank_right WHERE guildid='%u' AND rid='%u' AND TabId='%u'", m_Id, rankId, TabId); return; + } if (rankId == GR_GUILDMASTER) { diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 568329454..c77d600ab 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "8584" + #define REVISION_NR "8585" #endif // __REVISION_NR_H__