Re: [Code]More race help

From: Del (caminturn@earthlink.net)
Date: 07/28/00


If you follow comments below, what does set_race do?

And your missing break;'s


Steven Newsom wrote:
>
> I switched th order around at chracter creation(so you choose class then
> race)and made a different menu for each of the classes. It works good till it
> gets to the races
> then it always automatically picks human as a race.  Can anyone tell me whats
> wrong with this code??
>    Thnaks
>

I glanced at this and tried to follow the code: (see comments)



> In interpreter.c
>
>  case CON_QSEX:                /* query sex of new user         */
>     switch (*arg) {
>     case 'm':
>     case 'M':
>       d->character->player.sex = SEX_MALE;
>       break;
>     case 'f':
>     case 'F':

** This is preset to female?

>       break;
>     default:
>       SEND_TO_Q("That is not a sex..\r\n"
>                 "What IS your sex? ", d);
>       return;
>     }
>

send the menu and parse results

>     SEND_TO_Q(class_menu, d);
>         SEND_TO_Q("Class: ", d);
>         STATE(d) = CON_QCLASS;
>         break;
>

Ok.. we jump down to CON_QCLASS


<returning back up here from below, Since you say human always shows up>
<I say Elf (since thats the only other possible choice>

>   case CON_QCLERIC:
>     load_result = parse_race(*arg);
>     if (load_result == RACE_UNDEFINED) {
>       SEND_TO_Q("\r\nThat's not a race.\r\nRace: ", d);
>       return;
>     } else
>       set_race(d->character, load_result);

** Ok it should be Elf (E), what does set_race do??

**********************************************************************
You do not have a break or return here.. it continues on to next case.

**********************************************************************

>
>   case CON_QWARRIOR:
>     load_result = parse_race(*arg);
>     if (load_result == RACE_UNDEFINED) {
>       SEND_TO_Q("\r\nThat's not a race.\r\nRace: ", d);
>       return;
>     } else
>       set_race(d->character, load_result);
>
>   case CON_QMAGICUSER:
>     load_result = parse_race(*arg);
>     if (load_result == RACE_UNDEFINED) {
>       return;
>     } else
>       set_race(d->character, load_result);
>


parsed the response here.. lets try cleric.


>   case CON_QCLASS:
>     load_result = parse_class(*arg);

cleric

>     if (load_result == CLASS_UNDEFINED) {
>       SEND_TO_Q("\r\nThat's not a class.\r\nClass: ", d);
>       return;
>     } else
>       GET_CLASS(d->character) = load_result;

ok we be cleric

>
>     switch (*arg) {
>     case 'c':
>     case 'C':
>     SEND_TO_Q(cleric_menu, d);
>     SEND_TO_Q("Race:", d);
>     STATE(d) = CON_QCLERIC;
>     break;

ok, send the cleric menu and parse, skipping to CON_QCLERIC

>     case 't':
>     case 'T':

<snip>

>     break;
>     }
>
> in race.c
>
> /* New Race by class Menu by the Great Eternity:) */
> const char *cleric_menu =
> "\r\n"
> "Select a race for your Cleric:\r\n"
> "[H]uman  [E]lf\r\n";
>


     +------------------------------------------------------------+
     | 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 : 04/10/01 PDT