This will prevent High levels power leveling newbies to an extent
Just change your group gain to the following below.
This will divide the expierince of a mob up to the total level
of the group then give the total exp of the monster back to the
group members based on their levels.
void group_gain(struct char_data *ch, struct char_data *victim)
{
int tot_members, base, tlev=0;
struct char_data *k;
struct follow_type *f;
if (!(k = ch->master))
k = ch;
if (AFF_FLAGGED(k, AFF_GROUP) && (IN_ROOM(k) == IN_ROOM(ch))) {
tot_members = 1;
/*Sets The Level For The Master*/
tlev += GET_LEVEL(k);
}
else
tot_members = 0;
for (f = k->followers; f; f = f->next)
if (AFF_FLAGGED(f->follower, AFF_GROUP) && IN_ROOM(f->follower)
== IN_ROOM(ch)) {
/*Sets The Levels For The Follwers*/
tlev += GET_LEVEL(f->follower);
tot_members++;
}
if (tot_members >= 1)
base = (GET_EXP(victim) / tlev) ;
else
base = GET_EXP(victim);
if (AFF_FLAGGED(k, AFF_GROUP) && IN_ROOM(k) == IN_ROOM(ch))
perform_group_gain(k, base * GET_LEVEL(k), victim);
for (f = k->followers; f; f = f->next)
if (AFF_FLAGGED(f->follower, AFF_GROUP) && IN_ROOM(f->follower) ==
IN_ROOM(ch))
perform_group_gain(f->follower, base * GET_LEVEL(f->follower),
victim);
}
--
+---------------------------------------------------------------+
| FAQ: http://qsilver.queensu.ca/~fletchra/Circle/list-faq.html |
| Archives: http://post.queensu.ca/listserv/wwwarch/circle.html |
| Newbie List: http://groups.yahoo.com/group/circle-newbies/ |
+---------------------------------------------------------------+
This archive was generated by hypermail 2b30 : 06/26/03 PDT