mirror of
https://github.com/MarioSpore/Grinch-AP.git
synced 2025-10-21 20:21:32 -06:00
Adventure: Remove runtime changes to location templates (#3010)
This commit is contained in:
@@ -19,9 +19,9 @@ class WorldPosition:
|
||||
|
||||
def get_position(self, random):
|
||||
if self.room_x is None or self.room_y is None:
|
||||
return random.choice(standard_positions)
|
||||
return self.room_id, random.choice(standard_positions)
|
||||
else:
|
||||
return self.room_x, self.room_y
|
||||
return self.room_id, (self.room_x, self.room_y)
|
||||
|
||||
|
||||
class LocationData:
|
||||
@@ -46,24 +46,26 @@ class LocationData:
|
||||
self.needs_bat_logic: int = needs_bat_logic
|
||||
self.local_item: int = None
|
||||
|
||||
def get_position(self, random):
|
||||
def get_random_position(self, random):
|
||||
x: int = None
|
||||
y: int = None
|
||||
if self.world_positions is None or len(self.world_positions) == 0:
|
||||
if self.room_id is None:
|
||||
return None
|
||||
self.room_x, self.room_y = random.choice(standard_positions)
|
||||
if self.room_id is None:
|
||||
x, y = random.choice(standard_positions)
|
||||
return self.room_id, x, y
|
||||
else:
|
||||
selected_pos = random.choice(self.world_positions)
|
||||
self.room_id = selected_pos.room_id
|
||||
self.room_x, self.room_y = selected_pos.get_position(random)
|
||||
return self.room_x, self.room_y
|
||||
room_id, (x, y) = selected_pos.get_position(random)
|
||||
return self.get_random_room_id(random), x, y
|
||||
|
||||
def get_room_id(self, random):
|
||||
def get_random_room_id(self, random):
|
||||
if self.world_positions is None or len(self.world_positions) == 0:
|
||||
return None
|
||||
if self.room_id is None:
|
||||
return None
|
||||
if self.room_id is None:
|
||||
selected_pos = random.choice(self.world_positions)
|
||||
self.room_id = selected_pos.room_id
|
||||
self.room_x, self.room_y = selected_pos.get_position(random)
|
||||
return selected_pos.room_id
|
||||
return self.room_id
|
||||
|
||||
|
||||
@@ -97,7 +99,7 @@ def get_random_room_in_regions(regions: [str], random) -> int:
|
||||
possible_rooms = {}
|
||||
for locname in location_table:
|
||||
if location_table[locname].region in regions:
|
||||
room = location_table[locname].get_room_id(random)
|
||||
room = location_table[locname].get_random_room_id(random)
|
||||
if room is not None:
|
||||
possible_rooms[room] = location_table[locname].room_id
|
||||
return random.choice(list(possible_rooms.keys()))
|
||||
|
Reference in New Issue
Block a user