public static DungeonFlow CreateBranchingThesisFlow(Dungeon dungeon) { DungeonFlow dungeonFlow = SampleFlow.CreateNewFlow(dungeon); dungeonFlow.name = "thesis_flow_branching"; DungeonFlowNode parent = null; if (Module.Debug) { parent = MakeNode(LoadRoom("lobby.room"), dungeonFlow); } else { parent = MakeNode(LoadRoom("lobby_.room"), dungeonFlow); } dungeonFlow.FirstNode = parent; dungeonFlow.AddNodeToFlow(parent, null); AppendBossRoom(dungeonFlow, parent); if (Module.Debug) { ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "a1_legendarychests.room"); } AppendBossRoom(dungeonFlow, parent); AppendBossRoom(dungeonFlow, parent); dungeon = null; return(dungeonFlow); }
public static DungeonFlow CreateSequentialThesisFlow(Dungeon dungeon) { DungeonFlow dungeonFlow = CreateEntranceFlow(dungeon); dungeonFlow.name = "thesis_flow_sequential"; DungeonFlowNode parent = dungeonFlow.FirstNode; ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "a1_legendarychests.room"); parent = ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "b1_bossroom_gullA_test.room"); parent = ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "c1_bufferroom.room"); parent = ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "b1_bossroom_gullA_test.room"); parent = ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "c1_bufferroom.room"); parent = ThesisFloorGenerator.AppendRoom(dungeonFlow, parent, "b1_bossroom_gullA_test.room"); parent = ThesisFloorGenerator.AppendExitElevator(dungeonFlow, parent); dungeon = null; return(dungeonFlow); }
public static void OnPreDungeonGen(LoopDungeonGenerator generator, Dungeon dungeon, DungeonFlow flow, int dungeonSeed) { bool notFoyer = flow.name != "Foyer Flow" && !GameManager.IsReturningToFoyerWithPlayer; if (notFoyer && flow.name != "Tutorial Flow") { Module.BossClone = 0; dungeonSeed = Module.Order; dungeon.DungeonSeed = Module.Order; GameManager.Instance.CurrentRunSeed = Module.Order; flow = ThesisFloorGenerator.CreateBranchingThesisFlow(dungeon); generator.AssignFlow(flow); } dungeon = null; }