rendered paste bodyIndex: src/game/ChatHandler.cpp===================================================================--- src/game/ChatHandler.cpp (revision 5631)+++ src/game/ChatHandler.cpp (working copy)@@ -44,6 +44,7 @@ recv_data >> type; recv_data >> lang;+ //sLog.outDebug("CHAT: packet received. type %u, lang %u", type, lang ); // prevent talking at unknown language (cheating)Index: src/game/debugcmds.cpp===================================================================--- src/game/debugcmds.cpp (revision 5631)+++ src/game/debugcmds.cpp (working copy)@@ -132,28 +132,71 @@ if (!unit || (unit->GetTypeId() != TYPEID_PLAYER)) unit = m_session->GetPlayer(); - char* op = strtok((char*)args, " ");- if(!op)+ FILE *file = fopen("opcode.txt", "r");+ if(!file)+ {+ fclose(file); return false;- char* val1 = strtok(NULL, " ");- if(!val1)+ }++ uint32 type;++ uint32 val1;+ uint64 val2;+ float val3;+ char *val4[101];++ uint32 opcode = 0;+ fscanf(file, "%u", &opcode);+ if(!opcode)+ {+ fclose(file); return false;- /*char* val2 = strtok(NULL, " ");- if(!val2)- return false;- char* val3 = strtok(NULL, " ");- if(!val3)- return false;*/+ } - uint16 opcode = atoi(op);- uint64 value1 = atoi(val1);- //uint32 value2 = atoi(val2);- //uint32 value3 = atoi(val3);- WorldPacket data(opcode, 8);- data << uint64(value1);+ WorldPacket data(opcode, 0);++ while(fscanf(file, "%u", &type) != EOF)+ {+ switch(type)+ {+ case 0: // uint8+ fscanf(file, "%u", &val1);+ data << uint8(val1);+ break;+ case 1: // uint16+ fscanf(file, "%u", &val1);+ data << uint16(val1);+ break;+ case 2: // uint32+ fscanf(file, "%u", &val1);+ data << uint32(val1);+ break;+ case 3: // uint64+ fscanf(file, "%llu", &val2);+ data << uint64(val2);+ break;+ case 4: // float+ fscanf(file, "%f", &val3);+ data << float(val3);+ break;+ case 5: // string+ fscanf(file, "%s", val4, 101);+ data << val4;+ break;+ case 6: // packed guid+ data.append(unit->GetPackGUID());+ break;+ default:+ fclose(file);+ return false;+ }+ }+ fclose(file);+ sLog.outDebug("Sending opcode %u", data.GetOpcode());+ data.hexlike(); ((Player*)unit)->GetSession()->SendPacket(&data);-- PSendSysMessage(LANG_COMMAND_OPCODESENT, opcode, unit->GetName());+ PSendSysMessage(LANG_COMMAND_OPCODESENT, data.GetOpcode(), unit->GetName()); return true; } Index: src/game/GameObject.h===================================================================--- src/game/GameObject.h (revision 5631)+++ src/game/GameObject.h (working copy)@@ -348,7 +348,7 @@ uint32 m_flags; LootState m_lootState; bool m_spawnedByDefault;- time_t m_cooldownTime; //used as internal reaction delay time store (not state change reaction).+ time_t m_cooldownTime; // used as internal reaction delay time store (not state change reaction). // For traps this: spell casting cooldown, for doors/buttnons: reset time. std::list<uint32> m_SkillupList; Index: src/game/Group.h===================================================================--- src/game/Group.h (revision 5631)+++ src/game/Group.h (working copy)@@ -72,7 +72,7 @@ GROUP_UPDATE_FLAG_LEVEL = 0x00000040, // uint16 GROUP_UPDATE_FLAG_ZONE = 0x00000080, // uint16 GROUP_UPDATE_FLAG_POSITION = 0x00000100, // uint16, uint16- GROUP_UPDATE_FLAG_AURAS = 0x00000200, // uint64 mask, for each bit set uint16 spellid+ GROUP_UPDATE_FLAG_AURAS = 0x00000200, // uint64 mask, for each bit set uint16 spellid + uint8 unk GROUP_UPDATE_FLAG_PET_GUID = 0x00000400, // uint64 pet guid GROUP_UPDATE_FLAG_PET_NAME = 0x00000800, // pet name, NULL terminated string GROUP_UPDATE_FLAG_PET_MODEL_ID = 0x00001000, // uint16, model id@@ -81,7 +81,7 @@ GROUP_UPDATE_FLAG_PET_POWER_TYPE = 0x00008000, // uint8 pet power type GROUP_UPDATE_FLAG_PET_CUR_POWER = 0x00010000, // uint16 pet cur power GROUP_UPDATE_FLAG_PET_MAX_POWER = 0x00020000, // uint16 pet max power- GROUP_UPDATE_FLAG_PET_AURAS = 0x00040000, // uint64 mask, for each bit set uint16 spellid, pet auras...+ GROUP_UPDATE_FLAG_PET_AURAS = 0x00040000, // uint64 mask, for each bit set uint16 spellid + uint8 unk, pet auras... GROUP_UPDATE_PET = 0x0007FC00, // all pet flags GROUP_UPDATE_FULL = 0x0007FFFF, // all known flags };Index: src/game/GroupHandler.cpp===================================================================--- src/game/GroupHandler.cpp (revision 5631)+++ src/game/GroupHandler.cpp (working copy)@@ -836,7 +836,7 @@ { petauramask |= (uint64(1) << i); data << (uint16) petaura;- //petbuf << (uint8) 1;+ data << (uint8) 1; } } data.put<uint64>(petMaskPos,petauramask); // GROUP_UPDATE_FLAG_PET_AURASIndex: src/game/Guild.cpp===================================================================--- src/game/Guild.cpp (revision 5631)+++ src/game/Guild.cpp (working copy)@@ -1519,7 +1519,7 @@ // SuffixFactor +4 data << (uint32) pItem->GetItemSuffixFactor(); // +12 // ITEM_FIELD_STACK_COUNT- data << (uint8)pItem->GetCount();+ data << uint8(pItem->GetCount()); data << uint32(0); // +16 // Unknown value //data << uint8(0); uint32 Enchant0 = pItem->GetEnchantmentId(PERM_ENCHANTMENT_SLOT);@@ -1527,7 +1527,7 @@ { data << uint8(1); // nb of enchantements (max 3) data << uint8(PERM_ENCHANTMENT_SLOT); // enchantment slot (range: 0:2)- data << (uint32)Enchant0; // enchantment id+ data << uint32(Enchant0); // enchantment id } else data << uint8(0);Index: src/game/Guild.h===================================================================--- src/game/Guild.h (revision 5631)+++ src/game/Guild.h (working copy)@@ -199,7 +199,17 @@ struct RankInfo {- RankInfo(std::string _name, uint32 _rights, uint32 _money) : name(_name), rights(_rights), BankMoneyPerDay(_money) {}+ RankInfo(std::string _name, uint32 _rights, uint32 _money)+ {+ name = _name;+ rights = _rights;+ BankMoneyPerDay = _money;+ for(uint8 i = 0; i < GUILD_BANK_MAX_TABS; ++i)+ {+ TabRight[i] = 0;+ TabSlotPerDay[i] = 0;+ }+ } std::string name; uint32 rights;Index: src/game/GuildHandler.cpp===================================================================--- src/game/GuildHandler.cpp (revision 5631)+++ src/game/GuildHandler.cpp (working copy)@@ -1095,7 +1095,7 @@ return; CharacterDatabase.BeginTransaction();- + pGuild->SetBankMoney(pGuild->GetGuildBankMoney()+money); GetPlayer()->ModifyMoney(-int(money)); GetPlayer()->SaveGoldToDB();@@ -1144,7 +1144,7 @@ return; CharacterDatabase.BeginTransaction();- + if (!pGuild->MemberMoneyWithdraw(money, GetPlayer()->GetGUIDLow())) { CharacterDatabase.RollbackTransaction();Index: src/game/ItemHandler.cpp===================================================================--- src/game/ItemHandler.cpp (revision 5631)+++ src/game/ItemHandler.cpp (working copy)@@ -731,7 +731,6 @@ _player->SendEquipError( msg, pItem, NULL ); return; }- } ItemPosCountVec dest;Index: src/game/Level3.cpp===================================================================--- src/game/Level3.cpp (revision 5631)+++ src/game/Level3.cpp (working copy)@@ -3763,7 +3763,7 @@ player->SetUInt32Value(UNIT_FIELD_BYTES_1, player->m_form<<16 | unitfield ); player->SetUInt32Value(UNIT_FIELD_BYTES_2, 0x2800 ); // 0x2800, 0x2801 2.0.8...- player->SetUInt32Value(UNIT_FIELD_FLAGS , UNIT_FLAG_UNKNOWN1 );+ player->SetUInt32Value(UNIT_FIELD_FLAGS, UNIT_FLAG_UNKNOWN1); //-1 is default value player->SetUInt32Value(PLAYER_FIELD_WATCHED_FACTION_INDEX, uint32(-1));@@ -4652,4 +4652,4 @@ else caster->GetMotionMaster()->Mutate(new PointMovementGenerator<Creature>(0, m_session->GetPlayer()->GetPositionX(), m_session->GetPlayer()->GetPositionY(), m_session->GetPlayer()->GetPositionZ())); return true;-}\ No newline at end of file+}Index: src/game/LootMgr.h===================================================================--- src/game/LootMgr.h (revision 5631)+++ src/game/LootMgr.h (working copy)@@ -55,7 +55,7 @@ { ALL_PERMISSION = 0, GROUP_PERMISSION = 1,- MASTER_PERMISSION = 2,+ MASTER_PERMISSION = 2, NONE_PERMISSION = 3 }; Index: src/game/ObjectDefines.h===================================================================--- src/game/ObjectDefines.h (revision 5631)+++ src/game/ObjectDefines.h (working copy)@@ -25,14 +25,14 @@ { HIGHGUID_ITEM = 0x40000000, // blizz 40000000 HIGHGUID_CONTAINER = 0x40000000, // blizz 40000000- HIGHGUID_UNIT = 0xF0070000, // blizz F009????, where "????" is unit entry HIGHGUID_PLAYER = 0x00000000, // blizz 00000000 HIGHGUID_GAMEOBJECT = 0xF0060000, // blizz F0090000+ HIGHGUID_TRANSPORT = 0x1FA70000 // blizz 1FA70000 (type 11)+ HIGHGUID_UNIT = 0xF0070000, // blizz F009????, where "????" is unit entry HIGHGUID_DYNAMICOBJECT = 0xF00A0000, // blizz F0090000, F0320000 HIGHGUID_CORPSE = 0xF0090000, // blizz F0090000, F0320000- HIGHGUID_PLAYER_CORPSE = 0xF0080000, // blizz F0090000, F0320000 HIGHGUID_MO_TRANSPORT = 0x1FC00000, // blizz 1FC00000 (type 15)- HIGHGUID_TRANSPORT = 0x1FA70000 // blizz 1FA70000 (type 11)+ }; #define GUID_HIPART(x) (uint32)(uint64(x) >> 32)@@ -48,7 +48,6 @@ #define IS_GAMEOBJECT_GUID(Guid) ( GUID_HIPART(Guid) == HIGHGUID_GAMEOBJECT ) #define IS_DYNAMICOBJECT_GUID(Guid) ( GUID_HIPART(Guid) == HIGHGUID_DYNAMICOBJECT ) #define IS_CORPSE_GUID(Guid) ( GUID_HIPART(Guid) == HIGHGUID_CORPSE )-#define IS_PLAYER_CORPSE_GUID(Guid) ( GUID_HIPART(Guid) == HIGHGUID_PLAYER_CORPSE ) #define IS_TRANSPORT(Guid) ( GUID_HIPART(Guid) == HIGHGUID_TRANSPORT ) #define IS_MO_TRANSPORT(Guid) ( GUID_HIPART(Guid) == HIGHGUID_MO_TRANSPORT ) #endifIndex: src/game/Pet.cpp===================================================================--- src/game/Pet.cpp (revision 5631)+++ src/game/Pet.cpp (working copy)@@ -215,22 +215,16 @@ // this enables popup window (pet dismiss, cancel) break; case HUNTER_PET:- SetUInt32Value(UNIT_FIELD_BYTES_0, 0x2020100); //??+ SetUInt32Value(UNIT_FIELD_BYTES_0, 0x02020100); SetUInt32Value(UNIT_FIELD_BYTES_1,(fields[9].GetUInt32()<<8));- SetUInt32Value(UNIT_FIELD_BYTES_2, 0x00022801); // can't be renamed (byte (0x02))- // + UNIT_FLAG_RESTING);- SetUInt32Value(UNIT_FIELD_FLAGS, UNIT_FLAG_UNKNOWN1);- // this enables popup window (pet abandon, cancel) - // pet not renamed yet, let rename if wont- if(!fields[13].GetBool())- {- //SetUInt32Value(UNIT_FIELD_BYTES_2, uint32(0x03 << 16)); // check it...- // 0x03- SetUInt32Value(UNIT_FIELD_BYTES_2, 0x00032801);- //SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_RENAME); // old, not working...- }+ if(fields[13].GetBool())+ SetUInt32Value(UNIT_FIELD_BYTES_2, 0x00022801); // can't be renamed (byte 0x02)+ else+ SetUInt32Value(UNIT_FIELD_BYTES_2, 0x00032801); // can be renamed (byte 0x03) + SetUInt32Value(UNIT_FIELD_FLAGS, UNIT_FLAG_UNKNOWN1);+ // this enables popup window (pet abandon, cancel) SetTP(fields[10].GetInt32()); SetMaxPower(POWER_HAPPINESS,GetCreatePowers(POWER_HAPPINESS)); SetPower( POWER_HAPPINESS,fields[16].GetUInt32());@@ -887,11 +881,9 @@ m_loyaltyPoints = 1000; if(cinfo->type == CREATURE_TYPE_BEAST) {- SetUInt32Value(UNIT_FIELD_BYTES_0, 0x2020100);+ SetUInt32Value(UNIT_FIELD_BYTES_0, 0x02020100); SetUInt32Value(UNIT_FIELD_BYTES_2, 0x00032801); // can be renamed (byte 0x03)... - //SetUInt32Value(UNIT_FIELD_BYTES_1,creature->GetUInt32Value(UNIT_FIELD_BYTES_1));- SetUInt32Value(UNIT_MOD_CAST_SPEED, creature->GetUInt32Value(UNIT_MOD_CAST_SPEED) ); SetLoyaltyLevel(REBELLIOUS); }Index: src/game/PetHandler.cpp===================================================================--- src/game/PetHandler.cpp (revision 5631)+++ src/game/PetHandler.cpp (working copy)@@ -385,8 +385,6 @@ if(owner && (owner->GetTypeId() == TYPEID_PLAYER) && ((Player*)owner)->GetGroup()) ((Player*)owner)->SetGroupUpdateFlag(GROUP_UPDATE_FLAG_PET_NAME); - //pet->RemoveFlag(UNIT_FIELD_FLAGS,UNIT_FLAG_RENAME);- // check it! pet->SetUInt32Value(UNIT_FIELD_BYTES_2, uint32(2 << 16)); CharacterDatabase.escape_string(name);Index: src/game/Player.cpp===================================================================--- src/game/Player.cpp (revision 5631)+++ src/game/Player.cpp (working copy)@@ -424,7 +424,6 @@ SetUInt32Value(PLAYER_BYTES, (skin | (face << 8) | (hairStyle << 16) | (hairColor << 24))); SetUInt32Value(PLAYER_BYTES_2, (facialHair | (0x00 << 8) | (0x00 << 16) | (0x02 << 24))); SetUInt32Value(PLAYER_BYTES_3, gender);- //SetUInt32Value(PLAYER_FIELD_BYTES, 0xEEE00000 ); SetUInt32Value( PLAYER_GUILDID, 0 ); SetUInt32Value( PLAYER_GUILDRANK, 0 );@@ -2154,7 +2153,7 @@ // restore if need some important flags SetFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_UNKNOWN1 ); SetUInt32Value(PLAYER_FIELD_BYTES2, 0 ); // flags empty by default- + SetArmor(int32(m_createStats[STAT_AGILITY]*2)); for(int i = STAT_STRENGTH; i < MAX_STATS; ++i)@@ -2277,7 +2276,6 @@ void Player::SendInitialSpells() {- uint16 spellCount = 0; WorldPacket data(SMSG_INITIAL_SPELLS, (1+2+2+4*m_spells.size()));@@ -3454,18 +3452,6 @@ // BG - remove insignia related RemoveFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_SKINNABLE); - // setting new speed- /*if (getRace() == RACE_NIGHTELF)- {- SetSpeed(MOVE_RUN, 1.5f*1.2f, true);- SetSpeed(MOVE_SWIM, 1.5f*1.2f, true);- }- else- {- SetSpeed(MOVE_RUN, 1.5f, true);- SetSpeed(MOVE_SWIM, 1.5f, true);- }*/- //! corpse reclaim delay 30 * 1000ms WorldPacket data(SMSG_CORPSE_RECLAIM_DELAY, 4); data << (uint32)(CORPSE_RECLAIM_DELAY*1000);@@ -3475,32 +3461,11 @@ if(corpse) corpse->ResetGhostTime(); - data.Initialize(SMSG_UPDATE_AURA_DURATION, 5); // last check 2.0.10- data << uint8(0x28) << uint32(0);- GetSession()->SendPacket( &data );- StopMirrorTimers(); //disable timers(bars) - //SetUInt32Value(UNIT_FIELD_AURA + 32, 8326); // set ghost form- //SetUInt32Value(UNIT_FIELD_AURA + 33, 20584); //!dono+ SetFloatValue(UNIT_FIELD_BOUNDINGRADIUS, (float)1.0); //see radius of death player? - //SetUInt32Value(UNIT_FIELD_AURAFLAGS + 4, 0xEE);-- //SetUInt32Value(UNIT_FIELD_AURASTATE, 0x02);-- SetFloatValue(UNIT_FIELD_BOUNDINGRADIUS,(float)1.0); //see radius of death player?- SetUInt32Value(UNIT_FIELD_BYTES_1, PLAYER_STATE_FLAG_ALWAYS_STAND);-- //if (getRace() == RACE_NIGHTELF)- // SetUInt32Value(UNIT_FIELD_DISPLAYID, 1825);-- // set initial flags + set ghost + restore pvp- //SetUInt32Value(UNIT_FIELD_FLAGS, UNIT_FLAG_NONE | UNIT_FLAG_UNKNOWN1 | (HasFlag(UNIT_FIELD_FLAGS, UNIT_FLAG_PVP)?UNIT_FLAG_PVP:0) );-- // reserve some flags + ad ghost flag- //uint32 old_safe_flags = GetUInt32Value(PLAYER_FLAGS) & ( PLAYER_FLAGS_IN_PVP | PLAYER_FLAGS_HIDE_CLOAK | PLAYER_FLAGS_HIDE_HELM );- //SetUInt32Value(PLAYER_FLAGS, old_safe_flags | PLAYER_FLAGS_GHOST ); } void Player::SendDelayResponse(const uint32 ml_seconds)@@ -3523,7 +3488,6 @@ // speed change, land walk // remove death flag + set aura- //RemoveFlag(PLAYER_FLAGS, PLAYER_FLAGS_GHOST); RemoveFlag(UNIT_FIELD_BYTES_1, PLAYER_STATE_FLAG_ALL); if(getRace() == RACE_NIGHTELF) RemoveAurasDueToSpell(20584); // speed bonuses@@ -3534,22 +3498,6 @@ SetMovement(MOVE_LAND_WALK); SetMovement(MOVE_UNROOT); - //SetSpeed(MOVE_RUN, 1.0f, true);- //SetSpeed(MOVE_SWIM, 1.0f, true);-- //SetUInt32Value(CONTAINER_FIELD_SLOT_1+29, 0);-- //SetUInt32Value(UNIT_FIELD_AURA+32, 0);- //SetUInt32Value(UNIT_FIELD_AURALEVELS+8, 0xeeeeeeee);- //SetUInt32Value(UNIT_FIELD_AURAAPPLICATIONS+8, 0xeeeeeeee);- //SetUInt32Value(UNIT_FIELD_AURAFLAGS+4, 0);- //SetUInt32Value(UNIT_FIELD_AURASTATE, 0);-- //if(getRace() == RACE_NIGHTELF)- //{- // DeMorph();- //}- m_deathTimer = 0; // set health/powers (0- will be set in caller)@@ -8072,7 +8020,7 @@ return false; } -bool Player::HasItemCount( uint32 item, uint32 count,bool inBankAlso ) const+bool Player::HasItemCount( uint32 item, uint32 count, bool inBankAlso ) const { uint32 tempcount = 0; for(int i = EQUIPMENT_SLOT_START; i < INVENTORY_SLOT_ITEM_END; i++)@@ -8114,7 +8062,7 @@ } } }- + if(inBankAlso) { for(int i = BANK_SLOT_ITEM_START; i < BANK_SLOT_ITEM_END; i++)@@ -9146,7 +9094,6 @@ } } - for(int i = BANK_SLOT_BAG_START; i < BANK_SLOT_BAG_END; i++) { res = _CanStoreItem_InBag(i,dest,pProto,count,true,true,pItem,bag,slot);@@ -10090,7 +10037,6 @@ SendEquipError( msg, pSrcItem, pDstItem ); return; }- } // prevent put equipped/bank bag in self@@ -16168,7 +16114,6 @@ learnSpell(tspell); } }- } void Player::learnQuestRewardedSpells()Index: src/game/Player.h===================================================================--- src/game/Player.h (revision 5631)+++ src/game/Player.h (working copy)@@ -444,7 +444,6 @@ PLAYER_FIELD_BYTE2_INVISIBILITY_GLOW = 0x1000 }; - enum ActivateTaxiReplies { ERR_TAXIOK = 0,@@ -1356,7 +1355,6 @@ void learnDefaultSpells(bool loading = false); void learnQuestRewardedSpells(); - uint32 GetFreeTalentPoints() const { return GetUInt32Value(PLAYER_CHARACTER_POINTS1); } void SetFreeTalentPoints(uint32 points) { SetUInt32Value(PLAYER_CHARACTER_POINTS1,points); } bool resetTalents(bool no_cost = false);Index: src/game/Spell.cpp===================================================================--- src/game/Spell.cpp (revision 5631)+++ src/game/Spell.cpp (working copy)@@ -211,6 +211,8 @@ void SpellCastTargets::write ( WorldPacket * data, bool forceAppend) {+ *data << uint16(m_targetMask);+ uint32 len = data->size(); if(m_targetMask & TARGET_FLAG_UNIT)@@ -2420,8 +2422,7 @@ data << uint16(castFlags); data << uint32(m_timer); - data << uint16(m_targets.m_targetMask);- m_targets.write( &data );+ m_targets.write(&data); if( castFlags & CAST_FLAG_AMMO ) WriteAmmoToPacket(&data);@@ -2457,11 +2458,12 @@ data << uint32(m_spellInfo->Id); data << uint16(castFlags);+ WriteSpellGoTargets(&data);- data << m_targets.m_targetMask;- m_targets.write( &data, true ); - if( castFlags & CAST_FLAG_AMMO )+ m_targets.write(&data, true);++ if( m_castFlags & CAST_FLAG_AMMO ) WriteAmmoToPacket(&data); m_caster->SendMessageToSet(&data, true);@@ -2526,11 +2528,7 @@ void Spell::SendLogExecute() {- Unit * target;- if(!m_targets.getUnitTarget())- target = m_caster;- else- target = m_targets.getUnitTarget();+ Unit *target = m_targets.getUnitTarget() ? m_targets.getUnitTarget() : m_caster; WorldPacket data(SMSG_SPELLLOGEXECUTE, (8+4+4+4+4+8)); Index: src/game/SpellAuras.cpp===================================================================--- src/game/SpellAuras.cpp (revision 5631)+++ src/game/SpellAuras.cpp (working copy)@@ -1773,7 +1773,7 @@ m_target->setPowerType(POWER_MANA); m_target->m_ShapeShiftForm = 0; m_target->m_form = 0;- + switch(m_modifier.m_miscvalue) { // Nordrassil Harness - bonusIndex: src/game/SpellEffects.cpp===================================================================--- src/game/SpellEffects.cpp (revision 5631)+++ src/game/SpellEffects.cpp (working copy)@@ -3315,12 +3315,7 @@ NewSummon->SetName(new_name); } else if(NewSummon->getPetType()==HUNTER_PET)- {- // this enables popup window (pet details, abandon, rename)- //NewSummon->SetFlag(UNIT_FIELD_FLAGS,(UNIT_FLAG_RESTING | UNIT_FLAG_RENAME)); // changed in 2.0.8?- // check it! NewSummon->SetUInt32Value(UNIT_FIELD_BYTES_2, uint32(2 << 16));- } NewSummon->AIM_Initialize(); NewSummon->SetHealth(NewSummon->GetMaxHealth());@@ -3994,7 +3989,7 @@ // found, remove seal m_caster->RemoveAurasDueToSpell((*itr)->GetId());- + // Sanctified Judgement Unit::AuraList const& m_auras = m_caster->GetAurasByType(SPELL_AURA_DUMMY); for(Unit::AuraList::const_iterator i = m_auras.begin(); i != m_auras.end(); ++i)Index: src/game/SpellMgr.cpp===================================================================--- src/game/SpellMgr.cpp (revision 5631)+++ src/game/SpellMgr.cpp (working copy)@@ -535,7 +535,7 @@ break; case SPELL_ELEMENTAL_SHIELD: // only Earth shield- if( IsElementalShield(spellInfo2) && + if( IsElementalShield(spellInfo2) && spellInfo1->SpellFamilyFlags & 0x40000000000LL && spellInfo2->SpellFamilyFlags & 0x40000000000LL ) return true;Index: src/game/TaxiHandler.cpp===================================================================--- src/game/TaxiHandler.cpp (revision 5631)+++ src/game/TaxiHandler.cpp (working copy)@@ -305,11 +305,11 @@ void WorldSession::SendPath(Path const& path, uint32 start, uint32 end) {- uint32 traveltime = uint32(path.GetTotalLength(start,end) * 32);+ uint32 traveltime = uint32(path.GetTotalLength(start, end) * 32); uint32 pathSize = end-start; - WorldPacket data( SMSG_MONSTER_MOVE, (8+4+4+4+4+1+4+4+4+pathSize*4*3) );+ WorldPacket data( SMSG_MONSTER_MOVE, (_player->GetPackGUID().size()+4+4+4+4+1+4+4+4+pathSize*4*3) ); data.append(GetPlayer()->GetPackGUID()); data << GetPlayer( )->GetPositionX( ) << GetPlayer( )->GetPositionY( )Index: src/game/ThreatManager.h===================================================================--- src/game/ThreatManager.h (revision 5631)+++ src/game/ThreatManager.h (working copy)@@ -40,7 +40,6 @@ { public: static float calcThreat(Unit* pHatedUnit, Unit* pHatingUnit, float threat, SpellSchools school = SPELL_SCHOOL_NORMAL, SpellEntry const *threatSpell = NULL);- }; //==============================================================Index: src/game/Unit.cpp===================================================================--- src/game/Unit.cpp (revision 5631)+++ src/game/Unit.cpp (working copy)@@ -450,7 +450,7 @@ RemoveSpellsCausingAura(SPELL_AURA_MOD_INVISIBILITY); if(pVictim->GetTypeId() == TYPEID_PLAYER && !pVictim->IsStandState() && !pVictim->hasUnitState(UNIT_STAT_STUNDED))- pVictim->SetStandState(PLAYER_STATE_NONE); + pVictim->SetStandState(PLAYER_STATE_NONE); } //Script Event damage Deal@@ -1821,7 +1821,6 @@ AuraList const& vOverRideCS = caster->GetAurasByType(SPELL_AURA_OVERRIDE_CLASS_SCRIPTS); for(AuraList::const_iterator k = vOverRideCS.begin(); k != vOverRideCS.end(); ++k) {- switch((*k)->GetModifier()->m_miscvalue) { case 5065: // Rank 1@@ -3950,7 +3949,6 @@ if(!is_triggered_by_spell) {- SpellSpecific i_spellId_spec = GetSpellSpecific(i_spellId); bool is_sspc = IsSingleFromSpellSpecificPerCaster(spellId_spec,i_spellId_spec);@@ -4376,7 +4374,7 @@ data.append(GetPackGUID()); data << uint32(SpellID); data << uint32(Damage-AbsorbedDamage-Resist-Blocked);- data << uint8(DamageType); // damagetype+ data << uint8(DamageType); // spell school data << uint32(AbsorbedDamage); // AbsorbedDamage data << uint32(Resist); // resist data << uint8(PhysicalDamage);Index: src/game/Unit.h===================================================================--- src/game/Unit.h (revision 5631)+++ src/game/Unit.h (working copy)@@ -658,22 +658,22 @@ void CombatStop() { AttackStop(); RemoveAllAttackers(); ClearInCombat(); } Unit* SelectNearbyTarget() const; - void addUnitState(uint32 f) { m_state |= f; };+ void addUnitState(uint32 f) { m_state |= f; } bool hasUnitState(const uint32 f) const { return (m_state & f); }- void clearUnitState(uint32 f) { m_state &= ~f; };+ void clearUnitState(uint32 f) { m_state &= ~f; } bool CanFreeMove() const { return !hasUnitState(UNIT_STAT_CONFUSED | UNIT_STAT_FLEEING | UNIT_STAT_IN_FLIGHT | UNIT_STAT_ROOT | UNIT_STAT_STUNDED ) && GetOwnerGUID()==0; } - uint32 getLevel() const { return GetUInt32Value(UNIT_FIELD_LEVEL); };+ uint32 getLevel() const { return GetUInt32Value(UNIT_FIELD_LEVEL); } void SetLevel(uint32 lvl);- uint8 getRace() const { return (uint8)(GetUInt32Value(UNIT_FIELD_BYTES_0) & 0xFF); };- uint32 getRaceMask() const { return 1 << (getRace()-1); };- uint8 getClass() const { return (uint8)((GetUInt32Value(UNIT_FIELD_BYTES_0) >> 8) & 0xFF); };- uint32 getClassMask() const { return 1 << (getClass()-1); };- uint8 getGender() const { return (uint8)((GetUInt32Value(UNIT_FIELD_BYTES_0) >> 16) & 0xFF); };+ uint8 getRace() const { return (uint8)(GetUInt32Value(UNIT_FIELD_BYTES_0) & 0xFF); }+ uint32 getRaceMask() const { return 1 << (getRace()-1); }+ uint8 getClass() const { return (uint8)((GetUInt32Value(UNIT_FIELD_BYTES_0) >> 8) & 0xFF); }+ uint32 getClassMask() const { return 1 << (getClass()-1); }+ uint8 getGender() const { return (uint8)((GetUInt32Value(UNIT_FIELD_BYTES_0) >> 16) & 0xFF); } float GetStat(Stats stat) const { return float(GetUInt32Value(UNIT_FIELD_STAT0+stat)); } void SetStat(Stats stat, int32 val) { SetStatInt32Value(UNIT_FIELD_STAT0+stat, val); }@@ -689,7 +689,7 @@ void SetMaxHealth(uint32 val); int32 ModifyHealth(int32 val); - Powers getPowerType() const { return Powers((GetUInt32Value(UNIT_FIELD_BYTES_0) >> 24) & 0xFF); };+ Powers getPowerType() const { return Powers((GetUInt32Value(UNIT_FIELD_BYTES_0) >> 24) & 0xFF); } void setPowerType(Powers power); uint32 GetPower( Powers power) const { return GetUInt32Value(UNIT_FIELD_POWER1 +power); } uint32 GetMaxPower(Powers power) const { return GetUInt32Value(UNIT_FIELD_MAXPOWER1+power); }@@ -721,7 +721,7 @@ return (creatureType >= 1) ? (1 << (creatureType - 1)) : 0; } - uint8 getStandState() const { return (uint8)(GetUInt32Value(UNIT_FIELD_BYTES_1) & 0xFF); };+ uint8 getStandState() const { return (uint8)(GetUInt32Value(UNIT_FIELD_BYTES_1) & 0xFF); } bool IsStandState() const; void SetStandState(uint8 state); Index: src/game/World.cpp===================================================================--- src/game/World.cpp (revision 5631)+++ src/game/World.cpp (working copy)@@ -1465,7 +1465,6 @@ if(target && target->isType(TYPE_GAMEOBJECT) && ((GameObject*)target)->GetGoType()==GAMEOBJECT_TYPE_BUTTON) ((GameObject*)target)->UseDoorOrButton(time_to_close);- break; } case SCRIPT_COMMAND_CLOSE_DOOR:Index: win/VC71/game.vcproj===================================================================--- win/VC71/game.vcproj (revision 5631)+++ win/VC71/game.vcproj (working copy)@@ -787,12 +787,10 @@ RelativePath="..\..\src\game\Language.h"> </File> <File- RelativePath="..\..\src\game\PlayerDump.cpp"- >+ RelativePath="..\..\src\game\PlayerDump.cpp"> </File> <File- RelativePath="..\..\src\game\PlayerDump.h"- >+ RelativePath="..\..\src\game\PlayerDump.h"> </File> <File RelativePath="..\..\src\game\tools.cpp">