mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-23 23:35:16 -04:00
Fix arbiters grounds sometimes not being listed as a required dungeon
This commit is contained in:
@@ -102,12 +102,14 @@
|
||||
Snowpeak Summit Lower: Nothing
|
||||
|
||||
- Name: Snowpeak Ruins East Door Interior
|
||||
Region: Snowpeak Ruins
|
||||
Can Transform: Never
|
||||
Exits:
|
||||
Snowpeak Ruins East Door Exterior: Can_Open_Doors
|
||||
Snowpeak Ruins Entrance: Nothing
|
||||
|
||||
- Name: Snowpeak Ruins West Door Interior
|
||||
Region: Snowpeak Ruins
|
||||
Can Transform: Never
|
||||
Exits:
|
||||
Snowpeak Ruins West Door Exterior: Can_Open_Doors
|
||||
|
||||
@@ -250,7 +250,7 @@ namespace randomizer::logic::area
|
||||
this->AddHintRegion(region);
|
||||
LOG_TO_DEBUG("Assigned \"" + region + "\" as hint region to \"" + this->GetName() + "\"");
|
||||
|
||||
// Also assign any loactions in this area to the dungeon if there are any dungeon regions
|
||||
// Also assign any locations in this area to the dungeon if there are any dungeon regions
|
||||
if (dungeons.contains(region))
|
||||
{
|
||||
auto locAccs = this->GetLocations();
|
||||
|
||||
@@ -728,22 +728,22 @@ namespace randomizer::logic::world
|
||||
for (auto& [areaName, area] : this->_areaTable)
|
||||
{
|
||||
area->AssignHintRegionsAndDungeonLocations();
|
||||
}
|
||||
|
||||
for (auto& [areaName, area] : this->_areaTable)
|
||||
{
|
||||
// Also assign dungeons their starting entrance
|
||||
for (const auto& exit : area->GetExits())
|
||||
{
|
||||
auto parentRegions = exit->GetParentArea()->GetHintRegions();
|
||||
auto connectedRegions = exit->GetConnectedArea()->GetHintRegions();
|
||||
if (!parentRegions.contains("None"))
|
||||
for (auto& [dungeonName, dungeon] : this->_dungeons)
|
||||
{
|
||||
for (auto& [dungeonName, dungeon] : this->_dungeons)
|
||||
// If this exit leads into a dungeon and its parent area is not part of the dungeon
|
||||
// then this is the entrance that leads into the dungeon
|
||||
if (connectedRegions.contains(dungeonName) && !parentRegions.contains(dungeonName))
|
||||
{
|
||||
// If this exit leads into a dungeon and its parent area is not part of the dungeon
|
||||
// then this is the entrance that leads into the dungeon
|
||||
if (connectedRegions.contains(dungeonName) && !parentRegions.contains(dungeonName))
|
||||
{
|
||||
dungeon->AddStartingEntrance(exit);
|
||||
}
|
||||
dungeon->AddStartingEntrance(exit);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user