rendered paste bodyIndex: Language.h===================================================================--- Language.h (revision 2702)+++ Language.h (working copy)@@ -34,6 +34,7 @@ #define LANG_CHAR_IN_FLIGHT "%s are flying and your command fail." #define LANG_CHAR_NON_MOUNTED "You are not mounted and can't do dismount." #define LANG_YOU_IN_COMBAT "You are fighting and can't do it."+#define LANG_FALLING "You can only do this command while falling." // alliance ranks #define LANG_ALI_PRIVATE "Private "@@ -78,7 +79,7 @@ #define LANG_HONOR_LIFE "Life Time: [Honorable Kills: |c0000ff00%u|r] [Dishonorable Kills: |c00ff0000%u|r] [Highest Rank %u: %s]" // level 1 chat-#define LANG_BROADCAST "BROADCAST: %s"+#define LANG_BROADCAST "System Message: %s" #define LANG_MAP_POSITION "Map: %u Zone: %u\nX: %f Y: %f Z: %f Orientation: %f grid[%u,%u]cell[%u,%u]" #define LANG_IS_TELEPORTED "%s is already being teleported." #define LANG_SUMMONING "You are summoning %s%s."Index: Level0.cpp===================================================================--- Level0.cpp (revision 2702)+++ Level0.cpp (working copy)@@ -121,6 +121,12 @@ } chr->SetUInt32Value(PLAYER_FARSIGHT, 0x01);+ + if (!chr->HasMovementFlags( MOVEMENT_FALLING )) + {+ SendSysMessage(LANG_FALLING);+ return true;+ } PlayerInfo const *info = objmgr.GetPlayerInfo(chr->getRace(), chr->getClass()); Index: Level1.cpp===================================================================--- Level1.cpp (revision 2702)+++ Level1.cpp (working copy)@@ -1221,6 +1221,13 @@ bool ChatHandler::HandleTeleCommand(const char * args) {++ Player* pl = m_session->GetPlayer();+ Player* plTarget = getSelectedPlayer();+ if(!plTarget)+ plTarget = pl;++ if(m_session->GetPlayer()->isInFlight()) { SendSysMessage(LANG_YOU_IN_FLIGHT);@@ -1270,7 +1277,7 @@ return true; } - m_session->GetPlayer()->TeleportTo(mapid, x, y, z, ort);+ plTarget->TeleportTo(mapid, x, y, z, ort); return true; } Index: Level3.cpp===================================================================--- Level3.cpp (revision 2702)+++ Level3.cpp (working copy)@@ -1673,6 +1673,11 @@ if (!px) return false; + Player* pl = m_session->GetPlayer();+ Player* plTarget = getSelectedPlayer();+ if(!plTarget)+ plTarget = pl;+ uint32 spellID = (uint32)atoi(px); SpellEntry *spellInfo = sSpellStore.LookupEntry( spellID ); if(spellInfo)@@ -1684,7 +1689,7 @@ continue; if (eff == SPELL_EFFECT_APPLY_AURA || eff == SPELL_EFFECT_APPLY_AREA_AURA || eff == SPELL_EFFECT_PERSISTENT_AREA_AURA) {- Aura *Aur = new Aura(spellInfo, i, m_session->GetPlayer());+ Aura *Aur = new Aura(spellInfo, i, plTarget); m_session->GetPlayer()->AddAura(Aur); } }@@ -1699,15 +1704,20 @@ if (!px) return false; + Player* pl = m_session->GetPlayer();+ Player* plTarget = getSelectedPlayer();+ if(!plTarget)+ plTarget = pl;+ std::string argstr = args; if (argstr == "all") {- m_session->GetPlayer()->RemoveAllAuras();+ plTarget->RemoveAllAuras(); return true; } uint32 spellID = (uint32)atoi(px);- m_session->GetPlayer()->RemoveAurasDueToSpell(spellID);+ plTarget->RemoveAurasDueToSpell(spellID); return true; }@@ -2660,7 +2670,7 @@ return false; } - if(std::string(args)=="stop")+ if(std::string(args)=="stop" || std::string(args)=="abort") { sWorld.ShutdownCancel(); }