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