diff options
author | Spp <spp@jorge.gr> | 2012-10-30 10:30:05 +0100 |
---|---|---|
committer | Spp <spp@jorge.gr> | 2012-10-30 10:30:05 +0100 |
commit | c97fc99e1683edc4a5b177119ba7a775cf7a19a1 (patch) | |
tree | 16007f950c058d3c6963e2924981d7bbe5a3c898 /src/server/game/Groups/Group.cpp | |
parent | 59a828b49ed1e07bd5d705e3d3aa1a6d110be8fc (diff) | |
parent | cd8e9dfb5213f6e299065cc1f87535a26c2f2936 (diff) |
Merge branch 'master' into 4.3.4
Note: What a bad automatic merge!!! needed to fix a lot of stuff... grrr
Conflicts:
src/server/game/AI/EventAI/CreatureEventAI.cpp
src/server/game/AI/EventAI/CreatureEventAIMgr.cpp
src/server/game/Achievements/AchievementMgr.cpp
src/server/game/Entities/Creature/GossipDef.cpp
src/server/game/Entities/Pet/Pet.cpp
src/server/game/Entities/Player/Player.cpp
src/server/game/Entities/Player/Player.h
src/server/game/Globals/ObjectMgr.cpp
src/server/game/Guilds/Guild.cpp
src/server/game/Guilds/Guild.h
src/server/game/Guilds/GuildMgr.h
src/server/game/Handlers/AuctionHouseHandler.cpp
src/server/game/Handlers/BattleGroundHandler.cpp
src/server/game/Handlers/ChannelHandler.cpp
src/server/game/Handlers/CharacterHandler.cpp
src/server/game/Handlers/ChatHandler.cpp
src/server/game/Handlers/GroupHandler.cpp
src/server/game/Handlers/LFGHandler.cpp
src/server/game/Handlers/MiscHandler.cpp
src/server/game/Handlers/QuestHandler.cpp
src/server/game/Handlers/TradeHandler.cpp
src/server/game/Quests/QuestDef.h
src/server/game/Server/Protocol/Opcodes.cpp
src/server/game/Server/WorldSession.cpp
src/server/game/Server/WorldSession.h
src/server/game/Spells/Spell.cpp
src/server/scripts/Commands/cs_debug.cpp
src/server/scripts/Commands/cs_titles.cpp
src/server/scripts/Kalimdor/boss_azuregos.cpp
src/server/scripts/OutdoorPvP/OutdoorPvPEP.cpp
Diffstat (limited to 'src/server/game/Groups/Group.cpp')
-rwxr-xr-x | src/server/game/Groups/Group.cpp | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/src/server/game/Groups/Group.cpp b/src/server/game/Groups/Group.cpp index 6fb15cb7756..527b7801a72 100755 --- a/src/server/game/Groups/Group.cpp +++ b/src/server/game/Groups/Group.cpp @@ -104,12 +104,15 @@ bool Group::Create(Player* leader) m_leaderGuid = leaderGuid; m_leaderName = leader->GetName(); - m_groupType = (isBGGroup() || isBFGroup()) ? GROUPTYPE_BGRAID : GROUPTYPE_NORMAL; + if (isBGGroup() || isBFGroup()) + m_groupType = GROUPTYPE_BGRAID; if (m_groupType & GROUPTYPE_RAID) _initRaidSubGroupsCounter(); - m_lootMethod = GROUP_LOOT; + if (!isLFGGroup()) + m_lootMethod = GROUP_LOOT; + m_lootThreshold = ITEM_QUALITY_UNCOMMON; m_looterGuid = leaderGuid; @@ -219,13 +222,7 @@ void Group::LoadMemberFromDB(uint32 guidLow, uint8 memberFlags, uint8 subgroup, SubGroupCounterIncrease(subgroup); - if (isLFGGroup()) - { - LfgDungeonSet Dungeons; - Dungeons.insert(sLFGMgr->GetDungeon(GetGUID())); - sLFGMgr->SetSelectedDungeons(member.guid, Dungeons); - sLFGMgr->SetState(member.guid, sLFGMgr->GetState(GetGUID())); - } + sLFGMgr->SetupGroupMember(member.guid, GetGUID()); } void Group::ConvertToLFG() @@ -630,9 +627,9 @@ bool Group::RemoveMember(uint64 guid, const RemoveMethod &method /*= GROUP_REMOV if (isLFGGroup() && GetMembersCount() == 1) { - Player* Leader = ObjectAccessor::FindPlayer(GetLeaderGUID()); - LFGDungeonData const* dungeon = sLFGMgr->GetLFGDungeon(sLFGMgr->GetDungeon(GetGUID())); - if ((Leader && dungeon && Leader->isAlive() && Leader->GetMapId() != uint32(dungeon->map)) || !dungeon) + Player* leader = ObjectAccessor::FindPlayer(GetLeaderGUID()); + uint32 mapId = sLFGMgr->GetDungeonMapId(GetGUID()); + if (!mapId || !leader || (leader->isAlive() && leader->GetMapId() != mapId)) { Disband(); return false; @@ -2139,7 +2136,7 @@ void Group::BroadcastGroupUpdate(void) { pp->ForceValuesUpdateAtIndex(UNIT_FIELD_BYTES_2); pp->ForceValuesUpdateAtIndex(UNIT_FIELD_FACTIONTEMPLATE); - sLog->outDebug(LOG_FILTER_GENERAL, "-- Forced group value update for '%s'", pp->GetName()); + sLog->outDebug(LOG_FILTER_GENERAL, "-- Forced group value update for '%s'", pp->GetName().c_str()); } } } @@ -2147,12 +2144,12 @@ void Group::BroadcastGroupUpdate(void) void Group::ResetMaxEnchantingLevel() { m_maxEnchantingLevel = 0; - Player* pMember = NULL; + Player* member = NULL; for (member_citerator citr = m_memberSlots.begin(); citr != m_memberSlots.end(); ++citr) { - pMember = ObjectAccessor::FindPlayer(citr->guid); - if (pMember && m_maxEnchantingLevel < pMember->GetSkillValue(SKILL_ENCHANTING)) - m_maxEnchantingLevel = pMember->GetSkillValue(SKILL_ENCHANTING); + member = ObjectAccessor::FindPlayer(citr->guid); + if (member && m_maxEnchantingLevel < member->GetSkillValue(SKILL_ENCHANTING)) + m_maxEnchantingLevel = member->GetSkillValue(SKILL_ENCHANTING); } } |