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