Changeset 262 for trunk/src/game/CharacterHandler.cpp
- Timestamp:
- 11/21/08 08:48:19 (17 years ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/game/CharacterHandler.cpp
r230 r262 11 11 * This program is distributed in the hope that it will be useful, 12 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 14 * GNU General Public License for more details. 15 15 * 16 16 * You should have received a copy of the GNU General Public License 17 17 * along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307USA18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 19 19 */ 20 20 … … 65 65 res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADGROUP, "SELECT leaderGuid FROM group_member WHERE memberGuid ='%u'", GUID_LOPART(m_guid)); 66 66 res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADBOUNDINSTANCES, "SELECT id, permanent, map, difficulty, resettime FROM character_instance LEFT JOIN instance ON instance = id WHERE guid = '%u'", GUID_LOPART(m_guid)); 67 res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADAURAS, "SELECT caster_guid,spell,effect_index, amount,maxduration,remaintime,remaincharges FROM character_aura WHERE guid = '%u'", GUID_LOPART(m_guid));67 res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADAURAS, "SELECT caster_guid,spell,effect_index,stackcount,amount,maxduration,remaintime,remaincharges FROM character_aura WHERE guid = '%u'", GUID_LOPART(m_guid)); 68 68 res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADSPELLS, "SELECT spell,slot,active,disabled FROM character_spell WHERE guid = '%u'", GUID_LOPART(m_guid)); 69 69 res &= SetPQuery(PLAYER_LOGIN_QUERY_LOADQUESTSTATUS, "SELECT quest,status,rewarded,explored,timer,mobcount1,mobcount2,mobcount3,mobcount4,itemcount1,itemcount2,itemcount3,itemcount4 FROM character_queststatus WHERE guid = '%u'", GUID_LOPART(m_guid)); … … 181 181 std::string name; 182 182 uint8 race_,class_; 183 183 184 recv_data >> name; 184 185 … … 215 216 ChrClassesEntry const* classEntry = sChrClassesStore.LookupEntry(class_); 216 217 ChrRacesEntry const* raceEntry = sChrRacesStore.LookupEntry(race_); 218 217 219 if( !classEntry || !raceEntry ) 218 220 { … … 608 610 } 609 611 610 if (! MapManager::Instance().GetMap(pCurrChar->GetMapId(), pCurrChar)->Add(pCurrChar))612 if (!pCurrChar->GetMap()->Add(pCurrChar)) 611 613 { 612 614 AreaTrigger const* at = objmgr.GetGoBackTrigger(pCurrChar->GetMapId()); … … 1000 1002 uint64 guid; 1001 1003 1002 CHECK_PACKET_SIZE(recv_data, 8 +6);1004 CHECK_PACKET_SIZE(recv_data, 8); 1003 1005 recv_data >> guid; 1004 1006 1005 1007 // not accept declined names for unsupported languages 1006 1008 std::string name; 1007 if(!objmgr.GetPlayerNameByGUID(guid, name))1008 { 1009 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8);1010 data << (uint32)1;1011 data << guid;1009 if(!objmgr.GetPlayerNameByGUID(guid, name)) 1010 { 1011 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8); 1012 data << uint32(1); 1013 data << uint64(guid); 1012 1014 SendPacket(&data); 1013 1015 return; … … 1015 1017 1016 1018 std::wstring wname; 1017 if(!Utf8toWStr(name, wname))1018 { 1019 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8);1020 data << (uint32)1;1021 data << guid;1019 if(!Utf8toWStr(name, wname)) 1020 { 1021 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8); 1022 data << uint32(1); 1023 data << uint64(guid); 1022 1024 SendPacket(&data); 1023 1025 return; … … 1026 1028 if(!isCyrillicCharacter(wname[0])) // name already stored as only single alphabet using 1027 1029 { 1028 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8);1029 data << (uint32)1;1030 data << guid;1030 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8); 1031 data << uint32(1); 1032 data << uint64(guid); 1031 1033 SendPacket(&data); 1032 1034 return; … … 1036 1038 DeclinedName declinedname; 1037 1039 1040 CHECK_PACKET_SIZE(recv_data, recv_data.rpos() + 1); 1038 1041 recv_data >> name2; 1039 1042 1040 if(name2 !=name)// character have different name1041 { 1042 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8);1043 data << (uint32)1;1044 data << guid;1043 if(name2 != name) // character have different name 1044 { 1045 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8); 1046 data << uint32(1); 1047 data << uint64(guid); 1045 1048 SendPacket(&data); 1046 1049 return; … … 1049 1052 for(int i = 0; i < MAX_DECLINED_NAME_CASES; ++i) 1050 1053 { 1054 CHECK_PACKET_SIZE(recv_data, recv_data.rpos() + 1); 1051 1055 recv_data >> declinedname.name[i]; 1052 1056 if(!normalizePlayerName(declinedname.name[i])) 1053 1057 { 1054 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8);1055 data << (uint32)1;1056 data << guid;1058 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8); 1059 data << uint32(1); 1060 data << uint64(guid); 1057 1061 SendPacket(&data); 1058 1062 return; … … 1060 1064 } 1061 1065 1062 if(!ObjectMgr::CheckDeclinedNames(GetMainPartOfName(wname, 0),declinedname))1063 { 1064 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8);1065 data << (uint32)1;1066 data << guid;1066 if(!ObjectMgr::CheckDeclinedNames(GetMainPartOfName(wname, 0), declinedname)) 1067 { 1068 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8); 1069 data << uint32(1); 1070 data << uint64(guid); 1067 1071 SendPacket(&data); 1068 1072 return; … … 1075 1079 CharacterDatabase.PExecute("DELETE FROM character_declinedname WHERE guid = '%u'", GUID_LOPART(guid)); 1076 1080 CharacterDatabase.PExecute("INSERT INTO character_declinedname (guid, genitive, dative, accusative, instrumental, prepositional) VALUES ('%u','%s','%s','%s','%s','%s')", 1077 GUID_LOPART(guid), declinedname.name[0].c_str(), declinedname.name[1].c_str(),declinedname.name[2].c_str(),declinedname.name[3].c_str(),declinedname.name[4].c_str());1081 GUID_LOPART(guid), declinedname.name[0].c_str(), declinedname.name[1].c_str(), declinedname.name[2].c_str(), declinedname.name[3].c_str(), declinedname.name[4].c_str()); 1078 1082 CharacterDatabase.CommitTransaction(); 1079 1083 1080 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8);1081 data << (uint32)0; // OK1082 data << guid;1084 WorldPacket data(SMSG_SET_PLAYER_DECLINED_NAMES_RESULT, 4+8); 1085 data << uint32(0); // OK 1086 data << uint64(guid); 1083 1087 SendPacket(&data); 1084 1088 }