Over 100 camangos Cata commits applied (to c12950)

Over 100 camangos Cata commits applied. up to and inclusing c12950.
This commit is contained in:
Charles A Edwards 2016-08-20 17:10:24 +01:00 committed by Antz
parent b4ec0440aa
commit eef77eadb9
117 changed files with 4314 additions and 3547 deletions

View file

@ -125,7 +125,7 @@ bool ChatHandler::HandleServerInfoCommand(char* /*args*/)
bool ChatHandler::HandleDismountCommand(char* /*args*/)
{
Player* player = m_session->GetPlayer();
// If player is not mounted, so go out :)
if (!player->IsMounted())
{
@ -175,10 +175,11 @@ bool ChatHandler::HandleGMListIngameCommand(char* /*args*/)
HashMapHolder<Player>::MapType& m = sObjectAccessor.GetPlayers();
for (HashMapHolder<Player>::MapType::const_iterator itr = m.begin(); itr != m.end(); ++itr)
{
AccountTypes itr_sec = itr->second->GetSession()->GetSecurity();
if ((itr->second->isGameMaster() || (itr_sec > SEC_PLAYER && itr_sec <= (AccountTypes)sWorld.getConfig(CONFIG_UINT32_GM_LEVEL_IN_GM_LIST))) &&
(!m_session || itr->second->IsVisibleGloballyFor(m_session->GetPlayer())))
{ names.push_back(std::make_pair<std::string, bool>(GetNameLink(itr->second), itr->second->isAcceptWhispers())); }
Player* player = itr->second;
AccountTypes security = player->GetSession()->GetSecurity();
if ((player->isGameMaster() || (security > SEC_PLAYER && security <= (AccountTypes)sWorld.getConfig(CONFIG_UINT32_GM_LEVEL_IN_GM_LIST))) &&
(!m_session || player->IsVisibleGloballyFor(m_session->GetPlayer())))
names.push_back(std::make_pair<std::string, bool>(GetNameLink(player), player->isAcceptWhispers()));
}
}
@ -189,10 +190,10 @@ bool ChatHandler::HandleGMListIngameCommand(char* /*args*/)
char const* accepts = GetMangosString(LANG_GM_ACCEPTS_WHISPER);
char const* not_accept = GetMangosString(LANG_GM_NO_WHISPER);
for (std::list<std::pair< std::string, bool> >::const_iterator iter = names.begin(); iter != names.end(); ++iter)
{ PSendSysMessage("%s - %s", iter->first.c_str(), iter->second ? accepts : not_accept); }
PSendSysMessage("%s - %s", iter->first.c_str(), iter->second ? accepts : not_accept);
}
else
{ SendSysMessage(LANG_GMS_NOT_LOGGED); }
SendSysMessage(LANG_GMS_NOT_LOGGED);
return true;
}

View file

@ -383,8 +383,8 @@ bool ChatHandler::HandleSummonCommand(char* args)
if (!ExtractPlayerTarget(&args, &target, &target_guid, &target_name))
return false;
Player* _player = m_session->GetPlayer();
if (target == _player || target_guid == _player->GetObjectGuid())
Player* player = m_session->GetPlayer();
if (target == player || target_guid == player->GetObjectGuid())
{
PSendSysMessage(LANG_CANT_TELEPORT_SELF);
SetSentErrorMessage(true);
@ -405,7 +405,7 @@ bool ChatHandler::HandleSummonCommand(char* args)
return false;
}
Map* pMap = m_session->GetPlayer()->GetMap();
Map* pMap = player->GetMap();
if (pMap->IsBattleGroundOrArena())
{
@ -442,9 +442,9 @@ bool ChatHandler::HandleSummonCommand(char* args)
}
// we are in instance, and can summon only player in our group with us as lead
if (!m_session->GetPlayer()->GetGroup() || !target->GetGroup() ||
(target->GetGroup()->GetLeaderGuid() != m_session->GetPlayer()->GetObjectGuid()) ||
(m_session->GetPlayer()->GetGroup()->GetLeaderGuid() != m_session->GetPlayer()->GetObjectGuid()))
if (!player->GetGroup() || !target->GetGroup() ||
(target->GetGroup()->GetLeaderGuid() != player->GetObjectGuid()) ||
(player->GetGroup()->GetLeaderGuid() != player->GetObjectGuid()))
// the last check is a bit excessive, but let it be, just in case
{
PSendSysMessage(LANG_CANNOT_SUMMON_TO_INST, nameLink.c_str());
@ -455,7 +455,7 @@ bool ChatHandler::HandleSummonCommand(char* args)
PSendSysMessage(LANG_SUMMONING, nameLink.c_str(), "");
if (needReportToTarget(target))
ChatHandler(target).PSendSysMessage(LANG_SUMMONED_BY, playerLink(_player->GetName()).c_str());
ChatHandler(target).PSendSysMessage(LANG_SUMMONED_BY, playerLink(player->GetName()).c_str());
// stop flight if need
if (target->IsTaxiFlying())
@ -483,12 +483,12 @@ bool ChatHandler::HandleSummonCommand(char* args)
PSendSysMessage(LANG_SUMMONING, nameLink.c_str(), GetMangosString(LANG_OFFLINE));
// in point where GM stay
Player::SavePositionInDB(target_guid, m_session->GetPlayer()->GetMapId(),
m_session->GetPlayer()->GetPositionX(),
m_session->GetPlayer()->GetPositionY(),
m_session->GetPlayer()->GetPositionZ(),
m_session->GetPlayer()->GetOrientation(),
m_session->GetPlayer()->GetZoneId());
Player::SavePositionInDB(target_guid, player->GetMapId(),
player->GetPositionX(),
player->GetPositionY(),
player->GetPositionZ(),
player->GetOrientation(),
player->GetZoneId());
}
return true;
@ -1984,13 +1984,14 @@ bool ChatHandler::HandleGroupgoCommand(char* args)
return false;
}
Map* gmMap = m_session->GetPlayer()->GetMap();
Player* player = m_session->GetPlayer();
Map* gmMap = player->GetMap();
bool to_instance = gmMap->Instanceable();
// we are in instance, and can summon only player in our group with us as lead
if (to_instance && (
!m_session->GetPlayer()->GetGroup() || (grp->GetLeaderGuid() != m_session->GetPlayer()->GetObjectGuid()) ||
(m_session->GetPlayer()->GetGroup()->GetLeaderGuid() != m_session->GetPlayer()->GetObjectGuid())))
!player->GetGroup() || (grp->GetLeaderGuid() != player->GetObjectGuid()) ||
(player->GetGroup()->GetLeaderGuid() != player->GetObjectGuid())))
// the last check is a bit excessive, but let it be, just in case
{
SendSysMessage(LANG_CANNOT_SUMMON_TO_INST);
@ -1998,7 +1999,7 @@ bool ChatHandler::HandleGroupgoCommand(char* args)
return false;
}
for (GroupReference* itr = grp->GetFirstMember(); itr != NULL; itr = itr->next())
for (GroupReference* itr = grp->GetFirstMember(); itr != nullptr; itr = itr->next())
{
Player* pl = itr->getSource();

File diff suppressed because it is too large Load diff

View file

@ -2370,7 +2370,8 @@ bool ChatHandler::HandleLearnAllMyClassCommand(char* /*args*/)
bool ChatHandler::HandleLearnAllMySpellsCommand(char* /*args*/)
{
ChrClassesEntry const* clsEntry = sChrClassesStore.LookupEntry(m_session->GetPlayer()->getClass());
Player* player = m_session->GetPlayer();
ChrClassesEntry const* clsEntry = sChrClassesStore.LookupEntry(player->getClass());
if (!clsEntry)
return true;
uint32 family = clsEntry->spellfamily;
@ -2390,7 +2391,7 @@ bool ChatHandler::HandleLearnAllMySpellsCommand(char* /*args*/)
continue;
// skip wrong class/race skills
if (!m_session->GetPlayer()->IsSpellFitByClassAndRace(spellInfo->Id))
if (!player->IsSpellFitByClassAndRace(spellInfo->Id))
continue;
// skip other spell families
@ -2403,10 +2404,10 @@ bool ChatHandler::HandleLearnAllMySpellsCommand(char* /*args*/)
continue;
// skip broken spells
if (!SpellMgr::IsSpellValid(spellInfo, m_session->GetPlayer(), false))
if (!SpellMgr::IsSpellValid(spellInfo, player, false))
continue;
m_session->GetPlayer()->learnSpell(spellInfo->Id, false);
player->learnSpell(spellInfo->Id, false);
}
SendSysMessage(LANG_COMMAND_LEARN_CLASS_SPELLS);
@ -2447,7 +2448,7 @@ bool ChatHandler::HandleLearnAllMyTalentsCommand(char* /*args*/)
continue;
SpellEntry const* spellInfo = sSpellStore.LookupEntry(spellid);
if (!spellInfo || !SpellMgr::IsSpellValid(spellInfo, m_session->GetPlayer(), false))
if (!spellInfo || !SpellMgr::IsSpellValid(spellInfo, player, false))
continue;
// learn highest rank of talent and learn all non-talent spell ranks (recursive by tree)
@ -2540,9 +2541,11 @@ bool ChatHandler::HandleLearnAllMyPetTalentsCommand(char* /*args*/)
bool ChatHandler::HandleLearnAllLangCommand(char* /*args*/)
{
Player* player = m_session->GetPlayer();
// skipping UNIVERSAL language (0)
for (int i = 1; i < LANGUAGES_COUNT; ++i)
m_session->GetPlayer()->learnSpell(lang_description[i].spell_id, false);
player->learnSpell(lang_description[i].spell_id, false);
SendSysMessage(LANG_COMMAND_LEARN_ALL_LANG);
return true;
@ -2563,6 +2566,7 @@ bool ChatHandler::HandleLearnAllDefaultCommand(char* args)
bool ChatHandler::HandleLearnCommand(char* args)
{
Player* player = m_session->GetPlayer();
Player* targetPlayer = getSelectedPlayer();
if (!targetPlayer)
@ -2577,12 +2581,12 @@ bool ChatHandler::HandleLearnCommand(char* args)
if (!spell || !sSpellStore.LookupEntry(spell))
return false;
bool allRanks = ExtractLiteralArg(&args, "all") != NULL;
bool allRanks = ExtractLiteralArg(&args, "all") != nullptr;
if (!allRanks && *args) // can be fail also at syntax error
return false;
SpellEntry const* spellInfo = sSpellStore.LookupEntry(spell);
if (!spellInfo || !SpellMgr::IsSpellValid(spellInfo, m_session->GetPlayer()))
if (!spellInfo || !SpellMgr::IsSpellValid(spellInfo, player))
{
PSendSysMessage(LANG_COMMAND_SPELL_BROKEN, spell);
SetSentErrorMessage(true);
@ -2591,7 +2595,7 @@ bool ChatHandler::HandleLearnCommand(char* args)
if (!allRanks && targetPlayer->HasSpell(spell))
{
if (targetPlayer == m_session->GetPlayer())
if (targetPlayer == player)
SendSysMessage(LANG_YOU_KNOWN_SPELL);
else
PSendSysMessage(LANG_TARGET_KNOWN_SPELL, GetNameLink(targetPlayer).c_str());
@ -3956,9 +3960,10 @@ bool ChatHandler::HandleGetDistanceCommand(char* args)
bool ChatHandler::HandleDieCommand(char* /*args*/)
{
Player* player = m_session->GetPlayer();
Unit* target = getSelectedUnit();
if (!target || !m_session->GetPlayer()->GetSelectionGuid())
if (!target || !player->GetSelectionGuid())
{
SendSysMessage(LANG_SELECT_CHAR_OR_CREATURE);
SetSentErrorMessage(true);
@ -3973,7 +3978,7 @@ bool ChatHandler::HandleDieCommand(char* /*args*/)
if (target->IsAlive())
{
m_session->GetPlayer()->DealDamage(target, target->GetHealth(), NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
player->DealDamage(target, target->GetHealth(), nullptr, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, nullptr, false);
}
return true;
@ -3985,8 +3990,9 @@ bool ChatHandler::HandleDamageCommand(char* args)
return false;
Unit* target = getSelectedUnit();
Player* player = m_session->GetPlayer();
if (!target || !m_session->GetPlayer()->GetSelectionGuid())
if (!target || !player->GetSelectionGuid())
{
SendSysMessage(LANG_SELECT_CHAR_OR_CREATURE);
SetSentErrorMessage(true);
@ -4005,12 +4011,12 @@ bool ChatHandler::HandleDamageCommand(char* args)
uint32 damage = damage_int;
// flat melee damage without resistence/etc reduction
// flat melee damage without resistance/etc reduction
if (!*args)
{
m_session->GetPlayer()->DealDamage(target, damage, NULL, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, NULL, false);
if (target != m_session->GetPlayer())
m_session->GetPlayer()->SendAttackStateUpdate(HITINFO_NORMALSWING2, target, 1, SPELL_SCHOOL_MASK_NORMAL, damage, 0, 0, VICTIMSTATE_NORMAL, 0);
player->DealDamage(target, damage, nullptr, DIRECT_DAMAGE, SPELL_SCHOOL_MASK_NORMAL, nullptr, false);
if (target != player)
player->SendAttackStateUpdate(HITINFO_NORMALSWING2, target, SPELL_SCHOOL_MASK_NORMAL, damage, 0, 0, VICTIMSTATE_NORMAL, 0);
return true;
}
@ -4024,7 +4030,7 @@ bool ChatHandler::HandleDamageCommand(char* args)
SpellSchoolMask schoolmask = SpellSchoolMask(1 << school);
if (schoolmask & SPELL_SCHOOL_MASK_NORMAL)
damage = m_session->GetPlayer()->CalcArmorReducedDamage(target, damage);
damage = player->CalcArmorReducedDamage(target, damage);
// melee damage by specific school
if (!*args)
@ -4032,16 +4038,16 @@ bool ChatHandler::HandleDamageCommand(char* args)
uint32 absorb = 0;
uint32 resist = 0;
target->CalculateDamageAbsorbAndResist(m_session->GetPlayer(), schoolmask, SPELL_DIRECT_DAMAGE, damage, &absorb, &resist);
target->CalculateDamageAbsorbAndResist(player, schoolmask, SPELL_DIRECT_DAMAGE, damage, &absorb, &resist);
if (damage <= absorb + resist)
return true;
damage -= absorb + resist;
m_session->GetPlayer()->DealDamageMods(target, damage, &absorb);
m_session->GetPlayer()->DealDamage(target, damage, NULL, DIRECT_DAMAGE, schoolmask, NULL, false);
m_session->GetPlayer()->SendAttackStateUpdate(HITINFO_NORMALSWING2, target, 1, schoolmask, damage, absorb, resist, VICTIMSTATE_NORMAL, 0);
player->DealDamageMods(target, damage, &absorb);
player->DealDamage(target, damage, nullptr, DIRECT_DAMAGE, schoolmask, nullptr, false);
player->SendAttackStateUpdate(HITINFO_NORMALSWING2, target, schoolmask, damage, absorb, resist, VICTIMSTATE_NORMAL, 0);
return true;
}
@ -4052,7 +4058,7 @@ bool ChatHandler::HandleDamageCommand(char* args)
if (!spellid || !sSpellStore.LookupEntry(spellid))
return false;
m_session->GetPlayer()->SpellNonMeleeDamageLog(target, spellid, damage);
player->SpellNonMeleeDamageLog(target, spellid, damage);
return true;
}
@ -6411,7 +6417,7 @@ bool ChatHandler::HandleCastCommand(char* args)
return false;
}
bool triggered = ExtractLiteralArg(&args, "triggered") != NULL;
bool triggered = ExtractLiteralArg(&args, "triggered") != nullptr;
if (!triggered && *args) // can be fail also at syntax error
return false;
@ -7132,8 +7138,10 @@ bool ChatHandler::HandleSendMessageCommand(char* args)
if (!*args)
return false;
WorldSession* rPlayerSession = rPlayer->GetSession();
///- Check that he is not logging out.
if (rPlayer->GetSession()->isLogingOut())
if (rPlayerSession->isLogingOut())
{
SendSysMessage(LANG_PLAYER_NOT_FOUND);
SetSentErrorMessage(true);
@ -7142,8 +7150,8 @@ bool ChatHandler::HandleSendMessageCommand(char* args)
///- Send the message
// Use SendAreaTriggerMessage for fastest delivery.
rPlayer->GetSession()->SendAreaTriggerMessage("%s", args);
rPlayer->GetSession()->SendAreaTriggerMessage("|cffff0000[Message from administrator]:|r");
rPlayerSession->SendAreaTriggerMessage("%s", args);
rPlayerSession->SendAreaTriggerMessage("|cffff0000[Message from administrator]:|r");
// Confirmation message
std::string nameLink = GetNameLink(rPlayer);
@ -7301,3 +7309,11 @@ bool ChatHandler::HandleMmapTestArea(char* args)
return true;
}
bool ChatHandler::HandleServerResetAllRaidCommand(char* args)
{
PSendSysMessage("Global raid instances reset, all players in raid instances will be teleported to homebind!");
sMapPersistentStateMgr.GetScheduler().ResetAllRaid();
return true;
}

View file

@ -37,7 +37,6 @@
#include "ObjectMgr.h"
#include "ObjectGuid.h"
#include "SpellMgr.h"
#include "PhaseMgr.h"
bool ChatHandler::HandleDebugSendSpellFailCommand(char* args)
{
@ -129,58 +128,60 @@ bool ChatHandler::HandleDebugSendOpcodeCommand(char* /*args*/)
if (!unit || (unit->GetTypeId() != TYPEID_PLAYER))
unit = m_session->GetPlayer();
std::ifstream ifs("opcode.txt");
if (ifs.bad())
std::ifstream stream("opcode.txt");
if (!stream.is_open())
return false;
uint32 opcode;
ifs >> opcode;
uint32 opcode = 0;
if (!(stream >> opcode))
{
stream.close();
return false;
}
WorldPacket data(Opcodes(opcode), 0);
while (!ifs.eof())
std::string type;
while (stream >> type)
{
std::string type;
ifs >> type;
if (type == "")
if (type.empty())
break;
if (type == "uint8")
{
uint16 val1;
ifs >> val1;
data << uint8(val1);
uint16 value;
stream >> value;
data << uint8(value);
}
else if (type == "uint16")
{
uint16 val2;
ifs >> val2;
data << val2;
uint16 value;
stream >> value;
data << value;
}
else if (type == "uint32")
{
uint32 val3;
ifs >> val3;
data << val3;
uint32 value;
stream >> value;
data << value;
}
else if (type == "uint64")
{
uint64 val4;
ifs >> val4;
data << val4;
uint64 value;
stream >> value;
data << value;
}
else if (type == "float")
{
float val5;
ifs >> val5;
data << val5;
float value;
stream >> value;
data << value;
}
else if (type == "string")
{
std::string val6;
ifs >> val6;
data << val6;
std::string value;
stream >> value;
data << value;
}
else if (type == "pguid")
{
@ -192,11 +193,15 @@ bool ChatHandler::HandleDebugSendOpcodeCommand(char* /*args*/)
break;
}
}
ifs.close();
stream.close();
DEBUG_LOG("Sending opcode %u, %s", data.GetOpcode(), data.GetOpcodeName());
data.hexlike();
((Player*)unit)->GetSession()->SendPacket(&data);
PSendSysMessage(LANG_COMMAND_OPCODESENT, data.GetOpcode(), unit->GetName());
return true;
}
@ -673,32 +678,23 @@ bool ChatHandler::HandleDebugSendSetPhaseShiftCommand(char* args)
if (!*args)
return false;
char* t = strtok((char*)args, " ");
char* m = strtok((char*)args, " ");
char* p = strtok(NULL, " ");
if (!t)
return false;
std::set<uint32> terrainswap;
std::set<uint32> phaseId;
terrainswap.insert((uint32)atoi(t));
if (p)
phaseId.insert((uint32)atoi(p));
m_session->SendSetPhaseShift(phaseId, terrainswap);
uint16 MapId = atoi(m);
uint32 PhaseShift = atoi(p);
m_session->SendSetPhaseShift(PhaseShift, MapId);
return true;
}
bool ChatHandler::HandleDebugPhaseCommand(char* args)
{
Player* player = getSelectedPlayer();
if (!player)
player = m_session->GetPlayer();
uint32 emote_id;
if (!ExtractUInt32(&args, emote_id))
{ return false; }
player->GetPhaseMgr()->SendDebugReportToPlayer(m_session->GetPlayer());
return true;
m_session->GetPlayer()->HandleEmoteCommand(emote_id);
return true;
}
// show animation
@ -973,29 +969,30 @@ bool ChatHandler::HandlerDebugModValueHelper(Object* target, uint32 field, char*
return false;
uint32 value = target->GetUInt32Value(field);
const char* guidString = guid.GetString().c_str();
switch (type)
{
default:
case 1: // int +
value = uint32(int32(value) + int32(iValue));
DEBUG_LOG(GetMangosString(LANG_CHANGE_INT32), guid.GetString().c_str(), field, iValue, value, value);
PSendSysMessage(LANG_CHANGE_INT32_FIELD, guid.GetString().c_str(), field, iValue, value, value);
DEBUG_LOG(GetMangosString(LANG_CHANGE_INT32), guidString, field, iValue, value, value);
PSendSysMessage(LANG_CHANGE_INT32_FIELD, guidString, field, iValue, value, value);
break;
case 2: // |= bit or
value |= iValue;
DEBUG_LOG(GetMangosString(LANG_CHANGE_HEX), guid.GetString().c_str(), field, typeStr, iValue, value);
PSendSysMessage(LANG_CHANGE_HEX_FIELD, guid.GetString().c_str(), field, typeStr, iValue, value);
DEBUG_LOG(GetMangosString(LANG_CHANGE_HEX), guidString, field, typeStr, iValue, value);
PSendSysMessage(LANG_CHANGE_HEX_FIELD, guidString, field, typeStr, iValue, value);
break;
case 3: // &= bit and
value &= iValue;
DEBUG_LOG(GetMangosString(LANG_CHANGE_HEX), guid.GetString().c_str(), field, typeStr, iValue, value);
PSendSysMessage(LANG_CHANGE_HEX_FIELD, guid.GetString().c_str(), field, typeStr, iValue, value);
DEBUG_LOG(GetMangosString(LANG_CHANGE_HEX), guidString, field, typeStr, iValue, value);
PSendSysMessage(LANG_CHANGE_HEX_FIELD, guidString, field, typeStr, iValue, value);
break;
case 4: // &=~ bit and not
value &= ~iValue;
DEBUG_LOG(GetMangosString(LANG_CHANGE_HEX), guid.GetString().c_str(), field, typeStr, iValue, value);
PSendSysMessage(LANG_CHANGE_HEX_FIELD, guid.GetString().c_str(), field, typeStr, iValue, value);
DEBUG_LOG(GetMangosString(LANG_CHANGE_HEX), guidString, field, typeStr, iValue, value);
PSendSysMessage(LANG_CHANGE_HEX_FIELD, guidString, field, typeStr, iValue, value);
break;
}