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(); }
public WipeDetector(CactbotOverlay client) { this.client_ = client; client_.OnPlayerChanged += OnPlayerChanged; client_.OnLogsChanged += OnLogsChanged; }
public FightTracker(CactbotOverlay overlay) { this.overlay_ = overlay; }
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 } }, }; }