QueryResult * result2 = sDatabase.Query("SELECT reset FROM characters WHERE guid = %u", guid); if(!result2) return false; Field * fields2 = result2->Fetch(); if(fields2[0].GetUInt8() > 0) { Reset_Spells(); for(uint32 i = PLAYER_SKILL_INFO_1_1; i < PLAYER_CHARACTER_POINTS1; ++i) SetUInt32Value(i, 0); // Load skills from create info. PlayerCreateInfo * info = objmgr.GetPlayerCreateInfo(getRace(), getClass()); if(!info) return false; for(std::list::iterator ss = info->skills.begin(); ss!=info->skills.end(); ss++) { if(ss->skillid && ss->currentval && ss->maxval) AddSkillLine(ss->skillid, ss->currentval, ss->maxval); } //Chances depend on stats must be in this order! UpdateStats(); UpdateChances(); sDatabase.Query("UPDATE characters SET reset = 0 WHERE guid = %u", guid); } delete fields2;