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); } }
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)); }
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); }
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); } }
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); } }
private static void UpdateOffset() { var skillTablePointer = OffsetScanner.GetOffset(GameOffset.FFX_SkillTablePointer); _offsetSkillTable = GameMemory.Read <int>(skillTablePointer, false); }