diff --git a/constants/gates.py b/constants/gates.py index 9b507ee4..5915decb 100644 --- a/constants/gates.py +++ b/constants/gates.py @@ -78,8 +78,8 @@ ], "" : [ - "Auction1", - "Auction2", + "Auction 1", + "Auction 2", "Fanatic's Tower Dragon", "Fanatic's Tower Leader", "Kefka's Tower Cell Beast", diff --git a/constants/objectives/condition_bits.py b/constants/objectives/condition_bits.py index 5110597a..3ca2131a 100644 --- a/constants/objectives/condition_bits.py +++ b/constants/objectives/condition_bits.py @@ -66,12 +66,9 @@ NameBit("Whelk Gate", event_bit.DEFEATED_WHELK), NameBit("Zone Eater", event_bit.RECRUITED_GOGO_WOR), NameBit("Zozo Tower", event_bit.GOT_ZOZO_REWARD), - NameBit("Kefka's Tower Ambush", event_bit.DEFEATED_INFERNO), # 59 - NameBit("Kefka's Tower Guardian", event_bit.DEFEATED_GUARDIAN), # 60 - NameBit("KT Left Triad Statue", event_bit.DEFEATED_DOOM), # 61 - NameBit("KT Mid Triad Statue", event_bit.DEFEATED_POLTERGEIST), # 62 - NameBit("KT Right Triad Statue", event_bit.DEFEATED_GODDESS), # 63 - NameBit("Narshe Moogle Defense", event_bit.FINISHED_MOOGLE_DEFENSE), # 64, + NameBit("Narshe Moogle Defense", event_bit.FINISHED_MOOGLE_DEFENSE), + NameBit("Auction 1", event_bit.AUCTION_BOUGHT_ESPER1), + NameBit("Auction 2", event_bit.AUCTION_BOUGHT_ESPER2), ] @@ -86,6 +83,11 @@ 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("Defeat KT Ambusher", event_bit.DEFEATED_INFERNO), + NameBit("Defeat KT Robot", event_bit.DEFEATED_GUARDIAN), + NameBit("Defeat KT Left Statue", event_bit.DEFEATED_DOOM), + NameBit("Defeat KT Mid Statue", event_bit.DEFEATED_POLTERGEIST), + NameBit("Defeat KT Right Statue", event_bit.DEFEATED_GODDESS), ] from constants.objectives.boss_ids import boss_objective_ids diff --git a/event/auction_house.py b/event/auction_house.py index f3fb34e0..1b20d430 100644 --- a/event/auction_house.py +++ b/event/auction_house.py @@ -186,11 +186,12 @@ def chest2_mod(self): self.hide_chest_mod(0xb52c2, 0xb52c6, "hide chest2 in auction after winning") self.hide_chest_mod(0xb5a25, 0xb5a29, "hide chest2 in auction after winning in wor") - def receive_esper_mod(self, start_addr, end_addr, space_description, esper): + def receive_esper_mod(self, start_addr, end_addr, space_description, esper, event_bit_to_set): src = [ field.AddEsper(esper, sound_effect = False), field.Dialog(self.espers.get_receive_esper_dialog(esper)), field.SetEventBit(event_bit.WON_AN_AUCTION), + field.SetEventBit(event_bit_to_set), # while this is also called right after this in the vanilla event code, it's required here to cause the check objective to fire field.FinishCheck(), field.Return(), ] @@ -202,11 +203,12 @@ def receive_esper_mod(self, start_addr, end_addr, space_description, esper): field.Call(receive_esper), ) - def receive_check_item_mod(self, start_addr, end_addr, space_description, item): + def receive_check_item_mod(self, start_addr, end_addr, space_description, item, event_bit_to_set): src = [ field.AddItem(item, sound_effect = False), field.Dialog(self.items.get_receive_dialog(item)), field.SetEventBit(event_bit.WON_AN_AUCTION), + field.SetEventBit(event_bit_to_set), # while this is also called right after this in the vanilla event code, it's required here to cause the check objective to fire field.FinishCheck(), field.Return(), ] @@ -241,8 +243,8 @@ def esper1_mod(self, esper): self.reward1_announce_dialog_mod(esper_name, False) # update esper received and dialog - self.receive_esper_mod(0xb5452, 0xb5456, "update esper1 received in auction", esper) - self.receive_esper_mod(0xb5b77, 0xb5b7b, "update esper1 received in auction in wor", esper) + self.receive_esper_mod(0xb5452, 0xb5456, "update esper1 received in auction", esper, event_bit.AUCTION_BOUGHT_ESPER1) + self.receive_esper_mod(0xb5b77, 0xb5b7b, "update esper1 received in auction in wor", esper, event_bit.AUCTION_BOUGHT_ESPER1) def item1_mod(self, item): item_name = self.items.get_name(item) @@ -254,8 +256,8 @@ def item1_mod(self, item): self.reward1_announce_dialog_mod(item_name, True) # update item received and dialog - self.receive_check_item_mod(0xb5452, 0xb5456, "update item1 received in auction", item) - self.receive_check_item_mod(0xb5b77, 0xb5b7b, "update item1 received in auction in wor", item) + self.receive_check_item_mod(0xb5452, 0xb5456, "update item1 received in auction", item, event_bit.AUCTION_BOUGHT_ESPER1) + self.receive_check_item_mod(0xb5b77, 0xb5b7b, "update item1 received in auction in wor", item, event_bit.AUCTION_BOUGHT_ESPER1) def esper2_mod(self, esper): esper_name = self.espers.get_name(esper) @@ -264,8 +266,8 @@ def esper2_mod(self, esper): self.reward2_announce_dialog_mod(esper_name, False) # update esper received and dialog - self.receive_esper_mod(0xb52c9, 0xb52cd, "update esper2 received in auction", esper) - self.receive_esper_mod(0xb5a2c, 0xb5a30, "update esper2 received in auction in wor", esper) + self.receive_esper_mod(0xb52c9, 0xb52cd, "update esper2 received in auction", esper, event_bit.AUCTION_BOUGHT_ESPER2) + self.receive_esper_mod(0xb5a2c, 0xb5a30, "update esper2 received in auction in wor", esper, event_bit.AUCTION_BOUGHT_ESPER2) def item2_mod(self, item): item_name = self.items.get_name(item) @@ -277,8 +279,8 @@ def item2_mod(self, item): self.reward2_announce_dialog_mod(item_name, True) # update item received and dialog - self.receive_check_item_mod(0xb52c9, 0xb52cd, "update item2 received in auction", item) - self.receive_check_item_mod(0xb5a2c, 0xb5a30, "update item2 received in auction in wor", item) + self.receive_check_item_mod(0xb52c9, 0xb52cd, "update item2 received in auction", item, event_bit.AUCTION_BOUGHT_ESPER2) + self.receive_check_item_mod(0xb5a2c, 0xb5a30, "update item2 received in auction in wor", item, event_bit.AUCTION_BOUGHT_ESPER2) def normal_item_set_announce_dialog(self, new_item_id, start_price, announce_dialog_id): item_name = self.items.get_name(new_item_id) diff --git a/menus/checks.py b/menus/checks.py index 0ace86a3..339db506 100644 --- a/menus/checks.py +++ b/menus/checks.py @@ -18,8 +18,6 @@ def __init__(self): self.check_bits = {} for name_bit in condition_bits.check_bit: self.check_bits[name_bit.name] = name_bit.bit - self.check_bits["Auction1"] = event_bit.AUCTION_BOUGHT_ESPER1 - self.check_bits["Auction2"] = event_bit.AUCTION_BOUGHT_ESPER2 if args.character_gating: self.character_gating_init() diff --git a/menus/objectives.py b/menus/objectives.py index 75cc2a74..0e5e3ee8 100644 --- a/menus/objectives.py +++ b/menus/objectives.py @@ -23,10 +23,13 @@ def __init__(self): if len(objective.conditions) == 0: self.lines.append(scroll_area.Line(" " + chr(self.special_characters_start + oi) + " required", f0.set_user_text_color)) else: - conditions_required = " All " + str(objective.conditions_required) + " of" + conditions_required = "" + if objective.conditions_required != 1: # exclude "All 1 of" + conditions_required = " All " + str(objective.conditions_required) + " of" if objective.conditions_required < len(objective.conditions): conditions_required = " Any " + str(objective.conditions_required) + " of" - self.lines.append(scroll_area.Line(conditions_required, f0.set_user_text_color)) + if conditions_required != "": + self.lines.append(scroll_area.Line(conditions_required, f0.set_user_text_color)) for condition in objective.conditions: condition_line = " " + str(condition) @@ -37,8 +40,9 @@ def __init__(self): ).space.start_address self.lines.append(scroll_area.Line(condition_line, line_color_address)) - completed_line = " -- " + chr(self.special_characters_start + oi) + " completed --" - self.lines.append(scroll_area.Line(completed_line, f0.set_user_text_color)) + if conditions_required != "": #exclude "All 1 of" + completed_line = " -- " + chr(self.special_characters_start + oi) + " completed --" + self.lines.append(scroll_area.Line(completed_line, f0.set_user_text_color)) self.lines.append(scroll_area.Line("", f0.set_user_text_color)) if len(self.lines) == 0: diff --git a/version.py b/version.py index bf256159..daa50c7c 100644 --- a/version.py +++ b/version.py @@ -1 +1 @@ -__version__ = "1.4.1" +__version__ = "1.4.2"