Re: [NEWBIE]Innate Racial Skills

From: Brian Hartvigsen (hartvigsen@gci.net)
Date: 12/21/99


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