Re: gaining levels by guildmaster

From: Chuck Reed (master@I-55.COM)
Date: 11/04/98


>>hi, let me know if i'm wrong about this but does circlemud gains a
>>person's level automatically as soon as he reaches the exp he needs?
>>if so, are there any codes out there that i can patch so that you have to
>>go to the guildmaster to gain a level? hopefully, this is so that let's
>>say a level 1-6 can gain in thier local town guildmasters... but as they
>>go higher, you need to visit other guildmasters to gain...

In limits.c, remove the code that advances the player to the next level
when they get enough experience.
This lets them simple gain and gain away until they go to a guild and do
something about it.

Now, for making the seperate guildmasters . . . .  Go to spec_procs.c and
write special procedures for it.
I won't write the whole darn thing for you, but this is the basic idea:

SPECIAL(lower_guildmaster)
{
  struct char_data *guildmaster = (struct char_data *) me;

  if(GET_LEVEL(ch) > (put level they have to stop going here)) {
    act("$N says, 'I can no longer be of service to you $n.'", FALSE, ch,
0, guildmaster, TO_CHAR);
    return TRUE;
   }

  if(CMD_IS("gain")) && titles[(int) GET_CLASS(ch)] [GET_LEVEL(ch) + 1] <
GET_EXP(ch)) {
    act("$N shouts, 'Congradulations $n!  You have gained a level!'",
FALSE, ch, 0, guildmaster, TO_CHAR);
    act("$N shouts, 'Congradulations $n!  You have gained a level!'",
FALSE, ch, 0, guildmaster, TO_ROOM);
    advance_level(ch);
    return TRUE;
   }
 return FALSE;
}

SPECIAL(upper_guildmaster)
{
 /* same code without the level restrictions */
}

Hope this gives you an idea of how to do it.

Chuck


     +------------------------------------------------------------+
     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     | http://democracy.queensu.ca/~fletcher/Circle/list-faq.html |
     +------------------------------------------------------------+



This archive was generated by hypermail 2b30 : 12/15/00 PST