diff options
| author | Vincent-Michael <Vincent_Michael@gmx.de> | 2014-04-09 21:03:08 +0200 |
|---|---|---|
| committer | Vincent-Michael <Vincent_Michael@gmx.de> | 2014-04-09 21:03:08 +0200 |
| commit | 6131e4d722156be55c79311c7030d76f7b065884 (patch) | |
| tree | 1bf1baeb96d3082af2999aef3947c172db70533f /src/server/scripts | |
| parent | 980c175df114857bfc6c6d56355cc5ef9bafec43 (diff) | |
| parent | b36e7c0211aa263835732e37cec0ac14906557b2 (diff) | |
Merge branch 'master' of github.com:TrinityCore/TrinityCore into 4.3.4
Conflicts:
src/server/game/Handlers/ChatHandler.cpp
Diffstat (limited to 'src/server/scripts')
3 files changed, 128 insertions, 124 deletions
diff --git a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp index d0b0db2e1ab..8ac095971bc 100644 --- a/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp +++ b/src/server/scripts/Northrend/ChamberOfAspects/RubySanctum/boss_general_zarithrian.cpp @@ -229,14 +229,14 @@ class npc_onyx_flamecaller : public CreatureScript void IsSummonedBy(Unit* /*summoner*/) OVERRIDE { - // Let Zarithrian count as summoner. _instance cant be null since we got GetRubySanctumAI + // Let Zarithrian count as summoner. if (Creature* zarithrian = ObjectAccessor::GetCreature(*me, _instance->GetData64(DATA_GENERAL_ZARITHRIAN))) zarithrian->AI()->JustSummoned(me); } void WaypointReached(uint32 waypointId) OVERRIDE { - if (waypointId == MAX_PATH_FLAMECALLER_WAYPOINTS || waypointId == MAX_PATH_FLAMECALLER_WAYPOINTS*2) + if (waypointId == MAX_PATH_FLAMECALLER_WAYPOINTS - 1 || waypointId == MAX_PATH_FLAMECALLER_WAYPOINTS * 2 - 1) { DoZoneInCombat(); SetEscortPaused(true); diff --git a/src/server/scripts/Spells/spell_warrior.cpp b/src/server/scripts/Spells/spell_warrior.cpp index c85c663ab57..238989ea2b2 100644 --- a/src/server/scripts/Spells/spell_warrior.cpp +++ b/src/server/scripts/Spells/spell_warrior.cpp @@ -28,6 +28,7 @@ enum WarriorSpells { + SPELL_WARRIOR_BLADESTORM_PERIODIC_WHIRLWIND = 50622, SPELL_WARRIOR_BLOODTHIRST = 23885, SPELL_WARRIOR_BLOODTHIRST_DAMAGE = 23881, SPELL_WARRIOR_CHARGE = 34846, @@ -52,7 +53,8 @@ enum WarriorSpells SPELL_WARRIOR_SHIELD_SLAM = 23922, SPELL_WARRIOR_SLAM = 50782, SPELL_WARRIOR_SUNDER_ARMOR = 58567, - SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK = 26654, + SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_1 = 12723, + SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_2 = 26654, SPELL_WARRIOR_TAUNT = 355, SPELL_WARRIOR_UNRELENTING_ASSAULT_RANK_1 = 46859, SPELL_WARRIOR_UNRELENTING_ASSAULT_RANK_2 = 46860, @@ -844,7 +846,7 @@ class spell_warr_sweeping_strikes : public SpellScriptLoader bool Validate(SpellInfo const* /*spellInfo*/) OVERRIDE { - if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK)) + if (!sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_1) || !sSpellMgr->GetSpellInfo(SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_2)) return false; return true; } @@ -861,10 +863,23 @@ class spell_warr_sweeping_strikes : public SpellScriptLoader return _procTarget; } - void HandleProc(AuraEffect const* aurEff, ProcEventInfo& /*eventInfo*/) + void HandleProc(AuraEffect const* aurEff, ProcEventInfo& eventInfo) { PreventDefaultAction(); - GetTarget()->CastSpell(_procTarget, SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK, true, NULL, aurEff); + if (eventInfo.GetDamageInfo()) + { + SpellInfo const* spellInfo = eventInfo.GetDamageInfo()->GetSpellInfo(); + if (spellInfo && (spellInfo->Id == SPELL_WARRIOR_BLADESTORM_PERIODIC_WHIRLWIND || (spellInfo->Id == SPELL_WARRIOR_EXECUTE && !_procTarget->HasAuraState(AURA_STATE_HEALTHLESS_20_PERCENT)))) + { + // If triggered by Execute (while target is not under 20% hp) or Bladestorm deals normalized weapon damage + GetTarget()->CastSpell(_procTarget, SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_2, true, NULL, aurEff); + } + else + { + int32 damage = eventInfo.GetDamageInfo()->GetDamage(); + GetTarget()->CastCustomSpell(SPELL_WARRIOR_SWEEPING_STRIKES_EXTRA_ATTACK_1, SPELLVALUE_BASE_POINT0, damage, _procTarget, true, NULL, aurEff); + } + } } void Register() OVERRIDE diff --git a/src/server/scripts/World/chat_log.cpp b/src/server/scripts/World/chat_log.cpp index ef854246d20..7074de3ed48 100644 --- a/src/server/scripts/World/chat_log.cpp +++ b/src/server/scripts/World/chat_log.cpp @@ -22,144 +22,133 @@ class ChatLogScript : public PlayerScript { -public: - ChatLogScript() : PlayerScript("ChatLogScript") { } + public: + ChatLogScript() : PlayerScript("ChatLogScript") { } - void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg) - { - switch (type) + void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg) OVERRIDE { - case CHAT_MSG_ADDON: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON)) - TC_LOG_DEBUG("chat.log", "[ADDON] Player %s sends: %s", - player->GetName().c_str(), msg.c_str()); - break; - - case CHAT_MSG_SAY: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_PUBLIC)) - TC_LOG_DEBUG("chat.log", "[SAY] Player %s says (language %u): %s", + switch (type) + { + case CHAT_MSG_SAY: + TC_LOG_DEBUG("chat.log.say", "Player %s says (language %u): %s", player->GetName().c_str(), lang, msg.c_str()); - break; + break; - case CHAT_MSG_EMOTE: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_PUBLIC)) - TC_LOG_DEBUG("chat.log", "[TEXTEMOTE] Player %s emotes: %s", + case CHAT_MSG_EMOTE: + TC_LOG_DEBUG("chat.log.emote", "Player %s emotes: %s", player->GetName().c_str(), msg.c_str()); - break; + break; - case CHAT_MSG_YELL: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_PUBLIC)) - TC_LOG_DEBUG("chat.log", "[YELL] Player %s yells (language %u): %s", + case CHAT_MSG_YELL: + TC_LOG_DEBUG("chat.log.yell", "Player %s yells (language %u): %s", player->GetName().c_str(), lang, msg.c_str()); - break; + break; + } + } + + void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Player* receiver) OVERRIDE + { + if (lang != LANG_ADDON) + TC_LOG_DEBUG("chat.log.whisper", "Player %s tells %s: %s", + player->GetName().c_str(), receiver ? receiver->GetName().c_str() : "<unknown>", msg.c_str()); + else + TC_LOG_DEBUG("chat.log.addon.whisper", "Player %s tells %s: %s", + player->GetName().c_str(), receiver ? receiver->GetName().c_str() : "<unknown>", msg.c_str()); } - } - - void OnChat(Player* player, uint32 /*type*/, uint32 lang, std::string& msg, Player* receiver) - { - if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_WHISPER)) - TC_LOG_DEBUG("chat.log", "[WHISPER] Player %s tells %s: %s", - player->GetName().c_str(), receiver ? receiver->GetName().c_str() : "<unknown>", msg.c_str()); - else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON)) - TC_LOG_DEBUG("chat.log", "[ADDON] Player %s tells %s: %s", - player->GetName().c_str(), receiver ? receiver->GetName().c_str() : "<unknown>", msg.c_str()); - } - - void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Group* group) - { - //! NOTE: - //! LANG_ADDON can only be sent by client in "PARTY", "RAID", "GUILD", "BATTLEGROUND", "WHISPER" - switch (type) + + void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Group* group) OVERRIDE { - case CHAT_MSG_PARTY: - if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_PARTY)) - TC_LOG_DEBUG("chat.log", "[PARTY] Player %s tells group with leader %s: %s", - player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); - else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON)) - TC_LOG_DEBUG("chat.log", "[ADDON] Player %s tells group with leader %s: %s", - player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); - break; - - case CHAT_MSG_PARTY_LEADER: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_PARTY)) - TC_LOG_DEBUG("chat.log", "[PARTY] Leader %s tells group: %s", + //! NOTE: + //! LANG_ADDON can only be sent by client in "PARTY", "RAID", "GUILD", "BATTLEGROUND", "WHISPER" + switch (type) + { + case CHAT_MSG_PARTY: + if (lang != LANG_ADDON) + TC_LOG_DEBUG("chat.log.party", "Player %s tells group with leader %s: %s", + player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); + else + TC_LOG_DEBUG("chat.log.addon.party", "Player %s tells group with leader %s: %s", + player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); + break; + + case CHAT_MSG_PARTY_LEADER: + TC_LOG_DEBUG("chat.log.party", "Leader %s tells group: %s", player->GetName().c_str(), msg.c_str()); - break; - - case CHAT_MSG_RAID: - if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_RAID)) - TC_LOG_DEBUG("chat.log", "[RAID] Player %s tells raid with leader %s: %s", - player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); - else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON)) - TC_LOG_DEBUG("chat.log", "[ADDON] Player %s tells raid with leader %s: %s", - player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); - break; - - case CHAT_MSG_RAID_LEADER: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_RAID)) - TC_LOG_DEBUG("chat.log", "[RAID] Leader player %s tells raid: %s", + break; + + case CHAT_MSG_RAID: + if (lang != LANG_ADDON) + TC_LOG_DEBUG("chat.log.raid", "Player %s tells raid with leader %s: %s", + player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); + else + TC_LOG_DEBUG("chat.log.addon.raid", "Player %s tells raid with leader %s: %s", + player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); + break; + + case CHAT_MSG_RAID_LEADER: + TC_LOG_DEBUG("chat.log.raid", "Leader player %s tells raid: %s", player->GetName().c_str(), msg.c_str()); - break; + break; - case CHAT_MSG_RAID_WARNING: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_RAID)) - TC_LOG_DEBUG("chat.log", "[RAID] Leader player %s warns raid with: %s", + case CHAT_MSG_RAID_WARNING: + TC_LOG_DEBUG("chat.log.raid", "Leader player %s warns raid with: %s", player->GetName().c_str(), msg.c_str()); - break; - - case CHAT_MSG_BATTLEGROUND: - if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_BGROUND)) - TC_LOG_DEBUG("chat.log", "[BATTLEGROUND] Player %s tells battleground with leader %s: %s", - player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); - else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON)) - TC_LOG_DEBUG("chat.log", "[ADDON] Player %s tells battleground with leader %s: %s", - player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); - break; - - case CHAT_MSG_BATTLEGROUND_LEADER: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_BGROUND)) - TC_LOG_DEBUG("chat.log", "[BATTLEGROUND] Leader player %s tells battleground: %s", + break; + + case CHAT_MSG_BATTLEGROUND: + if (lang != LANG_ADDON) + TC_LOG_DEBUG("chat.log.bg", "Player %s tells battleground with leader %s: %s", + player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); + else + TC_LOG_DEBUG("chat.log.addon.bg", "Player %s tells battleground with leader %s: %s", + player->GetName().c_str(), group ? group->GetLeaderName() : "<unknown>", msg.c_str()); + break; + + case CHAT_MSG_BATTLEGROUND_LEADER: + TC_LOG_DEBUG("chat.log.bg", "Leader player %s tells battleground: %s", player->GetName().c_str(), msg.c_str()); - break; + break; + } } - } - void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Guild* guild) - { - switch (type) + void OnChat(Player* player, uint32 type, uint32 lang, std::string& msg, Guild* guild) OVERRIDE { - case CHAT_MSG_GUILD: - if (lang != LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_GUILD)) - TC_LOG_DEBUG("chat.log", "[GUILD] Player %s tells guild %s: %s", - player->GetName().c_str(), guild ? guild->GetName().c_str() : "<unknown>", msg.c_str()); - else if (lang == LANG_ADDON && sWorld->getBoolConfig(CONFIG_CHATLOG_ADDON)) - TC_LOG_DEBUG("chat.log", "[ADDON] Player %s sends to guild %s: %s", + switch (type) + { + case CHAT_MSG_GUILD: + if (lang != LANG_ADDON) + TC_LOG_DEBUG("chat.log.guild", "Player %s tells guild %s: %s", + player->GetName().c_str(), guild ? guild->GetName().c_str() : "<unknown>", msg.c_str()); + else + TC_LOG_DEBUG("chat.log.addon.guild", "Player %s sends to guild %s: %s", + player->GetName().c_str(), guild ? guild->GetName().c_str() : "<unknown>", msg.c_str()); + break; + + case CHAT_MSG_OFFICER: + TC_LOG_DEBUG("chat.log.guild.officer", "Player %s tells guild %s officers: %s", player->GetName().c_str(), guild ? guild->GetName().c_str() : "<unknown>", msg.c_str()); - break; + break; + } + } - case CHAT_MSG_OFFICER: - if (sWorld->getBoolConfig(CONFIG_CHATLOG_GUILD)) - TC_LOG_DEBUG("chat.log", "[OFFICER] Player %s tells guild %s officers: %s", - player->GetName().c_str(), guild ? guild->GetName().c_str() : "<unknown>", msg.c_str()); - break; + void OnChat(Player* player, uint32 /*type*/, uint32 /*lang*/, std::string& msg, Channel* channel) OVERRIDE + { + bool isSystem = channel && + (channel->HasFlag(CHANNEL_FLAG_TRADE) || + channel->HasFlag(CHANNEL_FLAG_GENERAL) || + channel->HasFlag(CHANNEL_FLAG_CITY) || + channel->HasFlag(CHANNEL_FLAG_LFG)); + + if (isSystem) + TC_LOG_DEBUG("chat.log.system", "Player %s tells channel %s: %s", + player->GetName().c_str(), channel->GetName().c_str(), msg.c_str()); + else + { + std::string channelName = channel ? channel->GetName() : "<unknown>"; + TC_LOG_DEBUG("chat.log.channel." + channelName, "Player %s tells channel %s: %s", + player->GetName().c_str(), channelName.c_str(), msg.c_str()); + } } - } - - void OnChat(Player* player, uint32 /*type*/, uint32 /*lang*/, std::string& msg, Channel* channel) - { - bool isSystem = channel && - (channel->HasFlag(CHANNEL_FLAG_TRADE) || - channel->HasFlag(CHANNEL_FLAG_GENERAL) || - channel->HasFlag(CHANNEL_FLAG_CITY) || - channel->HasFlag(CHANNEL_FLAG_LFG)); - - if (sWorld->getBoolConfig(CONFIG_CHATLOG_SYSCHAN) && isSystem) - TC_LOG_DEBUG("chat.log", "[SYSCHAN] Player %s tells channel %s: %s", - player->GetName().c_str(), channel->GetName().c_str(), msg.c_str()); - else if (sWorld->getBoolConfig(CONFIG_CHATLOG_CHANNEL)) - TC_LOG_DEBUG("chat.log", "[CHANNEL] Player %s tells channel %s: %s", - player->GetName().c_str(), channel ? channel->GetName().c_str() : "<unknown>", msg.c_str()); - } }; void AddSC_chat_log() |
