Maker-oriented commit

Implemented the multiple features of the Maker skill (equip disassembly, leftover merging into monster crystal and item crafting).
Updated the DB with the Maker data featured on the WZ.
Added a new table for the strenghtening reagents gain data (compiled with the MapleSkillMakerReagentIndexer).
Fixed quests that improves the Maker skill level and some other Maker-related quests.
This commit is contained in:
ronancpl
2017-11-24 14:00:48 -02:00
parent 4dd2764776
commit 3b30244239
87 changed files with 8424 additions and 18509 deletions

View File

@@ -0,0 +1,94 @@
/*
* This file is part of the MapleSolaxiaV2 Maple Story Server
*
* Copyright (C) 2017 RonanLana
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package constants;
import java.util.HashMap;
import java.util.Map;
/**
*
* @author RonanLana
*/
public enum EquipType {
UNDEFINED(-1),
ACCESSORY(0),
CAP(100),
CAPE(110),
COAT(104),
FACE(2),
GLOVES(108),
HAIR(3),
LONGCOAT(105),
PANTS(106),
PET_EQUIP(180),
PET_EQUIP_FIELD(181),
PET_EQUIP_LABEL(182),
PET_EQUIP_QUOTE(183),
RING(111),
SHIELD(109),
SHOES(107),
TAMING(190),
TAMING_SADDLE(191),
SWORD(1302),
AXE(1312),
MACE(1322),
DAGGER(1332),
WAND(1372),
STAFF(1382),
SWORD_2H(1402),
AXE_2H(1412),
MACE_2H(1422),
SPEAR(1432),
POLEARM(1442),
BOW(1452),
CROSSBOW(1462),
CLAW(1472),
KNUCKLER(1482),
PISTOL(1492);
private final int i;
private static final Map<Integer, EquipType> map = new HashMap(34);
private EquipType(int val) {
this.i = val;
}
public int getValue() {
return i;
}
static {
for (EquipType eqEnum : EquipType.values()) {
map.put(eqEnum.i, eqEnum);
}
}
public static EquipType getEquipTypeById(int itemid) {
EquipType ret;
int val = itemid / 100000;
if(val == 13 || val == 14) {
ret = map.get(itemid / 1000);
} else {
ret = map.get(itemid / 10000);
}
return (ret != null) ? ret : EquipType.UNDEFINED;
}
}