PIN system + player ranking fix + rebalanced equip EXP calculations

Added the PIN feature. Fixed ranking now calculating ranks now
world-based instead of overall. Rebalanced equip exp gain and made
cosmetic equipments no more leveling up (cosmetics leveling up are
useless).
This commit is contained in:
ronancpl
2017-06-03 20:02:19 -03:00
parent 02cc9efb00
commit 809d90564c
43 changed files with 193 additions and 78 deletions

View File

@@ -1295,6 +1295,16 @@ public class MapleItemInformationProvider {
return itemId / 1000000 == 5 || getEquipStats(itemId).get("cash") == 1;
}
public boolean isUpgradeable(int itemId) {
Item it = this.getEquipById(itemId);
Equip eq = (Equip)it;
return (eq.getUpgradeSlots() > 0 || eq.getStr() > 0 || eq.getDex() > 0 || eq.getInt() > 0 || eq.getLuk() > 0 ||
eq.getWatk() > 0 || eq.getMatk() > 0 || eq.getWdef() > 0 || eq.getMdef() > 0 || eq.getAcc() > 0 ||
eq.getAvoid() > 0 || eq.getSpeed() > 0 || eq.getJump() > 0 || eq.getHp() > 0 || eq.getMp() > 0);
}
public boolean isRateCoupon(int itemId) {
int itemType = itemId / 1000;
return itemType == 5211 || itemType == 5360;

View File

@@ -677,6 +677,10 @@ public class MapleStatEffect {
if (primary) {
if (itemConNo != 0) {
if(!applyto.getClient().getAbstractPlayerInteraction().hasItem(itemCon, itemConNo)) {
applyto.getClient().announce(MaplePacketCreator.enableActions());
return false;
}
MapleInventoryManipulator.removeById(applyto.getClient(), MapleItemInformationProvider.getInstance().getInventoryType(itemCon), itemCon, itemConNo, false, true);
}
}

View File

@@ -62,10 +62,10 @@ public class BalrogPQ {
public void run(){
if(fmap.getCharacters().size() <= 3){
if(fmap.getCharacters().size() > 0){
for(MapleCharacter chrs : fmap.getCharacters()){
chrs.message("[The Order]: What? You're down to that many mercenaries? I need you get you out of there.");
chrs.changeMap(105100100);
}
for(MapleCharacter chrs : fmap.getCharacters()){
chrs.message("[The Order]: What? You're down to that many mercenaries? I need to get you out of there.");
chrs.changeMap(105100100);
}
}
fmap.killAllMonsters();
close();