Crossfire Archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: CF: party system



Mark Wedel wrote:
>  Sharing experience for a shared task might be reasonable (if the party
> worked together to kill some monster, even if the clerics didn't inflict
> damage but instead casted protection and healing spells, the clerics
> should probalby still get exp.)

>  However, there is no reasonable way for crossfire to enforce/check that.
> One person can do all the killing, and everyone in the party gets exp.
> So while in the case of a live action RPG, the GM can decide what is
> reasonable exp for each member of the group (if everyone in that group
> helped out, everyone gets some exp, if one person did all the work, only
> he gets the exp), that is very difficult to do for crossfire.

> Even if you apply some such ideas, it doesn't take very long for players
> to figure out how crossfire is figuring that stuff out, and quickly
> adapt habits (I remember a very old computer game that did that - it didn't
> take me too long to figure out that the clerics needed to cast healing
> spells while in combat to get exp, etc.)

I think so too.
The problem is how to share experience simply and how to prevent
players from cheating.

I think it is reasonable that low level party member gets much exp
than high level member because low level member is not familiar with
high level maps and monsters.
High level member will contribute to the party, 
but I think the contribution is not the reason why he gets much exp.

I refer the comment of calc_skill_exp(), 

 *
 *      EXP GAIN = (op->exp + skills[sk].bexp) * lvl_mult * stat_mult
 *
 *  where lvl_mult is
 *
 *  for(pl->level < op->level):: 
 *    lvl_mult  = skills[sk].lexp * (op->level - pl->level) 
 *  for(pl->level = op->level):: 
 *    lvl_mult  = skills[sk].lexp; 
 *  for(pl->level > op->level):: 
 *    lvl_mult = op_lvl/pl_lvl;
 *

and propose new calculation for exp. 

	1 . share op->exp with party members *evenly*
	2 . using it, calc member's  EXP GAIN independantly.

i.e.   EXP GAIN = (op->exp/(the number of party) + skills[sk].bexp)
                   * lvl_mult * stat_mult 

Then , low level member can get much exp than high level member.
And EXP GAIN is not related with the member who killed monster.

I don't know how easy to implement this expression.
Sorry.

>  Just a note:  If the party system is full of abuses, there is an option
> in config.h to disable it.

I wish there is some solution for removing abuses from party system,
even if my proposal wouldn't be so good.

--------------------
s-nisita@ics.es.osaka-u.ac.jp
[to unsubscribe etc., send mail to crossfire-request@ifi.uio.no]


Follow-Ups: References: