The problem with this is it checks BASED ON THE Class! if ((GET_LEVEL(ch) >= spell_info[i].min_level[(int) GET_CLASS(ch)]) This sets it so if the skill is NOT assigned to THAT class it won't show. I tried what you said to make it work before with no luck.. The problem I'm having is it ALWAYS checks the class and I can't find anyway around that right now.. Brian > class.c: > > Search for: > void do_start(struct char_data * ch) > switch (GET_RACE(ch)) { > > case RACE_WOLVERINE: > SET_SKILL(ch, SKILL_CLAW, 10); > break; > /* Add more races here */ > } > In spec_procs.c: > Change void list_skills to this one: > > void list_skills(struct char_data * ch) > { > int i, sortpos; > > if (!GET_PRACTICES(ch)) > strcpy(buf, "You have no practice sessions remaining.\r\n"); > else > sprintf(buf, "You have %d practice session%s remaining.\r\n", > GET_PRACTICES(ch), (GET_PRACTICES(ch) == 1 ? "" : "s")); > > sprintf(buf + strlen(buf), "You know of the following %ss:\r\n", > SPLSKL(ch)); > > strcpy(buf2, buf); > > for (sortpos = 1; sortpos < MAX_SKILLS; sortpos++) { > i = spell_sort_info[sortpos]; > if (strlen(buf2) >= MAX_STRING_LENGTH - 32) { > strcat(buf2, "**OVERFLOW**\r\n"); > break; > } > if ((GET_LEVEL(ch) >= spell_info[i].min_level[(int) GET_CLASS(ch)]) || > ((GET_SKILL(ch, i) > 0) && (GET_LEVEL(ch) < LVL_GOD))) { > sprintf(buf, "%-20s %s\r\n", spells[i], how_good(GET_SKILL(ch, i))); > strcat(buf2, buf); > } > } > > page_string(ch->desc, buf2, 1); > } +------------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html | +------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/15/00 PST