From 761c43dc3d7d012425f15a9668a86f2b214d0f24 Mon Sep 17 00:00:00 2001 From: Denis Molony Date: Mon, 7 Feb 2022 15:26:42 +1000 Subject: [PATCH] changed award function --- .../diskbrowser/wizardry/Character.java | 44 +++++++++---------- 1 file changed, 20 insertions(+), 24 deletions(-) diff --git a/src/com/bytezone/diskbrowser/wizardry/Character.java b/src/com/bytezone/diskbrowser/wizardry/Character.java index bf10501..23f13ea 100755 --- a/src/com/bytezone/diskbrowser/wizardry/Character.java +++ b/src/com/bytezone/diskbrowser/wizardry/Character.java @@ -12,6 +12,8 @@ import com.bytezone.diskbrowser.utilities.Utility; class Character extends AbstractFile // -----------------------------------------------------------------------------------// { + private static char[] awardsText = ">!$#&*"; - if (v1 == 0x00 && v2 == 0x00) - return ""; - if (v1 == 0x00 && v2 == 0x20) - return "D"; - if (v1 == 0x20 && v2 == 0x20) - return "*D"; - if (v1 == 0x21 && v2 == 0x60) - return ">*DG"; - if (v1 == 0x21 && v2 == 0x28) - return ">*KD"; - return "Unknown : " + v1 + " " + v2; + StringBuilder text = new StringBuilder (); + + int awards = Utility.getShort (buffer, 206); + + for (int i = 0; i < 16; i++) + { + if ((awards & 0x01) != 0) + text.append (awardsText[i]); + awards >>>= 1; + } + + return text.toString (); } // ---------------------------------------------------------------------------------// @@ -322,8 +319,7 @@ class Character extends AbstractFile @Override public String toString () { - return String.format ("%s%-15s (%d)", equipped ? "*" : " ", item.getName (), - item.getCost ()); + return String.format ("%s%-15s (%d)", equipped ? "*" : " ", item.getName (), item.getCost ()); } }