Esempio n. 1
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }