[#bugs] Oh, since I'm mentioning that here, if you use a Spiral Borer to generate an eas...

Issue #6356 resolved
Freehold Games Bot Account created an issue

Marked for crossposting by: Ashe-No-Longer, Legendary Seeker

Message (jump):

<manofwealthandtaste> Oh, since I'm mentioning that here, if you use a Spiral Borer to generate an easy path through Bethesda Susa, then those are the only stairs you get. Once you get past the three trolls, the hospital floors will generate without stairs.

Comments (3)

  1. Noelle Lavenza

    Here’s a speculative solution, based on the assumption that it’s the fact that StairsDown returns prematurely if it finds existing stairs:

    1. Add this to ZoneTerrain.xml
      <object Name="StairsUpBorer" Inherits="StairsUp">
        <tag Name="BorerStairs" />
      </object>
      <object Name="StairsDownBorer" Inherits="StairsDown">
        <tag Name="BorerStairs" />
      </object>
    
    1. Replace references to "StairsUp" and "StairsDown" in SpiralBorerCurio.HandleEvent(InventoryActionEvent E) with those blueprints.
    2. Make this change in ZoneBuilders.StairsDown.AddStairDown:
    -                foreach (GameObject item2 in Z.GetObjectsWithTag("Stairs"))
    +                foreach (GameObject item2 in Z.GetObjectsWithTag("Stairs").Where(GO => !GO.HasTagOrProperty("BorerStairs")))
                    {
                        XRL.World.Parts.StairsDown stairsDown = item2.GetPart("StairsDown") as XRL.World.Parts.StairsDown;
                        if (stairsDown != null && stairsDown.Connected)
                        {
                            return true;
                        }
                    }
    

    (The alternative would be reordering zone builders, which is difficult and potentially prone to breaking.)

  2. Log in to comment