Exemple #1
0
        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);
        }
Exemple #2
0
 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;
 }