Index: src/game/ObjectMgr.cpp =================================================================== --- src/game/ObjectMgr.cpp (revision 2016) +++ src/game/ObjectMgr.cpp (working copy) @@ -1489,7 +1489,7 @@ continue; // Class not valid for this race. // Generate each level's information - uint32 MaxLevel = 70 + 1; + uint32 MaxLevel = sWorld.Expansion1LevelCap + 1; LevelInfo* lvl=0, lastlvl; lastlvl.HP = PCI->health; lastlvl.Mana = PCI->mana; Index: src/game/Player.cpp =================================================================== --- src/game/Player.cpp (revision 2016) +++ src/game/Player.cpp (working copy) @@ -666,7 +666,7 @@ SetUInt32Value(PLAYER_FIELD_BYTES, 0x08 ); SetUInt32Value(PLAYER_CHARACTER_POINTS2,2); SetFloatValue(UNIT_MOD_CAST_SPEED, 1.0f); - SetUInt32Value(PLAYER_FIELD_MAX_LEVEL, 70); + SetUInt32Value(PLAYER_FIELD_MAX_LEVEL, sWorld.Expansion1LevelCap); for(uint32 x=0;x<7;x++) SetFloatValue(PLAYER_FIELD_MOD_DAMAGE_DONE_PCT+x, 1.00); @@ -2598,7 +2598,7 @@ } SetFloatValue(UNIT_MOD_CAST_SPEED, 1.0f); - SetUInt32Value(PLAYER_FIELD_MAX_LEVEL, (GetSession()->HasFlag(ACCOUNT_FLAG_XPACK_01)?70:60)); + SetUInt32Value(PLAYER_FIELD_MAX_LEVEL, sWorld.Expansion1LevelCap); SetUInt32Value(UNIT_FIELD_FACTIONTEMPLATE, info->factiontemplate); if(cfaction) { @@ -3046,7 +3046,7 @@ CompleteLoading(); m_TeleportState = 0; - + if(flying_aura && m_mapId != 530) { RemoveAura(flying_aura); @@ -3059,8 +3059,12 @@ /* send weather */ sWeatherMgr.SendWeather(this); + if(m_mapMgr && m_mapMgr->m_battleground) + m_mapMgr->m_battleground->PortPlayer(this, true); + if(!m_TeleportState == 1) { SetUInt32Value(UNIT_FIELD_HEALTH, load_health); SetUInt32Value(UNIT_FIELD_POWER1, load_mana); + } } void Player::ResetHeartbeatCoords() Index: src/game/Stats.h =================================================================== --- src/game/Stats.h (revision 2016) +++ src/game/Stats.h (working copy) @@ -111,7 +111,7 @@ { // const uint32 grayLevel[sWorld.LevelCap+1] = {0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,13,14,15,16,17,18,19,20,21,22,22,23,24,25,26,27,28,29,30,31,31,32,33,34,35,35,36,37,38,39,39,40,41,42,43,43,44,45,46,47,47,48,49,50,51,51,52,53,54,55,55}; -#define PLAYER_LEVEL_CAP 70 +#define PLAYER_LEVEL_CAP 80 const uint32 grayLevel[PLAYER_LEVEL_CAP+1] = {0,0,0,0,0,0,0,1,2,3,4,5,6,7,8,9,10,11,12,13,13,14,15,16,17,18,19,20,21,22,22,23,24,25,26,27,28,29,30,31,31,32,33,34,35,35,36,37,38,39,39,40,41,42,43,43,44,45,46,47,47,48,49,50,51,51,52,53,54,55,55}; if(AttackerLvl + 5 <= VictimLvl) { @@ -144,7 +144,7 @@ } else { - if(AttackerLvl > PLAYER_LEVEL_CAP) + if(AttackerLvl > sWorld.Expansion1LevelCap) return 1;//gm if(AttackerLvl