Exemple #1
0
        public static void MaxAllStats()
        {
            var partyOffset = OffsetScanner.GetOffset(GameOffset.FFX_PartyStatBase);

            for (int i = 0; i < 18; i++)
            {
                int characterOffset = partyOffset + 0x94 * i;
                var overdriveLevel  = i > 7 ? 20 : 100;

                Party.SetPartyMemberAttribute <uint>(i, "CurrentHp", 99999);
                Party.SetPartyMemberAttribute <uint>(i, "MaxHp", 99999);
                Party.SetPartyMemberAttribute <uint>(i, "BaseHp", 99999);
                Party.SetPartyMemberAttribute <uint>(i, "CurrentMp", 9999);
                Party.SetPartyMemberAttribute <uint>(i, "MaxMp", 9999);
                Party.SetPartyMemberAttribute <uint>(i, "BaseMp", 9999);

                Party.SetPartyMemberAttribute <byte>(i, "BaseStrength", 255);
                Party.SetPartyMemberAttribute <byte>(i, "BaseDefense", 255);
                Party.SetPartyMemberAttribute <byte>(i, "BaseMagic", 255);
                Party.SetPartyMemberAttribute <byte>(i, "BaseMagicDefense", 255);
                Party.SetPartyMemberAttribute <byte>(i, "BaseAgility", 255);
                Party.SetPartyMemberAttribute <byte>(i, "BaseLuck", 255);
                Party.SetPartyMemberAttribute <byte>(i, "BaseEvasion", 255);
                Party.SetPartyMemberAttribute <byte>(i, "BaseAccuracy", 255);
                Party.SetPartyMemberAttribute <byte>(i, "OverdriveLevel", (byte)overdriveLevel);
                Party.SetPartyMemberAttribute <byte>(i, "OverdriveMax", (byte)overdriveLevel);
            }
        }
Exemple #2
0
        public static byte[] GetTeamSizes()
        {
            var bdPointer1 = OffsetScanner.GetOffset(GameOffset.FFX_BlitzballTeamData);
            var bdPointer2 = GameMemory.Read <int>(bdPointer1, false);
            var bdPointer  = GameMemory.Read <int>(bdPointer2 + 0x2C, false);

            return(GameMemory.Read <byte>(bdPointer + 0xA88, 6, false));
        }
Exemple #3
0
        public static void SetTeamSize(int teamIndex, byte teamSize)
        {
            var bdPointer1 = OffsetScanner.GetOffset(GameOffset.FFX_BlitzballTeamData);
            var bdPointer2 = GameMemory.Read <int>(bdPointer1, false);
            var bdPointer  = GameMemory.Read <int>(bdPointer2 + 0x2C, false);

            GameMemory.Write(bdPointer + 0xA88 + teamIndex, teamSize, false);
        }
Exemple #4
0
        public static void MaxSphereLevels()
        {
            var partyOffset = OffsetScanner.GetOffset(GameOffset.FFX_PartyStatBase);

            for (var i = 0; i < 8; i++)
            {
                int characterOffset = partyOffset + 0x94 * i;
                LegacyMemoryReader.WriteByte(StructHelper.GetFieldOffset <PartyMember>("SphereLevelCurrent", characterOffset), 255);
            }
        }
Exemple #5
0
        public static void LearnAllAbilities()
        {
            var partyOffset = OffsetScanner.GetOffset(GameOffset.FFX_PartyStatBase);

            for (var i = 0; i < 18; i++)
            {
                int characterAbilityOffset = partyOffset + Marshal.SizeOf <PartyMember>() * i + StructHelper.GetFieldOffset <PartyMember>("SkillFlags");;
                var currentAbilities       = LegacyMemoryReader.ReadBytes(characterAbilityOffset, 13);

                // Flip all normal ability bits
                currentAbilities[1] |= 0xF0;
                for (int b = 2; b < 11; b++)
                {
                    currentAbilities[b] |= 0xFF;
                }
                currentAbilities[11] |= 0x0F;
                currentAbilities[12] |= 0xFF;

                LegacyMemoryReader.WriteBytes(characterAbilityOffset, currentAbilities);
            }
        }
Exemple #6
0
        private static void UpdateOffset()
        {
            var skillTablePointer = OffsetScanner.GetOffset(GameOffset.FFX_SkillTablePointer);

            _offsetSkillTable = GameMemory.Read <int>(skillTablePointer, false);
        }