diff options
-rw-r--r-- | src/game/Guild.cpp | 10 | ||||
-rw-r--r-- | src/game/Guild.h | 2 | ||||
-rw-r--r-- | src/game/GuildHandler.cpp | 8 | ||||
-rw-r--r-- | src/game/SpellAuras.cpp | 2 | ||||
-rw-r--r-- | src/game/SpellEffects.cpp | 33 | ||||
-rw-r--r-- | src/game/Totem.cpp | 34 | ||||
-rw-r--r-- | src/game/WorldLog.cpp | 2 |
7 files changed, 46 insertions, 45 deletions
diff --git a/src/game/Guild.cpp b/src/game/Guild.cpp index ddf94158275..92faebccad5 100644 --- a/src/game/Guild.cpp +++ b/src/game/Guild.cpp @@ -728,7 +728,7 @@ void Guild::Disband() objmgr.RemoveGuild(m_Id); } -void Guild::Roster(WorldSession *session) +void Guild::Roster(WorldSession *session /*= NULL*/) { // we can only guess size WorldPacket data(SMSG_GUILD_ROSTER, (4+MOTD.length()+1+GINFO.length()+1+4+m_Ranks.size()*(4+4+GUILD_BANK_MAX_TABS*(4+4))+members.size()*50)); @@ -777,7 +777,10 @@ void Guild::Roster(WorldSession *session) data << itr->second.OFFnote; } } - session->SendPacket(&data);; + if (session) + session->SendPacket(&data); + else + BroadcastPacket(&data); sLog.outDebug( "WORLD: Sent (SMSG_GUILD_ROSTER)" ); } @@ -1085,7 +1088,7 @@ void Guild::DisplayGuildBankTabsInfo(WorldSession *session) //data << uint32(0xFFFFFFFF); // bit 9 must be set for this packet to work data << uint32(0); data << uint8(1); // Tell Client this is a TabInfo packet - data << uint8(m_PurchasedTabs); // here is the number of tabs + data << uint8(m_PurchasedTabs); // here is the number of tabs for (uint8 i = 0; i < m_PurchasedTabs; ++i) { @@ -1975,7 +1978,6 @@ void Guild::SendGuildBankTabText(WorldSession *session, uint8 TabId) session->SendPacket(&data); else BroadcastPacket(&data); - } void Guild::SwapItems(Player * pl, uint8 BankTab, uint8 BankTabSlot, uint8 BankTabDst, uint8 BankTabSlotDst, uint32 SplitedAmount ) diff --git a/src/game/Guild.h b/src/game/Guild.h index 549cdc0984a..0e70ed53fd0 100644 --- a/src/game/Guild.h +++ b/src/game/Guild.h @@ -376,7 +376,7 @@ class Guild return NULL; } - void Roster(WorldSession *session); + void Roster(WorldSession *session = NULL); // NULL = broadcast void Query(WorldSession *session); void UpdateLogoutTime(uint64 guid); diff --git a/src/game/GuildHandler.cpp b/src/game/GuildHandler.cpp index 2d5bd1b91b5..4b163c09e85 100644 --- a/src/game/GuildHandler.cpp +++ b/src/game/GuildHandler.cpp @@ -678,7 +678,7 @@ void WorldSession::HandleGuildRankOpcode(WorldPacket& recvPacket) guild->SetRankRights(rankId, rights); guild->Query(this); - guild->Roster(this); + guild->Roster(); // broadcast for tab rights update } void WorldSession::HandleGuildAddRankOpcode(WorldPacket& recvPacket) @@ -709,7 +709,7 @@ void WorldSession::HandleGuildAddRankOpcode(WorldPacket& recvPacket) guild->CreateRank(rankname, GR_RIGHT_GCHATLISTEN | GR_RIGHT_GCHATSPEAK); guild->Query(this); - guild->Roster(this); + guild->Roster(); // broadcast for tab rights update } void WorldSession::HandleGuildDelRankOpcode(WorldPacket& /*recvPacket*/) @@ -735,7 +735,7 @@ void WorldSession::HandleGuildDelRankOpcode(WorldPacket& /*recvPacket*/) guild->DelRank(); guild->Query(this); - guild->Roster(this); + guild->Roster(); // broadcast for tab rights update } void WorldSession::SendGuildCommandResult(uint32 typecmd, const std::string& str,uint32 cmdresult) @@ -1185,7 +1185,7 @@ void WorldSession::HandleGuildBankBuyTab( WorldPacket & recv_data ) GetPlayer()->ModifyMoney(-int(TabCost)); pGuild->SetBankMoneyPerDay(GetPlayer()->GetRank(), WITHDRAW_MONEY_UNLIMITED); pGuild->SetBankRightsAndSlots(GetPlayer()->GetRank(), TabId, GUILD_BANK_RIGHT_FULL, WITHDRAW_SLOT_UNLIMITED, true); - pGuild->Roster(this); + pGuild->Roster(); // broadcast for tab rights update pGuild->DisplayGuildBankTabsInfo(this); } diff --git a/src/game/SpellAuras.cpp b/src/game/SpellAuras.cpp index 82fd481a441..5661f5a422c 100644 --- a/src/game/SpellAuras.cpp +++ b/src/game/SpellAuras.cpp @@ -3436,7 +3436,7 @@ void AuraEffect::HandleAuraModShapeshift(bool apply, bool Real, bool changeAmoun if (GetMiscValue() == FORM_CAT) { - int32 basePoints = std::min(FurorChance, oldVal); + int32 basePoints = (FurorChance < oldVal ? FurorChance : oldVal); m_target->CastCustomSpell(m_target,17099,&basePoints,NULL,NULL,true,NULL,this); } else diff --git a/src/game/SpellEffects.cpp b/src/game/SpellEffects.cpp index 35db1b0cc04..e0e84b7c2bb 100644 --- a/src/game/SpellEffects.cpp +++ b/src/game/SpellEffects.cpp @@ -5345,6 +5345,39 @@ void Spell::EffectScriptEffect(uint32 effIndex) ((TempSummon*)m_caster)->UnSummon(); return; } + // Stoneclaw Totem + case 55328: // Rank 1 + case 55329: // Rank 2 + case 55330: // Rank 3 + case 55332: // Rank 4 + case 55333: // Rank 5 + case 55335: // Rank 6 + case 55278: // Rank 7 + case 58589: // Rank 8 + case 58590: // Rank 9 + case 58591: // Rank 10 + { + int32 basepoints0 = damage; + // Cast Absorb on totems + for(uint8 slot = SUMMON_SLOT_TOTEM; slot < MAX_TOTEM_SLOT; ++slot) + { + if(!unitTarget->m_SummonSlot[slot]) + continue; + + Creature* totem = unitTarget->GetMap()->GetCreature(unitTarget->m_SummonSlot[slot]); + if(totem && totem->isTotem()) + { + m_caster->CastCustomSpell(totem, 55277, &basepoints0, NULL, NULL, true); + } + } + // Glyph of Stoneclaw Totem + if (AuraEffect *aur=unitTarget->GetAuraEffect(63298, 0)) + { + basepoints0 *= aur->GetAmount(); + m_caster->CastCustomSpell(unitTarget, 55277, &basepoints0, NULL, NULL, true); + } + break; + } } break; } diff --git a/src/game/Totem.cpp b/src/game/Totem.cpp index 0b621e56edf..885f1bfaeee 100644 --- a/src/game/Totem.cpp +++ b/src/game/Totem.cpp @@ -90,39 +90,7 @@ void Totem::InitSummon() SendMessageToSet(&data, true); if(m_type == TOTEM_PASSIVE) - CastSpell(this, GetSpell(), true); - - // Stoneclaw Totem - case 55328: // Rank 1 - case 55329: // Rank 2 - case 55330: // Rank 3 - case 55332: // Rank 4 - case 55333: // Rank 5 - case 55335: // Rank 6 - case 55278: // Rank 7 - case 58589: // Rank 8 - case 58590: // Rank 9 - case 58591: // Rank 10 - { - int32 basepoints0 = damage; - // Cast Absorb on totems - for(uint8 slot = SUMMON_SLOT_TOTEM; slot < MAX_TOTEM_SLOT; ++slot) - { - if(!unitTarget->m_SummonSlot[slot]) - continue; - - Creature* totem = unitTarget->GetMap()->GetCreature(unitTarget->m_SummonSlot[slot]); - if(totem && totem->isTotem()) - m_caster->CastCustomSpell(totem, 55277, &basepoints0, NULL, NULL, true); - } - // Glyph of Stoneclaw Totem - if (AuraEffect *aur=unitTarget->GetAuraEffect(63298, 0)) - { - basepoints0 *= aur->GetAmount(); - m_caster->CastCustomSpell(unitTarget, 55277, &basepoints0, NULL, NULL, true); - } - break; - } + CastSpell(this, GetSpell(), true); // Some totems can have both instant effect and passive spell if (GetSpell(1)) diff --git a/src/game/WorldLog.cpp b/src/game/WorldLog.cpp index 978514ac7d7..435e3279948 100644 --- a/src/game/WorldLog.cpp +++ b/src/game/WorldLog.cpp @@ -31,8 +31,6 @@ INSTANTIATE_SINGLETON_2(WorldLog, CLASS_LOCK); INSTANTIATE_CLASS_MUTEX(WorldLog, ACE_Thread_Mutex); -#define WORLD_LOG_FILE_STRING "world.log" - WorldLog::WorldLog() : i_file(NULL) { Initialize(); |