00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 package com.realtime.crossfire.jxclient.scripts;
00023
00024 import com.realtime.crossfire.jxclient.stats.Stats;
00025 import java.util.HashMap;
00026 import java.util.Map;
00027 import org.jetbrains.annotations.NotNull;
00028
00033 public class StatUtils {
00034
00038 @NotNull
00039 private static final Map<Integer, String> STAT_NAMES = new HashMap<Integer, String>();
00040
00041 static {
00042 STAT_NAMES.put(Stats.CS_STAT_HP, "hp");
00043 STAT_NAMES.put(Stats.CS_STAT_MAXHP, "maxhp");
00044 STAT_NAMES.put(Stats.CS_STAT_SP, "sp");
00045 STAT_NAMES.put(Stats.CS_STAT_MAXSP, "maxsp");
00046 STAT_NAMES.put(Stats.CS_STAT_STR, "str");
00047 STAT_NAMES.put(Stats.CS_STAT_RACE_STR, "str_race");
00048 STAT_NAMES.put(Stats.CS_STAT_BASE_STR, "str_base");
00049 STAT_NAMES.put(Stats.CS_STAT_APPLIED_STR, "str_applied");
00050 STAT_NAMES.put(Stats.CS_STAT_INT, "int");
00051 STAT_NAMES.put(Stats.CS_STAT_RACE_INT, "int_race");
00052 STAT_NAMES.put(Stats.CS_STAT_BASE_INT, "int_base");
00053 STAT_NAMES.put(Stats.CS_STAT_APPLIED_INT, "int_applied");
00054 STAT_NAMES.put(Stats.CS_STAT_WIS, "wis");
00055 STAT_NAMES.put(Stats.CS_STAT_RACE_WIS, "wis_race");
00056 STAT_NAMES.put(Stats.CS_STAT_BASE_WIS, "wis_base");
00057 STAT_NAMES.put(Stats.CS_STAT_APPLIED_WIS, "wis_applied");
00058 STAT_NAMES.put(Stats.CS_STAT_DEX, "dex");
00059 STAT_NAMES.put(Stats.CS_STAT_RACE_DEX, "dex_race");
00060 STAT_NAMES.put(Stats.CS_STAT_BASE_DEX, "dex_base");
00061 STAT_NAMES.put(Stats.CS_STAT_APPLIED_DEX, "dex_applied");
00062 STAT_NAMES.put(Stats.CS_STAT_CON, "con");
00063 STAT_NAMES.put(Stats.CS_STAT_RACE_CON, "con_race");
00064 STAT_NAMES.put(Stats.CS_STAT_BASE_CON, "con_base");
00065 STAT_NAMES.put(Stats.CS_STAT_APPLIED_CON, "con_applied");
00066 STAT_NAMES.put(Stats.CS_STAT_CHA, "cha");
00067 STAT_NAMES.put(Stats.CS_STAT_RACE_CHA, "cha_race");
00068 STAT_NAMES.put(Stats.CS_STAT_BASE_CHA, "cha_base");
00069 STAT_NAMES.put(Stats.CS_STAT_APPLIED_CHA, "cha_applied");
00070 STAT_NAMES.put(Stats.CS_STAT_LEVEL, "level");
00071 STAT_NAMES.put(Stats.CS_STAT_WC, "wc");
00072 STAT_NAMES.put(Stats.CS_STAT_AC, "ac");
00073 STAT_NAMES.put(Stats.CS_STAT_DAM, "dam");
00074 STAT_NAMES.put(Stats.CS_STAT_ARMOUR, "armour");
00075 STAT_NAMES.put(Stats.CS_STAT_FOOD, "food");
00076 STAT_NAMES.put(Stats.CS_STAT_POW, "pow");
00077 STAT_NAMES.put(Stats.CS_STAT_RACE_POW, "pow_race");
00078 STAT_NAMES.put(Stats.CS_STAT_BASE_POW, "pow_base");
00079 STAT_NAMES.put(Stats.CS_STAT_APPLIED_POW, "pow_applied");
00080 STAT_NAMES.put(Stats.CS_STAT_GRACE, "grace");
00081 STAT_NAMES.put(Stats.CS_STAT_MAXGRACE, "maxgrace");
00082 STAT_NAMES.put(Stats.CS_STAT_FLAGS, "flags");
00083 STAT_NAMES.put(Stats.CS_STAT_EXP, "exp");
00084 STAT_NAMES.put(Stats.CS_STAT_SPEED, "speed");
00085 STAT_NAMES.put(Stats.CS_STAT_WEAP_SP, "weap_sp");
00086 STAT_NAMES.put(Stats.CS_STAT_WEIGHT_LIM, "weight_lim");
00087 STAT_NAMES.put(Stats.CS_STAT_SPELL_ATTUNE, "spell_attune");
00088 STAT_NAMES.put(Stats.CS_STAT_SPELL_REPEL, "spell_repel");
00089 STAT_NAMES.put(Stats.CS_STAT_SPELL_DENY, "spell_deny");
00090 STAT_NAMES.put(Stats.CS_STAT_EXP64, "exp");
00091 STAT_NAMES.put(Stats.CS_STAT_RANGE, "range");
00092 STAT_NAMES.put(Stats.CS_STAT_TITLE, "title");
00093 STAT_NAMES.put(Stats.CS_STAT_GOLEM_HP, "golem_hp");
00094 STAT_NAMES.put(Stats.CS_STAT_GOLEM_MAXHP, "golem_maxhp");
00095 for (int stat = Stats.CS_STAT_RESIST_START; stat < Stats.CS_STAT_RESIST_START+Stats.RESIST_TYPES; stat++) {
00096 STAT_NAMES.put(stat, "resists");
00097 }
00098 for (int skill = Stats.CS_STAT_SKILLINFO; skill < Stats.CS_STAT_SKILLINFO+Stats.CS_NUM_SKILLS; skill++) {
00099 STAT_NAMES.put(skill, "skill");
00100 }
00101 }
00102
00106 private StatUtils() {
00107 }
00108
00114 @NotNull
00115 public static String getStatNames(final int stat) {
00116 final String statName = STAT_NAMES.get(stat);
00117 if (statName == null) {
00118 throw new AssertionError();
00119 }
00120 return statName;
00121 }
00122
00123 }