
This does /not/ normally require dm presence, what it requires is for a bot (sam maybe being useful for a change?) to monitor for
foo killed bar (duel) messages.
then keeping a ranking system.
something like.
everyone starts off at 1000 points.
when two players fight, the winner gets 50*(their_score+opponents_score)/their_score
points
the loser loses the same.
so, imagine two players with scores of 500 and 2000
if player with 500 points wins, they get
50*2500/500 = 250 points
opponent loses
250 points
new scores 750 and 1750
if player with 2500 points wins they get
62.5 points
opponent loses the same.
new scores
2562.5 and 437.5
So that everyone benefits the most from beating those above them, and lose out from losing to those below them.
To stop someone getting a high score and then leaving, the scores would also decrease by 0.5% a day. (meaning a loss of 10 points a day for a player with a score of 2000 - so they'd need to duel about once a week to maintain their scores.)
In order to prevent sockpuppetry, I think two steps can be taken;
a minimum level requirement, maybe level 50? (60?, 70?)- determined by the 'hiscore' command.
each duel between the same players to be worth only 90% of the previous one.
each duel between the same players where their previous duel was against each other to be worth only 50% of the previous one (to enforce variety of opponents and stop repeated killing of sock puppets - each that got to level 50 would be worth only 250-ish points).
Some of you may recognise this as being similar to freeciv's system, this was intentional. (I couldn't find the exact formulae used, but this seems reasonable.)