45 lines
1.5 KiB
Java
45 lines
1.5 KiB
Java
package com.bytezone.diskbrowser.wizardry;
|
|
|
|
import com.bytezone.diskbrowser.utilities.Utility;
|
|
|
|
// -----------------------------------------------------------------------------------//
|
|
public class MonsterV4 extends Monster
|
|
// -----------------------------------------------------------------------------------//
|
|
{
|
|
// ---------------------------------------------------------------------------------//
|
|
MonsterV4 (String[] names, byte[] buffer, int id)
|
|
// ---------------------------------------------------------------------------------//
|
|
{
|
|
super (names[2], buffer);
|
|
|
|
this.monsterID = id;
|
|
|
|
genericName = names[0];
|
|
genericNamePlural = names[1];
|
|
namePlural = names[3];
|
|
|
|
groupSize = new Dice (buffer, 1);
|
|
hitPoints = new Dice (buffer, 7);
|
|
type = Utility.getShort (buffer, 13);
|
|
armourClass = Utility.getSignedShort (buffer, 15);
|
|
|
|
recsn = buffer[17]; // number of dice
|
|
for (int i = 0, ptr = 19; i < 7; i++, ptr += 6)
|
|
{
|
|
if (buffer[ptr] == 0)
|
|
break;
|
|
damage.add (new Dice (buffer, ptr));
|
|
}
|
|
|
|
levelDrain = Utility.getShort (buffer, 61);
|
|
healPts = Utility.getShort (buffer, 63);
|
|
mageSpellLevel = Utility.getShort (buffer, 65);
|
|
priestSpellLevel = Utility.getShort (buffer, 67);
|
|
breathe = Utility.getShort (buffer, 69);
|
|
unaffect = Utility.getShort (buffer, 71);
|
|
|
|
resistance = Utility.getShort (buffer, 73); // bit flags
|
|
abilities = Utility.getShort (buffer, 75); // bit flags
|
|
}
|
|
}
|