예제 #1
0
    public static void UpdateEndBattleAchievement()
    {
        Int32       battleMapIndex = FF9StateSystem.Battle.battleMapIndex;
        BTL_SCENE   btl_scene      = FF9StateSystem.Battle.FF9Battle.btl_scene;
        SB2_PATTERN sb2_PATTERN    = btl_scene.PatAddr[(Int32)FF9StateSystem.Battle.FF9Battle.btl_scene.PatNum];

        BattleAchievement.IncreseNumber(ref BattleAchievement.achievement.enemy_no, (Int32)sb2_PATTERN.MonCount);
        AchievementManager.ReportAchievement(AcheivementKey.Defeat100, BattleAchievement.achievement.enemy_no);
        AchievementManager.ReportAchievement(AcheivementKey.Defeat1000, BattleAchievement.achievement.enemy_no);
        AchievementManager.ReportAchievement(AcheivementKey.Defeat10000, BattleAchievement.achievement.enemy_no);
        if (battleMapIndex == 932)
        {
            AchievementManager.ReportAchievement(AcheivementKey.DefeatMaliris, 1);
        }
        else if (battleMapIndex == 933)
        {
            AchievementManager.ReportAchievement(AcheivementKey.DefeatTiamat, 1);
        }
        else if (battleMapIndex == 934)
        {
            AchievementManager.ReportAchievement(AcheivementKey.DefeatKraken, 1);
        }
        else if (battleMapIndex == 935)
        {
            AchievementManager.ReportAchievement(AcheivementKey.DefeatLich, 1);
        }
        else if (battleMapIndex == 211 || battleMapIndex == 57)
        {
            AchievementManager.ReportAchievement(AcheivementKey.DefeatOzma, 1);
        }
        else if (battleMapIndex == 634 || battleMapIndex == 627 || battleMapIndex == 755 || battleMapIndex == 753)
        {
            Int32 varManually = PersistenSingleton <EventEngine> .Instance.eBin.getVarManually(50900);

            Int32 num  = varManually >> 3 & 31;
            Int32 num2 = num * 100 / 16;
            if (num2 >= 100)
            {
                AchievementManager.ReportAchievement(AcheivementKey.AllOX, 1);
            }
        }
        else if (battleMapIndex == 920 || battleMapIndex == 921)
        {
            Int32 varManually2 = PersistenSingleton <EventEngine> .Instance.eBin.getVarManually(405732);

            if (varManually2 == 1)
            {
                AchievementManager.ReportAchievement(AcheivementKey.YanBlessing, 1);
            }
        }
        else if (battleMapIndex == 339 && BattleAchievement.IsChallengingPlayerIsGarnet())
        {
            AchievementManager.ReportAchievement(AcheivementKey.DefeatBehemoth, 1);
        }
    }
예제 #2
0
    public static void UpdateCommandAchievement(CMD_DATA cmd)
    {
        Byte cmd_no = cmd.cmd_no;

        if (cmd_no == 4)
        {
            BattleAchievement.IncreseNumber(ref BattleAchievement.achievement.defence_no, 1);
            AchievementManager.ReportAchievement(AcheivementKey.Defense50, BattleAchievement.achievement.defence_no);
        }
        else if (cmd_no == 22 || cmd_no == 23)
        {
            BattleAchievement.IncreseNumber(ref BattleAchievement.achievement.blkMag_no, 1);
            AchievementManager.ReportAchievement(AcheivementKey.BlkMag100, BattleAchievement.achievement.blkMag_no);
        }
        else if (cmd_no == 17 || cmd_no == 19 || cmd_no == 21)
        {
            BattleAchievement.IncreseNumber(ref BattleAchievement.achievement.whtMag_no, 1);
            AchievementManager.ReportAchievement(AcheivementKey.WhtMag200, BattleAchievement.achievement.whtMag_no);
        }
        else if (cmd_no == 24)
        {
            BattleAchievement.IncreseNumber(ref BattleAchievement.achievement.bluMag_no, 1);
            AchievementManager.ReportAchievement(AcheivementKey.BluMag100, BattleAchievement.achievement.bluMag_no);
        }
        else if (cmd_no == 16 || cmd_no == 18 || cmd_no == 20)
        {
            BattleAchievement.IncreseNumber(ref BattleAchievement.achievement.summon_no, 1);
            AchievementManager.ReportAchievement(AcheivementKey.Summon50, BattleAchievement.achievement.summon_no);
            if (cmd.sub_no == 49)
            {
                BattleAchievement.achievement.summon_shiva = true;
                AchievementManager.ReportAchievement(AcheivementKey.SummonShiva, 1);
            }
            else if (cmd.sub_no == 51)
            {
                BattleAchievement.achievement.summon_ifrit = true;
                AchievementManager.ReportAchievement(AcheivementKey.SummonIfrit, 1);
            }
            else if (cmd.sub_no == 53)
            {
                BattleAchievement.achievement.summon_ramuh = true;
                AchievementManager.ReportAchievement(AcheivementKey.SummonRamuh, 1);
            }
            else if (cmd.sub_no == 55)
            {
                BattleAchievement.achievement.summon_atomos = true;
                AchievementManager.ReportAchievement(AcheivementKey.SummonAtomos, 1);
            }
            else if (cmd.sub_no == 58)
            {
                BattleAchievement.achievement.summon_odin = true;
                AchievementManager.ReportAchievement(AcheivementKey.SummonOdin, 1);
            }
            else if (cmd.sub_no == 60)
            {
                BattleAchievement.achievement.summon_leviathan = true;
                AchievementManager.ReportAchievement(AcheivementKey.SummonLeviathan, 1);
            }
            else if (cmd.sub_no == 62)
            {
                BattleAchievement.achievement.summon_bahamut = true;
                AchievementManager.ReportAchievement(AcheivementKey.SummonBahamut, 1);
            }
            else if (cmd.sub_no == 64)
            {
                BattleAchievement.achievement.summon_arc = true;
                AchievementManager.ReportAchievement(AcheivementKey.SummonArk, 1);
            }
            else if (cmd.sub_no == 68 || cmd.sub_no == 69 || cmd.sub_no == 70 || cmd.sub_no == 71)
            {
                if (cmd.sub_no == 68)
                {
                    BattleAchievement.achievement.summon_carbuncle_haste = true;
                }
                else if (cmd.sub_no == 69)
                {
                    BattleAchievement.achievement.summon_carbuncle_protect = true;
                }
                else if (cmd.sub_no == 70)
                {
                    BattleAchievement.achievement.summon_carbuncle_reflector = true;
                }
                else if (cmd.sub_no == 71)
                {
                    BattleAchievement.achievement.summon_carbuncle_shell = true;
                }
                AchievementManager.ReportAchievement(AcheivementKey.SummonCarbuncle, 1);
            }
            else if (cmd.sub_no == 66 || cmd.sub_no == 67)
            {
                if (cmd.sub_no == 66)
                {
                    BattleAchievement.achievement.summon_fenrir_earth = true;
                }
                else if (cmd.sub_no == 67)
                {
                    BattleAchievement.achievement.summon_fenrir_wind = true;
                }
                AchievementManager.ReportAchievement(AcheivementKey.SummonFenrir, 1);
            }
            else if (cmd.sub_no == 72)
            {
                BattleAchievement.achievement.summon_phoenix = true;
                AchievementManager.ReportAchievement(AcheivementKey.SummonPhoenix, 1);
            }
            else if (cmd.sub_no == 74)
            {
                BattleAchievement.achievement.summon_madeen = true;
                AchievementManager.ReportAchievement(AcheivementKey.SummonMadeen, 1);
            }
        }
        else if (cmd_no == 2)
        {
            Int32 totalProgress = BattleAchievement.achievement.increaseStealCount();
            AchievementManager.ReportAchievement(AcheivementKey.Steal50, totalProgress);
        }
        else if (cmd_no == 58)
        {
            AchievementManager.ReportAchievement(AcheivementKey.RebirthFlame, 1);
        }
    }
예제 #3
0
 public static void UpdateTranceStatus()
 {
     BattleAchievement.IncreseNumber(ref BattleAchievement.achievement.trance_no, 1);
     AchievementManager.ReportAchievement(AcheivementKey.Trance1, BattleAchievement.achievement.trance_no);
     AchievementManager.ReportAchievement(AcheivementKey.Trance50, BattleAchievement.achievement.trance_no);
 }
예제 #4
0
 public static void UpdateBackAttack()
 {
     BattleAchievement.IncreseNumber(ref BattleAchievement.achievement.backAtk_no, 1);
     AchievementManager.ReportAchievement(AcheivementKey.BackAttack30, BattleAchievement.achievement.backAtk_no);
 }