well what i did is limit the amount level diff in a group in the do_group call: ideas on this are much appreciated: int perform_group(struct char_data *ch, struct char_data *vict) { if (IS_AFFECTED(vict, AFF_GROUP) || !CAN_SEE(ch, vict)) return 0; if (GET_LEVEL(vict) < (GET_LEVEL(ch)/2)) { // If level one then level 6 ppl can help if (GET_LEVEL(vict) == 1) { if (GET_LEVEL(ch) > 6) return 0; SET_BIT(AFF_FLAGS(vict), AFF_GROUP); if (ch != vict) act("$N is now a member of your group.", FALSE, ch, 0, vict, TO_CHAR); act("You are now a member of $n's group.", FALSE, ch, 0, vict, TO_VICT); act("$N is now a member of $n's group.", FALSE, ch, 0, vict, TO_NOTVICT); return 1; } // End if level = 1 act("$N is too low a level to group with you.", FALSE, ch, 0, vict, TO_CHAR act("You cannot group with $n due to experience differences.", FALSE, ch, 0 return 0; } // End if vict = 1/2 leader if (GET_LEVEL(vict) > (GET_LEVEL(ch)*2)) { // If level one then level 6 ppl can help if (GET_LEVEL(vict) == 1) { if (GET_LEVEL(ch) > 6) return 0; SET_BIT(AFF_FLAGS(vict), AFF_GROUP); if (ch != vict) act("$N is now a member of your group.", FALSE, ch, 0, vict, TO_CHAR); act("You are now a member of $n's group.", FALSE, ch, 0, vict, TO_VICT); act("$N is now a member of $n's group.", FALSE, ch, 0, vict, TO_NOTVICT); return 1; } // End if level = 1 act("$N is too HIGH a level to group with you.", FALSE, ch, 0, vict, TO_CHA act("You cannot group with $n due to experience differences.", FALSE, ch, 0 return 0; } // vict = 2*leader // 15.12.96 SET_BIT(AFF_FLAGS(vict), AFF_GROUP); if (ch != vict) act("$N is now a member of your group.", FALSE, ch, 0, vict, TO_CHAR); act("You are now a member of $n's group.", FALSE, ch, 0, vict, TO_VICT); act("$N is now a member of $n's group.", FALSE, ch, 0, vict, TO_NOTVICT); return 1; } hope this wasnt too long. and hope it helped. Lemme know if anyone has a better system *-=-=-=-=-=-=-=* w0nderful *-=-* w0rld *-=-* 0f *-=-* wart *-=-=-=-=-* hartman@kuntrynet.com wart@trilidun.kuntrynet.com http://trilidun.kuntrynet.com Eudaemonia Mud: mud.kuntrynet.com Port 4000 On Mon, 1 Jan 1990, Raf wrote: > Well... > XP runs for newbies. This seems to me like 'cheating' the mud system, > as a newbie could get up to 50 levels with one kill, if in a high > level group. Instant super chars. So, my idea is to have a maxgain > every level. Eg, a level one player would have a maxgain of 200, lev > two maxgain 2999, lev 50 maxgain 300k. > Not much use killing Zeus and getting 200 xp at level one is it? > This, I feel, would stop these xp runs, which would be better for the > mud in general. > > Suggestions anyone? > > =-=-=-=-=-=-=-=-=-==-=-=-=-=-=-=-==-=-=-=-=-==-=-= > Raf > "If there is nothing wrong with me, maybe something > is wrong with the universe" > http://www.geocities.com/SiliconValley/Park/1592 > -=-=-=-==-=-==-=-=-=-=-=-==-=-=-==-=-=--=-=-==-=-= > +-----------------------------------------------------------+ > | Ensure that you have read the CircleMUD Mailing List FAQ: | > | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | > +-----------------------------------------------------------+ > +-----------------------------------------------------------+ | Ensure that you have read the CircleMUD Mailing List FAQ: | | http://cspo.queensu.ca/~fletcher/Circle/list_faq.html | +-----------------------------------------------------------+
This archive was generated by hypermail 2b30 : 12/18/00 PST