diff --git a/worlds/clique/Options.py b/worlds/clique/Options.py index 1d74d2c5a5fb..6636d2a0c528 100644 --- a/worlds/clique/Options.py +++ b/worlds/clique/Options.py @@ -4,7 +4,7 @@ class HardMode(Toggle): - """Only for masochists: requires 2 presses!""" + """Only for the most masochistically inclined... Requires button activation!""" display_name = "Hard Mode" diff --git a/worlds/clique/__init__.py b/worlds/clique/__init__.py index c73d0437bf2f..449399c941e0 100644 --- a/worlds/clique/__init__.py +++ b/worlds/clique/__init__.py @@ -3,15 +3,13 @@ from worlds.generic.Rules import set_rule from .Options import clique_options -item_table = { - "The feeling of satisfaction.": 69696969, - "Button Key": 69696968, -} -location_table = { - "The Button": 69696969, - "The Desk": 69696968, -} +class CliqueItem(Item): + game = "Clique" + + +class CliqueLocation(Location): + game = "Clique" class CliqueWebWorld(WebWorld): @@ -32,78 +30,68 @@ class CliqueWorld(World): """The greatest game ever designed. Full of exciting gameplay!""" game = "Clique" - topology_present = False - data_version = 1 + data_version = 2 web = CliqueWebWorld() option_definitions = clique_options - location_name_to_id = location_table - item_name_to_id = item_table + # Yes, I'm like 12 for this. + location_name_to_id = { + "The Big Red Button": 69696969, + "The Item on the Desk": 69696968, + } - def create_item(self, name: str) -> "Item": - return Item(name, ItemClassification.progression, self.item_name_to_id[name], self.player) + item_name_to_id = { + "Feeling of Satisfaction": 69696969, + "Button Activation": 69696968, + } - def get_setting(self, name: str): - return getattr(self.multiworld, name)[self.player] + def create_item(self, name: str) -> CliqueItem: + return CliqueItem(name, ItemClassification.progression, self.item_name_to_id[name], self.player) - def fill_slot_data(self) -> dict: - return {option_name: self.get_setting(option_name).value for option_name in self.option_definitions} - - def generate_basic(self) -> None: - self.multiworld.itempool.append(self.create_item("The feeling of satisfaction.")) + def create_items(self) -> None: + self.multiworld.itempool.append(self.create_item("Feeling of Satisfaction")) + self.multiworld.priority_locations[self.player].value.add("The Big Red Button") if self.multiworld.hard_mode[self.player]: - self.multiworld.itempool.append(self.create_item("Button Key")) + self.multiworld.itempool.append(self.create_item("Button Activation")) def create_regions(self) -> None: if self.multiworld.hard_mode[self.player]: self.multiworld.regions += [ - create_region(self.multiworld, self.player, "Menu", None, ["Entrance to THE BUTTON"]), - create_region(self.multiworld, self.player, "THE BUTTON", self.location_name_to_id) + create_region(self.multiworld, self.player, "Menu", None, ["The entrance to the button."]), + create_region(self.multiworld, self.player, "The realm of the button.", self.location_name_to_id) ] else: self.multiworld.regions += [ - create_region(self.multiworld, self.player, "Menu", None, ["Entrance to THE BUTTON"]), - create_region(self.multiworld, self.player, "THE BUTTON", {"The Button": 69696969}) - ] + create_region(self.multiworld, self.player, "Menu", None, ["The entrance to the button."]), + create_region(self.multiworld, self.player, "The realm of the button.", { + "The Big Red Button": 69696969 + })] - self.multiworld.get_entrance("Entrance to THE BUTTON", self.player)\ - .connect(self.multiworld.get_region("THE BUTTON", self.player)) + self.multiworld.get_entrance("The entrance to the button.", self.player) \ + .connect(self.multiworld.get_region("The realm of the button.", self.player)) def get_filler_item_name(self) -> str: - return self.multiworld.random.choice(item_table) + return self.multiworld.random.choice(self.item_name_to_id) def set_rules(self) -> None: if self.multiworld.hard_mode[self.player]: set_rule( - self.multiworld.get_location("The Button", self.player), - lambda state: state.has("Button Key", self.player) - ) + self.multiworld.get_location("The Big Red Button", self.player), + lambda state: state.has("Button Activation", self.player)) - self.multiworld.completion_condition[self.player] = lambda state: \ - state.has("Button Key", self.player) - else: - self.multiworld.completion_condition[self.player] = lambda state: \ - state.has("The feeling of satisfaction.", self.player) + self.multiworld.completion_condition[self.player] = lambda state: \ + state.has("Feeling of Satisfaction", self.player) def create_region(world: MultiWorld, player: int, name: str, locations=None, exits=None): region = Region(name, player, world) if locations: for location_name in locations.keys(): - location = CliqueLocation(player, location_name, locations[location_name], region) - region.locations.append(location) + region.locations.append(CliqueLocation(player, location_name, locations[location_name], region)) if exits: for _exit in exits: region.exits.append(Entrance(player, _exit, region)) return region - - -class CliqueItem(Item): - game = "Clique" - - -class CliqueLocation(Location): - game: str = "Clique" diff --git a/worlds/clique/docs/en_Clique.md b/worlds/clique/docs/en_Clique.md index bf0562e2bab4..afcf48c5d035 100644 --- a/worlds/clique/docs/en_Clique.md +++ b/worlds/clique/docs/en_Clique.md @@ -2,10 +2,9 @@ ## What is this game? -Even I don't know. +Yes. ## Where is the settings page? The [player settings page for this game](../player-settings) contains all the options you need to configure and export a config file. - diff --git a/worlds/clique/docs/guide_en.md b/worlds/clique/docs/guide_en.md index 7b4b0f1c216a..a1e07093a6c7 100644 --- a/worlds/clique/docs/guide_en.md +++ b/worlds/clique/docs/guide_en.md @@ -1,6 +1,6 @@ # Clique Start Guide -Go to the [Clique Game](http://clique.darkshare.site.nfoservers.com/) and enter the hostname:ip address, +Go to the [Clique Game](http://clique.pharware.com/) and enter the hostname:ip address, then your slot name. Enjoy. \ No newline at end of file