Crossfire JXClient, Trunk  R20561
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-2011 Andreas Kirschbaum.
20  */
21 
22 package com.realtime.crossfire.jxclient.scripts;
23 
25 import java.util.HashMap;
26 import java.util.Map;
27 import org.jetbrains.annotations.NotNull;
28 
33 public class StatUtils {
34 
38  @NotNull
39  private static final Map<Integer, String> STAT_NAMES = new HashMap<>();
40 
41  static {
42  STAT_NAMES.put(Stats.CS_STAT_HP, "hp");
43  STAT_NAMES.put(Stats.CS_STAT_MAXHP, "maxhp");
44  STAT_NAMES.put(Stats.CS_STAT_SP, "sp");
45  STAT_NAMES.put(Stats.CS_STAT_MAXSP, "maxsp");
46  STAT_NAMES.put(Stats.CS_STAT_STR, "str");
47  STAT_NAMES.put(Stats.CS_STAT_RACE_STR, "str_race");
48  STAT_NAMES.put(Stats.CS_STAT_BASE_STR, "str_base");
49  STAT_NAMES.put(Stats.CS_STAT_APPLIED_STR, "str_applied");
50  STAT_NAMES.put(Stats.CS_STAT_INT, "int");
51  STAT_NAMES.put(Stats.CS_STAT_RACE_INT, "int_race");
52  STAT_NAMES.put(Stats.CS_STAT_BASE_INT, "int_base");
53  STAT_NAMES.put(Stats.CS_STAT_APPLIED_INT, "int_applied");
54  STAT_NAMES.put(Stats.CS_STAT_WIS, "wis");
55  STAT_NAMES.put(Stats.CS_STAT_RACE_WIS, "wis_race");
56  STAT_NAMES.put(Stats.CS_STAT_BASE_WIS, "wis_base");
57  STAT_NAMES.put(Stats.CS_STAT_APPLIED_WIS, "wis_applied");
58  STAT_NAMES.put(Stats.CS_STAT_DEX, "dex");
59  STAT_NAMES.put(Stats.CS_STAT_RACE_DEX, "dex_race");
60  STAT_NAMES.put(Stats.CS_STAT_BASE_DEX, "dex_base");
61  STAT_NAMES.put(Stats.CS_STAT_APPLIED_DEX, "dex_applied");
62  STAT_NAMES.put(Stats.CS_STAT_CON, "con");
63  STAT_NAMES.put(Stats.CS_STAT_RACE_CON, "con_race");
64  STAT_NAMES.put(Stats.CS_STAT_BASE_CON, "con_base");
65  STAT_NAMES.put(Stats.CS_STAT_APPLIED_CON, "con_applied");
66  STAT_NAMES.put(Stats.CS_STAT_CHA, "cha");
67  STAT_NAMES.put(Stats.CS_STAT_RACE_CHA, "cha_race");
68  STAT_NAMES.put(Stats.CS_STAT_BASE_CHA, "cha_base");
69  STAT_NAMES.put(Stats.CS_STAT_APPLIED_CHA, "cha_applied");
70  STAT_NAMES.put(Stats.CS_STAT_LEVEL, "level");
71  STAT_NAMES.put(Stats.CS_STAT_WC, "wc");
72  STAT_NAMES.put(Stats.CS_STAT_AC, "ac");
73  STAT_NAMES.put(Stats.CS_STAT_DAM, "dam");
74  STAT_NAMES.put(Stats.CS_STAT_ARMOUR, "armour");
75  STAT_NAMES.put(Stats.CS_STAT_FOOD, "food");
76  STAT_NAMES.put(Stats.CS_STAT_POW, "pow");
77  STAT_NAMES.put(Stats.CS_STAT_RACE_POW, "pow_race");
78  STAT_NAMES.put(Stats.CS_STAT_BASE_POW, "pow_base");
79  STAT_NAMES.put(Stats.CS_STAT_APPLIED_POW, "pow_applied");
80  STAT_NAMES.put(Stats.CS_STAT_GRACE, "grace");
81  STAT_NAMES.put(Stats.CS_STAT_MAXGRACE, "maxgrace");
82  STAT_NAMES.put(Stats.CS_STAT_FLAGS, "flags");
83  STAT_NAMES.put(Stats.CS_STAT_EXP, "exp");
84  STAT_NAMES.put(Stats.CS_STAT_SPEED, "speed");
85  STAT_NAMES.put(Stats.CS_STAT_WEAP_SP, "weap_sp");
86  STAT_NAMES.put(Stats.CS_STAT_WEIGHT_LIM, "weight_lim");
87  STAT_NAMES.put(Stats.CS_STAT_SPELL_ATTUNE, "spell_attune");
88  STAT_NAMES.put(Stats.CS_STAT_SPELL_REPEL, "spell_repel");
89  STAT_NAMES.put(Stats.CS_STAT_SPELL_DENY, "spell_deny");
90  STAT_NAMES.put(Stats.CS_STAT_EXP64, "exp");
91  STAT_NAMES.put(Stats.CS_STAT_RANGE, "range");
92  STAT_NAMES.put(Stats.CS_STAT_TITLE, "title");
93  STAT_NAMES.put(Stats.CS_STAT_GOLEM_HP, "golem_hp");
94  STAT_NAMES.put(Stats.CS_STAT_GOLEM_MAXHP, "golem_maxhp");
95  for (int stat = Stats.CS_STAT_RESIST_START; stat < Stats.CS_STAT_RESIST_START+Stats.RESIST_TYPES; stat++) {
96  STAT_NAMES.put(stat, "resists");
97  }
98  for (int skill = Stats.CS_STAT_SKILLINFO; skill < Stats.CS_STAT_SKILLINFO+Stats.CS_NUM_SKILLS; skill++) {
99  STAT_NAMES.put(skill, "skill");
100  }
101  }
102 
106  private StatUtils() {
107  }
108 
114  @NotNull
115  public static String getStatNames(final int stat) {
116  final String statName = STAT_NAMES.get(stat);
117  if (statName == null) {
118  throw new AssertionError();
119  }
120  return statName;
121  }
122 
123 }
static final int CS_STAT_GOLEM_HP
The golem&#39;s hitpoints, 0 if no golem.
Definition: Stats.java:319
static final int CS_STAT_RACE_CHA
The race&#39;s maximum charisma primary stat.
Definition: Stats.java:239
static final int CS_STAT_DEX
The Dexterity Primary stat.
Definition: Stats.java:83
static final int CS_STAT_SPELL_ATTUNE
Attuned spell paths of a spell.
Definition: Stats.java:199
static final int RESIST_TYPES
The total number of resistances.
Definition: Stats.java:434
static final int CS_STAT_TITLE
The Title stat.
Definition: Stats.java:159
static final int CS_STAT_SPELL_DENY
Denied spell paths of a spell.
Definition: Stats.java:209
static final int CS_STAT_RANGE
The Range stat - this is what is currently readied by the player to fire.
Definition: Stats.java:154
static final int CS_STAT_APPLIED_CON
The constitution primary stat changes due to gear or skills.
Definition: Stats.java:304
static final int CS_STAT_RESIST_START
Beginning index of the resistances.
Definition: Stats.java:329
static final int CS_STAT_BASE_POW
The power primary stat without boosts or depletions.
Definition: Stats.java:279
static final int CS_STAT_POW
The Power Primary stat.
Definition: Stats.java:164
static final int CS_STAT_APPLIED_INT
The integer primary stat changes due to gear or skills.
Definition: Stats.java:289
StatUtils()
Private constructor to prevent instantiation.
Definition: StatUtils.java:106
static final int CS_NUM_SKILLS
CS_NUM_SKILLS does not match how many skills there really are - instead, it is used as a range of val...
Definition: Stats.java:447
static final int CS_STAT_HP
The Hit Points stat.
Definition: Stats.java:48
static final int CS_STAT_LEVEL
The Global Level stat.
Definition: Stats.java:108
static final int CS_STAT_MAXHP
The Maximum Hit Points stat.
Definition: Stats.java:53
static final int CS_STAT_RACE_WIS
The race&#39;s maximum wisdom primary stat.
Definition: Stats.java:224
static final int CS_STAT_DAM
The Damage stat.
Definition: Stats.java:123
static final int CS_STAT_STR
The Strength Primary stat.
Definition: Stats.java:68
static final int CS_STAT_AC
The Armor Class stat.
Definition: Stats.java:118
static final int CS_STAT_FOOD
The Food stat.
Definition: Stats.java:138
static final int CS_STAT_WIS
The Wisdom Primary stat.
Definition: Stats.java:78
static final int CS_STAT_BASE_INT
The integer primary stat without boosts or depletions.
Definition: Stats.java:254
static final int CS_STAT_SP
The Spell Points stat.
Definition: Stats.java:58
static String getStatNames(final int stat)
Returns the stat name for a stat value.
Definition: StatUtils.java:115
static final int CS_STAT_RACE_CON
The race&#39;s maximum constitution primary stat.
Definition: Stats.java:234
static final int CS_STAT_WEIGHT_LIM
The Weight Limit stat.
Definition: Stats.java:184
static final int CS_STAT_APPLIED_STR
The strength primary stat changes due to gear or skills.
Definition: Stats.java:284
static final int CS_STAT_BASE_STR
The strength primary stat without boosts or depletions.
Definition: Stats.java:249
static final int CS_STAT_GOLEM_MAXHP
The golem&#39;s maximum hitpoints, 0 if no golem.
Definition: Stats.java:324
static final int CS_STAT_SKILLINFO
CS_STAT_SKILLINFO is used as the starting index point.
Definition: Stats.java:454
static final int CS_STAT_CON
The Constitution Primary stat.
Definition: Stats.java:88
static final int CS_STAT_RACE_STR
The race&#39;s maximum strength primary stat.
Definition: Stats.java:214
static final int CS_STAT_APPLIED_DEX
The dexterity primary stat changes due to gear or skills.
Definition: Stats.java:299
Utility class for converting stat values to stat names.
Definition: StatUtils.java:33
static final int CS_STAT_RACE_INT
The race&#39;s maximum intelligence primary stat.
Definition: Stats.java:219
static final int CS_STAT_MAXGRACE
The Maximum Grace stat.
Definition: Stats.java:174
static final int CS_STAT_RACE_DEX
The race&#39;s maximum dexterity primary stat.
Definition: Stats.java:229
static final int CS_STAT_BASE_CON
The constitution primary stat without boosts or depletions.
Definition: Stats.java:269
static final int CS_STAT_CHA
The Charisma Primary stat.
Definition: Stats.java:93
static final int CS_STAT_EXP64
The Global Experience (64bit encoding) stat.
Definition: Stats.java:194
static final int CS_STAT_APPLIED_CHA
The charisma primary stat changes due to gear or skills.
Definition: Stats.java:309
static final int CS_STAT_SPELL_REPEL
Repelled spell paths of a spell.
Definition: Stats.java:204
static final int CS_STAT_WC
The Weapon Class stat.
Definition: Stats.java:113
static final int CS_STAT_EXP
The Global Experience (32bit encoding) stat.
Definition: Stats.java:98
static final int CS_STAT_BASE_WIS
The wisdom primary stat without boosts or depletions.
Definition: Stats.java:259
static final int CS_STAT_BASE_DEX
The dexterity primary stat without boosts or depletions.
Definition: Stats.java:264
static final int CS_STAT_RACE_POW
The race&#39;s maximum power primary stat.
Definition: Stats.java:244
static final int CS_STAT_INT
The Intelligence Primary stat.
Definition: Stats.java:73
static final int CS_STAT_FLAGS
The various flags used in stats.
Definition: Stats.java:179
This is the representation of all the statistics of a player, like its speed or its experience...
Definition: Stats.java:43
static final int CS_STAT_WEAP_SP
The Weapon Speed stat.
Definition: Stats.java:148
static final int CS_STAT_MAXSP
The Maximum Spell Points stat.
Definition: Stats.java:63
static final int CS_STAT_APPLIED_POW
The power primary stat changes due to gear or skills.
Definition: Stats.java:314
static final int CS_STAT_SPEED
The Speed stat.
Definition: Stats.java:133
static final int CS_STAT_GRACE
The Grace stat.
Definition: Stats.java:169
static final int CS_STAT_BASE_CHA
The charisma primary stat without boosts or depletions.
Definition: Stats.java:274
static final Map< Integer, String > STAT_NAMES
The stat names: maps stat value to stat name.
Definition: StatUtils.java:39
static final int CS_STAT_ARMOUR
The Armour stat.
Definition: Stats.java:128
static final int CS_STAT_APPLIED_WIS
The wisdom primary stat changes due to gear or skills.
Definition: Stats.java:294