Reactor spray-drop + Quest with equipped items + MapleMapInfoRetriever

Implemented GMS-like "item spraying" from reactors. All boxes holding more than 5 drops have been changed to use this behavior.
Added information for players trying to start/complete quests having the required item equipped. It is expected to have all required items unequipped before handling a quest operation.
New check-purpose tool: MapleMapInfoRetriever. It's sole function is to detect and report map XMLs that has no "info" node in between the server files.
This commit is contained in:
ronancpl
2017-11-20 15:27:06 -02:00
parent 71ad2ee3a9
commit 4dd2764776
48 changed files with 2123 additions and 64 deletions
@@ -73,10 +73,19 @@ public class ItemRequirement extends MapleQuestRequirement {
count += item.getQuantity();
}
//Weird stuff, nexon made some quests only available when wearing gm clothes. This enables us to accept it ><
if (iType.equals(MapleInventoryType.EQUIP) && chr.isGM()) {
for (Item item : chr.getInventory(MapleInventoryType.EQUIPPED).listById(itemId)) {
count += item.getQuantity();
}
if (iType.equals(MapleInventoryType.EQUIP)) {
if(chr.isGM()) {
for (Item item : chr.getInventory(MapleInventoryType.EQUIPPED).listById(itemId)) {
count += item.getQuantity();
}
} else {
if(count < countNeeded) {
if(chr.getInventory(MapleInventoryType.EQUIPPED).countById(itemId) + count >= countNeeded) {
chr.dropMessage(5, "Unequip the required " + ii.getName(itemId) + " before trying this quest operation.");
return false;
}
}
}
}
if(count < countNeeded || countNeeded <= 0 && count > 0) {