diff options
author | kaelima <kaelima@live.se> | 2012-11-07 16:43:13 +0100 |
---|---|---|
committer | kaelima <kaelima@live.se> | 2012-11-07 16:43:13 +0100 |
commit | 68291eed03b44f5659f7f5143ed66b2f0e67e026 (patch) | |
tree | d0c6a07ad4ad75fd9382c955226101a0678d85ac /src | |
parent | 677ee02b8ea32aad12bce60db7527c60ef76f164 (diff) | |
parent | bde6b76b2d3279ad50ef132ec0ea4e8629ab19b7 (diff) |
Merge git://github.com/TrinityCore/TrinityCore into mmaps
Diffstat (limited to 'src')
-rwxr-xr-x | src/server/game/Guilds/Guild.cpp | 18 | ||||
-rwxr-xr-x | src/server/game/Guilds/Guild.h | 2 | ||||
-rw-r--r-- | src/server/scripts/EasternKingdoms/silverpine_forest.cpp | 18 |
3 files changed, 16 insertions, 22 deletions
diff --git a/src/server/game/Guilds/Guild.cpp b/src/server/game/Guilds/Guild.cpp index e41b8ff4ac8..8f7359d9d44 100755 --- a/src/server/game/Guilds/Guild.cpp +++ b/src/server/game/Guilds/Guild.cpp @@ -223,10 +223,9 @@ void Guild::RankInfo::SaveToDB(SQLTransaction& trans) const CharacterDatabase.ExecuteOrAppend(trans, stmt); } -bool Guild::RankInfo::CreateMissingTabsIfNeeded(uint8 ranks, SQLTransaction& trans) +void Guild::RankInfo::CreateMissingTabsIfNeeded(uint8 tabs, SQLTransaction& trans, bool logOnCreate /* = false */) { - bool ret = false; - for (uint8 i = 0; i < ranks; ++i) + for (uint8 i = 0; i < tabs; ++i) { GuildBankRightsAndSlots& rightsAndSlots = m_bankTabRightsAndSlots[i]; if (rightsAndSlots.GetTabId() == i) @@ -236,7 +235,9 @@ bool Guild::RankInfo::CreateMissingTabsIfNeeded(uint8 ranks, SQLTransaction& tra if (m_rankId == GR_GUILDMASTER) rightsAndSlots.SetGuildMasterValues(); - ret = true; + if (logOnCreate) + sLog->outError(LOG_FILTER_GUILD, "Guild %u has broken Tab %u for rank %u. Created default tab.", m_guildId, i, m_rankId); + PreparedStatement* stmt = CharacterDatabase.GetPreparedStatement(CHAR_INS_GUILD_BANK_RIGHT); stmt->setUInt32(0, m_guildId); stmt->setUInt8 (1, i); @@ -245,8 +246,6 @@ bool Guild::RankInfo::CreateMissingTabsIfNeeded(uint8 ranks, SQLTransaction& tra stmt->setUInt32(4, rightsAndSlots.GetSlots()); trans->Append(stmt); } - - return ret; } void Guild::RankInfo::WritePacket(WorldPacket& data) const @@ -2018,11 +2017,8 @@ bool Guild::Validate() else { SQLTransaction trans = CharacterDatabase.BeginTransaction(); - if (rankInfo->CreateMissingTabsIfNeeded(_GetPurchasedTabsSize(), trans)) - { - sLog->outError(LOG_FILTER_GUILD, "Guild %u has broken Tabs for rank id %u, creating default tab...", m_id, rankId); - CharacterDatabase.CommitTransaction(trans); - } + rankInfo->CreateMissingTabsIfNeeded(_GetPurchasedTabsSize(), trans, true); + CharacterDatabase.CommitTransaction(trans); } } } diff --git a/src/server/game/Guilds/Guild.h b/src/server/game/Guilds/Guild.h index deb89c169b6..a8bf5dcdb62 100755 --- a/src/server/game/Guilds/Guild.h +++ b/src/server/game/Guilds/Guild.h @@ -500,7 +500,7 @@ private: } void SetBankTabSlotsAndRights(GuildBankRightsAndSlots rightsAndSlots, bool saveToDB); - bool CreateMissingTabsIfNeeded(uint8 ranks, SQLTransaction& trans); + void CreateMissingTabsIfNeeded(uint8 ranks, SQLTransaction& trans, bool logOnCreate = false); private: uint32 m_guildId; diff --git a/src/server/scripts/EasternKingdoms/silverpine_forest.cpp b/src/server/scripts/EasternKingdoms/silverpine_forest.cpp index c52e69787d4..b2cd3b16e7b 100644 --- a/src/server/scripts/EasternKingdoms/silverpine_forest.cpp +++ b/src/server/scripts/EasternKingdoms/silverpine_forest.cpp @@ -232,18 +232,16 @@ public: { Unit* target = NULL; if (PlayerGUID) - { - if (Unit* player = Unit::GetPlayer(*me, PlayerGUID)->ToUnit()) - target = RAND((Unit*)me, player); - } else + if (Player* player = Unit::GetPlayer(*me, PlayerGUID)) + if (player->isAlive() && RAND(0, 1)) + target = player; + + if (!target) target = me; - if (target) - { - summoned->setFaction(168); - summoned->AddThreat(target, 32.0f); - summoned->AI()->AttackStart(target); - } + summoned->setFaction(168); + summoned->AddThreat(target, 32.0f); + summoned->AI()->AttackStart(target); } } |