Core/Guild: Fixed guild withdraw, BankTabRights
This commit is contained in:
@@ -292,7 +292,7 @@ namespace Game.Guilds
|
|||||||
rankData.RankID = rankInfo.GetId();
|
rankData.RankID = rankInfo.GetId();
|
||||||
rankData.RankOrder = i;
|
rankData.RankOrder = i;
|
||||||
rankData.Flags = (uint)rankInfo.GetRights();
|
rankData.Flags = (uint)rankInfo.GetRights();
|
||||||
rankData.WithdrawGoldLimit = rankInfo.GetBankMoneyPerDay();
|
rankData.WithdrawGoldLimit = (rankInfo.GetId() == GuildDefaultRanks.Master ? uint.MaxValue : (rankInfo.GetBankMoneyPerDay() / MoneyConstants.Gold));
|
||||||
rankData.RankName = rankInfo.GetName();
|
rankData.RankName = rankInfo.GetName();
|
||||||
|
|
||||||
for (byte j = 0; j < GuildConst.MaxBankTabs; ++j)
|
for (byte j = 0; j < GuildConst.MaxBankTabs; ++j)
|
||||||
@@ -485,7 +485,7 @@ namespace Game.Guilds
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void HandleSetRankInfo(WorldSession session, uint rankId, string name, GuildRankRights rights, uint moneyPerDay, List<GuildBankRightsAndSlots> rightsAndSlots)
|
public void HandleSetRankInfo(WorldSession session, uint rankId, string name, GuildRankRights rights, uint moneyPerDay, GuildBankRightsAndSlots[] rightsAndSlots)
|
||||||
{
|
{
|
||||||
// Only leader can modify ranks
|
// Only leader can modify ranks
|
||||||
if (!_IsLeader(session.GetPlayer()))
|
if (!_IsLeader(session.GetPlayer()))
|
||||||
@@ -498,7 +498,7 @@ namespace Game.Guilds
|
|||||||
|
|
||||||
rankInfo.SetName(name);
|
rankInfo.SetName(name);
|
||||||
rankInfo.SetRights(rights);
|
rankInfo.SetRights(rights);
|
||||||
_SetRankBankMoneyPerDay(rankId, moneyPerDay);
|
_SetRankBankMoneyPerDay(rankId, moneyPerDay * MoneyConstants.Gold);
|
||||||
|
|
||||||
foreach (var rightsAndSlot in rightsAndSlots)
|
foreach (var rightsAndSlot in rightsAndSlots)
|
||||||
_SetRankBankTabRightsAndSlots(rankId, rightsAndSlot);
|
_SetRankBankTabRightsAndSlots(rankId, rightsAndSlot);
|
||||||
@@ -3151,17 +3151,16 @@ namespace Game.Guilds
|
|||||||
if (m_rankId == GuildDefaultRanks.Master) // Prevent loss of leader rights
|
if (m_rankId == GuildDefaultRanks.Master) // Prevent loss of leader rights
|
||||||
rightsAndSlots.SetGuildMasterValues();
|
rightsAndSlots.SetGuildMasterValues();
|
||||||
|
|
||||||
GuildBankRightsAndSlots guildBR = m_bankTabRightsAndSlots[rightsAndSlots.GetTabId()];
|
m_bankTabRightsAndSlots[rightsAndSlots.GetTabId()] = rightsAndSlots;
|
||||||
guildBR = rightsAndSlots;
|
|
||||||
|
|
||||||
if (saveToDB)
|
if (saveToDB)
|
||||||
{
|
{
|
||||||
PreparedStatement stmt = DB.Characters.GetPreparedStatement(CharStatements.INS_GUILD_BANK_RIGHT);
|
PreparedStatement stmt = DB.Characters.GetPreparedStatement(CharStatements.INS_GUILD_BANK_RIGHT);
|
||||||
stmt.AddValue(0, m_guildId);
|
stmt.AddValue(0, m_guildId);
|
||||||
stmt.AddValue(1, guildBR.GetTabId());
|
stmt.AddValue(1, rightsAndSlots.GetTabId());
|
||||||
stmt.AddValue(2, m_rankId);
|
stmt.AddValue(2, m_rankId);
|
||||||
stmt.AddValue(3, guildBR.GetRights());
|
stmt.AddValue(3, rightsAndSlots.GetRights());
|
||||||
stmt.AddValue(4, guildBR.GetSlots());
|
stmt.AddValue(4, rightsAndSlots.GetSlots());
|
||||||
DB.Characters.Execute(stmt);
|
DB.Characters.Execute(stmt);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -368,7 +368,7 @@ namespace Game
|
|||||||
if (!guild)
|
if (!guild)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
List<Guild.GuildBankRightsAndSlots> rightsAndSlots = new List<Guild.GuildBankRightsAndSlots>(GuildConst.MaxBankTabs);
|
Guild.GuildBankRightsAndSlots[] rightsAndSlots = new Guild.GuildBankRightsAndSlots[GuildConst.MaxBankTabs];
|
||||||
for (byte tabId = 0; tabId < GuildConst.MaxBankTabs; ++tabId)
|
for (byte tabId = 0; tabId < GuildConst.MaxBankTabs; ++tabId)
|
||||||
rightsAndSlots[tabId] = new Guild.GuildBankRightsAndSlots(tabId, (sbyte)packet.TabFlags[tabId], packet.TabWithdrawItemLimit[tabId]);
|
rightsAndSlots[tabId] = new Guild.GuildBankRightsAndSlots(tabId, (sbyte)packet.TabFlags[tabId], packet.TabWithdrawItemLimit[tabId]);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user