Mounts & map boundings fix + Quest rates + MapleInvalidItemIdFetcher

Fixed a critical bug that would sometimes default the written mount data on the DB, causing data loss.
Removed all invalid itemids from the drop data.
Added quest rates. Instead of using the player's rates, quest rates stacks up with the server's exp and drop rates when giving quest rewards, making the values the same for all.
Adjusted map boundings to better suit the item drop positions inside the field.
New tool: MapleInvalidItemIdFetcher. It reads all existing itemids from the wz and reports inexistent itemids on the DB's drop data.
This commit is contained in:
ronancpl
2018-02-04 14:08:18 -02:00
parent 58dce72979
commit 3f8904ef44
29 changed files with 2291 additions and 363 deletions

View File

@@ -70,12 +70,13 @@ public class ServerConstants {
public static final boolean USE_ERASE_PET_ON_EXPIRATION = false;//Forces pets to be removed from inventory when expire time comes, rather than converting it to a doll.
public static final boolean USE_BUFF_MOST_SIGNIFICANT = true; //When applying buffs, the player will stick with the highest stat boost among the listed, rather than overwriting stats.
public static final boolean USE_MAKER_FEE_HEURISTICS = true; //Apply compiled values for stimulants and reagents into the Maker fee calculations (max error revolves around 50k mesos). Set false to use basic constant values instead (results are never higher than requested by the client-side).
public static final boolean USE_QUEST_RATE = false; //Exp/Meso gained by quests uses fixed server exp/meso rate times quest rate as multiplier, instead of player rates.
//Server Rates And Experience
public static final int EXP_RATE = 10;
public static final int MESO_RATE = 10;
public static final int DROP_RATE = 10;
public static final int BOSS_DROP_RATE = 20;
public static final int QUEST_RATE = 5; //Multiplier for Exp & Meso gains when completing a quest. Only available when USE_QUEST_RATE is true. Stacks with server Exp & Meso rates.
public static final double EQUIP_EXP_RATE = 10.0; //Rate for equipment exp gain, grows linearly. Set 1.0 for default (about 100~200 same-level range mobs killed to pass equip from level 1 to 2).
public static final double PARTY_BONUS_EXP_RATE = 1.0; //Rate for the party exp reward.