Пример #1
0
        public WipeDetector(CactbotOverlay client)
        {
            this.client_           = client;
            client_.OnLogsChanged += OnLogsChanged;
            // See: https://gist.github.com/quisquous/250001cbce232a48e6a9ce772a56675a
            var pattern = @" 21:........:40000010:";

            wipe_regex_ = new Regex(pattern);
        }
        public CactbotOverlayConfigPanel(CactbotOverlay overlay)
        {
            InitializeComponent();

            this.overlay = overlay;
            this.config  = overlay.Config;

            SetupControlProperties();
            SetupConfigEventHandlers();
        }
Пример #3
0
 public WipeDetector(CactbotOverlay client)
 {
     this.client_             = client;
     client_.OnPlayerChanged += OnPlayerChanged;
     client_.OnLogsChanged   += OnLogsChanged;
 }
Пример #4
0
 public FightTracker(CactbotOverlay overlay)
 {
     this.overlay_ = overlay;
 }
Пример #5
0
        public FightTracker(CactbotOverlay overlay)
        {
            this.overlay_ = overlay;

            overlay_.OnZoneChanged += OnZoneChange;
            overlay_.OnLogsChanged += OnLogsChanged;
            overlay_.OnPartyWipe   += OnPartyWipe;

            SetZoneListener(new GenericDungeonListener(this));

            var o1s = new BossFightPhaseDetails {
                boss_id       = "o1s",
                start_strings = { MakeCountdownString(), ":Alte Roite uses Wyrm Tail" },
                end_strings   = { ":Alte Roite was defeated by" },
            };
            var o2s = new BossFightPhaseDetails {
                boss_id       = "o2s",
                start_strings = { MakeCountdownString(), ":Catastrophe uses Earthquake" },
                end_strings   = { ":Catastrophe was defeated by" },
            };
            var o3s = new BossFightPhaseDetails {
                boss_id       = "o3s",
                start_strings = { MakeCountdownString(), ":Halicarnassus uses Critical Hit" },
                end_strings   = { ":Halicarnassus was defeated by" },
            };
            var o4s = new BossFightPhaseDetails {
                boss_id       = "o4s-exdeath",
                start_strings = { ":Exdeath uses Dualcast" },
                end_strings   = { ":The limit gauge resets!" },
            };
            var o4s_neo = new BossFightPhaseDetails {
                boss_id       = "o4s-neo",
                start_strings = { ":Neo Exdeath uses Almagest" },
                end_strings   = { ":Neo Exdeath is defeated" },
            };
            var shinryu_ex = new BossFightPhaseDetails {
                boss_id       = "Shinryu Ex",
                start_strings = { MakeCountdownString(), ":Shinryu starts using Earthen Fury" },
                end_strings   = { "Removing combatant Shinryu.  Max HP: 17167557." },
                // TODO: implement phase triggers here
                // Phase 1 starts with combat, ends with dark matter cast
                // Phase 2 starts with "Added new Combatant Hakkinryu", ends with protostar cast
                // Phase 3 starts with protostar cast??, ends
                // Phase 4 starts with tidal wave
            };
            var ucu_twintania = new BossFightPhaseDetails {
                boss_id       = "ucu-twintania",
                start_strings = { MakeCountdownString(), ":Twintania:26A7:Unknown_26A7:" },
                end_strings   = { ":Something happens" },
            };

            var test_boss = new BossFightPhaseDetails {
                boss_id       = "savage_test",
                start_strings = { MakeSealString("The Thinger") },
                end_strings   = { MakeSealString("The Thinger") },
            };

            boss_fights_ = new Dictionary <string, List <BossFightPhaseDetails> >()
            {
                { "Mist", new List <BossFightPhaseDetails> {
                      test_boss
                  } },

                { "Deltascape V1.0 (Savage)", new List <BossFightPhaseDetails> {
                      o1s
                  } },
                { "Deltascape V2.0 (Savage)", new List <BossFightPhaseDetails> {
                      o2s
                  } },
                { "Deltascape V3.0 (Savage)", new List <BossFightPhaseDetails> {
                      o3s
                  } },
                { "Deltascape V4.0 (Savage)", new List <BossFightPhaseDetails> {
                      o4s, o4s_neo
                  } },

                { "Unknown Zone (2B7)", new List <BossFightPhaseDetails> {
                      o1s
                  } },
                { "Unknown Zone (2B8)", new List <BossFightPhaseDetails> {
                      o2s
                  } },
                { "Unknown Zone (2B9)", new List <BossFightPhaseDetails> {
                      o3s
                  } },
                { "Unknown Zone (2Ba)", new List <BossFightPhaseDetails> {
                      o4s, o4s_neo
                  } },

                { "", new List <BossFightPhaseDetails> {
                      ucu_twintania
                  } },

                { "The Minstrel's Ballad: Shinryu's Domain", new List <BossFightPhaseDetails> {
                      shinryu_ex
                  } },
            };
        }