Improved item & drop-point checking + Dojo fixes + Duey revamp
Fixed some issues with items being dropped sometimes out-of-reach and in a weird way. Improved item checking function, now looking up one-of-a-kind items properly. Fixed some issues with dojo skills and possible exploits in dojo progression. Improved Duey, now displaying better info to players.
This commit is contained in:
@@ -152,7 +152,7 @@ public class GameConstants {
|
||||
}
|
||||
|
||||
public static boolean isPqSkill(final int skill) {
|
||||
return skill >= 20001013 && skill <= 20000018 || skill % 10000000 == 1020 || skill == 10000013 || skill % 10000000 >= 1009 && skill % 10000000 <= 1011;
|
||||
return (skill >= 20000014 && skill <= 20000018) || skill == 10000013 || skill == 20001013 || (skill % 10000000 >= 1009 && skill % 10000000 <= 1011) || skill % 10000000 == 1020;
|
||||
}
|
||||
|
||||
public static boolean bannedBindSkills(final int skill) {
|
||||
@@ -185,14 +185,14 @@ public class GameConstants {
|
||||
}
|
||||
|
||||
public static boolean isDojo(int mapid) {
|
||||
return mapid >= 925020100 && mapid <= 925023814;
|
||||
return mapid >= 925020000 && mapid < 925040000;
|
||||
}
|
||||
|
||||
public static boolean isPyramid(int mapid) {
|
||||
return mapid >= 926010010 & mapid <= 930010000;
|
||||
}
|
||||
|
||||
public static boolean isPQSkillMap(int mapid) {
|
||||
public static boolean isPqSkillMap(int mapid) {
|
||||
return isDojo(mapid) || isPyramid(mapid);
|
||||
}
|
||||
|
||||
|
||||
@@ -22,6 +22,8 @@
|
||||
package constants;
|
||||
|
||||
import client.inventory.MapleInventoryType;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
*
|
||||
@@ -29,6 +31,8 @@ import client.inventory.MapleInventoryType;
|
||||
* @author Ronan
|
||||
*/
|
||||
public final class ItemConstants {
|
||||
protected static Map<Integer, MapleInventoryType> inventoryTypeCache = new HashMap<>();
|
||||
|
||||
public final static int LOCK = 0x01;
|
||||
public final static int SPIKES = 0x02;
|
||||
public final static int COLD = 0x04;
|
||||
@@ -141,11 +145,19 @@ public final class ItemConstants {
|
||||
}
|
||||
|
||||
public static MapleInventoryType getInventoryType(final int itemId) {
|
||||
if (inventoryTypeCache.containsKey(itemId)) {
|
||||
return inventoryTypeCache.get(itemId);
|
||||
}
|
||||
|
||||
MapleInventoryType ret = MapleInventoryType.UNDEFINED;
|
||||
|
||||
final byte type = (byte) (itemId / 1000000);
|
||||
if (type < 1 || type > 5) {
|
||||
return MapleInventoryType.UNDEFINED;
|
||||
if (type >= 1 && type <= 5) {
|
||||
ret = MapleInventoryType.getByType(type);
|
||||
}
|
||||
return MapleInventoryType.getByType(type);
|
||||
|
||||
inventoryTypeCache.put(itemId, ret);
|
||||
return ret;
|
||||
}
|
||||
|
||||
public static boolean isMakerReagent(int itemId) {
|
||||
|
||||
@@ -59,6 +59,7 @@ public class ServerConstants {
|
||||
public static final boolean USE_AUTOSAVE = true; //Enables server autosaving feature (saves characters to DB each 1 hour).
|
||||
public static final boolean USE_SERVER_AUTOASSIGNER = true; //Server-builtin autoassigner, uses algorithm based on distributing AP accordingly with required secondary stat on equipments.
|
||||
public static final boolean USE_REFRESH_RANK_MOVE = true;
|
||||
public static final boolean USE_ENFORCE_HPMP_SWAP = false; //Forces players to reuse stats (via AP Resetting) located on HP/MP pool only inside the HP/MP stats.
|
||||
public static final boolean USE_ENFORCE_MOB_LEVEL_RANGE = true; //Players N levels below the killed mob will gain no experience from defeating it.
|
||||
public static final boolean USE_ENFORCE_JOB_LEVEL_RANGE = false;//Caps the player level on the minimum required to advance their current jobs.
|
||||
public static final boolean USE_ENFORCE_OWL_SUGGESTIONS = false;//Forces the Owl of Minerva to always display the defined item array on GameConstants.OWL_DATA instead of those featured by the players.
|
||||
@@ -131,7 +132,8 @@ public class ServerConstants {
|
||||
public static final byte CHAIR_EXTRA_HEAL_HP = 70; //Each chair extra heal proc increasing HP.
|
||||
public static final byte CHAIR_EXTRA_HEAL_MP = 42; //Each chair extra heal proc increasing MP.
|
||||
|
||||
//Pet Auto-Pot Recovery Rates
|
||||
//Pet Auto-Pot Configuration
|
||||
public static final boolean USE_EQUIPS_ON_AUTOPOT = true; //Player MaxHP and MaxMP check values on autopot handler will be updated by the HP/MP bonuses on equipped items.
|
||||
public static final double PET_AUTOHP_RATIO = 0.99; //Will automatically consume potions until given ratio of the MaxHP/MaxMP is reached.
|
||||
public static final double PET_AUTOMP_RATIO = 0.99;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user