diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/game/GridNotifiers.cpp | 6 | ||||
-rw-r--r-- | src/game/Level3.cpp | 42 | ||||
-rw-r--r-- | src/game/Player.cpp | 24 | ||||
-rw-r--r-- | src/shared/revision_nr.h | 2 |
4 files changed, 22 insertions, 52 deletions
diff --git a/src/game/GridNotifiers.cpp b/src/game/GridNotifiers.cpp index c736be699d0..442654ce455 100644 --- a/src/game/GridNotifiers.cpp +++ b/src/game/GridNotifiers.cpp @@ -249,9 +249,6 @@ ObjectUpdater::Visit(GridRefManager<T> &m) } } -template void ObjectUpdater::Visit<GameObject>(GameObjectMapType &); -template void ObjectUpdater::Visit<DynamicObject>(DynamicObjectMapType &); - bool CannibalizeObjectCheck::operator()(Corpse* u) { // ignore bones @@ -268,3 +265,6 @@ bool CannibalizeObjectCheck::operator()(Corpse* u) return false; } + +template void ObjectUpdater::Visit<GameObject>(GameObjectMapType &); +template void ObjectUpdater::Visit<DynamicObject>(DynamicObjectMapType &); diff --git a/src/game/Level3.cpp b/src/game/Level3.cpp index 7555e5eda9d..fde30daebd2 100644 --- a/src/game/Level3.cpp +++ b/src/game/Level3.cpp @@ -3874,10 +3874,6 @@ bool ChatHandler::HandleReviveCommand(const char* args) bool ChatHandler::HandleAuraCommand(const char* args) { - char* px = strtok((char*)args, " "); - if (!px) - return false; - Unit *target = getSelectedUnit(); if(!target) { @@ -3886,7 +3882,9 @@ bool ChatHandler::HandleAuraCommand(const char* args) return false; } - uint32 spellID = (uint32)atoi(px); + // number or [name] Shift-click form |color|Hspell:spell_id|h[name]|h|r or Htalent form + uint32 spellID = extractSpellIdFromLink((char*)args); + SpellEntry const *spellInfo = sSpellStore.LookupEntry( spellID ); if(spellInfo) { @@ -3910,10 +3908,6 @@ bool ChatHandler::HandleAuraCommand(const char* args) bool ChatHandler::HandleUnAuraCommand(const char* args) { - char* px = strtok((char*)args, " "); - if (!px) - return false; - Unit *target = getSelectedUnit(); if(!target) { @@ -3929,7 +3923,11 @@ bool ChatHandler::HandleUnAuraCommand(const char* args) return true; } - uint32 spellID = (uint32)atoi(px); + // number or [name] Shift-click form |color|Hspell:spell_id|h[name]|h|r or Htalent form + uint32 spellID = extractSpellIdFromLink((char*)args); + if(!spellID) + return false; + target->RemoveAurasDueToSpell(spellID); return true; @@ -4779,19 +4777,6 @@ static bool HandleResetStatsOrLevelHelper(Player* player) uint8 powertype = cEntry->powerType; - uint32 unitfield; - if(powertype == POWER_RAGE) - unitfield = 0x1100EE00; - else if(powertype == POWER_ENERGY) - unitfield = 0x00000000; - else if(powertype == POWER_MANA) - unitfield = 0x0000EE00; - else - { - sLog.outError("Invalid default powertype %u for player (class %u)",powertype,player->getClass()); - return false; - } - // reset m_form if no aura if(!player->HasAuraType(SPELL_AURA_MOD_SHAPESHIFT)) player->m_form = FORM_NONE; @@ -4821,8 +4806,6 @@ static bool HandleResetStatsOrLevelHelper(Player* player) } } - // set UNIT_FIELD_BYTES_1 to init state but preserve m_form value - player->SetUInt32Value(UNIT_FIELD_BYTES_1, unitfield); player->SetByteValue(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_PVP ); player->SetByteValue(UNIT_FIELD_BYTES_2, 3, player->m_form); @@ -4865,7 +4848,13 @@ bool ChatHandler::HandleResetLevelCommand(const char * args) if(!HandleResetStatsOrLevelHelper(player)) return false; - player->SetLevel(1); + // set starting level + uint32 start_level = player->getClass() != CLASS_DEATH_KNIGHT + ? sWorld.getConfig(CONFIG_START_PLAYER_LEVEL) + : sWorld.getConfig(CONFIG_START_HEROIC_PLAYER_LEVEL); + + player->SetLevel(start_level); + player->InitRunes(); player->InitStatsForLevel(true); player->InitTaxiNodesForLevel(); player->InitGlyphsForLevel(); @@ -4912,6 +4901,7 @@ bool ChatHandler::HandleResetStatsCommand(const char * args) if(!HandleResetStatsOrLevelHelper(player)) return false; + player->InitRunes(); player->InitStatsForLevel(true); player->InitTaxiNodesForLevel(); player->InitGlyphsForLevel(); diff --git a/src/game/Player.cpp b/src/game/Player.cpp index c1b97530320..8e7c4762270 100644 --- a/src/game/Player.cpp +++ b/src/game/Player.cpp @@ -556,25 +556,6 @@ bool Player::Create( uint32 guidlow, const std::string& name, uint8 race, uint8 uint8 powertype = cEntry->powerType; - //uint32 unitfield; - - /*switch(powertype) - { - case POWER_ENERGY: - case POWER_MANA: - unitfield = 0x00000000; - break; - case POWER_RAGE: - unitfield = 0x00110000; - break; - case POWER_RUNIC_POWER: - unitfield = 0x0000EE00; //TODO: find correct unitfield here - break; - default: - sLog.outError("Invalid default powertype %u for player (class %u)",powertype,class_); - return false; - }*/ - SetFloatValue(UNIT_FIELD_BOUNDINGRADIUS, DEFAULT_WORLD_OBJECT_SIZE); SetFloatValue(UNIT_FIELD_COMBATREACH, 1.5f); @@ -599,7 +580,6 @@ bool Player::Create( uint32 guidlow, const std::string& name, uint8 race, uint8 uint32 RaceClassGender = ( race ) | ( class_ << 8 ) | ( gender << 16 ); SetUInt32Value(UNIT_FIELD_BYTES_0, ( RaceClassGender | ( powertype << 24 ) ) ); - //SetUInt32Value(UNIT_FIELD_BYTES_1, unitfield); SetByteFlag(UNIT_FIELD_BYTES_2, 1, UNIT_BYTE2_FLAG_PVP ); SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP_ATTACKABLE ); SetFlag(UNIT_FIELD_FLAGS_2, UNIT_FLAG2_REGENERATE_POWER); @@ -19930,9 +19910,9 @@ void Player::InitGlyphsForLevel() if(level >= 15) value |= (0x01 | 0x02); if(level >= 30) - value |= 0x04; - if(level >= 50) value |= 0x08; + if(level >= 50) + value |= 0x04; if(level >= 70) value |= 0x10; if(level >= 80) diff --git a/src/shared/revision_nr.h b/src/shared/revision_nr.h index 71d4d56a995..f2e3c0e71e0 100644 --- a/src/shared/revision_nr.h +++ b/src/shared/revision_nr.h @@ -1,4 +1,4 @@ #ifndef __REVISION_NR_H__ #define __REVISION_NR_H__ - #define REVISION_NR "7190" + #define REVISION_NR "7194" #endif // __REVISION_NR_H__ |