Crossfire JXClient, Trunk
Stats.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 
31 import java.util.Collection;
32 import java.util.HashSet;
33 import org.jetbrains.annotations.NotNull;
34 
44 public class Stats {
45 
49  public static final int CS_STAT_HP = 1;
50 
54  public static final int CS_STAT_MAXHP = 2;
55 
59  public static final int CS_STAT_SP = 3;
60 
64  public static final int CS_STAT_MAXSP = 4;
65 
69  public static final int CS_STAT_STR = 5;
70 
74  public static final int CS_STAT_INT = 6;
75 
79  public static final int CS_STAT_WIS = 7;
80 
84  public static final int CS_STAT_DEX = 8;
85 
89  public static final int CS_STAT_CON = 9;
90 
94  public static final int CS_STAT_CHA = 10;
95 
99  public static final int CS_STAT_EXP = 11;
100 
104  public static final int C_STAT_EXP_NEXT_LEVEL = 0x10000;
105 
109  public static final int CS_STAT_LEVEL = 12;
110 
114  public static final int CS_STAT_WC = 13;
115 
119  public static final int CS_STAT_AC = 14;
120 
124  public static final int CS_STAT_DAM = 15;
125 
129  public static final int CS_STAT_ARMOUR = 16;
130 
134  public static final int CS_STAT_SPEED = 17;
135 
139  public static final int CS_STAT_FOOD = 18;
140 
144  public static final int C_STAT_LOWFOOD = 0x10003;
145 
149  public static final int CS_STAT_WEAP_SP = 19;
150 
155  public static final int CS_STAT_RANGE = 20;
156 
160  public static final int CS_STAT_TITLE = 21;
161 
165  public static final int CS_STAT_POW = 22;
166 
170  public static final int CS_STAT_GRACE = 23;
171 
175  public static final int CS_STAT_MAXGRACE = 24;
176 
180  public static final int CS_STAT_FLAGS = 25;
181 
185  public static final int CS_STAT_WEIGHT_LIM = 26;
186 
190  public static final int C_STAT_WEIGHT = 257;
191 
195  public static final int CS_STAT_EXP64 = 28;
196 
200  public static final int CS_STAT_SPELL_ATTUNE = 29;
201 
205  public static final int CS_STAT_SPELL_REPEL = 30;
206 
210  public static final int CS_STAT_SPELL_DENY = 31;
211 
215  public static final int CS_STAT_RACE_STR = 32;
216 
220  public static final int CS_STAT_RACE_INT = 33;
221 
225  public static final int CS_STAT_RACE_WIS = 34;
226 
230  public static final int CS_STAT_RACE_DEX = 35;
231 
235  public static final int CS_STAT_RACE_CON = 36;
236 
240  public static final int CS_STAT_RACE_CHA = 37;
241 
245  public static final int CS_STAT_RACE_POW = 38;
246 
250  public static final int CS_STAT_BASE_STR = 39;
251 
255  public static final int CS_STAT_BASE_INT = 40;
256 
260  public static final int CS_STAT_BASE_WIS = 41;
261 
265  public static final int CS_STAT_BASE_DEX = 42;
266 
270  public static final int CS_STAT_BASE_CON = 43;
271 
275  public static final int CS_STAT_BASE_CHA = 44;
276 
280  public static final int CS_STAT_BASE_POW = 45;
281 
285  public static final int CS_STAT_APPLIED_STR = 46;
286 
290  public static final int CS_STAT_APPLIED_INT = 47;
291 
295  public static final int CS_STAT_APPLIED_WIS = 48;
296 
300  public static final int CS_STAT_APPLIED_DEX = 49;
301 
305  public static final int CS_STAT_APPLIED_CON = 50;
306 
310  public static final int CS_STAT_APPLIED_CHA = 51;
311 
315  public static final int CS_STAT_APPLIED_POW = 52;
316 
320  public static final int CS_STAT_GOLEM_HP = 53;
321 
325  public static final int CS_STAT_GOLEM_MAXHP = 54;
326 
330  public static final int CS_STAT_CHARACTER_FLAGS = 55;
331 
335  public static final int CS_STAT_GOD_NAME = 56;
336 
341  public static final int CS_STAT_OVERLOAD = 57;
342 
346  public static final int CS_STAT_ITEM_POWER = 58;
347 
351  public static final int CS_STAT_RESIST_START = 100;
352 
356  public static final int CS_STAT_RESIST_END = 117;
357 
361  public static final int CS_STAT_RES_PHYS = 100;
362 
366  public static final int CS_STAT_RES_MAG = 101;
367 
371  public static final int CS_STAT_RES_FIRE = 102;
372 
376  public static final int CS_STAT_RES_ELEC = 103;
377 
381  public static final int CS_STAT_RES_COLD = 104;
382 
386  public static final int CS_STAT_RES_CONF = 105;
387 
391  public static final int CS_STAT_RES_ACID = 106;
392 
396  public static final int CS_STAT_RES_DRAIN = 107;
397 
401  public static final int CS_STAT_RES_GHOSTHIT = 108;
402 
406  public static final int CS_STAT_RES_POISON = 109;
407 
411  public static final int CS_STAT_RES_SLOW = 110;
412 
416  public static final int CS_STAT_RES_PARA = 111;
417 
421  public static final int CS_STAT_RES_TURN_UNDEAD = 112;
422 
426  public static final int CS_STAT_RES_FEAR = 113;
427 
431  public static final int CS_STAT_RES_DEPLETE = 114;
432 
436  public static final int CS_STAT_RES_DEATH = 115;
437 
441  public static final int CS_STAT_RES_HOLYWORD = 116;
442 
446  public static final int CS_STAT_RES_BLIND = 117;
447 
451  public static final int FLOAT_MULTI = 100000;
452 
456  public static final int RESIST_TYPES = 18;
457 
462  public static final int C_STAT_POISONED = 256;
463 
468  public static final int C_STAT_STARVING = 267;
469 
475  public static final int CS_NUM_SKILLS = 50;
476 
481  public static final int C_STAT_CONFUSED = 258;
482 
486  public static final int C_STAT_BLIND = 259;
487 
492  public static final int C_STAT_XRAY = 260;
493 
498  public static final int C_STAT_DISEASED = 261;
499 
504  public static final int C_STAT_NOT_PERFECT = 262;
505 
510  public static final int C_STAT_HOSTILE = 263;
511 
516  public static final int C_STAT_STEALTHY = 264;
517 
522  public static final int C_STAT_PARALYZED = 265;
523 
527  public static final int C_STAT_WIZARD = 266;
528 
532  public static final int C_STAT_CURRENT_SKILL = 267;
533 
539  public static final int CS_STAT_SKILLINFO = 140;
540 
544  public static final int CF_CONFUSED = 0x01;
545 
549  public static final int CF_POISONED = 0x02;
550 
554  public static final int CF_BLIND = 0x04;
555 
560  public static final int CF_XRAY = 0x08;
561 
566  public static final int CF_DISEASED = 0x10;
567 
572  public static final int CF_NOT_PERFECT = 0x20;
573 
578  public static final int CF_HOSTILE = 0x40;
579 
584  public static final int CF_STEALTHY = 0x80;
585 
590  public static final int CF_PARALYZED = 0x100;
591 
595  public static final int CF_WIZARD = 0x200;
596 
601  @NotNull
602  public static final String NO_GOD_NAME = "none";
603 
608  private boolean simpleWeaponSpeed;
609 
613  @NotNull
615 
619  @NotNull
621 
625  @NotNull
626  private final SkillSet skillSet;
627 
631  private final int @NotNull [] stats = new int[268];
632 
636  private long exp;
637 
641  private long expNextLevel;
642 
646  @NotNull
647  private String range = "";
648 
652  @NotNull
653  private String title = "";
654 
658  @NotNull
659  private String godName = NO_GOD_NAME;
660 
664  @NotNull
665  private String activeSkill = "";
666 
670  @NotNull
671  private final Collection<String> unhandledStats = new HashSet<>(0);
672 
677  @NotNull
678  @SuppressWarnings("FieldCanBeLocal")
680 
681  @Override
682  public void start() {
683  // ignore
684  }
685 
686  @Override
687  public void metaserver() {
688  // ignore
689  }
690 
691  @Override
692  public void preConnecting(@NotNull final String serverInfo) {
693  // ignore
694  }
695 
696  @Override
697  public void connecting(@NotNull final String serverInfo) {
698  reset();
699  }
700 
701  @Override
702  public void connecting(@NotNull final ClientSocketState clientSocketState, @NotNull final String param) {
703  // ignore
704  }
705 
706  @Override
707  public void connected() {
708  // ignore
709  }
710 
711  @Override
712  public void connectFailed(@NotNull final String reason) {
713  // ignore
714  }
715 
716  };
717 
724  public Stats(@NotNull final ExperienceTable experienceTable, @NotNull final SkillSet skillSet, @NotNull final GuiStateManager guiStateManager) {
725  this.experienceTable = experienceTable; // XXX: should detect changed information
726  this.skillSet = skillSet;
727  guiStateManager.addGuiStateListener(guiStateListener);
728  }
729 
736  public void setSimpleWeaponSpeed(final boolean simpleWeaponSpeed) {
737  if (this.simpleWeaponSpeed == simpleWeaponSpeed) {
738  return;
739  }
740 
741  this.simpleWeaponSpeed = simpleWeaponSpeed;
742  for (StatsListener statsListener : statsListeners) {
743  statsListener.simpleWeaponSpeedChanged(this.simpleWeaponSpeed);
744  }
745  }
746 
750  private void reset() {
751  for (StatsListener statsListener : statsListeners) {
752  statsListener.resetBefore();
753  }
754  for (int statNo = 0; statNo < stats.length; statNo++) {
755  setStat(statNo, 0);
756  }
757  setExperience(0);
758  setRange("");
759  setTitle("");
760  setActiveSkill("");
761  for (StatsListener statsListener : statsListeners) {
762  statsListener.resetAfter();
763  }
764  }
765 
771  public int getStat(final int statNo) {
772  return stats[statNo];
773  }
774 
780  public double getFloatStat(final int statNo) {
781  return (double)stats[statNo]/FLOAT_MULTI;
782  }
783 
789  public void setStat(final int statNo, final int value) {
790  setStatInt(statNo, value);
791  if (statNo == CS_STAT_CHARACTER_FLAGS) {
792  setStatInt(C_STAT_CONFUSED, (value&CF_CONFUSED) == 0 ? 0 : 1);
793  //setStatInt(C_STAT_POISONED, (value&CF_POISONED) == 0 ? 0 : 1); // disabled because PoisonWatcher calculates this
794  setStatInt(C_STAT_BLIND, (value&CF_BLIND) == 0 ? 0 : 1);
795  setStatInt(C_STAT_XRAY, (value&CF_XRAY) == 0 ? 0 : 1);
796  setStatInt(C_STAT_DISEASED, (value&CF_DISEASED) == 0 ? 0 : 1);
797  setStatInt(C_STAT_NOT_PERFECT, (value&CF_NOT_PERFECT) == 0 ? 0 : 1);
798  setStatInt(C_STAT_HOSTILE, (value&CF_HOSTILE) == 0 ? 0 : 1);
799  setStatInt(C_STAT_STEALTHY, (value&CF_STEALTHY) == 0 ? 0 : 1);
800  setStatInt(C_STAT_PARALYZED, (value&CF_PARALYZED) == 0 ? 0 : 1);
801  setStatInt(C_STAT_WIZARD, (value&CF_WIZARD) == 0 ? 0 : 1);
802  }
803  }
804 
811  private void setStatInt(final int statNo, final int value) {
812  if (stats[statNo] == value) {
813  return;
814  }
815 
816  stats[statNo] = value;
817  for (StatsListener statsListener : statsListeners) {
818  statsListener.statChanged(statNo, stats[statNo]);
819  }
820  }
821 
826  @NotNull
827  public String getTitle() {
828  return title;
829  }
830 
836  @NotNull
837  public String getRange() {
838  return range;
839  }
840 
845  @NotNull
846  public String getActiveSkill() {
847  return activeSkill;
848  }
849 
854  private void setTitle(@NotNull final String title) {
855  if (this.title.equals(title)) {
856  return;
857  }
858 
859  this.title = title;
860  for (StatsListener statsListener : statsListeners) {
861  statsListener.titleChanged(this.title);
862  }
863  }
864 
869  private void setGodName(@NotNull final String godName) {
870  if (this.godName.equals(godName)) {
871  return;
872  }
873 
874  this.godName = godName;
875  for (StatsListener statsListener : statsListeners) {
876  statsListener.godNameChanged(this.godName);
877  }
878  }
879 
885  private void setRange(@NotNull final String range) {
886  if (this.range.equals(range)) {
887  return;
888  }
889 
890  this.range = range;
891  for (StatsListener statsListener : statsListeners) {
892  statsListener.rangeChanged(this.range);
893  }
894  }
895 
900  public void setActiveSkill(@NotNull final String activeSkill) {
901  if (this.activeSkill.equals(activeSkill)) {
902  return;
903  }
904 
905  this.activeSkill = activeSkill;
906  for (StatsListener statsListener : statsListeners) {
907  statsListener.activeSkillChanged(this.activeSkill);
908  }
909  }
910 
915  public long getExperience() {
916  return exp;
917  }
918 
923  private void setExperience(final long exp) {
924  if (this.exp == exp) {
925  return;
926  }
927 
928  this.exp = exp;
929  for (StatsListener statsListener : statsListeners) {
930  statsListener.experienceChanged(this.exp);
931  }
932 
934  }
935 
940  public long getExperienceNextLevel() {
941  return expNextLevel;
942  }
943 
948  final long newExpNextLevel = experienceTable.getExperienceToNextLevel(stats[CS_STAT_LEVEL], exp);
949  if (expNextLevel == newExpNextLevel) {
950  return;
951  }
952 
953  expNextLevel = newExpNextLevel;
954  for (StatsListener statsListener : statsListeners) {
955  statsListener.experienceNextLevelChanged(expNextLevel);
956  }
957  }
958 
963  public void addCrossfireStatsListener(@NotNull final StatsListener statsListener) {
964  statsListeners.add(statsListener);
965  }
966 
971  public void removeCrossfireStatsListener(@NotNull final StatsListener statsListener) {
972  statsListeners.remove(statsListener);
973  }
974 
979  public double getWeaponSpeed() {
980  final double weaponSpeed = getFloatStat(CS_STAT_WEAP_SP);
981  if (simpleWeaponSpeed) {
982  return weaponSpeed;
983  }
984 
985  if (weaponSpeed < 0.001) {
986  return 0;
987  }
988 
989  return getFloatStat(CS_STAT_SPEED)/weaponSpeed;
990  }
991 
997  public void setStatInt2(final int stat, final short param) {
998  switch (stat) {
999  case CS_STAT_HP:
1000  case CS_STAT_MAXHP:
1001  case CS_STAT_SP:
1002  case CS_STAT_MAXSP:
1003  case CS_STAT_STR:
1004  case CS_STAT_INT:
1005  case CS_STAT_WIS:
1006  case CS_STAT_DEX:
1007  case CS_STAT_CON:
1008  case CS_STAT_CHA:
1009  case CS_STAT_LEVEL:
1010  case CS_STAT_WC:
1011  case CS_STAT_AC:
1012  case CS_STAT_DAM:
1013  case CS_STAT_ARMOUR:
1014  case CS_STAT_FOOD:
1015  case CS_STAT_POW:
1016  case CS_STAT_GRACE:
1017  case CS_STAT_MAXGRACE:
1018  case CS_STAT_RACE_STR:
1019  case CS_STAT_RACE_INT:
1020  case CS_STAT_RACE_WIS:
1021  case CS_STAT_RACE_DEX:
1022  case CS_STAT_RACE_CON:
1023  case CS_STAT_RACE_CHA:
1024  case CS_STAT_RACE_POW:
1025  case CS_STAT_BASE_STR:
1026  case CS_STAT_BASE_INT:
1027  case CS_STAT_BASE_WIS:
1028  case CS_STAT_BASE_DEX:
1029  case CS_STAT_BASE_CON:
1030  case CS_STAT_BASE_CHA:
1031  case CS_STAT_BASE_POW:
1032  case CS_STAT_APPLIED_STR:
1033  case CS_STAT_APPLIED_INT:
1034  case CS_STAT_APPLIED_WIS:
1035  case CS_STAT_APPLIED_DEX:
1036  case CS_STAT_APPLIED_CON:
1037  case CS_STAT_APPLIED_CHA:
1038  case CS_STAT_APPLIED_POW:
1039  case CS_STAT_GOLEM_HP:
1040  case CS_STAT_GOLEM_MAXHP:
1041  case CS_STAT_ITEM_POWER:
1042  setStat(stat, param);
1043  if (stat == CS_STAT_LEVEL) {
1045  }
1046  break;
1047 
1048  case CS_STAT_FLAGS:
1049  setStat(stat, param&0xFFFF);
1050  break;
1051 
1052  default:
1053  if (CS_STAT_RESIST_START <= stat && stat < CS_STAT_RESIST_START+RESIST_TYPES) {
1054  setStat(stat, param);
1055  } else {
1056  reportUnhandledStat(stat, "int2");
1057  }
1058  break;
1059  }
1060  }
1061 
1067  public void setStatInt4(final int stat, final int param) {
1068  switch (stat) {
1069  case CS_STAT_EXP:
1070  setExperience(param&0xFFFFFFFFL);
1071  break;
1072 
1073  case CS_STAT_SPEED:
1074  case CS_STAT_WEAP_SP:
1075  case CS_STAT_WEIGHT_LIM:
1076  case CS_STAT_SPELL_ATTUNE:
1077  case CS_STAT_SPELL_REPEL:
1078  case CS_STAT_SPELL_DENY:
1080  case CS_STAT_OVERLOAD:
1081  setStat(stat, param);
1082  break;
1083 
1084  default:
1085  reportUnhandledStat(stat, "int4");
1086  break;
1087  }
1088  }
1089 
1095  public void setStatInt8(final int stat, final long param) {
1096  //noinspection SwitchStatementWithTooFewBranches
1097  switch (stat) {
1098  case CS_STAT_EXP64:
1099  setExperience(param);
1100  break;
1101 
1102  default:
1103  reportUnhandledStat(stat, "int8");
1104  break;
1105  }
1106  }
1107 
1113  public void setStatString(final int stat, @NotNull final String param) {
1114  switch (stat) {
1115  case CS_STAT_RANGE:
1116  setRange(param);
1117  break;
1118 
1119  case CS_STAT_TITLE:
1120  setTitle(param);
1121  break;
1122 
1123  case CS_STAT_GOD_NAME:
1124  setGodName(param);
1125  break;
1126 
1127  default:
1128  reportUnhandledStat(stat, "string");
1129  break;
1130  }
1131  }
1132 
1139  public void setStatSkill(final int stat, final int level, final long experience) {
1140  if (CS_STAT_SKILLINFO <= stat && stat < CS_STAT_SKILLINFO+CS_NUM_SKILLS) {
1141  final Skill sk = skillSet.getSkill(stat);
1142  if (sk == null) {
1143  System.err.println("ignoring skill value for unknown skill "+stat);
1144  } else {
1145  sk.set(level, experience);
1146  }
1147  } else {
1148  reportUnhandledStat(stat, "skill");
1149  }
1150  }
1151 
1157  private void reportUnhandledStat(final int stat, @NotNull final String type) {
1158  if (unhandledStats.add(type+"-"+stat)) {
1159  System.err.println("Warning: unhandled stat "+stat+" of type "+type);
1160  }
1161  }
1162 
1163 }
com.realtime.crossfire.jxclient.stats.Stats.FLOAT_MULTI
static final int FLOAT_MULTI
Definition: Stats.java:451
com.realtime.crossfire.jxclient.stats.Stats.CF_PARALYZED
static final int CF_PARALYZED
Definition: Stats.java:590
com.realtime.crossfire.jxclient.stats.Stats.CF_WIZARD
static final int CF_WIZARD
Definition: Stats.java:595
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.setStatInt
void setStatInt(final int statNo, final int value)
Definition: Stats.java:811
com.realtime.crossfire.jxclient.stats.Stats.setStatInt2
void setStatInt2(final int stat, final short param)
Definition: Stats.java:997
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.Stats.CS_STAT_RES_FIRE
static final int CS_STAT_RES_FIRE
Definition: Stats.java:371
com.realtime.crossfire.jxclient.stats.Stats.setStatInt8
void setStatInt8(final int stat, final long param)
Definition: Stats.java:1095
com.realtime.crossfire.jxclient.stats.Stats.CF_HOSTILE
static final int CF_HOSTILE
Definition: Stats.java:578
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.getRange
String getRange()
Definition: Stats.java:837
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.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.setActiveSkill
void setActiveSkill(@NotNull final String activeSkill)
Definition: Stats.java:900
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.guistate.ClientSocketState
Definition: ClientSocketState.java:30
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.ExperienceTable.getExperienceToNextLevel
long getExperienceToNextLevel(final int currentLevel, final long currentExp)
Definition: ExperienceTable.java:118
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.setStat
void setStat(final int statNo, final int value)
Definition: Stats.java:789
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.getExperienceNextLevel
long getExperienceNextLevel()
Definition: Stats.java:940
com.realtime.crossfire.jxclient.stats.Stats.CF_CONFUSED
static final int CF_CONFUSED
Definition: Stats.java:544
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.skills.Skill.set
void set(final int level, final long experience)
Definition: Skill.java:84
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.title
String title
Definition: Stats.java:653
com.realtime.crossfire.jxclient.stats.Stats.setExperience
void setExperience(final long exp)
Definition: Stats.java:923
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.util.EventListenerList2
Definition: EventListenerList2.java:37
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.range
String range
Definition: Stats.java:647
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_RES_SLOW
static final int CS_STAT_RES_SLOW
Definition: Stats.java:411
com.realtime.crossfire.jxclient.skills.Skill
Definition: Skill.java:35
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.CF_XRAY
static final int CF_XRAY
Definition: Stats.java:560
com.realtime.crossfire.jxclient.stats.Stats
Definition: Stats.java:44
com.realtime.crossfire.jxclient.stats.Stats.getWeaponSpeed
double getWeaponSpeed()
Definition: Stats.java:979
com.realtime.crossfire.jxclient.stats.Stats.setStatSkill
void setStatSkill(final int stat, final int level, final long experience)
Definition: Stats.java:1139
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.setSimpleWeaponSpeed
void setSimpleWeaponSpeed(final boolean simpleWeaponSpeed)
Definition: Stats.java:736
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_MAXGRACE
static final int CS_STAT_MAXGRACE
Definition: Stats.java:175
com.realtime.crossfire.jxclient.stats.StatsListener
Definition: StatsListener.java:32
com.realtime.crossfire.jxclient.stats.Stats.calculateExperienceToNextLevel
void calculateExperienceToNextLevel()
Definition: Stats.java:947
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_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.setRange
void setRange(@NotNull final String range)
Definition: Stats.java:885
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.C_STAT_WEIGHT
static final int C_STAT_WEIGHT
Definition: Stats.java:190
com.realtime.crossfire.jxclient.stats.Stats.getStat
int getStat(final int statNo)
Definition: Stats.java:771
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.guistate.GuiStateManager
Definition: GuiStateManager.java:34
com.realtime.crossfire.jxclient.guistate
Definition: ClientSocketState.java:23
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.setTitle
void setTitle(@NotNull final String title)
Definition: Stats.java:854
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_FLAGS
static final int CS_STAT_FLAGS
Definition: Stats.java:180
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.getFloatStat
double getFloatStat(final int statNo)
Definition: Stats.java:780
com.realtime.crossfire.jxclient.skills
Definition: Skill.java:23
com.realtime.crossfire.jxclient.guistate.GuiStateListener
Definition: GuiStateListener.java:32
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.stats
final int[] stats
Definition: Stats.java:631
com.realtime.crossfire.jxclient.stats.Stats.CF_DISEASED
static final int CF_DISEASED
Definition: Stats.java:566
com.realtime.crossfire.jxclient.stats.Stats.getActiveSkill
String getActiveSkill()
Definition: Stats.java:846
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.godName
String godName
Definition: Stats.java:659
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.experienceTable
final ExperienceTable experienceTable
Definition: Stats.java:620
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.exp
long exp
Definition: Stats.java:636
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_SPELL_ATTUNE
static final int CS_STAT_SPELL_ATTUNE
Definition: Stats.java:200
com.realtime.crossfire.jxclient.stats.ExperienceTable
Definition: ExperienceTable.java:33
com.realtime.crossfire.jxclient.stats.Stats.addCrossfireStatsListener
void addCrossfireStatsListener(@NotNull final StatsListener statsListener)
Definition: Stats.java:963
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.CS_STAT_RESIST_END
static final int CS_STAT_RESIST_END
Definition: Stats.java:356
com.realtime.crossfire.jxclient.util
Definition: Codec.java:23
com.realtime.crossfire.jxclient.skills.SkillSet.getSkill
Skill getSkill(final int id)
Definition: SkillSet.java:192
com.realtime.crossfire.jxclient.stats.Stats.statsListeners
final EventListenerList2< StatsListener > statsListeners
Definition: Stats.java:614
com.realtime.crossfire.jxclient.stats.Stats.reset
void reset()
Definition: Stats.java:750
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.guiStateListener
final GuiStateListener guiStateListener
Definition: Stats.java:679
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.setStatString
void setStatString(final int stat, @NotNull final String param)
Definition: Stats.java:1113
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.CF_STEALTHY
static final int CF_STEALTHY
Definition: Stats.java:584
com.realtime.crossfire.jxclient.stats.Stats.CF_NOT_PERFECT
static final int CF_NOT_PERFECT
Definition: Stats.java:572
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.setGodName
void setGodName(@NotNull final String godName)
Definition: Stats.java:869
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.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
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
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.getExperience
long getExperience()
Definition: Stats.java:915
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.simpleWeaponSpeed
boolean simpleWeaponSpeed
Definition: Stats.java:608
com.realtime.crossfire.jxclient.stats.Stats.CF_BLIND
static final int CF_BLIND
Definition: Stats.java:554
com.realtime.crossfire.jxclient.stats.Stats.Stats
Stats(@NotNull final ExperienceTable experienceTable, @NotNull final SkillSet skillSet, @NotNull final GuiStateManager guiStateManager)
Definition: Stats.java:724
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.reportUnhandledStat
void reportUnhandledStat(final int stat, @NotNull final String type)
Definition: Stats.java:1157
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.removeCrossfireStatsListener
void removeCrossfireStatsListener(@NotNull final StatsListener statsListener)
Definition: Stats.java:971
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.setStatInt4
void setStatInt4(final int stat, final int param)
Definition: Stats.java:1067
com.realtime.crossfire.jxclient.stats.Stats.expNextLevel
long expNextLevel
Definition: Stats.java:641
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.NO_GOD_NAME
static final String NO_GOD_NAME
Definition: Stats.java:602
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.skillSet
final SkillSet skillSet
Definition: Stats.java:626
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.skills.SkillSet
Definition: SkillSet.java:39
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.activeSkill
String activeSkill
Definition: Stats.java:665
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.CF_POISONED
static final int CF_POISONED
Definition: Stats.java:549
com.realtime.crossfire.jxclient.stats.Stats.unhandledStats
final Collection< String > unhandledStats
Definition: Stats.java:671
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.C_STAT_STEALTHY
static final int C_STAT_STEALTHY
Definition: Stats.java:516
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_EXP
static final int CS_STAT_EXP
Definition: Stats.java:99
com.realtime.crossfire.jxclient.stats.Stats.getTitle
String getTitle()
Definition: Stats.java:827
com.realtime.crossfire.jxclient.stats.Stats.CS_STAT_MAXSP
static final int CS_STAT_MAXSP
Definition: Stats.java:64