On 10/12/11 10:04 PM, Rick Tanner wrote:
On that page, in the notes, I mention that level loss will not
result in loss of AP - rather, it just means that it will take
longer before they get any new ones.
Very interesting.
With such a method, I was thinking that instead of decreasing exp
from the player total, instead add a new field like exp_penalty or
exp_loss. When a player dies, that field is increased by
appropriate amount- exp_loss += (exp - exp_loss) *
death_penalty_ratio.
Then, any earned experience after that point gets applied to
exp_loss first, and only when that is zero, does exp get applied to
normal total.
By chance could some of this exp loss by death or drain be regained
through quest items/rewards or other in game mechanics?
I didn't initially think about that, but yes, this would allow that to happen.
A problem right now is there is no way to know how much exp a character has
lost through death/draining. As such, there is no way to restore it - if you
give a character 10,000 exp, that is just 10,000 exp, which means if the
character has not lost exp, that is just a bonus.
But by tracking loss, one could basically do something like exp_loss -= 1;
if exp_loss < 0 exp_loss=0;
So things like quests, potions, spells, etc, could reduce that field, but if
that field is already 0, they gain nothing. One could think of this to the
restoration spell in AD&D - it is used to regain lost levels, but doesn't give
the character exp.
So in crossfire, one could have expensive potions to get back that lost exp.
This would make monsters that do drain attacks much less annoying than now - it
might cost a fair amount of platinum to get that potion, but at least you could.
Having spells that do it would probably not work, as it would just be too easy
for players then. But potions, scrolls, praying at altars, etc, would seem to
be possible solutions - and of course, there is nothing that they would have to
restore it all - maybe they reduce it by 50%. One could repeat that many times
and get the number closer and closer to zero, but still never get it to zero by
that method.
___
crossfire mailing list
crossfire@metalforge.org
http://mailman.metalforge.org/mailman/listinfo/crossfire