Ejemplo n.º 1
0
    private static void CoerceStadium2Language(SK2 sk2, SaveFile sav)
    {
        if (sk2.Japanese == (sav.Language == 1))
        {
            return;
        }

        var la = new LegalityAnalysis(sk2);

        if (la.Valid || !sk2.IsPossible(sav.Language == 1))
        {
            return;
        }

        sk2.SwapLanguage();
        la = new LegalityAnalysis(sk2);
        if (la.Valid)
        {
            return;
        }

        var lang = SpeciesName.GetSpeciesNameLanguage(sk2.Species, sk2.Nickname, 2);

        if (lang >= 1 && (lang == 1 != sk2.Japanese)) // force match language
        {
            sk2.SwapLanguage();
        }
        else if (sk2.Japanese != (sav.Language == 1)) // force match save file
        {
            sk2.SwapLanguage();
        }
    }
Ejemplo n.º 2
0
    public override SlotGroup GetTeam(int team)
    {
        if ((uint)team >= TeamCount)
        {
            throw new ArgumentOutOfRangeException(nameof(team));
        }

        var name    = GetTeamName(team);
        var members = new SK2[6];
        var ofs     = GetTeamOffset(team);

        for (int i = 0; i < 6; i++)
        {
            var rel = ofs + ListHeaderSizeTeam + (i * SIZE_STORED);
            members[i] = (SK2)GetStoredSlot(Data, rel);
        }
        return(new SlotGroup(name, members));
    }
Ejemplo n.º 3
0
        private static void CoerceStadium2Language(SK2 sk2, SaveFile sav)
        {
            if (sk2.Japanese == (sav.Language == 1))
            {
                return;
            }

            var la = new LegalityAnalysis(sk2);

            if (la.Valid || !sk2.IsPossible(sav.Language == 1))
            {
                return;
            }

            sk2.SwapLanguage();
            la = new LegalityAnalysis(sk2);
            if (!la.Valid) // fail
            {
                sk2.SwapLanguage();
            }
        }