Room System - Niilo007/RimWorld-NQoL GitHub Wiki

flowchart TD
  OnMapLoad --First--> TryToCreateAllHomes 
  OnMapLoad --Second--> AttempToAnnexAllRooms 
  OnMapLoad --Third--> TryToFillAllRooms 
  TryToCreateAllHomes --> TryToCreateHome --success--> TryToCreateHome --> AttemptToAnnexRooms --success--> AttemptToAnnexRooms 
  TryToFillAllRooms --AllHomes--> TryToFillRooms --> AssignPawnToRoom
  AttempToAnnexAllRooms --> AttemptToAnnexRooms --> AddRoomToHome --success/fail--> AttemptToAnnexRooms 
  AddRoomToHome --> EvictIfShouldOrAddToOccupants --> AssignPawnToRoom & AddToOccupants
Loading

Modding Helper Documentation

  • Defs
    • DutyDef
      • TravelOrLeave
        1. JobGiver_GotoTravelDestination
        2. JobGiver_ExitMapRandom
      • PrisonerEscape
        1. JobGiver_GotoTravelDestination
    • JobDef
      • Goto
        1. JobDriver_Goto
  • Rimworld
    • IncidentWorker
      • IncidentWorker_GiveQuest
        • IncidentWorker_GiveQuest_Map
          1. Give world map quests
    • PrisonBreakUtility
    • LordJob
      • LordJob_PrisonBreak
    • LordToil
      • LordToil_Travel
        • LordToil_PrisonerEscape
      • LordToil_ExitMap
flowchart TD
  d{{Defs}} --> dd & jd
  dd{{DutyDef}} --> tol & pe
  jd{{JobDef}} --> goto{{Goto}} --> JobDriver_Goto --> mnt(MakeNewToils) --> tem(TryExitMap) --> pem(ExitMap)
  JobDriver -.-> JobDriver_Goto
  LordToil -.-> LordToil_ExitMap
  PrisonBreakUtility --> spbi(StartPrisonBreakIn) --> LordJob_PrisonBreak  
  LordToil -.-> LordToil_Travel -.-> LordToil_PrisonerEscape 
  LordToil_PrisonerEscape --> uado(UpdateAllDuties) --> pe{{PrisonerEscape}} --> JobGiver_GotoTravelDestination 
  LordJob -.-> LordJob_PrisonBreak  --> cg(CreateGraph) --> LordToil_PrisonerEscape & LordToil_ExitMap
  LordToil_Travel --> uad(UpdateAllDuties) --> tol{{TravelOrLeave}} --> JobGiver_GotoTravelDestination & JobGiver_ExitMapRandom
  ThinkNode -.-> ThinkNode_JobGiver -.-> JobGiver_GotoTravelDestination & tgj(TryGiveJob)
  JobGiver_GotoTravelDestination --> tgjo(TryGiveJob) --> goto 
  Pawn --> pem --> emajocc --> fctjf
  CaravanExitMapUtility --> emajocc(ExitMapAndJoinOrCreateCaravan) & fctjf(FindCaravanToJoinFor) --> pem
  LordToil_ExitMap --> ExitMapBest{{ExitMapBest}} & uadoo(UpdateAllDuties)
  LordToil_ExitMap --> fltem(LordToil_ExitMap) --> LordToilData_ExitMap
  uadoo --> ExitMapBest
  LordToilData -.-> LordToilData_ExitMap
  
Loading
⚠️ **GitHub.com Fallback** ⚠️