From The Mana World
Line 12: | Line 12: | ||
* The ladder is viewable as a .txt on the web server | * The ladder is viewable as a .txt on the web server | ||
* If a player has not played a match for 30 days, there is a -100 fame (ELO) static penalty | * If a player has not played a match for 30 days, there is a -100 fame (ELO) static penalty | ||
** This repeats every 30 days if no matches are played | ** This repeats every 30 days for the player in question if still no matches are played | ||
** This penalty cannot take you under 1000 fame ELO | ** This penalty cannot take you under 1000 fame ELO | ||
Line 21: | Line 21: | ||
* Their PLAYED_ONE_ON_ONE_FAME_MATCHES is set to 0 | * Their PLAYED_ONE_ON_ONE_FAME_MATCHES is set to 0 | ||
** Similarly WON_* and LOST_* are set to 0 | ** Similarly WON_* and LOST_* are set to 0 | ||
** They are considered a newbie until they have played 20 fame matches (this 20 match separation comes from the ELO specification | ** They are considered a newbie until they have played 20 fame matches (this 20 match separation comes from the ELO specification and their new ELO is calculated differently) | ||
=== Challenging === | === Challenging === | ||
* @pvp_check <nick> | |||
** Returns rank ELO played won lost | |||
* @challenge <nick> <map> <'fame'|'practice'> | * @challenge <nick> <map> <'fame'|'practice'> | ||
** Fails if | ** Fails if |
Latest revision as of 16:07, 18 October 2010
Assumptions
- There is a set of one on one PvP arena maps
- PvP arena maps have the no_save flag set
- This means if someone dies or disconnects there, they will not get back into the game there and cannot disrupt future matches
- one on one maps are 50 x 50 tiles
- There are 4 possible start positions on a one on one map
- They should be somewhat equally far from each other
- A player is warped to a random start position on the map
- PvP arena maps have the no_save flag set
- You can play for fame or a practice match
- Only one fame match per day per character
- You can only invoke the related atcommands only from the Hurnscald map
- The ladder is viewable as a .txt on the web server
- If a player has not played a match for 30 days, there is a -100 fame (ELO) static penalty
- This repeats every 30 days for the player in question if still no matches are played
- This penalty cannot take you under 1000 fame ELO
Registration
Players are registered for the PVP ladder automatically at lvl80
- Their ELO is set to 1000
- Their PLAYED_ONE_ON_ONE_FAME_MATCHES is set to 0
- Similarly WON_* and LOST_* are set to 0
- They are considered a newbie until they have played 20 fame matches (this 20 match separation comes from the ELO specification and their new ELO is calculated differently)
Challenging
- @pvp_check <nick>
- Returns rank ELO played won lost
- @challenge <nick> <map> <'fame'|'practice'>
- Fails if
- Challenged player does not exist
- Challenged player is not currently seen by your character
- Challenged player is not at least lvl80
- Either player already has a challenge currently (bool CHALLENGED ?)
- Either player has LAST_PLAYED_ONE_ON_ONE_FAME_MATCH == today
- The challenged player is notified by a server message of challenging player rank, ELO (fame) and amount of played/won/lost fame matches
- The challenged player has 5min to respond to the challenge or the challenge expires
- The server message to the challenged player repeats every minute
- Fails if
Accepting / declining a challenge
- @accept_challenge (@ac ?)
- @decline_challenge (@dc ?)
A challenge is accepted
- If the requested ladder map is currently free (recheck every 1min)
- Their status in the queue for the particular map should be announced to them every 1min
- If either player is disconnected during queueing, a static -10 fame (ELO) penalty is applied to that player
- Match is cancelled and both players are removed from the queue
- No bonus fame (ELO) for the other player
- If either player is disconnected during queueing, a static -10 fame (ELO) penalty is applied to that player
- Upon succesfully starting a match, set the appropriate LAST_PLAYED_*_MATCH (YYYY-MM-DD) for both players
- Set PLAYED_*_MATCHES++
- Give a countdown of 10 seconds to both players as whispers and warp them to the map
- Lock the map for the duration of the match
- Start a countdown of 5 minutes upon the match starting
- Their status in the queue for the particular map should be announced to them every 1min
End of battle
- After result calculation, announcement and a 30 second wait period, warp players out and free the map lock
- Set appropriate WON_* and LOST_*
- If 5 minutes are full and both players are alive
- -100 ELO (fame) static penalty for both, no real ELO calculation
- A player disconnects or times out or dies
- Remaining player wins, count new ELO (fame) for both
- Announce the result and ELO + ladder rank changes to both players with a 30s delay so they get the results when they're back in the normal game and not in the arena anymore