Bump about how PVP will work.
I would like to propose the same PvP System which I implemented on Moubootaur Legends.
Players can PvP anywhere with @Duel and get away with it. Otherwise, if they PK in a PvP zone (we can begin with every non-noob area a PvP zone, like the whole swamps, graveyards, and the caves which surrounds that region, excluding only towns, caves, and the areas which you must traverse to do the artis -> hurnscald -> tulimshar "royal route")
If you PvP, a check will be conducted.
- If your target was more than 15 levels difference from you, OR if the target was below level 20, you will lose honor.
- If the target was within this 15 levels range AND above level 20, you gain honor.
There's a few quirks:
- You cannot gain honor if you already killed this target in the past 30 minutes (to prevent honor farming)
- You can, however, lose honor without this 30 minutes cooldown.
- Defender never loses honor.
- Amount of Honor Points gained is based on the strength of the defender. This is determined by attack, range, defense, stats, and level. This is to inhibit abuse where player unequips everything - If honor farming, that'll have a poor performance, if trying to just inhibit PvP, level was still taken in account.
- There's no honor loss in maps where PVP mapflag is not present (we assume it is was a duel, as we can't see what are duel deaths and what is not)
- In honorable PvP circumstances, player gain some experience based on the honor.
- Defender always gain some experience based on the attacker's level, but only in PvP maps. (To prevent farming)
A few other observations:
- At the end of the month, we can email (using rodex) players with high honor, and there could be penalties (like NPCs refusing to talk to players) if the player is dishonorable.
- To prevent old players from polluting the honor scoreboards, or from being struck with dishonor forever, we should clean up the scoreboards monthly.
Ideally we would not clear it entirely, but instead, divide by two (so people can't abuse the last day of the month to dodge penalties). But I don't know how to make this with a SQL query (and we'll be using a SQL query to determine winners and clear the scoreboard in an effective way).
I don't have a solution for the later issue.