private void LoadCharacter(int index) { int offset = SaveFileStartOffset + (index * CharacterRecordSize); string name = ProcessName(offset); U4Sex sex = (U4Sex)RawFile[offset + 0x10]; U4Class job = (U4Class)RawFile[offset + 0x11]; U4Health health = (U4Health)RawFile[offset + 0x12]; int strength = ConvertBCDToInt(RawFile[offset + 0x13]); int dexterity = ConvertBCDToInt(RawFile[offset + 0x14]); int intelligence = ConvertBCDToInt(RawFile[offset + 0x15]); int magicPoints = ConvertBCDToInt(RawFile[offset + 0x16]); int maxHitPoints = ConvertBCDToInt(RawFile[offset + 0x1a]) * 100 + ConvertBCDToInt(RawFile[offset + 0x1b]); int hitPoints = ConvertBCDToInt(RawFile[offset + 0x18]) * 100 + ConvertBCDToInt(RawFile[offset + 0x19]); int experience = ConvertBCDToInt(RawFile[offset + 0x1c]) * 100 + ConvertBCDToInt(RawFile[offset + 0x1d]); U4Weapons weapon = (U4Weapons)RawFile[offset + 0x1e]; U4Armor armor = (U4Armor)RawFile[offset + 0x1f]; Characters[index] = new Ultima4CharacterData(name, sex, job, health, hitPoints, maxHitPoints, experience, strength, dexterity, intelligence, magicPoints, weapon, armor); }
public Ultima4CharacterData(string name, U4Sex sex, U4Class job, U4Health health, int hitPoints, int maxHitPoints, int experience, int strength, int dexterity, int intelligence, int magicPoints, U4Weapons weapon, U4Armor armor) { Name = name; Sex = sex; m_magicPoints = new BoundedInt(0, 99); Class = job; Health = health; m_maxHitPoints = new BoundedInt(100, 800); m_hitPoints = new BoundedInt(0, 800); MaxHitPoints = maxHitPoints; HitPoints = hitPoints; m_experience = new BoundedInt(0, 9999); Experience = experience; m_strength = new BoundedInt(0, 50); Strength = strength; m_dexterity = new BoundedInt(0, 50); Dexterity = dexterity; m_intelligence = new BoundedInt(0, 50); Intelligence = intelligence; MagicPoints = magicPoints; Weapon = weapon; Armor = armor; }