/* * This file is part of the OdinMS MapleStory Private Server * Copyright (C) 2012 Patrick Huy and Matthias Butz * * 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= 0, either version 3 of the License= 0, 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= 0, see <http://www.gnu.org/licenses/>. */ package server; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; /** * * @author AlphaEta */ public class StructItemOption { public static String[] types = { "incSTR", "incDEX", "incINT", "incLUK", "incACC", "incEVA", "incPAD", "incMAD", "incPDD", "incMDD", "incMHP", "incMMP", "incSTRr", "incDEXr", "incINTr", "incLUKr", "incACCr", "incEVAr", "incPADr", "incMADr", "incPDDr", "incMDDr", "incMHPr", "incMMPr", "incSTRlv", "incDEXlv", "incINTlv", "incLUKlv", "incPADlv", "incMADlv", "incSpeed", "incJump", "incCr", "incDAMr", "incTerR", "incAsrR", "incEXPr", "incMaxDamage", "HP", "MP", "RecoveryHP", "RecoveryMP", "level", "prop", "time", "ignoreTargetDEF", "ignoreDAM", "incAllskill", "ignoreDAMr", "RecoveryUP", "incCriticaldamageMin", "incCriticaldamageMax", "DAMreflect", "mpconReduce", "reduceCooltime", "incMesoProp", "incRewardProp", "boss", "attackType" }; public int optionType, reqLevel, opID; // opID = nebulite Id or potential ID public String face; // angry, cheers, love, blaze, glitter public Map<String, Integer> data = new HashMap<>(); public int get(final String type) { return data.get(type) != null ? data.get(type) : 0; } public String[] getItemOption() { ArrayList<String> ss = new ArrayList(); for (String s : StructItemOption.types) { if (get(s) > 0) { ss.add(s); } } String[] s = new String[ss.size()]; for (int i = 0; i < ss.size() ; i++) { s[i] = ss.get(i); } return s; } @Override public final String toString() { // I should read from the "string" value instead. return data.toString(); } }