Crossfire JXClient, Trunk
StatUtils.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.server.crossfire;
24 
26 import java.util.HashMap;
27 import java.util.Map;
28 import org.jetbrains.annotations.NotNull;
29 
34 public class StatUtils {
35 
39  @NotNull
40  @SuppressWarnings("StaticCollection")
41  private static final Map<Integer, String> STAT_NAMES = new HashMap<>();
42 
43  static {
44  STAT_NAMES.put(Stats.CS_STAT_HP, "hp");
45  STAT_NAMES.put(Stats.CS_STAT_MAXHP, "maxhp");
46  STAT_NAMES.put(Stats.CS_STAT_SP, "sp");
47  STAT_NAMES.put(Stats.CS_STAT_MAXSP, "maxsp");
48  STAT_NAMES.put(Stats.CS_STAT_STR, "str");
49  STAT_NAMES.put(Stats.CS_STAT_RACE_STR, "str_race");
50  STAT_NAMES.put(Stats.CS_STAT_BASE_STR, "str_base");
51  STAT_NAMES.put(Stats.CS_STAT_APPLIED_STR, "str_applied");
52  STAT_NAMES.put(Stats.CS_STAT_INT, "int");
53  STAT_NAMES.put(Stats.CS_STAT_RACE_INT, "int_race");
54  STAT_NAMES.put(Stats.CS_STAT_BASE_INT, "int_base");
55  STAT_NAMES.put(Stats.CS_STAT_APPLIED_INT, "int_applied");
56  STAT_NAMES.put(Stats.CS_STAT_WIS, "wis");
57  STAT_NAMES.put(Stats.CS_STAT_RACE_WIS, "wis_race");
58  STAT_NAMES.put(Stats.CS_STAT_BASE_WIS, "wis_base");
59  STAT_NAMES.put(Stats.CS_STAT_APPLIED_WIS, "wis_applied");
60  STAT_NAMES.put(Stats.CS_STAT_DEX, "dex");
61  STAT_NAMES.put(Stats.CS_STAT_RACE_DEX, "dex_race");
62  STAT_NAMES.put(Stats.CS_STAT_BASE_DEX, "dex_base");
63  STAT_NAMES.put(Stats.CS_STAT_APPLIED_DEX, "dex_applied");
64  STAT_NAMES.put(Stats.CS_STAT_CON, "con");
65  STAT_NAMES.put(Stats.CS_STAT_RACE_CON, "con_race");
66  STAT_NAMES.put(Stats.CS_STAT_BASE_CON, "con_base");
67  STAT_NAMES.put(Stats.CS_STAT_APPLIED_CON, "con_applied");
68  STAT_NAMES.put(Stats.CS_STAT_CHA, "cha");
69  STAT_NAMES.put(Stats.CS_STAT_RACE_CHA, "cha_race");
70  STAT_NAMES.put(Stats.CS_STAT_BASE_CHA, "cha_base");
71  STAT_NAMES.put(Stats.CS_STAT_APPLIED_CHA, "cha_applied");
72  STAT_NAMES.put(Stats.CS_STAT_LEVEL, "level");
73  STAT_NAMES.put(Stats.CS_STAT_WC, "wc");
74  STAT_NAMES.put(Stats.CS_STAT_AC, "ac");
75  STAT_NAMES.put(Stats.CS_STAT_DAM, "dam");
76  STAT_NAMES.put(Stats.CS_STAT_ARMOUR, "armour");
77  STAT_NAMES.put(Stats.CS_STAT_FOOD, "food");
78  STAT_NAMES.put(Stats.CS_STAT_POW, "pow");
79  STAT_NAMES.put(Stats.CS_STAT_RACE_POW, "pow_race");
80  STAT_NAMES.put(Stats.CS_STAT_BASE_POW, "pow_base");
81  STAT_NAMES.put(Stats.CS_STAT_APPLIED_POW, "pow_applied");
82  STAT_NAMES.put(Stats.CS_STAT_GRACE, "grace");
83  STAT_NAMES.put(Stats.CS_STAT_MAXGRACE, "maxgrace");
84  STAT_NAMES.put(Stats.CS_STAT_FLAGS, "flags");
85  STAT_NAMES.put(Stats.CS_STAT_EXP, "exp");
86  STAT_NAMES.put(Stats.CS_STAT_SPEED, "speed");
87  STAT_NAMES.put(Stats.CS_STAT_WEAP_SP, "weap_sp");
88  STAT_NAMES.put(Stats.CS_STAT_WEIGHT_LIM, "weight_lim");
89  STAT_NAMES.put(Stats.CS_STAT_SPELL_ATTUNE, "spell_attune");
90  STAT_NAMES.put(Stats.CS_STAT_SPELL_REPEL, "spell_repel");
91  STAT_NAMES.put(Stats.CS_STAT_SPELL_DENY, "spell_deny");
92  STAT_NAMES.put(Stats.CS_STAT_EXP64, "exp");
93  STAT_NAMES.put(Stats.CS_STAT_RANGE, "range");
94  STAT_NAMES.put(Stats.CS_STAT_TITLE, "title");
95  STAT_NAMES.put(Stats.CS_STAT_GOLEM_HP, "golem_hp");
96  STAT_NAMES.put(Stats.CS_STAT_GOLEM_MAXHP, "golem_maxhp");
97  STAT_NAMES.put(Stats.CS_STAT_CHARACTER_FLAGS, "character_flags");
98  STAT_NAMES.put(Stats.CS_STAT_GOD_NAME, "overload");
99  STAT_NAMES.put(Stats.CS_STAT_OVERLOAD, "overload");
100  STAT_NAMES.put(Stats.CS_STAT_ITEM_POWER, "item_power");
101  for (int stat = Stats.CS_STAT_RESIST_START; stat < Stats.CS_STAT_RESIST_START+Stats.RESIST_TYPES; stat++) {
102  STAT_NAMES.put(stat, "resists");
103  }
104  for (int skill = Stats.CS_STAT_SKILLINFO; skill < Stats.CS_STAT_SKILLINFO+Stats.CS_NUM_SKILLS; skill++) {
105  STAT_NAMES.put(skill, "skill");
106  }
107  }
108 
112  private StatUtils() {
113  }
114 
120  @NotNull
121  public static String getStatNames(final int stat) {
122  return STAT_NAMES.computeIfAbsent(stat, state2 -> {
123  System.err.println("Unknown stat #"+stat);
124  return "#"+stat;
125  });
126  }
127 
128 }
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_OVERLOAD
static final int CS_STAT_OVERLOAD
Definition: Stats.java:341
com.realtime.crossfire.jxclient
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.CS_NUM_SKILLS
static final int CS_NUM_SKILLS
Definition: Stats.java:475
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.server.crossfire.StatUtils.StatUtils
StatUtils()
Definition: StatUtils.java:112
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_RESIST_START
static final int CS_STAT_RESIST_START
Definition: Stats.java:351
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_ARMOUR
static final int CS_STAT_ARMOUR
Definition: Stats.java:129
com.realtime.crossfire.jxclient.stats.Stats.RESIST_TYPES
static final int RESIST_TYPES
Definition: Stats.java:456
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_EXP64
static final int CS_STAT_EXP64
Definition: Stats.java:195
com.realtime.crossfire.jxclient.server.crossfire.StatUtils
Definition: StatUtils.java:34
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_MAXGRACE
static final int CS_STAT_MAXGRACE
Definition: Stats.java:175
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_SPELL_DENY
static final int CS_STAT_SPELL_DENY
Definition: Stats.java:210
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.CS_STAT_MAXHP
static final int CS_STAT_MAXHP
Definition: Stats.java:54
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_SPELL_REPEL
static final int CS_STAT_SPELL_REPEL
Definition: Stats.java:205
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_FLAGS
static final int CS_STAT_FLAGS
Definition: Stats.java:180
com.realtime.crossfire.jxclient.server.crossfire.StatUtils.getStatNames
static String getStatNames(final int stat)
Definition: StatUtils.java:121
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_APPLIED_INT
static final int CS_STAT_APPLIED_INT
Definition: Stats.java:290
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_SPELL_ATTUNE
static final int CS_STAT_SPELL_ATTUNE
Definition: Stats.java:200
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_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_BASE_STR
static final int CS_STAT_BASE_STR
Definition: Stats.java:250
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_APPLIED_WIS
static final int CS_STAT_APPLIED_WIS
Definition: Stats.java:295
com.realtime.crossfire
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
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
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_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.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.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_BASE_INT
static final int CS_STAT_BASE_INT
Definition: Stats.java:255
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.server.crossfire.StatUtils.STAT_NAMES
static final Map< Integer, String > STAT_NAMES
Definition: StatUtils.java:41
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_SKILLINFO
static final int CS_STAT_SKILLINFO
Definition: Stats.java:539
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.CS_STAT_EXP
static final int CS_STAT_EXP
Definition: Stats.java:99
com.realtime.crossfire.jxclient.stats
Definition: ActiveSkillWatcher.java:23
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_MAXSP
static final int CS_STAT_MAXSP
Definition: Stats.java:64