public override bool IsRequirementsFulfilled(IGameSave gameSave) { GBAGameSave gbaSave = gameSave as GBAGameSave; GameTypes gameType = gameSave.GameType; for (int i = 0; i < 40; i++) { if (gameSave.Inventory.Items[ItemTypes.Berries].GetCountOfID((ushort)(i + 133)) == 0 && gameSave.Inventory.Items[ItemTypes.PC].GetCountOfID((ushort)(i + 133)) == 0) { return(false); } } if (gameType == GameTypes.Ruby || gameType == GameTypes.Sapphire) { return(gbaSave.GetGameFlag((int)RubySapphireGameFlags.HasBeatenEliteFour)); } else if (gameType == GameTypes.FireRed || gameType == GameTypes.LeafGreen) { return(gbaSave.GetGameFlag((int)FireRedLeafGreenGameFlags.HasBeatenEliteFour)); } else if (gameType == GameTypes.Emerald) { return(gbaSave.GetGameFlag((int)EmeraldGameFlags.HasBeatenEliteFour)); } return(false); }
public override bool IsRequirementsFulfilled(IGameSave gameSave) { GBAGameSave gbaSave = gameSave as GBAGameSave; GameTypes gameType = gameSave.GameType; bool hasOneBike = gameSave.Inventory.Items[ItemTypes.KeyItems].GetCountOfID(259) != 0 || gameSave.Inventory.Items[ItemTypes.KeyItems].GetCountOfID(272) != 0; if (gameType == GameTypes.Ruby || gameType == GameTypes.Sapphire) { return(gbaSave.GetGameFlag((int)RubySapphireGameFlags.HasBeatenEliteFour) && hasOneBike); } else if (gameType == GameTypes.Emerald) { return(gbaSave.GetGameFlag((int)EmeraldGameFlags.HasBeatenEliteFour) && hasOneBike); } return(false); }
public override bool IsRequirementsFulfilled(IGameSave gameSave) { GBAGameSave gbaSave = gameSave as GBAGameSave; GameTypes gameType = gameSave.GameType; if (gameType == GameTypes.Ruby || gameType == GameTypes.Sapphire) { return(gbaSave.GetGameFlag((int)RubySapphireGameFlags.HasBeatenEliteFour)); } else if (gameType == GameTypes.FireRed || gameType == GameTypes.LeafGreen) { return(gbaSave.GetGameFlag((int)FireRedLeafGreenGameFlags.HasBeatenEliteFour)); } else if (gameType == GameTypes.Emerald) { return(gbaSave.GetGameFlag((int)EmeraldGameFlags.HasBeatenEliteFour)); } return(false); }
public override bool IsCompleted(IGameSave gameSave) { if (gameSave.Inventory.Items[ItemTypes.KeyItems].GetCountOfID(TicketItemID) == 0) { return(false); } GBAGameSave gbaSave = gameSave as GBAGameSave; GameTypes gameType = gameSave.GameType; if (gameType == GameTypes.Ruby || gameType == GameTypes.Sapphire) { if (TicketType == TicketTypes.EonTicket) { return(gbaSave.GetGameFlag((int)RubySapphireGameFlags.EonTicketActivated)); } } else if (gameType == GameTypes.FireRed || gameType == GameTypes.LeafGreen) { if (TicketType == TicketTypes.MysticTicket) { return(gbaSave.GetGameFlag((int)FireRedLeafGreenGameFlags.MysticTicketActivated)); } else if (TicketType == TicketTypes.AuroraTicket) { return(gbaSave.GetGameFlag((int)FireRedLeafGreenGameFlags.AuroraTicketActivated)); } } else if (gameType == GameTypes.Emerald) { if (TicketType == TicketTypes.EonTicket) { return(gbaSave.GetGameFlag((int)EmeraldGameFlags.EonTicketActivated)); } else if (TicketType == TicketTypes.MysticTicket) { return(gbaSave.GetGameFlag((int)EmeraldGameFlags.MysticTicketActivated)); } else if (TicketType == TicketTypes.AuroraTicket) { return(gbaSave.GetGameFlag((int)EmeraldGameFlags.AuroraTicketActivated)); } else if (TicketType == TicketTypes.OldSeaMap) { return(gbaSave.GetGameFlag((int)EmeraldGameFlags.OldSeaMapActivated)); } } return(false); }
public override bool IsRequirementsFulfilled(IGameSave gameSave) { GBAGameSave gbaSave = gameSave as GBAGameSave; GameTypes gameType = gameSave.GameType; int count = GetRegiEventsCompleted(gameSave); if (count == 0) { if (gameType == GameTypes.Ruby || gameType == GameTypes.Sapphire) { return(gbaSave.GetGameFlag((int)RubySapphireGameFlags.HasBadge4)); } else if (gameType == GameTypes.Emerald) { return(gbaSave.GetGameFlag((int)EmeraldGameFlags.HasBadge4)); } } else if (count == 1) { if (gameType == GameTypes.Ruby || gameType == GameTypes.Sapphire) { return(gbaSave.GetGameFlag((int)RubySapphireGameFlags.HasBadge5)); } else if (gameType == GameTypes.Emerald) { return(gbaSave.GetGameFlag((int)EmeraldGameFlags.HasBadge5)); } } else if (count == 2) { if (gameType == GameTypes.Ruby || gameType == GameTypes.Sapphire) { return(gbaSave.GetGameFlag((int)RubySapphireGameFlags.HasBadge6)); } else if (gameType == GameTypes.Emerald) { return(gbaSave.GetGameFlag((int)EmeraldGameFlags.HasBadge6)); } } return(false); }