mirror of
https://github.com/dmolony/DiskBrowser.git
synced 2024-06-01 03:41:29 +00:00
changed award function
This commit is contained in:
parent
d03de97247
commit
761c43dc3d
|
@ -12,6 +12,8 @@ import com.bytezone.diskbrowser.utilities.Utility;
|
||||||
class Character extends AbstractFile
|
class Character extends AbstractFile
|
||||||
// -----------------------------------------------------------------------------------//
|
// -----------------------------------------------------------------------------------//
|
||||||
{
|
{
|
||||||
|
private static char[] awardsText = ">!$#&*<?BCPKODG@".toCharArray ();
|
||||||
|
|
||||||
private final Attributes attributes;
|
private final Attributes attributes;
|
||||||
private final Statistics stats;
|
private final Statistics stats;
|
||||||
int scenario;
|
int scenario;
|
||||||
|
@ -45,8 +47,7 @@ class Character extends AbstractFile
|
||||||
stats.alignment = alignments[buffer[42] & 0xFF];
|
stats.alignment = alignments[buffer[42] & 0xFF];
|
||||||
|
|
||||||
stats.gold = Utility.getShort (buffer, 52) + Utility.getShort (buffer, 54) * 10000;
|
stats.gold = Utility.getShort (buffer, 52) + Utility.getShort (buffer, 54) * 10000;
|
||||||
stats.experience =
|
stats.experience = Utility.getShort (buffer, 124) + Utility.getShort (buffer, 126) * 10000;
|
||||||
Utility.getShort (buffer, 124) + Utility.getShort (buffer, 126) * 10000;
|
|
||||||
stats.level = Utility.getShort (buffer, 132);
|
stats.level = Utility.getShort (buffer, 132);
|
||||||
|
|
||||||
stats.hitsLeft = Utility.getShort (buffer, 134);
|
stats.hitsLeft = Utility.getShort (buffer, 134);
|
||||||
|
@ -104,8 +105,8 @@ class Character extends AbstractFile
|
||||||
item.partyOwns++;
|
item.partyOwns++;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
System.out.println (getName () + " ItemID : " + itemID + " is outside range 0:"
|
System.out.println (
|
||||||
+ (itemList.size () - 1));
|
getName () + " ItemID : " + itemID + " is outside range 0:" + (itemList.size () - 1));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -150,7 +151,7 @@ class Character extends AbstractFile
|
||||||
text.append ("\nMaximum hits ....... " + stats.hitsMax);
|
text.append ("\nMaximum hits ....... " + stats.hitsMax);
|
||||||
text.append ("\nArmour class ....... " + stats.armourClass);
|
text.append ("\nArmour class ....... " + stats.armourClass);
|
||||||
text.append ("\nAsset value ........ " + String.format ("%,d", stats.assetValue));
|
text.append ("\nAsset value ........ " + String.format ("%,d", stats.assetValue));
|
||||||
text.append ("\nAwards ............. " + isWinner ());
|
text.append ("\nAwards ............. " + getAwardString ());
|
||||||
text.append ("\nOut ................ " + isOut ());
|
text.append ("\nOut ................ " + isOut ());
|
||||||
text.append ("\n\nStrength ........... " + attributes.strength);
|
text.append ("\n\nStrength ........... " + attributes.strength);
|
||||||
text.append ("\nIntelligence ....... " + attributes.intelligence);
|
text.append ("\nIntelligence ....... " + attributes.intelligence);
|
||||||
|
@ -218,26 +219,22 @@ class Character extends AbstractFile
|
||||||
return stats.nextLevel;
|
return stats.nextLevel;
|
||||||
}
|
}
|
||||||
|
|
||||||
// this is temporary until I have more data
|
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
public String isWinner ()
|
public String getAwardString ()
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
{
|
{
|
||||||
int v1 = buffer[206];
|
StringBuilder text = new StringBuilder ();
|
||||||
int v2 = buffer[207];
|
|
||||||
if (v1 == 0x01)
|
int awards = Utility.getShort (buffer, 206);
|
||||||
return ">";
|
|
||||||
if (v1 == 0x00 && v2 == 0x00)
|
for (int i = 0; i < 16; i++)
|
||||||
return "";
|
{
|
||||||
if (v1 == 0x00 && v2 == 0x20)
|
if ((awards & 0x01) != 0)
|
||||||
return "D";
|
text.append (awardsText[i]);
|
||||||
if (v1 == 0x20 && v2 == 0x20)
|
awards >>>= 1;
|
||||||
return "*D";
|
}
|
||||||
if (v1 == 0x21 && v2 == 0x60)
|
|
||||||
return ">*DG";
|
return text.toString ();
|
||||||
if (v1 == 0x21 && v2 == 0x28)
|
|
||||||
return ">*KD";
|
|
||||||
return "Unknown : " + v1 + " " + v2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// ---------------------------------------------------------------------------------//
|
// ---------------------------------------------------------------------------------//
|
||||||
|
@ -322,8 +319,7 @@ class Character extends AbstractFile
|
||||||
@Override
|
@Override
|
||||||
public String toString ()
|
public String toString ()
|
||||||
{
|
{
|
||||||
return String.format ("%s%-15s (%d)", equipped ? "*" : " ", item.getName (),
|
return String.format ("%s%-15s (%d)", equipped ? "*" : " ", item.getName (), item.getCost ());
|
||||||
item.getCost ());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user