From 4aa87e2ab89a54239486272a64fbb1c898c732dd Mon Sep 17 00:00:00 2001 From: Alex Knauth Date: Tue, 6 Feb 2024 11:19:56 -0500 Subject: [PATCH] Split AspidHunter (#47) --- src/hollow_knight_memory.rs | 5 +++++ src/splits.rs | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/src/hollow_knight_memory.rs b/src/hollow_knight_memory.rs index ee327f5e..6ab1d804 100644 --- a/src/hollow_knight_memory.rs +++ b/src/hollow_knight_memory.rs @@ -2769,6 +2769,11 @@ impl PlayerDataStore { } } + pub fn aspid_hunter_arena(&mut self, prc: &Process, gmf: &GameManagerFinder) -> Option { + // Aspid: {0} +3 {3} + self.kills_decreased_by(prc, gmf, "kills_spitter_on_entry", &gmf.player_data_pointers.kills_spitter, 3) + } + pub fn bronze1a(&mut self, prc: &Process, gmf: &GameManagerFinder) -> Option { // Shielded Fool: {0} +1 {1} self.kills_decreased_by(prc, gmf, "kills_col_shield_on_entry", &gmf.player_data_pointers.kills_col_shield, 1) diff --git a/src/splits.rs b/src/splits.rs index 4853c298..f9b0757c 100644 --- a/src/splits.rs +++ b/src/splits.rs @@ -1697,6 +1697,10 @@ pub enum Split { /// /// Splits when killing Brooding Mawlek BroodingMawlek, + /// Aspid Hunter (Mini Boss) + /// + /// Splits when killing 3 Aspid Hunters in a row (ideally Aspid Arena) + AspidHunter, /// Crossroads Stag (Bench) /// /// Splits when sitting on the bench at Crossroads Stag @@ -3799,6 +3803,7 @@ pub fn continuous_splits(s: &Split, p: &Process, g: &GameManagerFinder, pds: &mu Split::InfectedCrossroads => should_split(g.crossroads_infected(p).is_some_and(|i| i) && g.visited_crossroads(p).is_some_and(|v| v)), Split::MenderBug => should_split(g.killed_mender_bug(p).is_some_and(|k| k)), Split::BroodingMawlek => should_split(g.killed_mawlek(p).is_some_and(|k| k)), + Split::AspidHunter => should_split_skip(pds.aspid_hunter_arena(p, g)), Split::BenchCrossroadsStag => should_split(g.at_bench(p).is_some_and(|b| b) && g.get_scene_name(p).is_some_and(|s| s == "Crossroads_47")), Split::GruzMother => should_split(g.killed_big_fly(p).is_some_and(|f| f)), Split::SlyRescued => should_split(g.sly_rescued(p).is_some_and(|s| s)),