Index: Language.h =================================================================== --- Language.h (revision 3507) +++ Language.h (working copy) @@ -260,6 +260,7 @@ #define LANG_INVALID_SKILL_ID "Invalid skill id (%u)" #define LANG_LEARNING_GM_SKILLS "%s - Learning default GM spells/skills." +#define LANG_LEARNING_PROFESSIONS "%s - Learning all Profession Trainer Spells." #define LANG_KNOWN_SPELL "You already know that spell." #define LANG_UNKNOWN_SPELL "%s don't know that spell." #define LANG_FORGET_SPELL "You already forget that spell." Index: Level3.cpp =================================================================== --- Level3.cpp (revision 3507) +++ Level3.cpp (working copy) @@ -262,7 +262,6 @@ SelectedPlayer->UpdateSkillsToMaxSkillsForLevel(); return true; } - bool ChatHandler::HandleSetSkillCommand(const char* args) { if (!*args) @@ -699,7 +698,6 @@ "8153", "9033", "9034", - //"9036", problems with ghost state "16421", "21653", "22660", @@ -708,7 +706,6 @@ "2426", "5916", "6634", - //"6718", phasing stealth, annoing for learn all case. "6719", "8822", "9591", @@ -951,6 +948,36 @@ return true; } + if (!strcmp(args, "all_prof")) + { + PSendSysMessage(LANG_LEARNING_PROFESSIONS, m_session->GetPlayer()->GetName()); + for (uint32 i = 0; i < sSpellStore.GetNumRows(); i++) + { + ObjectMgr::SpellLearnSkillNode const* node = objmgr.GetSpellLearnSkill(i); + if(node && + (node->skill==SKILL_BLACKSMITHING || + node->skill==SKILL_LEATHERWORKING || + node->skill==SKILL_ALCHEMY || + node->skill==SKILL_FIRST_AID || + node->skill==SKILL_HERBALISM || + node->skill==SKILL_COOKING || + node->skill==SKILL_MINING || + node->skill==SKILL_TAILORING || + node->skill==SKILL_ENGINERING || + node->skill==SKILL_ENCHANTING || + node->skill==SKILL_FISHING || + node->skill==SKILL_SKINNING || + node->skill==SKILL_JEWELCRAFTING || + node->skill==SKILL_RIDING || + node->skill==SKILL_LOCKPICKING)) + { + m_session->GetPlayer()->learnSpell(i); + } + } + + return true; + } + if (!strcmp(args, "all_myclass")) { PSendSysMessage(LANG_COMMAND_LEARNINGSPSK, m_session->GetPlayer()->GetName());