Crossfire JXClient, Trunk
StatsParser.java
Go to the documentation of this file.
1 /*
2  * This file is part of JXClient, the Fullscreen Java Crossfire Client.
3  *
4  * JXClient is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * JXClient is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with JXClient; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  * Copyright (C) 2005-2008 Yann Chachkoff
19  * Copyright (C) 2006-2017,2019-2023 Andreas Kirschbaum
20  * Copyright (C) 2010-2012,2014-2018,2020-2023 Nicolas Weeger
21  */
22 
23 package com.realtime.crossfire.jxclient.stats;
24 
25 import java.util.HashMap;
26 import java.util.Map;
27 import org.jetbrains.annotations.NotNull;
28 
33 public class StatsParser {
34 
39  @NotNull
40  @SuppressWarnings("StaticCollection")
41  private static final Map<String, Integer> STAT_TABLE = new HashMap<>();
42 
43  static {
44  STAT_TABLE.put("AC", Stats.CS_STAT_AC);
45  STAT_TABLE.put("ARM", Stats.CS_STAT_ARMOUR);
46  STAT_TABLE.put("BLIND", Stats.C_STAT_BLIND);
47  STAT_TABLE.put("CHA", Stats.CS_STAT_CHA);
48  STAT_TABLE.put("CHA_APPLIED", Stats.CS_STAT_APPLIED_CHA);
49  STAT_TABLE.put("CHA_BASE", Stats.CS_STAT_BASE_CHA);
50  STAT_TABLE.put("CHA_RACE", Stats.CS_STAT_RACE_CHA);
51  STAT_TABLE.put("CHARACTER_FLAGS", Stats.CS_STAT_CHARACTER_FLAGS);
52  STAT_TABLE.put("CON", Stats.CS_STAT_CON);
53  STAT_TABLE.put("CONFUSED", Stats.C_STAT_CONFUSED);
54  STAT_TABLE.put("CON_APPLIED", Stats.CS_STAT_APPLIED_CON);
55  STAT_TABLE.put("CON_BASE", Stats.CS_STAT_BASE_CON);
56  STAT_TABLE.put("CON_RACE", Stats.CS_STAT_RACE_CON);
57  STAT_TABLE.put("CURRENT_SKILL", Stats.C_STAT_CURRENT_SKILL);
58  STAT_TABLE.put("DAM", Stats.CS_STAT_DAM);
59  STAT_TABLE.put("DEX", Stats.CS_STAT_DEX);
60  STAT_TABLE.put("DEX_APPLIED", Stats.CS_STAT_APPLIED_DEX);
61  STAT_TABLE.put("DEX_BASE", Stats.CS_STAT_BASE_DEX);
62  STAT_TABLE.put("DEX_RACE", Stats.CS_STAT_RACE_DEX);
63  STAT_TABLE.put("DISEASED", Stats.C_STAT_DISEASED);
64  STAT_TABLE.put("EXP", Stats.CS_STAT_EXP64);
65  STAT_TABLE.put("EXP_NEXT_LEVEL", Stats.C_STAT_EXP_NEXT_LEVEL);
66  STAT_TABLE.put("FOOD", Stats.CS_STAT_FOOD);
67  STAT_TABLE.put("GOD_NAME", Stats.CS_STAT_GOD_NAME);
68  STAT_TABLE.put("GOLEM_HP", Stats.CS_STAT_GOLEM_HP);
69  STAT_TABLE.put("GOLEM_MAXHP", Stats.CS_STAT_GOLEM_MAXHP);
70  STAT_TABLE.put("GRACE", Stats.CS_STAT_GRACE);
71  STAT_TABLE.put("HOSTILE", Stats.C_STAT_HOSTILE);
72  STAT_TABLE.put("HP", Stats.CS_STAT_HP);
73  STAT_TABLE.put("INT", Stats.CS_STAT_INT);
74  STAT_TABLE.put("INT_APPLIED", Stats.CS_STAT_APPLIED_INT);
75  STAT_TABLE.put("INT_BASE", Stats.CS_STAT_BASE_INT);
76  STAT_TABLE.put("INT_RACE", Stats.CS_STAT_RACE_INT);
77  STAT_TABLE.put("ITEM_POWER", Stats.CS_STAT_ITEM_POWER);
78  STAT_TABLE.put("LEVEL", Stats.CS_STAT_LEVEL);
79  STAT_TABLE.put("LOWFOOD", Stats.C_STAT_LOWFOOD);
80  STAT_TABLE.put("NOT_PERFECT", Stats.C_STAT_NOT_PERFECT);
81  STAT_TABLE.put("OVERLOAD", Stats.CS_STAT_OVERLOAD);
82  STAT_TABLE.put("PARALYZED", Stats.C_STAT_PARALYZED);
83  STAT_TABLE.put("POISONED", Stats.C_STAT_POISONED);
84  STAT_TABLE.put("POW", Stats.CS_STAT_POW);
85  STAT_TABLE.put("POW_APPLIED", Stats.CS_STAT_APPLIED_POW);
86  STAT_TABLE.put("POW_BASE", Stats.CS_STAT_BASE_POW);
87  STAT_TABLE.put("POW_RACE", Stats.CS_STAT_RACE_POW);
88  STAT_TABLE.put("RANGE", Stats.CS_STAT_RANGE);
89  STAT_TABLE.put("RES_ACID", Stats.CS_STAT_RES_ACID);
90  STAT_TABLE.put("RES_BLIND", Stats.CS_STAT_RES_BLIND);
91  STAT_TABLE.put("RES_COLD", Stats.CS_STAT_RES_COLD);
92  STAT_TABLE.put("RES_CONF", Stats.CS_STAT_RES_CONF);
93  STAT_TABLE.put("RES_DEATH", Stats.CS_STAT_RES_DEATH);
94  STAT_TABLE.put("RES_DEPLETE", Stats.CS_STAT_RES_DEPLETE);
95  STAT_TABLE.put("RES_DRAIN", Stats.CS_STAT_RES_DRAIN);
96  STAT_TABLE.put("RES_ELEC", Stats.CS_STAT_RES_ELEC);
97  STAT_TABLE.put("RES_FEAR", Stats.CS_STAT_RES_FEAR);
98  STAT_TABLE.put("RES_FIRE", Stats.CS_STAT_RES_FIRE);
99  STAT_TABLE.put("RES_GHOSTHIT", Stats.CS_STAT_RES_GHOSTHIT);
100  STAT_TABLE.put("RES_HOLYWORD", Stats.CS_STAT_RES_HOLYWORD);
101  STAT_TABLE.put("RES_MAG", Stats.CS_STAT_RES_MAG);
102  STAT_TABLE.put("RES_PARA", Stats.CS_STAT_RES_PARA);
103  STAT_TABLE.put("RES_PHYS", Stats.CS_STAT_RES_PHYS);
104  STAT_TABLE.put("RES_POISON", Stats.CS_STAT_RES_POISON);
105  STAT_TABLE.put("RES_SLOW", Stats.CS_STAT_RES_SLOW);
106  STAT_TABLE.put("RES_TURN_UNDEAD", Stats.CS_STAT_RES_TURN_UNDEAD);
107  STAT_TABLE.put("SP", Stats.CS_STAT_SP);
108  STAT_TABLE.put("SPEED", Stats.CS_STAT_SPEED);
109  STAT_TABLE.put("STARVING", Stats.C_STAT_STARVING);
110  STAT_TABLE.put("STEALTHY", Stats.C_STAT_STEALTHY);
111  STAT_TABLE.put("STR", Stats.CS_STAT_STR);
112  STAT_TABLE.put("STR_APPLIED", Stats.CS_STAT_APPLIED_STR);
113  STAT_TABLE.put("STR_BASE", Stats.CS_STAT_BASE_STR);
114  STAT_TABLE.put("STR_RACE", Stats.CS_STAT_RACE_STR);
115  STAT_TABLE.put("TITLE", Stats.CS_STAT_TITLE);
116  STAT_TABLE.put("WC", Stats.CS_STAT_WC);
117  STAT_TABLE.put("WEAPON_SPEED", Stats.CS_STAT_WEAP_SP);
118  STAT_TABLE.put("WEIGHT", Stats.C_STAT_WEIGHT);
119  STAT_TABLE.put("WEIGHT_LIMIT", Stats.CS_STAT_WEIGHT_LIM);
120  STAT_TABLE.put("WIS", Stats.CS_STAT_WIS);
121  STAT_TABLE.put("WIS_APPLIED", Stats.CS_STAT_APPLIED_WIS);
122  STAT_TABLE.put("WIS_BASE", Stats.CS_STAT_BASE_WIS);
123  STAT_TABLE.put("WIS_RACE", Stats.CS_STAT_RACE_WIS);
124  STAT_TABLE.put("WIZARD", Stats.C_STAT_WIZARD);
125  STAT_TABLE.put("XRAY", Stats.C_STAT_XRAY);
126  }
127 
131  private StatsParser() {
132  }
133 
140  public static int parseStat(@NotNull final String name) {
141  if (!STAT_TABLE.containsKey(name)) {
142  throw new IllegalArgumentException("undefined stat '"+name+"'");
143  }
144 
145  return STAT_TABLE.get(name);
146  }
147 
148 }
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_OVERLOAD
static final int CS_STAT_OVERLOAD
Definition: Stats.java:341
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_CURRENT_SKILL
static final int C_STAT_CURRENT_SKILL
Definition: Stats.java:532
com.realtime.crossfire.jxclient.stats.StatsParser.parseStat
static int parseStat(@NotNull final String name)
Definition: StatsParser.java:140
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_FIRE
static final int CS_STAT_RES_FIRE
Definition: Stats.java:371
com.realtime.crossfire.jxclient.stats.StatsParser.STAT_TABLE
static final Map< String, Integer > STAT_TABLE
Definition: StatsParser.java:41
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_ACID
static final int CS_STAT_RES_ACID
Definition: Stats.java:391
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_LEVEL
static final int CS_STAT_LEVEL
Definition: Stats.java:109
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_EXP_NEXT_LEVEL
static final int C_STAT_EXP_NEXT_LEVEL
Definition: Stats.java:104
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_WIZARD
static final int C_STAT_WIZARD
Definition: Stats.java:527
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_POW
static final int CS_STAT_BASE_POW
Definition: Stats.java:280
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_TURN_UNDEAD
static final int CS_STAT_RES_TURN_UNDEAD
Definition: Stats.java:421
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RANGE
static final int CS_STAT_RANGE
Definition: Stats.java:155
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_WIS
static final int CS_STAT_RACE_WIS
Definition: Stats.java:225
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_WEIGHT_LIM
static final int CS_STAT_WEIGHT_LIM
Definition: Stats.java:185
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_TITLE
static final int CS_STAT_TITLE
Definition: Stats.java:160
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_STR
static final int CS_STAT_APPLIED_STR
Definition: Stats.java:285
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_DEX
static final int CS_STAT_BASE_DEX
Definition: Stats.java:265
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_CHA
static final int CS_STAT_CHA
Definition: Stats.java:94
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_WIS
static final int CS_STAT_BASE_WIS
Definition: Stats.java:260
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_FEAR
static final int CS_STAT_RES_FEAR
Definition: Stats.java:426
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_XRAY
static final int C_STAT_XRAY
Definition: Stats.java:492
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_POISON
static final int CS_STAT_RES_POISON
Definition: Stats.java:406
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_ARMOUR
static final int CS_STAT_ARMOUR
Definition: Stats.java:129
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_SLOW
static final int CS_STAT_RES_SLOW
Definition: Stats.java:411
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_EXP64
static final int CS_STAT_EXP64
Definition: Stats.java:195
com.realtime.crossfire.jxclient.stats.Stats
Definition: Stats.java:44
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_FOOD
static final int CS_STAT_FOOD
Definition: Stats.java:139
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_GOLEM_MAXHP
static final int CS_STAT_GOLEM_MAXHP
Definition: Stats.java:325
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_DEX
static final int CS_STAT_APPLIED_DEX
Definition: Stats.java:300
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_PARA
static final int CS_STAT_RES_PARA
Definition: Stats.java:416
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_DEPLETE
static final int CS_STAT_RES_DEPLETE
Definition: Stats.java:431
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_STR
static final int CS_STAT_STR
Definition: Stats.java:69
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_INT
static final int CS_STAT_RACE_INT
Definition: Stats.java:220
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_WEIGHT
static final int C_STAT_WEIGHT
Definition: Stats.java:190
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_NOT_PERFECT
static final int C_STAT_NOT_PERFECT
Definition: Stats.java:504
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_DISEASED
static final int C_STAT_DISEASED
Definition: Stats.java:498
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_CHA
static final int CS_STAT_APPLIED_CHA
Definition: Stats.java:310
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_WC
static final int CS_STAT_WC
Definition: Stats.java:114
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_COLD
static final int CS_STAT_RES_COLD
Definition: Stats.java:381
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_POW
static final int CS_STAT_APPLIED_POW
Definition: Stats.java:315
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_AC
static final int CS_STAT_AC
Definition: Stats.java:119
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_DEX
static final int CS_STAT_RACE_DEX
Definition: Stats.java:230
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_CONF
static final int CS_STAT_RES_CONF
Definition: Stats.java:386
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_INT
static final int CS_STAT_APPLIED_INT
Definition: Stats.java:290
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_HOLYWORD
static final int CS_STAT_RES_HOLYWORD
Definition: Stats.java:441
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_BLIND
static final int C_STAT_BLIND
Definition: Stats.java:486
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_CHA
static final int CS_STAT_BASE_CHA
Definition: Stats.java:275
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_DEATH
static final int CS_STAT_RES_DEATH
Definition: Stats.java:436
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_HOSTILE
static final int C_STAT_HOSTILE
Definition: Stats.java:510
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_DEX
static final int CS_STAT_DEX
Definition: Stats.java:84
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_CON
static final int CS_STAT_CON
Definition: Stats.java:89
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_CON
static final int CS_STAT_BASE_CON
Definition: Stats.java:270
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_PHYS
static final int CS_STAT_RES_PHYS
Definition: Stats.java:361
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_STR
static final int CS_STAT_BASE_STR
Definition: Stats.java:250
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_PARALYZED
static final int C_STAT_PARALYZED
Definition: Stats.java:522
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_WIS
static final int CS_STAT_APPLIED_WIS
Definition: Stats.java:295
com.realtime.crossfire.jxclient.stats.StatsParser.StatsParser
StatsParser()
Definition: StatsParser.java:131
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_CONFUSED
static final int C_STAT_CONFUSED
Definition: Stats.java:481
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_STR
static final int CS_STAT_RACE_STR
Definition: Stats.java:215
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_HP
static final int CS_STAT_HP
Definition: Stats.java:49
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_MAG
static final int CS_STAT_RES_MAG
Definition: Stats.java:366
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_DRAIN
static final int CS_STAT_RES_DRAIN
Definition: Stats.java:396
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_DAM
static final int CS_STAT_DAM
Definition: Stats.java:124
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_POW
static final int CS_STAT_POW
Definition: Stats.java:165
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_INT
static final int CS_STAT_INT
Definition: Stats.java:74
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_CHARACTER_FLAGS
static final int CS_STAT_CHARACTER_FLAGS
Definition: Stats.java:330
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_ELEC
static final int CS_STAT_RES_ELEC
Definition: Stats.java:376
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_GHOSTHIT
static final int CS_STAT_RES_GHOSTHIT
Definition: Stats.java:401
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_CHA
static final int CS_STAT_RACE_CHA
Definition: Stats.java:240
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_WIS
static final int CS_STAT_WIS
Definition: Stats.java:79
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_GRACE
static final int CS_STAT_GRACE
Definition: Stats.java:170
com.realtime.crossfire.jxclient.stats.StatsParser
Definition: StatsParser.java:33
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_GOD_NAME
static final int CS_STAT_GOD_NAME
Definition: Stats.java:335
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_SPEED
static final int CS_STAT_SPEED
Definition: Stats.java:134
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_STARVING
static final int C_STAT_STARVING
Definition: Stats.java:468
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_ITEM_POWER
static final int CS_STAT_ITEM_POWER
Definition: Stats.java:346
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_CON
static final int CS_STAT_RACE_CON
Definition: Stats.java:235
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_GOLEM_HP
static final int CS_STAT_GOLEM_HP
Definition: Stats.java:320
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RES_BLIND
static final int CS_STAT_RES_BLIND
Definition: Stats.java:446
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_BASE_INT
static final int CS_STAT_BASE_INT
Definition: Stats.java:255
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_LOWFOOD
static final int C_STAT_LOWFOOD
Definition: Stats.java:144
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_SP
static final int CS_STAT_SP
Definition: Stats.java:59
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_RACE_POW
static final int CS_STAT_RACE_POW
Definition: Stats.java:245
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_CON
static final int CS_STAT_APPLIED_CON
Definition: Stats.java:305
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_POISONED
static final int C_STAT_POISONED
Definition: Stats.java:462
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_WEAP_SP
static final int CS_STAT_WEAP_SP
Definition: Stats.java:149
com.realtime.crossfire.jxclient.stats.Stats.C_STAT_STEALTHY
static final int C_STAT_STEALTHY
Definition: Stats.java:516