diff --git a/constants/objectives/condition_bits.py b/constants/objectives/condition_bits.py index bc46f131..43249e2b 100644 --- a/constants/objectives/condition_bits.py +++ b/constants/objectives/condition_bits.py @@ -79,6 +79,7 @@ NameBit("Suplex A Train", event_bit.SUPLEXED_TRAIN), NameBit("Win An Auction", event_bit.WON_AN_AUCTION), NameBit("Win A Coliseum Match", event_bit.WON_A_COLISEUM_MATCH), + NameBit("Reunite Gau and Father", event_bit.GAU_FATHER_REUNION), ] boss_bit = [] diff --git a/data/event_bit.py b/data/event_bit.py index b8775c9d..505e89ac 100644 --- a/data/event_bit.py +++ b/data/event_bit.py @@ -172,6 +172,7 @@ FOUND_ANCIENT_CASTLE = 0x2df GOT_ODIN = 0x0c8 SUPLEXED_TRAIN = 0x2b0 # custom, previously unused but set in nikeah entrance event +GAU_FATHER_REUNION = 0x247 DEFEATED_NARSHE_DRAGON = 0x11a # custom DEFEATED_MT_ZOZO_DRAGON = 0x11b # custom diff --git a/event/gau_father_house.py b/event/gau_father_house.py index f1bb4ea6..56200b29 100644 --- a/event/gau_father_house.py +++ b/event/gau_father_house.py @@ -22,6 +22,7 @@ def mod(self): self.merchant_mod() self.entrance_event_mod() + self.reunion_mod() if self.reward.type == RewardType.CHARACTER: self.character_mod(self.reward.id) @@ -108,3 +109,17 @@ def finish_check_mod(self): space.write( field.Call(finish_check), ) + + def reunion_mod(self): + src = [ + Read(0xb6785, 0xb678a), # displaced code + field.CheckObjectives(), + field.Return(), + ] + space = Write(Bank.CB, src, "gau father reunion set event bit, check objectives") + check_objectives = space.start_address + + space = Reserve(0xb6785, 0xb678a, "gau father reunion field bit set", field.NOP()) + space.write( + field.Call(check_objectives), + ) \ No newline at end of file