Anda di halaman 1dari 455

PATCHING RimWorld.

JobDriver_Lovin+<MakeNewToils>c__Iterator0 Void <>m__4()


L_0000: Local var #0 RimWorld.Thought_Memory
L_0000: ldsfld RimWorld.ThoughtDef GotSomeLovin
L_0005: call RimWorld.Thought MakeThought(RimWorld.ThoughtDef)
L_000a: castclass RimWorld.Thought_Memory
L_000f: stloc.0
L_0010: ldarg.0
L_0011: ldfld RimWorld.JobDriver_Lovin $this
L_0016: ldfld Verse.Pawn pawn
L_001b: ldfld RimWorld.Pawn_NeedsTracker needs
L_0020: ldfld RimWorld.Need_Mood mood
L_0025: ldfld RimWorld.ThoughtHandler thoughts
L_002a: ldfld RimWorld.MemoryThoughtHandler memories
L_002f: ldloc.0
L_0030: ldarg.0
L_0031: ldfld RimWorld.JobDriver_Lovin $this
L_0036: call Verse.Pawn get_Partner()
L_003b: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_0040: ldarg.0
L_0041: ldfld RimWorld.JobDriver_Lovin $this
L_0046: ldfld Verse.Pawn pawn
L_004b: ldfld Verse.AI.Pawn_MindState mindState
L_0050: call Verse.TickManager get_TickManager()
L_0055: callvirt Int32 get_TicksGame()
L_005a: ldarg.0
L_005b: ldfld RimWorld.JobDriver_Lovin $this
L_0060: ldarg.0
L_0061: ldfld RimWorld.JobDriver_Lovin $this
L_0066: ldfld Verse.Pawn pawn
L_006b: call Int32 GenerateRandomMinTicksToNextLovin(Verse.Pawn)
L_0070: add
L_0071: stfld System.Int32 canLovinTick
L_0076: ldarg.0
L_0077: ldfld RimWorld.JobDriver_Lovin $this
L_007c: ldfld Verse.Pawn pawn
L_0081: ldarg.0
L_0082: ldfld RimWorld.JobDriver_Lovin $this
L_0087: call Verse.Pawn get_Partner()
L_008c: call Void TryToImpregnate(Verse.Pawn, Verse.Pawn)
L_0091: br Label #0
L_0096: Label #0
L_0096: ret
DONE

PATCHING RimWorld.JobDriver_Wear+<MakeNewToils>c__Iterator0 Boolean MoveNext()


L_0000: Local var #0 System.UInt32
L_0000: ldarg.0
L_0001: ldfld System.Int32 $PC
L_0006: stloc.0
L_0007: ldarg.0
L_0008: ldc.i4.m1
L_0009: stfld System.Int32 $PC
L_000e: ldloc.0
L_000f: switch Labels #2 #3 #4 #5
L_0024: br Label #6
L_0029: Label #2
L_0029: ldarg.0
L_002a: ldfld RimWorld.JobDriver_Wear $this
L_002f: call RimWorld.JobDriver_Wear FailOnBaby[JobDriver_Wear]
(RimWorld.JobDriver_Wear)
L_0034: pop
L_0035: ldarg.0
L_0036: newobj Void .ctor()
L_003b: stfld Verse.AI.Toil <gotoApparel>__1
L_0040: ldarg.0
L_0041: ldfld Verse.AI.Toil <gotoApparel>__1
L_0046: ldarg.0
L_0047: ldftn Void <>m__0()
L_004d: newobj Void .ctor(Object, IntPtr)
L_0052: stfld System.Action initAction
L_0057: ldarg.0
L_0058: ldfld Verse.AI.Toil <gotoApparel>__1
L_005d: ldc.i4.2
L_005e: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0063: ldarg.0
L_0064: ldfld Verse.AI.Toil <gotoApparel>__1
L_0069: ldc.i4.1
L_006a: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_006f: pop
L_0070: ldarg.0
L_0071: ldarg.0
L_0072: ldfld Verse.AI.Toil <gotoApparel>__1
L_0077: stfld Verse.AI.Toil $current
L_007c: ldarg.0
L_007d: ldfld System.Boolean $disposing
L_0082: brtrue Label #7
L_0087: ldarg.0
L_0088: ldc.i4.1
L_0089: stfld System.Int32 $PC
L_008e: Label #7
L_008e: br Label #8
L_0093: Label #3
L_0093: ldarg.0
L_0094: newobj Void .ctor()
L_0099: stfld Verse.AI.Toil <prepare>__2
L_009e: ldarg.0
L_009f: ldfld Verse.AI.Toil <prepare>__2
L_00a4: ldc.i4.3
L_00a5: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_00aa: ldarg.0
L_00ab: ldfld Verse.AI.Toil <prepare>__2
L_00b0: ldc.i4.s 60
L_00b2: stfld System.Int32 defaultDuration
L_00b7: ldarg.0
L_00b8: ldfld Verse.AI.Toil <prepare>__2
L_00bd: ldc.i4.1
L_00be: ldc.i4.0
L_00bf: ldc.r4 -0.5
L_00c4: call Verse.AI.Toil WithProgressBarToilDelay(Verse.AI.Toil, TargetIndex,
Boolean, Single)
L_00c9: pop
L_00ca: ldarg.0
L_00cb: ldfld Verse.AI.Toil <prepare>__2
L_00d0: ldc.i4.1
L_00d1: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_00d6: pop
L_00d7: ldarg.0
L_00d8: ldarg.0
L_00d9: ldfld Verse.AI.Toil <prepare>__2
L_00de: stfld Verse.AI.Toil $current
L_00e3: ldarg.0
L_00e4: ldfld System.Boolean $disposing
L_00e9: brtrue Label #9
L_00ee: ldarg.0
L_00ef: ldc.i4.2
L_00f0: stfld System.Int32 $PC
L_00f5: Label #9
L_00f5: br Label #10
L_00fa: Label #4
L_00fa: ldarg.0
L_00fb: newobj Void .ctor()
L_0100: stfld Verse.AI.Toil <wear>__3
L_0105: ldarg.0
L_0106: ldfld Verse.AI.Toil <wear>__3
L_010b: ldarg.0
L_010c: ldftn Void <>m__1()
L_0112: newobj Void .ctor(Object, IntPtr)
L_0117: stfld System.Action initAction
L_011c: ldarg.0
L_011d: ldfld Verse.AI.Toil <wear>__3
L_0122: ldc.i4.1
L_0123: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0128: ldarg.0
L_0129: ldarg.0
L_012a: ldfld Verse.AI.Toil <wear>__3
L_012f: stfld Verse.AI.Toil $current
L_0134: ldarg.0
L_0135: ldfld System.Boolean $disposing
L_013a: brtrue Label #11
L_013f: ldarg.0
L_0140: ldc.i4.3
L_0141: stfld System.Int32 $PC
L_0146: Label #11
L_0146: br Label #12
L_014b: Label #5
L_014b: ldarg.0
L_014c: ldc.i4.m1
L_014d: stfld System.Int32 $PC
L_0152: Label #6
L_0152: ldc.i4.0
L_0153: br Label #0
L_0158: Label #8
L_0158: Label #10
L_0158: Label #12
L_0158: ldc.i4.1
L_0159: br Label #0
L_015e: Label #0
L_015e: ret
DONE

PATCHING RimWorld.ThoughtUtility Boolean CanGetThought(Verse.Pawn,


RimWorld.ThoughtDef)
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 4 (System.Boolean)
L_0007: ldarg.1
L_0008: ldfld System.Boolean validWhileDespawned
L_000d: brtrue Label #2
L_0012: ldarg.0
L_0013: callvirt Boolean get_Spawned()
L_0018: brtrue Label #3
L_001d: ldarg.1
L_001e: callvirt Boolean get_IsMemory()
L_0023: brtrue Label #4
L_0028: ldc.i4.0
L_0029: stloc.0
L_002a: leave Label #5
L_002f: Label #2
L_002f: Label #3
L_002f: Label #4
L_002f: ldarg.1
L_0030: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0035: brfalse Label #6
L_003a: ldc.i4.0
L_003b: stloc.1
L_003c: br Label #7
L_0041: Label #10
L_0041: ldarg.0
L_0042: ldfld RimWorld.Pawn_StoryTracker story
L_0047: ldfld RimWorld.TraitSet traits
L_004c: ldarg.1
L_004d: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0052: ldloc.1
L_0053: callvirt RimWorld.TraitDef get_Item(Int32)
L_0058: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_005d: brfalse Label #8
L_0062: ldc.i4.0
L_0063: stloc.0
L_0064: leave Label #9
L_0069: Label #8
L_0069: ldloc.1
L_006a: ldc.i4.1
L_006b: add
L_006c: stloc.1
L_006d: Label #7
L_006d: ldloc.1
L_006e: ldarg.1
L_006f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0074: callvirt Int32 get_Count()
L_0079: blt Label #10
L_007e: Label #6
L_007e: ldarg.1
L_007f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0084: call Boolean NullOrEmpty[TraitDef](IList`1)
L_0089: brtrue Label #11
L_008e: ldc.i4.0
L_008f: stloc.2
L_0090: ldc.i4.0
L_0091: stloc.3
L_0092: br Label #12
L_0097: Label #19
L_0097: ldarg.0
L_0098: ldfld RimWorld.Pawn_StoryTracker story
L_009d: ldfld RimWorld.TraitSet traits
L_00a2: ldarg.1
L_00a3: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00a8: ldloc.3
L_00a9: callvirt RimWorld.TraitDef get_Item(Int32)
L_00ae: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00b3: brtrue Label #13
L_00b8: leave Label #14
L_00bd: Label #13
L_00bd: ldarg.1
L_00be: callvirt Boolean get_RequiresSpecificTraitsDegree()
L_00c3: brfalse Label #15
L_00c8: ldarg.1
L_00c9: ldfld System.Int32 requiredTraitsDegree
L_00ce: ldarg.0
L_00cf: ldfld RimWorld.Pawn_StoryTracker story
L_00d4: ldfld RimWorld.TraitSet traits
L_00d9: ldarg.1
L_00da: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00df: ldloc.3
L_00e0: callvirt RimWorld.TraitDef get_Item(Int32)
L_00e5: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_00ea: beq Label #16
L_00ef: leave Label #17
L_00f4: Label #15
L_00f4: Label #16
L_00f4: ldc.i4.1
L_00f5: stloc.2
L_00f6: leave Label #18
L_00fb: Label #14
L_00fb: Label #17
L_00fb: ldloc.3
L_00fc: ldc.i4.1
L_00fd: add
L_00fe: stloc.3
L_00ff: Label #12
L_00ff: ldloc.3
L_0100: ldarg.1
L_0101: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0106: callvirt Int32 get_Count()
L_010b: blt Label #19
L_0110: Label #18
L_0110: ldloc.2
L_0111: brtrue Label #20
L_0116: ldc.i4.0
L_0117: stloc.0
L_0118: leave Label #21
L_011d: Label #11
L_011d: Label #20
L_011d: ldarg.1
L_011e: ldfld System.Boolean nullifiedIfNotColonist
L_0123: brfalse Label #22
L_0128: ldarg.0
L_0129: callvirt Boolean get_IsColonist()
L_012e: brtrue Label #23
L_0133: ldc.i4.0
L_0134: stloc.0
L_0135: leave Label #24
L_013a: Label #22
L_013a: Label #23
L_013a: ldarg.1
L_013b: ldarg.0
L_013c: call Boolean IsSituationalThoughtNullifiedByHediffs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0141: brfalse Label #25
L_0146: ldc.i4.0
L_0147: stloc.0
L_0148: leave Label #26
L_014d: Label #25
L_014d: ldarg.1
L_014e: ldarg.0
L_014f: call Boolean IsThoughtNullifiedByOwnTales(RimWorld.ThoughtDef, Verse.Pawn)
L_0154: brfalse Label #27
L_0159: ldc.i4.0
L_015a: stloc.0
L_015b: leave Label #28
L_0160: Label #27
L_0160: leave Label #29
L_0165: endfinally
L_0166: Label #29
L_0166: ldc.i4.1
L_0167: br Label #0
L_016c: Label #5
L_016c: Label #9
L_016c: Label #21
L_016c: Label #24
L_016c: Label #26
L_016c: Label #28
L_016c: ldloc.0
L_016d: br Label #0
L_0172: Label #0
L_0172: stloc 4 (System.Boolean)
L_0174: ldarga 0
L_017a: ldarga 1
L_0180: ldloca 4 (System.Boolean)
L_0182: call Void CanGetThought_Patch(Verse.Pawn ByRef, RimWorld.ThoughtDef ByRef,
Boolean ByRef)
L_0187: ldloc 4 (System.Boolean)
L_0189: ret
DONE

PATCHING RimWorld.JobGiver_SocialFighting Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Verb
L_0000: Local var #2 Verse.AI.Job
L_0000: Local var #3 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 3 (Verse.AI.Job)
L_0002: ldarg.1
L_0003: callvirt Verse.RaceProperties get_RaceProps()
L_0008: callvirt Boolean get_Humanlike()
L_000d: brfalse Label #2
L_0012: ldarg.1
L_0013: ldfld RimWorld.Pawn_StoryTracker story
L_0018: ldc.i4.8
L_0019: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_001e: brfalse Label #3
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: Label #3
L_0029: ldarg.1
L_002a: callvirt Verse.AI.MentalState get_MentalState()
L_002f: castclass Verse.AI.MentalState_SocialFighting
L_0034: ldfld Verse.Pawn otherPawn
L_0039: stloc.0
L_003a: ldarg.1
L_003b: ldloca.s 1 (Verse.Verb)
L_003d: call Boolean TryGetRandomVerbForSocialFight(Verse.Pawn, Verse.Verb ByRef)
L_0042: brtrue Label #4
L_0047: ldnull
L_0048: br Label #0
L_004d: Label #4
L_004d: ldsfld Verse.JobDef SocialFight
L_0052: ldloc.0
L_0053: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0058: newobj Void .ctor(JobDef, LocalTargetInfo)
L_005d: stloc.2
L_005e: ldloc.2
L_005f: ldc.i4.1
L_0060: stfld System.Int32 maxNumMeleeAttacks
L_0065: ldloc.2
L_0066: ldloc.1
L_0067: stfld Verse.Verb verbToUse
L_006c: ldloc.2
L_006d: br Label #0
L_0072: Label #0
L_0072: stloc 3 (Verse.AI.Job)
L_0073: ldarga 1
L_0079: ldloca 3 (Verse.AI.Job)
L_007b: call Void TryGiveJob_Postfix(Verse.Pawn ByRef, Verse.AI.Job ByRef)
L_0080: ldloc 3 (Verse.AI.Job)
L_0081: ret
DONE

PATCHING RimWorld.Pawn_ApparelTracker Void ApparelChanged()


L_0000: ldarg.0
L_0001: ldftn Void <ApparelChanged>m__1()
L_0007: newobj Void .ctor(Object, IntPtr)
L_000c: call Void ExecuteWhenFinished(System.Action)
L_0011: br Label #0
L_0016: Label #0
L_0016: ldarga 0
L_001c: call Void ApparelChanged_Postfix(RimWorld.Pawn_ApparelTracker ByRef)
L_0021: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveAllGraphics()


L_0000: Local var #0 Verse.PawnKindLifeStage
L_0000: ldarg.0
L_0001: call Void ClearCache()
L_0006: ldarg.0
L_0007: ldfld Verse.Pawn pawn
L_000c: callvirt Verse.RaceProperties get_RaceProps()
L_0011: callvirt Boolean get_Humanlike()
L_0016: brfalse Label #2
L_001b: ldarg.0
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_StoryTracker story
L_0027: ldfld RimWorld.BodyType bodyType
L_002c: ldsfld UnityEngine.Shader CutoutSkin
L_0031: ldarg.0
L_0032: ldfld Verse.Pawn pawn
L_0037: ldfld RimWorld.Pawn_StoryTracker story
L_003c: callvirt Color get_SkinColor()
L_0041: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_0046: stfld Verse.Graphic nakedGraphic
L_004b: ldarg.0
L_004c: ldarg.0
L_004d: ldfld Verse.Pawn pawn
L_0052: ldfld RimWorld.Pawn_StoryTracker story
L_0057: ldfld RimWorld.BodyType bodyType
L_005c: ldsfld UnityEngine.Shader CutoutSkin
L_0061: ldsfld UnityEngine.Color RottingColor
L_0066: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_006b: stfld Verse.Graphic rottingGraphic
L_0070: ldarg.0
L_0071: ldstr "Things/Pawn/Humanlike/HumanoidDessicated"
L_0076: ldsfld UnityEngine.Shader Cutout
L_007b: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader)
L_0080: stfld Verse.Graphic dessicatedGraphic
L_0085: ldarg.0
L_0086: ldarg.0
L_0087: ldfld Verse.Pawn pawn
L_008c: ldfld RimWorld.Pawn_StoryTracker story
L_0091: callvirt System.String get_HeadGraphicPath()
L_0096: ldarg.0
L_0097: ldfld Verse.Pawn pawn
L_009c: ldfld RimWorld.Pawn_StoryTracker story
L_00a1: callvirt Color get_SkinColor()
L_00a6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00ab: stfld Verse.Graphic headGraphic
L_00b0: ldarg.0
L_00b1: ldarg.0
L_00b2: ldfld Verse.Pawn pawn
L_00b7: ldfld RimWorld.Pawn_StoryTracker story
L_00bc: callvirt System.String get_HeadGraphicPath()
L_00c1: ldsfld UnityEngine.Color RottingColor
L_00c6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00cb: stfld Verse.Graphic desiccatedHeadGraphic
L_00d0: ldarg.0
L_00d1: call Verse.Graphic_Multi GetSkull()
L_00d6: stfld Verse.Graphic skullGraphic
L_00db: ldarg.0
L_00dc: ldarg.0
L_00dd: ldfld Verse.Pawn pawn
L_00e2: ldfld RimWorld.Pawn_StoryTracker story
L_00e7: callvirt Color get_SkinColor()
L_00ec: call Verse.Graphic_Multi GetStump(Color)
L_00f1: stfld Verse.Graphic headStumpGraphic
L_00f6: ldarg.0
L_00f7: ldsfld UnityEngine.Color RottingColor
L_00fc: call Verse.Graphic_Multi GetStump(Color)
L_0101: stfld Verse.Graphic desiccatedHeadStumpGraphic
L_0106: ldarg.0
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld RimWorld.Pawn_StoryTracker story
L_0112: ldfld RimWorld.HairDef hairDef
L_0117: ldfld System.String texPath
L_011c: ldsfld UnityEngine.Shader Cutout
L_0121: call Vector2 get_one()
L_0126: ldarg.0
L_0127: ldfld Verse.Pawn pawn
L_012c: ldfld RimWorld.Pawn_StoryTracker story
L_0131: ldfld UnityEngine.Color hairColor
L_0136: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_013b: stfld Verse.Graphic hairGraphic
L_0140: ldarg.0
L_0141: call Void ResolveApparelGraphics()
L_0146: br Label #3
L_014b: Label #2
L_014b: ldarg.0
L_014c: ldfld Verse.Pawn pawn
L_0151: ldfld Verse.Pawn_AgeTracker ageTracker
L_0156: callvirt Verse.PawnKindLifeStage get_CurKindLifeStage()
L_015b: stloc.0
L_015c: ldarg.0
L_015d: ldfld Verse.Pawn pawn
L_0162: ldfld Verse.Gender gender
L_0167: ldc.i4.2
L_0168: bne.un Label #4
L_016d: ldloc.0
L_016e: ldfld Verse.GraphicData femaleGraphicData
L_0173: brtrue Label #5
L_0178: Label #4
L_0178: ldarg.0
L_0179: ldloc.0
L_017a: ldfld Verse.GraphicData bodyGraphicData
L_017f: callvirt Verse.Graphic get_Graphic()
L_0184: stfld Verse.Graphic nakedGraphic
L_0189: br Label #6
L_018e: Label #5
L_018e: ldarg.0
L_018f: ldloc.0
L_0190: ldfld Verse.GraphicData femaleGraphicData
L_0195: callvirt Verse.Graphic get_Graphic()
L_019a: stfld Verse.Graphic nakedGraphic
L_019f: Label #6
L_019f: ldarg.0
L_01a0: ldarg.0
L_01a1: ldfld Verse.Graphic nakedGraphic
L_01a6: ldsfld UnityEngine.Shader CutoutSkin
L_01ab: ldsfld UnityEngine.Color RottingColor
L_01b0: ldsfld UnityEngine.Color RottingColor
L_01b5: callvirt Verse.Graphic GetColoredVersion(UnityEngine.Shader, Color, Color)
L_01ba: stfld Verse.Graphic rottingGraphic
L_01bf: ldarg.0
L_01c0: ldfld Verse.Pawn pawn
L_01c5: callvirt Verse.RaceProperties get_RaceProps()
L_01ca: ldfld System.Boolean packAnimal
L_01cf: brfalse Label #7
L_01d4: ldarg.0
L_01d5: ldarg.0
L_01d6: ldfld Verse.Graphic nakedGraphic
L_01db: ldfld System.String path
L_01e0: ldstr "Pack"
L_01e5: call System.String Concat(System.String, System.String)
L_01ea: ldsfld UnityEngine.Shader Cutout
L_01ef: ldarg.0
L_01f0: ldfld Verse.Graphic nakedGraphic
L_01f5: ldfld UnityEngine.Vector2 drawSize
L_01fa: call Color get_white()
L_01ff: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_0204: stfld Verse.Graphic packGraphic
L_0209: Label #7
L_0209: ldloc.0
L_020a: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_020f: brfalse Label #8
L_0214: ldarg.0
L_0215: ldloc.0
L_0216: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_021b: ldarg.0
L_021c: ldfld Verse.Pawn pawn
L_0221: callvirt Verse.Graphic GraphicColoredFor(Verse.Thing)
L_0226: stfld Verse.Graphic dessicatedGraphic
L_022b: Label #3
L_022b: Label #8
L_022b: br Label #0
L_0230: Label #0
L_0230: ldarga 0
L_0236: call Void ResolveAllGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_023b: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveApparelGraphics()


L_0000: Local var #0 RimWorld.Apparel
L_0000: Local var #1 System.Collections.Generic.IEnumerator`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 RimWorld.ApparelGraphicRecord
L_0000: ldarga 0
L_0006: call Void ResolveApparelGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_000b: ldarg.0
L_000c: call Void ClearCache()
L_0011: ldarg.0
L_0012: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0017: callvirt Void Clear()
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0027: callvirt IEnumerable`1 get_WornApparelInDrawOrder()
L_002c: callvirt IEnumerator`1 GetEnumerator()
L_0031: stloc.1
L_0032: br Label #2
L_0037: Label #4
L_0037: ldloc.1
L_0038: callvirt RimWorld.Apparel get_Current()
L_003d: stloc.0
L_003e: ldloc.0
L_003f: ldarg.0
L_0040: ldfld Verse.Pawn pawn
L_0045: call BodyType ModifyChildBodyType(Verse.Pawn)
L_004a: ldloca.s 2 (RimWorld.ApparelGraphicRecord)
L_004c: call Boolean TryGetGraphicApparel(RimWorld.Apparel, BodyType,
ApparelGraphicRecord ByRef)
L_0051: brfalse Label #3
L_0056: ldarg.0
L_0057: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_005c: ldloc.2
L_005d: callvirt Void Add(ApparelGraphicRecord)
L_0062: Label #2
L_0062: Label #3
L_0062: ldloc.1
L_0063: callvirt Boolean MoveNext()
L_0068: brtrue Label #4
L_006d: leave Label #5
L_0072: ldloc.1
L_0073: brfalse Label #6
L_0078: ldloc.1
L_0079: callvirt Void Dispose()
L_007e: Label #6
L_007e: endfinally
L_007f: Label #5
L_007f: br Label #0
L_0084: Label #0
L_0084: ret
DONE

PATCHING Verse.PawnRenderer Void RenderPawnInternal(Vector3, Quaternion, Boolean,


Rot4, Rot4, RotDrawMode, Boolean, Boolean)
L_0000: Local var #0 UnityEngine.Mesh
L_0000: Local var #1 UnityEngine.Vector3
L_0000: Local var #2 System.Collections.Generic.List`1[[UnityEngine.Material,
UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 System.Int32
L_0000: Local var #4 UnityEngine.Material
L_0000: Local var #5 UnityEngine.Vector3
L_0000: Local var #6 UnityEngine.Vector3
L_0000: Local var #7 UnityEngine.Vector3
L_0000: Local var #8 UnityEngine.Vector3
L_0000: Local var #9 UnityEngine.Material
L_0000: Local var #10 UnityEngine.Mesh
L_0000: Local var #11 UnityEngine.Vector3
L_0000: Local var #12 System.Boolean
L_0000: Local var #13 UnityEngine.Mesh
L_0000: Local var #14
System.Collections.Generic.List`1[[RimWorld.ApparelGraphicRecord, Assembly-CSharp,
Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #15 System.Int32
L_0000: Local var #16 RimWorld.ApparelGraphicRecord
L_0000: Local var #17 RimWorld.ApparelGraphicRecord
L_0000: Local var #18 UnityEngine.Material
L_0000: Local var #19 RimWorld.ApparelGraphicRecord
L_0000: Local var #20 UnityEngine.Material
L_0000: Local var #21 RimWorld.ApparelGraphicRecord
L_0000: Local var #22 UnityEngine.Vector3
L_0000: Local var #23 UnityEngine.Mesh
L_0000: Local var #24 UnityEngine.Material
L_0000: Local var #25 System.Int32
L_0000: Local var #26 RimWorld.ApparelGraphicRecord
L_0000: Local var #27 UnityEngine.Material
L_0000: Local var #28 System.Collections.Generic.List`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #29 System.Int32
L_0000: Local var #30 UnityEngine.Vector3
L_0000: ldarg.0
L_0001: ldfld Verse.PawnGraphicSet graphics
L_0006: callvirt Boolean get_AllResolved()
L_000b: brtrue Label #2
L_0010: ldarg.0
L_0011: ldfld Verse.PawnGraphicSet graphics
L_0016: callvirt Void ResolveAllGraphics()
L_001b: Label #2
L_001b: ldnull
L_001c: stloc.0
L_001d: ldarg.0
L_001e: ldfld Verse.Pawn pawn
L_0023: ldfld Verse.Pawn_AgeTracker ageTracker
L_0028: call Int32 get_CurLifeStageIndex()
L_002d: ldc.i4.2
L_002e: blt Label #43
L_0033: ldarg.3
L_0034: brfalse Label #3
L_0039: Label #43
L_0039: ldarg.1
L_003a: ldarg.0
L_003b: ldfld Verse.Pawn pawn
L_0040: ldarg.s 7
L_0045: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_004a: stloc.1
L_004b: ldloca.s 1 (UnityEngine.Vector3)
L_004d: dup
L_004e: ldfld System.Single y
L_0053: ldc.r4 0.0078125
L_0058: add
L_0059: stfld System.Single y
L_005e: ldarg.s 6
L_0060: ldc.i4.2
L_0061: bne.un Label #4
L_0066: ldarg.0
L_0067: ldfld Verse.Pawn pawn
L_006c: callvirt Verse.RaceProperties get_RaceProps()
L_0071: callvirt Boolean get_Humanlike()
L_0076: brtrue Label #5
L_007b: ldarg.0
L_007c: ldfld Verse.PawnGraphicSet graphics
L_0081: ldfld Verse.Graphic dessicatedGraphic
L_0086: brfalse Label #6
L_008b: ldarg.s 7
L_008d: brtrue Label #7
L_0092: ldarg.0
L_0093: ldfld Verse.PawnGraphicSet graphics
L_0098: ldfld Verse.Graphic dessicatedGraphic
L_009d: ldloc.1
L_009e: ldarg.s 4
L_00a0: ldarg.0
L_00a1: ldfld Verse.Pawn pawn
L_00a6: ldc.r4 0
L_00ab: callvirt Void Draw(Vector3, Rot4, Verse.Thing, Single)
L_00b0: br Label #8
L_00b5: Label #4
L_00b5: Label #5
L_00b5: Label #6
L_00b5: Label #7
L_00b5: ldarg.0
L_00b6: ldfld Verse.Pawn pawn
L_00bb: callvirt Verse.RaceProperties get_RaceProps()
L_00c0: callvirt Boolean get_Humanlike()
L_00c5: brfalse Label #9
L_00ca: ldsfld Verse.GraphicMeshSet humanlikeBodySet
L_00cf: ldarg.s 4
L_00d1: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00d6: stloc.0
L_00d7: br Label #10
L_00dc: Label #9
L_00dc: ldarg.0
L_00dd: ldfld Verse.PawnGraphicSet graphics
L_00e2: ldfld Verse.Graphic nakedGraphic
L_00e7: ldarg.s 4
L_00e9: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00ee: stloc.0
L_00ef: Label #10
L_00ef: ldarg.0
L_00f0: ldfld Verse.PawnGraphicSet graphics
L_00f5: ldarg.s 4
L_00f7: ldarg.s 6
L_00f9: callvirt System.Collections.Generic.List`1[UnityEngine.Material]
MatsBodyBaseAt(Rot4, RotDrawMode)
L_00fe: stloc.2
L_00ff: ldc.i4.0
L_0100: stloc.3
L_0101: br Label #11
L_0106: Label #12
L_0106: ldarg.0
L_0107: ldfld Verse.PawnGraphicSet graphics
L_010c: ldfld Verse.DamageFlasher flasher
L_0111: ldloc.2
L_0112: ldloc.3
L_0113: callvirt UnityEngine.Material get_Item(Int32)
L_0118: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_011d: stloc.s 4 (UnityEngine.Material)
L_011f: ldloc.s 4
L_0124: ldarg.0
L_0125: ldfld Verse.Pawn pawn
L_012a: ldarg.s 4
L_012f: call UnityEngine.Material ModifyClothingForChild(UnityEngine.Material,
Verse.Pawn, Rot4)
L_0134: stloc.s 4
L_0139: ldloc.0
L_013a: ldloc.1
L_013b: ldarg.2
L_013c: ldloc.s 4 (UnityEngine.Material)
L_013e: ldarg.s 7
L_0140: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_0145: ldloca.s 1 (UnityEngine.Vector3)
L_0147: dup
L_0148: ldfld System.Single y
L_014d: ldloc.s 18
L_0152: ldarg.0
L_0153: ldfld Verse.Pawn pawn
L_0158: call UnityEngine.Material ModifyHatForChild(UnityEngine.Material,
Verse.Pawn)
L_015d: stloc.s 18
L_0162: ldc.r4 0.00390625
L_0167: add
L_0168: stfld System.Single y
L_016d: ldloc.3
L_016e: ldc.i4.1
L_016f: add
L_0170: stloc.3
L_0171: Label #11
L_0171: ldloc.3
L_0172: ldloc.2
L_0173: callvirt Int32 get_Count()
L_0178: blt Label #12
L_017d: ldarg.s 6
L_017f: brtrue Label #13
L_0184: ldarg.1
L_0185: ldarg.0
L_0186: ldfld Verse.Pawn pawn
L_018b: ldarg.s 7
L_0190: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0195: stloc.s 5 (UnityEngine.Vector3)
L_0197: ldloca.s 5 (UnityEngine.Vector3)
L_0199: dup
L_019a: ldfld System.Single y
L_019f: ldc.r4 0.01953125
L_01a4: add
L_01a5: stfld System.Single y
L_01aa: ldarg.0
L_01ab: ldfld RimWorld.PawnWoundDrawer woundOverlays
L_01b0: ldloc.s 5 (UnityEngine.Vector3)
L_01b2: ldloc.0
L_01b3: ldarg.2
L_01b4: ldarg.s 7
L_01b6: callvirt Void RenderOverBody(Vector3, UnityEngine.Mesh, Quaternion,
Boolean)
L_01bb: Label #3
L_01bb: Label #8
L_01bb: Label #13
L_01bb: ldarg.1
L_01bc: ldarg.0
L_01bd: ldfld Verse.Pawn pawn
L_01c2: ldarg.s 7
L_01c7: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01cc: stloc.s 6 (UnityEngine.Vector3)
L_01ce: ldarg.1
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldarg.s 7
L_01da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01df: stloc.s 7 (UnityEngine.Vector3)
L_01e1: ldarg.s 4
L_01e3: call Rot4 get_North()
L_01e8: call Boolean op_Inequality(Rot4, Rot4)
L_01ed: brfalse Label #14
L_01f2: ldloca.s 7 (UnityEngine.Vector3)
L_01f4: dup
L_01f5: ldfld System.Single y
L_01fa: ldc.r4 0.02734375
L_01ff: add
L_0200: stfld System.Single y
L_0205: ldloca.s 6 (UnityEngine.Vector3)
L_0207: dup
L_0208: ldfld System.Single y
L_020d: ldc.r4 0.0234375
L_0212: add
L_0213: stfld System.Single y
L_0218: br Label #15
L_021d: Label #14
L_021d: ldloca.s 7 (UnityEngine.Vector3)
L_021f: dup
L_0220: ldfld System.Single y
L_0225: ldc.r4 0.0234375
L_022a: add
L_022b: stfld System.Single y
L_0230: ldloca.s 6 (UnityEngine.Vector3)
L_0232: dup
L_0233: ldfld System.Single y
L_0238: ldc.r4 0.02734375
L_023d: add
L_023e: stfld System.Single y
L_0243: Label #15
L_0243: ldarg.0
L_0244: ldfld Verse.PawnGraphicSet graphics
L_0249: ldfld Verse.Graphic headGraphic
L_024e: brfalse Label #16
L_0253: ldarg.0
L_0254: ldfld Verse.Pawn pawn
L_0259: call Boolean RaceUsesChildren(Verse.Pawn)
L_025e: brfalse Label #44
L_0263: ldarg.0
L_0264: ldfld Verse.Pawn pawn
L_0269: call Boolean EnsurePawnIsChildOrOlder(Verse.Pawn)
L_026e: brfalse Label #16
L_0273: Label #44
L_0273: nop
L_0274: ldarg.2
L_0275: ldarg.0
L_0276: ldarg.s 5
L_0278: call Vector3 BaseHeadOffsetAt(Rot4)
L_027d: call Vector3 op_Multiply(Quaternion, Vector3)
L_0282: stloc.s 8 (UnityEngine.Vector3)
L_0284: ldarg.0
L_0285: ldfld Verse.PawnGraphicSet graphics
L_028a: ldarg.s 5
L_028c: ldarg.s 6
L_028e: ldarg.s 8
L_0290: callvirt UnityEngine.Material HeadMatAt(Rot4, RotDrawMode, Boolean)
L_0295: stloc.s 9 (UnityEngine.Material)
L_0297: ldloc.s 9 (UnityEngine.Material)
L_0299: ldnull
L_029a: call Boolean op_Inequality(UnityEngine.Object, UnityEngine.Object)
L_029f: brfalse Label #17
L_02a4: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_02a9: ldarg.s 5
L_02ab: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_02b0: stloc.s 10 (UnityEngine.Mesh)
L_02b2: ldloc.s 10 (UnityEngine.Mesh)
L_02b4: ldloc.s 7 (UnityEngine.Vector3)
L_02b6: ldloc.s 8 (UnityEngine.Vector3)
L_02b8: call Vector3 op_Addition(Vector3, Vector3)
L_02bd: ldarg.2
L_02be: ldloc.s 9 (UnityEngine.Material)
L_02c0: ldarg.s 7
L_02c2: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_02c7: Label #17
L_02c7: ldarg.1
L_02c8: ldloc.s 8 (UnityEngine.Vector3)
L_02ca: call Vector3 op_Addition(Vector3, Vector3)
L_02cf: ldarg.0
L_02d0: ldfld Verse.Pawn pawn
L_02d5: ldarg.s 7
L_02da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_02df: stloc.s 11 (UnityEngine.Vector3)
L_02e1: ldloca.s 11 (UnityEngine.Vector3)
L_02e3: dup
L_02e4: ldfld System.Single y
L_02e9: ldc.r4 0.03125
L_02ee: add
L_02ef: stfld System.Single y
L_02f4: ldc.i4.0
L_02f5: stloc.s 12 (System.Boolean)
L_02f7: ldarg.s 7
L_02f9: brfalse Label #18
L_02fe: call Boolean get_HatsOnlyOnMap()
L_0303: brtrue Label #19
L_0308: Label #18
L_0308: ldarg.0
L_0309: ldfld Verse.PawnGraphicSet graphics
L_030e: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_0313: ldarg.s 5
L_0315: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_031a: stloc.s 13 (UnityEngine.Mesh)
L_031c: ldarg.0
L_031d: ldfld Verse.PawnGraphicSet graphics
L_0322: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0327: stloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0329: ldc.i4.0
L_032a: stloc.s 15 (System.Int32)
L_032c: br Label #20
L_0331: Label #26
L_0331: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0333: ldloc.s 15 (System.Int32)
L_0335: callvirt ApparelGraphicRecord get_Item(Int32)
L_033a: stloc.s 16 (RimWorld.ApparelGraphicRecord)
L_033c: ldloca.s 16 (RimWorld.ApparelGraphicRecord)
L_033e: ldfld RimWorld.Apparel sourceApparel
L_0343: ldfld Verse.ThingDef def
L_0348: ldfld RimWorld.ApparelProperties apparel
L_034d: callvirt ApparelLayer get_LastLayer()
L_0352: ldc.i4.4
L_0353: bne.un Label #21
L_0358: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_035a: ldloc.s 15 (System.Int32)
L_035c: callvirt ApparelGraphicRecord get_Item(Int32)
L_0361: stloc.s 17 (RimWorld.ApparelGraphicRecord)
L_0363: ldloca.s 17 (RimWorld.ApparelGraphicRecord)
L_0365: ldfld RimWorld.Apparel sourceApparel
L_036a: ldfld Verse.ThingDef def
L_036f: ldfld RimWorld.ApparelProperties apparel
L_0374: ldfld System.Boolean hatRenderedFrontOfFace
L_0379: brtrue Label #22
L_037e: ldc.i4.1
L_037f: stloc.s 12 (System.Boolean)
L_0381: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0383: ldloc.s 15 (System.Int32)
L_0385: callvirt ApparelGraphicRecord get_Item(Int32)
L_038a: stloc.s 19 (RimWorld.ApparelGraphicRecord)
L_038c: ldloca.s 19 (RimWorld.ApparelGraphicRecord)
L_038e: ldfld Verse.Graphic graphic
L_0393: ldarg.s 4
L_0395: ldnull
L_0396: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_039b: stloc.s 18 (UnityEngine.Material)
L_039d: ldarg.0
L_039e: ldfld Verse.PawnGraphicSet graphics
L_03a3: ldfld Verse.DamageFlasher flasher
L_03a8: ldloc.s 18 (UnityEngine.Material)
L_03aa: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03af: stloc.s 18 (UnityEngine.Material)
L_03b1: ldloc.s 13 (UnityEngine.Mesh)
L_03b3: ldloc.s 11 (UnityEngine.Vector3)
L_03b5: ldarg.2
L_03b6: ldloc.s 18 (UnityEngine.Material)
L_03b8: ldarg.s 7
L_03ba: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_03bf: br Label #23
L_03c4: Label #22
L_03c4: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_03c6: ldloc.s 15 (System.Int32)
L_03c8: callvirt ApparelGraphicRecord get_Item(Int32)
L_03cd: stloc.s 21 (RimWorld.ApparelGraphicRecord)
L_03cf: ldloca.s 21 (RimWorld.ApparelGraphicRecord)
L_03d1: ldfld Verse.Graphic graphic
L_03d6: ldarg.s 4
L_03d8: ldnull
L_03d9: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_03de: stloc.s 20 (UnityEngine.Material)
L_03e0: ldarg.0
L_03e1: ldfld Verse.PawnGraphicSet graphics
L_03e6: ldfld Verse.DamageFlasher flasher
L_03eb: ldloc.s 20 (UnityEngine.Material)
L_03ed: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03f2: stloc.s 20 (UnityEngine.Material)
L_03f4: ldarg.1
L_03f5: ldloc.s 8 (UnityEngine.Vector3)
L_03f7: call Vector3 op_Addition(Vector3, Vector3)
L_03fc: stloc.s 22 (UnityEngine.Vector3)
L_03fe: ldloca.s 22 (UnityEngine.Vector3)
L_0400: dup
L_0401: ldfld System.Single y
L_0406: ldarg.s 4
L_0408: call Rot4 get_North()
L_040d: call Boolean op_Equality(Rot4, Rot4)
L_0412: brfalse Label #24
L_0417: ldc.r4 0.00390625
L_041c: br Label #25
L_0421: Label #24
L_0421: ldc.r4 0.03515625
L_0426: Label #25
L_0426: add
L_0427: stfld System.Single y
L_042c: ldloc.s 13 (UnityEngine.Mesh)
L_042e: ldloc.s 22 (UnityEngine.Vector3)
L_0430: ldarg.2
L_0431: ldloc.s 20 (UnityEngine.Material)
L_0433: ldarg.s 7
L_0435: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_043a: Label #21
L_043a: Label #23
L_043a: ldloc.s 15 (System.Int32)
L_043c: ldc.i4.1
L_043d: add
L_043e: stloc.s 15 (System.Int32)
L_0440: Label #20
L_0440: ldloc.s 15 (System.Int32)
L_0442: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0444: callvirt Int32 get_Count()
L_0449: blt Label #26
L_044e: Label #19
L_044e: ldloc.s 12 (System.Boolean)
L_0450: brtrue Label #27
L_0455: ldarg.s 6
L_0457: ldc.i4.2
L_0458: beq Label #28
L_045d: ldarg.s 8
L_045f: brtrue Label #29
L_0464: ldarg.0
L_0465: ldfld Verse.PawnGraphicSet graphics
L_046a: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_046f: ldarg.s 5
L_0471: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0476: stloc.s 23 (UnityEngine.Mesh)
L_0478: ldarg.0
L_0479: ldfld Verse.PawnGraphicSet graphics
L_047e: ldarg.s 5
L_0480: callvirt UnityEngine.Material HairMatAt(Rot4)
L_0485: stloc.s 24 (UnityEngine.Material)
L_0487: ldloc.s 24
L_048c: ldarg.0
L_048d: ldfld Verse.Pawn pawn
L_0492: call UnityEngine.Material ModifyHairForChild(UnityEngine.Material,
Verse.Pawn)
L_0497: stloc.s 24
L_049c: ldloc.s 23 (UnityEngine.Mesh)
L_049e: ldloc.s 11 (UnityEngine.Vector3)
L_04a0: ldarg.2
L_04a1: ldloc.s 24 (UnityEngine.Material)
L_04a3: ldarg.s 7
L_04a5: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_04aa: Label #16
L_04aa: Label #27
L_04aa: Label #28
L_04aa: Label #29
L_04aa: ldarg.3
L_04ab: brfalse Label #30
L_04b0: ldc.i4.0
L_04b1: stloc.s 25 (System.Int32)
L_04b3: br Label #31
L_04b8: Label #33
L_04b8: ldarg.0
L_04b9: ldfld Verse.PawnGraphicSet graphics
L_04be: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_04c3: ldloc.s 25 (System.Int32)
L_04c5: callvirt ApparelGraphicRecord get_Item(Int32)
L_04ca: stloc.s 26 (RimWorld.ApparelGraphicRecord)
L_04cc: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ce: ldfld RimWorld.Apparel sourceApparel
L_04d3: ldfld Verse.ThingDef def
L_04d8: ldfld RimWorld.ApparelProperties apparel
L_04dd: callvirt ApparelLayer get_LastLayer()
L_04e2: ldc.i4.2
L_04e3: bne.un Label #32
L_04e8: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ea: ldfld Verse.Graphic graphic
L_04ef: ldarg.s 4
L_04f1: ldnull
L_04f2: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_04f7: stloc.s 27 (UnityEngine.Material)
L_04f9: ldarg.0
L_04fa: ldfld Verse.PawnGraphicSet graphics
L_04ff: ldfld Verse.DamageFlasher flasher
L_0504: ldloc.s 27 (UnityEngine.Material)
L_0506: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_050b: stloc.s 27 (UnityEngine.Material)
L_050d: ldloc.0
L_050e: ldloc.s 6 (UnityEngine.Vector3)
L_0510: ldarg.2
L_0511: ldloc.s 27 (UnityEngine.Material)
L_0513: ldarg.s 7
L_0515: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_051a: Label #32
L_051a: ldloc.s 25 (System.Int32)
L_051c: ldc.i4.1
L_051d: add
L_051e: stloc.s 25 (System.Int32)
L_0520: Label #31
L_0520: ldloc.s 25 (System.Int32)
L_0522: ldarg.0
L_0523: ldfld Verse.PawnGraphicSet graphics
L_0528: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_052d: callvirt Int32 get_Count()
L_0532: blt Label #33
L_0537: Label #30
L_0537: ldarg.s 7
L_0539: brtrue Label #34
L_053e: ldarg.0
L_053f: ldfld Verse.Pawn pawn
L_0544: callvirt Verse.RaceProperties get_RaceProps()
L_0549: callvirt Boolean get_Animal()
L_054e: brfalse Label #35
L_0553: ldarg.0
L_0554: ldfld Verse.Pawn pawn
L_0559: ldfld Verse.Pawn_InventoryTracker inventory
L_055e: brfalse Label #36
L_0563: ldarg.0
L_0564: ldfld Verse.Pawn pawn
L_0569: ldfld Verse.Pawn_InventoryTracker inventory
L_056e: ldfld Verse.ThingOwner`1[Verse.Thing] innerContainer
L_0573: callvirt Int32 get_Count()
L_0578: ldc.i4.0
L_0579: ble Label #37
L_057e: ldarg.0
L_057f: ldfld Verse.PawnGraphicSet graphics
L_0584: ldfld Verse.Graphic packGraphic
L_0589: brfalse Label #38
L_058e: ldloc.0
L_058f: ldloc.s 6 (UnityEngine.Vector3)
L_0591: ldarg.2
L_0592: ldarg.0
L_0593: ldfld Verse.PawnGraphicSet graphics
L_0598: ldfld Verse.Graphic packGraphic
L_059d: ldarg.s 4
L_059f: ldnull
L_05a0: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_05a5: ldc.i4.0
L_05a6: call Void DrawMesh(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Int32)
L_05ab: Label #34
L_05ab: Label #35
L_05ab: Label #36
L_05ab: Label #37
L_05ab: Label #38
L_05ab: ldarg.s 7
L_05ad: brtrue Label #39
L_05b2: ldarg.0
L_05b3: ldarg.1
L_05b4: call Void DrawEquipment(Vector3)
L_05b9: ldarg.0
L_05ba: ldfld Verse.Pawn pawn
L_05bf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05c4: brfalse Label #40
L_05c9: ldarg.0
L_05ca: ldfld Verse.Pawn pawn
L_05cf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05d4: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_05d9: stloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05db: ldc.i4.0
L_05dc: stloc.s 29 (System.Int32)
L_05de: br Label #41
L_05e3: Label #42
L_05e3: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05e5: ldloc.s 29 (System.Int32)
L_05e7: callvirt RimWorld.Apparel get_Item(Int32)
L_05ec: callvirt Void DrawWornExtras()
L_05f1: ldloc.s 29 (System.Int32)
L_05f3: ldc.i4.1
L_05f4: add
L_05f5: stloc.s 29 (System.Int32)
L_05f7: Label #41
L_05f7: ldloc.s 29 (System.Int32)
L_05f9: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05fb: callvirt Int32 get_Count()
L_0600: blt Label #42
L_0605: Label #40
L_0605: ldarg.1
L_0606: ldarg.0
L_0607: ldfld Verse.Pawn pawn
L_060c: ldarg.s 7
L_0611: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0616: stloc.s 30 (UnityEngine.Vector3)
L_0618: ldloca.s 30 (UnityEngine.Vector3)
L_061a: dup
L_061b: ldfld System.Single y
L_0620: ldc.r4 0.04296875
L_0625: add
L_0626: stfld System.Single y
L_062b: ldarg.0
L_062c: ldfld Verse.PawnHeadOverlays statusOverlays
L_0631: ldloc.s 30 (UnityEngine.Vector3)
L_0633: ldarg.2
L_0634: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_0639: ldarg.s 5
L_063b: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0640: callvirt Void RenderStatusOverlays(Vector3, Quaternion, UnityEngine.Mesh)
L_0645: Label #39
L_0645: br Label #0
L_064a: Label #0
L_064a: ret
DONE

PATCHING Verse.PawnGenerator Verse.Pawn GeneratePawn(PawnGenerationRequest)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Pawn
L_0000: ldnull
L_0001: stloc 1 (Verse.Pawn)
L_0002: ldarg.0
L_0003: call Verse.Pawn GeneratePawnInternal(PawnGenerationRequest)
L_0008: stloc.0
L_0009: leave Label #2
L_000e: endfinally
L_000f: Label #2
L_000f: ldloc.0
L_0010: br Label #0
L_0015: Label #0
L_0015: stloc 1 (Verse.Pawn)
L_0016: ldarga 0
L_001c: ldloca 1 (Verse.Pawn)
L_001e: call Void _GeneratePawn(PawnGenerationRequest ByRef, Verse.Pawn ByRef)
L_0023: ldloc 1 (Verse.Pawn)
L_0024: ret
DONE

PATCHING RimWorld.JobGiver_OptimizeApparel Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 RimWorld.Outfit
L_0000: Local var #1 System.Collections.Generic.List`1[[RimWorld.Apparel, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.AI.Job
L_0000: Local var #4 Verse.Thing
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #7 System.Int32
L_0000: Local var #8 RimWorld.Apparel
L_0000: Local var #9 RimWorld.SlotGroup
L_0000: Local var #10 System.Single
L_0000: Local var #11 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 11 (Verse.AI.Job)
L_0003: ldarg.1
L_0004: ldfld RimWorld.Pawn_OutfitTracker outfits
L_0009: brtrue Label #2
L_000e: ldarg.1
L_000f: ldstr " tried to run JobGiver_OptimizeApparel without an OutfitTracker"
L_0014: call System.String Concat(System.Object, System.Object)
L_0019: ldc.i4 5643897
L_001e: call Void ErrorOnce(System.String, Int32)
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: ldarg.1
L_002a: callvirt RimWorld.Faction get_Faction()
L_002f: call RimWorld.Faction get_OfPlayer()
L_0034: beq Label #3
L_0039: ldstr "Non-colonist "
L_003e: ldarg.1
L_003f: ldstr " tried to optimize apparel."
L_0044: call System.String Concat(System.Object, System.Object, System.Object)
L_0049: ldc.i4 764323
L_004e: call Void ErrorOnce(System.String, Int32)
L_0053: ldnull
L_0054: br Label #0
L_0059: Label #3
L_0059: ldsfld System.Boolean debugApparelOptimize
L_005e: brtrue Label #4
L_0063: call Verse.TickManager get_TickManager()
L_0068: callvirt Int32 get_TicksGame()
L_006d: ldarg.1
L_006e: ldfld Verse.AI.Pawn_MindState mindState
L_0073: ldfld System.Int32 nextApparelOptimizeTick
L_0078: bge Label #5
L_007d: ldnull
L_007e: br Label #0
L_0083: Label #5
L_0083: br Label #6
L_0088: Label #4
L_0088: newobj Void .ctor()
L_008d: stsfld System.Text.StringBuilder debugSb
L_0092: ldsfld System.Text.StringBuilder debugSb
L_0097: ldc.i4.4
L_0098: newarr System.Object
L_009d: dup
L_009e: ldc.i4.0
L_009f: ldstr "Scanning for "
L_00a4: stelem.ref
L_00a5: dup
L_00a6: ldc.i4.1
L_00a7: ldarg.1
L_00a8: stelem.ref
L_00a9: dup
L_00aa: ldc.i4.2
L_00ab: ldstr " at "
L_00b0: stelem.ref
L_00b1: dup
L_00b2: ldc.i4.3
L_00b3: ldarg.1
L_00b4: callvirt IntVec3 get_Position()
L_00b9: box Verse.IntVec3
L_00be: stelem.ref
L_00bf: call System.String Concat(System.Object[])
L_00c4: callvirt System.Text.StringBuilder AppendLine(System.String)
L_00c9: pop
L_00ca: Label #6
L_00ca: ldarg.1
L_00cb: ldfld RimWorld.Pawn_OutfitTracker outfits
L_00d0: callvirt RimWorld.Outfit get_CurrentOutfit()
L_00d5: stloc.0
L_00d6: ldarg.1
L_00d7: ldfld RimWorld.Pawn_ApparelTracker apparel
L_00dc: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_00e1: stloc.1
L_00e2: ldloc.1
L_00e3: callvirt Int32 get_Count()
L_00e8: ldc.i4.1
L_00e9: sub
L_00ea: stloc.2
L_00eb: br Label #7
L_00f0: Label #10
L_00f0: ldloc.0
L_00f1: ldfld Verse.ThingFilter filter
L_00f6: ldloc.1
L_00f7: ldloc.2
L_00f8: callvirt RimWorld.Apparel get_Item(Int32)
L_00fd: callvirt Boolean Allows(Verse.Thing)
L_0102: brtrue Label #8
L_0107: ldarg.1
L_0108: ldfld RimWorld.Pawn_OutfitTracker outfits
L_010d: ldfld RimWorld.OutfitForcedHandler forcedHandler
L_0112: ldloc.1
L_0113: ldloc.2
L_0114: callvirt RimWorld.Apparel get_Item(Int32)
L_0119: callvirt Boolean AllowedToAutomaticallyDrop(RimWorld.Apparel)
L_011e: brfalse Label #9
L_0123: ldsfld Verse.JobDef RemoveApparel
L_0128: ldloc.1
L_0129: ldloc.2
L_012a: callvirt RimWorld.Apparel get_Item(Int32)
L_012f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0134: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0139: stloc.3
L_013a: ldloc.3
L_013b: ldc.i4.1
L_013c: stfld System.Boolean haulDroppedApparel
L_0141: ldloc.3
L_0142: br Label #0
L_0147: Label #8
L_0147: Label #9
L_0147: ldloc.2
L_0148: ldc.i4.1
L_0149: sub
L_014a: stloc.2
L_014b: Label #7
L_014b: ldloc.2
L_014c: ldc.i4.0
L_014d: bge Label #10
L_0152: ldnull
L_0153: stloc.s 4 (Verse.Thing)
L_0155: ldc.r4 0
L_015a: stloc.s 5 (System.Single)
L_015c: ldarg.1
L_015d: callvirt Verse.Map get_Map()
L_0162: ldfld Verse.ListerThings listerThings
L_0167: ldc.i4.s 26
L_0169: callvirt System.Collections.Generic.List`1[Verse.Thing]
ThingsInGroup(ThingRequestGroup)
L_016e: stloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0170: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0172: callvirt Int32 get_Count()
L_0177: brtrue Label #11
L_017c: ldarg.0
L_017d: ldarg.1
L_017e: call Void SetNextOptimizeTick(Verse.Pawn)
L_0183: ldnull
L_0184: br Label #0
L_0189: Label #11
L_0189: ldarg.1
L_018a: ldarg.1
L_018b: callvirt Verse.Map get_Map()
L_0190: callvirt Int32 get_Tile()
L_0195: ldarg.1
L_0196: call Twelfth Twelfth(Verse.Thing)
L_019b: call NeededWarmth CalculateNeededWarmth(Verse.Pawn, Int32, Twelfth)
L_01a0: stsfld RimWorld.NeededWarmth neededWarmth
L_01a5: ldc.i4.0
L_01a6: stloc.s 7 (System.Int32)
L_01a8: br Label #12
L_01ad: Label #27
L_01ad: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_01af: ldloc.s 7 (System.Int32)
L_01b1: callvirt Verse.Thing get_Item(Int32)
L_01b6: castclass RimWorld.Apparel
L_01bb: stloc.s 8 (RimWorld.Apparel)
L_01bd: ldloc.0
L_01be: ldfld Verse.ThingFilter filter
L_01c3: ldloc.s 8 (RimWorld.Apparel)
L_01c5: callvirt Boolean Allows(Verse.Thing)
L_01ca: brtrue Label #13
L_01cf: br Label #14
L_01d4: Label #13
L_01d4: ldloc.s 8 (RimWorld.Apparel)
L_01d6: callvirt Verse.Map get_Map()
L_01db: ldfld RimWorld.SlotGroupManager slotGroupManager
L_01e0: ldloc.s 8 (RimWorld.Apparel)
L_01e2: callvirt IntVec3 get_Position()
L_01e7: callvirt RimWorld.SlotGroup SlotGroupAt(IntVec3)
L_01ec: stloc.s 9 (RimWorld.SlotGroup)
L_01ee: ldloc.s 9 (RimWorld.SlotGroup)
L_01f0: brtrue Label #15
L_01f5: br Label #16
L_01fa: Label #15
L_01fa: ldloc.s 8 (RimWorld.Apparel)
L_01fc: ldarg.1
L_01fd: call Boolean IsForbidden(Verse.Thing, Verse.Pawn)
L_0202: brfalse Label #17
L_0207: br Label #18
L_020c: Label #17
L_020c: ldarg.1
L_020d: ldloc.s 8 (RimWorld.Apparel)
L_020f: call Single ApparelScoreGain(Verse.Pawn, RimWorld.Apparel)
L_0214: stloc.s 10 (System.Single)
L_0216: ldsfld System.Boolean debugApparelOptimize
L_021b: brfalse Label #19
L_0220: ldsfld System.Text.StringBuilder debugSb
L_0225: ldloc.s 8 (RimWorld.Apparel)
L_0227: callvirt System.String get_LabelCap()
L_022c: ldstr ": "
L_0231: ldloca.s 10 (System.Single)
L_0233: ldstr "F2"
L_0238: call System.String ToString(System.String)
L_023d: call System.String Concat(System.String, System.String, System.String)
L_0242: callvirt System.Text.StringBuilder AppendLine(System.String)
L_0247: pop
L_0248: Label #19
L_0248: ldloc.s 10 (System.Single)
L_024a: ldc.r4 0.05
L_024f: blt Label #20
L_0254: ldloc.s 10 (System.Single)
L_0256: ldloc.s 5 (System.Single)
L_0258: bge.un Label #21
L_025d: Label #20
L_025d: br Label #22
L_0262: Label #21
L_0262: ldarg.1
L_0263: ldloc.s 8 (RimWorld.Apparel)
L_0265: ldfld Verse.ThingDef def
L_026a: call Boolean HasPartsToWear(Verse.Pawn, Verse.ThingDef)
L_026f: brtrue Label #23
L_0274: br Label #24
L_0279: Label #23
L_0279: ldarg.1
L_027a: ldloc.s 8 (RimWorld.Apparel)
L_027c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0281: ldc.i4.1
L_0282: ldarg.1
L_0283: call Danger NormalMaxDanger(Verse.Pawn)
L_0288: ldc.i4.1
L_0289: ldc.i4.m1
L_028a: ldnull
L_028b: ldc.i4.0
L_028c: call Boolean CanReserveAndReach(Verse.Pawn, LocalTargetInfo, PathEndMode,
Danger, Int32, Int32, Verse.ReservationLayerDef, Boolean)
L_0291: brtrue Label #25
L_0296: br Label #26
L_029b: Label #25
L_029b: ldloc.s 8 (RimWorld.Apparel)
L_029d: stloc.s 4 (Verse.Thing)
L_029f: ldloc.s 10 (System.Single)
L_02a1: stloc.s 5 (System.Single)
L_02a3: Label #14
L_02a3: Label #16
L_02a3: Label #18
L_02a3: Label #22
L_02a3: Label #24
L_02a3: Label #26
L_02a3: ldloc.s 7 (System.Int32)
L_02a5: ldc.i4.1
L_02a6: add
L_02a7: stloc.s 7 (System.Int32)
L_02a9: Label #12
L_02a9: ldloc.s 7 (System.Int32)
L_02ab: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_02ad: callvirt Int32 get_Count()
L_02b2: blt Label #27
L_02b7: ldsfld System.Boolean debugApparelOptimize
L_02bc: brfalse Label #28
L_02c1: ldsfld System.Text.StringBuilder debugSb
L_02c6: ldstr "BEST: "
L_02cb: ldloc.s 4 (Verse.Thing)
L_02cd: call System.String Concat(System.Object, System.Object)
L_02d2: callvirt System.Text.StringBuilder AppendLine(System.String)
L_02d7: pop
L_02d8: ldsfld System.Text.StringBuilder debugSb
L_02dd: callvirt System.String ToString()
L_02e2: call Void Message(System.String)
L_02e7: ldnull
L_02e8: stsfld System.Text.StringBuilder debugSb
L_02ed: Label #28
L_02ed: ldloc.s 4 (Verse.Thing)
L_02ef: brtrue Label #29
L_02f4: ldarg.0
L_02f5: ldarg.1
L_02f6: call Void SetNextOptimizeTick(Verse.Pawn)
L_02fb: ldnull
L_02fc: br Label #0
L_0301: Label #29
L_0301: ldsfld Verse.JobDef Wear
L_0306: ldloc.s 4 (Verse.Thing)
L_0308: call LocalTargetInfo op_Implicit(Verse.Thing)
L_030d: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0312: br Label #0
L_0317: Label #0
L_0317: stloc 11 (Verse.AI.Job)
L_0319: ldloca 11 (Verse.AI.Job)
L_031b: ldarga 1
L_0321: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_0326: ldloc 11 (Verse.AI.Job)
L_0328: ret
DONE

PATCHING Verse.Pawn_HealthTracker Boolean ShouldBeDowned()


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean get_InPainShock()
L_000c: brtrue Label #2
L_0011: ldarg.0
L_0012: ldfld Verse.PawnCapacitiesHandler capacities
L_0017: callvirt Boolean get_CanBeAwake()
L_001c: brfalse Label #3
L_0021: ldarg.0
L_0022: ldfld Verse.PawnCapacitiesHandler capacities
L_0027: ldsfld Verse.PawnCapacityDef Moving
L_002c: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0031: ldc.i4.0
L_0032: ceq
L_0034: br Label #4
L_0039: Label #2
L_0039: Label #3
L_0039: ldc.i4.1
L_003a: Label #4
L_003a: br Label #0
L_003f: Label #0
L_003f: stloc 0 (System.Boolean)
L_0040: ldarga 0
L_0046: ldloca 0 (System.Boolean)
L_0048: call Void SBD(Verse.Pawn_HealthTracker ByRef, Boolean ByRef)
L_004d: ldloc 0 (System.Boolean)
L_004e: ret
DONE

PATCHING Verse.Pawn_HealthTracker Void CheckForStateChange(Nullable`1,


Verse.Hediff)
L_0000: Local var #0 System.Single
L_0000: Local var #1 Verse.DamageInfo
L_0000: Local var #2 Verse.ThingWithComps
L_0000: ldarg.0
L_0001: call Boolean get_Dead()
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: call Boolean ShouldBeDead()
L_0011: brfalse Label #3
L_0016: ldarg.0
L_0017: ldfld Verse.Pawn pawn
L_001c: callvirt Boolean get_Destroyed()
L_0021: brtrue Label #4
L_0026: ldarg.0
L_0027: ldfld Verse.Pawn pawn
L_002c: ldarg.1
L_002d: ldarg.2
L_002e: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_0033: Label #4
L_0033: br Label #0
L_0038: Label #3
L_0038: ldarg.0
L_0039: call Boolean get_Downed()
L_003e: brtrue Label #5
L_0043: ldarg.0
L_0044: call Boolean ShouldBeDowned()
L_0049: brfalse Label #6
L_004e: ldarg.0
L_004f: ldfld Verse.Pawn pawn
L_0054: callvirt Verse.RaceProperties get_RaceProps()
L_0059: callvirt Boolean get_Animal()
L_005e: brfalse Label #7
L_0063: ldc.r4 0.47
L_0068: br Label #8
L_006d: Label #7
L_006d: ldc.r4 0.67
L_0072: Label #8
L_0072: stloc.0
L_0073: ldarg.0
L_0074: ldfld System.Boolean forceIncap
L_0079: brtrue Label #9
L_007e: ldarga.s 1
L_0080: call Boolean get_HasValue()
L_0085: brfalse Label #10
L_008a: ldarga.s 1
L_008c: call DamageInfo get_Value()
L_0091: stloc.1
L_0092: ldloca.s 1 (Verse.DamageInfo)
L_0094: call Verse.DamageDef get_Def()
L_0099: ldfld System.Boolean externalViolence
L_009e: brfalse Label #11
L_00a3: ldarg.0
L_00a4: ldfld Verse.Pawn pawn
L_00a9: callvirt RimWorld.Faction get_Faction()
L_00ae: brfalse Label #12
L_00b3: ldarg.0
L_00b4: ldfld Verse.Pawn pawn
L_00b9: callvirt RimWorld.Faction get_Faction()
L_00be: callvirt Boolean get_IsPlayer()
L_00c3: brtrue Label #13
L_00c8: br Label #13
L_00cd: Label #12
L_00cd: ldarg.0
L_00ce: ldfld Verse.Pawn pawn
L_00d3: callvirt Boolean get_IsPrisonerOfColony()
L_00d8: brtrue Label #14
L_00dd: ldarg.0
L_00de: ldfld Verse.Pawn pawn
L_00e3: callvirt Verse.RaceProperties get_RaceProps()
L_00e8: callvirt Boolean get_IsFlesh()
L_00ed: brfalse Label #15
L_00f2: call Single get_Value()
L_00f7: ldloc.0
L_00f8: bge.un Label #16
L_00fd: ldarg.0
L_00fe: ldfld Verse.Pawn pawn
L_0103: ldarg.1
L_0104: ldnull
L_0105: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_010a: br Label #0
L_010f: Label #9
L_010f: Label #10
L_010f: Label #11
L_010f: Label #13
L_010f: Label #14
L_010f: Label #15
L_010f: Label #16
L_010f: ldarg.0
L_0110: ldc.i4.0
L_0111: stfld System.Boolean forceIncap
L_0116: ldarg.0
L_0117: ldarg.1
L_0118: ldarg.2
L_0119: call Void MakeDowned(Nullable`1, Verse.Hediff)
L_011e: br Label #0
L_0123: Label #6
L_0123: ldarg.0
L_0124: ldfld Verse.PawnCapacitiesHandler capacities
L_0129: ldsfld Verse.PawnCapacityDef Manipulation
L_012e: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0133: brtrue Label #17
L_0138: ldarg.0
L_0139: ldfld Verse.Pawn pawn
L_013e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0143: brfalse Label #18
L_0148: ldarg.0
L_0149: ldfld Verse.Pawn pawn
L_014e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0153: callvirt Verse.Thing get_CarriedThing()
L_0158: brfalse Label #19
L_015d: ldarg.0
L_015e: ldfld Verse.Pawn pawn
L_0163: ldfld Verse.AI.Pawn_JobTracker jobs
L_0168: brfalse Label #20
L_016d: ldarg.0
L_016e: ldfld Verse.Pawn pawn
L_0173: callvirt Verse.AI.Job get_CurJob()
L_0178: brfalse Label #21
L_017d: ldarg.0
L_017e: ldfld Verse.Pawn pawn
L_0183: ldfld Verse.AI.Pawn_JobTracker jobs
L_0188: ldc.i4.5
L_0189: ldc.i4.1
L_018a: callvirt Void EndCurrentJob(JobCondition, Boolean)
L_018f: Label #18
L_018f: Label #19
L_018f: Label #20
L_018f: Label #21
L_018f: ldarg.0
L_0190: ldfld Verse.Pawn pawn
L_0195: ldfld Verse.Pawn_EquipmentTracker equipment
L_019a: brfalse Label #22
L_019f: ldarg.0
L_01a0: ldfld Verse.Pawn pawn
L_01a5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01aa: callvirt Verse.ThingWithComps get_Primary()
L_01af: brfalse Label #23
L_01b4: ldarg.0
L_01b5: ldfld Verse.Pawn pawn
L_01ba: callvirt Boolean get_InContainerEnclosed()
L_01bf: brfalse Label #24
L_01c4: ldarg.0
L_01c5: ldfld Verse.Pawn pawn
L_01ca: ldfld Verse.Pawn_EquipmentTracker equipment
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01da: callvirt Verse.ThingWithComps get_Primary()
L_01df: ldarg.0
L_01e0: ldfld Verse.Pawn pawn
L_01e5: ldfld Verse.ThingOwner holdingOwner
L_01ea: callvirt Boolean TryTransferEquipmentToContainer(Verse.ThingWithComps,
Verse.ThingOwner)
L_01ef: pop
L_01f0: br Label #25
L_01f5: Label #24
L_01f5: ldarg.0
L_01f6: ldfld Verse.Pawn pawn
L_01fb: callvirt Boolean get_SpawnedOrAnyParentSpawned()
L_0200: brfalse Label #26
L_0205: ldarg.0
L_0206: ldfld Verse.Pawn pawn
L_020b: ldfld Verse.Pawn_EquipmentTracker equipment
L_0210: ldarg.0
L_0211: ldfld Verse.Pawn pawn
L_0216: ldfld Verse.Pawn_EquipmentTracker equipment
L_021b: callvirt Verse.ThingWithComps get_Primary()
L_0220: ldloca.s 2 (Verse.ThingWithComps)
L_0222: ldarg.0
L_0223: ldfld Verse.Pawn pawn
L_0228: callvirt IntVec3 get_PositionHeld()
L_022d: ldc.i4.1
L_022e: callvirt Boolean TryDropEquipment(Verse.ThingWithComps,
Verse.ThingWithComps ByRef, IntVec3, Boolean)
L_0233: pop
L_0234: br Label #27
L_0239: Label #26
L_0239: ldarg.0
L_023a: ldfld Verse.Pawn pawn
L_023f: ldfld Verse.Pawn_EquipmentTracker equipment
L_0244: ldarg.0
L_0245: ldfld Verse.Pawn pawn
L_024a: ldfld Verse.Pawn_EquipmentTracker equipment
L_024f: callvirt Verse.ThingWithComps get_Primary()
L_0254: callvirt Void DestroyEquipment(Verse.ThingWithComps)
L_0259: Label #17
L_0259: Label #22
L_0259: Label #23
L_0259: Label #25
L_0259: Label #27
L_0259: br Label #28
L_025e: Label #5
L_025e: ldarg.0
L_025f: call Boolean ShouldBeDowned()
L_0264: brtrue Label #29
L_0269: ldarg.0
L_026a: call Void MakeUndowned()
L_026f: br Label #0
L_0274: Label #2
L_0274: Label #28
L_0274: Label #29
L_0274: br Label #0
L_0279: Label #0
L_0279: ret
DONE

PATCHING RimWorld.RestUtility Single WakeThreshold(Verse.Pawn)


L_0000: Local var #0 Verse.AI.Group.Lord
L_0000: Local var #1 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #2 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #3 System.Single
L_0000: ldc.r4 0
L_0005: stloc 3 (System.Single)
L_0006: ldarg.0
L_0007: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldloc.0
L_0014: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0019: brfalse Label #3
L_001e: ldloc.0
L_001f: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0024: callvirt Nullable`1 get_CustomWakeThreshold()
L_0029: stloc.1
L_002a: ldloca.s 1 (System.Nullable`1[System.Single])
L_002c: call Boolean get_HasValue()
L_0031: brfalse Label #4
L_0036: ldloc.0
L_0037: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_003c: callvirt Nullable`1 get_CustomWakeThreshold()
L_0041: stloc.2
L_0042: ldloca.s 2 (System.Nullable`1[System.Single])
L_0044: call Single get_Value()
L_0049: br Label #0
L_004e: Label #2
L_004e: Label #3
L_004e: Label #4
L_004e: ldc.r4 1
L_0053: br Label #0
L_0058: Label #0
L_0058: stloc 3 (System.Single)
L_0059: ldloca 3 (System.Single)
L_005b: ldarga 0
L_0061: call Void WakeThreshold_Patch(Single ByRef, Verse.Pawn ByRef)
L_0066: ldloc 3 (System.Single)
L_0067: ret
DONE

PATCHING Verse.Verb_Shoot Boolean TryCastShot()


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 1 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean TryCastShot()
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldarg.0
L_0014: call Boolean get_CasterIsPawn()
L_0019: brfalse Label #3
L_001e: ldarg.0
L_001f: call Verse.Pawn get_CasterPawn()
L_0024: ldfld RimWorld.Pawn_RecordsTracker records
L_0029: ldsfld RimWorld.RecordDef ShotsFired
L_002e: callvirt Void Increment(RimWorld.RecordDef)
L_0033: Label #2
L_0033: Label #3
L_0033: ldloc.0
L_0034: br Label #0
L_0039: Label #0
L_0039: stloc 1 (System.Boolean)
L_003a: ldarga 0
L_0040: call Void TryCastShot_Patch(Verse.Verb_Shoot ByRef)
L_0045: ldloc 1 (System.Boolean)
L_0046: ret
DONE

PATCHING Verse.Pawn_EquipmentTracker Void


Notify_EquipmentAdded(Verse.ThingWithComps)
L_0000: Local var #0 Verse.Verb
L_0000: Local var #1 System.Collections.Generic.List`1+Enumerator[[Verse.Verb,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.1
L_0001: callvirt Verse.CompEquippable GetComp[CompEquippable]()
L_0006: callvirt System.Collections.Generic.List`1[Verse.Verb] get_AllVerbs()
L_000b: callvirt Enumerator GetEnumerator()
L_0010: stloc.1
L_0011: br Label #2
L_0016: Label #3
L_0016: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0018: call Verse.Verb get_Current()
L_001d: stloc.0
L_001e: ldloc.0
L_001f: ldarg.0
L_0020: ldfld Verse.Pawn pawn
L_0025: stfld Verse.Thing caster
L_002a: ldloc.0
L_002b: callvirt Void Notify_PickedUp()
L_0030: Label #2
L_0030: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0032: call Boolean MoveNext()
L_0037: brtrue Label #3
L_003c: leave Label #4
L_0041: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0043: constrained. System.Collections.Generic.List`1+Enumerator[Verse.Verb]
L_0049: callvirt Void Dispose()
L_004e: endfinally
L_004f: Label #4
L_004f: br Label #0
L_0054: Label #0
L_0054: ldarga 1
L_005a: ldarga 0
L_0060: call Void Notify_EquipmentAdded_Patch(Verse.ThingWithComps ByRef,
Verse.Pawn_EquipmentTracker ByRef)
L_0065: ret
DONE

PATCHING RimWorld.PawnWeaponGenerator Void TryGenerateWeaponFor(Verse.Pawn)


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2
RimWorld.PawnWeaponGenerator+<TryGenerateWeaponFor>c__AnonStorey2
L_0000: Local var #3 RimWorld.ThingStuffPair
L_0000: Local var #4 Verse.ThingWithComps
L_0000: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0005: callvirt Void Clear()
L_000a: ldarg.0
L_000b: ldfld Verse.PawnKindDef kindDef
L_0010: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0015: brfalse Label #2
L_001a: ldarg.0
L_001b: ldfld Verse.PawnKindDef kindDef
L_0020: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0025: callvirt Int32 get_Count()
L_002a: brtrue Label #3
L_002f: Label #2
L_002f: br Label #0
L_0034: Label #3
L_0034: ldarg.0
L_0035: callvirt Verse.RaceProperties get_RaceProps()
L_003a: callvirt Boolean get_ToolUser()
L_003f: brtrue Label #4
L_0044: br Label #0
L_0049: Label #4
L_0049: ldarg.0
L_004a: ldfld Verse.Pawn_HealthTracker health
L_004f: ldfld Verse.PawnCapacitiesHandler capacities
L_0054: ldsfld Verse.PawnCapacityDef Manipulation
L_0059: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_005e: brtrue Label #5
L_0063: br Label #0
L_0068: Label #5
L_0068: ldarg.0
L_0069: ldfld RimWorld.Pawn_StoryTracker story
L_006e: brfalse Label #6
L_0073: ldarg.0
L_0074: ldfld RimWorld.Pawn_StoryTracker story
L_0079: ldc.i4.8
L_007a: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_007f: brfalse Label #7
L_0084: br Label #0
L_0089: Label #6
L_0089: Label #7
L_0089: ldarg.0
L_008a: ldfld Verse.PawnKindDef kindDef
L_008f: ldflda Verse.FloatRange weaponMoney
L_0094: call Single get_RandomInRange()
L_0099: stloc.0
L_009a: ldc.i4.0
L_009b: stloc.1
L_009c: br Label #8
L_00a1: Label #16
L_00a1: newobj Void .ctor()
L_00a6: stloc.2
L_00a7: ldloc.2
L_00a8: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_00ad: ldloc.1
L_00ae: callvirt ThingStuffPair get_Item(Int32)
L_00b3: stfld RimWorld.ThingStuffPair w
L_00b8: ldloc.2
L_00b9: ldflda RimWorld.ThingStuffPair w
L_00be: call Single get_Price()
L_00c3: ldloc.0
L_00c4: ble.un Label #9
L_00c9: br Label #10
L_00ce: Label #9
L_00ce: ldarg.0
L_00cf: ldfld Verse.PawnKindDef kindDef
L_00d4: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_00d9: ldloc.2
L_00da: ldftn Boolean <>m__0(System.String)
L_00e0: newobj Void .ctor(Object, IntPtr)
L_00e5: call Boolean Any[String](System.Collections.Generic.List`1[System.String],
System.Predicate`1[System.String])
L_00ea: brtrue Label #11
L_00ef: br Label #12
L_00f4: Label #11
L_00f4: ldloc.2
L_00f5: ldflda RimWorld.ThingStuffPair w
L_00fa: ldfld Verse.ThingDef thing
L_00ff: ldfld System.Single generateAllowChance
L_0104: ldc.r4 1
L_0109: bge.un Label #13
L_010e: ldarg.0
L_010f: ldfld System.Int32 thingIDNumber
L_0114: ldc.i4 28554824
L_0119: xor
L_011a: call Single ValueSeeded(Int32)
L_011f: ldloc.2
L_0120: ldflda RimWorld.ThingStuffPair w
L_0125: ldfld Verse.ThingDef thing
L_012a: ldfld System.Single generateAllowChance
L_012f: ble.un Label #14
L_0134: br Label #15
L_0139: Label #13
L_0139: Label #14
L_0139: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_013e: ldloc.2
L_013f: ldfld RimWorld.ThingStuffPair w
L_0144: callvirt Void Add(ThingStuffPair)
L_0149: Label #10
L_0149: Label #12
L_0149: Label #15
L_0149: ldloc.1
L_014a: ldc.i4.1
L_014b: add
L_014c: stloc.1
L_014d: Label #8
L_014d: ldloc.1
L_014e: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_0153: callvirt Int32 get_Count()
L_0158: blt Label #16
L_015d: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0162: callvirt Int32 get_Count()
L_0167: brtrue Label #17
L_016c: br Label #0
L_0171: ldarg.0
L_0172: ldloc.2
L_0173: callvirt System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
FilterChildWeapons(Verse.Pawn,
System.Collections.Generic.List`1[RimWorld.ThingStuffPair])
L_0178: stloc.2
L_0179: Label #17
L_0179: ldarg.0
L_017a: ldfld Verse.Pawn_EquipmentTracker equipment
L_017f: ldc.i4.0
L_0180: callvirt Void DestroyAllEquipment(DestroyMode)
L_0185: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_018a: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_018f: brtrue Label #18
L_0194: ldnull
L_0195: ldftn Single <TryGenerateWeaponFor>m__2(ThingStuffPair)
L_019b: newobj Void .ctor(Object, IntPtr)
L_01a0: stsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01a5: Label #18
L_01a5: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01aa: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01ac: call Boolean TryRandomElementByWeight[ThingStuffPair](IEnumerable`1,
System.Func`2[RimWorld.ThingStuffPair,System.Single], ThingStuffPair ByRef)
L_01b1: brfalse Label #19
L_01b6: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01b8: ldfld Verse.ThingDef thing
L_01bd: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01bf: ldfld Verse.ThingDef stuff
L_01c4: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_01c9: castclass Verse.ThingWithComps
L_01ce: stloc.s 4 (Verse.ThingWithComps)
L_01d0: ldloc.s 4 (Verse.ThingWithComps)
L_01d2: ldarg.0
L_01d3: call Void PostProcessGeneratedGear(Verse.Thing, Verse.Pawn)
L_01d8: ldarg.0
L_01d9: ldfld Verse.Pawn_EquipmentTracker equipment
L_01de: ldloc.s 4 (Verse.ThingWithComps)
L_01e0: callvirt Void AddEquipment(Verse.ThingWithComps)
L_01e5: Label #19
L_01e5: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_01ea: callvirt Void Clear()
L_01ef: br Label #0
L_01f4: Label #0
L_01f4: ret
DONE

PATCHING RimWorld.Bill_Medical Void Notify_DoBillStarted(Verse.Pawn)


L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.ThingStackPartClass,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Int32
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void Notify_DoBillStarted(Verse.Pawn)
L_0007: ldarg.0
L_0008: ldnull
L_0009: stfld Verse.ThingDef consumedInitialMedicineDef
L_000e: ldarg.0
L_000f: call Verse.Pawn get_GiverPawn()
L_0014: callvirt Boolean get_Dead()
L_0019: brtrue Label #2
L_001e: ldarg.0
L_001f: ldfld Verse.RecipeDef recipe
L_0024: call Boolean RecipeHasNoIngredients(Verse.RecipeDef)
L_0029: brtrue Label #2
L_002e: ldarg.0
L_002f: ldfld Verse.RecipeDef recipe
L_0034: ldfld System.Boolean anesthetize
L_0039: brfalse Label #3
L_003e: ldarg.0
L_003f: call Verse.Pawn get_GiverPawn()
L_0044: call Boolean TryAnesthetize(Verse.Pawn)
L_0049: brfalse Label #4
L_004e: ldarg.1
L_004f: callvirt Verse.AI.Job get_CurJob()
L_0054: ldfld System.Collections.Generic.List`1[Verse.ThingStackPartClass]
placedThings
L_0059: stloc.0
L_005a: ldc.i4.0
L_005b: stloc.1
L_005c: br Label #5
L_0061: Label #10
L_0061: ldloc.0
L_0062: ldloc.1
L_0063: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0068: ldfld Verse.Thing thing
L_006d: isinst RimWorld.Medicine
L_0072: brfalse Label #6
L_0077: ldarg.0
L_0078: ldfld Verse.RecipeDef recipe
L_007d: callvirt Verse.RecipeWorker get_Worker()
L_0082: ldloc.0
L_0083: ldloc.1
L_0084: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0089: ldfld Verse.Thing thing
L_008e: ldc.i4.1
L_008f: callvirt Verse.Thing SplitOff(Int32)
L_0094: ldarg.0
L_0095: ldfld Verse.RecipeDef recipe
L_009a: ldarg.1
L_009b: callvirt Verse.Map get_MapHeld()
L_00a0: callvirt Void ConsumeIngredient(Verse.Thing, Verse.RecipeDef, Verse.Map)
L_00a5: ldloc.0
L_00a6: ldloc.1
L_00a7: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ac: dup
L_00ad: callvirt Int32 get_Count()
L_00b2: ldc.i4.1
L_00b3: sub
L_00b4: callvirt Void set_Count(Int32)
L_00b9: ldarg.0
L_00ba: ldloc.0
L_00bb: ldloc.1
L_00bc: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00c1: ldfld Verse.Thing thing
L_00c6: ldfld Verse.ThingDef def
L_00cb: stfld Verse.ThingDef consumedInitialMedicineDef
L_00d0: ldloc.0
L_00d1: ldloc.1
L_00d2: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00d7: ldfld Verse.Thing thing
L_00dc: callvirt Boolean get_Destroyed()
L_00e1: brtrue Label #7
L_00e6: ldloc.0
L_00e7: ldloc.1
L_00e8: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ed: callvirt Int32 get_Count()
L_00f2: ldc.i4.0
L_00f3: bgt Label #8
L_00f8: Label #7
L_00f8: ldloc.0
L_00f9: ldloc.1
L_00fa: callvirt Void RemoveAt(Int32)
L_00ff: Label #8
L_00ff: br Label #9
L_0104: Label #6
L_0104: ldloc.1
L_0105: ldc.i4.1
L_0106: add
L_0107: stloc.1
L_0108: Label #5
L_0108: ldloc.1
L_0109: ldloc.0
L_010a: callvirt Int32 get_Count()
L_010f: blt Label #10
L_0114: Label #2
L_0114: Label #3
L_0114: Label #4
L_0114: Label #9
L_0114: br Label #0
L_0119: Label #0
L_0119: ret
DONE

PATCHING RimWorld.Building_Bed IEnumerable`1 get_AssigningCandidates()


L_0000: ldarg.0
L_0001: callvirt IEnumerable`1 BedCandidates(RimWorld.Building_Bed)
L_0006: Label #0
L_0006: ret
DONE

PATCHING RimWorld.RestUtility RimWorld.Building_Bed FindBedFor(Verse.Pawn,


Verse.Pawn, Boolean, Boolean, Boolean)
L_0000: Local var #0 RimWorld.RestUtility+<FindBedFor>c__AnonStorey0
L_0000: Local var #1 RimWorld.Building_Bed
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 System.Boolean
L_0000: Local var #5 System.Boolean
L_0000: Local var #6 System.Boolean
L_0000: Local var #7 System.Int32
L_0000: Local var #8 Verse.ThingDef
L_0000: Local var #9 System.Int32
L_0000: Local var #10 RimWorld.RestUtility+<FindBedFor>c__AnonStorey1
L_0000: Local var #11 RimWorld.Building_Bed
L_0000: Local var #12 RimWorld.DirectPawnRelation
L_0000: Local var #13 RimWorld.Building_Bed
L_0000: Local var #14 System.Int32
L_0000: Local var #15 RimWorld.RestUtility+<FindBedFor>c__AnonStorey2
L_0000: Local var #16 System.Int32
L_0000: Local var #17 Verse.ThingDef
L_0000: Local var #18 RimWorld.Building_Bed
L_0000: Local var #19 RimWorld.Building_Bed
L_0000: ldnull
L_0001: stloc 19 (RimWorld.Building_Bed)
L_0003: newobj Void .ctor()
L_0008: stloc.0
L_0009: ldloc.0
L_000a: ldarg.0
L_000b: stfld Verse.Pawn sleeper
L_0010: ldloc.0
L_0011: ldarg.1
L_0012: stfld Verse.Pawn traveler
L_0017: ldloc.0
L_0018: ldarg.2
L_0019: stfld System.Boolean sleeperWillBePrisoner
L_001e: ldloc.0
L_001f: ldarg.3
L_0020: stfld System.Boolean checkSocialProperness
L_0025: ldloc.0
L_0026: ldarg.s 4
L_0028: stfld System.Boolean ignoreOtherReservations
L_002d: ldloc.0
L_002e: ldfld Verse.Pawn sleeper
L_0033: call Boolean ShouldSeekMedicalRest(Verse.Pawn)
L_0038: brfalse Label #2
L_003d: ldloc.0
L_003e: ldfld Verse.Pawn sleeper
L_0043: call Boolean InBed(Verse.Pawn)
L_0048: brfalse Label #3
L_004d: ldloc.0
L_004e: ldfld Verse.Pawn sleeper
L_0053: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0058: callvirt Boolean get_Medical()
L_005d: brfalse Label #4
L_0062: ldloc.0
L_0063: ldfld Verse.Pawn sleeper
L_0068: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_006d: stloc.1
L_006e: ldloc.0
L_006f: ldfld Verse.Pawn sleeper
L_0074: stloc.2
L_0075: ldloc.0
L_0076: ldfld Verse.Pawn traveler
L_007b: stloc.3
L_007c: ldloc.0
L_007d: ldfld System.Boolean sleeperWillBePrisoner
L_0082: stloc.s 4 (System.Boolean)
L_0084: ldloc.0
L_0085: ldfld System.Boolean checkSocialProperness
L_008a: stloc.s 5 (System.Boolean)
L_008c: ldloc.0
L_008d: ldfld System.Boolean ignoreOtherReservations
L_0092: stloc.s 6 (System.Boolean)
L_0094: ldloc.1
L_0095: ldloc.2
L_0096: ldloc.3
L_0097: ldloc.s 4 (System.Boolean)
L_0099: ldloc.s 5 (System.Boolean)
L_009b: ldc.i4.0
L_009c: ldloc.s 6 (System.Boolean)
L_009e: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_00a3: brfalse Label #5
L_00a8: ldloc.0
L_00a9: ldfld Verse.Pawn sleeper
L_00ae: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00b3: br Label #0
L_00b8: Label #3
L_00b8: Label #4
L_00b8: Label #5
L_00b8: ldc.i4.0
L_00b9: stloc.s 7 (System.Int32)
L_00bb: br Label #6
L_00c0: Label #14
L_00c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_00c5: ldloc.s 7 (System.Int32)
L_00c7: callvirt Verse.ThingDef get_Item(Int32)
L_00cc: stloc.s 8 (Verse.ThingDef)
L_00ce: ldloc.0
L_00cf: ldfld Verse.Pawn sleeper
L_00d4: ldloc.s 8 (Verse.ThingDef)
L_00d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_00db: brtrue Label #7
L_00e0: br Label #8
L_00e5: Label #7
L_00e5: ldc.i4.0
L_00e6: stloc.s 9 (System.Int32)
L_00e8: br Label #9
L_00ed: Label #13
L_00ed: newobj Void .ctor()
L_00f2: stloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f4: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f6: ldloc.0
L_00f7: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_00fc: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00fe: ldloc.s 9 (System.Int32)
L_0100: brtrue Label #10
L_0105: ldc.i4.1
L_0106: br Label #11
L_010b: Label #10
L_010b: ldc.i4.3
L_010c: Label #11
L_010c: stfld Verse.Danger maxDanger
L_0111: ldloc.0
L_0112: ldfld Verse.Pawn sleeper
L_0117: callvirt IntVec3 get_Position()
L_011c: ldloc.0
L_011d: ldfld Verse.Pawn sleeper
L_0122: callvirt Verse.Map get_Map()
L_0127: ldloc.s 8 (Verse.ThingDef)
L_0129: call ThingRequest ForDef(Verse.ThingDef)
L_012e: ldc.i4.1
L_012f: ldloc.0
L_0130: ldfld Verse.Pawn traveler
L_0135: ldc.i4.3
L_0136: ldc.i4.0
L_0137: ldc.i4.0
L_0138: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_013d: ldc.r4 9999
L_0142: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_0144: ldftn Boolean <>m__0(Verse.Thing)
L_014a: newobj Void .ctor(Object, IntPtr)
L_014f: ldnull
L_0150: ldc.i4.0
L_0151: ldc.i4.m1
L_0152: ldc.i4.0
L_0153: ldc.i4.6
L_0154: ldc.i4.0
L_0155: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_015a: castclass RimWorld.Building_Bed
L_015f: stloc.s 11 (RimWorld.Building_Bed)
L_0161: ldloc.s 11 (RimWorld.Building_Bed)
L_0163: brfalse Label #12
L_0168: ldloc.s 11 (RimWorld.Building_Bed)
L_016a: br Label #0
L_016f: Label #12
L_016f: ldloc.s 9 (System.Int32)
L_0171: ldc.i4.1
L_0172: add
L_0173: stloc.s 9 (System.Int32)
L_0175: Label #9
L_0175: ldloc.s 9 (System.Int32)
L_0177: ldc.i4.2
L_0178: blt Label #13
L_017d: Label #8
L_017d: ldloc.s 7 (System.Int32)
L_017f: ldc.i4.1
L_0180: add
L_0181: stloc.s 7 (System.Int32)
L_0183: Label #6
L_0183: ldloc.s 7 (System.Int32)
L_0185: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_018a: callvirt Int32 get_Count()
L_018f: blt Label #14
L_0194: Label #2
L_0194: ldloc.0
L_0195: ldfld Verse.Pawn sleeper
L_019a: ldfld RimWorld.Pawn_Ownership ownership
L_019f: brfalse Label #15
L_01a4: ldloc.0
L_01a5: ldfld Verse.Pawn sleeper
L_01aa: ldfld RimWorld.Pawn_Ownership ownership
L_01af: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01b4: brfalse Label #16
L_01b9: ldloc.0
L_01ba: ldfld Verse.Pawn sleeper
L_01bf: ldfld RimWorld.Pawn_Ownership ownership
L_01c4: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01c9: stloc.1
L_01ca: ldloc.0
L_01cb: ldfld Verse.Pawn sleeper
L_01d0: stloc.3
L_01d1: ldloc.0
L_01d2: ldfld Verse.Pawn traveler
L_01d7: stloc.2
L_01d8: ldloc.0
L_01d9: ldfld System.Boolean sleeperWillBePrisoner
L_01de: stloc.s 6 (System.Boolean)
L_01e0: ldloc.0
L_01e1: ldfld System.Boolean checkSocialProperness
L_01e6: stloc.s 5 (System.Boolean)
L_01e8: ldloc.0
L_01e9: ldfld System.Boolean ignoreOtherReservations
L_01ee: stloc.s 4 (System.Boolean)
L_01f0: ldloc.1
L_01f1: ldloc.3
L_01f2: ldloc.2
L_01f3: ldloc.s 6 (System.Boolean)
L_01f5: ldloc.s 5 (System.Boolean)
L_01f7: ldc.i4.0
L_01f8: ldloc.s 4 (System.Boolean)
L_01fa: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_01ff: brfalse Label #17
L_0204: ldloc.0
L_0205: ldfld Verse.Pawn sleeper
L_020a: ldfld RimWorld.Pawn_Ownership ownership
L_020f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0214: br Label #0
L_0219: Label #15
L_0219: Label #16
L_0219: Label #17
L_0219: ldloc.0
L_021a: ldfld Verse.Pawn sleeper
L_021f: ldc.i4.0
L_0220: call RimWorld.DirectPawnRelation
ExistingMostLikedLovePartnerRel(Verse.Pawn, Boolean)
L_0225: stloc.s 12 (RimWorld.DirectPawnRelation)
L_0227: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0229: brfalse Label #18
L_022e: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0230: ldfld Verse.Pawn otherPawn
L_0235: ldfld RimWorld.Pawn_Ownership ownership
L_023a: callvirt RimWorld.Building_Bed get_OwnedBed()
L_023f: stloc.s 13 (RimWorld.Building_Bed)
L_0241: ldloc.s 13 (RimWorld.Building_Bed)
L_0243: brfalse Label #19
L_0248: ldloc.s 13 (RimWorld.Building_Bed)
L_024a: stloc.1
L_024b: ldloc.0
L_024c: ldfld Verse.Pawn sleeper
L_0251: stloc.2
L_0252: ldloc.0
L_0253: ldfld Verse.Pawn traveler
L_0258: stloc.3
L_0259: ldloc.0
L_025a: ldfld System.Boolean sleeperWillBePrisoner
L_025f: stloc.s 4 (System.Boolean)
L_0261: ldloc.0
L_0262: ldfld System.Boolean checkSocialProperness
L_0267: stloc.s 5 (System.Boolean)
L_0269: ldloc.0
L_026a: ldfld System.Boolean ignoreOtherReservations
L_026f: stloc.s 6 (System.Boolean)
L_0271: ldloc.1
L_0272: ldloc.2
L_0273: ldloc.3
L_0274: ldloc.s 4 (System.Boolean)
L_0276: ldloc.s 5 (System.Boolean)
L_0278: ldc.i4.0
L_0279: ldloc.s 6 (System.Boolean)
L_027b: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_0280: brfalse Label #20
L_0285: ldloc.s 13 (RimWorld.Building_Bed)
L_0287: br Label #0
L_028c: Label #18
L_028c: Label #19
L_028c: Label #20
L_028c: ldc.i4.0
L_028d: stloc.s 14 (System.Int32)
L_028f: br Label #21
L_0294: Label #29
L_0294: newobj Void .ctor()
L_0299: stloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029b: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029d: ldloc.0
L_029e: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_02a3: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_02a5: ldloc.s 14 (System.Int32)
L_02a7: brtrue Label #22
L_02ac: ldc.i4.1
L_02ad: br Label #23
L_02b2: Label #22
L_02b2: ldc.i4.3
L_02b3: Label #23
L_02b3: stfld Verse.Danger maxDanger
L_02b8: ldc.i4.0
L_02b9: stloc.s 16 (System.Int32)
L_02bb: br Label #24
L_02c0: Label #28
L_02c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_02c5: ldloc.s 16 (System.Int32)
L_02c7: callvirt Verse.ThingDef get_Item(Int32)
L_02cc: stloc.s 17 (Verse.ThingDef)
L_02ce: ldloc.0
L_02cf: ldfld Verse.Pawn sleeper
L_02d4: ldloc.s 17 (Verse.ThingDef)
L_02d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_02db: brtrue Label #25
L_02e0: br Label #26
L_02e5: Label #25
L_02e5: ldloc.0
L_02e6: ldfld Verse.Pawn sleeper
L_02eb: callvirt IntVec3 get_Position()
L_02f0: ldloc.0
L_02f1: ldfld Verse.Pawn sleeper
L_02f6: callvirt Verse.Map get_Map()
L_02fb: ldloc.s 17 (Verse.ThingDef)
L_02fd: call ThingRequest ForDef(Verse.ThingDef)
L_0302: ldc.i4.1
L_0303: ldloc.0
L_0304: ldfld Verse.Pawn traveler
L_0309: ldc.i4.3
L_030a: ldc.i4.0
L_030b: ldc.i4.0
L_030c: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_0311: ldc.r4 9999
L_0316: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_0318: ldftn Boolean <>m__0(Verse.Thing)
L_031e: newobj Void .ctor(Object, IntPtr)
L_0323: ldnull
L_0324: ldc.i4.0
L_0325: ldc.i4.m1
L_0326: ldc.i4.0
L_0327: ldc.i4.6
L_0328: ldc.i4.0
L_0329: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_032e: castclass RimWorld.Building_Bed
L_0333: stloc.s 18 (RimWorld.Building_Bed)
L_0335: ldloc.s 18 (RimWorld.Building_Bed)
L_0337: brfalse Label #27
L_033c: ldloc.s 18 (RimWorld.Building_Bed)
L_033e: br Label #0
L_0343: Label #26
L_0343: Label #27
L_0343: ldloc.s 16 (System.Int32)
L_0345: ldc.i4.1
L_0346: add
L_0347: stloc.s 16 (System.Int32)
L_0349: Label #24
L_0349: ldloc.s 16 (System.Int32)
L_034b: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_0350: callvirt Int32 get_Count()
L_0355: blt Label #28
L_035a: ldloc.s 14 (System.Int32)
L_035c: ldc.i4.1
L_035d: add
L_035e: stloc.s 14 (System.Int32)
L_0360: Label #21
L_0360: ldloc.s 14 (System.Int32)
L_0362: ldc.i4.2
L_0363: blt Label #29
L_0368: ldnull
L_0369: br Label #0
L_036e: Label #0
L_036e: stloc 19 (RimWorld.Building_Bed)
L_0370: ldarga 0
L_0376: ldloca 19 (RimWorld.Building_Bed)
L_0378: ldarga 1
L_037e: ldarga 4
L_0384: ldarga 2
L_038a: ldarga 3
L_0390: call Void FindBedFor_Patch(Verse.Pawn ByRef, RimWorld.Building_Bed ByRef,
Verse.Pawn ByRef, Boolean ByRef, Boolean ByRef, Boolean ByRef)
L_0395: ldloc 19 (RimWorld.Building_Bed)
L_0397: ret
DONE

PATCHING RimWorld.JobGiver_DoLovin Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 1 (Verse.AI.Job)
L_0002: call Verse.TickManager get_TickManager()
L_0007: callvirt Int32 get_TicksGame()
L_000c: ldarg.1
L_000d: ldfld Verse.AI.Pawn_MindState mindState
L_0012: ldfld System.Int32 canLovinTick
L_0017: bge Label #2
L_001c: ldnull
L_001d: br Label #0
L_0022: Label #2
L_0022: ldarg.1
L_0023: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0028: brfalse Label #3
L_002d: ldarg.1
L_002e: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0033: callvirt Boolean get_Medical()
L_0038: brtrue Label #4
L_003d: ldarg.1
L_003e: ldfld Verse.Pawn_HealthTracker health
L_0043: ldfld Verse.PawnCapacitiesHandler capacities
L_0048: callvirt Boolean get_CanBeAwake()
L_004d: brtrue Label #5
L_0052: Label #3
L_0052: Label #4
L_0052: ldnull
L_0053: br Label #0
L_0058: Label #5
L_0058: ldarg.1
L_0059: call Verse.Pawn GetPartnerInMyBed(Verse.Pawn)
L_005e: stloc.0
L_005f: ldloc.0
L_0060: brfalse Label #6
L_0065: ldloc.0
L_0066: ldfld Verse.Pawn_HealthTracker health
L_006b: ldfld Verse.PawnCapacitiesHandler capacities
L_0070: callvirt Boolean get_CanBeAwake()
L_0075: brfalse Label #7
L_007a: call Verse.TickManager get_TickManager()
L_007f: callvirt Int32 get_TicksGame()
L_0084: ldloc.0
L_0085: ldfld Verse.AI.Pawn_MindState mindState
L_008a: ldfld System.Int32 canLovinTick
L_008f: bge Label #8
L_0094: Label #6
L_0094: Label #7
L_0094: ldnull
L_0095: br Label #0
L_009a: Label #8
L_009a: ldarg.1
L_009b: ldloc.0
L_009c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00a1: ldc.i4.1
L_00a2: ldc.i4.m1
L_00a3: ldnull
L_00a4: ldc.i4.0
L_00a5: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00aa: brfalse Label #9
L_00af: ldloc.0
L_00b0: ldarg.1
L_00b1: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00b6: ldc.i4.1
L_00b7: ldc.i4.m1
L_00b8: ldnull
L_00b9: ldc.i4.0
L_00ba: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00bf: brtrue Label #10
L_00c4: Label #9
L_00c4: ldnull
L_00c5: br Label #0
L_00ca: Label #10
L_00ca: ldsfld Verse.JobDef Lovin
L_00cf: ldloc.0
L_00d0: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00d5: ldarg.1
L_00d6: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00db: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00e0: newobj Void .ctor(JobDef, LocalTargetInfo, LocalTargetInfo)
L_00e5: br Label #0
L_00ea: Label #0
L_00ea: stloc 1 (Verse.AI.Job)
L_00eb: ldloca 1 (Verse.AI.Job)
L_00ed: ldarga 1
L_00f3: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_00f8: ldloc 1 (Verse.AI.Job)
L_00f9: ret
DONE

PATCHING RimWorld.JobDriver_Lovin+<MakeNewToils>c__Iterator0 Void <>m__4()


L_0000: Local var #0 RimWorld.Thought_Memory
L_0000: ldsfld RimWorld.ThoughtDef GotSomeLovin
L_0005: call RimWorld.Thought MakeThought(RimWorld.ThoughtDef)
L_000a: castclass RimWorld.Thought_Memory
L_000f: stloc.0
L_0010: ldarg.0
L_0011: ldfld RimWorld.JobDriver_Lovin $this
L_0016: ldfld Verse.Pawn pawn
L_001b: ldfld RimWorld.Pawn_NeedsTracker needs
L_0020: ldfld RimWorld.Need_Mood mood
L_0025: ldfld RimWorld.ThoughtHandler thoughts
L_002a: ldfld RimWorld.MemoryThoughtHandler memories
L_002f: ldloc.0
L_0030: ldarg.0
L_0031: ldfld RimWorld.JobDriver_Lovin $this
L_0036: call Verse.Pawn get_Partner()
L_003b: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_0040: ldarg.0
L_0041: ldfld RimWorld.JobDriver_Lovin $this
L_0046: ldfld Verse.Pawn pawn
L_004b: ldfld Verse.AI.Pawn_MindState mindState
L_0050: call Verse.TickManager get_TickManager()
L_0055: callvirt Int32 get_TicksGame()
L_005a: ldarg.0
L_005b: ldfld RimWorld.JobDriver_Lovin $this
L_0060: ldarg.0
L_0061: ldfld RimWorld.JobDriver_Lovin $this
L_0066: ldfld Verse.Pawn pawn
L_006b: call Int32 GenerateRandomMinTicksToNextLovin(Verse.Pawn)
L_0070: add
L_0071: stfld System.Int32 canLovinTick
L_0076: ldarg.0
L_0077: ldfld RimWorld.JobDriver_Lovin $this
L_007c: ldfld Verse.Pawn pawn
L_0081: ldarg.0
L_0082: ldfld RimWorld.JobDriver_Lovin $this
L_0087: call Verse.Pawn get_Partner()
L_008c: call Void TryToImpregnate(Verse.Pawn, Verse.Pawn)
L_0091: br Label #0
L_0096: Label #0
L_0096: ret
DONE

PATCHING RimWorld.JobDriver_Wear+<MakeNewToils>c__Iterator0 Boolean MoveNext()


L_0000: Local var #0 System.UInt32
L_0000: ldarg.0
L_0001: ldfld System.Int32 $PC
L_0006: stloc.0
L_0007: ldarg.0
L_0008: ldc.i4.m1
L_0009: stfld System.Int32 $PC
L_000e: ldloc.0
L_000f: switch Labels #2 #3 #4 #5
L_0024: br Label #6
L_0029: Label #2
L_0029: ldarg.0
L_002a: ldfld RimWorld.JobDriver_Wear $this
L_002f: call RimWorld.JobDriver_Wear FailOnBaby[JobDriver_Wear]
(RimWorld.JobDriver_Wear)
L_0034: pop
L_0035: ldarg.0
L_0036: newobj Void .ctor()
L_003b: stfld Verse.AI.Toil <gotoApparel>__1
L_0040: ldarg.0
L_0041: ldfld Verse.AI.Toil <gotoApparel>__1
L_0046: ldarg.0
L_0047: ldftn Void <>m__0()
L_004d: newobj Void .ctor(Object, IntPtr)
L_0052: stfld System.Action initAction
L_0057: ldarg.0
L_0058: ldfld Verse.AI.Toil <gotoApparel>__1
L_005d: ldc.i4.2
L_005e: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0063: ldarg.0
L_0064: ldfld Verse.AI.Toil <gotoApparel>__1
L_0069: ldc.i4.1
L_006a: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_006f: pop
L_0070: ldarg.0
L_0071: ldarg.0
L_0072: ldfld Verse.AI.Toil <gotoApparel>__1
L_0077: stfld Verse.AI.Toil $current
L_007c: ldarg.0
L_007d: ldfld System.Boolean $disposing
L_0082: brtrue Label #7
L_0087: ldarg.0
L_0088: ldc.i4.1
L_0089: stfld System.Int32 $PC
L_008e: Label #7
L_008e: br Label #8
L_0093: Label #3
L_0093: ldarg.0
L_0094: newobj Void .ctor()
L_0099: stfld Verse.AI.Toil <prepare>__2
L_009e: ldarg.0
L_009f: ldfld Verse.AI.Toil <prepare>__2
L_00a4: ldc.i4.3
L_00a5: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_00aa: ldarg.0
L_00ab: ldfld Verse.AI.Toil <prepare>__2
L_00b0: ldc.i4.s 60
L_00b2: stfld System.Int32 defaultDuration
L_00b7: ldarg.0
L_00b8: ldfld Verse.AI.Toil <prepare>__2
L_00bd: ldc.i4.1
L_00be: ldc.i4.0
L_00bf: ldc.r4 -0.5
L_00c4: call Verse.AI.Toil WithProgressBarToilDelay(Verse.AI.Toil, TargetIndex,
Boolean, Single)
L_00c9: pop
L_00ca: ldarg.0
L_00cb: ldfld Verse.AI.Toil <prepare>__2
L_00d0: ldc.i4.1
L_00d1: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_00d6: pop
L_00d7: ldarg.0
L_00d8: ldarg.0
L_00d9: ldfld Verse.AI.Toil <prepare>__2
L_00de: stfld Verse.AI.Toil $current
L_00e3: ldarg.0
L_00e4: ldfld System.Boolean $disposing
L_00e9: brtrue Label #9
L_00ee: ldarg.0
L_00ef: ldc.i4.2
L_00f0: stfld System.Int32 $PC
L_00f5: Label #9
L_00f5: br Label #10
L_00fa: Label #4
L_00fa: ldarg.0
L_00fb: newobj Void .ctor()
L_0100: stfld Verse.AI.Toil <wear>__3
L_0105: ldarg.0
L_0106: ldfld Verse.AI.Toil <wear>__3
L_010b: ldarg.0
L_010c: ldftn Void <>m__1()
L_0112: newobj Void .ctor(Object, IntPtr)
L_0117: stfld System.Action initAction
L_011c: ldarg.0
L_011d: ldfld Verse.AI.Toil <wear>__3
L_0122: ldc.i4.1
L_0123: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0128: ldarg.0
L_0129: ldarg.0
L_012a: ldfld Verse.AI.Toil <wear>__3
L_012f: stfld Verse.AI.Toil $current
L_0134: ldarg.0
L_0135: ldfld System.Boolean $disposing
L_013a: brtrue Label #11
L_013f: ldarg.0
L_0140: ldc.i4.3
L_0141: stfld System.Int32 $PC
L_0146: Label #11
L_0146: br Label #12
L_014b: Label #5
L_014b: ldarg.0
L_014c: ldc.i4.m1
L_014d: stfld System.Int32 $PC
L_0152: Label #6
L_0152: ldc.i4.0
L_0153: br Label #0
L_0158: Label #8
L_0158: Label #10
L_0158: Label #12
L_0158: ldc.i4.1
L_0159: br Label #0
L_015e: Label #0
L_015e: ret
DONE

PATCHING RimWorld.ThoughtUtility Boolean CanGetThought(Verse.Pawn,


RimWorld.ThoughtDef)
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 4 (System.Boolean)
L_0007: ldarg.1
L_0008: ldfld System.Boolean validWhileDespawned
L_000d: brtrue Label #2
L_0012: ldarg.0
L_0013: callvirt Boolean get_Spawned()
L_0018: brtrue Label #3
L_001d: ldarg.1
L_001e: callvirt Boolean get_IsMemory()
L_0023: brtrue Label #4
L_0028: ldc.i4.0
L_0029: stloc.0
L_002a: leave Label #5
L_002f: Label #2
L_002f: Label #3
L_002f: Label #4
L_002f: ldarg.1
L_0030: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0035: brfalse Label #6
L_003a: ldc.i4.0
L_003b: stloc.1
L_003c: br Label #7
L_0041: Label #10
L_0041: ldarg.0
L_0042: ldfld RimWorld.Pawn_StoryTracker story
L_0047: ldfld RimWorld.TraitSet traits
L_004c: ldarg.1
L_004d: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0052: ldloc.1
L_0053: callvirt RimWorld.TraitDef get_Item(Int32)
L_0058: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_005d: brfalse Label #8
L_0062: ldc.i4.0
L_0063: stloc.0
L_0064: leave Label #9
L_0069: Label #8
L_0069: ldloc.1
L_006a: ldc.i4.1
L_006b: add
L_006c: stloc.1
L_006d: Label #7
L_006d: ldloc.1
L_006e: ldarg.1
L_006f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0074: callvirt Int32 get_Count()
L_0079: blt Label #10
L_007e: Label #6
L_007e: ldarg.1
L_007f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0084: call Boolean NullOrEmpty[TraitDef](IList`1)
L_0089: brtrue Label #11
L_008e: ldc.i4.0
L_008f: stloc.2
L_0090: ldc.i4.0
L_0091: stloc.3
L_0092: br Label #12
L_0097: Label #19
L_0097: ldarg.0
L_0098: ldfld RimWorld.Pawn_StoryTracker story
L_009d: ldfld RimWorld.TraitSet traits
L_00a2: ldarg.1
L_00a3: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00a8: ldloc.3
L_00a9: callvirt RimWorld.TraitDef get_Item(Int32)
L_00ae: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00b3: brtrue Label #13
L_00b8: leave Label #14
L_00bd: Label #13
L_00bd: ldarg.1
L_00be: callvirt Boolean get_RequiresSpecificTraitsDegree()
L_00c3: brfalse Label #15
L_00c8: ldarg.1
L_00c9: ldfld System.Int32 requiredTraitsDegree
L_00ce: ldarg.0
L_00cf: ldfld RimWorld.Pawn_StoryTracker story
L_00d4: ldfld RimWorld.TraitSet traits
L_00d9: ldarg.1
L_00da: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00df: ldloc.3
L_00e0: callvirt RimWorld.TraitDef get_Item(Int32)
L_00e5: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_00ea: beq Label #16
L_00ef: leave Label #17
L_00f4: Label #15
L_00f4: Label #16
L_00f4: ldc.i4.1
L_00f5: stloc.2
L_00f6: leave Label #18
L_00fb: Label #14
L_00fb: Label #17
L_00fb: ldloc.3
L_00fc: ldc.i4.1
L_00fd: add
L_00fe: stloc.3
L_00ff: Label #12
L_00ff: ldloc.3
L_0100: ldarg.1
L_0101: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0106: callvirt Int32 get_Count()
L_010b: blt Label #19
L_0110: Label #18
L_0110: ldloc.2
L_0111: brtrue Label #20
L_0116: ldc.i4.0
L_0117: stloc.0
L_0118: leave Label #21
L_011d: Label #11
L_011d: Label #20
L_011d: ldarg.1
L_011e: ldfld System.Boolean nullifiedIfNotColonist
L_0123: brfalse Label #22
L_0128: ldarg.0
L_0129: callvirt Boolean get_IsColonist()
L_012e: brtrue Label #23
L_0133: ldc.i4.0
L_0134: stloc.0
L_0135: leave Label #24
L_013a: Label #22
L_013a: Label #23
L_013a: ldarg.1
L_013b: ldarg.0
L_013c: call Boolean IsSituationalThoughtNullifiedByHediffs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0141: brfalse Label #25
L_0146: ldc.i4.0
L_0147: stloc.0
L_0148: leave Label #26
L_014d: Label #25
L_014d: ldarg.1
L_014e: ldarg.0
L_014f: call Boolean IsThoughtNullifiedByOwnTales(RimWorld.ThoughtDef, Verse.Pawn)
L_0154: brfalse Label #27
L_0159: ldc.i4.0
L_015a: stloc.0
L_015b: leave Label #28
L_0160: Label #27
L_0160: leave Label #29
L_0165: endfinally
L_0166: Label #29
L_0166: ldc.i4.1
L_0167: br Label #0
L_016c: Label #5
L_016c: Label #9
L_016c: Label #21
L_016c: Label #24
L_016c: Label #26
L_016c: Label #28
L_016c: ldloc.0
L_016d: br Label #0
L_0172: Label #0
L_0172: stloc 4 (System.Boolean)
L_0174: ldarga 0
L_017a: ldarga 1
L_0180: ldloca 4 (System.Boolean)
L_0182: call Void CanGetThought_Patch(Verse.Pawn ByRef, RimWorld.ThoughtDef ByRef,
Boolean ByRef)
L_0187: ldloc 4 (System.Boolean)
L_0189: ret
DONE

PATCHING RimWorld.JobGiver_SocialFighting Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Verb
L_0000: Local var #2 Verse.AI.Job
L_0000: Local var #3 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 3 (Verse.AI.Job)
L_0002: ldarg.1
L_0003: callvirt Verse.RaceProperties get_RaceProps()
L_0008: callvirt Boolean get_Humanlike()
L_000d: brfalse Label #2
L_0012: ldarg.1
L_0013: ldfld RimWorld.Pawn_StoryTracker story
L_0018: ldc.i4.8
L_0019: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_001e: brfalse Label #3
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: Label #3
L_0029: ldarg.1
L_002a: callvirt Verse.AI.MentalState get_MentalState()
L_002f: castclass Verse.AI.MentalState_SocialFighting
L_0034: ldfld Verse.Pawn otherPawn
L_0039: stloc.0
L_003a: ldarg.1
L_003b: ldloca.s 1 (Verse.Verb)
L_003d: call Boolean TryGetRandomVerbForSocialFight(Verse.Pawn, Verse.Verb ByRef)
L_0042: brtrue Label #4
L_0047: ldnull
L_0048: br Label #0
L_004d: Label #4
L_004d: ldsfld Verse.JobDef SocialFight
L_0052: ldloc.0
L_0053: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0058: newobj Void .ctor(JobDef, LocalTargetInfo)
L_005d: stloc.2
L_005e: ldloc.2
L_005f: ldc.i4.1
L_0060: stfld System.Int32 maxNumMeleeAttacks
L_0065: ldloc.2
L_0066: ldloc.1
L_0067: stfld Verse.Verb verbToUse
L_006c: ldloc.2
L_006d: br Label #0
L_0072: Label #0
L_0072: stloc 3 (Verse.AI.Job)
L_0073: ldarga 1
L_0079: ldloca 3 (Verse.AI.Job)
L_007b: call Void TryGiveJob_Postfix(Verse.Pawn ByRef, Verse.AI.Job ByRef)
L_0080: ldloc 3 (Verse.AI.Job)
L_0081: ret
DONE

PATCHING RimWorld.Pawn_ApparelTracker Void ApparelChanged()


L_0000: ldarg.0
L_0001: ldftn Void <ApparelChanged>m__1()
L_0007: newobj Void .ctor(Object, IntPtr)
L_000c: call Void ExecuteWhenFinished(System.Action)
L_0011: br Label #0
L_0016: Label #0
L_0016: ldarga 0
L_001c: call Void ApparelChanged_Postfix(RimWorld.Pawn_ApparelTracker ByRef)
L_0021: ret
DONE
PATCHING Verse.PawnGraphicSet Void ResolveAllGraphics()
L_0000: Local var #0 Verse.PawnKindLifeStage
L_0000: ldarg.0
L_0001: call Void ClearCache()
L_0006: ldarg.0
L_0007: ldfld Verse.Pawn pawn
L_000c: callvirt Verse.RaceProperties get_RaceProps()
L_0011: callvirt Boolean get_Humanlike()
L_0016: brfalse Label #2
L_001b: ldarg.0
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_StoryTracker story
L_0027: ldfld RimWorld.BodyType bodyType
L_002c: ldsfld UnityEngine.Shader CutoutSkin
L_0031: ldarg.0
L_0032: ldfld Verse.Pawn pawn
L_0037: ldfld RimWorld.Pawn_StoryTracker story
L_003c: callvirt Color get_SkinColor()
L_0041: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_0046: stfld Verse.Graphic nakedGraphic
L_004b: ldarg.0
L_004c: ldarg.0
L_004d: ldfld Verse.Pawn pawn
L_0052: ldfld RimWorld.Pawn_StoryTracker story
L_0057: ldfld RimWorld.BodyType bodyType
L_005c: ldsfld UnityEngine.Shader CutoutSkin
L_0061: ldsfld UnityEngine.Color RottingColor
L_0066: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_006b: stfld Verse.Graphic rottingGraphic
L_0070: ldarg.0
L_0071: ldstr "Things/Pawn/Humanlike/HumanoidDessicated"
L_0076: ldsfld UnityEngine.Shader Cutout
L_007b: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader)
L_0080: stfld Verse.Graphic dessicatedGraphic
L_0085: ldarg.0
L_0086: ldarg.0
L_0087: ldfld Verse.Pawn pawn
L_008c: ldfld RimWorld.Pawn_StoryTracker story
L_0091: callvirt System.String get_HeadGraphicPath()
L_0096: ldarg.0
L_0097: ldfld Verse.Pawn pawn
L_009c: ldfld RimWorld.Pawn_StoryTracker story
L_00a1: callvirt Color get_SkinColor()
L_00a6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00ab: stfld Verse.Graphic headGraphic
L_00b0: ldarg.0
L_00b1: ldarg.0
L_00b2: ldfld Verse.Pawn pawn
L_00b7: ldfld RimWorld.Pawn_StoryTracker story
L_00bc: callvirt System.String get_HeadGraphicPath()
L_00c1: ldsfld UnityEngine.Color RottingColor
L_00c6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00cb: stfld Verse.Graphic desiccatedHeadGraphic
L_00d0: ldarg.0
L_00d1: call Verse.Graphic_Multi GetSkull()
L_00d6: stfld Verse.Graphic skullGraphic
L_00db: ldarg.0
L_00dc: ldarg.0
L_00dd: ldfld Verse.Pawn pawn
L_00e2: ldfld RimWorld.Pawn_StoryTracker story
L_00e7: callvirt Color get_SkinColor()
L_00ec: call Verse.Graphic_Multi GetStump(Color)
L_00f1: stfld Verse.Graphic headStumpGraphic
L_00f6: ldarg.0
L_00f7: ldsfld UnityEngine.Color RottingColor
L_00fc: call Verse.Graphic_Multi GetStump(Color)
L_0101: stfld Verse.Graphic desiccatedHeadStumpGraphic
L_0106: ldarg.0
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld RimWorld.Pawn_StoryTracker story
L_0112: ldfld RimWorld.HairDef hairDef
L_0117: ldfld System.String texPath
L_011c: ldsfld UnityEngine.Shader Cutout
L_0121: call Vector2 get_one()
L_0126: ldarg.0
L_0127: ldfld Verse.Pawn pawn
L_012c: ldfld RimWorld.Pawn_StoryTracker story
L_0131: ldfld UnityEngine.Color hairColor
L_0136: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_013b: stfld Verse.Graphic hairGraphic
L_0140: ldarg.0
L_0141: call Void ResolveApparelGraphics()
L_0146: br Label #3
L_014b: Label #2
L_014b: ldarg.0
L_014c: ldfld Verse.Pawn pawn
L_0151: ldfld Verse.Pawn_AgeTracker ageTracker
L_0156: callvirt Verse.PawnKindLifeStage get_CurKindLifeStage()
L_015b: stloc.0
L_015c: ldarg.0
L_015d: ldfld Verse.Pawn pawn
L_0162: ldfld Verse.Gender gender
L_0167: ldc.i4.2
L_0168: bne.un Label #4
L_016d: ldloc.0
L_016e: ldfld Verse.GraphicData femaleGraphicData
L_0173: brtrue Label #5
L_0178: Label #4
L_0178: ldarg.0
L_0179: ldloc.0
L_017a: ldfld Verse.GraphicData bodyGraphicData
L_017f: callvirt Verse.Graphic get_Graphic()
L_0184: stfld Verse.Graphic nakedGraphic
L_0189: br Label #6
L_018e: Label #5
L_018e: ldarg.0
L_018f: ldloc.0
L_0190: ldfld Verse.GraphicData femaleGraphicData
L_0195: callvirt Verse.Graphic get_Graphic()
L_019a: stfld Verse.Graphic nakedGraphic
L_019f: Label #6
L_019f: ldarg.0
L_01a0: ldarg.0
L_01a1: ldfld Verse.Graphic nakedGraphic
L_01a6: ldsfld UnityEngine.Shader CutoutSkin
L_01ab: ldsfld UnityEngine.Color RottingColor
L_01b0: ldsfld UnityEngine.Color RottingColor
L_01b5: callvirt Verse.Graphic GetColoredVersion(UnityEngine.Shader, Color, Color)
L_01ba: stfld Verse.Graphic rottingGraphic
L_01bf: ldarg.0
L_01c0: ldfld Verse.Pawn pawn
L_01c5: callvirt Verse.RaceProperties get_RaceProps()
L_01ca: ldfld System.Boolean packAnimal
L_01cf: brfalse Label #7
L_01d4: ldarg.0
L_01d5: ldarg.0
L_01d6: ldfld Verse.Graphic nakedGraphic
L_01db: ldfld System.String path
L_01e0: ldstr "Pack"
L_01e5: call System.String Concat(System.String, System.String)
L_01ea: ldsfld UnityEngine.Shader Cutout
L_01ef: ldarg.0
L_01f0: ldfld Verse.Graphic nakedGraphic
L_01f5: ldfld UnityEngine.Vector2 drawSize
L_01fa: call Color get_white()
L_01ff: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_0204: stfld Verse.Graphic packGraphic
L_0209: Label #7
L_0209: ldloc.0
L_020a: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_020f: brfalse Label #8
L_0214: ldarg.0
L_0215: ldloc.0
L_0216: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_021b: ldarg.0
L_021c: ldfld Verse.Pawn pawn
L_0221: callvirt Verse.Graphic GraphicColoredFor(Verse.Thing)
L_0226: stfld Verse.Graphic dessicatedGraphic
L_022b: Label #3
L_022b: Label #8
L_022b: br Label #0
L_0230: Label #0
L_0230: ldarga 0
L_0236: call Void ResolveAllGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_023b: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveApparelGraphics()


L_0000: Local var #0 RimWorld.Apparel
L_0000: Local var #1 System.Collections.Generic.IEnumerator`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 RimWorld.ApparelGraphicRecord
L_0000: ldarga 0
L_0006: call Void ResolveApparelGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_000b: ldarg.0
L_000c: call Void ClearCache()
L_0011: ldarg.0
L_0012: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0017: callvirt Void Clear()
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0027: callvirt IEnumerable`1 get_WornApparelInDrawOrder()
L_002c: callvirt IEnumerator`1 GetEnumerator()
L_0031: stloc.1
L_0032: br Label #2
L_0037: Label #4
L_0037: ldloc.1
L_0038: callvirt RimWorld.Apparel get_Current()
L_003d: stloc.0
L_003e: ldloc.0
L_003f: ldarg.0
L_0040: ldfld Verse.Pawn pawn
L_0045: call BodyType ModifyChildBodyType(Verse.Pawn)
L_004a: ldloca.s 2 (RimWorld.ApparelGraphicRecord)
L_004c: call Boolean TryGetGraphicApparel(RimWorld.Apparel, BodyType,
ApparelGraphicRecord ByRef)
L_0051: brfalse Label #3
L_0056: ldarg.0
L_0057: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_005c: ldloc.2
L_005d: callvirt Void Add(ApparelGraphicRecord)
L_0062: Label #2
L_0062: Label #3
L_0062: ldloc.1
L_0063: callvirt Boolean MoveNext()
L_0068: brtrue Label #4
L_006d: leave Label #5
L_0072: ldloc.1
L_0073: brfalse Label #6
L_0078: ldloc.1
L_0079: callvirt Void Dispose()
L_007e: Label #6
L_007e: endfinally
L_007f: Label #5
L_007f: br Label #0
L_0084: Label #0
L_0084: ret
DONE

PATCHING Verse.PawnRenderer Void RenderPawnInternal(Vector3, Quaternion, Boolean,


Rot4, Rot4, RotDrawMode, Boolean, Boolean)
L_0000: Local var #0 UnityEngine.Mesh
L_0000: Local var #1 UnityEngine.Vector3
L_0000: Local var #2 System.Collections.Generic.List`1[[UnityEngine.Material,
UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 System.Int32
L_0000: Local var #4 UnityEngine.Material
L_0000: Local var #5 UnityEngine.Vector3
L_0000: Local var #6 UnityEngine.Vector3
L_0000: Local var #7 UnityEngine.Vector3
L_0000: Local var #8 UnityEngine.Vector3
L_0000: Local var #9 UnityEngine.Material
L_0000: Local var #10 UnityEngine.Mesh
L_0000: Local var #11 UnityEngine.Vector3
L_0000: Local var #12 System.Boolean
L_0000: Local var #13 UnityEngine.Mesh
L_0000: Local var #14
System.Collections.Generic.List`1[[RimWorld.ApparelGraphicRecord, Assembly-CSharp,
Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #15 System.Int32
L_0000: Local var #16 RimWorld.ApparelGraphicRecord
L_0000: Local var #17 RimWorld.ApparelGraphicRecord
L_0000: Local var #18 UnityEngine.Material
L_0000: Local var #19 RimWorld.ApparelGraphicRecord
L_0000: Local var #20 UnityEngine.Material
L_0000: Local var #21 RimWorld.ApparelGraphicRecord
L_0000: Local var #22 UnityEngine.Vector3
L_0000: Local var #23 UnityEngine.Mesh
L_0000: Local var #24 UnityEngine.Material
L_0000: Local var #25 System.Int32
L_0000: Local var #26 RimWorld.ApparelGraphicRecord
L_0000: Local var #27 UnityEngine.Material
L_0000: Local var #28 System.Collections.Generic.List`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #29 System.Int32
L_0000: Local var #30 UnityEngine.Vector3
L_0000: ldarg.0
L_0001: ldfld Verse.PawnGraphicSet graphics
L_0006: callvirt Boolean get_AllResolved()
L_000b: brtrue Label #2
L_0010: ldarg.0
L_0011: ldfld Verse.PawnGraphicSet graphics
L_0016: callvirt Void ResolveAllGraphics()
L_001b: Label #2
L_001b: ldnull
L_001c: stloc.0
L_001d: ldarg.0
L_001e: ldfld Verse.Pawn pawn
L_0023: ldfld Verse.Pawn_AgeTracker ageTracker
L_0028: call Int32 get_CurLifeStageIndex()
L_002d: ldc.i4.2
L_002e: blt Label #43
L_0033: ldarg.3
L_0034: brfalse Label #3
L_0039: Label #43
L_0039: ldarg.1
L_003a: ldarg.0
L_003b: ldfld Verse.Pawn pawn
L_0040: ldarg.s 7
L_0045: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_004a: stloc.1
L_004b: ldloca.s 1 (UnityEngine.Vector3)
L_004d: dup
L_004e: ldfld System.Single y
L_0053: ldc.r4 0.0078125
L_0058: add
L_0059: stfld System.Single y
L_005e: ldarg.s 6
L_0060: ldc.i4.2
L_0061: bne.un Label #4
L_0066: ldarg.0
L_0067: ldfld Verse.Pawn pawn
L_006c: callvirt Verse.RaceProperties get_RaceProps()
L_0071: callvirt Boolean get_Humanlike()
L_0076: brtrue Label #5
L_007b: ldarg.0
L_007c: ldfld Verse.PawnGraphicSet graphics
L_0081: ldfld Verse.Graphic dessicatedGraphic
L_0086: brfalse Label #6
L_008b: ldarg.s 7
L_008d: brtrue Label #7
L_0092: ldarg.0
L_0093: ldfld Verse.PawnGraphicSet graphics
L_0098: ldfld Verse.Graphic dessicatedGraphic
L_009d: ldloc.1
L_009e: ldarg.s 4
L_00a0: ldarg.0
L_00a1: ldfld Verse.Pawn pawn
L_00a6: ldc.r4 0
L_00ab: callvirt Void Draw(Vector3, Rot4, Verse.Thing, Single)
L_00b0: br Label #8
L_00b5: Label #4
L_00b5: Label #5
L_00b5: Label #6
L_00b5: Label #7
L_00b5: ldarg.0
L_00b6: ldfld Verse.Pawn pawn
L_00bb: callvirt Verse.RaceProperties get_RaceProps()
L_00c0: callvirt Boolean get_Humanlike()
L_00c5: brfalse Label #9
L_00ca: ldsfld Verse.GraphicMeshSet humanlikeBodySet
L_00cf: ldarg.s 4
L_00d1: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00d6: stloc.0
L_00d7: br Label #10
L_00dc: Label #9
L_00dc: ldarg.0
L_00dd: ldfld Verse.PawnGraphicSet graphics
L_00e2: ldfld Verse.Graphic nakedGraphic
L_00e7: ldarg.s 4
L_00e9: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00ee: stloc.0
L_00ef: Label #10
L_00ef: ldarg.0
L_00f0: ldfld Verse.PawnGraphicSet graphics
L_00f5: ldarg.s 4
L_00f7: ldarg.s 6
L_00f9: callvirt System.Collections.Generic.List`1[UnityEngine.Material]
MatsBodyBaseAt(Rot4, RotDrawMode)
L_00fe: stloc.2
L_00ff: ldc.i4.0
L_0100: stloc.3
L_0101: br Label #11
L_0106: Label #12
L_0106: ldarg.0
L_0107: ldfld Verse.PawnGraphicSet graphics
L_010c: ldfld Verse.DamageFlasher flasher
L_0111: ldloc.2
L_0112: ldloc.3
L_0113: callvirt UnityEngine.Material get_Item(Int32)
L_0118: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_011d: stloc.s 4 (UnityEngine.Material)
L_011f: ldloc.s 4
L_0124: ldarg.0
L_0125: ldfld Verse.Pawn pawn
L_012a: ldarg.s 4
L_012f: call UnityEngine.Material ModifyClothingForChild(UnityEngine.Material,
Verse.Pawn, Rot4)
L_0134: stloc.s 4
L_0139: ldloc.0
L_013a: ldloc.1
L_013b: ldarg.2
L_013c: ldloc.s 4 (UnityEngine.Material)
L_013e: ldarg.s 7
L_0140: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_0145: ldloca.s 1 (UnityEngine.Vector3)
L_0147: dup
L_0148: ldfld System.Single y
L_014d: ldloc.s 18
L_0152: ldarg.0
L_0153: ldfld Verse.Pawn pawn
L_0158: call UnityEngine.Material ModifyHatForChild(UnityEngine.Material,
Verse.Pawn)
L_015d: stloc.s 18
L_0162: ldc.r4 0.00390625
L_0167: add
L_0168: stfld System.Single y
L_016d: ldloc.3
L_016e: ldc.i4.1
L_016f: add
L_0170: stloc.3
L_0171: Label #11
L_0171: ldloc.3
L_0172: ldloc.2
L_0173: callvirt Int32 get_Count()
L_0178: blt Label #12
L_017d: ldarg.s 6
L_017f: brtrue Label #13
L_0184: ldarg.1
L_0185: ldarg.0
L_0186: ldfld Verse.Pawn pawn
L_018b: ldarg.s 7
L_0190: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0195: stloc.s 5 (UnityEngine.Vector3)
L_0197: ldloca.s 5 (UnityEngine.Vector3)
L_0199: dup
L_019a: ldfld System.Single y
L_019f: ldc.r4 0.01953125
L_01a4: add
L_01a5: stfld System.Single y
L_01aa: ldarg.0
L_01ab: ldfld RimWorld.PawnWoundDrawer woundOverlays
L_01b0: ldloc.s 5 (UnityEngine.Vector3)
L_01b2: ldloc.0
L_01b3: ldarg.2
L_01b4: ldarg.s 7
L_01b6: callvirt Void RenderOverBody(Vector3, UnityEngine.Mesh, Quaternion,
Boolean)
L_01bb: Label #3
L_01bb: Label #8
L_01bb: Label #13
L_01bb: ldarg.1
L_01bc: ldarg.0
L_01bd: ldfld Verse.Pawn pawn
L_01c2: ldarg.s 7
L_01c7: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01cc: stloc.s 6 (UnityEngine.Vector3)
L_01ce: ldarg.1
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldarg.s 7
L_01da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01df: stloc.s 7 (UnityEngine.Vector3)
L_01e1: ldarg.s 4
L_01e3: call Rot4 get_North()
L_01e8: call Boolean op_Inequality(Rot4, Rot4)
L_01ed: brfalse Label #14
L_01f2: ldloca.s 7 (UnityEngine.Vector3)
L_01f4: dup
L_01f5: ldfld System.Single y
L_01fa: ldc.r4 0.02734375
L_01ff: add
L_0200: stfld System.Single y
L_0205: ldloca.s 6 (UnityEngine.Vector3)
L_0207: dup
L_0208: ldfld System.Single y
L_020d: ldc.r4 0.0234375
L_0212: add
L_0213: stfld System.Single y
L_0218: br Label #15
L_021d: Label #14
L_021d: ldloca.s 7 (UnityEngine.Vector3)
L_021f: dup
L_0220: ldfld System.Single y
L_0225: ldc.r4 0.0234375
L_022a: add
L_022b: stfld System.Single y
L_0230: ldloca.s 6 (UnityEngine.Vector3)
L_0232: dup
L_0233: ldfld System.Single y
L_0238: ldc.r4 0.02734375
L_023d: add
L_023e: stfld System.Single y
L_0243: Label #15
L_0243: ldarg.0
L_0244: ldfld Verse.PawnGraphicSet graphics
L_0249: ldfld Verse.Graphic headGraphic
L_024e: brfalse Label #16
L_0253: ldarg.0
L_0254: ldfld Verse.Pawn pawn
L_0259: call Boolean RaceUsesChildren(Verse.Pawn)
L_025e: brfalse Label #44
L_0263: ldarg.0
L_0264: ldfld Verse.Pawn pawn
L_0269: call Boolean EnsurePawnIsChildOrOlder(Verse.Pawn)
L_026e: brfalse Label #16
L_0273: Label #44
L_0273: nop
L_0274: ldarg.2
L_0275: ldarg.0
L_0276: ldarg.s 5
L_0278: call Vector3 BaseHeadOffsetAt(Rot4)
L_027d: call Vector3 op_Multiply(Quaternion, Vector3)
L_0282: stloc.s 8 (UnityEngine.Vector3)
L_0284: ldarg.0
L_0285: ldfld Verse.PawnGraphicSet graphics
L_028a: ldarg.s 5
L_028c: ldarg.s 6
L_028e: ldarg.s 8
L_0290: callvirt UnityEngine.Material HeadMatAt(Rot4, RotDrawMode, Boolean)
L_0295: stloc.s 9 (UnityEngine.Material)
L_0297: ldloc.s 9 (UnityEngine.Material)
L_0299: ldnull
L_029a: call Boolean op_Inequality(UnityEngine.Object, UnityEngine.Object)
L_029f: brfalse Label #17
L_02a4: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_02a9: ldarg.s 5
L_02ab: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_02b0: stloc.s 10 (UnityEngine.Mesh)
L_02b2: ldloc.s 10 (UnityEngine.Mesh)
L_02b4: ldloc.s 7 (UnityEngine.Vector3)
L_02b6: ldloc.s 8 (UnityEngine.Vector3)
L_02b8: call Vector3 op_Addition(Vector3, Vector3)
L_02bd: ldarg.2
L_02be: ldloc.s 9 (UnityEngine.Material)
L_02c0: ldarg.s 7
L_02c2: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_02c7: Label #17
L_02c7: ldarg.1
L_02c8: ldloc.s 8 (UnityEngine.Vector3)
L_02ca: call Vector3 op_Addition(Vector3, Vector3)
L_02cf: ldarg.0
L_02d0: ldfld Verse.Pawn pawn
L_02d5: ldarg.s 7
L_02da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_02df: stloc.s 11 (UnityEngine.Vector3)
L_02e1: ldloca.s 11 (UnityEngine.Vector3)
L_02e3: dup
L_02e4: ldfld System.Single y
L_02e9: ldc.r4 0.03125
L_02ee: add
L_02ef: stfld System.Single y
L_02f4: ldc.i4.0
L_02f5: stloc.s 12 (System.Boolean)
L_02f7: ldarg.s 7
L_02f9: brfalse Label #18
L_02fe: call Boolean get_HatsOnlyOnMap()
L_0303: brtrue Label #19
L_0308: Label #18
L_0308: ldarg.0
L_0309: ldfld Verse.PawnGraphicSet graphics
L_030e: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_0313: ldarg.s 5
L_0315: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_031a: stloc.s 13 (UnityEngine.Mesh)
L_031c: ldarg.0
L_031d: ldfld Verse.PawnGraphicSet graphics
L_0322: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0327: stloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0329: ldc.i4.0
L_032a: stloc.s 15 (System.Int32)
L_032c: br Label #20
L_0331: Label #26
L_0331: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0333: ldloc.s 15 (System.Int32)
L_0335: callvirt ApparelGraphicRecord get_Item(Int32)
L_033a: stloc.s 16 (RimWorld.ApparelGraphicRecord)
L_033c: ldloca.s 16 (RimWorld.ApparelGraphicRecord)
L_033e: ldfld RimWorld.Apparel sourceApparel
L_0343: ldfld Verse.ThingDef def
L_0348: ldfld RimWorld.ApparelProperties apparel
L_034d: callvirt ApparelLayer get_LastLayer()
L_0352: ldc.i4.4
L_0353: bne.un Label #21
L_0358: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_035a: ldloc.s 15 (System.Int32)
L_035c: callvirt ApparelGraphicRecord get_Item(Int32)
L_0361: stloc.s 17 (RimWorld.ApparelGraphicRecord)
L_0363: ldloca.s 17 (RimWorld.ApparelGraphicRecord)
L_0365: ldfld RimWorld.Apparel sourceApparel
L_036a: ldfld Verse.ThingDef def
L_036f: ldfld RimWorld.ApparelProperties apparel
L_0374: ldfld System.Boolean hatRenderedFrontOfFace
L_0379: brtrue Label #22
L_037e: ldc.i4.1
L_037f: stloc.s 12 (System.Boolean)
L_0381: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0383: ldloc.s 15 (System.Int32)
L_0385: callvirt ApparelGraphicRecord get_Item(Int32)
L_038a: stloc.s 19 (RimWorld.ApparelGraphicRecord)
L_038c: ldloca.s 19 (RimWorld.ApparelGraphicRecord)
L_038e: ldfld Verse.Graphic graphic
L_0393: ldarg.s 4
L_0395: ldnull
L_0396: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_039b: stloc.s 18 (UnityEngine.Material)
L_039d: ldarg.0
L_039e: ldfld Verse.PawnGraphicSet graphics
L_03a3: ldfld Verse.DamageFlasher flasher
L_03a8: ldloc.s 18 (UnityEngine.Material)
L_03aa: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03af: stloc.s 18 (UnityEngine.Material)
L_03b1: ldloc.s 13 (UnityEngine.Mesh)
L_03b3: ldloc.s 11 (UnityEngine.Vector3)
L_03b5: ldarg.2
L_03b6: ldloc.s 18 (UnityEngine.Material)
L_03b8: ldarg.s 7
L_03ba: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_03bf: br Label #23
L_03c4: Label #22
L_03c4: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_03c6: ldloc.s 15 (System.Int32)
L_03c8: callvirt ApparelGraphicRecord get_Item(Int32)
L_03cd: stloc.s 21 (RimWorld.ApparelGraphicRecord)
L_03cf: ldloca.s 21 (RimWorld.ApparelGraphicRecord)
L_03d1: ldfld Verse.Graphic graphic
L_03d6: ldarg.s 4
L_03d8: ldnull
L_03d9: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_03de: stloc.s 20 (UnityEngine.Material)
L_03e0: ldarg.0
L_03e1: ldfld Verse.PawnGraphicSet graphics
L_03e6: ldfld Verse.DamageFlasher flasher
L_03eb: ldloc.s 20 (UnityEngine.Material)
L_03ed: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03f2: stloc.s 20 (UnityEngine.Material)
L_03f4: ldarg.1
L_03f5: ldloc.s 8 (UnityEngine.Vector3)
L_03f7: call Vector3 op_Addition(Vector3, Vector3)
L_03fc: stloc.s 22 (UnityEngine.Vector3)
L_03fe: ldloca.s 22 (UnityEngine.Vector3)
L_0400: dup
L_0401: ldfld System.Single y
L_0406: ldarg.s 4
L_0408: call Rot4 get_North()
L_040d: call Boolean op_Equality(Rot4, Rot4)
L_0412: brfalse Label #24
L_0417: ldc.r4 0.00390625
L_041c: br Label #25
L_0421: Label #24
L_0421: ldc.r4 0.03515625
L_0426: Label #25
L_0426: add
L_0427: stfld System.Single y
L_042c: ldloc.s 13 (UnityEngine.Mesh)
L_042e: ldloc.s 22 (UnityEngine.Vector3)
L_0430: ldarg.2
L_0431: ldloc.s 20 (UnityEngine.Material)
L_0433: ldarg.s 7
L_0435: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_043a: Label #21
L_043a: Label #23
L_043a: ldloc.s 15 (System.Int32)
L_043c: ldc.i4.1
L_043d: add
L_043e: stloc.s 15 (System.Int32)
L_0440: Label #20
L_0440: ldloc.s 15 (System.Int32)
L_0442: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0444: callvirt Int32 get_Count()
L_0449: blt Label #26
L_044e: Label #19
L_044e: ldloc.s 12 (System.Boolean)
L_0450: brtrue Label #27
L_0455: ldarg.s 6
L_0457: ldc.i4.2
L_0458: beq Label #28
L_045d: ldarg.s 8
L_045f: brtrue Label #29
L_0464: ldarg.0
L_0465: ldfld Verse.PawnGraphicSet graphics
L_046a: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_046f: ldarg.s 5
L_0471: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0476: stloc.s 23 (UnityEngine.Mesh)
L_0478: ldarg.0
L_0479: ldfld Verse.PawnGraphicSet graphics
L_047e: ldarg.s 5
L_0480: callvirt UnityEngine.Material HairMatAt(Rot4)
L_0485: stloc.s 24 (UnityEngine.Material)
L_0487: ldloc.s 24
L_048c: ldarg.0
L_048d: ldfld Verse.Pawn pawn
L_0492: call UnityEngine.Material ModifyHairForChild(UnityEngine.Material,
Verse.Pawn)
L_0497: stloc.s 24
L_049c: ldloc.s 23 (UnityEngine.Mesh)
L_049e: ldloc.s 11 (UnityEngine.Vector3)
L_04a0: ldarg.2
L_04a1: ldloc.s 24 (UnityEngine.Material)
L_04a3: ldarg.s 7
L_04a5: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_04aa: Label #16
L_04aa: Label #27
L_04aa: Label #28
L_04aa: Label #29
L_04aa: ldarg.3
L_04ab: brfalse Label #30
L_04b0: ldc.i4.0
L_04b1: stloc.s 25 (System.Int32)
L_04b3: br Label #31
L_04b8: Label #33
L_04b8: ldarg.0
L_04b9: ldfld Verse.PawnGraphicSet graphics
L_04be: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_04c3: ldloc.s 25 (System.Int32)
L_04c5: callvirt ApparelGraphicRecord get_Item(Int32)
L_04ca: stloc.s 26 (RimWorld.ApparelGraphicRecord)
L_04cc: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ce: ldfld RimWorld.Apparel sourceApparel
L_04d3: ldfld Verse.ThingDef def
L_04d8: ldfld RimWorld.ApparelProperties apparel
L_04dd: callvirt ApparelLayer get_LastLayer()
L_04e2: ldc.i4.2
L_04e3: bne.un Label #32
L_04e8: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ea: ldfld Verse.Graphic graphic
L_04ef: ldarg.s 4
L_04f1: ldnull
L_04f2: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_04f7: stloc.s 27 (UnityEngine.Material)
L_04f9: ldarg.0
L_04fa: ldfld Verse.PawnGraphicSet graphics
L_04ff: ldfld Verse.DamageFlasher flasher
L_0504: ldloc.s 27 (UnityEngine.Material)
L_0506: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_050b: stloc.s 27 (UnityEngine.Material)
L_050d: ldloc.0
L_050e: ldloc.s 6 (UnityEngine.Vector3)
L_0510: ldarg.2
L_0511: ldloc.s 27 (UnityEngine.Material)
L_0513: ldarg.s 7
L_0515: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_051a: Label #32
L_051a: ldloc.s 25 (System.Int32)
L_051c: ldc.i4.1
L_051d: add
L_051e: stloc.s 25 (System.Int32)
L_0520: Label #31
L_0520: ldloc.s 25 (System.Int32)
L_0522: ldarg.0
L_0523: ldfld Verse.PawnGraphicSet graphics
L_0528: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_052d: callvirt Int32 get_Count()
L_0532: blt Label #33
L_0537: Label #30
L_0537: ldarg.s 7
L_0539: brtrue Label #34
L_053e: ldarg.0
L_053f: ldfld Verse.Pawn pawn
L_0544: callvirt Verse.RaceProperties get_RaceProps()
L_0549: callvirt Boolean get_Animal()
L_054e: brfalse Label #35
L_0553: ldarg.0
L_0554: ldfld Verse.Pawn pawn
L_0559: ldfld Verse.Pawn_InventoryTracker inventory
L_055e: brfalse Label #36
L_0563: ldarg.0
L_0564: ldfld Verse.Pawn pawn
L_0569: ldfld Verse.Pawn_InventoryTracker inventory
L_056e: ldfld Verse.ThingOwner`1[Verse.Thing] innerContainer
L_0573: callvirt Int32 get_Count()
L_0578: ldc.i4.0
L_0579: ble Label #37
L_057e: ldarg.0
L_057f: ldfld Verse.PawnGraphicSet graphics
L_0584: ldfld Verse.Graphic packGraphic
L_0589: brfalse Label #38
L_058e: ldloc.0
L_058f: ldloc.s 6 (UnityEngine.Vector3)
L_0591: ldarg.2
L_0592: ldarg.0
L_0593: ldfld Verse.PawnGraphicSet graphics
L_0598: ldfld Verse.Graphic packGraphic
L_059d: ldarg.s 4
L_059f: ldnull
L_05a0: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_05a5: ldc.i4.0
L_05a6: call Void DrawMesh(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Int32)
L_05ab: Label #34
L_05ab: Label #35
L_05ab: Label #36
L_05ab: Label #37
L_05ab: Label #38
L_05ab: ldarg.s 7
L_05ad: brtrue Label #39
L_05b2: ldarg.0
L_05b3: ldarg.1
L_05b4: call Void DrawEquipment(Vector3)
L_05b9: ldarg.0
L_05ba: ldfld Verse.Pawn pawn
L_05bf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05c4: brfalse Label #40
L_05c9: ldarg.0
L_05ca: ldfld Verse.Pawn pawn
L_05cf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05d4: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_05d9: stloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05db: ldc.i4.0
L_05dc: stloc.s 29 (System.Int32)
L_05de: br Label #41
L_05e3: Label #42
L_05e3: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05e5: ldloc.s 29 (System.Int32)
L_05e7: callvirt RimWorld.Apparel get_Item(Int32)
L_05ec: callvirt Void DrawWornExtras()
L_05f1: ldloc.s 29 (System.Int32)
L_05f3: ldc.i4.1
L_05f4: add
L_05f5: stloc.s 29 (System.Int32)
L_05f7: Label #41
L_05f7: ldloc.s 29 (System.Int32)
L_05f9: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05fb: callvirt Int32 get_Count()
L_0600: blt Label #42
L_0605: Label #40
L_0605: ldarg.1
L_0606: ldarg.0
L_0607: ldfld Verse.Pawn pawn
L_060c: ldarg.s 7
L_0611: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0616: stloc.s 30 (UnityEngine.Vector3)
L_0618: ldloca.s 30 (UnityEngine.Vector3)
L_061a: dup
L_061b: ldfld System.Single y
L_0620: ldc.r4 0.04296875
L_0625: add
L_0626: stfld System.Single y
L_062b: ldarg.0
L_062c: ldfld Verse.PawnHeadOverlays statusOverlays
L_0631: ldloc.s 30 (UnityEngine.Vector3)
L_0633: ldarg.2
L_0634: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_0639: ldarg.s 5
L_063b: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0640: callvirt Void RenderStatusOverlays(Vector3, Quaternion, UnityEngine.Mesh)
L_0645: Label #39
L_0645: br Label #0
L_064a: Label #0
L_064a: ret
DONE
PATCHING Verse.PawnGenerator Verse.Pawn GeneratePawn(PawnGenerationRequest)
L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Pawn
L_0000: ldnull
L_0001: stloc 1 (Verse.Pawn)
L_0002: ldarg.0
L_0003: call Verse.Pawn GeneratePawnInternal(PawnGenerationRequest)
L_0008: stloc.0
L_0009: leave Label #2
L_000e: endfinally
L_000f: Label #2
L_000f: ldloc.0
L_0010: br Label #0
L_0015: Label #0
L_0015: stloc 1 (Verse.Pawn)
L_0016: ldarga 0
L_001c: ldloca 1 (Verse.Pawn)
L_001e: call Void _GeneratePawn(PawnGenerationRequest ByRef, Verse.Pawn ByRef)
L_0023: ldloc 1 (Verse.Pawn)
L_0024: ret
DONE

PATCHING RimWorld.JobGiver_OptimizeApparel Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 RimWorld.Outfit
L_0000: Local var #1 System.Collections.Generic.List`1[[RimWorld.Apparel, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.AI.Job
L_0000: Local var #4 Verse.Thing
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #7 System.Int32
L_0000: Local var #8 RimWorld.Apparel
L_0000: Local var #9 RimWorld.SlotGroup
L_0000: Local var #10 System.Single
L_0000: Local var #11 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 11 (Verse.AI.Job)
L_0003: ldarg.1
L_0004: ldfld RimWorld.Pawn_OutfitTracker outfits
L_0009: brtrue Label #2
L_000e: ldarg.1
L_000f: ldstr " tried to run JobGiver_OptimizeApparel without an OutfitTracker"
L_0014: call System.String Concat(System.Object, System.Object)
L_0019: ldc.i4 5643897
L_001e: call Void ErrorOnce(System.String, Int32)
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: ldarg.1
L_002a: callvirt RimWorld.Faction get_Faction()
L_002f: call RimWorld.Faction get_OfPlayer()
L_0034: beq Label #3
L_0039: ldstr "Non-colonist "
L_003e: ldarg.1
L_003f: ldstr " tried to optimize apparel."
L_0044: call System.String Concat(System.Object, System.Object, System.Object)
L_0049: ldc.i4 764323
L_004e: call Void ErrorOnce(System.String, Int32)
L_0053: ldnull
L_0054: br Label #0
L_0059: Label #3
L_0059: ldsfld System.Boolean debugApparelOptimize
L_005e: brtrue Label #4
L_0063: call Verse.TickManager get_TickManager()
L_0068: callvirt Int32 get_TicksGame()
L_006d: ldarg.1
L_006e: ldfld Verse.AI.Pawn_MindState mindState
L_0073: ldfld System.Int32 nextApparelOptimizeTick
L_0078: bge Label #5
L_007d: ldnull
L_007e: br Label #0
L_0083: Label #5
L_0083: br Label #6
L_0088: Label #4
L_0088: newobj Void .ctor()
L_008d: stsfld System.Text.StringBuilder debugSb
L_0092: ldsfld System.Text.StringBuilder debugSb
L_0097: ldc.i4.4
L_0098: newarr System.Object
L_009d: dup
L_009e: ldc.i4.0
L_009f: ldstr "Scanning for "
L_00a4: stelem.ref
L_00a5: dup
L_00a6: ldc.i4.1
L_00a7: ldarg.1
L_00a8: stelem.ref
L_00a9: dup
L_00aa: ldc.i4.2
L_00ab: ldstr " at "
L_00b0: stelem.ref
L_00b1: dup
L_00b2: ldc.i4.3
L_00b3: ldarg.1
L_00b4: callvirt IntVec3 get_Position()
L_00b9: box Verse.IntVec3
L_00be: stelem.ref
L_00bf: call System.String Concat(System.Object[])
L_00c4: callvirt System.Text.StringBuilder AppendLine(System.String)
L_00c9: pop
L_00ca: Label #6
L_00ca: ldarg.1
L_00cb: ldfld RimWorld.Pawn_OutfitTracker outfits
L_00d0: callvirt RimWorld.Outfit get_CurrentOutfit()
L_00d5: stloc.0
L_00d6: ldarg.1
L_00d7: ldfld RimWorld.Pawn_ApparelTracker apparel
L_00dc: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_00e1: stloc.1
L_00e2: ldloc.1
L_00e3: callvirt Int32 get_Count()
L_00e8: ldc.i4.1
L_00e9: sub
L_00ea: stloc.2
L_00eb: br Label #7
L_00f0: Label #10
L_00f0: ldloc.0
L_00f1: ldfld Verse.ThingFilter filter
L_00f6: ldloc.1
L_00f7: ldloc.2
L_00f8: callvirt RimWorld.Apparel get_Item(Int32)
L_00fd: callvirt Boolean Allows(Verse.Thing)
L_0102: brtrue Label #8
L_0107: ldarg.1
L_0108: ldfld RimWorld.Pawn_OutfitTracker outfits
L_010d: ldfld RimWorld.OutfitForcedHandler forcedHandler
L_0112: ldloc.1
L_0113: ldloc.2
L_0114: callvirt RimWorld.Apparel get_Item(Int32)
L_0119: callvirt Boolean AllowedToAutomaticallyDrop(RimWorld.Apparel)
L_011e: brfalse Label #9
L_0123: ldsfld Verse.JobDef RemoveApparel
L_0128: ldloc.1
L_0129: ldloc.2
L_012a: callvirt RimWorld.Apparel get_Item(Int32)
L_012f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0134: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0139: stloc.3
L_013a: ldloc.3
L_013b: ldc.i4.1
L_013c: stfld System.Boolean haulDroppedApparel
L_0141: ldloc.3
L_0142: br Label #0
L_0147: Label #8
L_0147: Label #9
L_0147: ldloc.2
L_0148: ldc.i4.1
L_0149: sub
L_014a: stloc.2
L_014b: Label #7
L_014b: ldloc.2
L_014c: ldc.i4.0
L_014d: bge Label #10
L_0152: ldnull
L_0153: stloc.s 4 (Verse.Thing)
L_0155: ldc.r4 0
L_015a: stloc.s 5 (System.Single)
L_015c: ldarg.1
L_015d: callvirt Verse.Map get_Map()
L_0162: ldfld Verse.ListerThings listerThings
L_0167: ldc.i4.s 26
L_0169: callvirt System.Collections.Generic.List`1[Verse.Thing]
ThingsInGroup(ThingRequestGroup)
L_016e: stloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0170: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0172: callvirt Int32 get_Count()
L_0177: brtrue Label #11
L_017c: ldarg.0
L_017d: ldarg.1
L_017e: call Void SetNextOptimizeTick(Verse.Pawn)
L_0183: ldnull
L_0184: br Label #0
L_0189: Label #11
L_0189: ldarg.1
L_018a: ldarg.1
L_018b: callvirt Verse.Map get_Map()
L_0190: callvirt Int32 get_Tile()
L_0195: ldarg.1
L_0196: call Twelfth Twelfth(Verse.Thing)
L_019b: call NeededWarmth CalculateNeededWarmth(Verse.Pawn, Int32, Twelfth)
L_01a0: stsfld RimWorld.NeededWarmth neededWarmth
L_01a5: ldc.i4.0
L_01a6: stloc.s 7 (System.Int32)
L_01a8: br Label #12
L_01ad: Label #27
L_01ad: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_01af: ldloc.s 7 (System.Int32)
L_01b1: callvirt Verse.Thing get_Item(Int32)
L_01b6: castclass RimWorld.Apparel
L_01bb: stloc.s 8 (RimWorld.Apparel)
L_01bd: ldloc.0
L_01be: ldfld Verse.ThingFilter filter
L_01c3: ldloc.s 8 (RimWorld.Apparel)
L_01c5: callvirt Boolean Allows(Verse.Thing)
L_01ca: brtrue Label #13
L_01cf: br Label #14
L_01d4: Label #13
L_01d4: ldloc.s 8 (RimWorld.Apparel)
L_01d6: callvirt Verse.Map get_Map()
L_01db: ldfld RimWorld.SlotGroupManager slotGroupManager
L_01e0: ldloc.s 8 (RimWorld.Apparel)
L_01e2: callvirt IntVec3 get_Position()
L_01e7: callvirt RimWorld.SlotGroup SlotGroupAt(IntVec3)
L_01ec: stloc.s 9 (RimWorld.SlotGroup)
L_01ee: ldloc.s 9 (RimWorld.SlotGroup)
L_01f0: brtrue Label #15
L_01f5: br Label #16
L_01fa: Label #15
L_01fa: ldloc.s 8 (RimWorld.Apparel)
L_01fc: ldarg.1
L_01fd: call Boolean IsForbidden(Verse.Thing, Verse.Pawn)
L_0202: brfalse Label #17
L_0207: br Label #18
L_020c: Label #17
L_020c: ldarg.1
L_020d: ldloc.s 8 (RimWorld.Apparel)
L_020f: call Single ApparelScoreGain(Verse.Pawn, RimWorld.Apparel)
L_0214: stloc.s 10 (System.Single)
L_0216: ldsfld System.Boolean debugApparelOptimize
L_021b: brfalse Label #19
L_0220: ldsfld System.Text.StringBuilder debugSb
L_0225: ldloc.s 8 (RimWorld.Apparel)
L_0227: callvirt System.String get_LabelCap()
L_022c: ldstr ": "
L_0231: ldloca.s 10 (System.Single)
L_0233: ldstr "F2"
L_0238: call System.String ToString(System.String)
L_023d: call System.String Concat(System.String, System.String, System.String)
L_0242: callvirt System.Text.StringBuilder AppendLine(System.String)
L_0247: pop
L_0248: Label #19
L_0248: ldloc.s 10 (System.Single)
L_024a: ldc.r4 0.05
L_024f: blt Label #20
L_0254: ldloc.s 10 (System.Single)
L_0256: ldloc.s 5 (System.Single)
L_0258: bge.un Label #21
L_025d: Label #20
L_025d: br Label #22
L_0262: Label #21
L_0262: ldarg.1
L_0263: ldloc.s 8 (RimWorld.Apparel)
L_0265: ldfld Verse.ThingDef def
L_026a: call Boolean HasPartsToWear(Verse.Pawn, Verse.ThingDef)
L_026f: brtrue Label #23
L_0274: br Label #24
L_0279: Label #23
L_0279: ldarg.1
L_027a: ldloc.s 8 (RimWorld.Apparel)
L_027c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0281: ldc.i4.1
L_0282: ldarg.1
L_0283: call Danger NormalMaxDanger(Verse.Pawn)
L_0288: ldc.i4.1
L_0289: ldc.i4.m1
L_028a: ldnull
L_028b: ldc.i4.0
L_028c: call Boolean CanReserveAndReach(Verse.Pawn, LocalTargetInfo, PathEndMode,
Danger, Int32, Int32, Verse.ReservationLayerDef, Boolean)
L_0291: brtrue Label #25
L_0296: br Label #26
L_029b: Label #25
L_029b: ldloc.s 8 (RimWorld.Apparel)
L_029d: stloc.s 4 (Verse.Thing)
L_029f: ldloc.s 10 (System.Single)
L_02a1: stloc.s 5 (System.Single)
L_02a3: Label #14
L_02a3: Label #16
L_02a3: Label #18
L_02a3: Label #22
L_02a3: Label #24
L_02a3: Label #26
L_02a3: ldloc.s 7 (System.Int32)
L_02a5: ldc.i4.1
L_02a6: add
L_02a7: stloc.s 7 (System.Int32)
L_02a9: Label #12
L_02a9: ldloc.s 7 (System.Int32)
L_02ab: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_02ad: callvirt Int32 get_Count()
L_02b2: blt Label #27
L_02b7: ldsfld System.Boolean debugApparelOptimize
L_02bc: brfalse Label #28
L_02c1: ldsfld System.Text.StringBuilder debugSb
L_02c6: ldstr "BEST: "
L_02cb: ldloc.s 4 (Verse.Thing)
L_02cd: call System.String Concat(System.Object, System.Object)
L_02d2: callvirt System.Text.StringBuilder AppendLine(System.String)
L_02d7: pop
L_02d8: ldsfld System.Text.StringBuilder debugSb
L_02dd: callvirt System.String ToString()
L_02e2: call Void Message(System.String)
L_02e7: ldnull
L_02e8: stsfld System.Text.StringBuilder debugSb
L_02ed: Label #28
L_02ed: ldloc.s 4 (Verse.Thing)
L_02ef: brtrue Label #29
L_02f4: ldarg.0
L_02f5: ldarg.1
L_02f6: call Void SetNextOptimizeTick(Verse.Pawn)
L_02fb: ldnull
L_02fc: br Label #0
L_0301: Label #29
L_0301: ldsfld Verse.JobDef Wear
L_0306: ldloc.s 4 (Verse.Thing)
L_0308: call LocalTargetInfo op_Implicit(Verse.Thing)
L_030d: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0312: br Label #0
L_0317: Label #0
L_0317: stloc 11 (Verse.AI.Job)
L_0319: ldloca 11 (Verse.AI.Job)
L_031b: ldarga 1
L_0321: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_0326: ldloc 11 (Verse.AI.Job)
L_0328: ret
DONE

PATCHING Verse.Pawn_HealthTracker Boolean ShouldBeDowned()


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean get_InPainShock()
L_000c: brtrue Label #2
L_0011: ldarg.0
L_0012: ldfld Verse.PawnCapacitiesHandler capacities
L_0017: callvirt Boolean get_CanBeAwake()
L_001c: brfalse Label #3
L_0021: ldarg.0
L_0022: ldfld Verse.PawnCapacitiesHandler capacities
L_0027: ldsfld Verse.PawnCapacityDef Moving
L_002c: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0031: ldc.i4.0
L_0032: ceq
L_0034: br Label #4
L_0039: Label #2
L_0039: Label #3
L_0039: ldc.i4.1
L_003a: Label #4
L_003a: br Label #0
L_003f: Label #0
L_003f: stloc 0 (System.Boolean)
L_0040: ldarga 0
L_0046: ldloca 0 (System.Boolean)
L_0048: call Void SBD(Verse.Pawn_HealthTracker ByRef, Boolean ByRef)
L_004d: ldloc 0 (System.Boolean)
L_004e: ret
DONE

PATCHING Verse.Pawn_HealthTracker Void CheckForStateChange(Nullable`1,


Verse.Hediff)
L_0000: Local var #0 System.Single
L_0000: Local var #1 Verse.DamageInfo
L_0000: Local var #2 Verse.ThingWithComps
L_0000: ldarg.0
L_0001: call Boolean get_Dead()
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: call Boolean ShouldBeDead()
L_0011: brfalse Label #3
L_0016: ldarg.0
L_0017: ldfld Verse.Pawn pawn
L_001c: callvirt Boolean get_Destroyed()
L_0021: brtrue Label #4
L_0026: ldarg.0
L_0027: ldfld Verse.Pawn pawn
L_002c: ldarg.1
L_002d: ldarg.2
L_002e: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_0033: Label #4
L_0033: br Label #0
L_0038: Label #3
L_0038: ldarg.0
L_0039: call Boolean get_Downed()
L_003e: brtrue Label #5
L_0043: ldarg.0
L_0044: call Boolean ShouldBeDowned()
L_0049: brfalse Label #6
L_004e: ldarg.0
L_004f: ldfld Verse.Pawn pawn
L_0054: callvirt Verse.RaceProperties get_RaceProps()
L_0059: callvirt Boolean get_Animal()
L_005e: brfalse Label #7
L_0063: ldc.r4 0.47
L_0068: br Label #8
L_006d: Label #7
L_006d: ldc.r4 0.67
L_0072: Label #8
L_0072: stloc.0
L_0073: ldarg.0
L_0074: ldfld System.Boolean forceIncap
L_0079: brtrue Label #9
L_007e: ldarga.s 1
L_0080: call Boolean get_HasValue()
L_0085: brfalse Label #10
L_008a: ldarga.s 1
L_008c: call DamageInfo get_Value()
L_0091: stloc.1
L_0092: ldloca.s 1 (Verse.DamageInfo)
L_0094: call Verse.DamageDef get_Def()
L_0099: ldfld System.Boolean externalViolence
L_009e: brfalse Label #11
L_00a3: ldarg.0
L_00a4: ldfld Verse.Pawn pawn
L_00a9: callvirt RimWorld.Faction get_Faction()
L_00ae: brfalse Label #12
L_00b3: ldarg.0
L_00b4: ldfld Verse.Pawn pawn
L_00b9: callvirt RimWorld.Faction get_Faction()
L_00be: callvirt Boolean get_IsPlayer()
L_00c3: brtrue Label #13
L_00c8: br Label #13
L_00cd: Label #12
L_00cd: ldarg.0
L_00ce: ldfld Verse.Pawn pawn
L_00d3: callvirt Boolean get_IsPrisonerOfColony()
L_00d8: brtrue Label #14
L_00dd: ldarg.0
L_00de: ldfld Verse.Pawn pawn
L_00e3: callvirt Verse.RaceProperties get_RaceProps()
L_00e8: callvirt Boolean get_IsFlesh()
L_00ed: brfalse Label #15
L_00f2: call Single get_Value()
L_00f7: ldloc.0
L_00f8: bge.un Label #16
L_00fd: ldarg.0
L_00fe: ldfld Verse.Pawn pawn
L_0103: ldarg.1
L_0104: ldnull
L_0105: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_010a: br Label #0
L_010f: Label #9
L_010f: Label #10
L_010f: Label #11
L_010f: Label #13
L_010f: Label #14
L_010f: Label #15
L_010f: Label #16
L_010f: ldarg.0
L_0110: ldc.i4.0
L_0111: stfld System.Boolean forceIncap
L_0116: ldarg.0
L_0117: ldarg.1
L_0118: ldarg.2
L_0119: call Void MakeDowned(Nullable`1, Verse.Hediff)
L_011e: br Label #0
L_0123: Label #6
L_0123: ldarg.0
L_0124: ldfld Verse.PawnCapacitiesHandler capacities
L_0129: ldsfld Verse.PawnCapacityDef Manipulation
L_012e: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0133: brtrue Label #17
L_0138: ldarg.0
L_0139: ldfld Verse.Pawn pawn
L_013e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0143: brfalse Label #18
L_0148: ldarg.0
L_0149: ldfld Verse.Pawn pawn
L_014e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0153: callvirt Verse.Thing get_CarriedThing()
L_0158: brfalse Label #19
L_015d: ldarg.0
L_015e: ldfld Verse.Pawn pawn
L_0163: ldfld Verse.AI.Pawn_JobTracker jobs
L_0168: brfalse Label #20
L_016d: ldarg.0
L_016e: ldfld Verse.Pawn pawn
L_0173: callvirt Verse.AI.Job get_CurJob()
L_0178: brfalse Label #21
L_017d: ldarg.0
L_017e: ldfld Verse.Pawn pawn
L_0183: ldfld Verse.AI.Pawn_JobTracker jobs
L_0188: ldc.i4.5
L_0189: ldc.i4.1
L_018a: callvirt Void EndCurrentJob(JobCondition, Boolean)
L_018f: Label #18
L_018f: Label #19
L_018f: Label #20
L_018f: Label #21
L_018f: ldarg.0
L_0190: ldfld Verse.Pawn pawn
L_0195: ldfld Verse.Pawn_EquipmentTracker equipment
L_019a: brfalse Label #22
L_019f: ldarg.0
L_01a0: ldfld Verse.Pawn pawn
L_01a5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01aa: callvirt Verse.ThingWithComps get_Primary()
L_01af: brfalse Label #23
L_01b4: ldarg.0
L_01b5: ldfld Verse.Pawn pawn
L_01ba: callvirt Boolean get_InContainerEnclosed()
L_01bf: brfalse Label #24
L_01c4: ldarg.0
L_01c5: ldfld Verse.Pawn pawn
L_01ca: ldfld Verse.Pawn_EquipmentTracker equipment
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01da: callvirt Verse.ThingWithComps get_Primary()
L_01df: ldarg.0
L_01e0: ldfld Verse.Pawn pawn
L_01e5: ldfld Verse.ThingOwner holdingOwner
L_01ea: callvirt Boolean TryTransferEquipmentToContainer(Verse.ThingWithComps,
Verse.ThingOwner)
L_01ef: pop
L_01f0: br Label #25
L_01f5: Label #24
L_01f5: ldarg.0
L_01f6: ldfld Verse.Pawn pawn
L_01fb: callvirt Boolean get_SpawnedOrAnyParentSpawned()
L_0200: brfalse Label #26
L_0205: ldarg.0
L_0206: ldfld Verse.Pawn pawn
L_020b: ldfld Verse.Pawn_EquipmentTracker equipment
L_0210: ldarg.0
L_0211: ldfld Verse.Pawn pawn
L_0216: ldfld Verse.Pawn_EquipmentTracker equipment
L_021b: callvirt Verse.ThingWithComps get_Primary()
L_0220: ldloca.s 2 (Verse.ThingWithComps)
L_0222: ldarg.0
L_0223: ldfld Verse.Pawn pawn
L_0228: callvirt IntVec3 get_PositionHeld()
L_022d: ldc.i4.1
L_022e: callvirt Boolean TryDropEquipment(Verse.ThingWithComps,
Verse.ThingWithComps ByRef, IntVec3, Boolean)
L_0233: pop
L_0234: br Label #27
L_0239: Label #26
L_0239: ldarg.0
L_023a: ldfld Verse.Pawn pawn
L_023f: ldfld Verse.Pawn_EquipmentTracker equipment
L_0244: ldarg.0
L_0245: ldfld Verse.Pawn pawn
L_024a: ldfld Verse.Pawn_EquipmentTracker equipment
L_024f: callvirt Verse.ThingWithComps get_Primary()
L_0254: callvirt Void DestroyEquipment(Verse.ThingWithComps)
L_0259: Label #17
L_0259: Label #22
L_0259: Label #23
L_0259: Label #25
L_0259: Label #27
L_0259: br Label #28
L_025e: Label #5
L_025e: ldarg.0
L_025f: call Boolean ShouldBeDowned()
L_0264: brtrue Label #29
L_0269: ldarg.0
L_026a: call Void MakeUndowned()
L_026f: br Label #0
L_0274: Label #2
L_0274: Label #28
L_0274: Label #29
L_0274: br Label #0
L_0279: Label #0
L_0279: ret
DONE

PATCHING RimWorld.RestUtility Single WakeThreshold(Verse.Pawn)


L_0000: Local var #0 Verse.AI.Group.Lord
L_0000: Local var #1 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #2 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #3 System.Single
L_0000: ldc.r4 0
L_0005: stloc 3 (System.Single)
L_0006: ldarg.0
L_0007: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldloc.0
L_0014: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0019: brfalse Label #3
L_001e: ldloc.0
L_001f: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0024: callvirt Nullable`1 get_CustomWakeThreshold()
L_0029: stloc.1
L_002a: ldloca.s 1 (System.Nullable`1[System.Single])
L_002c: call Boolean get_HasValue()
L_0031: brfalse Label #4
L_0036: ldloc.0
L_0037: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_003c: callvirt Nullable`1 get_CustomWakeThreshold()
L_0041: stloc.2
L_0042: ldloca.s 2 (System.Nullable`1[System.Single])
L_0044: call Single get_Value()
L_0049: br Label #0
L_004e: Label #2
L_004e: Label #3
L_004e: Label #4
L_004e: ldc.r4 1
L_0053: br Label #0
L_0058: Label #0
L_0058: stloc 3 (System.Single)
L_0059: ldloca 3 (System.Single)
L_005b: ldarga 0
L_0061: call Void WakeThreshold_Patch(Single ByRef, Verse.Pawn ByRef)
L_0066: ldloc 3 (System.Single)
L_0067: ret
DONE

PATCHING Verse.Verb_Shoot Boolean TryCastShot()


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 1 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean TryCastShot()
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldarg.0
L_0014: call Boolean get_CasterIsPawn()
L_0019: brfalse Label #3
L_001e: ldarg.0
L_001f: call Verse.Pawn get_CasterPawn()
L_0024: ldfld RimWorld.Pawn_RecordsTracker records
L_0029: ldsfld RimWorld.RecordDef ShotsFired
L_002e: callvirt Void Increment(RimWorld.RecordDef)
L_0033: Label #2
L_0033: Label #3
L_0033: ldloc.0
L_0034: br Label #0
L_0039: Label #0
L_0039: stloc 1 (System.Boolean)
L_003a: ldarga 0
L_0040: call Void TryCastShot_Patch(Verse.Verb_Shoot ByRef)
L_0045: ldloc 1 (System.Boolean)
L_0046: ret
DONE

PATCHING Verse.Pawn_EquipmentTracker Void


Notify_EquipmentAdded(Verse.ThingWithComps)
L_0000: Local var #0 Verse.Verb
L_0000: Local var #1 System.Collections.Generic.List`1+Enumerator[[Verse.Verb,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.1
L_0001: callvirt Verse.CompEquippable GetComp[CompEquippable]()
L_0006: callvirt System.Collections.Generic.List`1[Verse.Verb] get_AllVerbs()
L_000b: callvirt Enumerator GetEnumerator()
L_0010: stloc.1
L_0011: br Label #2
L_0016: Label #3
L_0016: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0018: call Verse.Verb get_Current()
L_001d: stloc.0
L_001e: ldloc.0
L_001f: ldarg.0
L_0020: ldfld Verse.Pawn pawn
L_0025: stfld Verse.Thing caster
L_002a: ldloc.0
L_002b: callvirt Void Notify_PickedUp()
L_0030: Label #2
L_0030: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0032: call Boolean MoveNext()
L_0037: brtrue Label #3
L_003c: leave Label #4
L_0041: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0043: constrained. System.Collections.Generic.List`1+Enumerator[Verse.Verb]
L_0049: callvirt Void Dispose()
L_004e: endfinally
L_004f: Label #4
L_004f: br Label #0
L_0054: Label #0
L_0054: ldarga 1
L_005a: ldarga 0
L_0060: call Void Notify_EquipmentAdded_Patch(Verse.ThingWithComps ByRef,
Verse.Pawn_EquipmentTracker ByRef)
L_0065: ret
DONE

PATCHING RimWorld.PawnWeaponGenerator Void TryGenerateWeaponFor(Verse.Pawn)


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2
RimWorld.PawnWeaponGenerator+<TryGenerateWeaponFor>c__AnonStorey2
L_0000: Local var #3 RimWorld.ThingStuffPair
L_0000: Local var #4 Verse.ThingWithComps
L_0000: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0005: callvirt Void Clear()
L_000a: ldarg.0
L_000b: ldfld Verse.PawnKindDef kindDef
L_0010: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0015: brfalse Label #2
L_001a: ldarg.0
L_001b: ldfld Verse.PawnKindDef kindDef
L_0020: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0025: callvirt Int32 get_Count()
L_002a: brtrue Label #3
L_002f: Label #2
L_002f: br Label #0
L_0034: Label #3
L_0034: ldarg.0
L_0035: callvirt Verse.RaceProperties get_RaceProps()
L_003a: callvirt Boolean get_ToolUser()
L_003f: brtrue Label #4
L_0044: br Label #0
L_0049: Label #4
L_0049: ldarg.0
L_004a: ldfld Verse.Pawn_HealthTracker health
L_004f: ldfld Verse.PawnCapacitiesHandler capacities
L_0054: ldsfld Verse.PawnCapacityDef Manipulation
L_0059: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_005e: brtrue Label #5
L_0063: br Label #0
L_0068: Label #5
L_0068: ldarg.0
L_0069: ldfld RimWorld.Pawn_StoryTracker story
L_006e: brfalse Label #6
L_0073: ldarg.0
L_0074: ldfld RimWorld.Pawn_StoryTracker story
L_0079: ldc.i4.8
L_007a: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_007f: brfalse Label #7
L_0084: br Label #0
L_0089: Label #6
L_0089: Label #7
L_0089: ldarg.0
L_008a: ldfld Verse.PawnKindDef kindDef
L_008f: ldflda Verse.FloatRange weaponMoney
L_0094: call Single get_RandomInRange()
L_0099: stloc.0
L_009a: ldc.i4.0
L_009b: stloc.1
L_009c: br Label #8
L_00a1: Label #16
L_00a1: newobj Void .ctor()
L_00a6: stloc.2
L_00a7: ldloc.2
L_00a8: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_00ad: ldloc.1
L_00ae: callvirt ThingStuffPair get_Item(Int32)
L_00b3: stfld RimWorld.ThingStuffPair w
L_00b8: ldloc.2
L_00b9: ldflda RimWorld.ThingStuffPair w
L_00be: call Single get_Price()
L_00c3: ldloc.0
L_00c4: ble.un Label #9
L_00c9: br Label #10
L_00ce: Label #9
L_00ce: ldarg.0
L_00cf: ldfld Verse.PawnKindDef kindDef
L_00d4: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_00d9: ldloc.2
L_00da: ldftn Boolean <>m__0(System.String)
L_00e0: newobj Void .ctor(Object, IntPtr)
L_00e5: call Boolean Any[String](System.Collections.Generic.List`1[System.String],
System.Predicate`1[System.String])
L_00ea: brtrue Label #11
L_00ef: br Label #12
L_00f4: Label #11
L_00f4: ldloc.2
L_00f5: ldflda RimWorld.ThingStuffPair w
L_00fa: ldfld Verse.ThingDef thing
L_00ff: ldfld System.Single generateAllowChance
L_0104: ldc.r4 1
L_0109: bge.un Label #13
L_010e: ldarg.0
L_010f: ldfld System.Int32 thingIDNumber
L_0114: ldc.i4 28554824
L_0119: xor
L_011a: call Single ValueSeeded(Int32)
L_011f: ldloc.2
L_0120: ldflda RimWorld.ThingStuffPair w
L_0125: ldfld Verse.ThingDef thing
L_012a: ldfld System.Single generateAllowChance
L_012f: ble.un Label #14
L_0134: br Label #15
L_0139: Label #13
L_0139: Label #14
L_0139: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_013e: ldloc.2
L_013f: ldfld RimWorld.ThingStuffPair w
L_0144: callvirt Void Add(ThingStuffPair)
L_0149: Label #10
L_0149: Label #12
L_0149: Label #15
L_0149: ldloc.1
L_014a: ldc.i4.1
L_014b: add
L_014c: stloc.1
L_014d: Label #8
L_014d: ldloc.1
L_014e: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_0153: callvirt Int32 get_Count()
L_0158: blt Label #16
L_015d: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0162: callvirt Int32 get_Count()
L_0167: brtrue Label #17
L_016c: br Label #0
L_0171: ldarg.0
L_0172: ldloc.2
L_0173: callvirt System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
FilterChildWeapons(Verse.Pawn,
System.Collections.Generic.List`1[RimWorld.ThingStuffPair])
L_0178: stloc.2
L_0179: Label #17
L_0179: ldarg.0
L_017a: ldfld Verse.Pawn_EquipmentTracker equipment
L_017f: ldc.i4.0
L_0180: callvirt Void DestroyAllEquipment(DestroyMode)
L_0185: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_018a: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_018f: brtrue Label #18
L_0194: ldnull
L_0195: ldftn Single <TryGenerateWeaponFor>m__2(ThingStuffPair)
L_019b: newobj Void .ctor(Object, IntPtr)
L_01a0: stsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01a5: Label #18
L_01a5: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01aa: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01ac: call Boolean TryRandomElementByWeight[ThingStuffPair](IEnumerable`1,
System.Func`2[RimWorld.ThingStuffPair,System.Single], ThingStuffPair ByRef)
L_01b1: brfalse Label #19
L_01b6: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01b8: ldfld Verse.ThingDef thing
L_01bd: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01bf: ldfld Verse.ThingDef stuff
L_01c4: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_01c9: castclass Verse.ThingWithComps
L_01ce: stloc.s 4 (Verse.ThingWithComps)
L_01d0: ldloc.s 4 (Verse.ThingWithComps)
L_01d2: ldarg.0
L_01d3: call Void PostProcessGeneratedGear(Verse.Thing, Verse.Pawn)
L_01d8: ldarg.0
L_01d9: ldfld Verse.Pawn_EquipmentTracker equipment
L_01de: ldloc.s 4 (Verse.ThingWithComps)
L_01e0: callvirt Void AddEquipment(Verse.ThingWithComps)
L_01e5: Label #19
L_01e5: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_01ea: callvirt Void Clear()
L_01ef: br Label #0
L_01f4: Label #0
L_01f4: ret
DONE

PATCHING RimWorld.Bill_Medical Void Notify_DoBillStarted(Verse.Pawn)


L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.ThingStackPartClass,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Int32
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void Notify_DoBillStarted(Verse.Pawn)
L_0007: ldarg.0
L_0008: ldnull
L_0009: stfld Verse.ThingDef consumedInitialMedicineDef
L_000e: ldarg.0
L_000f: call Verse.Pawn get_GiverPawn()
L_0014: callvirt Boolean get_Dead()
L_0019: brtrue Label #2
L_001e: ldarg.0
L_001f: ldfld Verse.RecipeDef recipe
L_0024: call Boolean RecipeHasNoIngredients(Verse.RecipeDef)
L_0029: brtrue Label #2
L_002e: ldarg.0
L_002f: ldfld Verse.RecipeDef recipe
L_0034: ldfld System.Boolean anesthetize
L_0039: brfalse Label #3
L_003e: ldarg.0
L_003f: call Verse.Pawn get_GiverPawn()
L_0044: call Boolean TryAnesthetize(Verse.Pawn)
L_0049: brfalse Label #4
L_004e: ldarg.1
L_004f: callvirt Verse.AI.Job get_CurJob()
L_0054: ldfld System.Collections.Generic.List`1[Verse.ThingStackPartClass]
placedThings
L_0059: stloc.0
L_005a: ldc.i4.0
L_005b: stloc.1
L_005c: br Label #5
L_0061: Label #10
L_0061: ldloc.0
L_0062: ldloc.1
L_0063: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0068: ldfld Verse.Thing thing
L_006d: isinst RimWorld.Medicine
L_0072: brfalse Label #6
L_0077: ldarg.0
L_0078: ldfld Verse.RecipeDef recipe
L_007d: callvirt Verse.RecipeWorker get_Worker()
L_0082: ldloc.0
L_0083: ldloc.1
L_0084: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0089: ldfld Verse.Thing thing
L_008e: ldc.i4.1
L_008f: callvirt Verse.Thing SplitOff(Int32)
L_0094: ldarg.0
L_0095: ldfld Verse.RecipeDef recipe
L_009a: ldarg.1
L_009b: callvirt Verse.Map get_MapHeld()
L_00a0: callvirt Void ConsumeIngredient(Verse.Thing, Verse.RecipeDef, Verse.Map)
L_00a5: ldloc.0
L_00a6: ldloc.1
L_00a7: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ac: dup
L_00ad: callvirt Int32 get_Count()
L_00b2: ldc.i4.1
L_00b3: sub
L_00b4: callvirt Void set_Count(Int32)
L_00b9: ldarg.0
L_00ba: ldloc.0
L_00bb: ldloc.1
L_00bc: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00c1: ldfld Verse.Thing thing
L_00c6: ldfld Verse.ThingDef def
L_00cb: stfld Verse.ThingDef consumedInitialMedicineDef
L_00d0: ldloc.0
L_00d1: ldloc.1
L_00d2: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00d7: ldfld Verse.Thing thing
L_00dc: callvirt Boolean get_Destroyed()
L_00e1: brtrue Label #7
L_00e6: ldloc.0
L_00e7: ldloc.1
L_00e8: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ed: callvirt Int32 get_Count()
L_00f2: ldc.i4.0
L_00f3: bgt Label #8
L_00f8: Label #7
L_00f8: ldloc.0
L_00f9: ldloc.1
L_00fa: callvirt Void RemoveAt(Int32)
L_00ff: Label #8
L_00ff: br Label #9
L_0104: Label #6
L_0104: ldloc.1
L_0105: ldc.i4.1
L_0106: add
L_0107: stloc.1
L_0108: Label #5
L_0108: ldloc.1
L_0109: ldloc.0
L_010a: callvirt Int32 get_Count()
L_010f: blt Label #10
L_0114: Label #2
L_0114: Label #3
L_0114: Label #4
L_0114: Label #9
L_0114: br Label #0
L_0119: Label #0
L_0119: ret
DONE

PATCHING RimWorld.Building_Bed IEnumerable`1 get_AssigningCandidates()


L_0000: ldarg.0
L_0001: callvirt IEnumerable`1 BedCandidates(RimWorld.Building_Bed)
L_0006: Label #0
L_0006: ret
DONE

PATCHING RimWorld.RestUtility RimWorld.Building_Bed FindBedFor(Verse.Pawn,


Verse.Pawn, Boolean, Boolean, Boolean)
L_0000: Local var #0 RimWorld.RestUtility+<FindBedFor>c__AnonStorey0
L_0000: Local var #1 RimWorld.Building_Bed
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 System.Boolean
L_0000: Local var #5 System.Boolean
L_0000: Local var #6 System.Boolean
L_0000: Local var #7 System.Int32
L_0000: Local var #8 Verse.ThingDef
L_0000: Local var #9 System.Int32
L_0000: Local var #10 RimWorld.RestUtility+<FindBedFor>c__AnonStorey1
L_0000: Local var #11 RimWorld.Building_Bed
L_0000: Local var #12 RimWorld.DirectPawnRelation
L_0000: Local var #13 RimWorld.Building_Bed
L_0000: Local var #14 System.Int32
L_0000: Local var #15 RimWorld.RestUtility+<FindBedFor>c__AnonStorey2
L_0000: Local var #16 System.Int32
L_0000: Local var #17 Verse.ThingDef
L_0000: Local var #18 RimWorld.Building_Bed
L_0000: Local var #19 RimWorld.Building_Bed
L_0000: ldnull
L_0001: stloc 19 (RimWorld.Building_Bed)
L_0003: newobj Void .ctor()
L_0008: stloc.0
L_0009: ldloc.0
L_000a: ldarg.0
L_000b: stfld Verse.Pawn sleeper
L_0010: ldloc.0
L_0011: ldarg.1
L_0012: stfld Verse.Pawn traveler
L_0017: ldloc.0
L_0018: ldarg.2
L_0019: stfld System.Boolean sleeperWillBePrisoner
L_001e: ldloc.0
L_001f: ldarg.3
L_0020: stfld System.Boolean checkSocialProperness
L_0025: ldloc.0
L_0026: ldarg.s 4
L_0028: stfld System.Boolean ignoreOtherReservations
L_002d: ldloc.0
L_002e: ldfld Verse.Pawn sleeper
L_0033: call Boolean ShouldSeekMedicalRest(Verse.Pawn)
L_0038: brfalse Label #2
L_003d: ldloc.0
L_003e: ldfld Verse.Pawn sleeper
L_0043: call Boolean InBed(Verse.Pawn)
L_0048: brfalse Label #3
L_004d: ldloc.0
L_004e: ldfld Verse.Pawn sleeper
L_0053: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0058: callvirt Boolean get_Medical()
L_005d: brfalse Label #4
L_0062: ldloc.0
L_0063: ldfld Verse.Pawn sleeper
L_0068: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_006d: stloc.1
L_006e: ldloc.0
L_006f: ldfld Verse.Pawn sleeper
L_0074: stloc.2
L_0075: ldloc.0
L_0076: ldfld Verse.Pawn traveler
L_007b: stloc.3
L_007c: ldloc.0
L_007d: ldfld System.Boolean sleeperWillBePrisoner
L_0082: stloc.s 4 (System.Boolean)
L_0084: ldloc.0
L_0085: ldfld System.Boolean checkSocialProperness
L_008a: stloc.s 5 (System.Boolean)
L_008c: ldloc.0
L_008d: ldfld System.Boolean ignoreOtherReservations
L_0092: stloc.s 6 (System.Boolean)
L_0094: ldloc.1
L_0095: ldloc.2
L_0096: ldloc.3
L_0097: ldloc.s 4 (System.Boolean)
L_0099: ldloc.s 5 (System.Boolean)
L_009b: ldc.i4.0
L_009c: ldloc.s 6 (System.Boolean)
L_009e: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_00a3: brfalse Label #5
L_00a8: ldloc.0
L_00a9: ldfld Verse.Pawn sleeper
L_00ae: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00b3: br Label #0
L_00b8: Label #3
L_00b8: Label #4
L_00b8: Label #5
L_00b8: ldc.i4.0
L_00b9: stloc.s 7 (System.Int32)
L_00bb: br Label #6
L_00c0: Label #14
L_00c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_00c5: ldloc.s 7 (System.Int32)
L_00c7: callvirt Verse.ThingDef get_Item(Int32)
L_00cc: stloc.s 8 (Verse.ThingDef)
L_00ce: ldloc.0
L_00cf: ldfld Verse.Pawn sleeper
L_00d4: ldloc.s 8 (Verse.ThingDef)
L_00d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_00db: brtrue Label #7
L_00e0: br Label #8
L_00e5: Label #7
L_00e5: ldc.i4.0
L_00e6: stloc.s 9 (System.Int32)
L_00e8: br Label #9
L_00ed: Label #13
L_00ed: newobj Void .ctor()
L_00f2: stloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f4: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f6: ldloc.0
L_00f7: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_00fc: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00fe: ldloc.s 9 (System.Int32)
L_0100: brtrue Label #10
L_0105: ldc.i4.1
L_0106: br Label #11
L_010b: Label #10
L_010b: ldc.i4.3
L_010c: Label #11
L_010c: stfld Verse.Danger maxDanger
L_0111: ldloc.0
L_0112: ldfld Verse.Pawn sleeper
L_0117: callvirt IntVec3 get_Position()
L_011c: ldloc.0
L_011d: ldfld Verse.Pawn sleeper
L_0122: callvirt Verse.Map get_Map()
L_0127: ldloc.s 8 (Verse.ThingDef)
L_0129: call ThingRequest ForDef(Verse.ThingDef)
L_012e: ldc.i4.1
L_012f: ldloc.0
L_0130: ldfld Verse.Pawn traveler
L_0135: ldc.i4.3
L_0136: ldc.i4.0
L_0137: ldc.i4.0
L_0138: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_013d: ldc.r4 9999
L_0142: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_0144: ldftn Boolean <>m__0(Verse.Thing)
L_014a: newobj Void .ctor(Object, IntPtr)
L_014f: ldnull
L_0150: ldc.i4.0
L_0151: ldc.i4.m1
L_0152: ldc.i4.0
L_0153: ldc.i4.6
L_0154: ldc.i4.0
L_0155: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_015a: castclass RimWorld.Building_Bed
L_015f: stloc.s 11 (RimWorld.Building_Bed)
L_0161: ldloc.s 11 (RimWorld.Building_Bed)
L_0163: brfalse Label #12
L_0168: ldloc.s 11 (RimWorld.Building_Bed)
L_016a: br Label #0
L_016f: Label #12
L_016f: ldloc.s 9 (System.Int32)
L_0171: ldc.i4.1
L_0172: add
L_0173: stloc.s 9 (System.Int32)
L_0175: Label #9
L_0175: ldloc.s 9 (System.Int32)
L_0177: ldc.i4.2
L_0178: blt Label #13
L_017d: Label #8
L_017d: ldloc.s 7 (System.Int32)
L_017f: ldc.i4.1
L_0180: add
L_0181: stloc.s 7 (System.Int32)
L_0183: Label #6
L_0183: ldloc.s 7 (System.Int32)
L_0185: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_018a: callvirt Int32 get_Count()
L_018f: blt Label #14
L_0194: Label #2
L_0194: ldloc.0
L_0195: ldfld Verse.Pawn sleeper
L_019a: ldfld RimWorld.Pawn_Ownership ownership
L_019f: brfalse Label #15
L_01a4: ldloc.0
L_01a5: ldfld Verse.Pawn sleeper
L_01aa: ldfld RimWorld.Pawn_Ownership ownership
L_01af: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01b4: brfalse Label #16
L_01b9: ldloc.0
L_01ba: ldfld Verse.Pawn sleeper
L_01bf: ldfld RimWorld.Pawn_Ownership ownership
L_01c4: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01c9: stloc.1
L_01ca: ldloc.0
L_01cb: ldfld Verse.Pawn sleeper
L_01d0: stloc.3
L_01d1: ldloc.0
L_01d2: ldfld Verse.Pawn traveler
L_01d7: stloc.2
L_01d8: ldloc.0
L_01d9: ldfld System.Boolean sleeperWillBePrisoner
L_01de: stloc.s 6 (System.Boolean)
L_01e0: ldloc.0
L_01e1: ldfld System.Boolean checkSocialProperness
L_01e6: stloc.s 5 (System.Boolean)
L_01e8: ldloc.0
L_01e9: ldfld System.Boolean ignoreOtherReservations
L_01ee: stloc.s 4 (System.Boolean)
L_01f0: ldloc.1
L_01f1: ldloc.3
L_01f2: ldloc.2
L_01f3: ldloc.s 6 (System.Boolean)
L_01f5: ldloc.s 5 (System.Boolean)
L_01f7: ldc.i4.0
L_01f8: ldloc.s 4 (System.Boolean)
L_01fa: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_01ff: brfalse Label #17
L_0204: ldloc.0
L_0205: ldfld Verse.Pawn sleeper
L_020a: ldfld RimWorld.Pawn_Ownership ownership
L_020f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0214: br Label #0
L_0219: Label #15
L_0219: Label #16
L_0219: Label #17
L_0219: ldloc.0
L_021a: ldfld Verse.Pawn sleeper
L_021f: ldc.i4.0
L_0220: call RimWorld.DirectPawnRelation
ExistingMostLikedLovePartnerRel(Verse.Pawn, Boolean)
L_0225: stloc.s 12 (RimWorld.DirectPawnRelation)
L_0227: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0229: brfalse Label #18
L_022e: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0230: ldfld Verse.Pawn otherPawn
L_0235: ldfld RimWorld.Pawn_Ownership ownership
L_023a: callvirt RimWorld.Building_Bed get_OwnedBed()
L_023f: stloc.s 13 (RimWorld.Building_Bed)
L_0241: ldloc.s 13 (RimWorld.Building_Bed)
L_0243: brfalse Label #19
L_0248: ldloc.s 13 (RimWorld.Building_Bed)
L_024a: stloc.1
L_024b: ldloc.0
L_024c: ldfld Verse.Pawn sleeper
L_0251: stloc.2
L_0252: ldloc.0
L_0253: ldfld Verse.Pawn traveler
L_0258: stloc.3
L_0259: ldloc.0
L_025a: ldfld System.Boolean sleeperWillBePrisoner
L_025f: stloc.s 4 (System.Boolean)
L_0261: ldloc.0
L_0262: ldfld System.Boolean checkSocialProperness
L_0267: stloc.s 5 (System.Boolean)
L_0269: ldloc.0
L_026a: ldfld System.Boolean ignoreOtherReservations
L_026f: stloc.s 6 (System.Boolean)
L_0271: ldloc.1
L_0272: ldloc.2
L_0273: ldloc.3
L_0274: ldloc.s 4 (System.Boolean)
L_0276: ldloc.s 5 (System.Boolean)
L_0278: ldc.i4.0
L_0279: ldloc.s 6 (System.Boolean)
L_027b: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_0280: brfalse Label #20
L_0285: ldloc.s 13 (RimWorld.Building_Bed)
L_0287: br Label #0
L_028c: Label #18
L_028c: Label #19
L_028c: Label #20
L_028c: ldc.i4.0
L_028d: stloc.s 14 (System.Int32)
L_028f: br Label #21
L_0294: Label #29
L_0294: newobj Void .ctor()
L_0299: stloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029b: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029d: ldloc.0
L_029e: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_02a3: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_02a5: ldloc.s 14 (System.Int32)
L_02a7: brtrue Label #22
L_02ac: ldc.i4.1
L_02ad: br Label #23
L_02b2: Label #22
L_02b2: ldc.i4.3
L_02b3: Label #23
L_02b3: stfld Verse.Danger maxDanger
L_02b8: ldc.i4.0
L_02b9: stloc.s 16 (System.Int32)
L_02bb: br Label #24
L_02c0: Label #28
L_02c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_02c5: ldloc.s 16 (System.Int32)
L_02c7: callvirt Verse.ThingDef get_Item(Int32)
L_02cc: stloc.s 17 (Verse.ThingDef)
L_02ce: ldloc.0
L_02cf: ldfld Verse.Pawn sleeper
L_02d4: ldloc.s 17 (Verse.ThingDef)
L_02d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_02db: brtrue Label #25
L_02e0: br Label #26
L_02e5: Label #25
L_02e5: ldloc.0
L_02e6: ldfld Verse.Pawn sleeper
L_02eb: callvirt IntVec3 get_Position()
L_02f0: ldloc.0
L_02f1: ldfld Verse.Pawn sleeper
L_02f6: callvirt Verse.Map get_Map()
L_02fb: ldloc.s 17 (Verse.ThingDef)
L_02fd: call ThingRequest ForDef(Verse.ThingDef)
L_0302: ldc.i4.1
L_0303: ldloc.0
L_0304: ldfld Verse.Pawn traveler
L_0309: ldc.i4.3
L_030a: ldc.i4.0
L_030b: ldc.i4.0
L_030c: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_0311: ldc.r4 9999
L_0316: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_0318: ldftn Boolean <>m__0(Verse.Thing)
L_031e: newobj Void .ctor(Object, IntPtr)
L_0323: ldnull
L_0324: ldc.i4.0
L_0325: ldc.i4.m1
L_0326: ldc.i4.0
L_0327: ldc.i4.6
L_0328: ldc.i4.0
L_0329: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_032e: castclass RimWorld.Building_Bed
L_0333: stloc.s 18 (RimWorld.Building_Bed)
L_0335: ldloc.s 18 (RimWorld.Building_Bed)
L_0337: brfalse Label #27
L_033c: ldloc.s 18 (RimWorld.Building_Bed)
L_033e: br Label #0
L_0343: Label #26
L_0343: Label #27
L_0343: ldloc.s 16 (System.Int32)
L_0345: ldc.i4.1
L_0346: add
L_0347: stloc.s 16 (System.Int32)
L_0349: Label #24
L_0349: ldloc.s 16 (System.Int32)
L_034b: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_0350: callvirt Int32 get_Count()
L_0355: blt Label #28
L_035a: ldloc.s 14 (System.Int32)
L_035c: ldc.i4.1
L_035d: add
L_035e: stloc.s 14 (System.Int32)
L_0360: Label #21
L_0360: ldloc.s 14 (System.Int32)
L_0362: ldc.i4.2
L_0363: blt Label #29
L_0368: ldnull
L_0369: br Label #0
L_036e: Label #0
L_036e: stloc 19 (RimWorld.Building_Bed)
L_0370: ldarga 0
L_0376: ldloca 19 (RimWorld.Building_Bed)
L_0378: ldarga 1
L_037e: ldarga 4
L_0384: ldarga 2
L_038a: ldarga 3
L_0390: call Void FindBedFor_Patch(Verse.Pawn ByRef, RimWorld.Building_Bed ByRef,
Verse.Pawn ByRef, Boolean ByRef, Boolean ByRef, Boolean ByRef)
L_0395: ldloc 19 (RimWorld.Building_Bed)
L_0397: ret
DONE

PATCHING RimWorld.JobGiver_DoLovin Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 1 (Verse.AI.Job)
L_0002: call Verse.TickManager get_TickManager()
L_0007: callvirt Int32 get_TicksGame()
L_000c: ldarg.1
L_000d: ldfld Verse.AI.Pawn_MindState mindState
L_0012: ldfld System.Int32 canLovinTick
L_0017: bge Label #2
L_001c: ldnull
L_001d: br Label #0
L_0022: Label #2
L_0022: ldarg.1
L_0023: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0028: brfalse Label #3
L_002d: ldarg.1
L_002e: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0033: callvirt Boolean get_Medical()
L_0038: brtrue Label #4
L_003d: ldarg.1
L_003e: ldfld Verse.Pawn_HealthTracker health
L_0043: ldfld Verse.PawnCapacitiesHandler capacities
L_0048: callvirt Boolean get_CanBeAwake()
L_004d: brtrue Label #5
L_0052: Label #3
L_0052: Label #4
L_0052: ldnull
L_0053: br Label #0
L_0058: Label #5
L_0058: ldarg.1
L_0059: call Verse.Pawn GetPartnerInMyBed(Verse.Pawn)
L_005e: stloc.0
L_005f: ldloc.0
L_0060: brfalse Label #6
L_0065: ldloc.0
L_0066: ldfld Verse.Pawn_HealthTracker health
L_006b: ldfld Verse.PawnCapacitiesHandler capacities
L_0070: callvirt Boolean get_CanBeAwake()
L_0075: brfalse Label #7
L_007a: call Verse.TickManager get_TickManager()
L_007f: callvirt Int32 get_TicksGame()
L_0084: ldloc.0
L_0085: ldfld Verse.AI.Pawn_MindState mindState
L_008a: ldfld System.Int32 canLovinTick
L_008f: bge Label #8
L_0094: Label #6
L_0094: Label #7
L_0094: ldnull
L_0095: br Label #0
L_009a: Label #8
L_009a: ldarg.1
L_009b: ldloc.0
L_009c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00a1: ldc.i4.1
L_00a2: ldc.i4.m1
L_00a3: ldnull
L_00a4: ldc.i4.0
L_00a5: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00aa: brfalse Label #9
L_00af: ldloc.0
L_00b0: ldarg.1
L_00b1: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00b6: ldc.i4.1
L_00b7: ldc.i4.m1
L_00b8: ldnull
L_00b9: ldc.i4.0
L_00ba: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00bf: brtrue Label #10
L_00c4: Label #9
L_00c4: ldnull
L_00c5: br Label #0
L_00ca: Label #10
L_00ca: ldsfld Verse.JobDef Lovin
L_00cf: ldloc.0
L_00d0: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00d5: ldarg.1
L_00d6: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00db: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00e0: newobj Void .ctor(JobDef, LocalTargetInfo, LocalTargetInfo)
L_00e5: br Label #0
L_00ea: Label #0
L_00ea: stloc 1 (Verse.AI.Job)
L_00eb: ldloca 1 (Verse.AI.Job)
L_00ed: ldarga 1
L_00f3: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_00f8: ldloc 1 (Verse.AI.Job)
L_00f9: ret
DONE

PATCHING RimWorld.JobDriver_Lovin+<MakeNewToils>c__Iterator0 Void <>m__4()


L_0000: Local var #0 RimWorld.Thought_Memory
L_0000: ldsfld RimWorld.ThoughtDef GotSomeLovin
L_0005: call RimWorld.Thought MakeThought(RimWorld.ThoughtDef)
L_000a: castclass RimWorld.Thought_Memory
L_000f: stloc.0
L_0010: ldarg.0
L_0011: ldfld RimWorld.JobDriver_Lovin $this
L_0016: ldfld Verse.Pawn pawn
L_001b: ldfld RimWorld.Pawn_NeedsTracker needs
L_0020: ldfld RimWorld.Need_Mood mood
L_0025: ldfld RimWorld.ThoughtHandler thoughts
L_002a: ldfld RimWorld.MemoryThoughtHandler memories
L_002f: ldloc.0
L_0030: ldarg.0
L_0031: ldfld RimWorld.JobDriver_Lovin $this
L_0036: call Verse.Pawn get_Partner()
L_003b: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_0040: ldarg.0
L_0041: ldfld RimWorld.JobDriver_Lovin $this
L_0046: ldfld Verse.Pawn pawn
L_004b: ldfld Verse.AI.Pawn_MindState mindState
L_0050: call Verse.TickManager get_TickManager()
L_0055: callvirt Int32 get_TicksGame()
L_005a: ldarg.0
L_005b: ldfld RimWorld.JobDriver_Lovin $this
L_0060: ldarg.0
L_0061: ldfld RimWorld.JobDriver_Lovin $this
L_0066: ldfld Verse.Pawn pawn
L_006b: call Int32 GenerateRandomMinTicksToNextLovin(Verse.Pawn)
L_0070: add
L_0071: stfld System.Int32 canLovinTick
L_0076: ldarg.0
L_0077: ldfld RimWorld.JobDriver_Lovin $this
L_007c: ldfld Verse.Pawn pawn
L_0081: ldarg.0
L_0082: ldfld RimWorld.JobDriver_Lovin $this
L_0087: call Verse.Pawn get_Partner()
L_008c: call Void TryToImpregnate(Verse.Pawn, Verse.Pawn)
L_0091: br Label #0
L_0096: Label #0
L_0096: ret
DONE
PATCHING RimWorld.JobDriver_Wear+<MakeNewToils>c__Iterator0 Boolean MoveNext()
L_0000: Local var #0 System.UInt32
L_0000: ldarg.0
L_0001: ldfld System.Int32 $PC
L_0006: stloc.0
L_0007: ldarg.0
L_0008: ldc.i4.m1
L_0009: stfld System.Int32 $PC
L_000e: ldloc.0
L_000f: switch Labels #2 #3 #4 #5
L_0024: br Label #6
L_0029: Label #2
L_0029: ldarg.0
L_002a: ldfld RimWorld.JobDriver_Wear $this
L_002f: call RimWorld.JobDriver_Wear FailOnBaby[JobDriver_Wear]
(RimWorld.JobDriver_Wear)
L_0034: pop
L_0035: ldarg.0
L_0036: newobj Void .ctor()
L_003b: stfld Verse.AI.Toil <gotoApparel>__1
L_0040: ldarg.0
L_0041: ldfld Verse.AI.Toil <gotoApparel>__1
L_0046: ldarg.0
L_0047: ldftn Void <>m__0()
L_004d: newobj Void .ctor(Object, IntPtr)
L_0052: stfld System.Action initAction
L_0057: ldarg.0
L_0058: ldfld Verse.AI.Toil <gotoApparel>__1
L_005d: ldc.i4.2
L_005e: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0063: ldarg.0
L_0064: ldfld Verse.AI.Toil <gotoApparel>__1
L_0069: ldc.i4.1
L_006a: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_006f: pop
L_0070: ldarg.0
L_0071: ldarg.0
L_0072: ldfld Verse.AI.Toil <gotoApparel>__1
L_0077: stfld Verse.AI.Toil $current
L_007c: ldarg.0
L_007d: ldfld System.Boolean $disposing
L_0082: brtrue Label #7
L_0087: ldarg.0
L_0088: ldc.i4.1
L_0089: stfld System.Int32 $PC
L_008e: Label #7
L_008e: br Label #8
L_0093: Label #3
L_0093: ldarg.0
L_0094: newobj Void .ctor()
L_0099: stfld Verse.AI.Toil <prepare>__2
L_009e: ldarg.0
L_009f: ldfld Verse.AI.Toil <prepare>__2
L_00a4: ldc.i4.3
L_00a5: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_00aa: ldarg.0
L_00ab: ldfld Verse.AI.Toil <prepare>__2
L_00b0: ldc.i4.s 60
L_00b2: stfld System.Int32 defaultDuration
L_00b7: ldarg.0
L_00b8: ldfld Verse.AI.Toil <prepare>__2
L_00bd: ldc.i4.1
L_00be: ldc.i4.0
L_00bf: ldc.r4 -0.5
L_00c4: call Verse.AI.Toil WithProgressBarToilDelay(Verse.AI.Toil, TargetIndex,
Boolean, Single)
L_00c9: pop
L_00ca: ldarg.0
L_00cb: ldfld Verse.AI.Toil <prepare>__2
L_00d0: ldc.i4.1
L_00d1: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_00d6: pop
L_00d7: ldarg.0
L_00d8: ldarg.0
L_00d9: ldfld Verse.AI.Toil <prepare>__2
L_00de: stfld Verse.AI.Toil $current
L_00e3: ldarg.0
L_00e4: ldfld System.Boolean $disposing
L_00e9: brtrue Label #9
L_00ee: ldarg.0
L_00ef: ldc.i4.2
L_00f0: stfld System.Int32 $PC
L_00f5: Label #9
L_00f5: br Label #10
L_00fa: Label #4
L_00fa: ldarg.0
L_00fb: newobj Void .ctor()
L_0100: stfld Verse.AI.Toil <wear>__3
L_0105: ldarg.0
L_0106: ldfld Verse.AI.Toil <wear>__3
L_010b: ldarg.0
L_010c: ldftn Void <>m__1()
L_0112: newobj Void .ctor(Object, IntPtr)
L_0117: stfld System.Action initAction
L_011c: ldarg.0
L_011d: ldfld Verse.AI.Toil <wear>__3
L_0122: ldc.i4.1
L_0123: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0128: ldarg.0
L_0129: ldarg.0
L_012a: ldfld Verse.AI.Toil <wear>__3
L_012f: stfld Verse.AI.Toil $current
L_0134: ldarg.0
L_0135: ldfld System.Boolean $disposing
L_013a: brtrue Label #11
L_013f: ldarg.0
L_0140: ldc.i4.3
L_0141: stfld System.Int32 $PC
L_0146: Label #11
L_0146: br Label #12
L_014b: Label #5
L_014b: ldarg.0
L_014c: ldc.i4.m1
L_014d: stfld System.Int32 $PC
L_0152: Label #6
L_0152: ldc.i4.0
L_0153: br Label #0
L_0158: Label #8
L_0158: Label #10
L_0158: Label #12
L_0158: ldc.i4.1
L_0159: br Label #0
L_015e: Label #0
L_015e: ret
DONE

PATCHING RimWorld.ThoughtUtility Boolean CanGetThought(Verse.Pawn,


RimWorld.ThoughtDef)
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 4 (System.Boolean)
L_0007: ldarg.1
L_0008: ldfld System.Boolean validWhileDespawned
L_000d: brtrue Label #2
L_0012: ldarg.0
L_0013: callvirt Boolean get_Spawned()
L_0018: brtrue Label #3
L_001d: ldarg.1
L_001e: callvirt Boolean get_IsMemory()
L_0023: brtrue Label #4
L_0028: ldc.i4.0
L_0029: stloc.0
L_002a: leave Label #5
L_002f: Label #2
L_002f: Label #3
L_002f: Label #4
L_002f: ldarg.1
L_0030: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0035: brfalse Label #6
L_003a: ldc.i4.0
L_003b: stloc.1
L_003c: br Label #7
L_0041: Label #10
L_0041: ldarg.0
L_0042: ldfld RimWorld.Pawn_StoryTracker story
L_0047: ldfld RimWorld.TraitSet traits
L_004c: ldarg.1
L_004d: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0052: ldloc.1
L_0053: callvirt RimWorld.TraitDef get_Item(Int32)
L_0058: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_005d: brfalse Label #8
L_0062: ldc.i4.0
L_0063: stloc.0
L_0064: leave Label #9
L_0069: Label #8
L_0069: ldloc.1
L_006a: ldc.i4.1
L_006b: add
L_006c: stloc.1
L_006d: Label #7
L_006d: ldloc.1
L_006e: ldarg.1
L_006f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0074: callvirt Int32 get_Count()
L_0079: blt Label #10
L_007e: Label #6
L_007e: ldarg.1
L_007f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0084: call Boolean NullOrEmpty[TraitDef](IList`1)
L_0089: brtrue Label #11
L_008e: ldc.i4.0
L_008f: stloc.2
L_0090: ldc.i4.0
L_0091: stloc.3
L_0092: br Label #12
L_0097: Label #19
L_0097: ldarg.0
L_0098: ldfld RimWorld.Pawn_StoryTracker story
L_009d: ldfld RimWorld.TraitSet traits
L_00a2: ldarg.1
L_00a3: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00a8: ldloc.3
L_00a9: callvirt RimWorld.TraitDef get_Item(Int32)
L_00ae: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00b3: brtrue Label #13
L_00b8: leave Label #14
L_00bd: Label #13
L_00bd: ldarg.1
L_00be: callvirt Boolean get_RequiresSpecificTraitsDegree()
L_00c3: brfalse Label #15
L_00c8: ldarg.1
L_00c9: ldfld System.Int32 requiredTraitsDegree
L_00ce: ldarg.0
L_00cf: ldfld RimWorld.Pawn_StoryTracker story
L_00d4: ldfld RimWorld.TraitSet traits
L_00d9: ldarg.1
L_00da: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00df: ldloc.3
L_00e0: callvirt RimWorld.TraitDef get_Item(Int32)
L_00e5: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_00ea: beq Label #16
L_00ef: leave Label #17
L_00f4: Label #15
L_00f4: Label #16
L_00f4: ldc.i4.1
L_00f5: stloc.2
L_00f6: leave Label #18
L_00fb: Label #14
L_00fb: Label #17
L_00fb: ldloc.3
L_00fc: ldc.i4.1
L_00fd: add
L_00fe: stloc.3
L_00ff: Label #12
L_00ff: ldloc.3
L_0100: ldarg.1
L_0101: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0106: callvirt Int32 get_Count()
L_010b: blt Label #19
L_0110: Label #18
L_0110: ldloc.2
L_0111: brtrue Label #20
L_0116: ldc.i4.0
L_0117: stloc.0
L_0118: leave Label #21
L_011d: Label #11
L_011d: Label #20
L_011d: ldarg.1
L_011e: ldfld System.Boolean nullifiedIfNotColonist
L_0123: brfalse Label #22
L_0128: ldarg.0
L_0129: callvirt Boolean get_IsColonist()
L_012e: brtrue Label #23
L_0133: ldc.i4.0
L_0134: stloc.0
L_0135: leave Label #24
L_013a: Label #22
L_013a: Label #23
L_013a: ldarg.1
L_013b: ldarg.0
L_013c: call Boolean IsSituationalThoughtNullifiedByHediffs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0141: brfalse Label #25
L_0146: ldc.i4.0
L_0147: stloc.0
L_0148: leave Label #26
L_014d: Label #25
L_014d: ldarg.1
L_014e: ldarg.0
L_014f: call Boolean IsThoughtNullifiedByOwnTales(RimWorld.ThoughtDef, Verse.Pawn)
L_0154: brfalse Label #27
L_0159: ldc.i4.0
L_015a: stloc.0
L_015b: leave Label #28
L_0160: Label #27
L_0160: leave Label #29
L_0165: endfinally
L_0166: Label #29
L_0166: ldc.i4.1
L_0167: br Label #0
L_016c: Label #5
L_016c: Label #9
L_016c: Label #21
L_016c: Label #24
L_016c: Label #26
L_016c: Label #28
L_016c: ldloc.0
L_016d: br Label #0
L_0172: Label #0
L_0172: stloc 4 (System.Boolean)
L_0174: ldarga 0
L_017a: ldarga 1
L_0180: ldloca 4 (System.Boolean)
L_0182: call Void CanGetThought_Patch(Verse.Pawn ByRef, RimWorld.ThoughtDef ByRef,
Boolean ByRef)
L_0187: ldloc 4 (System.Boolean)
L_0189: ret
DONE

PATCHING RimWorld.JobGiver_SocialFighting Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Verb
L_0000: Local var #2 Verse.AI.Job
L_0000: Local var #3 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 3 (Verse.AI.Job)
L_0002: ldarg.1
L_0003: callvirt Verse.RaceProperties get_RaceProps()
L_0008: callvirt Boolean get_Humanlike()
L_000d: brfalse Label #2
L_0012: ldarg.1
L_0013: ldfld RimWorld.Pawn_StoryTracker story
L_0018: ldc.i4.8
L_0019: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_001e: brfalse Label #3
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: Label #3
L_0029: ldarg.1
L_002a: callvirt Verse.AI.MentalState get_MentalState()
L_002f: castclass Verse.AI.MentalState_SocialFighting
L_0034: ldfld Verse.Pawn otherPawn
L_0039: stloc.0
L_003a: ldarg.1
L_003b: ldloca.s 1 (Verse.Verb)
L_003d: call Boolean TryGetRandomVerbForSocialFight(Verse.Pawn, Verse.Verb ByRef)
L_0042: brtrue Label #4
L_0047: ldnull
L_0048: br Label #0
L_004d: Label #4
L_004d: ldsfld Verse.JobDef SocialFight
L_0052: ldloc.0
L_0053: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0058: newobj Void .ctor(JobDef, LocalTargetInfo)
L_005d: stloc.2
L_005e: ldloc.2
L_005f: ldc.i4.1
L_0060: stfld System.Int32 maxNumMeleeAttacks
L_0065: ldloc.2
L_0066: ldloc.1
L_0067: stfld Verse.Verb verbToUse
L_006c: ldloc.2
L_006d: br Label #0
L_0072: Label #0
L_0072: stloc 3 (Verse.AI.Job)
L_0073: ldarga 1
L_0079: ldloca 3 (Verse.AI.Job)
L_007b: call Void TryGiveJob_Postfix(Verse.Pawn ByRef, Verse.AI.Job ByRef)
L_0080: ldloc 3 (Verse.AI.Job)
L_0081: ret
DONE

PATCHING RimWorld.Pawn_ApparelTracker Void ApparelChanged()


L_0000: ldarg.0
L_0001: ldftn Void <ApparelChanged>m__1()
L_0007: newobj Void .ctor(Object, IntPtr)
L_000c: call Void ExecuteWhenFinished(System.Action)
L_0011: br Label #0
L_0016: Label #0
L_0016: ldarga 0
L_001c: call Void ApparelChanged_Postfix(RimWorld.Pawn_ApparelTracker ByRef)
L_0021: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveAllGraphics()


L_0000: Local var #0 Verse.PawnKindLifeStage
L_0000: ldarg.0
L_0001: call Void ClearCache()
L_0006: ldarg.0
L_0007: ldfld Verse.Pawn pawn
L_000c: callvirt Verse.RaceProperties get_RaceProps()
L_0011: callvirt Boolean get_Humanlike()
L_0016: brfalse Label #2
L_001b: ldarg.0
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_StoryTracker story
L_0027: ldfld RimWorld.BodyType bodyType
L_002c: ldsfld UnityEngine.Shader CutoutSkin
L_0031: ldarg.0
L_0032: ldfld Verse.Pawn pawn
L_0037: ldfld RimWorld.Pawn_StoryTracker story
L_003c: callvirt Color get_SkinColor()
L_0041: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_0046: stfld Verse.Graphic nakedGraphic
L_004b: ldarg.0
L_004c: ldarg.0
L_004d: ldfld Verse.Pawn pawn
L_0052: ldfld RimWorld.Pawn_StoryTracker story
L_0057: ldfld RimWorld.BodyType bodyType
L_005c: ldsfld UnityEngine.Shader CutoutSkin
L_0061: ldsfld UnityEngine.Color RottingColor
L_0066: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_006b: stfld Verse.Graphic rottingGraphic
L_0070: ldarg.0
L_0071: ldstr "Things/Pawn/Humanlike/HumanoidDessicated"
L_0076: ldsfld UnityEngine.Shader Cutout
L_007b: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader)
L_0080: stfld Verse.Graphic dessicatedGraphic
L_0085: ldarg.0
L_0086: ldarg.0
L_0087: ldfld Verse.Pawn pawn
L_008c: ldfld RimWorld.Pawn_StoryTracker story
L_0091: callvirt System.String get_HeadGraphicPath()
L_0096: ldarg.0
L_0097: ldfld Verse.Pawn pawn
L_009c: ldfld RimWorld.Pawn_StoryTracker story
L_00a1: callvirt Color get_SkinColor()
L_00a6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00ab: stfld Verse.Graphic headGraphic
L_00b0: ldarg.0
L_00b1: ldarg.0
L_00b2: ldfld Verse.Pawn pawn
L_00b7: ldfld RimWorld.Pawn_StoryTracker story
L_00bc: callvirt System.String get_HeadGraphicPath()
L_00c1: ldsfld UnityEngine.Color RottingColor
L_00c6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00cb: stfld Verse.Graphic desiccatedHeadGraphic
L_00d0: ldarg.0
L_00d1: call Verse.Graphic_Multi GetSkull()
L_00d6: stfld Verse.Graphic skullGraphic
L_00db: ldarg.0
L_00dc: ldarg.0
L_00dd: ldfld Verse.Pawn pawn
L_00e2: ldfld RimWorld.Pawn_StoryTracker story
L_00e7: callvirt Color get_SkinColor()
L_00ec: call Verse.Graphic_Multi GetStump(Color)
L_00f1: stfld Verse.Graphic headStumpGraphic
L_00f6: ldarg.0
L_00f7: ldsfld UnityEngine.Color RottingColor
L_00fc: call Verse.Graphic_Multi GetStump(Color)
L_0101: stfld Verse.Graphic desiccatedHeadStumpGraphic
L_0106: ldarg.0
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld RimWorld.Pawn_StoryTracker story
L_0112: ldfld RimWorld.HairDef hairDef
L_0117: ldfld System.String texPath
L_011c: ldsfld UnityEngine.Shader Cutout
L_0121: call Vector2 get_one()
L_0126: ldarg.0
L_0127: ldfld Verse.Pawn pawn
L_012c: ldfld RimWorld.Pawn_StoryTracker story
L_0131: ldfld UnityEngine.Color hairColor
L_0136: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_013b: stfld Verse.Graphic hairGraphic
L_0140: ldarg.0
L_0141: call Void ResolveApparelGraphics()
L_0146: br Label #3
L_014b: Label #2
L_014b: ldarg.0
L_014c: ldfld Verse.Pawn pawn
L_0151: ldfld Verse.Pawn_AgeTracker ageTracker
L_0156: callvirt Verse.PawnKindLifeStage get_CurKindLifeStage()
L_015b: stloc.0
L_015c: ldarg.0
L_015d: ldfld Verse.Pawn pawn
L_0162: ldfld Verse.Gender gender
L_0167: ldc.i4.2
L_0168: bne.un Label #4
L_016d: ldloc.0
L_016e: ldfld Verse.GraphicData femaleGraphicData
L_0173: brtrue Label #5
L_0178: Label #4
L_0178: ldarg.0
L_0179: ldloc.0
L_017a: ldfld Verse.GraphicData bodyGraphicData
L_017f: callvirt Verse.Graphic get_Graphic()
L_0184: stfld Verse.Graphic nakedGraphic
L_0189: br Label #6
L_018e: Label #5
L_018e: ldarg.0
L_018f: ldloc.0
L_0190: ldfld Verse.GraphicData femaleGraphicData
L_0195: callvirt Verse.Graphic get_Graphic()
L_019a: stfld Verse.Graphic nakedGraphic
L_019f: Label #6
L_019f: ldarg.0
L_01a0: ldarg.0
L_01a1: ldfld Verse.Graphic nakedGraphic
L_01a6: ldsfld UnityEngine.Shader CutoutSkin
L_01ab: ldsfld UnityEngine.Color RottingColor
L_01b0: ldsfld UnityEngine.Color RottingColor
L_01b5: callvirt Verse.Graphic GetColoredVersion(UnityEngine.Shader, Color, Color)
L_01ba: stfld Verse.Graphic rottingGraphic
L_01bf: ldarg.0
L_01c0: ldfld Verse.Pawn pawn
L_01c5: callvirt Verse.RaceProperties get_RaceProps()
L_01ca: ldfld System.Boolean packAnimal
L_01cf: brfalse Label #7
L_01d4: ldarg.0
L_01d5: ldarg.0
L_01d6: ldfld Verse.Graphic nakedGraphic
L_01db: ldfld System.String path
L_01e0: ldstr "Pack"
L_01e5: call System.String Concat(System.String, System.String)
L_01ea: ldsfld UnityEngine.Shader Cutout
L_01ef: ldarg.0
L_01f0: ldfld Verse.Graphic nakedGraphic
L_01f5: ldfld UnityEngine.Vector2 drawSize
L_01fa: call Color get_white()
L_01ff: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_0204: stfld Verse.Graphic packGraphic
L_0209: Label #7
L_0209: ldloc.0
L_020a: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_020f: brfalse Label #8
L_0214: ldarg.0
L_0215: ldloc.0
L_0216: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_021b: ldarg.0
L_021c: ldfld Verse.Pawn pawn
L_0221: callvirt Verse.Graphic GraphicColoredFor(Verse.Thing)
L_0226: stfld Verse.Graphic dessicatedGraphic
L_022b: Label #3
L_022b: Label #8
L_022b: br Label #0
L_0230: Label #0
L_0230: ldarga 0
L_0236: call Void ResolveAllGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_023b: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveApparelGraphics()


L_0000: Local var #0 RimWorld.Apparel
L_0000: Local var #1 System.Collections.Generic.IEnumerator`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 RimWorld.ApparelGraphicRecord
L_0000: ldarga 0
L_0006: call Void ResolveApparelGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_000b: ldarg.0
L_000c: call Void ClearCache()
L_0011: ldarg.0
L_0012: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0017: callvirt Void Clear()
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0027: callvirt IEnumerable`1 get_WornApparelInDrawOrder()
L_002c: callvirt IEnumerator`1 GetEnumerator()
L_0031: stloc.1
L_0032: br Label #2
L_0037: Label #4
L_0037: ldloc.1
L_0038: callvirt RimWorld.Apparel get_Current()
L_003d: stloc.0
L_003e: ldloc.0
L_003f: ldarg.0
L_0040: ldfld Verse.Pawn pawn
L_0045: call BodyType ModifyChildBodyType(Verse.Pawn)
L_004a: ldloca.s 2 (RimWorld.ApparelGraphicRecord)
L_004c: call Boolean TryGetGraphicApparel(RimWorld.Apparel, BodyType,
ApparelGraphicRecord ByRef)
L_0051: brfalse Label #3
L_0056: ldarg.0
L_0057: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_005c: ldloc.2
L_005d: callvirt Void Add(ApparelGraphicRecord)
L_0062: Label #2
L_0062: Label #3
L_0062: ldloc.1
L_0063: callvirt Boolean MoveNext()
L_0068: brtrue Label #4
L_006d: leave Label #5
L_0072: ldloc.1
L_0073: brfalse Label #6
L_0078: ldloc.1
L_0079: callvirt Void Dispose()
L_007e: Label #6
L_007e: endfinally
L_007f: Label #5
L_007f: br Label #0
L_0084: Label #0
L_0084: ret
DONE

PATCHING Verse.PawnRenderer Void RenderPawnInternal(Vector3, Quaternion, Boolean,


Rot4, Rot4, RotDrawMode, Boolean, Boolean)
L_0000: Local var #0 UnityEngine.Mesh
L_0000: Local var #1 UnityEngine.Vector3
L_0000: Local var #2 System.Collections.Generic.List`1[[UnityEngine.Material,
UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 System.Int32
L_0000: Local var #4 UnityEngine.Material
L_0000: Local var #5 UnityEngine.Vector3
L_0000: Local var #6 UnityEngine.Vector3
L_0000: Local var #7 UnityEngine.Vector3
L_0000: Local var #8 UnityEngine.Vector3
L_0000: Local var #9 UnityEngine.Material
L_0000: Local var #10 UnityEngine.Mesh
L_0000: Local var #11 UnityEngine.Vector3
L_0000: Local var #12 System.Boolean
L_0000: Local var #13 UnityEngine.Mesh
L_0000: Local var #14
System.Collections.Generic.List`1[[RimWorld.ApparelGraphicRecord, Assembly-CSharp,
Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #15 System.Int32
L_0000: Local var #16 RimWorld.ApparelGraphicRecord
L_0000: Local var #17 RimWorld.ApparelGraphicRecord
L_0000: Local var #18 UnityEngine.Material
L_0000: Local var #19 RimWorld.ApparelGraphicRecord
L_0000: Local var #20 UnityEngine.Material
L_0000: Local var #21 RimWorld.ApparelGraphicRecord
L_0000: Local var #22 UnityEngine.Vector3
L_0000: Local var #23 UnityEngine.Mesh
L_0000: Local var #24 UnityEngine.Material
L_0000: Local var #25 System.Int32
L_0000: Local var #26 RimWorld.ApparelGraphicRecord
L_0000: Local var #27 UnityEngine.Material
L_0000: Local var #28 System.Collections.Generic.List`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #29 System.Int32
L_0000: Local var #30 UnityEngine.Vector3
L_0000: ldarg.0
L_0001: ldfld Verse.PawnGraphicSet graphics
L_0006: callvirt Boolean get_AllResolved()
L_000b: brtrue Label #2
L_0010: ldarg.0
L_0011: ldfld Verse.PawnGraphicSet graphics
L_0016: callvirt Void ResolveAllGraphics()
L_001b: Label #2
L_001b: ldnull
L_001c: stloc.0
L_001d: ldarg.0
L_001e: ldfld Verse.Pawn pawn
L_0023: ldfld Verse.Pawn_AgeTracker ageTracker
L_0028: call Int32 get_CurLifeStageIndex()
L_002d: ldc.i4.2
L_002e: blt Label #43
L_0033: ldarg.3
L_0034: brfalse Label #3
L_0039: Label #43
L_0039: ldarg.1
L_003a: ldarg.0
L_003b: ldfld Verse.Pawn pawn
L_0040: ldarg.s 7
L_0045: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_004a: stloc.1
L_004b: ldloca.s 1 (UnityEngine.Vector3)
L_004d: dup
L_004e: ldfld System.Single y
L_0053: ldc.r4 0.0078125
L_0058: add
L_0059: stfld System.Single y
L_005e: ldarg.s 6
L_0060: ldc.i4.2
L_0061: bne.un Label #4
L_0066: ldarg.0
L_0067: ldfld Verse.Pawn pawn
L_006c: callvirt Verse.RaceProperties get_RaceProps()
L_0071: callvirt Boolean get_Humanlike()
L_0076: brtrue Label #5
L_007b: ldarg.0
L_007c: ldfld Verse.PawnGraphicSet graphics
L_0081: ldfld Verse.Graphic dessicatedGraphic
L_0086: brfalse Label #6
L_008b: ldarg.s 7
L_008d: brtrue Label #7
L_0092: ldarg.0
L_0093: ldfld Verse.PawnGraphicSet graphics
L_0098: ldfld Verse.Graphic dessicatedGraphic
L_009d: ldloc.1
L_009e: ldarg.s 4
L_00a0: ldarg.0
L_00a1: ldfld Verse.Pawn pawn
L_00a6: ldc.r4 0
L_00ab: callvirt Void Draw(Vector3, Rot4, Verse.Thing, Single)
L_00b0: br Label #8
L_00b5: Label #4
L_00b5: Label #5
L_00b5: Label #6
L_00b5: Label #7
L_00b5: ldarg.0
L_00b6: ldfld Verse.Pawn pawn
L_00bb: callvirt Verse.RaceProperties get_RaceProps()
L_00c0: callvirt Boolean get_Humanlike()
L_00c5: brfalse Label #9
L_00ca: ldsfld Verse.GraphicMeshSet humanlikeBodySet
L_00cf: ldarg.s 4
L_00d1: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00d6: stloc.0
L_00d7: br Label #10
L_00dc: Label #9
L_00dc: ldarg.0
L_00dd: ldfld Verse.PawnGraphicSet graphics
L_00e2: ldfld Verse.Graphic nakedGraphic
L_00e7: ldarg.s 4
L_00e9: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00ee: stloc.0
L_00ef: Label #10
L_00ef: ldarg.0
L_00f0: ldfld Verse.PawnGraphicSet graphics
L_00f5: ldarg.s 4
L_00f7: ldarg.s 6
L_00f9: callvirt System.Collections.Generic.List`1[UnityEngine.Material]
MatsBodyBaseAt(Rot4, RotDrawMode)
L_00fe: stloc.2
L_00ff: ldc.i4.0
L_0100: stloc.3
L_0101: br Label #11
L_0106: Label #12
L_0106: ldarg.0
L_0107: ldfld Verse.PawnGraphicSet graphics
L_010c: ldfld Verse.DamageFlasher flasher
L_0111: ldloc.2
L_0112: ldloc.3
L_0113: callvirt UnityEngine.Material get_Item(Int32)
L_0118: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_011d: stloc.s 4 (UnityEngine.Material)
L_011f: ldloc.s 4
L_0124: ldarg.0
L_0125: ldfld Verse.Pawn pawn
L_012a: ldarg.s 4
L_012f: call UnityEngine.Material ModifyClothingForChild(UnityEngine.Material,
Verse.Pawn, Rot4)
L_0134: stloc.s 4
L_0139: ldloc.0
L_013a: ldloc.1
L_013b: ldarg.2
L_013c: ldloc.s 4 (UnityEngine.Material)
L_013e: ldarg.s 7
L_0140: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_0145: ldloca.s 1 (UnityEngine.Vector3)
L_0147: dup
L_0148: ldfld System.Single y
L_014d: ldloc.s 18
L_0152: ldarg.0
L_0153: ldfld Verse.Pawn pawn
L_0158: call UnityEngine.Material ModifyHatForChild(UnityEngine.Material,
Verse.Pawn)
L_015d: stloc.s 18
L_0162: ldc.r4 0.00390625
L_0167: add
L_0168: stfld System.Single y
L_016d: ldloc.3
L_016e: ldc.i4.1
L_016f: add
L_0170: stloc.3
L_0171: Label #11
L_0171: ldloc.3
L_0172: ldloc.2
L_0173: callvirt Int32 get_Count()
L_0178: blt Label #12
L_017d: ldarg.s 6
L_017f: brtrue Label #13
L_0184: ldarg.1
L_0185: ldarg.0
L_0186: ldfld Verse.Pawn pawn
L_018b: ldarg.s 7
L_0190: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0195: stloc.s 5 (UnityEngine.Vector3)
L_0197: ldloca.s 5 (UnityEngine.Vector3)
L_0199: dup
L_019a: ldfld System.Single y
L_019f: ldc.r4 0.01953125
L_01a4: add
L_01a5: stfld System.Single y
L_01aa: ldarg.0
L_01ab: ldfld RimWorld.PawnWoundDrawer woundOverlays
L_01b0: ldloc.s 5 (UnityEngine.Vector3)
L_01b2: ldloc.0
L_01b3: ldarg.2
L_01b4: ldarg.s 7
L_01b6: callvirt Void RenderOverBody(Vector3, UnityEngine.Mesh, Quaternion,
Boolean)
L_01bb: Label #3
L_01bb: Label #8
L_01bb: Label #13
L_01bb: ldarg.1
L_01bc: ldarg.0
L_01bd: ldfld Verse.Pawn pawn
L_01c2: ldarg.s 7
L_01c7: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01cc: stloc.s 6 (UnityEngine.Vector3)
L_01ce: ldarg.1
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldarg.s 7
L_01da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01df: stloc.s 7 (UnityEngine.Vector3)
L_01e1: ldarg.s 4
L_01e3: call Rot4 get_North()
L_01e8: call Boolean op_Inequality(Rot4, Rot4)
L_01ed: brfalse Label #14
L_01f2: ldloca.s 7 (UnityEngine.Vector3)
L_01f4: dup
L_01f5: ldfld System.Single y
L_01fa: ldc.r4 0.02734375
L_01ff: add
L_0200: stfld System.Single y
L_0205: ldloca.s 6 (UnityEngine.Vector3)
L_0207: dup
L_0208: ldfld System.Single y
L_020d: ldc.r4 0.0234375
L_0212: add
L_0213: stfld System.Single y
L_0218: br Label #15
L_021d: Label #14
L_021d: ldloca.s 7 (UnityEngine.Vector3)
L_021f: dup
L_0220: ldfld System.Single y
L_0225: ldc.r4 0.0234375
L_022a: add
L_022b: stfld System.Single y
L_0230: ldloca.s 6 (UnityEngine.Vector3)
L_0232: dup
L_0233: ldfld System.Single y
L_0238: ldc.r4 0.02734375
L_023d: add
L_023e: stfld System.Single y
L_0243: Label #15
L_0243: ldarg.0
L_0244: ldfld Verse.PawnGraphicSet graphics
L_0249: ldfld Verse.Graphic headGraphic
L_024e: brfalse Label #16
L_0253: ldarg.0
L_0254: ldfld Verse.Pawn pawn
L_0259: call Boolean RaceUsesChildren(Verse.Pawn)
L_025e: brfalse Label #44
L_0263: ldarg.0
L_0264: ldfld Verse.Pawn pawn
L_0269: call Boolean EnsurePawnIsChildOrOlder(Verse.Pawn)
L_026e: brfalse Label #16
L_0273: Label #44
L_0273: nop
L_0274: ldarg.2
L_0275: ldarg.0
L_0276: ldarg.s 5
L_0278: call Vector3 BaseHeadOffsetAt(Rot4)
L_027d: call Vector3 op_Multiply(Quaternion, Vector3)
L_0282: stloc.s 8 (UnityEngine.Vector3)
L_0284: ldarg.0
L_0285: ldfld Verse.PawnGraphicSet graphics
L_028a: ldarg.s 5
L_028c: ldarg.s 6
L_028e: ldarg.s 8
L_0290: callvirt UnityEngine.Material HeadMatAt(Rot4, RotDrawMode, Boolean)
L_0295: stloc.s 9 (UnityEngine.Material)
L_0297: ldloc.s 9 (UnityEngine.Material)
L_0299: ldnull
L_029a: call Boolean op_Inequality(UnityEngine.Object, UnityEngine.Object)
L_029f: brfalse Label #17
L_02a4: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_02a9: ldarg.s 5
L_02ab: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_02b0: stloc.s 10 (UnityEngine.Mesh)
L_02b2: ldloc.s 10 (UnityEngine.Mesh)
L_02b4: ldloc.s 7 (UnityEngine.Vector3)
L_02b6: ldloc.s 8 (UnityEngine.Vector3)
L_02b8: call Vector3 op_Addition(Vector3, Vector3)
L_02bd: ldarg.2
L_02be: ldloc.s 9 (UnityEngine.Material)
L_02c0: ldarg.s 7
L_02c2: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_02c7: Label #17
L_02c7: ldarg.1
L_02c8: ldloc.s 8 (UnityEngine.Vector3)
L_02ca: call Vector3 op_Addition(Vector3, Vector3)
L_02cf: ldarg.0
L_02d0: ldfld Verse.Pawn pawn
L_02d5: ldarg.s 7
L_02da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_02df: stloc.s 11 (UnityEngine.Vector3)
L_02e1: ldloca.s 11 (UnityEngine.Vector3)
L_02e3: dup
L_02e4: ldfld System.Single y
L_02e9: ldc.r4 0.03125
L_02ee: add
L_02ef: stfld System.Single y
L_02f4: ldc.i4.0
L_02f5: stloc.s 12 (System.Boolean)
L_02f7: ldarg.s 7
L_02f9: brfalse Label #18
L_02fe: call Boolean get_HatsOnlyOnMap()
L_0303: brtrue Label #19
L_0308: Label #18
L_0308: ldarg.0
L_0309: ldfld Verse.PawnGraphicSet graphics
L_030e: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_0313: ldarg.s 5
L_0315: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_031a: stloc.s 13 (UnityEngine.Mesh)
L_031c: ldarg.0
L_031d: ldfld Verse.PawnGraphicSet graphics
L_0322: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0327: stloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0329: ldc.i4.0
L_032a: stloc.s 15 (System.Int32)
L_032c: br Label #20
L_0331: Label #26
L_0331: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0333: ldloc.s 15 (System.Int32)
L_0335: callvirt ApparelGraphicRecord get_Item(Int32)
L_033a: stloc.s 16 (RimWorld.ApparelGraphicRecord)
L_033c: ldloca.s 16 (RimWorld.ApparelGraphicRecord)
L_033e: ldfld RimWorld.Apparel sourceApparel
L_0343: ldfld Verse.ThingDef def
L_0348: ldfld RimWorld.ApparelProperties apparel
L_034d: callvirt ApparelLayer get_LastLayer()
L_0352: ldc.i4.4
L_0353: bne.un Label #21
L_0358: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_035a: ldloc.s 15 (System.Int32)
L_035c: callvirt ApparelGraphicRecord get_Item(Int32)
L_0361: stloc.s 17 (RimWorld.ApparelGraphicRecord)
L_0363: ldloca.s 17 (RimWorld.ApparelGraphicRecord)
L_0365: ldfld RimWorld.Apparel sourceApparel
L_036a: ldfld Verse.ThingDef def
L_036f: ldfld RimWorld.ApparelProperties apparel
L_0374: ldfld System.Boolean hatRenderedFrontOfFace
L_0379: brtrue Label #22
L_037e: ldc.i4.1
L_037f: stloc.s 12 (System.Boolean)
L_0381: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0383: ldloc.s 15 (System.Int32)
L_0385: callvirt ApparelGraphicRecord get_Item(Int32)
L_038a: stloc.s 19 (RimWorld.ApparelGraphicRecord)
L_038c: ldloca.s 19 (RimWorld.ApparelGraphicRecord)
L_038e: ldfld Verse.Graphic graphic
L_0393: ldarg.s 4
L_0395: ldnull
L_0396: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_039b: stloc.s 18 (UnityEngine.Material)
L_039d: ldarg.0
L_039e: ldfld Verse.PawnGraphicSet graphics
L_03a3: ldfld Verse.DamageFlasher flasher
L_03a8: ldloc.s 18 (UnityEngine.Material)
L_03aa: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03af: stloc.s 18 (UnityEngine.Material)
L_03b1: ldloc.s 13 (UnityEngine.Mesh)
L_03b3: ldloc.s 11 (UnityEngine.Vector3)
L_03b5: ldarg.2
L_03b6: ldloc.s 18 (UnityEngine.Material)
L_03b8: ldarg.s 7
L_03ba: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_03bf: br Label #23
L_03c4: Label #22
L_03c4: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_03c6: ldloc.s 15 (System.Int32)
L_03c8: callvirt ApparelGraphicRecord get_Item(Int32)
L_03cd: stloc.s 21 (RimWorld.ApparelGraphicRecord)
L_03cf: ldloca.s 21 (RimWorld.ApparelGraphicRecord)
L_03d1: ldfld Verse.Graphic graphic
L_03d6: ldarg.s 4
L_03d8: ldnull
L_03d9: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_03de: stloc.s 20 (UnityEngine.Material)
L_03e0: ldarg.0
L_03e1: ldfld Verse.PawnGraphicSet graphics
L_03e6: ldfld Verse.DamageFlasher flasher
L_03eb: ldloc.s 20 (UnityEngine.Material)
L_03ed: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03f2: stloc.s 20 (UnityEngine.Material)
L_03f4: ldarg.1
L_03f5: ldloc.s 8 (UnityEngine.Vector3)
L_03f7: call Vector3 op_Addition(Vector3, Vector3)
L_03fc: stloc.s 22 (UnityEngine.Vector3)
L_03fe: ldloca.s 22 (UnityEngine.Vector3)
L_0400: dup
L_0401: ldfld System.Single y
L_0406: ldarg.s 4
L_0408: call Rot4 get_North()
L_040d: call Boolean op_Equality(Rot4, Rot4)
L_0412: brfalse Label #24
L_0417: ldc.r4 0.00390625
L_041c: br Label #25
L_0421: Label #24
L_0421: ldc.r4 0.03515625
L_0426: Label #25
L_0426: add
L_0427: stfld System.Single y
L_042c: ldloc.s 13 (UnityEngine.Mesh)
L_042e: ldloc.s 22 (UnityEngine.Vector3)
L_0430: ldarg.2
L_0431: ldloc.s 20 (UnityEngine.Material)
L_0433: ldarg.s 7
L_0435: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_043a: Label #21
L_043a: Label #23
L_043a: ldloc.s 15 (System.Int32)
L_043c: ldc.i4.1
L_043d: add
L_043e: stloc.s 15 (System.Int32)
L_0440: Label #20
L_0440: ldloc.s 15 (System.Int32)
L_0442: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0444: callvirt Int32 get_Count()
L_0449: blt Label #26
L_044e: Label #19
L_044e: ldloc.s 12 (System.Boolean)
L_0450: brtrue Label #27
L_0455: ldarg.s 6
L_0457: ldc.i4.2
L_0458: beq Label #28
L_045d: ldarg.s 8
L_045f: brtrue Label #29
L_0464: ldarg.0
L_0465: ldfld Verse.PawnGraphicSet graphics
L_046a: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_046f: ldarg.s 5
L_0471: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0476: stloc.s 23 (UnityEngine.Mesh)
L_0478: ldarg.0
L_0479: ldfld Verse.PawnGraphicSet graphics
L_047e: ldarg.s 5
L_0480: callvirt UnityEngine.Material HairMatAt(Rot4)
L_0485: stloc.s 24 (UnityEngine.Material)
L_0487: ldloc.s 24
L_048c: ldarg.0
L_048d: ldfld Verse.Pawn pawn
L_0492: call UnityEngine.Material ModifyHairForChild(UnityEngine.Material,
Verse.Pawn)
L_0497: stloc.s 24
L_049c: ldloc.s 23 (UnityEngine.Mesh)
L_049e: ldloc.s 11 (UnityEngine.Vector3)
L_04a0: ldarg.2
L_04a1: ldloc.s 24 (UnityEngine.Material)
L_04a3: ldarg.s 7
L_04a5: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_04aa: Label #16
L_04aa: Label #27
L_04aa: Label #28
L_04aa: Label #29
L_04aa: ldarg.3
L_04ab: brfalse Label #30
L_04b0: ldc.i4.0
L_04b1: stloc.s 25 (System.Int32)
L_04b3: br Label #31
L_04b8: Label #33
L_04b8: ldarg.0
L_04b9: ldfld Verse.PawnGraphicSet graphics
L_04be: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_04c3: ldloc.s 25 (System.Int32)
L_04c5: callvirt ApparelGraphicRecord get_Item(Int32)
L_04ca: stloc.s 26 (RimWorld.ApparelGraphicRecord)
L_04cc: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ce: ldfld RimWorld.Apparel sourceApparel
L_04d3: ldfld Verse.ThingDef def
L_04d8: ldfld RimWorld.ApparelProperties apparel
L_04dd: callvirt ApparelLayer get_LastLayer()
L_04e2: ldc.i4.2
L_04e3: bne.un Label #32
L_04e8: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ea: ldfld Verse.Graphic graphic
L_04ef: ldarg.s 4
L_04f1: ldnull
L_04f2: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_04f7: stloc.s 27 (UnityEngine.Material)
L_04f9: ldarg.0
L_04fa: ldfld Verse.PawnGraphicSet graphics
L_04ff: ldfld Verse.DamageFlasher flasher
L_0504: ldloc.s 27 (UnityEngine.Material)
L_0506: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_050b: stloc.s 27 (UnityEngine.Material)
L_050d: ldloc.0
L_050e: ldloc.s 6 (UnityEngine.Vector3)
L_0510: ldarg.2
L_0511: ldloc.s 27 (UnityEngine.Material)
L_0513: ldarg.s 7
L_0515: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_051a: Label #32
L_051a: ldloc.s 25 (System.Int32)
L_051c: ldc.i4.1
L_051d: add
L_051e: stloc.s 25 (System.Int32)
L_0520: Label #31
L_0520: ldloc.s 25 (System.Int32)
L_0522: ldarg.0
L_0523: ldfld Verse.PawnGraphicSet graphics
L_0528: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_052d: callvirt Int32 get_Count()
L_0532: blt Label #33
L_0537: Label #30
L_0537: ldarg.s 7
L_0539: brtrue Label #34
L_053e: ldarg.0
L_053f: ldfld Verse.Pawn pawn
L_0544: callvirt Verse.RaceProperties get_RaceProps()
L_0549: callvirt Boolean get_Animal()
L_054e: brfalse Label #35
L_0553: ldarg.0
L_0554: ldfld Verse.Pawn pawn
L_0559: ldfld Verse.Pawn_InventoryTracker inventory
L_055e: brfalse Label #36
L_0563: ldarg.0
L_0564: ldfld Verse.Pawn pawn
L_0569: ldfld Verse.Pawn_InventoryTracker inventory
L_056e: ldfld Verse.ThingOwner`1[Verse.Thing] innerContainer
L_0573: callvirt Int32 get_Count()
L_0578: ldc.i4.0
L_0579: ble Label #37
L_057e: ldarg.0
L_057f: ldfld Verse.PawnGraphicSet graphics
L_0584: ldfld Verse.Graphic packGraphic
L_0589: brfalse Label #38
L_058e: ldloc.0
L_058f: ldloc.s 6 (UnityEngine.Vector3)
L_0591: ldarg.2
L_0592: ldarg.0
L_0593: ldfld Verse.PawnGraphicSet graphics
L_0598: ldfld Verse.Graphic packGraphic
L_059d: ldarg.s 4
L_059f: ldnull
L_05a0: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_05a5: ldc.i4.0
L_05a6: call Void DrawMesh(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Int32)
L_05ab: Label #34
L_05ab: Label #35
L_05ab: Label #36
L_05ab: Label #37
L_05ab: Label #38
L_05ab: ldarg.s 7
L_05ad: brtrue Label #39
L_05b2: ldarg.0
L_05b3: ldarg.1
L_05b4: call Void DrawEquipment(Vector3)
L_05b9: ldarg.0
L_05ba: ldfld Verse.Pawn pawn
L_05bf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05c4: brfalse Label #40
L_05c9: ldarg.0
L_05ca: ldfld Verse.Pawn pawn
L_05cf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05d4: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_05d9: stloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05db: ldc.i4.0
L_05dc: stloc.s 29 (System.Int32)
L_05de: br Label #41
L_05e3: Label #42
L_05e3: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05e5: ldloc.s 29 (System.Int32)
L_05e7: callvirt RimWorld.Apparel get_Item(Int32)
L_05ec: callvirt Void DrawWornExtras()
L_05f1: ldloc.s 29 (System.Int32)
L_05f3: ldc.i4.1
L_05f4: add
L_05f5: stloc.s 29 (System.Int32)
L_05f7: Label #41
L_05f7: ldloc.s 29 (System.Int32)
L_05f9: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05fb: callvirt Int32 get_Count()
L_0600: blt Label #42
L_0605: Label #40
L_0605: ldarg.1
L_0606: ldarg.0
L_0607: ldfld Verse.Pawn pawn
L_060c: ldarg.s 7
L_0611: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0616: stloc.s 30 (UnityEngine.Vector3)
L_0618: ldloca.s 30 (UnityEngine.Vector3)
L_061a: dup
L_061b: ldfld System.Single y
L_0620: ldc.r4 0.04296875
L_0625: add
L_0626: stfld System.Single y
L_062b: ldarg.0
L_062c: ldfld Verse.PawnHeadOverlays statusOverlays
L_0631: ldloc.s 30 (UnityEngine.Vector3)
L_0633: ldarg.2
L_0634: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_0639: ldarg.s 5
L_063b: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0640: callvirt Void RenderStatusOverlays(Vector3, Quaternion, UnityEngine.Mesh)
L_0645: Label #39
L_0645: br Label #0
L_064a: Label #0
L_064a: ret
DONE

PATCHING Verse.PawnGenerator Verse.Pawn GeneratePawn(PawnGenerationRequest)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Pawn
L_0000: ldnull
L_0001: stloc 1 (Verse.Pawn)
L_0002: ldarg.0
L_0003: call Verse.Pawn GeneratePawnInternal(PawnGenerationRequest)
L_0008: stloc.0
L_0009: leave Label #2
L_000e: endfinally
L_000f: Label #2
L_000f: ldloc.0
L_0010: br Label #0
L_0015: Label #0
L_0015: stloc 1 (Verse.Pawn)
L_0016: ldarga 0
L_001c: ldloca 1 (Verse.Pawn)
L_001e: call Void _GeneratePawn(PawnGenerationRequest ByRef, Verse.Pawn ByRef)
L_0023: ldloc 1 (Verse.Pawn)
L_0024: ret
DONE

PATCHING RimWorld.JobGiver_OptimizeApparel Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 RimWorld.Outfit
L_0000: Local var #1 System.Collections.Generic.List`1[[RimWorld.Apparel, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.AI.Job
L_0000: Local var #4 Verse.Thing
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #7 System.Int32
L_0000: Local var #8 RimWorld.Apparel
L_0000: Local var #9 RimWorld.SlotGroup
L_0000: Local var #10 System.Single
L_0000: Local var #11 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 11 (Verse.AI.Job)
L_0003: ldarg.1
L_0004: ldfld RimWorld.Pawn_OutfitTracker outfits
L_0009: brtrue Label #2
L_000e: ldarg.1
L_000f: ldstr " tried to run JobGiver_OptimizeApparel without an OutfitTracker"
L_0014: call System.String Concat(System.Object, System.Object)
L_0019: ldc.i4 5643897
L_001e: call Void ErrorOnce(System.String, Int32)
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: ldarg.1
L_002a: callvirt RimWorld.Faction get_Faction()
L_002f: call RimWorld.Faction get_OfPlayer()
L_0034: beq Label #3
L_0039: ldstr "Non-colonist "
L_003e: ldarg.1
L_003f: ldstr " tried to optimize apparel."
L_0044: call System.String Concat(System.Object, System.Object, System.Object)
L_0049: ldc.i4 764323
L_004e: call Void ErrorOnce(System.String, Int32)
L_0053: ldnull
L_0054: br Label #0
L_0059: Label #3
L_0059: ldsfld System.Boolean debugApparelOptimize
L_005e: brtrue Label #4
L_0063: call Verse.TickManager get_TickManager()
L_0068: callvirt Int32 get_TicksGame()
L_006d: ldarg.1
L_006e: ldfld Verse.AI.Pawn_MindState mindState
L_0073: ldfld System.Int32 nextApparelOptimizeTick
L_0078: bge Label #5
L_007d: ldnull
L_007e: br Label #0
L_0083: Label #5
L_0083: br Label #6
L_0088: Label #4
L_0088: newobj Void .ctor()
L_008d: stsfld System.Text.StringBuilder debugSb
L_0092: ldsfld System.Text.StringBuilder debugSb
L_0097: ldc.i4.4
L_0098: newarr System.Object
L_009d: dup
L_009e: ldc.i4.0
L_009f: ldstr "Scanning for "
L_00a4: stelem.ref
L_00a5: dup
L_00a6: ldc.i4.1
L_00a7: ldarg.1
L_00a8: stelem.ref
L_00a9: dup
L_00aa: ldc.i4.2
L_00ab: ldstr " at "
L_00b0: stelem.ref
L_00b1: dup
L_00b2: ldc.i4.3
L_00b3: ldarg.1
L_00b4: callvirt IntVec3 get_Position()
L_00b9: box Verse.IntVec3
L_00be: stelem.ref
L_00bf: call System.String Concat(System.Object[])
L_00c4: callvirt System.Text.StringBuilder AppendLine(System.String)
L_00c9: pop
L_00ca: Label #6
L_00ca: ldarg.1
L_00cb: ldfld RimWorld.Pawn_OutfitTracker outfits
L_00d0: callvirt RimWorld.Outfit get_CurrentOutfit()
L_00d5: stloc.0
L_00d6: ldarg.1
L_00d7: ldfld RimWorld.Pawn_ApparelTracker apparel
L_00dc: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_00e1: stloc.1
L_00e2: ldloc.1
L_00e3: callvirt Int32 get_Count()
L_00e8: ldc.i4.1
L_00e9: sub
L_00ea: stloc.2
L_00eb: br Label #7
L_00f0: Label #10
L_00f0: ldloc.0
L_00f1: ldfld Verse.ThingFilter filter
L_00f6: ldloc.1
L_00f7: ldloc.2
L_00f8: callvirt RimWorld.Apparel get_Item(Int32)
L_00fd: callvirt Boolean Allows(Verse.Thing)
L_0102: brtrue Label #8
L_0107: ldarg.1
L_0108: ldfld RimWorld.Pawn_OutfitTracker outfits
L_010d: ldfld RimWorld.OutfitForcedHandler forcedHandler
L_0112: ldloc.1
L_0113: ldloc.2
L_0114: callvirt RimWorld.Apparel get_Item(Int32)
L_0119: callvirt Boolean AllowedToAutomaticallyDrop(RimWorld.Apparel)
L_011e: brfalse Label #9
L_0123: ldsfld Verse.JobDef RemoveApparel
L_0128: ldloc.1
L_0129: ldloc.2
L_012a: callvirt RimWorld.Apparel get_Item(Int32)
L_012f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0134: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0139: stloc.3
L_013a: ldloc.3
L_013b: ldc.i4.1
L_013c: stfld System.Boolean haulDroppedApparel
L_0141: ldloc.3
L_0142: br Label #0
L_0147: Label #8
L_0147: Label #9
L_0147: ldloc.2
L_0148: ldc.i4.1
L_0149: sub
L_014a: stloc.2
L_014b: Label #7
L_014b: ldloc.2
L_014c: ldc.i4.0
L_014d: bge Label #10
L_0152: ldnull
L_0153: stloc.s 4 (Verse.Thing)
L_0155: ldc.r4 0
L_015a: stloc.s 5 (System.Single)
L_015c: ldarg.1
L_015d: callvirt Verse.Map get_Map()
L_0162: ldfld Verse.ListerThings listerThings
L_0167: ldc.i4.s 26
L_0169: callvirt System.Collections.Generic.List`1[Verse.Thing]
ThingsInGroup(ThingRequestGroup)
L_016e: stloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0170: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0172: callvirt Int32 get_Count()
L_0177: brtrue Label #11
L_017c: ldarg.0
L_017d: ldarg.1
L_017e: call Void SetNextOptimizeTick(Verse.Pawn)
L_0183: ldnull
L_0184: br Label #0
L_0189: Label #11
L_0189: ldarg.1
L_018a: ldarg.1
L_018b: callvirt Verse.Map get_Map()
L_0190: callvirt Int32 get_Tile()
L_0195: ldarg.1
L_0196: call Twelfth Twelfth(Verse.Thing)
L_019b: call NeededWarmth CalculateNeededWarmth(Verse.Pawn, Int32, Twelfth)
L_01a0: stsfld RimWorld.NeededWarmth neededWarmth
L_01a5: ldc.i4.0
L_01a6: stloc.s 7 (System.Int32)
L_01a8: br Label #12
L_01ad: Label #27
L_01ad: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_01af: ldloc.s 7 (System.Int32)
L_01b1: callvirt Verse.Thing get_Item(Int32)
L_01b6: castclass RimWorld.Apparel
L_01bb: stloc.s 8 (RimWorld.Apparel)
L_01bd: ldloc.0
L_01be: ldfld Verse.ThingFilter filter
L_01c3: ldloc.s 8 (RimWorld.Apparel)
L_01c5: callvirt Boolean Allows(Verse.Thing)
L_01ca: brtrue Label #13
L_01cf: br Label #14
L_01d4: Label #13
L_01d4: ldloc.s 8 (RimWorld.Apparel)
L_01d6: callvirt Verse.Map get_Map()
L_01db: ldfld RimWorld.SlotGroupManager slotGroupManager
L_01e0: ldloc.s 8 (RimWorld.Apparel)
L_01e2: callvirt IntVec3 get_Position()
L_01e7: callvirt RimWorld.SlotGroup SlotGroupAt(IntVec3)
L_01ec: stloc.s 9 (RimWorld.SlotGroup)
L_01ee: ldloc.s 9 (RimWorld.SlotGroup)
L_01f0: brtrue Label #15
L_01f5: br Label #16
L_01fa: Label #15
L_01fa: ldloc.s 8 (RimWorld.Apparel)
L_01fc: ldarg.1
L_01fd: call Boolean IsForbidden(Verse.Thing, Verse.Pawn)
L_0202: brfalse Label #17
L_0207: br Label #18
L_020c: Label #17
L_020c: ldarg.1
L_020d: ldloc.s 8 (RimWorld.Apparel)
L_020f: call Single ApparelScoreGain(Verse.Pawn, RimWorld.Apparel)
L_0214: stloc.s 10 (System.Single)
L_0216: ldsfld System.Boolean debugApparelOptimize
L_021b: brfalse Label #19
L_0220: ldsfld System.Text.StringBuilder debugSb
L_0225: ldloc.s 8 (RimWorld.Apparel)
L_0227: callvirt System.String get_LabelCap()
L_022c: ldstr ": "
L_0231: ldloca.s 10 (System.Single)
L_0233: ldstr "F2"
L_0238: call System.String ToString(System.String)
L_023d: call System.String Concat(System.String, System.String, System.String)
L_0242: callvirt System.Text.StringBuilder AppendLine(System.String)
L_0247: pop
L_0248: Label #19
L_0248: ldloc.s 10 (System.Single)
L_024a: ldc.r4 0.05
L_024f: blt Label #20
L_0254: ldloc.s 10 (System.Single)
L_0256: ldloc.s 5 (System.Single)
L_0258: bge.un Label #21
L_025d: Label #20
L_025d: br Label #22
L_0262: Label #21
L_0262: ldarg.1
L_0263: ldloc.s 8 (RimWorld.Apparel)
L_0265: ldfld Verse.ThingDef def
L_026a: call Boolean HasPartsToWear(Verse.Pawn, Verse.ThingDef)
L_026f: brtrue Label #23
L_0274: br Label #24
L_0279: Label #23
L_0279: ldarg.1
L_027a: ldloc.s 8 (RimWorld.Apparel)
L_027c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0281: ldc.i4.1
L_0282: ldarg.1
L_0283: call Danger NormalMaxDanger(Verse.Pawn)
L_0288: ldc.i4.1
L_0289: ldc.i4.m1
L_028a: ldnull
L_028b: ldc.i4.0
L_028c: call Boolean CanReserveAndReach(Verse.Pawn, LocalTargetInfo, PathEndMode,
Danger, Int32, Int32, Verse.ReservationLayerDef, Boolean)
L_0291: brtrue Label #25
L_0296: br Label #26
L_029b: Label #25
L_029b: ldloc.s 8 (RimWorld.Apparel)
L_029d: stloc.s 4 (Verse.Thing)
L_029f: ldloc.s 10 (System.Single)
L_02a1: stloc.s 5 (System.Single)
L_02a3: Label #14
L_02a3: Label #16
L_02a3: Label #18
L_02a3: Label #22
L_02a3: Label #24
L_02a3: Label #26
L_02a3: ldloc.s 7 (System.Int32)
L_02a5: ldc.i4.1
L_02a6: add
L_02a7: stloc.s 7 (System.Int32)
L_02a9: Label #12
L_02a9: ldloc.s 7 (System.Int32)
L_02ab: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_02ad: callvirt Int32 get_Count()
L_02b2: blt Label #27
L_02b7: ldsfld System.Boolean debugApparelOptimize
L_02bc: brfalse Label #28
L_02c1: ldsfld System.Text.StringBuilder debugSb
L_02c6: ldstr "BEST: "
L_02cb: ldloc.s 4 (Verse.Thing)
L_02cd: call System.String Concat(System.Object, System.Object)
L_02d2: callvirt System.Text.StringBuilder AppendLine(System.String)
L_02d7: pop
L_02d8: ldsfld System.Text.StringBuilder debugSb
L_02dd: callvirt System.String ToString()
L_02e2: call Void Message(System.String)
L_02e7: ldnull
L_02e8: stsfld System.Text.StringBuilder debugSb
L_02ed: Label #28
L_02ed: ldloc.s 4 (Verse.Thing)
L_02ef: brtrue Label #29
L_02f4: ldarg.0
L_02f5: ldarg.1
L_02f6: call Void SetNextOptimizeTick(Verse.Pawn)
L_02fb: ldnull
L_02fc: br Label #0
L_0301: Label #29
L_0301: ldsfld Verse.JobDef Wear
L_0306: ldloc.s 4 (Verse.Thing)
L_0308: call LocalTargetInfo op_Implicit(Verse.Thing)
L_030d: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0312: br Label #0
L_0317: Label #0
L_0317: stloc 11 (Verse.AI.Job)
L_0319: ldloca 11 (Verse.AI.Job)
L_031b: ldarga 1
L_0321: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_0326: ldloc 11 (Verse.AI.Job)
L_0328: ret
DONE

PATCHING Verse.Pawn_HealthTracker Boolean ShouldBeDowned()


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean get_InPainShock()
L_000c: brtrue Label #2
L_0011: ldarg.0
L_0012: ldfld Verse.PawnCapacitiesHandler capacities
L_0017: callvirt Boolean get_CanBeAwake()
L_001c: brfalse Label #3
L_0021: ldarg.0
L_0022: ldfld Verse.PawnCapacitiesHandler capacities
L_0027: ldsfld Verse.PawnCapacityDef Moving
L_002c: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0031: ldc.i4.0
L_0032: ceq
L_0034: br Label #4
L_0039: Label #2
L_0039: Label #3
L_0039: ldc.i4.1
L_003a: Label #4
L_003a: br Label #0
L_003f: Label #0
L_003f: stloc 0 (System.Boolean)
L_0040: ldarga 0
L_0046: ldloca 0 (System.Boolean)
L_0048: call Void SBD(Verse.Pawn_HealthTracker ByRef, Boolean ByRef)
L_004d: ldloc 0 (System.Boolean)
L_004e: ret
DONE

PATCHING Verse.Pawn_HealthTracker Void CheckForStateChange(Nullable`1,


Verse.Hediff)
L_0000: Local var #0 System.Single
L_0000: Local var #1 Verse.DamageInfo
L_0000: Local var #2 Verse.ThingWithComps
L_0000: ldarg.0
L_0001: call Boolean get_Dead()
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: call Boolean ShouldBeDead()
L_0011: brfalse Label #3
L_0016: ldarg.0
L_0017: ldfld Verse.Pawn pawn
L_001c: callvirt Boolean get_Destroyed()
L_0021: brtrue Label #4
L_0026: ldarg.0
L_0027: ldfld Verse.Pawn pawn
L_002c: ldarg.1
L_002d: ldarg.2
L_002e: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_0033: Label #4
L_0033: br Label #0
L_0038: Label #3
L_0038: ldarg.0
L_0039: call Boolean get_Downed()
L_003e: brtrue Label #5
L_0043: ldarg.0
L_0044: call Boolean ShouldBeDowned()
L_0049: brfalse Label #6
L_004e: ldarg.0
L_004f: ldfld Verse.Pawn pawn
L_0054: callvirt Verse.RaceProperties get_RaceProps()
L_0059: callvirt Boolean get_Animal()
L_005e: brfalse Label #7
L_0063: ldc.r4 0.47
L_0068: br Label #8
L_006d: Label #7
L_006d: ldc.r4 0.67
L_0072: Label #8
L_0072: stloc.0
L_0073: ldarg.0
L_0074: ldfld System.Boolean forceIncap
L_0079: brtrue Label #9
L_007e: ldarga.s 1
L_0080: call Boolean get_HasValue()
L_0085: brfalse Label #10
L_008a: ldarga.s 1
L_008c: call DamageInfo get_Value()
L_0091: stloc.1
L_0092: ldloca.s 1 (Verse.DamageInfo)
L_0094: call Verse.DamageDef get_Def()
L_0099: ldfld System.Boolean externalViolence
L_009e: brfalse Label #11
L_00a3: ldarg.0
L_00a4: ldfld Verse.Pawn pawn
L_00a9: callvirt RimWorld.Faction get_Faction()
L_00ae: brfalse Label #12
L_00b3: ldarg.0
L_00b4: ldfld Verse.Pawn pawn
L_00b9: callvirt RimWorld.Faction get_Faction()
L_00be: callvirt Boolean get_IsPlayer()
L_00c3: brtrue Label #13
L_00c8: br Label #13
L_00cd: Label #12
L_00cd: ldarg.0
L_00ce: ldfld Verse.Pawn pawn
L_00d3: callvirt Boolean get_IsPrisonerOfColony()
L_00d8: brtrue Label #14
L_00dd: ldarg.0
L_00de: ldfld Verse.Pawn pawn
L_00e3: callvirt Verse.RaceProperties get_RaceProps()
L_00e8: callvirt Boolean get_IsFlesh()
L_00ed: brfalse Label #15
L_00f2: call Single get_Value()
L_00f7: ldloc.0
L_00f8: bge.un Label #16
L_00fd: ldarg.0
L_00fe: ldfld Verse.Pawn pawn
L_0103: ldarg.1
L_0104: ldnull
L_0105: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_010a: br Label #0
L_010f: Label #9
L_010f: Label #10
L_010f: Label #11
L_010f: Label #13
L_010f: Label #14
L_010f: Label #15
L_010f: Label #16
L_010f: ldarg.0
L_0110: ldc.i4.0
L_0111: stfld System.Boolean forceIncap
L_0116: ldarg.0
L_0117: ldarg.1
L_0118: ldarg.2
L_0119: call Void MakeDowned(Nullable`1, Verse.Hediff)
L_011e: br Label #0
L_0123: Label #6
L_0123: ldarg.0
L_0124: ldfld Verse.PawnCapacitiesHandler capacities
L_0129: ldsfld Verse.PawnCapacityDef Manipulation
L_012e: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0133: brtrue Label #17
L_0138: ldarg.0
L_0139: ldfld Verse.Pawn pawn
L_013e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0143: brfalse Label #18
L_0148: ldarg.0
L_0149: ldfld Verse.Pawn pawn
L_014e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0153: callvirt Verse.Thing get_CarriedThing()
L_0158: brfalse Label #19
L_015d: ldarg.0
L_015e: ldfld Verse.Pawn pawn
L_0163: ldfld Verse.AI.Pawn_JobTracker jobs
L_0168: brfalse Label #20
L_016d: ldarg.0
L_016e: ldfld Verse.Pawn pawn
L_0173: callvirt Verse.AI.Job get_CurJob()
L_0178: brfalse Label #21
L_017d: ldarg.0
L_017e: ldfld Verse.Pawn pawn
L_0183: ldfld Verse.AI.Pawn_JobTracker jobs
L_0188: ldc.i4.5
L_0189: ldc.i4.1
L_018a: callvirt Void EndCurrentJob(JobCondition, Boolean)
L_018f: Label #18
L_018f: Label #19
L_018f: Label #20
L_018f: Label #21
L_018f: ldarg.0
L_0190: ldfld Verse.Pawn pawn
L_0195: ldfld Verse.Pawn_EquipmentTracker equipment
L_019a: brfalse Label #22
L_019f: ldarg.0
L_01a0: ldfld Verse.Pawn pawn
L_01a5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01aa: callvirt Verse.ThingWithComps get_Primary()
L_01af: brfalse Label #23
L_01b4: ldarg.0
L_01b5: ldfld Verse.Pawn pawn
L_01ba: callvirt Boolean get_InContainerEnclosed()
L_01bf: brfalse Label #24
L_01c4: ldarg.0
L_01c5: ldfld Verse.Pawn pawn
L_01ca: ldfld Verse.Pawn_EquipmentTracker equipment
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01da: callvirt Verse.ThingWithComps get_Primary()
L_01df: ldarg.0
L_01e0: ldfld Verse.Pawn pawn
L_01e5: ldfld Verse.ThingOwner holdingOwner
L_01ea: callvirt Boolean TryTransferEquipmentToContainer(Verse.ThingWithComps,
Verse.ThingOwner)
L_01ef: pop
L_01f0: br Label #25
L_01f5: Label #24
L_01f5: ldarg.0
L_01f6: ldfld Verse.Pawn pawn
L_01fb: callvirt Boolean get_SpawnedOrAnyParentSpawned()
L_0200: brfalse Label #26
L_0205: ldarg.0
L_0206: ldfld Verse.Pawn pawn
L_020b: ldfld Verse.Pawn_EquipmentTracker equipment
L_0210: ldarg.0
L_0211: ldfld Verse.Pawn pawn
L_0216: ldfld Verse.Pawn_EquipmentTracker equipment
L_021b: callvirt Verse.ThingWithComps get_Primary()
L_0220: ldloca.s 2 (Verse.ThingWithComps)
L_0222: ldarg.0
L_0223: ldfld Verse.Pawn pawn
L_0228: callvirt IntVec3 get_PositionHeld()
L_022d: ldc.i4.1
L_022e: callvirt Boolean TryDropEquipment(Verse.ThingWithComps,
Verse.ThingWithComps ByRef, IntVec3, Boolean)
L_0233: pop
L_0234: br Label #27
L_0239: Label #26
L_0239: ldarg.0
L_023a: ldfld Verse.Pawn pawn
L_023f: ldfld Verse.Pawn_EquipmentTracker equipment
L_0244: ldarg.0
L_0245: ldfld Verse.Pawn pawn
L_024a: ldfld Verse.Pawn_EquipmentTracker equipment
L_024f: callvirt Verse.ThingWithComps get_Primary()
L_0254: callvirt Void DestroyEquipment(Verse.ThingWithComps)
L_0259: Label #17
L_0259: Label #22
L_0259: Label #23
L_0259: Label #25
L_0259: Label #27
L_0259: br Label #28
L_025e: Label #5
L_025e: ldarg.0
L_025f: call Boolean ShouldBeDowned()
L_0264: brtrue Label #29
L_0269: ldarg.0
L_026a: call Void MakeUndowned()
L_026f: br Label #0
L_0274: Label #2
L_0274: Label #28
L_0274: Label #29
L_0274: br Label #0
L_0279: Label #0
L_0279: ret
DONE

PATCHING RimWorld.RestUtility Single WakeThreshold(Verse.Pawn)


L_0000: Local var #0 Verse.AI.Group.Lord
L_0000: Local var #1 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #2 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #3 System.Single
L_0000: ldc.r4 0
L_0005: stloc 3 (System.Single)
L_0006: ldarg.0
L_0007: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldloc.0
L_0014: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0019: brfalse Label #3
L_001e: ldloc.0
L_001f: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0024: callvirt Nullable`1 get_CustomWakeThreshold()
L_0029: stloc.1
L_002a: ldloca.s 1 (System.Nullable`1[System.Single])
L_002c: call Boolean get_HasValue()
L_0031: brfalse Label #4
L_0036: ldloc.0
L_0037: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_003c: callvirt Nullable`1 get_CustomWakeThreshold()
L_0041: stloc.2
L_0042: ldloca.s 2 (System.Nullable`1[System.Single])
L_0044: call Single get_Value()
L_0049: br Label #0
L_004e: Label #2
L_004e: Label #3
L_004e: Label #4
L_004e: ldc.r4 1
L_0053: br Label #0
L_0058: Label #0
L_0058: stloc 3 (System.Single)
L_0059: ldloca 3 (System.Single)
L_005b: ldarga 0
L_0061: call Void WakeThreshold_Patch(Single ByRef, Verse.Pawn ByRef)
L_0066: ldloc 3 (System.Single)
L_0067: ret
DONE

PATCHING Verse.Verb_Shoot Boolean TryCastShot()


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 1 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean TryCastShot()
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldarg.0
L_0014: call Boolean get_CasterIsPawn()
L_0019: brfalse Label #3
L_001e: ldarg.0
L_001f: call Verse.Pawn get_CasterPawn()
L_0024: ldfld RimWorld.Pawn_RecordsTracker records
L_0029: ldsfld RimWorld.RecordDef ShotsFired
L_002e: callvirt Void Increment(RimWorld.RecordDef)
L_0033: Label #2
L_0033: Label #3
L_0033: ldloc.0
L_0034: br Label #0
L_0039: Label #0
L_0039: stloc 1 (System.Boolean)
L_003a: ldarga 0
L_0040: call Void TryCastShot_Patch(Verse.Verb_Shoot ByRef)
L_0045: ldloc 1 (System.Boolean)
L_0046: ret
DONE

PATCHING Verse.Pawn_EquipmentTracker Void


Notify_EquipmentAdded(Verse.ThingWithComps)
L_0000: Local var #0 Verse.Verb
L_0000: Local var #1 System.Collections.Generic.List`1+Enumerator[[Verse.Verb,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.1
L_0001: callvirt Verse.CompEquippable GetComp[CompEquippable]()
L_0006: callvirt System.Collections.Generic.List`1[Verse.Verb] get_AllVerbs()
L_000b: callvirt Enumerator GetEnumerator()
L_0010: stloc.1
L_0011: br Label #2
L_0016: Label #3
L_0016: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0018: call Verse.Verb get_Current()
L_001d: stloc.0
L_001e: ldloc.0
L_001f: ldarg.0
L_0020: ldfld Verse.Pawn pawn
L_0025: stfld Verse.Thing caster
L_002a: ldloc.0
L_002b: callvirt Void Notify_PickedUp()
L_0030: Label #2
L_0030: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0032: call Boolean MoveNext()
L_0037: brtrue Label #3
L_003c: leave Label #4
L_0041: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0043: constrained. System.Collections.Generic.List`1+Enumerator[Verse.Verb]
L_0049: callvirt Void Dispose()
L_004e: endfinally
L_004f: Label #4
L_004f: br Label #0
L_0054: Label #0
L_0054: ldarga 1
L_005a: ldarga 0
L_0060: call Void Notify_EquipmentAdded_Patch(Verse.ThingWithComps ByRef,
Verse.Pawn_EquipmentTracker ByRef)
L_0065: ret
DONE

PATCHING RimWorld.PawnWeaponGenerator Void TryGenerateWeaponFor(Verse.Pawn)


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2
RimWorld.PawnWeaponGenerator+<TryGenerateWeaponFor>c__AnonStorey2
L_0000: Local var #3 RimWorld.ThingStuffPair
L_0000: Local var #4 Verse.ThingWithComps
L_0000: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0005: callvirt Void Clear()
L_000a: ldarg.0
L_000b: ldfld Verse.PawnKindDef kindDef
L_0010: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0015: brfalse Label #2
L_001a: ldarg.0
L_001b: ldfld Verse.PawnKindDef kindDef
L_0020: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0025: callvirt Int32 get_Count()
L_002a: brtrue Label #3
L_002f: Label #2
L_002f: br Label #0
L_0034: Label #3
L_0034: ldarg.0
L_0035: callvirt Verse.RaceProperties get_RaceProps()
L_003a: callvirt Boolean get_ToolUser()
L_003f: brtrue Label #4
L_0044: br Label #0
L_0049: Label #4
L_0049: ldarg.0
L_004a: ldfld Verse.Pawn_HealthTracker health
L_004f: ldfld Verse.PawnCapacitiesHandler capacities
L_0054: ldsfld Verse.PawnCapacityDef Manipulation
L_0059: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_005e: brtrue Label #5
L_0063: br Label #0
L_0068: Label #5
L_0068: ldarg.0
L_0069: ldfld RimWorld.Pawn_StoryTracker story
L_006e: brfalse Label #6
L_0073: ldarg.0
L_0074: ldfld RimWorld.Pawn_StoryTracker story
L_0079: ldc.i4.8
L_007a: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_007f: brfalse Label #7
L_0084: br Label #0
L_0089: Label #6
L_0089: Label #7
L_0089: ldarg.0
L_008a: ldfld Verse.PawnKindDef kindDef
L_008f: ldflda Verse.FloatRange weaponMoney
L_0094: call Single get_RandomInRange()
L_0099: stloc.0
L_009a: ldc.i4.0
L_009b: stloc.1
L_009c: br Label #8
L_00a1: Label #16
L_00a1: newobj Void .ctor()
L_00a6: stloc.2
L_00a7: ldloc.2
L_00a8: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_00ad: ldloc.1
L_00ae: callvirt ThingStuffPair get_Item(Int32)
L_00b3: stfld RimWorld.ThingStuffPair w
L_00b8: ldloc.2
L_00b9: ldflda RimWorld.ThingStuffPair w
L_00be: call Single get_Price()
L_00c3: ldloc.0
L_00c4: ble.un Label #9
L_00c9: br Label #10
L_00ce: Label #9
L_00ce: ldarg.0
L_00cf: ldfld Verse.PawnKindDef kindDef
L_00d4: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_00d9: ldloc.2
L_00da: ldftn Boolean <>m__0(System.String)
L_00e0: newobj Void .ctor(Object, IntPtr)
L_00e5: call Boolean Any[String](System.Collections.Generic.List`1[System.String],
System.Predicate`1[System.String])
L_00ea: brtrue Label #11
L_00ef: br Label #12
L_00f4: Label #11
L_00f4: ldloc.2
L_00f5: ldflda RimWorld.ThingStuffPair w
L_00fa: ldfld Verse.ThingDef thing
L_00ff: ldfld System.Single generateAllowChance
L_0104: ldc.r4 1
L_0109: bge.un Label #13
L_010e: ldarg.0
L_010f: ldfld System.Int32 thingIDNumber
L_0114: ldc.i4 28554824
L_0119: xor
L_011a: call Single ValueSeeded(Int32)
L_011f: ldloc.2
L_0120: ldflda RimWorld.ThingStuffPair w
L_0125: ldfld Verse.ThingDef thing
L_012a: ldfld System.Single generateAllowChance
L_012f: ble.un Label #14
L_0134: br Label #15
L_0139: Label #13
L_0139: Label #14
L_0139: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_013e: ldloc.2
L_013f: ldfld RimWorld.ThingStuffPair w
L_0144: callvirt Void Add(ThingStuffPair)
L_0149: Label #10
L_0149: Label #12
L_0149: Label #15
L_0149: ldloc.1
L_014a: ldc.i4.1
L_014b: add
L_014c: stloc.1
L_014d: Label #8
L_014d: ldloc.1
L_014e: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_0153: callvirt Int32 get_Count()
L_0158: blt Label #16
L_015d: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0162: callvirt Int32 get_Count()
L_0167: brtrue Label #17
L_016c: br Label #0
L_0171: ldarg.0
L_0172: ldloc.2
L_0173: callvirt System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
FilterChildWeapons(Verse.Pawn,
System.Collections.Generic.List`1[RimWorld.ThingStuffPair])
L_0178: stloc.2
L_0179: Label #17
L_0179: ldarg.0
L_017a: ldfld Verse.Pawn_EquipmentTracker equipment
L_017f: ldc.i4.0
L_0180: callvirt Void DestroyAllEquipment(DestroyMode)
L_0185: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_018a: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_018f: brtrue Label #18
L_0194: ldnull
L_0195: ldftn Single <TryGenerateWeaponFor>m__2(ThingStuffPair)
L_019b: newobj Void .ctor(Object, IntPtr)
L_01a0: stsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01a5: Label #18
L_01a5: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01aa: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01ac: call Boolean TryRandomElementByWeight[ThingStuffPair](IEnumerable`1,
System.Func`2[RimWorld.ThingStuffPair,System.Single], ThingStuffPair ByRef)
L_01b1: brfalse Label #19
L_01b6: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01b8: ldfld Verse.ThingDef thing
L_01bd: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01bf: ldfld Verse.ThingDef stuff
L_01c4: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_01c9: castclass Verse.ThingWithComps
L_01ce: stloc.s 4 (Verse.ThingWithComps)
L_01d0: ldloc.s 4 (Verse.ThingWithComps)
L_01d2: ldarg.0
L_01d3: call Void PostProcessGeneratedGear(Verse.Thing, Verse.Pawn)
L_01d8: ldarg.0
L_01d9: ldfld Verse.Pawn_EquipmentTracker equipment
L_01de: ldloc.s 4 (Verse.ThingWithComps)
L_01e0: callvirt Void AddEquipment(Verse.ThingWithComps)
L_01e5: Label #19
L_01e5: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_01ea: callvirt Void Clear()
L_01ef: br Label #0
L_01f4: Label #0
L_01f4: ret
DONE

PATCHING RimWorld.Bill_Medical Void Notify_DoBillStarted(Verse.Pawn)


L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.ThingStackPartClass,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Int32
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void Notify_DoBillStarted(Verse.Pawn)
L_0007: ldarg.0
L_0008: ldnull
L_0009: stfld Verse.ThingDef consumedInitialMedicineDef
L_000e: ldarg.0
L_000f: call Verse.Pawn get_GiverPawn()
L_0014: callvirt Boolean get_Dead()
L_0019: brtrue Label #2
L_001e: ldarg.0
L_001f: ldfld Verse.RecipeDef recipe
L_0024: call Boolean RecipeHasNoIngredients(Verse.RecipeDef)
L_0029: brtrue Label #2
L_002e: ldarg.0
L_002f: ldfld Verse.RecipeDef recipe
L_0034: ldfld System.Boolean anesthetize
L_0039: brfalse Label #3
L_003e: ldarg.0
L_003f: call Verse.Pawn get_GiverPawn()
L_0044: call Boolean TryAnesthetize(Verse.Pawn)
L_0049: brfalse Label #4
L_004e: ldarg.1
L_004f: callvirt Verse.AI.Job get_CurJob()
L_0054: ldfld System.Collections.Generic.List`1[Verse.ThingStackPartClass]
placedThings
L_0059: stloc.0
L_005a: ldc.i4.0
L_005b: stloc.1
L_005c: br Label #5
L_0061: Label #10
L_0061: ldloc.0
L_0062: ldloc.1
L_0063: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0068: ldfld Verse.Thing thing
L_006d: isinst RimWorld.Medicine
L_0072: brfalse Label #6
L_0077: ldarg.0
L_0078: ldfld Verse.RecipeDef recipe
L_007d: callvirt Verse.RecipeWorker get_Worker()
L_0082: ldloc.0
L_0083: ldloc.1
L_0084: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0089: ldfld Verse.Thing thing
L_008e: ldc.i4.1
L_008f: callvirt Verse.Thing SplitOff(Int32)
L_0094: ldarg.0
L_0095: ldfld Verse.RecipeDef recipe
L_009a: ldarg.1
L_009b: callvirt Verse.Map get_MapHeld()
L_00a0: callvirt Void ConsumeIngredient(Verse.Thing, Verse.RecipeDef, Verse.Map)
L_00a5: ldloc.0
L_00a6: ldloc.1
L_00a7: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ac: dup
L_00ad: callvirt Int32 get_Count()
L_00b2: ldc.i4.1
L_00b3: sub
L_00b4: callvirt Void set_Count(Int32)
L_00b9: ldarg.0
L_00ba: ldloc.0
L_00bb: ldloc.1
L_00bc: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00c1: ldfld Verse.Thing thing
L_00c6: ldfld Verse.ThingDef def
L_00cb: stfld Verse.ThingDef consumedInitialMedicineDef
L_00d0: ldloc.0
L_00d1: ldloc.1
L_00d2: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00d7: ldfld Verse.Thing thing
L_00dc: callvirt Boolean get_Destroyed()
L_00e1: brtrue Label #7
L_00e6: ldloc.0
L_00e7: ldloc.1
L_00e8: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ed: callvirt Int32 get_Count()
L_00f2: ldc.i4.0
L_00f3: bgt Label #8
L_00f8: Label #7
L_00f8: ldloc.0
L_00f9: ldloc.1
L_00fa: callvirt Void RemoveAt(Int32)
L_00ff: Label #8
L_00ff: br Label #9
L_0104: Label #6
L_0104: ldloc.1
L_0105: ldc.i4.1
L_0106: add
L_0107: stloc.1
L_0108: Label #5
L_0108: ldloc.1
L_0109: ldloc.0
L_010a: callvirt Int32 get_Count()
L_010f: blt Label #10
L_0114: Label #2
L_0114: Label #3
L_0114: Label #4
L_0114: Label #9
L_0114: br Label #0
L_0119: Label #0
L_0119: ret
DONE

PATCHING RimWorld.Building_Bed IEnumerable`1 get_AssigningCandidates()


L_0000: ldarg.0
L_0001: callvirt IEnumerable`1 BedCandidates(RimWorld.Building_Bed)
L_0006: Label #0
L_0006: ret
DONE

PATCHING RimWorld.RestUtility RimWorld.Building_Bed FindBedFor(Verse.Pawn,


Verse.Pawn, Boolean, Boolean, Boolean)
L_0000: Local var #0 RimWorld.RestUtility+<FindBedFor>c__AnonStorey0
L_0000: Local var #1 RimWorld.Building_Bed
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 System.Boolean
L_0000: Local var #5 System.Boolean
L_0000: Local var #6 System.Boolean
L_0000: Local var #7 System.Int32
L_0000: Local var #8 Verse.ThingDef
L_0000: Local var #9 System.Int32
L_0000: Local var #10 RimWorld.RestUtility+<FindBedFor>c__AnonStorey1
L_0000: Local var #11 RimWorld.Building_Bed
L_0000: Local var #12 RimWorld.DirectPawnRelation
L_0000: Local var #13 RimWorld.Building_Bed
L_0000: Local var #14 System.Int32
L_0000: Local var #15 RimWorld.RestUtility+<FindBedFor>c__AnonStorey2
L_0000: Local var #16 System.Int32
L_0000: Local var #17 Verse.ThingDef
L_0000: Local var #18 RimWorld.Building_Bed
L_0000: Local var #19 RimWorld.Building_Bed
L_0000: ldnull
L_0001: stloc 19 (RimWorld.Building_Bed)
L_0003: newobj Void .ctor()
L_0008: stloc.0
L_0009: ldloc.0
L_000a: ldarg.0
L_000b: stfld Verse.Pawn sleeper
L_0010: ldloc.0
L_0011: ldarg.1
L_0012: stfld Verse.Pawn traveler
L_0017: ldloc.0
L_0018: ldarg.2
L_0019: stfld System.Boolean sleeperWillBePrisoner
L_001e: ldloc.0
L_001f: ldarg.3
L_0020: stfld System.Boolean checkSocialProperness
L_0025: ldloc.0
L_0026: ldarg.s 4
L_0028: stfld System.Boolean ignoreOtherReservations
L_002d: ldloc.0
L_002e: ldfld Verse.Pawn sleeper
L_0033: call Boolean ShouldSeekMedicalRest(Verse.Pawn)
L_0038: brfalse Label #2
L_003d: ldloc.0
L_003e: ldfld Verse.Pawn sleeper
L_0043: call Boolean InBed(Verse.Pawn)
L_0048: brfalse Label #3
L_004d: ldloc.0
L_004e: ldfld Verse.Pawn sleeper
L_0053: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0058: callvirt Boolean get_Medical()
L_005d: brfalse Label #4
L_0062: ldloc.0
L_0063: ldfld Verse.Pawn sleeper
L_0068: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_006d: stloc.1
L_006e: ldloc.0
L_006f: ldfld Verse.Pawn sleeper
L_0074: stloc.2
L_0075: ldloc.0
L_0076: ldfld Verse.Pawn traveler
L_007b: stloc.3
L_007c: ldloc.0
L_007d: ldfld System.Boolean sleeperWillBePrisoner
L_0082: stloc.s 4 (System.Boolean)
L_0084: ldloc.0
L_0085: ldfld System.Boolean checkSocialProperness
L_008a: stloc.s 5 (System.Boolean)
L_008c: ldloc.0
L_008d: ldfld System.Boolean ignoreOtherReservations
L_0092: stloc.s 6 (System.Boolean)
L_0094: ldloc.1
L_0095: ldloc.2
L_0096: ldloc.3
L_0097: ldloc.s 4 (System.Boolean)
L_0099: ldloc.s 5 (System.Boolean)
L_009b: ldc.i4.0
L_009c: ldloc.s 6 (System.Boolean)
L_009e: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_00a3: brfalse Label #5
L_00a8: ldloc.0
L_00a9: ldfld Verse.Pawn sleeper
L_00ae: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00b3: br Label #0
L_00b8: Label #3
L_00b8: Label #4
L_00b8: Label #5
L_00b8: ldc.i4.0
L_00b9: stloc.s 7 (System.Int32)
L_00bb: br Label #6
L_00c0: Label #14
L_00c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_00c5: ldloc.s 7 (System.Int32)
L_00c7: callvirt Verse.ThingDef get_Item(Int32)
L_00cc: stloc.s 8 (Verse.ThingDef)
L_00ce: ldloc.0
L_00cf: ldfld Verse.Pawn sleeper
L_00d4: ldloc.s 8 (Verse.ThingDef)
L_00d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_00db: brtrue Label #7
L_00e0: br Label #8
L_00e5: Label #7
L_00e5: ldc.i4.0
L_00e6: stloc.s 9 (System.Int32)
L_00e8: br Label #9
L_00ed: Label #13
L_00ed: newobj Void .ctor()
L_00f2: stloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f4: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f6: ldloc.0
L_00f7: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_00fc: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00fe: ldloc.s 9 (System.Int32)
L_0100: brtrue Label #10
L_0105: ldc.i4.1
L_0106: br Label #11
L_010b: Label #10
L_010b: ldc.i4.3
L_010c: Label #11
L_010c: stfld Verse.Danger maxDanger
L_0111: ldloc.0
L_0112: ldfld Verse.Pawn sleeper
L_0117: callvirt IntVec3 get_Position()
L_011c: ldloc.0
L_011d: ldfld Verse.Pawn sleeper
L_0122: callvirt Verse.Map get_Map()
L_0127: ldloc.s 8 (Verse.ThingDef)
L_0129: call ThingRequest ForDef(Verse.ThingDef)
L_012e: ldc.i4.1
L_012f: ldloc.0
L_0130: ldfld Verse.Pawn traveler
L_0135: ldc.i4.3
L_0136: ldc.i4.0
L_0137: ldc.i4.0
L_0138: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_013d: ldc.r4 9999
L_0142: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_0144: ldftn Boolean <>m__0(Verse.Thing)
L_014a: newobj Void .ctor(Object, IntPtr)
L_014f: ldnull
L_0150: ldc.i4.0
L_0151: ldc.i4.m1
L_0152: ldc.i4.0
L_0153: ldc.i4.6
L_0154: ldc.i4.0
L_0155: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_015a: castclass RimWorld.Building_Bed
L_015f: stloc.s 11 (RimWorld.Building_Bed)
L_0161: ldloc.s 11 (RimWorld.Building_Bed)
L_0163: brfalse Label #12
L_0168: ldloc.s 11 (RimWorld.Building_Bed)
L_016a: br Label #0
L_016f: Label #12
L_016f: ldloc.s 9 (System.Int32)
L_0171: ldc.i4.1
L_0172: add
L_0173: stloc.s 9 (System.Int32)
L_0175: Label #9
L_0175: ldloc.s 9 (System.Int32)
L_0177: ldc.i4.2
L_0178: blt Label #13
L_017d: Label #8
L_017d: ldloc.s 7 (System.Int32)
L_017f: ldc.i4.1
L_0180: add
L_0181: stloc.s 7 (System.Int32)
L_0183: Label #6
L_0183: ldloc.s 7 (System.Int32)
L_0185: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_018a: callvirt Int32 get_Count()
L_018f: blt Label #14
L_0194: Label #2
L_0194: ldloc.0
L_0195: ldfld Verse.Pawn sleeper
L_019a: ldfld RimWorld.Pawn_Ownership ownership
L_019f: brfalse Label #15
L_01a4: ldloc.0
L_01a5: ldfld Verse.Pawn sleeper
L_01aa: ldfld RimWorld.Pawn_Ownership ownership
L_01af: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01b4: brfalse Label #16
L_01b9: ldloc.0
L_01ba: ldfld Verse.Pawn sleeper
L_01bf: ldfld RimWorld.Pawn_Ownership ownership
L_01c4: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01c9: stloc.1
L_01ca: ldloc.0
L_01cb: ldfld Verse.Pawn sleeper
L_01d0: stloc.3
L_01d1: ldloc.0
L_01d2: ldfld Verse.Pawn traveler
L_01d7: stloc.2
L_01d8: ldloc.0
L_01d9: ldfld System.Boolean sleeperWillBePrisoner
L_01de: stloc.s 6 (System.Boolean)
L_01e0: ldloc.0
L_01e1: ldfld System.Boolean checkSocialProperness
L_01e6: stloc.s 5 (System.Boolean)
L_01e8: ldloc.0
L_01e9: ldfld System.Boolean ignoreOtherReservations
L_01ee: stloc.s 4 (System.Boolean)
L_01f0: ldloc.1
L_01f1: ldloc.3
L_01f2: ldloc.2
L_01f3: ldloc.s 6 (System.Boolean)
L_01f5: ldloc.s 5 (System.Boolean)
L_01f7: ldc.i4.0
L_01f8: ldloc.s 4 (System.Boolean)
L_01fa: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_01ff: brfalse Label #17
L_0204: ldloc.0
L_0205: ldfld Verse.Pawn sleeper
L_020a: ldfld RimWorld.Pawn_Ownership ownership
L_020f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0214: br Label #0
L_0219: Label #15
L_0219: Label #16
L_0219: Label #17
L_0219: ldloc.0
L_021a: ldfld Verse.Pawn sleeper
L_021f: ldc.i4.0
L_0220: call RimWorld.DirectPawnRelation
ExistingMostLikedLovePartnerRel(Verse.Pawn, Boolean)
L_0225: stloc.s 12 (RimWorld.DirectPawnRelation)
L_0227: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0229: brfalse Label #18
L_022e: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0230: ldfld Verse.Pawn otherPawn
L_0235: ldfld RimWorld.Pawn_Ownership ownership
L_023a: callvirt RimWorld.Building_Bed get_OwnedBed()
L_023f: stloc.s 13 (RimWorld.Building_Bed)
L_0241: ldloc.s 13 (RimWorld.Building_Bed)
L_0243: brfalse Label #19
L_0248: ldloc.s 13 (RimWorld.Building_Bed)
L_024a: stloc.1
L_024b: ldloc.0
L_024c: ldfld Verse.Pawn sleeper
L_0251: stloc.2
L_0252: ldloc.0
L_0253: ldfld Verse.Pawn traveler
L_0258: stloc.3
L_0259: ldloc.0
L_025a: ldfld System.Boolean sleeperWillBePrisoner
L_025f: stloc.s 4 (System.Boolean)
L_0261: ldloc.0
L_0262: ldfld System.Boolean checkSocialProperness
L_0267: stloc.s 5 (System.Boolean)
L_0269: ldloc.0
L_026a: ldfld System.Boolean ignoreOtherReservations
L_026f: stloc.s 6 (System.Boolean)
L_0271: ldloc.1
L_0272: ldloc.2
L_0273: ldloc.3
L_0274: ldloc.s 4 (System.Boolean)
L_0276: ldloc.s 5 (System.Boolean)
L_0278: ldc.i4.0
L_0279: ldloc.s 6 (System.Boolean)
L_027b: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_0280: brfalse Label #20
L_0285: ldloc.s 13 (RimWorld.Building_Bed)
L_0287: br Label #0
L_028c: Label #18
L_028c: Label #19
L_028c: Label #20
L_028c: ldc.i4.0
L_028d: stloc.s 14 (System.Int32)
L_028f: br Label #21
L_0294: Label #29
L_0294: newobj Void .ctor()
L_0299: stloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029b: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029d: ldloc.0
L_029e: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_02a3: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_02a5: ldloc.s 14 (System.Int32)
L_02a7: brtrue Label #22
L_02ac: ldc.i4.1
L_02ad: br Label #23
L_02b2: Label #22
L_02b2: ldc.i4.3
L_02b3: Label #23
L_02b3: stfld Verse.Danger maxDanger
L_02b8: ldc.i4.0
L_02b9: stloc.s 16 (System.Int32)
L_02bb: br Label #24
L_02c0: Label #28
L_02c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_02c5: ldloc.s 16 (System.Int32)
L_02c7: callvirt Verse.ThingDef get_Item(Int32)
L_02cc: stloc.s 17 (Verse.ThingDef)
L_02ce: ldloc.0
L_02cf: ldfld Verse.Pawn sleeper
L_02d4: ldloc.s 17 (Verse.ThingDef)
L_02d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_02db: brtrue Label #25
L_02e0: br Label #26
L_02e5: Label #25
L_02e5: ldloc.0
L_02e6: ldfld Verse.Pawn sleeper
L_02eb: callvirt IntVec3 get_Position()
L_02f0: ldloc.0
L_02f1: ldfld Verse.Pawn sleeper
L_02f6: callvirt Verse.Map get_Map()
L_02fb: ldloc.s 17 (Verse.ThingDef)
L_02fd: call ThingRequest ForDef(Verse.ThingDef)
L_0302: ldc.i4.1
L_0303: ldloc.0
L_0304: ldfld Verse.Pawn traveler
L_0309: ldc.i4.3
L_030a: ldc.i4.0
L_030b: ldc.i4.0
L_030c: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_0311: ldc.r4 9999
L_0316: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_0318: ldftn Boolean <>m__0(Verse.Thing)
L_031e: newobj Void .ctor(Object, IntPtr)
L_0323: ldnull
L_0324: ldc.i4.0
L_0325: ldc.i4.m1
L_0326: ldc.i4.0
L_0327: ldc.i4.6
L_0328: ldc.i4.0
L_0329: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_032e: castclass RimWorld.Building_Bed
L_0333: stloc.s 18 (RimWorld.Building_Bed)
L_0335: ldloc.s 18 (RimWorld.Building_Bed)
L_0337: brfalse Label #27
L_033c: ldloc.s 18 (RimWorld.Building_Bed)
L_033e: br Label #0
L_0343: Label #26
L_0343: Label #27
L_0343: ldloc.s 16 (System.Int32)
L_0345: ldc.i4.1
L_0346: add
L_0347: stloc.s 16 (System.Int32)
L_0349: Label #24
L_0349: ldloc.s 16 (System.Int32)
L_034b: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_0350: callvirt Int32 get_Count()
L_0355: blt Label #28
L_035a: ldloc.s 14 (System.Int32)
L_035c: ldc.i4.1
L_035d: add
L_035e: stloc.s 14 (System.Int32)
L_0360: Label #21
L_0360: ldloc.s 14 (System.Int32)
L_0362: ldc.i4.2
L_0363: blt Label #29
L_0368: ldnull
L_0369: br Label #0
L_036e: Label #0
L_036e: stloc 19 (RimWorld.Building_Bed)
L_0370: ldarga 0
L_0376: ldloca 19 (RimWorld.Building_Bed)
L_0378: ldarga 1
L_037e: ldarga 4
L_0384: ldarga 2
L_038a: ldarga 3
L_0390: call Void FindBedFor_Patch(Verse.Pawn ByRef, RimWorld.Building_Bed ByRef,
Verse.Pawn ByRef, Boolean ByRef, Boolean ByRef, Boolean ByRef)
L_0395: ldloc 19 (RimWorld.Building_Bed)
L_0397: ret
DONE

PATCHING RimWorld.JobGiver_DoLovin Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 1 (Verse.AI.Job)
L_0002: call Verse.TickManager get_TickManager()
L_0007: callvirt Int32 get_TicksGame()
L_000c: ldarg.1
L_000d: ldfld Verse.AI.Pawn_MindState mindState
L_0012: ldfld System.Int32 canLovinTick
L_0017: bge Label #2
L_001c: ldnull
L_001d: br Label #0
L_0022: Label #2
L_0022: ldarg.1
L_0023: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0028: brfalse Label #3
L_002d: ldarg.1
L_002e: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0033: callvirt Boolean get_Medical()
L_0038: brtrue Label #4
L_003d: ldarg.1
L_003e: ldfld Verse.Pawn_HealthTracker health
L_0043: ldfld Verse.PawnCapacitiesHandler capacities
L_0048: callvirt Boolean get_CanBeAwake()
L_004d: brtrue Label #5
L_0052: Label #3
L_0052: Label #4
L_0052: ldnull
L_0053: br Label #0
L_0058: Label #5
L_0058: ldarg.1
L_0059: call Verse.Pawn GetPartnerInMyBed(Verse.Pawn)
L_005e: stloc.0
L_005f: ldloc.0
L_0060: brfalse Label #6
L_0065: ldloc.0
L_0066: ldfld Verse.Pawn_HealthTracker health
L_006b: ldfld Verse.PawnCapacitiesHandler capacities
L_0070: callvirt Boolean get_CanBeAwake()
L_0075: brfalse Label #7
L_007a: call Verse.TickManager get_TickManager()
L_007f: callvirt Int32 get_TicksGame()
L_0084: ldloc.0
L_0085: ldfld Verse.AI.Pawn_MindState mindState
L_008a: ldfld System.Int32 canLovinTick
L_008f: bge Label #8
L_0094: Label #6
L_0094: Label #7
L_0094: ldnull
L_0095: br Label #0
L_009a: Label #8
L_009a: ldarg.1
L_009b: ldloc.0
L_009c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00a1: ldc.i4.1
L_00a2: ldc.i4.m1
L_00a3: ldnull
L_00a4: ldc.i4.0
L_00a5: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00aa: brfalse Label #9
L_00af: ldloc.0
L_00b0: ldarg.1
L_00b1: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00b6: ldc.i4.1
L_00b7: ldc.i4.m1
L_00b8: ldnull
L_00b9: ldc.i4.0
L_00ba: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00bf: brtrue Label #10
L_00c4: Label #9
L_00c4: ldnull
L_00c5: br Label #0
L_00ca: Label #10
L_00ca: ldsfld Verse.JobDef Lovin
L_00cf: ldloc.0
L_00d0: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00d5: ldarg.1
L_00d6: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00db: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00e0: newobj Void .ctor(JobDef, LocalTargetInfo, LocalTargetInfo)
L_00e5: br Label #0
L_00ea: Label #0
L_00ea: stloc 1 (Verse.AI.Job)
L_00eb: ldloca 1 (Verse.AI.Job)
L_00ed: ldarga 1
L_00f3: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_00f8: ldloc 1 (Verse.AI.Job)
L_00f9: ret
DONE

PATCHING RimWorld.JobDriver_Lovin+<MakeNewToils>c__Iterator0 Void <>m__4()


L_0000: Local var #0 RimWorld.Thought_Memory
L_0000: ldsfld RimWorld.ThoughtDef GotSomeLovin
L_0005: call RimWorld.Thought MakeThought(RimWorld.ThoughtDef)
L_000a: castclass RimWorld.Thought_Memory
L_000f: stloc.0
L_0010: ldarg.0
L_0011: ldfld RimWorld.JobDriver_Lovin $this
L_0016: ldfld Verse.Pawn pawn
L_001b: ldfld RimWorld.Pawn_NeedsTracker needs
L_0020: ldfld RimWorld.Need_Mood mood
L_0025: ldfld RimWorld.ThoughtHandler thoughts
L_002a: ldfld RimWorld.MemoryThoughtHandler memories
L_002f: ldloc.0
L_0030: ldarg.0
L_0031: ldfld RimWorld.JobDriver_Lovin $this
L_0036: call Verse.Pawn get_Partner()
L_003b: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_0040: ldarg.0
L_0041: ldfld RimWorld.JobDriver_Lovin $this
L_0046: ldfld Verse.Pawn pawn
L_004b: ldfld Verse.AI.Pawn_MindState mindState
L_0050: call Verse.TickManager get_TickManager()
L_0055: callvirt Int32 get_TicksGame()
L_005a: ldarg.0
L_005b: ldfld RimWorld.JobDriver_Lovin $this
L_0060: ldarg.0
L_0061: ldfld RimWorld.JobDriver_Lovin $this
L_0066: ldfld Verse.Pawn pawn
L_006b: call Int32 GenerateRandomMinTicksToNextLovin(Verse.Pawn)
L_0070: add
L_0071: stfld System.Int32 canLovinTick
L_0076: ldarg.0
L_0077: ldfld RimWorld.JobDriver_Lovin $this
L_007c: ldfld Verse.Pawn pawn
L_0081: ldarg.0
L_0082: ldfld RimWorld.JobDriver_Lovin $this
L_0087: call Verse.Pawn get_Partner()
L_008c: call Void TryToImpregnate(Verse.Pawn, Verse.Pawn)
L_0091: br Label #0
L_0096: Label #0
L_0096: ret
DONE

PATCHING RimWorld.JobDriver_Wear+<MakeNewToils>c__Iterator0 Boolean MoveNext()


L_0000: Local var #0 System.UInt32
L_0000: ldarg.0
L_0001: ldfld System.Int32 $PC
L_0006: stloc.0
L_0007: ldarg.0
L_0008: ldc.i4.m1
L_0009: stfld System.Int32 $PC
L_000e: ldloc.0
L_000f: switch Labels #2 #3 #4 #5
L_0024: br Label #6
L_0029: Label #2
L_0029: ldarg.0
L_002a: ldfld RimWorld.JobDriver_Wear $this
L_002f: call RimWorld.JobDriver_Wear FailOnBaby[JobDriver_Wear]
(RimWorld.JobDriver_Wear)
L_0034: pop
L_0035: ldarg.0
L_0036: newobj Void .ctor()
L_003b: stfld Verse.AI.Toil <gotoApparel>__1
L_0040: ldarg.0
L_0041: ldfld Verse.AI.Toil <gotoApparel>__1
L_0046: ldarg.0
L_0047: ldftn Void <>m__0()
L_004d: newobj Void .ctor(Object, IntPtr)
L_0052: stfld System.Action initAction
L_0057: ldarg.0
L_0058: ldfld Verse.AI.Toil <gotoApparel>__1
L_005d: ldc.i4.2
L_005e: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0063: ldarg.0
L_0064: ldfld Verse.AI.Toil <gotoApparel>__1
L_0069: ldc.i4.1
L_006a: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_006f: pop
L_0070: ldarg.0
L_0071: ldarg.0
L_0072: ldfld Verse.AI.Toil <gotoApparel>__1
L_0077: stfld Verse.AI.Toil $current
L_007c: ldarg.0
L_007d: ldfld System.Boolean $disposing
L_0082: brtrue Label #7
L_0087: ldarg.0
L_0088: ldc.i4.1
L_0089: stfld System.Int32 $PC
L_008e: Label #7
L_008e: br Label #8
L_0093: Label #3
L_0093: ldarg.0
L_0094: newobj Void .ctor()
L_0099: stfld Verse.AI.Toil <prepare>__2
L_009e: ldarg.0
L_009f: ldfld Verse.AI.Toil <prepare>__2
L_00a4: ldc.i4.3
L_00a5: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_00aa: ldarg.0
L_00ab: ldfld Verse.AI.Toil <prepare>__2
L_00b0: ldc.i4.s 60
L_00b2: stfld System.Int32 defaultDuration
L_00b7: ldarg.0
L_00b8: ldfld Verse.AI.Toil <prepare>__2
L_00bd: ldc.i4.1
L_00be: ldc.i4.0
L_00bf: ldc.r4 -0.5
L_00c4: call Verse.AI.Toil WithProgressBarToilDelay(Verse.AI.Toil, TargetIndex,
Boolean, Single)
L_00c9: pop
L_00ca: ldarg.0
L_00cb: ldfld Verse.AI.Toil <prepare>__2
L_00d0: ldc.i4.1
L_00d1: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_00d6: pop
L_00d7: ldarg.0
L_00d8: ldarg.0
L_00d9: ldfld Verse.AI.Toil <prepare>__2
L_00de: stfld Verse.AI.Toil $current
L_00e3: ldarg.0
L_00e4: ldfld System.Boolean $disposing
L_00e9: brtrue Label #9
L_00ee: ldarg.0
L_00ef: ldc.i4.2
L_00f0: stfld System.Int32 $PC
L_00f5: Label #9
L_00f5: br Label #10
L_00fa: Label #4
L_00fa: ldarg.0
L_00fb: newobj Void .ctor()
L_0100: stfld Verse.AI.Toil <wear>__3
L_0105: ldarg.0
L_0106: ldfld Verse.AI.Toil <wear>__3
L_010b: ldarg.0
L_010c: ldftn Void <>m__1()
L_0112: newobj Void .ctor(Object, IntPtr)
L_0117: stfld System.Action initAction
L_011c: ldarg.0
L_011d: ldfld Verse.AI.Toil <wear>__3
L_0122: ldc.i4.1
L_0123: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0128: ldarg.0
L_0129: ldarg.0
L_012a: ldfld Verse.AI.Toil <wear>__3
L_012f: stfld Verse.AI.Toil $current
L_0134: ldarg.0
L_0135: ldfld System.Boolean $disposing
L_013a: brtrue Label #11
L_013f: ldarg.0
L_0140: ldc.i4.3
L_0141: stfld System.Int32 $PC
L_0146: Label #11
L_0146: br Label #12
L_014b: Label #5
L_014b: ldarg.0
L_014c: ldc.i4.m1
L_014d: stfld System.Int32 $PC
L_0152: Label #6
L_0152: ldc.i4.0
L_0153: br Label #0
L_0158: Label #8
L_0158: Label #10
L_0158: Label #12
L_0158: ldc.i4.1
L_0159: br Label #0
L_015e: Label #0
L_015e: ret
DONE

PATCHING RimWorld.ThoughtUtility Boolean CanGetThought(Verse.Pawn,


RimWorld.ThoughtDef)
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 4 (System.Boolean)
L_0007: ldarg.1
L_0008: ldfld System.Boolean validWhileDespawned
L_000d: brtrue Label #2
L_0012: ldarg.0
L_0013: callvirt Boolean get_Spawned()
L_0018: brtrue Label #3
L_001d: ldarg.1
L_001e: callvirt Boolean get_IsMemory()
L_0023: brtrue Label #4
L_0028: ldc.i4.0
L_0029: stloc.0
L_002a: leave Label #5
L_002f: Label #2
L_002f: Label #3
L_002f: Label #4
L_002f: ldarg.1
L_0030: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0035: brfalse Label #6
L_003a: ldc.i4.0
L_003b: stloc.1
L_003c: br Label #7
L_0041: Label #10
L_0041: ldarg.0
L_0042: ldfld RimWorld.Pawn_StoryTracker story
L_0047: ldfld RimWorld.TraitSet traits
L_004c: ldarg.1
L_004d: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0052: ldloc.1
L_0053: callvirt RimWorld.TraitDef get_Item(Int32)
L_0058: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_005d: brfalse Label #8
L_0062: ldc.i4.0
L_0063: stloc.0
L_0064: leave Label #9
L_0069: Label #8
L_0069: ldloc.1
L_006a: ldc.i4.1
L_006b: add
L_006c: stloc.1
L_006d: Label #7
L_006d: ldloc.1
L_006e: ldarg.1
L_006f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0074: callvirt Int32 get_Count()
L_0079: blt Label #10
L_007e: Label #6
L_007e: ldarg.1
L_007f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0084: call Boolean NullOrEmpty[TraitDef](IList`1)
L_0089: brtrue Label #11
L_008e: ldc.i4.0
L_008f: stloc.2
L_0090: ldc.i4.0
L_0091: stloc.3
L_0092: br Label #12
L_0097: Label #19
L_0097: ldarg.0
L_0098: ldfld RimWorld.Pawn_StoryTracker story
L_009d: ldfld RimWorld.TraitSet traits
L_00a2: ldarg.1
L_00a3: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00a8: ldloc.3
L_00a9: callvirt RimWorld.TraitDef get_Item(Int32)
L_00ae: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00b3: brtrue Label #13
L_00b8: leave Label #14
L_00bd: Label #13
L_00bd: ldarg.1
L_00be: callvirt Boolean get_RequiresSpecificTraitsDegree()
L_00c3: brfalse Label #15
L_00c8: ldarg.1
L_00c9: ldfld System.Int32 requiredTraitsDegree
L_00ce: ldarg.0
L_00cf: ldfld RimWorld.Pawn_StoryTracker story
L_00d4: ldfld RimWorld.TraitSet traits
L_00d9: ldarg.1
L_00da: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00df: ldloc.3
L_00e0: callvirt RimWorld.TraitDef get_Item(Int32)
L_00e5: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_00ea: beq Label #16
L_00ef: leave Label #17
L_00f4: Label #15
L_00f4: Label #16
L_00f4: ldc.i4.1
L_00f5: stloc.2
L_00f6: leave Label #18
L_00fb: Label #14
L_00fb: Label #17
L_00fb: ldloc.3
L_00fc: ldc.i4.1
L_00fd: add
L_00fe: stloc.3
L_00ff: Label #12
L_00ff: ldloc.3
L_0100: ldarg.1
L_0101: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0106: callvirt Int32 get_Count()
L_010b: blt Label #19
L_0110: Label #18
L_0110: ldloc.2
L_0111: brtrue Label #20
L_0116: ldc.i4.0
L_0117: stloc.0
L_0118: leave Label #21
L_011d: Label #11
L_011d: Label #20
L_011d: ldarg.1
L_011e: ldfld System.Boolean nullifiedIfNotColonist
L_0123: brfalse Label #22
L_0128: ldarg.0
L_0129: callvirt Boolean get_IsColonist()
L_012e: brtrue Label #23
L_0133: ldc.i4.0
L_0134: stloc.0
L_0135: leave Label #24
L_013a: Label #22
L_013a: Label #23
L_013a: ldarg.1
L_013b: ldarg.0
L_013c: call Boolean IsSituationalThoughtNullifiedByHediffs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0141: brfalse Label #25
L_0146: ldc.i4.0
L_0147: stloc.0
L_0148: leave Label #26
L_014d: Label #25
L_014d: ldarg.1
L_014e: ldarg.0
L_014f: call Boolean IsThoughtNullifiedByOwnTales(RimWorld.ThoughtDef, Verse.Pawn)
L_0154: brfalse Label #27
L_0159: ldc.i4.0
L_015a: stloc.0
L_015b: leave Label #28
L_0160: Label #27
L_0160: leave Label #29
L_0165: endfinally
L_0166: Label #29
L_0166: ldc.i4.1
L_0167: br Label #0
L_016c: Label #5
L_016c: Label #9
L_016c: Label #21
L_016c: Label #24
L_016c: Label #26
L_016c: Label #28
L_016c: ldloc.0
L_016d: br Label #0
L_0172: Label #0
L_0172: stloc 4 (System.Boolean)
L_0174: ldarga 0
L_017a: ldarga 1
L_0180: ldloca 4 (System.Boolean)
L_0182: call Void CanGetThought_Patch(Verse.Pawn ByRef, RimWorld.ThoughtDef ByRef,
Boolean ByRef)
L_0187: ldloc 4 (System.Boolean)
L_0189: ret
DONE

PATCHING RimWorld.JobGiver_SocialFighting Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Verb
L_0000: Local var #2 Verse.AI.Job
L_0000: Local var #3 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 3 (Verse.AI.Job)
L_0002: ldarg.1
L_0003: callvirt Verse.RaceProperties get_RaceProps()
L_0008: callvirt Boolean get_Humanlike()
L_000d: brfalse Label #2
L_0012: ldarg.1
L_0013: ldfld RimWorld.Pawn_StoryTracker story
L_0018: ldc.i4.8
L_0019: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_001e: brfalse Label #3
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: Label #3
L_0029: ldarg.1
L_002a: callvirt Verse.AI.MentalState get_MentalState()
L_002f: castclass Verse.AI.MentalState_SocialFighting
L_0034: ldfld Verse.Pawn otherPawn
L_0039: stloc.0
L_003a: ldarg.1
L_003b: ldloca.s 1 (Verse.Verb)
L_003d: call Boolean TryGetRandomVerbForSocialFight(Verse.Pawn, Verse.Verb ByRef)
L_0042: brtrue Label #4
L_0047: ldnull
L_0048: br Label #0
L_004d: Label #4
L_004d: ldsfld Verse.JobDef SocialFight
L_0052: ldloc.0
L_0053: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0058: newobj Void .ctor(JobDef, LocalTargetInfo)
L_005d: stloc.2
L_005e: ldloc.2
L_005f: ldc.i4.1
L_0060: stfld System.Int32 maxNumMeleeAttacks
L_0065: ldloc.2
L_0066: ldloc.1
L_0067: stfld Verse.Verb verbToUse
L_006c: ldloc.2
L_006d: br Label #0
L_0072: Label #0
L_0072: stloc 3 (Verse.AI.Job)
L_0073: ldarga 1
L_0079: ldloca 3 (Verse.AI.Job)
L_007b: call Void TryGiveJob_Postfix(Verse.Pawn ByRef, Verse.AI.Job ByRef)
L_0080: ldloc 3 (Verse.AI.Job)
L_0081: ret
DONE

PATCHING RimWorld.Pawn_ApparelTracker Void ApparelChanged()


L_0000: ldarg.0
L_0001: ldftn Void <ApparelChanged>m__1()
L_0007: newobj Void .ctor(Object, IntPtr)
L_000c: call Void ExecuteWhenFinished(System.Action)
L_0011: br Label #0
L_0016: Label #0
L_0016: ldarga 0
L_001c: call Void ApparelChanged_Postfix(RimWorld.Pawn_ApparelTracker ByRef)
L_0021: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveAllGraphics()


L_0000: Local var #0 Verse.PawnKindLifeStage
L_0000: ldarg.0
L_0001: call Void ClearCache()
L_0006: ldarg.0
L_0007: ldfld Verse.Pawn pawn
L_000c: callvirt Verse.RaceProperties get_RaceProps()
L_0011: callvirt Boolean get_Humanlike()
L_0016: brfalse Label #2
L_001b: ldarg.0
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_StoryTracker story
L_0027: ldfld RimWorld.BodyType bodyType
L_002c: ldsfld UnityEngine.Shader CutoutSkin
L_0031: ldarg.0
L_0032: ldfld Verse.Pawn pawn
L_0037: ldfld RimWorld.Pawn_StoryTracker story
L_003c: callvirt Color get_SkinColor()
L_0041: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_0046: stfld Verse.Graphic nakedGraphic
L_004b: ldarg.0
L_004c: ldarg.0
L_004d: ldfld Verse.Pawn pawn
L_0052: ldfld RimWorld.Pawn_StoryTracker story
L_0057: ldfld RimWorld.BodyType bodyType
L_005c: ldsfld UnityEngine.Shader CutoutSkin
L_0061: ldsfld UnityEngine.Color RottingColor
L_0066: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_006b: stfld Verse.Graphic rottingGraphic
L_0070: ldarg.0
L_0071: ldstr "Things/Pawn/Humanlike/HumanoidDessicated"
L_0076: ldsfld UnityEngine.Shader Cutout
L_007b: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader)
L_0080: stfld Verse.Graphic dessicatedGraphic
L_0085: ldarg.0
L_0086: ldarg.0
L_0087: ldfld Verse.Pawn pawn
L_008c: ldfld RimWorld.Pawn_StoryTracker story
L_0091: callvirt System.String get_HeadGraphicPath()
L_0096: ldarg.0
L_0097: ldfld Verse.Pawn pawn
L_009c: ldfld RimWorld.Pawn_StoryTracker story
L_00a1: callvirt Color get_SkinColor()
L_00a6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00ab: stfld Verse.Graphic headGraphic
L_00b0: ldarg.0
L_00b1: ldarg.0
L_00b2: ldfld Verse.Pawn pawn
L_00b7: ldfld RimWorld.Pawn_StoryTracker story
L_00bc: callvirt System.String get_HeadGraphicPath()
L_00c1: ldsfld UnityEngine.Color RottingColor
L_00c6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00cb: stfld Verse.Graphic desiccatedHeadGraphic
L_00d0: ldarg.0
L_00d1: call Verse.Graphic_Multi GetSkull()
L_00d6: stfld Verse.Graphic skullGraphic
L_00db: ldarg.0
L_00dc: ldarg.0
L_00dd: ldfld Verse.Pawn pawn
L_00e2: ldfld RimWorld.Pawn_StoryTracker story
L_00e7: callvirt Color get_SkinColor()
L_00ec: call Verse.Graphic_Multi GetStump(Color)
L_00f1: stfld Verse.Graphic headStumpGraphic
L_00f6: ldarg.0
L_00f7: ldsfld UnityEngine.Color RottingColor
L_00fc: call Verse.Graphic_Multi GetStump(Color)
L_0101: stfld Verse.Graphic desiccatedHeadStumpGraphic
L_0106: ldarg.0
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld RimWorld.Pawn_StoryTracker story
L_0112: ldfld RimWorld.HairDef hairDef
L_0117: ldfld System.String texPath
L_011c: ldsfld UnityEngine.Shader Cutout
L_0121: call Vector2 get_one()
L_0126: ldarg.0
L_0127: ldfld Verse.Pawn pawn
L_012c: ldfld RimWorld.Pawn_StoryTracker story
L_0131: ldfld UnityEngine.Color hairColor
L_0136: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_013b: stfld Verse.Graphic hairGraphic
L_0140: ldarg.0
L_0141: call Void ResolveApparelGraphics()
L_0146: br Label #3
L_014b: Label #2
L_014b: ldarg.0
L_014c: ldfld Verse.Pawn pawn
L_0151: ldfld Verse.Pawn_AgeTracker ageTracker
L_0156: callvirt Verse.PawnKindLifeStage get_CurKindLifeStage()
L_015b: stloc.0
L_015c: ldarg.0
L_015d: ldfld Verse.Pawn pawn
L_0162: ldfld Verse.Gender gender
L_0167: ldc.i4.2
L_0168: bne.un Label #4
L_016d: ldloc.0
L_016e: ldfld Verse.GraphicData femaleGraphicData
L_0173: brtrue Label #5
L_0178: Label #4
L_0178: ldarg.0
L_0179: ldloc.0
L_017a: ldfld Verse.GraphicData bodyGraphicData
L_017f: callvirt Verse.Graphic get_Graphic()
L_0184: stfld Verse.Graphic nakedGraphic
L_0189: br Label #6
L_018e: Label #5
L_018e: ldarg.0
L_018f: ldloc.0
L_0190: ldfld Verse.GraphicData femaleGraphicData
L_0195: callvirt Verse.Graphic get_Graphic()
L_019a: stfld Verse.Graphic nakedGraphic
L_019f: Label #6
L_019f: ldarg.0
L_01a0: ldarg.0
L_01a1: ldfld Verse.Graphic nakedGraphic
L_01a6: ldsfld UnityEngine.Shader CutoutSkin
L_01ab: ldsfld UnityEngine.Color RottingColor
L_01b0: ldsfld UnityEngine.Color RottingColor
L_01b5: callvirt Verse.Graphic GetColoredVersion(UnityEngine.Shader, Color, Color)
L_01ba: stfld Verse.Graphic rottingGraphic
L_01bf: ldarg.0
L_01c0: ldfld Verse.Pawn pawn
L_01c5: callvirt Verse.RaceProperties get_RaceProps()
L_01ca: ldfld System.Boolean packAnimal
L_01cf: brfalse Label #7
L_01d4: ldarg.0
L_01d5: ldarg.0
L_01d6: ldfld Verse.Graphic nakedGraphic
L_01db: ldfld System.String path
L_01e0: ldstr "Pack"
L_01e5: call System.String Concat(System.String, System.String)
L_01ea: ldsfld UnityEngine.Shader Cutout
L_01ef: ldarg.0
L_01f0: ldfld Verse.Graphic nakedGraphic
L_01f5: ldfld UnityEngine.Vector2 drawSize
L_01fa: call Color get_white()
L_01ff: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_0204: stfld Verse.Graphic packGraphic
L_0209: Label #7
L_0209: ldloc.0
L_020a: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_020f: brfalse Label #8
L_0214: ldarg.0
L_0215: ldloc.0
L_0216: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_021b: ldarg.0
L_021c: ldfld Verse.Pawn pawn
L_0221: callvirt Verse.Graphic GraphicColoredFor(Verse.Thing)
L_0226: stfld Verse.Graphic dessicatedGraphic
L_022b: Label #3
L_022b: Label #8
L_022b: br Label #0
L_0230: Label #0
L_0230: ldarga 0
L_0236: call Void ResolveAllGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_023b: ret
DONE
PATCHING Verse.PawnGraphicSet Void ResolveApparelGraphics()
L_0000: Local var #0 RimWorld.Apparel
L_0000: Local var #1 System.Collections.Generic.IEnumerator`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 RimWorld.ApparelGraphicRecord
L_0000: ldarga 0
L_0006: call Void ResolveApparelGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_000b: ldarg.0
L_000c: call Void ClearCache()
L_0011: ldarg.0
L_0012: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0017: callvirt Void Clear()
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0027: callvirt IEnumerable`1 get_WornApparelInDrawOrder()
L_002c: callvirt IEnumerator`1 GetEnumerator()
L_0031: stloc.1
L_0032: br Label #2
L_0037: Label #4
L_0037: ldloc.1
L_0038: callvirt RimWorld.Apparel get_Current()
L_003d: stloc.0
L_003e: ldloc.0
L_003f: ldarg.0
L_0040: ldfld Verse.Pawn pawn
L_0045: call BodyType ModifyChildBodyType(Verse.Pawn)
L_004a: ldloca.s 2 (RimWorld.ApparelGraphicRecord)
L_004c: call Boolean TryGetGraphicApparel(RimWorld.Apparel, BodyType,
ApparelGraphicRecord ByRef)
L_0051: brfalse Label #3
L_0056: ldarg.0
L_0057: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_005c: ldloc.2
L_005d: callvirt Void Add(ApparelGraphicRecord)
L_0062: Label #2
L_0062: Label #3
L_0062: ldloc.1
L_0063: callvirt Boolean MoveNext()
L_0068: brtrue Label #4
L_006d: leave Label #5
L_0072: ldloc.1
L_0073: brfalse Label #6
L_0078: ldloc.1
L_0079: callvirt Void Dispose()
L_007e: Label #6
L_007e: endfinally
L_007f: Label #5
L_007f: br Label #0
L_0084: Label #0
L_0084: ret
DONE

PATCHING Verse.PawnRenderer Void RenderPawnInternal(Vector3, Quaternion, Boolean,


Rot4, Rot4, RotDrawMode, Boolean, Boolean)
L_0000: Local var #0 UnityEngine.Mesh
L_0000: Local var #1 UnityEngine.Vector3
L_0000: Local var #2 System.Collections.Generic.List`1[[UnityEngine.Material,
UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 System.Int32
L_0000: Local var #4 UnityEngine.Material
L_0000: Local var #5 UnityEngine.Vector3
L_0000: Local var #6 UnityEngine.Vector3
L_0000: Local var #7 UnityEngine.Vector3
L_0000: Local var #8 UnityEngine.Vector3
L_0000: Local var #9 UnityEngine.Material
L_0000: Local var #10 UnityEngine.Mesh
L_0000: Local var #11 UnityEngine.Vector3
L_0000: Local var #12 System.Boolean
L_0000: Local var #13 UnityEngine.Mesh
L_0000: Local var #14
System.Collections.Generic.List`1[[RimWorld.ApparelGraphicRecord, Assembly-CSharp,
Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #15 System.Int32
L_0000: Local var #16 RimWorld.ApparelGraphicRecord
L_0000: Local var #17 RimWorld.ApparelGraphicRecord
L_0000: Local var #18 UnityEngine.Material
L_0000: Local var #19 RimWorld.ApparelGraphicRecord
L_0000: Local var #20 UnityEngine.Material
L_0000: Local var #21 RimWorld.ApparelGraphicRecord
L_0000: Local var #22 UnityEngine.Vector3
L_0000: Local var #23 UnityEngine.Mesh
L_0000: Local var #24 UnityEngine.Material
L_0000: Local var #25 System.Int32
L_0000: Local var #26 RimWorld.ApparelGraphicRecord
L_0000: Local var #27 UnityEngine.Material
L_0000: Local var #28 System.Collections.Generic.List`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #29 System.Int32
L_0000: Local var #30 UnityEngine.Vector3
L_0000: ldarg.0
L_0001: ldfld Verse.PawnGraphicSet graphics
L_0006: callvirt Boolean get_AllResolved()
L_000b: brtrue Label #2
L_0010: ldarg.0
L_0011: ldfld Verse.PawnGraphicSet graphics
L_0016: callvirt Void ResolveAllGraphics()
L_001b: Label #2
L_001b: ldnull
L_001c: stloc.0
L_001d: ldarg.0
L_001e: ldfld Verse.Pawn pawn
L_0023: ldfld Verse.Pawn_AgeTracker ageTracker
L_0028: call Int32 get_CurLifeStageIndex()
L_002d: ldc.i4.2
L_002e: blt Label #43
L_0033: ldarg.3
L_0034: brfalse Label #3
L_0039: Label #43
L_0039: ldarg.1
L_003a: ldarg.0
L_003b: ldfld Verse.Pawn pawn
L_0040: ldarg.s 7
L_0045: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_004a: stloc.1
L_004b: ldloca.s 1 (UnityEngine.Vector3)
L_004d: dup
L_004e: ldfld System.Single y
L_0053: ldc.r4 0.0078125
L_0058: add
L_0059: stfld System.Single y
L_005e: ldarg.s 6
L_0060: ldc.i4.2
L_0061: bne.un Label #4
L_0066: ldarg.0
L_0067: ldfld Verse.Pawn pawn
L_006c: callvirt Verse.RaceProperties get_RaceProps()
L_0071: callvirt Boolean get_Humanlike()
L_0076: brtrue Label #5
L_007b: ldarg.0
L_007c: ldfld Verse.PawnGraphicSet graphics
L_0081: ldfld Verse.Graphic dessicatedGraphic
L_0086: brfalse Label #6
L_008b: ldarg.s 7
L_008d: brtrue Label #7
L_0092: ldarg.0
L_0093: ldfld Verse.PawnGraphicSet graphics
L_0098: ldfld Verse.Graphic dessicatedGraphic
L_009d: ldloc.1
L_009e: ldarg.s 4
L_00a0: ldarg.0
L_00a1: ldfld Verse.Pawn pawn
L_00a6: ldc.r4 0
L_00ab: callvirt Void Draw(Vector3, Rot4, Verse.Thing, Single)
L_00b0: br Label #8
L_00b5: Label #4
L_00b5: Label #5
L_00b5: Label #6
L_00b5: Label #7
L_00b5: ldarg.0
L_00b6: ldfld Verse.Pawn pawn
L_00bb: callvirt Verse.RaceProperties get_RaceProps()
L_00c0: callvirt Boolean get_Humanlike()
L_00c5: brfalse Label #9
L_00ca: ldsfld Verse.GraphicMeshSet humanlikeBodySet
L_00cf: ldarg.s 4
L_00d1: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00d6: stloc.0
L_00d7: br Label #10
L_00dc: Label #9
L_00dc: ldarg.0
L_00dd: ldfld Verse.PawnGraphicSet graphics
L_00e2: ldfld Verse.Graphic nakedGraphic
L_00e7: ldarg.s 4
L_00e9: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00ee: stloc.0
L_00ef: Label #10
L_00ef: ldarg.0
L_00f0: ldfld Verse.PawnGraphicSet graphics
L_00f5: ldarg.s 4
L_00f7: ldarg.s 6
L_00f9: callvirt System.Collections.Generic.List`1[UnityEngine.Material]
MatsBodyBaseAt(Rot4, RotDrawMode)
L_00fe: stloc.2
L_00ff: ldc.i4.0
L_0100: stloc.3
L_0101: br Label #11
L_0106: Label #12
L_0106: ldarg.0
L_0107: ldfld Verse.PawnGraphicSet graphics
L_010c: ldfld Verse.DamageFlasher flasher
L_0111: ldloc.2
L_0112: ldloc.3
L_0113: callvirt UnityEngine.Material get_Item(Int32)
L_0118: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_011d: stloc.s 4 (UnityEngine.Material)
L_011f: ldloc.s 4
L_0124: ldarg.0
L_0125: ldfld Verse.Pawn pawn
L_012a: ldarg.s 4
L_012f: call UnityEngine.Material ModifyClothingForChild(UnityEngine.Material,
Verse.Pawn, Rot4)
L_0134: stloc.s 4
L_0139: ldloc.0
L_013a: ldloc.1
L_013b: ldarg.2
L_013c: ldloc.s 4 (UnityEngine.Material)
L_013e: ldarg.s 7
L_0140: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_0145: ldloca.s 1 (UnityEngine.Vector3)
L_0147: dup
L_0148: ldfld System.Single y
L_014d: ldloc.s 18
L_0152: ldarg.0
L_0153: ldfld Verse.Pawn pawn
L_0158: call UnityEngine.Material ModifyHatForChild(UnityEngine.Material,
Verse.Pawn)
L_015d: stloc.s 18
L_0162: ldc.r4 0.00390625
L_0167: add
L_0168: stfld System.Single y
L_016d: ldloc.3
L_016e: ldc.i4.1
L_016f: add
L_0170: stloc.3
L_0171: Label #11
L_0171: ldloc.3
L_0172: ldloc.2
L_0173: callvirt Int32 get_Count()
L_0178: blt Label #12
L_017d: ldarg.s 6
L_017f: brtrue Label #13
L_0184: ldarg.1
L_0185: ldarg.0
L_0186: ldfld Verse.Pawn pawn
L_018b: ldarg.s 7
L_0190: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0195: stloc.s 5 (UnityEngine.Vector3)
L_0197: ldloca.s 5 (UnityEngine.Vector3)
L_0199: dup
L_019a: ldfld System.Single y
L_019f: ldc.r4 0.01953125
L_01a4: add
L_01a5: stfld System.Single y
L_01aa: ldarg.0
L_01ab: ldfld RimWorld.PawnWoundDrawer woundOverlays
L_01b0: ldloc.s 5 (UnityEngine.Vector3)
L_01b2: ldloc.0
L_01b3: ldarg.2
L_01b4: ldarg.s 7
L_01b6: callvirt Void RenderOverBody(Vector3, UnityEngine.Mesh, Quaternion,
Boolean)
L_01bb: Label #3
L_01bb: Label #8
L_01bb: Label #13
L_01bb: ldarg.1
L_01bc: ldarg.0
L_01bd: ldfld Verse.Pawn pawn
L_01c2: ldarg.s 7
L_01c7: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01cc: stloc.s 6 (UnityEngine.Vector3)
L_01ce: ldarg.1
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldarg.s 7
L_01da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01df: stloc.s 7 (UnityEngine.Vector3)
L_01e1: ldarg.s 4
L_01e3: call Rot4 get_North()
L_01e8: call Boolean op_Inequality(Rot4, Rot4)
L_01ed: brfalse Label #14
L_01f2: ldloca.s 7 (UnityEngine.Vector3)
L_01f4: dup
L_01f5: ldfld System.Single y
L_01fa: ldc.r4 0.02734375
L_01ff: add
L_0200: stfld System.Single y
L_0205: ldloca.s 6 (UnityEngine.Vector3)
L_0207: dup
L_0208: ldfld System.Single y
L_020d: ldc.r4 0.0234375
L_0212: add
L_0213: stfld System.Single y
L_0218: br Label #15
L_021d: Label #14
L_021d: ldloca.s 7 (UnityEngine.Vector3)
L_021f: dup
L_0220: ldfld System.Single y
L_0225: ldc.r4 0.0234375
L_022a: add
L_022b: stfld System.Single y
L_0230: ldloca.s 6 (UnityEngine.Vector3)
L_0232: dup
L_0233: ldfld System.Single y
L_0238: ldc.r4 0.02734375
L_023d: add
L_023e: stfld System.Single y
L_0243: Label #15
L_0243: ldarg.0
L_0244: ldfld Verse.PawnGraphicSet graphics
L_0249: ldfld Verse.Graphic headGraphic
L_024e: brfalse Label #16
L_0253: ldarg.0
L_0254: ldfld Verse.Pawn pawn
L_0259: call Boolean RaceUsesChildren(Verse.Pawn)
L_025e: brfalse Label #44
L_0263: ldarg.0
L_0264: ldfld Verse.Pawn pawn
L_0269: call Boolean EnsurePawnIsChildOrOlder(Verse.Pawn)
L_026e: brfalse Label #16
L_0273: Label #44
L_0273: nop
L_0274: ldarg.2
L_0275: ldarg.0
L_0276: ldarg.s 5
L_0278: call Vector3 BaseHeadOffsetAt(Rot4)
L_027d: call Vector3 op_Multiply(Quaternion, Vector3)
L_0282: stloc.s 8 (UnityEngine.Vector3)
L_0284: ldarg.0
L_0285: ldfld Verse.PawnGraphicSet graphics
L_028a: ldarg.s 5
L_028c: ldarg.s 6
L_028e: ldarg.s 8
L_0290: callvirt UnityEngine.Material HeadMatAt(Rot4, RotDrawMode, Boolean)
L_0295: stloc.s 9 (UnityEngine.Material)
L_0297: ldloc.s 9 (UnityEngine.Material)
L_0299: ldnull
L_029a: call Boolean op_Inequality(UnityEngine.Object, UnityEngine.Object)
L_029f: brfalse Label #17
L_02a4: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_02a9: ldarg.s 5
L_02ab: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_02b0: stloc.s 10 (UnityEngine.Mesh)
L_02b2: ldloc.s 10 (UnityEngine.Mesh)
L_02b4: ldloc.s 7 (UnityEngine.Vector3)
L_02b6: ldloc.s 8 (UnityEngine.Vector3)
L_02b8: call Vector3 op_Addition(Vector3, Vector3)
L_02bd: ldarg.2
L_02be: ldloc.s 9 (UnityEngine.Material)
L_02c0: ldarg.s 7
L_02c2: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_02c7: Label #17
L_02c7: ldarg.1
L_02c8: ldloc.s 8 (UnityEngine.Vector3)
L_02ca: call Vector3 op_Addition(Vector3, Vector3)
L_02cf: ldarg.0
L_02d0: ldfld Verse.Pawn pawn
L_02d5: ldarg.s 7
L_02da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_02df: stloc.s 11 (UnityEngine.Vector3)
L_02e1: ldloca.s 11 (UnityEngine.Vector3)
L_02e3: dup
L_02e4: ldfld System.Single y
L_02e9: ldc.r4 0.03125
L_02ee: add
L_02ef: stfld System.Single y
L_02f4: ldc.i4.0
L_02f5: stloc.s 12 (System.Boolean)
L_02f7: ldarg.s 7
L_02f9: brfalse Label #18
L_02fe: call Boolean get_HatsOnlyOnMap()
L_0303: brtrue Label #19
L_0308: Label #18
L_0308: ldarg.0
L_0309: ldfld Verse.PawnGraphicSet graphics
L_030e: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_0313: ldarg.s 5
L_0315: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_031a: stloc.s 13 (UnityEngine.Mesh)
L_031c: ldarg.0
L_031d: ldfld Verse.PawnGraphicSet graphics
L_0322: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0327: stloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0329: ldc.i4.0
L_032a: stloc.s 15 (System.Int32)
L_032c: br Label #20
L_0331: Label #26
L_0331: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0333: ldloc.s 15 (System.Int32)
L_0335: callvirt ApparelGraphicRecord get_Item(Int32)
L_033a: stloc.s 16 (RimWorld.ApparelGraphicRecord)
L_033c: ldloca.s 16 (RimWorld.ApparelGraphicRecord)
L_033e: ldfld RimWorld.Apparel sourceApparel
L_0343: ldfld Verse.ThingDef def
L_0348: ldfld RimWorld.ApparelProperties apparel
L_034d: callvirt ApparelLayer get_LastLayer()
L_0352: ldc.i4.4
L_0353: bne.un Label #21
L_0358: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_035a: ldloc.s 15 (System.Int32)
L_035c: callvirt ApparelGraphicRecord get_Item(Int32)
L_0361: stloc.s 17 (RimWorld.ApparelGraphicRecord)
L_0363: ldloca.s 17 (RimWorld.ApparelGraphicRecord)
L_0365: ldfld RimWorld.Apparel sourceApparel
L_036a: ldfld Verse.ThingDef def
L_036f: ldfld RimWorld.ApparelProperties apparel
L_0374: ldfld System.Boolean hatRenderedFrontOfFace
L_0379: brtrue Label #22
L_037e: ldc.i4.1
L_037f: stloc.s 12 (System.Boolean)
L_0381: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0383: ldloc.s 15 (System.Int32)
L_0385: callvirt ApparelGraphicRecord get_Item(Int32)
L_038a: stloc.s 19 (RimWorld.ApparelGraphicRecord)
L_038c: ldloca.s 19 (RimWorld.ApparelGraphicRecord)
L_038e: ldfld Verse.Graphic graphic
L_0393: ldarg.s 4
L_0395: ldnull
L_0396: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_039b: stloc.s 18 (UnityEngine.Material)
L_039d: ldarg.0
L_039e: ldfld Verse.PawnGraphicSet graphics
L_03a3: ldfld Verse.DamageFlasher flasher
L_03a8: ldloc.s 18 (UnityEngine.Material)
L_03aa: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03af: stloc.s 18 (UnityEngine.Material)
L_03b1: ldloc.s 13 (UnityEngine.Mesh)
L_03b3: ldloc.s 11 (UnityEngine.Vector3)
L_03b5: ldarg.2
L_03b6: ldloc.s 18 (UnityEngine.Material)
L_03b8: ldarg.s 7
L_03ba: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_03bf: br Label #23
L_03c4: Label #22
L_03c4: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_03c6: ldloc.s 15 (System.Int32)
L_03c8: callvirt ApparelGraphicRecord get_Item(Int32)
L_03cd: stloc.s 21 (RimWorld.ApparelGraphicRecord)
L_03cf: ldloca.s 21 (RimWorld.ApparelGraphicRecord)
L_03d1: ldfld Verse.Graphic graphic
L_03d6: ldarg.s 4
L_03d8: ldnull
L_03d9: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_03de: stloc.s 20 (UnityEngine.Material)
L_03e0: ldarg.0
L_03e1: ldfld Verse.PawnGraphicSet graphics
L_03e6: ldfld Verse.DamageFlasher flasher
L_03eb: ldloc.s 20 (UnityEngine.Material)
L_03ed: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03f2: stloc.s 20 (UnityEngine.Material)
L_03f4: ldarg.1
L_03f5: ldloc.s 8 (UnityEngine.Vector3)
L_03f7: call Vector3 op_Addition(Vector3, Vector3)
L_03fc: stloc.s 22 (UnityEngine.Vector3)
L_03fe: ldloca.s 22 (UnityEngine.Vector3)
L_0400: dup
L_0401: ldfld System.Single y
L_0406: ldarg.s 4
L_0408: call Rot4 get_North()
L_040d: call Boolean op_Equality(Rot4, Rot4)
L_0412: brfalse Label #24
L_0417: ldc.r4 0.00390625
L_041c: br Label #25
L_0421: Label #24
L_0421: ldc.r4 0.03515625
L_0426: Label #25
L_0426: add
L_0427: stfld System.Single y
L_042c: ldloc.s 13 (UnityEngine.Mesh)
L_042e: ldloc.s 22 (UnityEngine.Vector3)
L_0430: ldarg.2
L_0431: ldloc.s 20 (UnityEngine.Material)
L_0433: ldarg.s 7
L_0435: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_043a: Label #21
L_043a: Label #23
L_043a: ldloc.s 15 (System.Int32)
L_043c: ldc.i4.1
L_043d: add
L_043e: stloc.s 15 (System.Int32)
L_0440: Label #20
L_0440: ldloc.s 15 (System.Int32)
L_0442: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0444: callvirt Int32 get_Count()
L_0449: blt Label #26
L_044e: Label #19
L_044e: ldloc.s 12 (System.Boolean)
L_0450: brtrue Label #27
L_0455: ldarg.s 6
L_0457: ldc.i4.2
L_0458: beq Label #28
L_045d: ldarg.s 8
L_045f: brtrue Label #29
L_0464: ldarg.0
L_0465: ldfld Verse.PawnGraphicSet graphics
L_046a: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_046f: ldarg.s 5
L_0471: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0476: stloc.s 23 (UnityEngine.Mesh)
L_0478: ldarg.0
L_0479: ldfld Verse.PawnGraphicSet graphics
L_047e: ldarg.s 5
L_0480: callvirt UnityEngine.Material HairMatAt(Rot4)
L_0485: stloc.s 24 (UnityEngine.Material)
L_0487: ldloc.s 24
L_048c: ldarg.0
L_048d: ldfld Verse.Pawn pawn
L_0492: call UnityEngine.Material ModifyHairForChild(UnityEngine.Material,
Verse.Pawn)
L_0497: stloc.s 24
L_049c: ldloc.s 23 (UnityEngine.Mesh)
L_049e: ldloc.s 11 (UnityEngine.Vector3)
L_04a0: ldarg.2
L_04a1: ldloc.s 24 (UnityEngine.Material)
L_04a3: ldarg.s 7
L_04a5: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_04aa: Label #16
L_04aa: Label #27
L_04aa: Label #28
L_04aa: Label #29
L_04aa: ldarg.3
L_04ab: brfalse Label #30
L_04b0: ldc.i4.0
L_04b1: stloc.s 25 (System.Int32)
L_04b3: br Label #31
L_04b8: Label #33
L_04b8: ldarg.0
L_04b9: ldfld Verse.PawnGraphicSet graphics
L_04be: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_04c3: ldloc.s 25 (System.Int32)
L_04c5: callvirt ApparelGraphicRecord get_Item(Int32)
L_04ca: stloc.s 26 (RimWorld.ApparelGraphicRecord)
L_04cc: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ce: ldfld RimWorld.Apparel sourceApparel
L_04d3: ldfld Verse.ThingDef def
L_04d8: ldfld RimWorld.ApparelProperties apparel
L_04dd: callvirt ApparelLayer get_LastLayer()
L_04e2: ldc.i4.2
L_04e3: bne.un Label #32
L_04e8: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ea: ldfld Verse.Graphic graphic
L_04ef: ldarg.s 4
L_04f1: ldnull
L_04f2: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_04f7: stloc.s 27 (UnityEngine.Material)
L_04f9: ldarg.0
L_04fa: ldfld Verse.PawnGraphicSet graphics
L_04ff: ldfld Verse.DamageFlasher flasher
L_0504: ldloc.s 27 (UnityEngine.Material)
L_0506: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_050b: stloc.s 27 (UnityEngine.Material)
L_050d: ldloc.0
L_050e: ldloc.s 6 (UnityEngine.Vector3)
L_0510: ldarg.2
L_0511: ldloc.s 27 (UnityEngine.Material)
L_0513: ldarg.s 7
L_0515: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_051a: Label #32
L_051a: ldloc.s 25 (System.Int32)
L_051c: ldc.i4.1
L_051d: add
L_051e: stloc.s 25 (System.Int32)
L_0520: Label #31
L_0520: ldloc.s 25 (System.Int32)
L_0522: ldarg.0
L_0523: ldfld Verse.PawnGraphicSet graphics
L_0528: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_052d: callvirt Int32 get_Count()
L_0532: blt Label #33
L_0537: Label #30
L_0537: ldarg.s 7
L_0539: brtrue Label #34
L_053e: ldarg.0
L_053f: ldfld Verse.Pawn pawn
L_0544: callvirt Verse.RaceProperties get_RaceProps()
L_0549: callvirt Boolean get_Animal()
L_054e: brfalse Label #35
L_0553: ldarg.0
L_0554: ldfld Verse.Pawn pawn
L_0559: ldfld Verse.Pawn_InventoryTracker inventory
L_055e: brfalse Label #36
L_0563: ldarg.0
L_0564: ldfld Verse.Pawn pawn
L_0569: ldfld Verse.Pawn_InventoryTracker inventory
L_056e: ldfld Verse.ThingOwner`1[Verse.Thing] innerContainer
L_0573: callvirt Int32 get_Count()
L_0578: ldc.i4.0
L_0579: ble Label #37
L_057e: ldarg.0
L_057f: ldfld Verse.PawnGraphicSet graphics
L_0584: ldfld Verse.Graphic packGraphic
L_0589: brfalse Label #38
L_058e: ldloc.0
L_058f: ldloc.s 6 (UnityEngine.Vector3)
L_0591: ldarg.2
L_0592: ldarg.0
L_0593: ldfld Verse.PawnGraphicSet graphics
L_0598: ldfld Verse.Graphic packGraphic
L_059d: ldarg.s 4
L_059f: ldnull
L_05a0: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_05a5: ldc.i4.0
L_05a6: call Void DrawMesh(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Int32)
L_05ab: Label #34
L_05ab: Label #35
L_05ab: Label #36
L_05ab: Label #37
L_05ab: Label #38
L_05ab: ldarg.s 7
L_05ad: brtrue Label #39
L_05b2: ldarg.0
L_05b3: ldarg.1
L_05b4: call Void DrawEquipment(Vector3)
L_05b9: ldarg.0
L_05ba: ldfld Verse.Pawn pawn
L_05bf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05c4: brfalse Label #40
L_05c9: ldarg.0
L_05ca: ldfld Verse.Pawn pawn
L_05cf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05d4: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_05d9: stloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05db: ldc.i4.0
L_05dc: stloc.s 29 (System.Int32)
L_05de: br Label #41
L_05e3: Label #42
L_05e3: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05e5: ldloc.s 29 (System.Int32)
L_05e7: callvirt RimWorld.Apparel get_Item(Int32)
L_05ec: callvirt Void DrawWornExtras()
L_05f1: ldloc.s 29 (System.Int32)
L_05f3: ldc.i4.1
L_05f4: add
L_05f5: stloc.s 29 (System.Int32)
L_05f7: Label #41
L_05f7: ldloc.s 29 (System.Int32)
L_05f9: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05fb: callvirt Int32 get_Count()
L_0600: blt Label #42
L_0605: Label #40
L_0605: ldarg.1
L_0606: ldarg.0
L_0607: ldfld Verse.Pawn pawn
L_060c: ldarg.s 7
L_0611: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0616: stloc.s 30 (UnityEngine.Vector3)
L_0618: ldloca.s 30 (UnityEngine.Vector3)
L_061a: dup
L_061b: ldfld System.Single y
L_0620: ldc.r4 0.04296875
L_0625: add
L_0626: stfld System.Single y
L_062b: ldarg.0
L_062c: ldfld Verse.PawnHeadOverlays statusOverlays
L_0631: ldloc.s 30 (UnityEngine.Vector3)
L_0633: ldarg.2
L_0634: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_0639: ldarg.s 5
L_063b: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0640: callvirt Void RenderStatusOverlays(Vector3, Quaternion, UnityEngine.Mesh)
L_0645: Label #39
L_0645: br Label #0
L_064a: Label #0
L_064a: ret
DONE

PATCHING Verse.PawnGenerator Verse.Pawn GeneratePawn(PawnGenerationRequest)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Pawn
L_0000: ldnull
L_0001: stloc 1 (Verse.Pawn)
L_0002: ldarg.0
L_0003: call Verse.Pawn GeneratePawnInternal(PawnGenerationRequest)
L_0008: stloc.0
L_0009: leave Label #2
L_000e: endfinally
L_000f: Label #2
L_000f: ldloc.0
L_0010: br Label #0
L_0015: Label #0
L_0015: stloc 1 (Verse.Pawn)
L_0016: ldarga 0
L_001c: ldloca 1 (Verse.Pawn)
L_001e: call Void _GeneratePawn(PawnGenerationRequest ByRef, Verse.Pawn ByRef)
L_0023: ldloc 1 (Verse.Pawn)
L_0024: ret
DONE

PATCHING RimWorld.JobGiver_OptimizeApparel Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 RimWorld.Outfit
L_0000: Local var #1 System.Collections.Generic.List`1[[RimWorld.Apparel, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.AI.Job
L_0000: Local var #4 Verse.Thing
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #7 System.Int32
L_0000: Local var #8 RimWorld.Apparel
L_0000: Local var #9 RimWorld.SlotGroup
L_0000: Local var #10 System.Single
L_0000: Local var #11 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 11 (Verse.AI.Job)
L_0003: ldarg.1
L_0004: ldfld RimWorld.Pawn_OutfitTracker outfits
L_0009: brtrue Label #2
L_000e: ldarg.1
L_000f: ldstr " tried to run JobGiver_OptimizeApparel without an OutfitTracker"
L_0014: call System.String Concat(System.Object, System.Object)
L_0019: ldc.i4 5643897
L_001e: call Void ErrorOnce(System.String, Int32)
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: ldarg.1
L_002a: callvirt RimWorld.Faction get_Faction()
L_002f: call RimWorld.Faction get_OfPlayer()
L_0034: beq Label #3
L_0039: ldstr "Non-colonist "
L_003e: ldarg.1
L_003f: ldstr " tried to optimize apparel."
L_0044: call System.String Concat(System.Object, System.Object, System.Object)
L_0049: ldc.i4 764323
L_004e: call Void ErrorOnce(System.String, Int32)
L_0053: ldnull
L_0054: br Label #0
L_0059: Label #3
L_0059: ldsfld System.Boolean debugApparelOptimize
L_005e: brtrue Label #4
L_0063: call Verse.TickManager get_TickManager()
L_0068: callvirt Int32 get_TicksGame()
L_006d: ldarg.1
L_006e: ldfld Verse.AI.Pawn_MindState mindState
L_0073: ldfld System.Int32 nextApparelOptimizeTick
L_0078: bge Label #5
L_007d: ldnull
L_007e: br Label #0
L_0083: Label #5
L_0083: br Label #6
L_0088: Label #4
L_0088: newobj Void .ctor()
L_008d: stsfld System.Text.StringBuilder debugSb
L_0092: ldsfld System.Text.StringBuilder debugSb
L_0097: ldc.i4.4
L_0098: newarr System.Object
L_009d: dup
L_009e: ldc.i4.0
L_009f: ldstr "Scanning for "
L_00a4: stelem.ref
L_00a5: dup
L_00a6: ldc.i4.1
L_00a7: ldarg.1
L_00a8: stelem.ref
L_00a9: dup
L_00aa: ldc.i4.2
L_00ab: ldstr " at "
L_00b0: stelem.ref
L_00b1: dup
L_00b2: ldc.i4.3
L_00b3: ldarg.1
L_00b4: callvirt IntVec3 get_Position()
L_00b9: box Verse.IntVec3
L_00be: stelem.ref
L_00bf: call System.String Concat(System.Object[])
L_00c4: callvirt System.Text.StringBuilder AppendLine(System.String)
L_00c9: pop
L_00ca: Label #6
L_00ca: ldarg.1
L_00cb: ldfld RimWorld.Pawn_OutfitTracker outfits
L_00d0: callvirt RimWorld.Outfit get_CurrentOutfit()
L_00d5: stloc.0
L_00d6: ldarg.1
L_00d7: ldfld RimWorld.Pawn_ApparelTracker apparel
L_00dc: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_00e1: stloc.1
L_00e2: ldloc.1
L_00e3: callvirt Int32 get_Count()
L_00e8: ldc.i4.1
L_00e9: sub
L_00ea: stloc.2
L_00eb: br Label #7
L_00f0: Label #10
L_00f0: ldloc.0
L_00f1: ldfld Verse.ThingFilter filter
L_00f6: ldloc.1
L_00f7: ldloc.2
L_00f8: callvirt RimWorld.Apparel get_Item(Int32)
L_00fd: callvirt Boolean Allows(Verse.Thing)
L_0102: brtrue Label #8
L_0107: ldarg.1
L_0108: ldfld RimWorld.Pawn_OutfitTracker outfits
L_010d: ldfld RimWorld.OutfitForcedHandler forcedHandler
L_0112: ldloc.1
L_0113: ldloc.2
L_0114: callvirt RimWorld.Apparel get_Item(Int32)
L_0119: callvirt Boolean AllowedToAutomaticallyDrop(RimWorld.Apparel)
L_011e: brfalse Label #9
L_0123: ldsfld Verse.JobDef RemoveApparel
L_0128: ldloc.1
L_0129: ldloc.2
L_012a: callvirt RimWorld.Apparel get_Item(Int32)
L_012f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0134: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0139: stloc.3
L_013a: ldloc.3
L_013b: ldc.i4.1
L_013c: stfld System.Boolean haulDroppedApparel
L_0141: ldloc.3
L_0142: br Label #0
L_0147: Label #8
L_0147: Label #9
L_0147: ldloc.2
L_0148: ldc.i4.1
L_0149: sub
L_014a: stloc.2
L_014b: Label #7
L_014b: ldloc.2
L_014c: ldc.i4.0
L_014d: bge Label #10
L_0152: ldnull
L_0153: stloc.s 4 (Verse.Thing)
L_0155: ldc.r4 0
L_015a: stloc.s 5 (System.Single)
L_015c: ldarg.1
L_015d: callvirt Verse.Map get_Map()
L_0162: ldfld Verse.ListerThings listerThings
L_0167: ldc.i4.s 26
L_0169: callvirt System.Collections.Generic.List`1[Verse.Thing]
ThingsInGroup(ThingRequestGroup)
L_016e: stloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0170: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0172: callvirt Int32 get_Count()
L_0177: brtrue Label #11
L_017c: ldarg.0
L_017d: ldarg.1
L_017e: call Void SetNextOptimizeTick(Verse.Pawn)
L_0183: ldnull
L_0184: br Label #0
L_0189: Label #11
L_0189: ldarg.1
L_018a: ldarg.1
L_018b: callvirt Verse.Map get_Map()
L_0190: callvirt Int32 get_Tile()
L_0195: ldarg.1
L_0196: call Twelfth Twelfth(Verse.Thing)
L_019b: call NeededWarmth CalculateNeededWarmth(Verse.Pawn, Int32, Twelfth)
L_01a0: stsfld RimWorld.NeededWarmth neededWarmth
L_01a5: ldc.i4.0
L_01a6: stloc.s 7 (System.Int32)
L_01a8: br Label #12
L_01ad: Label #27
L_01ad: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_01af: ldloc.s 7 (System.Int32)
L_01b1: callvirt Verse.Thing get_Item(Int32)
L_01b6: castclass RimWorld.Apparel
L_01bb: stloc.s 8 (RimWorld.Apparel)
L_01bd: ldloc.0
L_01be: ldfld Verse.ThingFilter filter
L_01c3: ldloc.s 8 (RimWorld.Apparel)
L_01c5: callvirt Boolean Allows(Verse.Thing)
L_01ca: brtrue Label #13
L_01cf: br Label #14
L_01d4: Label #13
L_01d4: ldloc.s 8 (RimWorld.Apparel)
L_01d6: callvirt Verse.Map get_Map()
L_01db: ldfld RimWorld.SlotGroupManager slotGroupManager
L_01e0: ldloc.s 8 (RimWorld.Apparel)
L_01e2: callvirt IntVec3 get_Position()
L_01e7: callvirt RimWorld.SlotGroup SlotGroupAt(IntVec3)
L_01ec: stloc.s 9 (RimWorld.SlotGroup)
L_01ee: ldloc.s 9 (RimWorld.SlotGroup)
L_01f0: brtrue Label #15
L_01f5: br Label #16
L_01fa: Label #15
L_01fa: ldloc.s 8 (RimWorld.Apparel)
L_01fc: ldarg.1
L_01fd: call Boolean IsForbidden(Verse.Thing, Verse.Pawn)
L_0202: brfalse Label #17
L_0207: br Label #18
L_020c: Label #17
L_020c: ldarg.1
L_020d: ldloc.s 8 (RimWorld.Apparel)
L_020f: call Single ApparelScoreGain(Verse.Pawn, RimWorld.Apparel)
L_0214: stloc.s 10 (System.Single)
L_0216: ldsfld System.Boolean debugApparelOptimize
L_021b: brfalse Label #19
L_0220: ldsfld System.Text.StringBuilder debugSb
L_0225: ldloc.s 8 (RimWorld.Apparel)
L_0227: callvirt System.String get_LabelCap()
L_022c: ldstr ": "
L_0231: ldloca.s 10 (System.Single)
L_0233: ldstr "F2"
L_0238: call System.String ToString(System.String)
L_023d: call System.String Concat(System.String, System.String, System.String)
L_0242: callvirt System.Text.StringBuilder AppendLine(System.String)
L_0247: pop
L_0248: Label #19
L_0248: ldloc.s 10 (System.Single)
L_024a: ldc.r4 0.05
L_024f: blt Label #20
L_0254: ldloc.s 10 (System.Single)
L_0256: ldloc.s 5 (System.Single)
L_0258: bge.un Label #21
L_025d: Label #20
L_025d: br Label #22
L_0262: Label #21
L_0262: ldarg.1
L_0263: ldloc.s 8 (RimWorld.Apparel)
L_0265: ldfld Verse.ThingDef def
L_026a: call Boolean HasPartsToWear(Verse.Pawn, Verse.ThingDef)
L_026f: brtrue Label #23
L_0274: br Label #24
L_0279: Label #23
L_0279: ldarg.1
L_027a: ldloc.s 8 (RimWorld.Apparel)
L_027c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0281: ldc.i4.1
L_0282: ldarg.1
L_0283: call Danger NormalMaxDanger(Verse.Pawn)
L_0288: ldc.i4.1
L_0289: ldc.i4.m1
L_028a: ldnull
L_028b: ldc.i4.0
L_028c: call Boolean CanReserveAndReach(Verse.Pawn, LocalTargetInfo, PathEndMode,
Danger, Int32, Int32, Verse.ReservationLayerDef, Boolean)
L_0291: brtrue Label #25
L_0296: br Label #26
L_029b: Label #25
L_029b: ldloc.s 8 (RimWorld.Apparel)
L_029d: stloc.s 4 (Verse.Thing)
L_029f: ldloc.s 10 (System.Single)
L_02a1: stloc.s 5 (System.Single)
L_02a3: Label #14
L_02a3: Label #16
L_02a3: Label #18
L_02a3: Label #22
L_02a3: Label #24
L_02a3: Label #26
L_02a3: ldloc.s 7 (System.Int32)
L_02a5: ldc.i4.1
L_02a6: add
L_02a7: stloc.s 7 (System.Int32)
L_02a9: Label #12
L_02a9: ldloc.s 7 (System.Int32)
L_02ab: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_02ad: callvirt Int32 get_Count()
L_02b2: blt Label #27
L_02b7: ldsfld System.Boolean debugApparelOptimize
L_02bc: brfalse Label #28
L_02c1: ldsfld System.Text.StringBuilder debugSb
L_02c6: ldstr "BEST: "
L_02cb: ldloc.s 4 (Verse.Thing)
L_02cd: call System.String Concat(System.Object, System.Object)
L_02d2: callvirt System.Text.StringBuilder AppendLine(System.String)
L_02d7: pop
L_02d8: ldsfld System.Text.StringBuilder debugSb
L_02dd: callvirt System.String ToString()
L_02e2: call Void Message(System.String)
L_02e7: ldnull
L_02e8: stsfld System.Text.StringBuilder debugSb
L_02ed: Label #28
L_02ed: ldloc.s 4 (Verse.Thing)
L_02ef: brtrue Label #29
L_02f4: ldarg.0
L_02f5: ldarg.1
L_02f6: call Void SetNextOptimizeTick(Verse.Pawn)
L_02fb: ldnull
L_02fc: br Label #0
L_0301: Label #29
L_0301: ldsfld Verse.JobDef Wear
L_0306: ldloc.s 4 (Verse.Thing)
L_0308: call LocalTargetInfo op_Implicit(Verse.Thing)
L_030d: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0312: br Label #0
L_0317: Label #0
L_0317: stloc 11 (Verse.AI.Job)
L_0319: ldloca 11 (Verse.AI.Job)
L_031b: ldarga 1
L_0321: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_0326: ldloc 11 (Verse.AI.Job)
L_0328: ret
DONE

PATCHING Verse.Pawn_HealthTracker Boolean ShouldBeDowned()


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean get_InPainShock()
L_000c: brtrue Label #2
L_0011: ldarg.0
L_0012: ldfld Verse.PawnCapacitiesHandler capacities
L_0017: callvirt Boolean get_CanBeAwake()
L_001c: brfalse Label #3
L_0021: ldarg.0
L_0022: ldfld Verse.PawnCapacitiesHandler capacities
L_0027: ldsfld Verse.PawnCapacityDef Moving
L_002c: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0031: ldc.i4.0
L_0032: ceq
L_0034: br Label #4
L_0039: Label #2
L_0039: Label #3
L_0039: ldc.i4.1
L_003a: Label #4
L_003a: br Label #0
L_003f: Label #0
L_003f: stloc 0 (System.Boolean)
L_0040: ldarga 0
L_0046: ldloca 0 (System.Boolean)
L_0048: call Void SBD(Verse.Pawn_HealthTracker ByRef, Boolean ByRef)
L_004d: ldloc 0 (System.Boolean)
L_004e: ret
DONE

PATCHING Verse.Pawn_HealthTracker Void CheckForStateChange(Nullable`1,


Verse.Hediff)
L_0000: Local var #0 System.Single
L_0000: Local var #1 Verse.DamageInfo
L_0000: Local var #2 Verse.ThingWithComps
L_0000: ldarg.0
L_0001: call Boolean get_Dead()
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: call Boolean ShouldBeDead()
L_0011: brfalse Label #3
L_0016: ldarg.0
L_0017: ldfld Verse.Pawn pawn
L_001c: callvirt Boolean get_Destroyed()
L_0021: brtrue Label #4
L_0026: ldarg.0
L_0027: ldfld Verse.Pawn pawn
L_002c: ldarg.1
L_002d: ldarg.2
L_002e: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_0033: Label #4
L_0033: br Label #0
L_0038: Label #3
L_0038: ldarg.0
L_0039: call Boolean get_Downed()
L_003e: brtrue Label #5
L_0043: ldarg.0
L_0044: call Boolean ShouldBeDowned()
L_0049: brfalse Label #6
L_004e: ldarg.0
L_004f: ldfld Verse.Pawn pawn
L_0054: callvirt Verse.RaceProperties get_RaceProps()
L_0059: callvirt Boolean get_Animal()
L_005e: brfalse Label #7
L_0063: ldc.r4 0.47
L_0068: br Label #8
L_006d: Label #7
L_006d: ldc.r4 0.67
L_0072: Label #8
L_0072: stloc.0
L_0073: ldarg.0
L_0074: ldfld System.Boolean forceIncap
L_0079: brtrue Label #9
L_007e: ldarga.s 1
L_0080: call Boolean get_HasValue()
L_0085: brfalse Label #10
L_008a: ldarga.s 1
L_008c: call DamageInfo get_Value()
L_0091: stloc.1
L_0092: ldloca.s 1 (Verse.DamageInfo)
L_0094: call Verse.DamageDef get_Def()
L_0099: ldfld System.Boolean externalViolence
L_009e: brfalse Label #11
L_00a3: ldarg.0
L_00a4: ldfld Verse.Pawn pawn
L_00a9: callvirt RimWorld.Faction get_Faction()
L_00ae: brfalse Label #12
L_00b3: ldarg.0
L_00b4: ldfld Verse.Pawn pawn
L_00b9: callvirt RimWorld.Faction get_Faction()
L_00be: callvirt Boolean get_IsPlayer()
L_00c3: brtrue Label #13
L_00c8: br Label #13
L_00cd: Label #12
L_00cd: ldarg.0
L_00ce: ldfld Verse.Pawn pawn
L_00d3: callvirt Boolean get_IsPrisonerOfColony()
L_00d8: brtrue Label #14
L_00dd: ldarg.0
L_00de: ldfld Verse.Pawn pawn
L_00e3: callvirt Verse.RaceProperties get_RaceProps()
L_00e8: callvirt Boolean get_IsFlesh()
L_00ed: brfalse Label #15
L_00f2: call Single get_Value()
L_00f7: ldloc.0
L_00f8: bge.un Label #16
L_00fd: ldarg.0
L_00fe: ldfld Verse.Pawn pawn
L_0103: ldarg.1
L_0104: ldnull
L_0105: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_010a: br Label #0
L_010f: Label #9
L_010f: Label #10
L_010f: Label #11
L_010f: Label #13
L_010f: Label #14
L_010f: Label #15
L_010f: Label #16
L_010f: ldarg.0
L_0110: ldc.i4.0
L_0111: stfld System.Boolean forceIncap
L_0116: ldarg.0
L_0117: ldarg.1
L_0118: ldarg.2
L_0119: call Void MakeDowned(Nullable`1, Verse.Hediff)
L_011e: br Label #0
L_0123: Label #6
L_0123: ldarg.0
L_0124: ldfld Verse.PawnCapacitiesHandler capacities
L_0129: ldsfld Verse.PawnCapacityDef Manipulation
L_012e: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0133: brtrue Label #17
L_0138: ldarg.0
L_0139: ldfld Verse.Pawn pawn
L_013e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0143: brfalse Label #18
L_0148: ldarg.0
L_0149: ldfld Verse.Pawn pawn
L_014e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0153: callvirt Verse.Thing get_CarriedThing()
L_0158: brfalse Label #19
L_015d: ldarg.0
L_015e: ldfld Verse.Pawn pawn
L_0163: ldfld Verse.AI.Pawn_JobTracker jobs
L_0168: brfalse Label #20
L_016d: ldarg.0
L_016e: ldfld Verse.Pawn pawn
L_0173: callvirt Verse.AI.Job get_CurJob()
L_0178: brfalse Label #21
L_017d: ldarg.0
L_017e: ldfld Verse.Pawn pawn
L_0183: ldfld Verse.AI.Pawn_JobTracker jobs
L_0188: ldc.i4.5
L_0189: ldc.i4.1
L_018a: callvirt Void EndCurrentJob(JobCondition, Boolean)
L_018f: Label #18
L_018f: Label #19
L_018f: Label #20
L_018f: Label #21
L_018f: ldarg.0
L_0190: ldfld Verse.Pawn pawn
L_0195: ldfld Verse.Pawn_EquipmentTracker equipment
L_019a: brfalse Label #22
L_019f: ldarg.0
L_01a0: ldfld Verse.Pawn pawn
L_01a5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01aa: callvirt Verse.ThingWithComps get_Primary()
L_01af: brfalse Label #23
L_01b4: ldarg.0
L_01b5: ldfld Verse.Pawn pawn
L_01ba: callvirt Boolean get_InContainerEnclosed()
L_01bf: brfalse Label #24
L_01c4: ldarg.0
L_01c5: ldfld Verse.Pawn pawn
L_01ca: ldfld Verse.Pawn_EquipmentTracker equipment
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01da: callvirt Verse.ThingWithComps get_Primary()
L_01df: ldarg.0
L_01e0: ldfld Verse.Pawn pawn
L_01e5: ldfld Verse.ThingOwner holdingOwner
L_01ea: callvirt Boolean TryTransferEquipmentToContainer(Verse.ThingWithComps,
Verse.ThingOwner)
L_01ef: pop
L_01f0: br Label #25
L_01f5: Label #24
L_01f5: ldarg.0
L_01f6: ldfld Verse.Pawn pawn
L_01fb: callvirt Boolean get_SpawnedOrAnyParentSpawned()
L_0200: brfalse Label #26
L_0205: ldarg.0
L_0206: ldfld Verse.Pawn pawn
L_020b: ldfld Verse.Pawn_EquipmentTracker equipment
L_0210: ldarg.0
L_0211: ldfld Verse.Pawn pawn
L_0216: ldfld Verse.Pawn_EquipmentTracker equipment
L_021b: callvirt Verse.ThingWithComps get_Primary()
L_0220: ldloca.s 2 (Verse.ThingWithComps)
L_0222: ldarg.0
L_0223: ldfld Verse.Pawn pawn
L_0228: callvirt IntVec3 get_PositionHeld()
L_022d: ldc.i4.1
L_022e: callvirt Boolean TryDropEquipment(Verse.ThingWithComps,
Verse.ThingWithComps ByRef, IntVec3, Boolean)
L_0233: pop
L_0234: br Label #27
L_0239: Label #26
L_0239: ldarg.0
L_023a: ldfld Verse.Pawn pawn
L_023f: ldfld Verse.Pawn_EquipmentTracker equipment
L_0244: ldarg.0
L_0245: ldfld Verse.Pawn pawn
L_024a: ldfld Verse.Pawn_EquipmentTracker equipment
L_024f: callvirt Verse.ThingWithComps get_Primary()
L_0254: callvirt Void DestroyEquipment(Verse.ThingWithComps)
L_0259: Label #17
L_0259: Label #22
L_0259: Label #23
L_0259: Label #25
L_0259: Label #27
L_0259: br Label #28
L_025e: Label #5
L_025e: ldarg.0
L_025f: call Boolean ShouldBeDowned()
L_0264: brtrue Label #29
L_0269: ldarg.0
L_026a: call Void MakeUndowned()
L_026f: br Label #0
L_0274: Label #2
L_0274: Label #28
L_0274: Label #29
L_0274: br Label #0
L_0279: Label #0
L_0279: ret
DONE

PATCHING RimWorld.RestUtility Single WakeThreshold(Verse.Pawn)


L_0000: Local var #0 Verse.AI.Group.Lord
L_0000: Local var #1 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #2 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #3 System.Single
L_0000: ldc.r4 0
L_0005: stloc 3 (System.Single)
L_0006: ldarg.0
L_0007: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldloc.0
L_0014: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0019: brfalse Label #3
L_001e: ldloc.0
L_001f: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0024: callvirt Nullable`1 get_CustomWakeThreshold()
L_0029: stloc.1
L_002a: ldloca.s 1 (System.Nullable`1[System.Single])
L_002c: call Boolean get_HasValue()
L_0031: brfalse Label #4
L_0036: ldloc.0
L_0037: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_003c: callvirt Nullable`1 get_CustomWakeThreshold()
L_0041: stloc.2
L_0042: ldloca.s 2 (System.Nullable`1[System.Single])
L_0044: call Single get_Value()
L_0049: br Label #0
L_004e: Label #2
L_004e: Label #3
L_004e: Label #4
L_004e: ldc.r4 1
L_0053: br Label #0
L_0058: Label #0
L_0058: stloc 3 (System.Single)
L_0059: ldloca 3 (System.Single)
L_005b: ldarga 0
L_0061: call Void WakeThreshold_Patch(Single ByRef, Verse.Pawn ByRef)
L_0066: ldloc 3 (System.Single)
L_0067: ret
DONE

PATCHING Verse.Verb_Shoot Boolean TryCastShot()


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 1 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean TryCastShot()
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldarg.0
L_0014: call Boolean get_CasterIsPawn()
L_0019: brfalse Label #3
L_001e: ldarg.0
L_001f: call Verse.Pawn get_CasterPawn()
L_0024: ldfld RimWorld.Pawn_RecordsTracker records
L_0029: ldsfld RimWorld.RecordDef ShotsFired
L_002e: callvirt Void Increment(RimWorld.RecordDef)
L_0033: Label #2
L_0033: Label #3
L_0033: ldloc.0
L_0034: br Label #0
L_0039: Label #0
L_0039: stloc 1 (System.Boolean)
L_003a: ldarga 0
L_0040: call Void TryCastShot_Patch(Verse.Verb_Shoot ByRef)
L_0045: ldloc 1 (System.Boolean)
L_0046: ret
DONE

PATCHING Verse.Pawn_EquipmentTracker Void


Notify_EquipmentAdded(Verse.ThingWithComps)
L_0000: Local var #0 Verse.Verb
L_0000: Local var #1 System.Collections.Generic.List`1+Enumerator[[Verse.Verb,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.1
L_0001: callvirt Verse.CompEquippable GetComp[CompEquippable]()
L_0006: callvirt System.Collections.Generic.List`1[Verse.Verb] get_AllVerbs()
L_000b: callvirt Enumerator GetEnumerator()
L_0010: stloc.1
L_0011: br Label #2
L_0016: Label #3
L_0016: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0018: call Verse.Verb get_Current()
L_001d: stloc.0
L_001e: ldloc.0
L_001f: ldarg.0
L_0020: ldfld Verse.Pawn pawn
L_0025: stfld Verse.Thing caster
L_002a: ldloc.0
L_002b: callvirt Void Notify_PickedUp()
L_0030: Label #2
L_0030: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0032: call Boolean MoveNext()
L_0037: brtrue Label #3
L_003c: leave Label #4
L_0041: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0043: constrained. System.Collections.Generic.List`1+Enumerator[Verse.Verb]
L_0049: callvirt Void Dispose()
L_004e: endfinally
L_004f: Label #4
L_004f: br Label #0
L_0054: Label #0
L_0054: ldarga 1
L_005a: ldarga 0
L_0060: call Void Notify_EquipmentAdded_Patch(Verse.ThingWithComps ByRef,
Verse.Pawn_EquipmentTracker ByRef)
L_0065: ret
DONE

PATCHING RimWorld.PawnWeaponGenerator Void TryGenerateWeaponFor(Verse.Pawn)


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2
RimWorld.PawnWeaponGenerator+<TryGenerateWeaponFor>c__AnonStorey2
L_0000: Local var #3 RimWorld.ThingStuffPair
L_0000: Local var #4 Verse.ThingWithComps
L_0000: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0005: callvirt Void Clear()
L_000a: ldarg.0
L_000b: ldfld Verse.PawnKindDef kindDef
L_0010: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0015: brfalse Label #2
L_001a: ldarg.0
L_001b: ldfld Verse.PawnKindDef kindDef
L_0020: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0025: callvirt Int32 get_Count()
L_002a: brtrue Label #3
L_002f: Label #2
L_002f: br Label #0
L_0034: Label #3
L_0034: ldarg.0
L_0035: callvirt Verse.RaceProperties get_RaceProps()
L_003a: callvirt Boolean get_ToolUser()
L_003f: brtrue Label #4
L_0044: br Label #0
L_0049: Label #4
L_0049: ldarg.0
L_004a: ldfld Verse.Pawn_HealthTracker health
L_004f: ldfld Verse.PawnCapacitiesHandler capacities
L_0054: ldsfld Verse.PawnCapacityDef Manipulation
L_0059: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_005e: brtrue Label #5
L_0063: br Label #0
L_0068: Label #5
L_0068: ldarg.0
L_0069: ldfld RimWorld.Pawn_StoryTracker story
L_006e: brfalse Label #6
L_0073: ldarg.0
L_0074: ldfld RimWorld.Pawn_StoryTracker story
L_0079: ldc.i4.8
L_007a: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_007f: brfalse Label #7
L_0084: br Label #0
L_0089: Label #6
L_0089: Label #7
L_0089: ldarg.0
L_008a: ldfld Verse.PawnKindDef kindDef
L_008f: ldflda Verse.FloatRange weaponMoney
L_0094: call Single get_RandomInRange()
L_0099: stloc.0
L_009a: ldc.i4.0
L_009b: stloc.1
L_009c: br Label #8
L_00a1: Label #16
L_00a1: newobj Void .ctor()
L_00a6: stloc.2
L_00a7: ldloc.2
L_00a8: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_00ad: ldloc.1
L_00ae: callvirt ThingStuffPair get_Item(Int32)
L_00b3: stfld RimWorld.ThingStuffPair w
L_00b8: ldloc.2
L_00b9: ldflda RimWorld.ThingStuffPair w
L_00be: call Single get_Price()
L_00c3: ldloc.0
L_00c4: ble.un Label #9
L_00c9: br Label #10
L_00ce: Label #9
L_00ce: ldarg.0
L_00cf: ldfld Verse.PawnKindDef kindDef
L_00d4: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_00d9: ldloc.2
L_00da: ldftn Boolean <>m__0(System.String)
L_00e0: newobj Void .ctor(Object, IntPtr)
L_00e5: call Boolean Any[String](System.Collections.Generic.List`1[System.String],
System.Predicate`1[System.String])
L_00ea: brtrue Label #11
L_00ef: br Label #12
L_00f4: Label #11
L_00f4: ldloc.2
L_00f5: ldflda RimWorld.ThingStuffPair w
L_00fa: ldfld Verse.ThingDef thing
L_00ff: ldfld System.Single generateAllowChance
L_0104: ldc.r4 1
L_0109: bge.un Label #13
L_010e: ldarg.0
L_010f: ldfld System.Int32 thingIDNumber
L_0114: ldc.i4 28554824
L_0119: xor
L_011a: call Single ValueSeeded(Int32)
L_011f: ldloc.2
L_0120: ldflda RimWorld.ThingStuffPair w
L_0125: ldfld Verse.ThingDef thing
L_012a: ldfld System.Single generateAllowChance
L_012f: ble.un Label #14
L_0134: br Label #15
L_0139: Label #13
L_0139: Label #14
L_0139: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_013e: ldloc.2
L_013f: ldfld RimWorld.ThingStuffPair w
L_0144: callvirt Void Add(ThingStuffPair)
L_0149: Label #10
L_0149: Label #12
L_0149: Label #15
L_0149: ldloc.1
L_014a: ldc.i4.1
L_014b: add
L_014c: stloc.1
L_014d: Label #8
L_014d: ldloc.1
L_014e: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_0153: callvirt Int32 get_Count()
L_0158: blt Label #16
L_015d: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0162: callvirt Int32 get_Count()
L_0167: brtrue Label #17
L_016c: br Label #0
L_0171: ldarg.0
L_0172: ldloc.2
L_0173: callvirt System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
FilterChildWeapons(Verse.Pawn,
System.Collections.Generic.List`1[RimWorld.ThingStuffPair])
L_0178: stloc.2
L_0179: Label #17
L_0179: ldarg.0
L_017a: ldfld Verse.Pawn_EquipmentTracker equipment
L_017f: ldc.i4.0
L_0180: callvirt Void DestroyAllEquipment(DestroyMode)
L_0185: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_018a: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_018f: brtrue Label #18
L_0194: ldnull
L_0195: ldftn Single <TryGenerateWeaponFor>m__2(ThingStuffPair)
L_019b: newobj Void .ctor(Object, IntPtr)
L_01a0: stsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01a5: Label #18
L_01a5: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01aa: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01ac: call Boolean TryRandomElementByWeight[ThingStuffPair](IEnumerable`1,
System.Func`2[RimWorld.ThingStuffPair,System.Single], ThingStuffPair ByRef)
L_01b1: brfalse Label #19
L_01b6: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01b8: ldfld Verse.ThingDef thing
L_01bd: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01bf: ldfld Verse.ThingDef stuff
L_01c4: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_01c9: castclass Verse.ThingWithComps
L_01ce: stloc.s 4 (Verse.ThingWithComps)
L_01d0: ldloc.s 4 (Verse.ThingWithComps)
L_01d2: ldarg.0
L_01d3: call Void PostProcessGeneratedGear(Verse.Thing, Verse.Pawn)
L_01d8: ldarg.0
L_01d9: ldfld Verse.Pawn_EquipmentTracker equipment
L_01de: ldloc.s 4 (Verse.ThingWithComps)
L_01e0: callvirt Void AddEquipment(Verse.ThingWithComps)
L_01e5: Label #19
L_01e5: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_01ea: callvirt Void Clear()
L_01ef: br Label #0
L_01f4: Label #0
L_01f4: ret
DONE

PATCHING RimWorld.Bill_Medical Void Notify_DoBillStarted(Verse.Pawn)


L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.ThingStackPartClass,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Int32
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void Notify_DoBillStarted(Verse.Pawn)
L_0007: ldarg.0
L_0008: ldnull
L_0009: stfld Verse.ThingDef consumedInitialMedicineDef
L_000e: ldarg.0
L_000f: call Verse.Pawn get_GiverPawn()
L_0014: callvirt Boolean get_Dead()
L_0019: brtrue Label #2
L_001e: ldarg.0
L_001f: ldfld Verse.RecipeDef recipe
L_0024: call Boolean RecipeHasNoIngredients(Verse.RecipeDef)
L_0029: brtrue Label #2
L_002e: ldarg.0
L_002f: ldfld Verse.RecipeDef recipe
L_0034: ldfld System.Boolean anesthetize
L_0039: brfalse Label #3
L_003e: ldarg.0
L_003f: call Verse.Pawn get_GiverPawn()
L_0044: call Boolean TryAnesthetize(Verse.Pawn)
L_0049: brfalse Label #4
L_004e: ldarg.1
L_004f: callvirt Verse.AI.Job get_CurJob()
L_0054: ldfld System.Collections.Generic.List`1[Verse.ThingStackPartClass]
placedThings
L_0059: stloc.0
L_005a: ldc.i4.0
L_005b: stloc.1
L_005c: br Label #5
L_0061: Label #10
L_0061: ldloc.0
L_0062: ldloc.1
L_0063: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0068: ldfld Verse.Thing thing
L_006d: isinst RimWorld.Medicine
L_0072: brfalse Label #6
L_0077: ldarg.0
L_0078: ldfld Verse.RecipeDef recipe
L_007d: callvirt Verse.RecipeWorker get_Worker()
L_0082: ldloc.0
L_0083: ldloc.1
L_0084: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0089: ldfld Verse.Thing thing
L_008e: ldc.i4.1
L_008f: callvirt Verse.Thing SplitOff(Int32)
L_0094: ldarg.0
L_0095: ldfld Verse.RecipeDef recipe
L_009a: ldarg.1
L_009b: callvirt Verse.Map get_MapHeld()
L_00a0: callvirt Void ConsumeIngredient(Verse.Thing, Verse.RecipeDef, Verse.Map)
L_00a5: ldloc.0
L_00a6: ldloc.1
L_00a7: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ac: dup
L_00ad: callvirt Int32 get_Count()
L_00b2: ldc.i4.1
L_00b3: sub
L_00b4: callvirt Void set_Count(Int32)
L_00b9: ldarg.0
L_00ba: ldloc.0
L_00bb: ldloc.1
L_00bc: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00c1: ldfld Verse.Thing thing
L_00c6: ldfld Verse.ThingDef def
L_00cb: stfld Verse.ThingDef consumedInitialMedicineDef
L_00d0: ldloc.0
L_00d1: ldloc.1
L_00d2: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00d7: ldfld Verse.Thing thing
L_00dc: callvirt Boolean get_Destroyed()
L_00e1: brtrue Label #7
L_00e6: ldloc.0
L_00e7: ldloc.1
L_00e8: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ed: callvirt Int32 get_Count()
L_00f2: ldc.i4.0
L_00f3: bgt Label #8
L_00f8: Label #7
L_00f8: ldloc.0
L_00f9: ldloc.1
L_00fa: callvirt Void RemoveAt(Int32)
L_00ff: Label #8
L_00ff: br Label #9
L_0104: Label #6
L_0104: ldloc.1
L_0105: ldc.i4.1
L_0106: add
L_0107: stloc.1
L_0108: Label #5
L_0108: ldloc.1
L_0109: ldloc.0
L_010a: callvirt Int32 get_Count()
L_010f: blt Label #10
L_0114: Label #2
L_0114: Label #3
L_0114: Label #4
L_0114: Label #9
L_0114: br Label #0
L_0119: Label #0
L_0119: ret
DONE

PATCHING RimWorld.Building_Bed IEnumerable`1 get_AssigningCandidates()


L_0000: ldarg.0
L_0001: callvirt IEnumerable`1 BedCandidates(RimWorld.Building_Bed)
L_0006: Label #0
L_0006: ret
DONE

PATCHING RimWorld.RestUtility RimWorld.Building_Bed FindBedFor(Verse.Pawn,


Verse.Pawn, Boolean, Boolean, Boolean)
L_0000: Local var #0 RimWorld.RestUtility+<FindBedFor>c__AnonStorey0
L_0000: Local var #1 RimWorld.Building_Bed
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 System.Boolean
L_0000: Local var #5 System.Boolean
L_0000: Local var #6 System.Boolean
L_0000: Local var #7 System.Int32
L_0000: Local var #8 Verse.ThingDef
L_0000: Local var #9 System.Int32
L_0000: Local var #10 RimWorld.RestUtility+<FindBedFor>c__AnonStorey1
L_0000: Local var #11 RimWorld.Building_Bed
L_0000: Local var #12 RimWorld.DirectPawnRelation
L_0000: Local var #13 RimWorld.Building_Bed
L_0000: Local var #14 System.Int32
L_0000: Local var #15 RimWorld.RestUtility+<FindBedFor>c__AnonStorey2
L_0000: Local var #16 System.Int32
L_0000: Local var #17 Verse.ThingDef
L_0000: Local var #18 RimWorld.Building_Bed
L_0000: Local var #19 RimWorld.Building_Bed
L_0000: ldnull
L_0001: stloc 19 (RimWorld.Building_Bed)
L_0003: newobj Void .ctor()
L_0008: stloc.0
L_0009: ldloc.0
L_000a: ldarg.0
L_000b: stfld Verse.Pawn sleeper
L_0010: ldloc.0
L_0011: ldarg.1
L_0012: stfld Verse.Pawn traveler
L_0017: ldloc.0
L_0018: ldarg.2
L_0019: stfld System.Boolean sleeperWillBePrisoner
L_001e: ldloc.0
L_001f: ldarg.3
L_0020: stfld System.Boolean checkSocialProperness
L_0025: ldloc.0
L_0026: ldarg.s 4
L_0028: stfld System.Boolean ignoreOtherReservations
L_002d: ldloc.0
L_002e: ldfld Verse.Pawn sleeper
L_0033: call Boolean ShouldSeekMedicalRest(Verse.Pawn)
L_0038: brfalse Label #2
L_003d: ldloc.0
L_003e: ldfld Verse.Pawn sleeper
L_0043: call Boolean InBed(Verse.Pawn)
L_0048: brfalse Label #3
L_004d: ldloc.0
L_004e: ldfld Verse.Pawn sleeper
L_0053: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0058: callvirt Boolean get_Medical()
L_005d: brfalse Label #4
L_0062: ldloc.0
L_0063: ldfld Verse.Pawn sleeper
L_0068: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_006d: stloc.1
L_006e: ldloc.0
L_006f: ldfld Verse.Pawn sleeper
L_0074: stloc.2
L_0075: ldloc.0
L_0076: ldfld Verse.Pawn traveler
L_007b: stloc.3
L_007c: ldloc.0
L_007d: ldfld System.Boolean sleeperWillBePrisoner
L_0082: stloc.s 4 (System.Boolean)
L_0084: ldloc.0
L_0085: ldfld System.Boolean checkSocialProperness
L_008a: stloc.s 5 (System.Boolean)
L_008c: ldloc.0
L_008d: ldfld System.Boolean ignoreOtherReservations
L_0092: stloc.s 6 (System.Boolean)
L_0094: ldloc.1
L_0095: ldloc.2
L_0096: ldloc.3
L_0097: ldloc.s 4 (System.Boolean)
L_0099: ldloc.s 5 (System.Boolean)
L_009b: ldc.i4.0
L_009c: ldloc.s 6 (System.Boolean)
L_009e: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_00a3: brfalse Label #5
L_00a8: ldloc.0
L_00a9: ldfld Verse.Pawn sleeper
L_00ae: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00b3: br Label #0
L_00b8: Label #3
L_00b8: Label #4
L_00b8: Label #5
L_00b8: ldc.i4.0
L_00b9: stloc.s 7 (System.Int32)
L_00bb: br Label #6
L_00c0: Label #14
L_00c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_00c5: ldloc.s 7 (System.Int32)
L_00c7: callvirt Verse.ThingDef get_Item(Int32)
L_00cc: stloc.s 8 (Verse.ThingDef)
L_00ce: ldloc.0
L_00cf: ldfld Verse.Pawn sleeper
L_00d4: ldloc.s 8 (Verse.ThingDef)
L_00d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_00db: brtrue Label #7
L_00e0: br Label #8
L_00e5: Label #7
L_00e5: ldc.i4.0
L_00e6: stloc.s 9 (System.Int32)
L_00e8: br Label #9
L_00ed: Label #13
L_00ed: newobj Void .ctor()
L_00f2: stloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f4: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f6: ldloc.0
L_00f7: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_00fc: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00fe: ldloc.s 9 (System.Int32)
L_0100: brtrue Label #10
L_0105: ldc.i4.1
L_0106: br Label #11
L_010b: Label #10
L_010b: ldc.i4.3
L_010c: Label #11
L_010c: stfld Verse.Danger maxDanger
L_0111: ldloc.0
L_0112: ldfld Verse.Pawn sleeper
L_0117: callvirt IntVec3 get_Position()
L_011c: ldloc.0
L_011d: ldfld Verse.Pawn sleeper
L_0122: callvirt Verse.Map get_Map()
L_0127: ldloc.s 8 (Verse.ThingDef)
L_0129: call ThingRequest ForDef(Verse.ThingDef)
L_012e: ldc.i4.1
L_012f: ldloc.0
L_0130: ldfld Verse.Pawn traveler
L_0135: ldc.i4.3
L_0136: ldc.i4.0
L_0137: ldc.i4.0
L_0138: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_013d: ldc.r4 9999
L_0142: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_0144: ldftn Boolean <>m__0(Verse.Thing)
L_014a: newobj Void .ctor(Object, IntPtr)
L_014f: ldnull
L_0150: ldc.i4.0
L_0151: ldc.i4.m1
L_0152: ldc.i4.0
L_0153: ldc.i4.6
L_0154: ldc.i4.0
L_0155: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_015a: castclass RimWorld.Building_Bed
L_015f: stloc.s 11 (RimWorld.Building_Bed)
L_0161: ldloc.s 11 (RimWorld.Building_Bed)
L_0163: brfalse Label #12
L_0168: ldloc.s 11 (RimWorld.Building_Bed)
L_016a: br Label #0
L_016f: Label #12
L_016f: ldloc.s 9 (System.Int32)
L_0171: ldc.i4.1
L_0172: add
L_0173: stloc.s 9 (System.Int32)
L_0175: Label #9
L_0175: ldloc.s 9 (System.Int32)
L_0177: ldc.i4.2
L_0178: blt Label #13
L_017d: Label #8
L_017d: ldloc.s 7 (System.Int32)
L_017f: ldc.i4.1
L_0180: add
L_0181: stloc.s 7 (System.Int32)
L_0183: Label #6
L_0183: ldloc.s 7 (System.Int32)
L_0185: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_018a: callvirt Int32 get_Count()
L_018f: blt Label #14
L_0194: Label #2
L_0194: ldloc.0
L_0195: ldfld Verse.Pawn sleeper
L_019a: ldfld RimWorld.Pawn_Ownership ownership
L_019f: brfalse Label #15
L_01a4: ldloc.0
L_01a5: ldfld Verse.Pawn sleeper
L_01aa: ldfld RimWorld.Pawn_Ownership ownership
L_01af: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01b4: brfalse Label #16
L_01b9: ldloc.0
L_01ba: ldfld Verse.Pawn sleeper
L_01bf: ldfld RimWorld.Pawn_Ownership ownership
L_01c4: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01c9: stloc.1
L_01ca: ldloc.0
L_01cb: ldfld Verse.Pawn sleeper
L_01d0: stloc.3
L_01d1: ldloc.0
L_01d2: ldfld Verse.Pawn traveler
L_01d7: stloc.2
L_01d8: ldloc.0
L_01d9: ldfld System.Boolean sleeperWillBePrisoner
L_01de: stloc.s 6 (System.Boolean)
L_01e0: ldloc.0
L_01e1: ldfld System.Boolean checkSocialProperness
L_01e6: stloc.s 5 (System.Boolean)
L_01e8: ldloc.0
L_01e9: ldfld System.Boolean ignoreOtherReservations
L_01ee: stloc.s 4 (System.Boolean)
L_01f0: ldloc.1
L_01f1: ldloc.3
L_01f2: ldloc.2
L_01f3: ldloc.s 6 (System.Boolean)
L_01f5: ldloc.s 5 (System.Boolean)
L_01f7: ldc.i4.0
L_01f8: ldloc.s 4 (System.Boolean)
L_01fa: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_01ff: brfalse Label #17
L_0204: ldloc.0
L_0205: ldfld Verse.Pawn sleeper
L_020a: ldfld RimWorld.Pawn_Ownership ownership
L_020f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0214: br Label #0
L_0219: Label #15
L_0219: Label #16
L_0219: Label #17
L_0219: ldloc.0
L_021a: ldfld Verse.Pawn sleeper
L_021f: ldc.i4.0
L_0220: call RimWorld.DirectPawnRelation
ExistingMostLikedLovePartnerRel(Verse.Pawn, Boolean)
L_0225: stloc.s 12 (RimWorld.DirectPawnRelation)
L_0227: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0229: brfalse Label #18
L_022e: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0230: ldfld Verse.Pawn otherPawn
L_0235: ldfld RimWorld.Pawn_Ownership ownership
L_023a: callvirt RimWorld.Building_Bed get_OwnedBed()
L_023f: stloc.s 13 (RimWorld.Building_Bed)
L_0241: ldloc.s 13 (RimWorld.Building_Bed)
L_0243: brfalse Label #19
L_0248: ldloc.s 13 (RimWorld.Building_Bed)
L_024a: stloc.1
L_024b: ldloc.0
L_024c: ldfld Verse.Pawn sleeper
L_0251: stloc.2
L_0252: ldloc.0
L_0253: ldfld Verse.Pawn traveler
L_0258: stloc.3
L_0259: ldloc.0
L_025a: ldfld System.Boolean sleeperWillBePrisoner
L_025f: stloc.s 4 (System.Boolean)
L_0261: ldloc.0
L_0262: ldfld System.Boolean checkSocialProperness
L_0267: stloc.s 5 (System.Boolean)
L_0269: ldloc.0
L_026a: ldfld System.Boolean ignoreOtherReservations
L_026f: stloc.s 6 (System.Boolean)
L_0271: ldloc.1
L_0272: ldloc.2
L_0273: ldloc.3
L_0274: ldloc.s 4 (System.Boolean)
L_0276: ldloc.s 5 (System.Boolean)
L_0278: ldc.i4.0
L_0279: ldloc.s 6 (System.Boolean)
L_027b: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_0280: brfalse Label #20
L_0285: ldloc.s 13 (RimWorld.Building_Bed)
L_0287: br Label #0
L_028c: Label #18
L_028c: Label #19
L_028c: Label #20
L_028c: ldc.i4.0
L_028d: stloc.s 14 (System.Int32)
L_028f: br Label #21
L_0294: Label #29
L_0294: newobj Void .ctor()
L_0299: stloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029b: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029d: ldloc.0
L_029e: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_02a3: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_02a5: ldloc.s 14 (System.Int32)
L_02a7: brtrue Label #22
L_02ac: ldc.i4.1
L_02ad: br Label #23
L_02b2: Label #22
L_02b2: ldc.i4.3
L_02b3: Label #23
L_02b3: stfld Verse.Danger maxDanger
L_02b8: ldc.i4.0
L_02b9: stloc.s 16 (System.Int32)
L_02bb: br Label #24
L_02c0: Label #28
L_02c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_02c5: ldloc.s 16 (System.Int32)
L_02c7: callvirt Verse.ThingDef get_Item(Int32)
L_02cc: stloc.s 17 (Verse.ThingDef)
L_02ce: ldloc.0
L_02cf: ldfld Verse.Pawn sleeper
L_02d4: ldloc.s 17 (Verse.ThingDef)
L_02d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_02db: brtrue Label #25
L_02e0: br Label #26
L_02e5: Label #25
L_02e5: ldloc.0
L_02e6: ldfld Verse.Pawn sleeper
L_02eb: callvirt IntVec3 get_Position()
L_02f0: ldloc.0
L_02f1: ldfld Verse.Pawn sleeper
L_02f6: callvirt Verse.Map get_Map()
L_02fb: ldloc.s 17 (Verse.ThingDef)
L_02fd: call ThingRequest ForDef(Verse.ThingDef)
L_0302: ldc.i4.1
L_0303: ldloc.0
L_0304: ldfld Verse.Pawn traveler
L_0309: ldc.i4.3
L_030a: ldc.i4.0
L_030b: ldc.i4.0
L_030c: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_0311: ldc.r4 9999
L_0316: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_0318: ldftn Boolean <>m__0(Verse.Thing)
L_031e: newobj Void .ctor(Object, IntPtr)
L_0323: ldnull
L_0324: ldc.i4.0
L_0325: ldc.i4.m1
L_0326: ldc.i4.0
L_0327: ldc.i4.6
L_0328: ldc.i4.0
L_0329: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_032e: castclass RimWorld.Building_Bed
L_0333: stloc.s 18 (RimWorld.Building_Bed)
L_0335: ldloc.s 18 (RimWorld.Building_Bed)
L_0337: brfalse Label #27
L_033c: ldloc.s 18 (RimWorld.Building_Bed)
L_033e: br Label #0
L_0343: Label #26
L_0343: Label #27
L_0343: ldloc.s 16 (System.Int32)
L_0345: ldc.i4.1
L_0346: add
L_0347: stloc.s 16 (System.Int32)
L_0349: Label #24
L_0349: ldloc.s 16 (System.Int32)
L_034b: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_0350: callvirt Int32 get_Count()
L_0355: blt Label #28
L_035a: ldloc.s 14 (System.Int32)
L_035c: ldc.i4.1
L_035d: add
L_035e: stloc.s 14 (System.Int32)
L_0360: Label #21
L_0360: ldloc.s 14 (System.Int32)
L_0362: ldc.i4.2
L_0363: blt Label #29
L_0368: ldnull
L_0369: br Label #0
L_036e: Label #0
L_036e: stloc 19 (RimWorld.Building_Bed)
L_0370: ldarga 0
L_0376: ldloca 19 (RimWorld.Building_Bed)
L_0378: ldarga 1
L_037e: ldarga 4
L_0384: ldarga 2
L_038a: ldarga 3
L_0390: call Void FindBedFor_Patch(Verse.Pawn ByRef, RimWorld.Building_Bed ByRef,
Verse.Pawn ByRef, Boolean ByRef, Boolean ByRef, Boolean ByRef)
L_0395: ldloc 19 (RimWorld.Building_Bed)
L_0397: ret
DONE

PATCHING RimWorld.JobGiver_DoLovin Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 1 (Verse.AI.Job)
L_0002: call Verse.TickManager get_TickManager()
L_0007: callvirt Int32 get_TicksGame()
L_000c: ldarg.1
L_000d: ldfld Verse.AI.Pawn_MindState mindState
L_0012: ldfld System.Int32 canLovinTick
L_0017: bge Label #2
L_001c: ldnull
L_001d: br Label #0
L_0022: Label #2
L_0022: ldarg.1
L_0023: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0028: brfalse Label #3
L_002d: ldarg.1
L_002e: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0033: callvirt Boolean get_Medical()
L_0038: brtrue Label #4
L_003d: ldarg.1
L_003e: ldfld Verse.Pawn_HealthTracker health
L_0043: ldfld Verse.PawnCapacitiesHandler capacities
L_0048: callvirt Boolean get_CanBeAwake()
L_004d: brtrue Label #5
L_0052: Label #3
L_0052: Label #4
L_0052: ldnull
L_0053: br Label #0
L_0058: Label #5
L_0058: ldarg.1
L_0059: call Verse.Pawn GetPartnerInMyBed(Verse.Pawn)
L_005e: stloc.0
L_005f: ldloc.0
L_0060: brfalse Label #6
L_0065: ldloc.0
L_0066: ldfld Verse.Pawn_HealthTracker health
L_006b: ldfld Verse.PawnCapacitiesHandler capacities
L_0070: callvirt Boolean get_CanBeAwake()
L_0075: brfalse Label #7
L_007a: call Verse.TickManager get_TickManager()
L_007f: callvirt Int32 get_TicksGame()
L_0084: ldloc.0
L_0085: ldfld Verse.AI.Pawn_MindState mindState
L_008a: ldfld System.Int32 canLovinTick
L_008f: bge Label #8
L_0094: Label #6
L_0094: Label #7
L_0094: ldnull
L_0095: br Label #0
L_009a: Label #8
L_009a: ldarg.1
L_009b: ldloc.0
L_009c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00a1: ldc.i4.1
L_00a2: ldc.i4.m1
L_00a3: ldnull
L_00a4: ldc.i4.0
L_00a5: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00aa: brfalse Label #9
L_00af: ldloc.0
L_00b0: ldarg.1
L_00b1: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00b6: ldc.i4.1
L_00b7: ldc.i4.m1
L_00b8: ldnull
L_00b9: ldc.i4.0
L_00ba: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00bf: brtrue Label #10
L_00c4: Label #9
L_00c4: ldnull
L_00c5: br Label #0
L_00ca: Label #10
L_00ca: ldsfld Verse.JobDef Lovin
L_00cf: ldloc.0
L_00d0: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00d5: ldarg.1
L_00d6: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00db: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00e0: newobj Void .ctor(JobDef, LocalTargetInfo, LocalTargetInfo)
L_00e5: br Label #0
L_00ea: Label #0
L_00ea: stloc 1 (Verse.AI.Job)
L_00eb: ldloca 1 (Verse.AI.Job)
L_00ed: ldarga 1
L_00f3: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_00f8: ldloc 1 (Verse.AI.Job)
L_00f9: ret
DONE

PATCHING RimWorld.JobDriver_Lovin+<MakeNewToils>c__Iterator0 Void <>m__4()


L_0000: Local var #0 RimWorld.Thought_Memory
L_0000: ldsfld RimWorld.ThoughtDef GotSomeLovin
L_0005: call RimWorld.Thought MakeThought(RimWorld.ThoughtDef)
L_000a: castclass RimWorld.Thought_Memory
L_000f: stloc.0
L_0010: ldarg.0
L_0011: ldfld RimWorld.JobDriver_Lovin $this
L_0016: ldfld Verse.Pawn pawn
L_001b: ldfld RimWorld.Pawn_NeedsTracker needs
L_0020: ldfld RimWorld.Need_Mood mood
L_0025: ldfld RimWorld.ThoughtHandler thoughts
L_002a: ldfld RimWorld.MemoryThoughtHandler memories
L_002f: ldloc.0
L_0030: ldarg.0
L_0031: ldfld RimWorld.JobDriver_Lovin $this
L_0036: call Verse.Pawn get_Partner()
L_003b: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_0040: ldarg.0
L_0041: ldfld RimWorld.JobDriver_Lovin $this
L_0046: ldfld Verse.Pawn pawn
L_004b: ldfld Verse.AI.Pawn_MindState mindState
L_0050: call Verse.TickManager get_TickManager()
L_0055: callvirt Int32 get_TicksGame()
L_005a: ldarg.0
L_005b: ldfld RimWorld.JobDriver_Lovin $this
L_0060: ldarg.0
L_0061: ldfld RimWorld.JobDriver_Lovin $this
L_0066: ldfld Verse.Pawn pawn
L_006b: call Int32 GenerateRandomMinTicksToNextLovin(Verse.Pawn)
L_0070: add
L_0071: stfld System.Int32 canLovinTick
L_0076: ldarg.0
L_0077: ldfld RimWorld.JobDriver_Lovin $this
L_007c: ldfld Verse.Pawn pawn
L_0081: ldarg.0
L_0082: ldfld RimWorld.JobDriver_Lovin $this
L_0087: call Verse.Pawn get_Partner()
L_008c: call Void TryToImpregnate(Verse.Pawn, Verse.Pawn)
L_0091: br Label #0
L_0096: Label #0
L_0096: ret
DONE

PATCHING RimWorld.JobDriver_Wear+<MakeNewToils>c__Iterator0 Boolean MoveNext()


L_0000: Local var #0 System.UInt32
L_0000: ldarg.0
L_0001: ldfld System.Int32 $PC
L_0006: stloc.0
L_0007: ldarg.0
L_0008: ldc.i4.m1
L_0009: stfld System.Int32 $PC
L_000e: ldloc.0
L_000f: switch Labels #2 #3 #4 #5
L_0024: br Label #6
L_0029: Label #2
L_0029: ldarg.0
L_002a: ldfld RimWorld.JobDriver_Wear $this
L_002f: call RimWorld.JobDriver_Wear FailOnBaby[JobDriver_Wear]
(RimWorld.JobDriver_Wear)
L_0034: pop
L_0035: ldarg.0
L_0036: newobj Void .ctor()
L_003b: stfld Verse.AI.Toil <gotoApparel>__1
L_0040: ldarg.0
L_0041: ldfld Verse.AI.Toil <gotoApparel>__1
L_0046: ldarg.0
L_0047: ldftn Void <>m__0()
L_004d: newobj Void .ctor(Object, IntPtr)
L_0052: stfld System.Action initAction
L_0057: ldarg.0
L_0058: ldfld Verse.AI.Toil <gotoApparel>__1
L_005d: ldc.i4.2
L_005e: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0063: ldarg.0
L_0064: ldfld Verse.AI.Toil <gotoApparel>__1
L_0069: ldc.i4.1
L_006a: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_006f: pop
L_0070: ldarg.0
L_0071: ldarg.0
L_0072: ldfld Verse.AI.Toil <gotoApparel>__1
L_0077: stfld Verse.AI.Toil $current
L_007c: ldarg.0
L_007d: ldfld System.Boolean $disposing
L_0082: brtrue Label #7
L_0087: ldarg.0
L_0088: ldc.i4.1
L_0089: stfld System.Int32 $PC
L_008e: Label #7
L_008e: br Label #8
L_0093: Label #3
L_0093: ldarg.0
L_0094: newobj Void .ctor()
L_0099: stfld Verse.AI.Toil <prepare>__2
L_009e: ldarg.0
L_009f: ldfld Verse.AI.Toil <prepare>__2
L_00a4: ldc.i4.3
L_00a5: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_00aa: ldarg.0
L_00ab: ldfld Verse.AI.Toil <prepare>__2
L_00b0: ldc.i4.s 60
L_00b2: stfld System.Int32 defaultDuration
L_00b7: ldarg.0
L_00b8: ldfld Verse.AI.Toil <prepare>__2
L_00bd: ldc.i4.1
L_00be: ldc.i4.0
L_00bf: ldc.r4 -0.5
L_00c4: call Verse.AI.Toil WithProgressBarToilDelay(Verse.AI.Toil, TargetIndex,
Boolean, Single)
L_00c9: pop
L_00ca: ldarg.0
L_00cb: ldfld Verse.AI.Toil <prepare>__2
L_00d0: ldc.i4.1
L_00d1: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_00d6: pop
L_00d7: ldarg.0
L_00d8: ldarg.0
L_00d9: ldfld Verse.AI.Toil <prepare>__2
L_00de: stfld Verse.AI.Toil $current
L_00e3: ldarg.0
L_00e4: ldfld System.Boolean $disposing
L_00e9: brtrue Label #9
L_00ee: ldarg.0
L_00ef: ldc.i4.2
L_00f0: stfld System.Int32 $PC
L_00f5: Label #9
L_00f5: br Label #10
L_00fa: Label #4
L_00fa: ldarg.0
L_00fb: newobj Void .ctor()
L_0100: stfld Verse.AI.Toil <wear>__3
L_0105: ldarg.0
L_0106: ldfld Verse.AI.Toil <wear>__3
L_010b: ldarg.0
L_010c: ldftn Void <>m__1()
L_0112: newobj Void .ctor(Object, IntPtr)
L_0117: stfld System.Action initAction
L_011c: ldarg.0
L_011d: ldfld Verse.AI.Toil <wear>__3
L_0122: ldc.i4.1
L_0123: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0128: ldarg.0
L_0129: ldarg.0
L_012a: ldfld Verse.AI.Toil <wear>__3
L_012f: stfld Verse.AI.Toil $current
L_0134: ldarg.0
L_0135: ldfld System.Boolean $disposing
L_013a: brtrue Label #11
L_013f: ldarg.0
L_0140: ldc.i4.3
L_0141: stfld System.Int32 $PC
L_0146: Label #11
L_0146: br Label #12
L_014b: Label #5
L_014b: ldarg.0
L_014c: ldc.i4.m1
L_014d: stfld System.Int32 $PC
L_0152: Label #6
L_0152: ldc.i4.0
L_0153: br Label #0
L_0158: Label #8
L_0158: Label #10
L_0158: Label #12
L_0158: ldc.i4.1
L_0159: br Label #0
L_015e: Label #0
L_015e: ret
DONE

PATCHING RimWorld.ThoughtUtility Boolean CanGetThought(Verse.Pawn,


RimWorld.ThoughtDef)
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 4 (System.Boolean)
L_0007: ldarg.1
L_0008: ldfld System.Boolean validWhileDespawned
L_000d: brtrue Label #2
L_0012: ldarg.0
L_0013: callvirt Boolean get_Spawned()
L_0018: brtrue Label #3
L_001d: ldarg.1
L_001e: callvirt Boolean get_IsMemory()
L_0023: brtrue Label #4
L_0028: ldc.i4.0
L_0029: stloc.0
L_002a: leave Label #5
L_002f: Label #2
L_002f: Label #3
L_002f: Label #4
L_002f: ldarg.1
L_0030: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0035: brfalse Label #6
L_003a: ldc.i4.0
L_003b: stloc.1
L_003c: br Label #7
L_0041: Label #10
L_0041: ldarg.0
L_0042: ldfld RimWorld.Pawn_StoryTracker story
L_0047: ldfld RimWorld.TraitSet traits
L_004c: ldarg.1
L_004d: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0052: ldloc.1
L_0053: callvirt RimWorld.TraitDef get_Item(Int32)
L_0058: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_005d: brfalse Label #8
L_0062: ldc.i4.0
L_0063: stloc.0
L_0064: leave Label #9
L_0069: Label #8
L_0069: ldloc.1
L_006a: ldc.i4.1
L_006b: add
L_006c: stloc.1
L_006d: Label #7
L_006d: ldloc.1
L_006e: ldarg.1
L_006f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0074: callvirt Int32 get_Count()
L_0079: blt Label #10
L_007e: Label #6
L_007e: ldarg.1
L_007f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0084: call Boolean NullOrEmpty[TraitDef](IList`1)
L_0089: brtrue Label #11
L_008e: ldc.i4.0
L_008f: stloc.2
L_0090: ldc.i4.0
L_0091: stloc.3
L_0092: br Label #12
L_0097: Label #19
L_0097: ldarg.0
L_0098: ldfld RimWorld.Pawn_StoryTracker story
L_009d: ldfld RimWorld.TraitSet traits
L_00a2: ldarg.1
L_00a3: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00a8: ldloc.3
L_00a9: callvirt RimWorld.TraitDef get_Item(Int32)
L_00ae: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00b3: brtrue Label #13
L_00b8: leave Label #14
L_00bd: Label #13
L_00bd: ldarg.1
L_00be: callvirt Boolean get_RequiresSpecificTraitsDegree()
L_00c3: brfalse Label #15
L_00c8: ldarg.1
L_00c9: ldfld System.Int32 requiredTraitsDegree
L_00ce: ldarg.0
L_00cf: ldfld RimWorld.Pawn_StoryTracker story
L_00d4: ldfld RimWorld.TraitSet traits
L_00d9: ldarg.1
L_00da: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00df: ldloc.3
L_00e0: callvirt RimWorld.TraitDef get_Item(Int32)
L_00e5: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_00ea: beq Label #16
L_00ef: leave Label #17
L_00f4: Label #15
L_00f4: Label #16
L_00f4: ldc.i4.1
L_00f5: stloc.2
L_00f6: leave Label #18
L_00fb: Label #14
L_00fb: Label #17
L_00fb: ldloc.3
L_00fc: ldc.i4.1
L_00fd: add
L_00fe: stloc.3
L_00ff: Label #12
L_00ff: ldloc.3
L_0100: ldarg.1
L_0101: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0106: callvirt Int32 get_Count()
L_010b: blt Label #19
L_0110: Label #18
L_0110: ldloc.2
L_0111: brtrue Label #20
L_0116: ldc.i4.0
L_0117: stloc.0
L_0118: leave Label #21
L_011d: Label #11
L_011d: Label #20
L_011d: ldarg.1
L_011e: ldfld System.Boolean nullifiedIfNotColonist
L_0123: brfalse Label #22
L_0128: ldarg.0
L_0129: callvirt Boolean get_IsColonist()
L_012e: brtrue Label #23
L_0133: ldc.i4.0
L_0134: stloc.0
L_0135: leave Label #24
L_013a: Label #22
L_013a: Label #23
L_013a: ldarg.1
L_013b: ldarg.0
L_013c: call Boolean IsSituationalThoughtNullifiedByHediffs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0141: brfalse Label #25
L_0146: ldc.i4.0
L_0147: stloc.0
L_0148: leave Label #26
L_014d: Label #25
L_014d: ldarg.1
L_014e: ldarg.0
L_014f: call Boolean IsThoughtNullifiedByOwnTales(RimWorld.ThoughtDef, Verse.Pawn)
L_0154: brfalse Label #27
L_0159: ldc.i4.0
L_015a: stloc.0
L_015b: leave Label #28
L_0160: Label #27
L_0160: leave Label #29
L_0165: endfinally
L_0166: Label #29
L_0166: ldc.i4.1
L_0167: br Label #0
L_016c: Label #5
L_016c: Label #9
L_016c: Label #21
L_016c: Label #24
L_016c: Label #26
L_016c: Label #28
L_016c: ldloc.0
L_016d: br Label #0
L_0172: Label #0
L_0172: stloc 4 (System.Boolean)
L_0174: ldarga 0
L_017a: ldarga 1
L_0180: ldloca 4 (System.Boolean)
L_0182: call Void CanGetThought_Patch(Verse.Pawn ByRef, RimWorld.ThoughtDef ByRef,
Boolean ByRef)
L_0187: ldloc 4 (System.Boolean)
L_0189: ret
DONE

PATCHING RimWorld.JobGiver_SocialFighting Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Verb
L_0000: Local var #2 Verse.AI.Job
L_0000: Local var #3 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 3 (Verse.AI.Job)
L_0002: ldarg.1
L_0003: callvirt Verse.RaceProperties get_RaceProps()
L_0008: callvirt Boolean get_Humanlike()
L_000d: brfalse Label #2
L_0012: ldarg.1
L_0013: ldfld RimWorld.Pawn_StoryTracker story
L_0018: ldc.i4.8
L_0019: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_001e: brfalse Label #3
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: Label #3
L_0029: ldarg.1
L_002a: callvirt Verse.AI.MentalState get_MentalState()
L_002f: castclass Verse.AI.MentalState_SocialFighting
L_0034: ldfld Verse.Pawn otherPawn
L_0039: stloc.0
L_003a: ldarg.1
L_003b: ldloca.s 1 (Verse.Verb)
L_003d: call Boolean TryGetRandomVerbForSocialFight(Verse.Pawn, Verse.Verb ByRef)
L_0042: brtrue Label #4
L_0047: ldnull
L_0048: br Label #0
L_004d: Label #4
L_004d: ldsfld Verse.JobDef SocialFight
L_0052: ldloc.0
L_0053: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0058: newobj Void .ctor(JobDef, LocalTargetInfo)
L_005d: stloc.2
L_005e: ldloc.2
L_005f: ldc.i4.1
L_0060: stfld System.Int32 maxNumMeleeAttacks
L_0065: ldloc.2
L_0066: ldloc.1
L_0067: stfld Verse.Verb verbToUse
L_006c: ldloc.2
L_006d: br Label #0
L_0072: Label #0
L_0072: stloc 3 (Verse.AI.Job)
L_0073: ldarga 1
L_0079: ldloca 3 (Verse.AI.Job)
L_007b: call Void TryGiveJob_Postfix(Verse.Pawn ByRef, Verse.AI.Job ByRef)
L_0080: ldloc 3 (Verse.AI.Job)
L_0081: ret
DONE

PATCHING RimWorld.Pawn_ApparelTracker Void ApparelChanged()


L_0000: ldarg.0
L_0001: ldftn Void <ApparelChanged>m__1()
L_0007: newobj Void .ctor(Object, IntPtr)
L_000c: call Void ExecuteWhenFinished(System.Action)
L_0011: br Label #0
L_0016: Label #0
L_0016: ldarga 0
L_001c: call Void ApparelChanged_Postfix(RimWorld.Pawn_ApparelTracker ByRef)
L_0021: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveAllGraphics()


L_0000: Local var #0 Verse.PawnKindLifeStage
L_0000: ldarg.0
L_0001: call Void ClearCache()
L_0006: ldarg.0
L_0007: ldfld Verse.Pawn pawn
L_000c: callvirt Verse.RaceProperties get_RaceProps()
L_0011: callvirt Boolean get_Humanlike()
L_0016: brfalse Label #2
L_001b: ldarg.0
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_StoryTracker story
L_0027: ldfld RimWorld.BodyType bodyType
L_002c: ldsfld UnityEngine.Shader CutoutSkin
L_0031: ldarg.0
L_0032: ldfld Verse.Pawn pawn
L_0037: ldfld RimWorld.Pawn_StoryTracker story
L_003c: callvirt Color get_SkinColor()
L_0041: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_0046: stfld Verse.Graphic nakedGraphic
L_004b: ldarg.0
L_004c: ldarg.0
L_004d: ldfld Verse.Pawn pawn
L_0052: ldfld RimWorld.Pawn_StoryTracker story
L_0057: ldfld RimWorld.BodyType bodyType
L_005c: ldsfld UnityEngine.Shader CutoutSkin
L_0061: ldsfld UnityEngine.Color RottingColor
L_0066: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_006b: stfld Verse.Graphic rottingGraphic
L_0070: ldarg.0
L_0071: ldstr "Things/Pawn/Humanlike/HumanoidDessicated"
L_0076: ldsfld UnityEngine.Shader Cutout
L_007b: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader)
L_0080: stfld Verse.Graphic dessicatedGraphic
L_0085: ldarg.0
L_0086: ldarg.0
L_0087: ldfld Verse.Pawn pawn
L_008c: ldfld RimWorld.Pawn_StoryTracker story
L_0091: callvirt System.String get_HeadGraphicPath()
L_0096: ldarg.0
L_0097: ldfld Verse.Pawn pawn
L_009c: ldfld RimWorld.Pawn_StoryTracker story
L_00a1: callvirt Color get_SkinColor()
L_00a6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00ab: stfld Verse.Graphic headGraphic
L_00b0: ldarg.0
L_00b1: ldarg.0
L_00b2: ldfld Verse.Pawn pawn
L_00b7: ldfld RimWorld.Pawn_StoryTracker story
L_00bc: callvirt System.String get_HeadGraphicPath()
L_00c1: ldsfld UnityEngine.Color RottingColor
L_00c6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00cb: stfld Verse.Graphic desiccatedHeadGraphic
L_00d0: ldarg.0
L_00d1: call Verse.Graphic_Multi GetSkull()
L_00d6: stfld Verse.Graphic skullGraphic
L_00db: ldarg.0
L_00dc: ldarg.0
L_00dd: ldfld Verse.Pawn pawn
L_00e2: ldfld RimWorld.Pawn_StoryTracker story
L_00e7: callvirt Color get_SkinColor()
L_00ec: call Verse.Graphic_Multi GetStump(Color)
L_00f1: stfld Verse.Graphic headStumpGraphic
L_00f6: ldarg.0
L_00f7: ldsfld UnityEngine.Color RottingColor
L_00fc: call Verse.Graphic_Multi GetStump(Color)
L_0101: stfld Verse.Graphic desiccatedHeadStumpGraphic
L_0106: ldarg.0
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld RimWorld.Pawn_StoryTracker story
L_0112: ldfld RimWorld.HairDef hairDef
L_0117: ldfld System.String texPath
L_011c: ldsfld UnityEngine.Shader Cutout
L_0121: call Vector2 get_one()
L_0126: ldarg.0
L_0127: ldfld Verse.Pawn pawn
L_012c: ldfld RimWorld.Pawn_StoryTracker story
L_0131: ldfld UnityEngine.Color hairColor
L_0136: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_013b: stfld Verse.Graphic hairGraphic
L_0140: ldarg.0
L_0141: call Void ResolveApparelGraphics()
L_0146: br Label #3
L_014b: Label #2
L_014b: ldarg.0
L_014c: ldfld Verse.Pawn pawn
L_0151: ldfld Verse.Pawn_AgeTracker ageTracker
L_0156: callvirt Verse.PawnKindLifeStage get_CurKindLifeStage()
L_015b: stloc.0
L_015c: ldarg.0
L_015d: ldfld Verse.Pawn pawn
L_0162: ldfld Verse.Gender gender
L_0167: ldc.i4.2
L_0168: bne.un Label #4
L_016d: ldloc.0
L_016e: ldfld Verse.GraphicData femaleGraphicData
L_0173: brtrue Label #5
L_0178: Label #4
L_0178: ldarg.0
L_0179: ldloc.0
L_017a: ldfld Verse.GraphicData bodyGraphicData
L_017f: callvirt Verse.Graphic get_Graphic()
L_0184: stfld Verse.Graphic nakedGraphic
L_0189: br Label #6
L_018e: Label #5
L_018e: ldarg.0
L_018f: ldloc.0
L_0190: ldfld Verse.GraphicData femaleGraphicData
L_0195: callvirt Verse.Graphic get_Graphic()
L_019a: stfld Verse.Graphic nakedGraphic
L_019f: Label #6
L_019f: ldarg.0
L_01a0: ldarg.0
L_01a1: ldfld Verse.Graphic nakedGraphic
L_01a6: ldsfld UnityEngine.Shader CutoutSkin
L_01ab: ldsfld UnityEngine.Color RottingColor
L_01b0: ldsfld UnityEngine.Color RottingColor
L_01b5: callvirt Verse.Graphic GetColoredVersion(UnityEngine.Shader, Color, Color)
L_01ba: stfld Verse.Graphic rottingGraphic
L_01bf: ldarg.0
L_01c0: ldfld Verse.Pawn pawn
L_01c5: callvirt Verse.RaceProperties get_RaceProps()
L_01ca: ldfld System.Boolean packAnimal
L_01cf: brfalse Label #7
L_01d4: ldarg.0
L_01d5: ldarg.0
L_01d6: ldfld Verse.Graphic nakedGraphic
L_01db: ldfld System.String path
L_01e0: ldstr "Pack"
L_01e5: call System.String Concat(System.String, System.String)
L_01ea: ldsfld UnityEngine.Shader Cutout
L_01ef: ldarg.0
L_01f0: ldfld Verse.Graphic nakedGraphic
L_01f5: ldfld UnityEngine.Vector2 drawSize
L_01fa: call Color get_white()
L_01ff: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_0204: stfld Verse.Graphic packGraphic
L_0209: Label #7
L_0209: ldloc.0
L_020a: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_020f: brfalse Label #8
L_0214: ldarg.0
L_0215: ldloc.0
L_0216: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_021b: ldarg.0
L_021c: ldfld Verse.Pawn pawn
L_0221: callvirt Verse.Graphic GraphicColoredFor(Verse.Thing)
L_0226: stfld Verse.Graphic dessicatedGraphic
L_022b: Label #3
L_022b: Label #8
L_022b: br Label #0
L_0230: Label #0
L_0230: ldarga 0
L_0236: call Void ResolveAllGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_023b: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveApparelGraphics()


L_0000: Local var #0 RimWorld.Apparel
L_0000: Local var #1 System.Collections.Generic.IEnumerator`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 RimWorld.ApparelGraphicRecord
L_0000: ldarga 0
L_0006: call Void ResolveApparelGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_000b: ldarg.0
L_000c: call Void ClearCache()
L_0011: ldarg.0
L_0012: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0017: callvirt Void Clear()
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0027: callvirt IEnumerable`1 get_WornApparelInDrawOrder()
L_002c: callvirt IEnumerator`1 GetEnumerator()
L_0031: stloc.1
L_0032: br Label #2
L_0037: Label #4
L_0037: ldloc.1
L_0038: callvirt RimWorld.Apparel get_Current()
L_003d: stloc.0
L_003e: ldloc.0
L_003f: ldarg.0
L_0040: ldfld Verse.Pawn pawn
L_0045: call BodyType ModifyChildBodyType(Verse.Pawn)
L_004a: ldloca.s 2 (RimWorld.ApparelGraphicRecord)
L_004c: call Boolean TryGetGraphicApparel(RimWorld.Apparel, BodyType,
ApparelGraphicRecord ByRef)
L_0051: brfalse Label #3
L_0056: ldarg.0
L_0057: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_005c: ldloc.2
L_005d: callvirt Void Add(ApparelGraphicRecord)
L_0062: Label #2
L_0062: Label #3
L_0062: ldloc.1
L_0063: callvirt Boolean MoveNext()
L_0068: brtrue Label #4
L_006d: leave Label #5
L_0072: ldloc.1
L_0073: brfalse Label #6
L_0078: ldloc.1
L_0079: callvirt Void Dispose()
L_007e: Label #6
L_007e: endfinally
L_007f: Label #5
L_007f: br Label #0
L_0084: Label #0
L_0084: ret
DONE

PATCHING Verse.PawnRenderer Void RenderPawnInternal(Vector3, Quaternion, Boolean,


Rot4, Rot4, RotDrawMode, Boolean, Boolean)
L_0000: Local var #0 UnityEngine.Mesh
L_0000: Local var #1 UnityEngine.Vector3
L_0000: Local var #2 System.Collections.Generic.List`1[[UnityEngine.Material,
UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 System.Int32
L_0000: Local var #4 UnityEngine.Material
L_0000: Local var #5 UnityEngine.Vector3
L_0000: Local var #6 UnityEngine.Vector3
L_0000: Local var #7 UnityEngine.Vector3
L_0000: Local var #8 UnityEngine.Vector3
L_0000: Local var #9 UnityEngine.Material
L_0000: Local var #10 UnityEngine.Mesh
L_0000: Local var #11 UnityEngine.Vector3
L_0000: Local var #12 System.Boolean
L_0000: Local var #13 UnityEngine.Mesh
L_0000: Local var #14
System.Collections.Generic.List`1[[RimWorld.ApparelGraphicRecord, Assembly-CSharp,
Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #15 System.Int32
L_0000: Local var #16 RimWorld.ApparelGraphicRecord
L_0000: Local var #17 RimWorld.ApparelGraphicRecord
L_0000: Local var #18 UnityEngine.Material
L_0000: Local var #19 RimWorld.ApparelGraphicRecord
L_0000: Local var #20 UnityEngine.Material
L_0000: Local var #21 RimWorld.ApparelGraphicRecord
L_0000: Local var #22 UnityEngine.Vector3
L_0000: Local var #23 UnityEngine.Mesh
L_0000: Local var #24 UnityEngine.Material
L_0000: Local var #25 System.Int32
L_0000: Local var #26 RimWorld.ApparelGraphicRecord
L_0000: Local var #27 UnityEngine.Material
L_0000: Local var #28 System.Collections.Generic.List`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #29 System.Int32
L_0000: Local var #30 UnityEngine.Vector3
L_0000: ldarg.0
L_0001: ldfld Verse.PawnGraphicSet graphics
L_0006: callvirt Boolean get_AllResolved()
L_000b: brtrue Label #2
L_0010: ldarg.0
L_0011: ldfld Verse.PawnGraphicSet graphics
L_0016: callvirt Void ResolveAllGraphics()
L_001b: Label #2
L_001b: ldnull
L_001c: stloc.0
L_001d: ldarg.0
L_001e: ldfld Verse.Pawn pawn
L_0023: ldfld Verse.Pawn_AgeTracker ageTracker
L_0028: call Int32 get_CurLifeStageIndex()
L_002d: ldc.i4.2
L_002e: blt Label #43
L_0033: ldarg.3
L_0034: brfalse Label #3
L_0039: Label #43
L_0039: ldarg.1
L_003a: ldarg.0
L_003b: ldfld Verse.Pawn pawn
L_0040: ldarg.s 7
L_0045: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_004a: stloc.1
L_004b: ldloca.s 1 (UnityEngine.Vector3)
L_004d: dup
L_004e: ldfld System.Single y
L_0053: ldc.r4 0.0078125
L_0058: add
L_0059: stfld System.Single y
L_005e: ldarg.s 6
L_0060: ldc.i4.2
L_0061: bne.un Label #4
L_0066: ldarg.0
L_0067: ldfld Verse.Pawn pawn
L_006c: callvirt Verse.RaceProperties get_RaceProps()
L_0071: callvirt Boolean get_Humanlike()
L_0076: brtrue Label #5
L_007b: ldarg.0
L_007c: ldfld Verse.PawnGraphicSet graphics
L_0081: ldfld Verse.Graphic dessicatedGraphic
L_0086: brfalse Label #6
L_008b: ldarg.s 7
L_008d: brtrue Label #7
L_0092: ldarg.0
L_0093: ldfld Verse.PawnGraphicSet graphics
L_0098: ldfld Verse.Graphic dessicatedGraphic
L_009d: ldloc.1
L_009e: ldarg.s 4
L_00a0: ldarg.0
L_00a1: ldfld Verse.Pawn pawn
L_00a6: ldc.r4 0
L_00ab: callvirt Void Draw(Vector3, Rot4, Verse.Thing, Single)
L_00b0: br Label #8
L_00b5: Label #4
L_00b5: Label #5
L_00b5: Label #6
L_00b5: Label #7
L_00b5: ldarg.0
L_00b6: ldfld Verse.Pawn pawn
L_00bb: callvirt Verse.RaceProperties get_RaceProps()
L_00c0: callvirt Boolean get_Humanlike()
L_00c5: brfalse Label #9
L_00ca: ldsfld Verse.GraphicMeshSet humanlikeBodySet
L_00cf: ldarg.s 4
L_00d1: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00d6: stloc.0
L_00d7: br Label #10
L_00dc: Label #9
L_00dc: ldarg.0
L_00dd: ldfld Verse.PawnGraphicSet graphics
L_00e2: ldfld Verse.Graphic nakedGraphic
L_00e7: ldarg.s 4
L_00e9: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00ee: stloc.0
L_00ef: Label #10
L_00ef: ldarg.0
L_00f0: ldfld Verse.PawnGraphicSet graphics
L_00f5: ldarg.s 4
L_00f7: ldarg.s 6
L_00f9: callvirt System.Collections.Generic.List`1[UnityEngine.Material]
MatsBodyBaseAt(Rot4, RotDrawMode)
L_00fe: stloc.2
L_00ff: ldc.i4.0
L_0100: stloc.3
L_0101: br Label #11
L_0106: Label #12
L_0106: ldarg.0
L_0107: ldfld Verse.PawnGraphicSet graphics
L_010c: ldfld Verse.DamageFlasher flasher
L_0111: ldloc.2
L_0112: ldloc.3
L_0113: callvirt UnityEngine.Material get_Item(Int32)
L_0118: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_011d: stloc.s 4 (UnityEngine.Material)
L_011f: ldloc.s 4
L_0124: ldarg.0
L_0125: ldfld Verse.Pawn pawn
L_012a: ldarg.s 4
L_012f: call UnityEngine.Material ModifyClothingForChild(UnityEngine.Material,
Verse.Pawn, Rot4)
L_0134: stloc.s 4
L_0139: ldloc.0
L_013a: ldloc.1
L_013b: ldarg.2
L_013c: ldloc.s 4 (UnityEngine.Material)
L_013e: ldarg.s 7
L_0140: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_0145: ldloca.s 1 (UnityEngine.Vector3)
L_0147: dup
L_0148: ldfld System.Single y
L_014d: ldloc.s 18
L_0152: ldarg.0
L_0153: ldfld Verse.Pawn pawn
L_0158: call UnityEngine.Material ModifyHatForChild(UnityEngine.Material,
Verse.Pawn)
L_015d: stloc.s 18
L_0162: ldc.r4 0.00390625
L_0167: add
L_0168: stfld System.Single y
L_016d: ldloc.3
L_016e: ldc.i4.1
L_016f: add
L_0170: stloc.3
L_0171: Label #11
L_0171: ldloc.3
L_0172: ldloc.2
L_0173: callvirt Int32 get_Count()
L_0178: blt Label #12
L_017d: ldarg.s 6
L_017f: brtrue Label #13
L_0184: ldarg.1
L_0185: ldarg.0
L_0186: ldfld Verse.Pawn pawn
L_018b: ldarg.s 7
L_0190: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0195: stloc.s 5 (UnityEngine.Vector3)
L_0197: ldloca.s 5 (UnityEngine.Vector3)
L_0199: dup
L_019a: ldfld System.Single y
L_019f: ldc.r4 0.01953125
L_01a4: add
L_01a5: stfld System.Single y
L_01aa: ldarg.0
L_01ab: ldfld RimWorld.PawnWoundDrawer woundOverlays
L_01b0: ldloc.s 5 (UnityEngine.Vector3)
L_01b2: ldloc.0
L_01b3: ldarg.2
L_01b4: ldarg.s 7
L_01b6: callvirt Void RenderOverBody(Vector3, UnityEngine.Mesh, Quaternion,
Boolean)
L_01bb: Label #3
L_01bb: Label #8
L_01bb: Label #13
L_01bb: ldarg.1
L_01bc: ldarg.0
L_01bd: ldfld Verse.Pawn pawn
L_01c2: ldarg.s 7
L_01c7: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01cc: stloc.s 6 (UnityEngine.Vector3)
L_01ce: ldarg.1
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldarg.s 7
L_01da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01df: stloc.s 7 (UnityEngine.Vector3)
L_01e1: ldarg.s 4
L_01e3: call Rot4 get_North()
L_01e8: call Boolean op_Inequality(Rot4, Rot4)
L_01ed: brfalse Label #14
L_01f2: ldloca.s 7 (UnityEngine.Vector3)
L_01f4: dup
L_01f5: ldfld System.Single y
L_01fa: ldc.r4 0.02734375
L_01ff: add
L_0200: stfld System.Single y
L_0205: ldloca.s 6 (UnityEngine.Vector3)
L_0207: dup
L_0208: ldfld System.Single y
L_020d: ldc.r4 0.0234375
L_0212: add
L_0213: stfld System.Single y
L_0218: br Label #15
L_021d: Label #14
L_021d: ldloca.s 7 (UnityEngine.Vector3)
L_021f: dup
L_0220: ldfld System.Single y
L_0225: ldc.r4 0.0234375
L_022a: add
L_022b: stfld System.Single y
L_0230: ldloca.s 6 (UnityEngine.Vector3)
L_0232: dup
L_0233: ldfld System.Single y
L_0238: ldc.r4 0.02734375
L_023d: add
L_023e: stfld System.Single y
L_0243: Label #15
L_0243: ldarg.0
L_0244: ldfld Verse.PawnGraphicSet graphics
L_0249: ldfld Verse.Graphic headGraphic
L_024e: brfalse Label #16
L_0253: ldarg.0
L_0254: ldfld Verse.Pawn pawn
L_0259: call Boolean RaceUsesChildren(Verse.Pawn)
L_025e: brfalse Label #44
L_0263: ldarg.0
L_0264: ldfld Verse.Pawn pawn
L_0269: call Boolean EnsurePawnIsChildOrOlder(Verse.Pawn)
L_026e: brfalse Label #16
L_0273: Label #44
L_0273: nop
L_0274: ldarg.2
L_0275: ldarg.0
L_0276: ldarg.s 5
L_0278: call Vector3 BaseHeadOffsetAt(Rot4)
L_027d: call Vector3 op_Multiply(Quaternion, Vector3)
L_0282: stloc.s 8 (UnityEngine.Vector3)
L_0284: ldarg.0
L_0285: ldfld Verse.PawnGraphicSet graphics
L_028a: ldarg.s 5
L_028c: ldarg.s 6
L_028e: ldarg.s 8
L_0290: callvirt UnityEngine.Material HeadMatAt(Rot4, RotDrawMode, Boolean)
L_0295: stloc.s 9 (UnityEngine.Material)
L_0297: ldloc.s 9 (UnityEngine.Material)
L_0299: ldnull
L_029a: call Boolean op_Inequality(UnityEngine.Object, UnityEngine.Object)
L_029f: brfalse Label #17
L_02a4: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_02a9: ldarg.s 5
L_02ab: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_02b0: stloc.s 10 (UnityEngine.Mesh)
L_02b2: ldloc.s 10 (UnityEngine.Mesh)
L_02b4: ldloc.s 7 (UnityEngine.Vector3)
L_02b6: ldloc.s 8 (UnityEngine.Vector3)
L_02b8: call Vector3 op_Addition(Vector3, Vector3)
L_02bd: ldarg.2
L_02be: ldloc.s 9 (UnityEngine.Material)
L_02c0: ldarg.s 7
L_02c2: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_02c7: Label #17
L_02c7: ldarg.1
L_02c8: ldloc.s 8 (UnityEngine.Vector3)
L_02ca: call Vector3 op_Addition(Vector3, Vector3)
L_02cf: ldarg.0
L_02d0: ldfld Verse.Pawn pawn
L_02d5: ldarg.s 7
L_02da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_02df: stloc.s 11 (UnityEngine.Vector3)
L_02e1: ldloca.s 11 (UnityEngine.Vector3)
L_02e3: dup
L_02e4: ldfld System.Single y
L_02e9: ldc.r4 0.03125
L_02ee: add
L_02ef: stfld System.Single y
L_02f4: ldc.i4.0
L_02f5: stloc.s 12 (System.Boolean)
L_02f7: ldarg.s 7
L_02f9: brfalse Label #18
L_02fe: call Boolean get_HatsOnlyOnMap()
L_0303: brtrue Label #19
L_0308: Label #18
L_0308: ldarg.0
L_0309: ldfld Verse.PawnGraphicSet graphics
L_030e: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_0313: ldarg.s 5
L_0315: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_031a: stloc.s 13 (UnityEngine.Mesh)
L_031c: ldarg.0
L_031d: ldfld Verse.PawnGraphicSet graphics
L_0322: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0327: stloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0329: ldc.i4.0
L_032a: stloc.s 15 (System.Int32)
L_032c: br Label #20
L_0331: Label #26
L_0331: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0333: ldloc.s 15 (System.Int32)
L_0335: callvirt ApparelGraphicRecord get_Item(Int32)
L_033a: stloc.s 16 (RimWorld.ApparelGraphicRecord)
L_033c: ldloca.s 16 (RimWorld.ApparelGraphicRecord)
L_033e: ldfld RimWorld.Apparel sourceApparel
L_0343: ldfld Verse.ThingDef def
L_0348: ldfld RimWorld.ApparelProperties apparel
L_034d: callvirt ApparelLayer get_LastLayer()
L_0352: ldc.i4.4
L_0353: bne.un Label #21
L_0358: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_035a: ldloc.s 15 (System.Int32)
L_035c: callvirt ApparelGraphicRecord get_Item(Int32)
L_0361: stloc.s 17 (RimWorld.ApparelGraphicRecord)
L_0363: ldloca.s 17 (RimWorld.ApparelGraphicRecord)
L_0365: ldfld RimWorld.Apparel sourceApparel
L_036a: ldfld Verse.ThingDef def
L_036f: ldfld RimWorld.ApparelProperties apparel
L_0374: ldfld System.Boolean hatRenderedFrontOfFace
L_0379: brtrue Label #22
L_037e: ldc.i4.1
L_037f: stloc.s 12 (System.Boolean)
L_0381: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0383: ldloc.s 15 (System.Int32)
L_0385: callvirt ApparelGraphicRecord get_Item(Int32)
L_038a: stloc.s 19 (RimWorld.ApparelGraphicRecord)
L_038c: ldloca.s 19 (RimWorld.ApparelGraphicRecord)
L_038e: ldfld Verse.Graphic graphic
L_0393: ldarg.s 4
L_0395: ldnull
L_0396: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_039b: stloc.s 18 (UnityEngine.Material)
L_039d: ldarg.0
L_039e: ldfld Verse.PawnGraphicSet graphics
L_03a3: ldfld Verse.DamageFlasher flasher
L_03a8: ldloc.s 18 (UnityEngine.Material)
L_03aa: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03af: stloc.s 18 (UnityEngine.Material)
L_03b1: ldloc.s 13 (UnityEngine.Mesh)
L_03b3: ldloc.s 11 (UnityEngine.Vector3)
L_03b5: ldarg.2
L_03b6: ldloc.s 18 (UnityEngine.Material)
L_03b8: ldarg.s 7
L_03ba: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_03bf: br Label #23
L_03c4: Label #22
L_03c4: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_03c6: ldloc.s 15 (System.Int32)
L_03c8: callvirt ApparelGraphicRecord get_Item(Int32)
L_03cd: stloc.s 21 (RimWorld.ApparelGraphicRecord)
L_03cf: ldloca.s 21 (RimWorld.ApparelGraphicRecord)
L_03d1: ldfld Verse.Graphic graphic
L_03d6: ldarg.s 4
L_03d8: ldnull
L_03d9: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_03de: stloc.s 20 (UnityEngine.Material)
L_03e0: ldarg.0
L_03e1: ldfld Verse.PawnGraphicSet graphics
L_03e6: ldfld Verse.DamageFlasher flasher
L_03eb: ldloc.s 20 (UnityEngine.Material)
L_03ed: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03f2: stloc.s 20 (UnityEngine.Material)
L_03f4: ldarg.1
L_03f5: ldloc.s 8 (UnityEngine.Vector3)
L_03f7: call Vector3 op_Addition(Vector3, Vector3)
L_03fc: stloc.s 22 (UnityEngine.Vector3)
L_03fe: ldloca.s 22 (UnityEngine.Vector3)
L_0400: dup
L_0401: ldfld System.Single y
L_0406: ldarg.s 4
L_0408: call Rot4 get_North()
L_040d: call Boolean op_Equality(Rot4, Rot4)
L_0412: brfalse Label #24
L_0417: ldc.r4 0.00390625
L_041c: br Label #25
L_0421: Label #24
L_0421: ldc.r4 0.03515625
L_0426: Label #25
L_0426: add
L_0427: stfld System.Single y
L_042c: ldloc.s 13 (UnityEngine.Mesh)
L_042e: ldloc.s 22 (UnityEngine.Vector3)
L_0430: ldarg.2
L_0431: ldloc.s 20 (UnityEngine.Material)
L_0433: ldarg.s 7
L_0435: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_043a: Label #21
L_043a: Label #23
L_043a: ldloc.s 15 (System.Int32)
L_043c: ldc.i4.1
L_043d: add
L_043e: stloc.s 15 (System.Int32)
L_0440: Label #20
L_0440: ldloc.s 15 (System.Int32)
L_0442: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0444: callvirt Int32 get_Count()
L_0449: blt Label #26
L_044e: Label #19
L_044e: ldloc.s 12 (System.Boolean)
L_0450: brtrue Label #27
L_0455: ldarg.s 6
L_0457: ldc.i4.2
L_0458: beq Label #28
L_045d: ldarg.s 8
L_045f: brtrue Label #29
L_0464: ldarg.0
L_0465: ldfld Verse.PawnGraphicSet graphics
L_046a: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_046f: ldarg.s 5
L_0471: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0476: stloc.s 23 (UnityEngine.Mesh)
L_0478: ldarg.0
L_0479: ldfld Verse.PawnGraphicSet graphics
L_047e: ldarg.s 5
L_0480: callvirt UnityEngine.Material HairMatAt(Rot4)
L_0485: stloc.s 24 (UnityEngine.Material)
L_0487: ldloc.s 24
L_048c: ldarg.0
L_048d: ldfld Verse.Pawn pawn
L_0492: call UnityEngine.Material ModifyHairForChild(UnityEngine.Material,
Verse.Pawn)
L_0497: stloc.s 24
L_049c: ldloc.s 23 (UnityEngine.Mesh)
L_049e: ldloc.s 11 (UnityEngine.Vector3)
L_04a0: ldarg.2
L_04a1: ldloc.s 24 (UnityEngine.Material)
L_04a3: ldarg.s 7
L_04a5: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_04aa: Label #16
L_04aa: Label #27
L_04aa: Label #28
L_04aa: Label #29
L_04aa: ldarg.3
L_04ab: brfalse Label #30
L_04b0: ldc.i4.0
L_04b1: stloc.s 25 (System.Int32)
L_04b3: br Label #31
L_04b8: Label #33
L_04b8: ldarg.0
L_04b9: ldfld Verse.PawnGraphicSet graphics
L_04be: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_04c3: ldloc.s 25 (System.Int32)
L_04c5: callvirt ApparelGraphicRecord get_Item(Int32)
L_04ca: stloc.s 26 (RimWorld.ApparelGraphicRecord)
L_04cc: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ce: ldfld RimWorld.Apparel sourceApparel
L_04d3: ldfld Verse.ThingDef def
L_04d8: ldfld RimWorld.ApparelProperties apparel
L_04dd: callvirt ApparelLayer get_LastLayer()
L_04e2: ldc.i4.2
L_04e3: bne.un Label #32
L_04e8: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ea: ldfld Verse.Graphic graphic
L_04ef: ldarg.s 4
L_04f1: ldnull
L_04f2: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_04f7: stloc.s 27 (UnityEngine.Material)
L_04f9: ldarg.0
L_04fa: ldfld Verse.PawnGraphicSet graphics
L_04ff: ldfld Verse.DamageFlasher flasher
L_0504: ldloc.s 27 (UnityEngine.Material)
L_0506: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_050b: stloc.s 27 (UnityEngine.Material)
L_050d: ldloc.0
L_050e: ldloc.s 6 (UnityEngine.Vector3)
L_0510: ldarg.2
L_0511: ldloc.s 27 (UnityEngine.Material)
L_0513: ldarg.s 7
L_0515: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_051a: Label #32
L_051a: ldloc.s 25 (System.Int32)
L_051c: ldc.i4.1
L_051d: add
L_051e: stloc.s 25 (System.Int32)
L_0520: Label #31
L_0520: ldloc.s 25 (System.Int32)
L_0522: ldarg.0
L_0523: ldfld Verse.PawnGraphicSet graphics
L_0528: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_052d: callvirt Int32 get_Count()
L_0532: blt Label #33
L_0537: Label #30
L_0537: ldarg.s 7
L_0539: brtrue Label #34
L_053e: ldarg.0
L_053f: ldfld Verse.Pawn pawn
L_0544: callvirt Verse.RaceProperties get_RaceProps()
L_0549: callvirt Boolean get_Animal()
L_054e: brfalse Label #35
L_0553: ldarg.0
L_0554: ldfld Verse.Pawn pawn
L_0559: ldfld Verse.Pawn_InventoryTracker inventory
L_055e: brfalse Label #36
L_0563: ldarg.0
L_0564: ldfld Verse.Pawn pawn
L_0569: ldfld Verse.Pawn_InventoryTracker inventory
L_056e: ldfld Verse.ThingOwner`1[Verse.Thing] innerContainer
L_0573: callvirt Int32 get_Count()
L_0578: ldc.i4.0
L_0579: ble Label #37
L_057e: ldarg.0
L_057f: ldfld Verse.PawnGraphicSet graphics
L_0584: ldfld Verse.Graphic packGraphic
L_0589: brfalse Label #38
L_058e: ldloc.0
L_058f: ldloc.s 6 (UnityEngine.Vector3)
L_0591: ldarg.2
L_0592: ldarg.0
L_0593: ldfld Verse.PawnGraphicSet graphics
L_0598: ldfld Verse.Graphic packGraphic
L_059d: ldarg.s 4
L_059f: ldnull
L_05a0: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_05a5: ldc.i4.0
L_05a6: call Void DrawMesh(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Int32)
L_05ab: Label #34
L_05ab: Label #35
L_05ab: Label #36
L_05ab: Label #37
L_05ab: Label #38
L_05ab: ldarg.s 7
L_05ad: brtrue Label #39
L_05b2: ldarg.0
L_05b3: ldarg.1
L_05b4: call Void DrawEquipment(Vector3)
L_05b9: ldarg.0
L_05ba: ldfld Verse.Pawn pawn
L_05bf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05c4: brfalse Label #40
L_05c9: ldarg.0
L_05ca: ldfld Verse.Pawn pawn
L_05cf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05d4: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_05d9: stloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05db: ldc.i4.0
L_05dc: stloc.s 29 (System.Int32)
L_05de: br Label #41
L_05e3: Label #42
L_05e3: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05e5: ldloc.s 29 (System.Int32)
L_05e7: callvirt RimWorld.Apparel get_Item(Int32)
L_05ec: callvirt Void DrawWornExtras()
L_05f1: ldloc.s 29 (System.Int32)
L_05f3: ldc.i4.1
L_05f4: add
L_05f5: stloc.s 29 (System.Int32)
L_05f7: Label #41
L_05f7: ldloc.s 29 (System.Int32)
L_05f9: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05fb: callvirt Int32 get_Count()
L_0600: blt Label #42
L_0605: Label #40
L_0605: ldarg.1
L_0606: ldarg.0
L_0607: ldfld Verse.Pawn pawn
L_060c: ldarg.s 7
L_0611: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0616: stloc.s 30 (UnityEngine.Vector3)
L_0618: ldloca.s 30 (UnityEngine.Vector3)
L_061a: dup
L_061b: ldfld System.Single y
L_0620: ldc.r4 0.04296875
L_0625: add
L_0626: stfld System.Single y
L_062b: ldarg.0
L_062c: ldfld Verse.PawnHeadOverlays statusOverlays
L_0631: ldloc.s 30 (UnityEngine.Vector3)
L_0633: ldarg.2
L_0634: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_0639: ldarg.s 5
L_063b: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0640: callvirt Void RenderStatusOverlays(Vector3, Quaternion, UnityEngine.Mesh)
L_0645: Label #39
L_0645: br Label #0
L_064a: Label #0
L_064a: ret
DONE

PATCHING Verse.PawnGenerator Verse.Pawn GeneratePawn(PawnGenerationRequest)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Pawn
L_0000: ldnull
L_0001: stloc 1 (Verse.Pawn)
L_0002: ldarg.0
L_0003: call Verse.Pawn GeneratePawnInternal(PawnGenerationRequest)
L_0008: stloc.0
L_0009: leave Label #2
L_000e: endfinally
L_000f: Label #2
L_000f: ldloc.0
L_0010: br Label #0
L_0015: Label #0
L_0015: stloc 1 (Verse.Pawn)
L_0016: ldarga 0
L_001c: ldloca 1 (Verse.Pawn)
L_001e: call Void _GeneratePawn(PawnGenerationRequest ByRef, Verse.Pawn ByRef)
L_0023: ldloc 1 (Verse.Pawn)
L_0024: ret
DONE

PATCHING RimWorld.JobGiver_OptimizeApparel Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 RimWorld.Outfit
L_0000: Local var #1 System.Collections.Generic.List`1[[RimWorld.Apparel, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.AI.Job
L_0000: Local var #4 Verse.Thing
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #7 System.Int32
L_0000: Local var #8 RimWorld.Apparel
L_0000: Local var #9 RimWorld.SlotGroup
L_0000: Local var #10 System.Single
L_0000: Local var #11 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 11 (Verse.AI.Job)
L_0003: ldarg.1
L_0004: ldfld RimWorld.Pawn_OutfitTracker outfits
L_0009: brtrue Label #2
L_000e: ldarg.1
L_000f: ldstr " tried to run JobGiver_OptimizeApparel without an OutfitTracker"
L_0014: call System.String Concat(System.Object, System.Object)
L_0019: ldc.i4 5643897
L_001e: call Void ErrorOnce(System.String, Int32)
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: ldarg.1
L_002a: callvirt RimWorld.Faction get_Faction()
L_002f: call RimWorld.Faction get_OfPlayer()
L_0034: beq Label #3
L_0039: ldstr "Non-colonist "
L_003e: ldarg.1
L_003f: ldstr " tried to optimize apparel."
L_0044: call System.String Concat(System.Object, System.Object, System.Object)
L_0049: ldc.i4 764323
L_004e: call Void ErrorOnce(System.String, Int32)
L_0053: ldnull
L_0054: br Label #0
L_0059: Label #3
L_0059: ldsfld System.Boolean debugApparelOptimize
L_005e: brtrue Label #4
L_0063: call Verse.TickManager get_TickManager()
L_0068: callvirt Int32 get_TicksGame()
L_006d: ldarg.1
L_006e: ldfld Verse.AI.Pawn_MindState mindState
L_0073: ldfld System.Int32 nextApparelOptimizeTick
L_0078: bge Label #5
L_007d: ldnull
L_007e: br Label #0
L_0083: Label #5
L_0083: br Label #6
L_0088: Label #4
L_0088: newobj Void .ctor()
L_008d: stsfld System.Text.StringBuilder debugSb
L_0092: ldsfld System.Text.StringBuilder debugSb
L_0097: ldc.i4.4
L_0098: newarr System.Object
L_009d: dup
L_009e: ldc.i4.0
L_009f: ldstr "Scanning for "
L_00a4: stelem.ref
L_00a5: dup
L_00a6: ldc.i4.1
L_00a7: ldarg.1
L_00a8: stelem.ref
L_00a9: dup
L_00aa: ldc.i4.2
L_00ab: ldstr " at "
L_00b0: stelem.ref
L_00b1: dup
L_00b2: ldc.i4.3
L_00b3: ldarg.1
L_00b4: callvirt IntVec3 get_Position()
L_00b9: box Verse.IntVec3
L_00be: stelem.ref
L_00bf: call System.String Concat(System.Object[])
L_00c4: callvirt System.Text.StringBuilder AppendLine(System.String)
L_00c9: pop
L_00ca: Label #6
L_00ca: ldarg.1
L_00cb: ldfld RimWorld.Pawn_OutfitTracker outfits
L_00d0: callvirt RimWorld.Outfit get_CurrentOutfit()
L_00d5: stloc.0
L_00d6: ldarg.1
L_00d7: ldfld RimWorld.Pawn_ApparelTracker apparel
L_00dc: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_00e1: stloc.1
L_00e2: ldloc.1
L_00e3: callvirt Int32 get_Count()
L_00e8: ldc.i4.1
L_00e9: sub
L_00ea: stloc.2
L_00eb: br Label #7
L_00f0: Label #10
L_00f0: ldloc.0
L_00f1: ldfld Verse.ThingFilter filter
L_00f6: ldloc.1
L_00f7: ldloc.2
L_00f8: callvirt RimWorld.Apparel get_Item(Int32)
L_00fd: callvirt Boolean Allows(Verse.Thing)
L_0102: brtrue Label #8
L_0107: ldarg.1
L_0108: ldfld RimWorld.Pawn_OutfitTracker outfits
L_010d: ldfld RimWorld.OutfitForcedHandler forcedHandler
L_0112: ldloc.1
L_0113: ldloc.2
L_0114: callvirt RimWorld.Apparel get_Item(Int32)
L_0119: callvirt Boolean AllowedToAutomaticallyDrop(RimWorld.Apparel)
L_011e: brfalse Label #9
L_0123: ldsfld Verse.JobDef RemoveApparel
L_0128: ldloc.1
L_0129: ldloc.2
L_012a: callvirt RimWorld.Apparel get_Item(Int32)
L_012f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0134: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0139: stloc.3
L_013a: ldloc.3
L_013b: ldc.i4.1
L_013c: stfld System.Boolean haulDroppedApparel
L_0141: ldloc.3
L_0142: br Label #0
L_0147: Label #8
L_0147: Label #9
L_0147: ldloc.2
L_0148: ldc.i4.1
L_0149: sub
L_014a: stloc.2
L_014b: Label #7
L_014b: ldloc.2
L_014c: ldc.i4.0
L_014d: bge Label #10
L_0152: ldnull
L_0153: stloc.s 4 (Verse.Thing)
L_0155: ldc.r4 0
L_015a: stloc.s 5 (System.Single)
L_015c: ldarg.1
L_015d: callvirt Verse.Map get_Map()
L_0162: ldfld Verse.ListerThings listerThings
L_0167: ldc.i4.s 26
L_0169: callvirt System.Collections.Generic.List`1[Verse.Thing]
ThingsInGroup(ThingRequestGroup)
L_016e: stloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0170: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0172: callvirt Int32 get_Count()
L_0177: brtrue Label #11
L_017c: ldarg.0
L_017d: ldarg.1
L_017e: call Void SetNextOptimizeTick(Verse.Pawn)
L_0183: ldnull
L_0184: br Label #0
L_0189: Label #11
L_0189: ldarg.1
L_018a: ldarg.1
L_018b: callvirt Verse.Map get_Map()
L_0190: callvirt Int32 get_Tile()
L_0195: ldarg.1
L_0196: call Twelfth Twelfth(Verse.Thing)
L_019b: call NeededWarmth CalculateNeededWarmth(Verse.Pawn, Int32, Twelfth)
L_01a0: stsfld RimWorld.NeededWarmth neededWarmth
L_01a5: ldc.i4.0
L_01a6: stloc.s 7 (System.Int32)
L_01a8: br Label #12
L_01ad: Label #27
L_01ad: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_01af: ldloc.s 7 (System.Int32)
L_01b1: callvirt Verse.Thing get_Item(Int32)
L_01b6: castclass RimWorld.Apparel
L_01bb: stloc.s 8 (RimWorld.Apparel)
L_01bd: ldloc.0
L_01be: ldfld Verse.ThingFilter filter
L_01c3: ldloc.s 8 (RimWorld.Apparel)
L_01c5: callvirt Boolean Allows(Verse.Thing)
L_01ca: brtrue Label #13
L_01cf: br Label #14
L_01d4: Label #13
L_01d4: ldloc.s 8 (RimWorld.Apparel)
L_01d6: callvirt Verse.Map get_Map()
L_01db: ldfld RimWorld.SlotGroupManager slotGroupManager
L_01e0: ldloc.s 8 (RimWorld.Apparel)
L_01e2: callvirt IntVec3 get_Position()
L_01e7: callvirt RimWorld.SlotGroup SlotGroupAt(IntVec3)
L_01ec: stloc.s 9 (RimWorld.SlotGroup)
L_01ee: ldloc.s 9 (RimWorld.SlotGroup)
L_01f0: brtrue Label #15
L_01f5: br Label #16
L_01fa: Label #15
L_01fa: ldloc.s 8 (RimWorld.Apparel)
L_01fc: ldarg.1
L_01fd: call Boolean IsForbidden(Verse.Thing, Verse.Pawn)
L_0202: brfalse Label #17
L_0207: br Label #18
L_020c: Label #17
L_020c: ldarg.1
L_020d: ldloc.s 8 (RimWorld.Apparel)
L_020f: call Single ApparelScoreGain(Verse.Pawn, RimWorld.Apparel)
L_0214: stloc.s 10 (System.Single)
L_0216: ldsfld System.Boolean debugApparelOptimize
L_021b: brfalse Label #19
L_0220: ldsfld System.Text.StringBuilder debugSb
L_0225: ldloc.s 8 (RimWorld.Apparel)
L_0227: callvirt System.String get_LabelCap()
L_022c: ldstr ": "
L_0231: ldloca.s 10 (System.Single)
L_0233: ldstr "F2"
L_0238: call System.String ToString(System.String)
L_023d: call System.String Concat(System.String, System.String, System.String)
L_0242: callvirt System.Text.StringBuilder AppendLine(System.String)
L_0247: pop
L_0248: Label #19
L_0248: ldloc.s 10 (System.Single)
L_024a: ldc.r4 0.05
L_024f: blt Label #20
L_0254: ldloc.s 10 (System.Single)
L_0256: ldloc.s 5 (System.Single)
L_0258: bge.un Label #21
L_025d: Label #20
L_025d: br Label #22
L_0262: Label #21
L_0262: ldarg.1
L_0263: ldloc.s 8 (RimWorld.Apparel)
L_0265: ldfld Verse.ThingDef def
L_026a: call Boolean HasPartsToWear(Verse.Pawn, Verse.ThingDef)
L_026f: brtrue Label #23
L_0274: br Label #24
L_0279: Label #23
L_0279: ldarg.1
L_027a: ldloc.s 8 (RimWorld.Apparel)
L_027c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0281: ldc.i4.1
L_0282: ldarg.1
L_0283: call Danger NormalMaxDanger(Verse.Pawn)
L_0288: ldc.i4.1
L_0289: ldc.i4.m1
L_028a: ldnull
L_028b: ldc.i4.0
L_028c: call Boolean CanReserveAndReach(Verse.Pawn, LocalTargetInfo, PathEndMode,
Danger, Int32, Int32, Verse.ReservationLayerDef, Boolean)
L_0291: brtrue Label #25
L_0296: br Label #26
L_029b: Label #25
L_029b: ldloc.s 8 (RimWorld.Apparel)
L_029d: stloc.s 4 (Verse.Thing)
L_029f: ldloc.s 10 (System.Single)
L_02a1: stloc.s 5 (System.Single)
L_02a3: Label #14
L_02a3: Label #16
L_02a3: Label #18
L_02a3: Label #22
L_02a3: Label #24
L_02a3: Label #26
L_02a3: ldloc.s 7 (System.Int32)
L_02a5: ldc.i4.1
L_02a6: add
L_02a7: stloc.s 7 (System.Int32)
L_02a9: Label #12
L_02a9: ldloc.s 7 (System.Int32)
L_02ab: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_02ad: callvirt Int32 get_Count()
L_02b2: blt Label #27
L_02b7: ldsfld System.Boolean debugApparelOptimize
L_02bc: brfalse Label #28
L_02c1: ldsfld System.Text.StringBuilder debugSb
L_02c6: ldstr "BEST: "
L_02cb: ldloc.s 4 (Verse.Thing)
L_02cd: call System.String Concat(System.Object, System.Object)
L_02d2: callvirt System.Text.StringBuilder AppendLine(System.String)
L_02d7: pop
L_02d8: ldsfld System.Text.StringBuilder debugSb
L_02dd: callvirt System.String ToString()
L_02e2: call Void Message(System.String)
L_02e7: ldnull
L_02e8: stsfld System.Text.StringBuilder debugSb
L_02ed: Label #28
L_02ed: ldloc.s 4 (Verse.Thing)
L_02ef: brtrue Label #29
L_02f4: ldarg.0
L_02f5: ldarg.1
L_02f6: call Void SetNextOptimizeTick(Verse.Pawn)
L_02fb: ldnull
L_02fc: br Label #0
L_0301: Label #29
L_0301: ldsfld Verse.JobDef Wear
L_0306: ldloc.s 4 (Verse.Thing)
L_0308: call LocalTargetInfo op_Implicit(Verse.Thing)
L_030d: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0312: br Label #0
L_0317: Label #0
L_0317: stloc 11 (Verse.AI.Job)
L_0319: ldloca 11 (Verse.AI.Job)
L_031b: ldarga 1
L_0321: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_0326: ldloc 11 (Verse.AI.Job)
L_0328: ret
DONE

PATCHING Verse.Pawn_HealthTracker Boolean ShouldBeDowned()


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean get_InPainShock()
L_000c: brtrue Label #2
L_0011: ldarg.0
L_0012: ldfld Verse.PawnCapacitiesHandler capacities
L_0017: callvirt Boolean get_CanBeAwake()
L_001c: brfalse Label #3
L_0021: ldarg.0
L_0022: ldfld Verse.PawnCapacitiesHandler capacities
L_0027: ldsfld Verse.PawnCapacityDef Moving
L_002c: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0031: ldc.i4.0
L_0032: ceq
L_0034: br Label #4
L_0039: Label #2
L_0039: Label #3
L_0039: ldc.i4.1
L_003a: Label #4
L_003a: br Label #0
L_003f: Label #0
L_003f: stloc 0 (System.Boolean)
L_0040: ldarga 0
L_0046: ldloca 0 (System.Boolean)
L_0048: call Void SBD(Verse.Pawn_HealthTracker ByRef, Boolean ByRef)
L_004d: ldloc 0 (System.Boolean)
L_004e: ret
DONE

PATCHING Verse.Pawn_HealthTracker Void CheckForStateChange(Nullable`1,


Verse.Hediff)
L_0000: Local var #0 System.Single
L_0000: Local var #1 Verse.DamageInfo
L_0000: Local var #2 Verse.ThingWithComps
L_0000: ldarg.0
L_0001: call Boolean get_Dead()
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: call Boolean ShouldBeDead()
L_0011: brfalse Label #3
L_0016: ldarg.0
L_0017: ldfld Verse.Pawn pawn
L_001c: callvirt Boolean get_Destroyed()
L_0021: brtrue Label #4
L_0026: ldarg.0
L_0027: ldfld Verse.Pawn pawn
L_002c: ldarg.1
L_002d: ldarg.2
L_002e: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_0033: Label #4
L_0033: br Label #0
L_0038: Label #3
L_0038: ldarg.0
L_0039: call Boolean get_Downed()
L_003e: brtrue Label #5
L_0043: ldarg.0
L_0044: call Boolean ShouldBeDowned()
L_0049: brfalse Label #6
L_004e: ldarg.0
L_004f: ldfld Verse.Pawn pawn
L_0054: callvirt Verse.RaceProperties get_RaceProps()
L_0059: callvirt Boolean get_Animal()
L_005e: brfalse Label #7
L_0063: ldc.r4 0.47
L_0068: br Label #8
L_006d: Label #7
L_006d: ldc.r4 0.67
L_0072: Label #8
L_0072: stloc.0
L_0073: ldarg.0
L_0074: ldfld System.Boolean forceIncap
L_0079: brtrue Label #9
L_007e: ldarga.s 1
L_0080: call Boolean get_HasValue()
L_0085: brfalse Label #10
L_008a: ldarga.s 1
L_008c: call DamageInfo get_Value()
L_0091: stloc.1
L_0092: ldloca.s 1 (Verse.DamageInfo)
L_0094: call Verse.DamageDef get_Def()
L_0099: ldfld System.Boolean externalViolence
L_009e: brfalse Label #11
L_00a3: ldarg.0
L_00a4: ldfld Verse.Pawn pawn
L_00a9: callvirt RimWorld.Faction get_Faction()
L_00ae: brfalse Label #12
L_00b3: ldarg.0
L_00b4: ldfld Verse.Pawn pawn
L_00b9: callvirt RimWorld.Faction get_Faction()
L_00be: callvirt Boolean get_IsPlayer()
L_00c3: brtrue Label #13
L_00c8: br Label #13
L_00cd: Label #12
L_00cd: ldarg.0
L_00ce: ldfld Verse.Pawn pawn
L_00d3: callvirt Boolean get_IsPrisonerOfColony()
L_00d8: brtrue Label #14
L_00dd: ldarg.0
L_00de: ldfld Verse.Pawn pawn
L_00e3: callvirt Verse.RaceProperties get_RaceProps()
L_00e8: callvirt Boolean get_IsFlesh()
L_00ed: brfalse Label #15
L_00f2: call Single get_Value()
L_00f7: ldloc.0
L_00f8: bge.un Label #16
L_00fd: ldarg.0
L_00fe: ldfld Verse.Pawn pawn
L_0103: ldarg.1
L_0104: ldnull
L_0105: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_010a: br Label #0
L_010f: Label #9
L_010f: Label #10
L_010f: Label #11
L_010f: Label #13
L_010f: Label #14
L_010f: Label #15
L_010f: Label #16
L_010f: ldarg.0
L_0110: ldc.i4.0
L_0111: stfld System.Boolean forceIncap
L_0116: ldarg.0
L_0117: ldarg.1
L_0118: ldarg.2
L_0119: call Void MakeDowned(Nullable`1, Verse.Hediff)
L_011e: br Label #0
L_0123: Label #6
L_0123: ldarg.0
L_0124: ldfld Verse.PawnCapacitiesHandler capacities
L_0129: ldsfld Verse.PawnCapacityDef Manipulation
L_012e: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0133: brtrue Label #17
L_0138: ldarg.0
L_0139: ldfld Verse.Pawn pawn
L_013e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0143: brfalse Label #18
L_0148: ldarg.0
L_0149: ldfld Verse.Pawn pawn
L_014e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0153: callvirt Verse.Thing get_CarriedThing()
L_0158: brfalse Label #19
L_015d: ldarg.0
L_015e: ldfld Verse.Pawn pawn
L_0163: ldfld Verse.AI.Pawn_JobTracker jobs
L_0168: brfalse Label #20
L_016d: ldarg.0
L_016e: ldfld Verse.Pawn pawn
L_0173: callvirt Verse.AI.Job get_CurJob()
L_0178: brfalse Label #21
L_017d: ldarg.0
L_017e: ldfld Verse.Pawn pawn
L_0183: ldfld Verse.AI.Pawn_JobTracker jobs
L_0188: ldc.i4.5
L_0189: ldc.i4.1
L_018a: callvirt Void EndCurrentJob(JobCondition, Boolean)
L_018f: Label #18
L_018f: Label #19
L_018f: Label #20
L_018f: Label #21
L_018f: ldarg.0
L_0190: ldfld Verse.Pawn pawn
L_0195: ldfld Verse.Pawn_EquipmentTracker equipment
L_019a: brfalse Label #22
L_019f: ldarg.0
L_01a0: ldfld Verse.Pawn pawn
L_01a5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01aa: callvirt Verse.ThingWithComps get_Primary()
L_01af: brfalse Label #23
L_01b4: ldarg.0
L_01b5: ldfld Verse.Pawn pawn
L_01ba: callvirt Boolean get_InContainerEnclosed()
L_01bf: brfalse Label #24
L_01c4: ldarg.0
L_01c5: ldfld Verse.Pawn pawn
L_01ca: ldfld Verse.Pawn_EquipmentTracker equipment
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01da: callvirt Verse.ThingWithComps get_Primary()
L_01df: ldarg.0
L_01e0: ldfld Verse.Pawn pawn
L_01e5: ldfld Verse.ThingOwner holdingOwner
L_01ea: callvirt Boolean TryTransferEquipmentToContainer(Verse.ThingWithComps,
Verse.ThingOwner)
L_01ef: pop
L_01f0: br Label #25
L_01f5: Label #24
L_01f5: ldarg.0
L_01f6: ldfld Verse.Pawn pawn
L_01fb: callvirt Boolean get_SpawnedOrAnyParentSpawned()
L_0200: brfalse Label #26
L_0205: ldarg.0
L_0206: ldfld Verse.Pawn pawn
L_020b: ldfld Verse.Pawn_EquipmentTracker equipment
L_0210: ldarg.0
L_0211: ldfld Verse.Pawn pawn
L_0216: ldfld Verse.Pawn_EquipmentTracker equipment
L_021b: callvirt Verse.ThingWithComps get_Primary()
L_0220: ldloca.s 2 (Verse.ThingWithComps)
L_0222: ldarg.0
L_0223: ldfld Verse.Pawn pawn
L_0228: callvirt IntVec3 get_PositionHeld()
L_022d: ldc.i4.1
L_022e: callvirt Boolean TryDropEquipment(Verse.ThingWithComps,
Verse.ThingWithComps ByRef, IntVec3, Boolean)
L_0233: pop
L_0234: br Label #27
L_0239: Label #26
L_0239: ldarg.0
L_023a: ldfld Verse.Pawn pawn
L_023f: ldfld Verse.Pawn_EquipmentTracker equipment
L_0244: ldarg.0
L_0245: ldfld Verse.Pawn pawn
L_024a: ldfld Verse.Pawn_EquipmentTracker equipment
L_024f: callvirt Verse.ThingWithComps get_Primary()
L_0254: callvirt Void DestroyEquipment(Verse.ThingWithComps)
L_0259: Label #17
L_0259: Label #22
L_0259: Label #23
L_0259: Label #25
L_0259: Label #27
L_0259: br Label #28
L_025e: Label #5
L_025e: ldarg.0
L_025f: call Boolean ShouldBeDowned()
L_0264: brtrue Label #29
L_0269: ldarg.0
L_026a: call Void MakeUndowned()
L_026f: br Label #0
L_0274: Label #2
L_0274: Label #28
L_0274: Label #29
L_0274: br Label #0
L_0279: Label #0
L_0279: ret
DONE

PATCHING RimWorld.RestUtility Single WakeThreshold(Verse.Pawn)


L_0000: Local var #0 Verse.AI.Group.Lord
L_0000: Local var #1 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #2 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #3 System.Single
L_0000: ldc.r4 0
L_0005: stloc 3 (System.Single)
L_0006: ldarg.0
L_0007: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldloc.0
L_0014: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0019: brfalse Label #3
L_001e: ldloc.0
L_001f: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0024: callvirt Nullable`1 get_CustomWakeThreshold()
L_0029: stloc.1
L_002a: ldloca.s 1 (System.Nullable`1[System.Single])
L_002c: call Boolean get_HasValue()
L_0031: brfalse Label #4
L_0036: ldloc.0
L_0037: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_003c: callvirt Nullable`1 get_CustomWakeThreshold()
L_0041: stloc.2
L_0042: ldloca.s 2 (System.Nullable`1[System.Single])
L_0044: call Single get_Value()
L_0049: br Label #0
L_004e: Label #2
L_004e: Label #3
L_004e: Label #4
L_004e: ldc.r4 1
L_0053: br Label #0
L_0058: Label #0
L_0058: stloc 3 (System.Single)
L_0059: ldloca 3 (System.Single)
L_005b: ldarga 0
L_0061: call Void WakeThreshold_Patch(Single ByRef, Verse.Pawn ByRef)
L_0066: ldloc 3 (System.Single)
L_0067: ret
DONE

PATCHING Verse.Verb_Shoot Boolean TryCastShot()


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 1 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean TryCastShot()
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldarg.0
L_0014: call Boolean get_CasterIsPawn()
L_0019: brfalse Label #3
L_001e: ldarg.0
L_001f: call Verse.Pawn get_CasterPawn()
L_0024: ldfld RimWorld.Pawn_RecordsTracker records
L_0029: ldsfld RimWorld.RecordDef ShotsFired
L_002e: callvirt Void Increment(RimWorld.RecordDef)
L_0033: Label #2
L_0033: Label #3
L_0033: ldloc.0
L_0034: br Label #0
L_0039: Label #0
L_0039: stloc 1 (System.Boolean)
L_003a: ldarga 0
L_0040: call Void TryCastShot_Patch(Verse.Verb_Shoot ByRef)
L_0045: ldloc 1 (System.Boolean)
L_0046: ret
DONE

PATCHING Verse.Pawn_EquipmentTracker Void


Notify_EquipmentAdded(Verse.ThingWithComps)
L_0000: Local var #0 Verse.Verb
L_0000: Local var #1 System.Collections.Generic.List`1+Enumerator[[Verse.Verb,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.1
L_0001: callvirt Verse.CompEquippable GetComp[CompEquippable]()
L_0006: callvirt System.Collections.Generic.List`1[Verse.Verb] get_AllVerbs()
L_000b: callvirt Enumerator GetEnumerator()
L_0010: stloc.1
L_0011: br Label #2
L_0016: Label #3
L_0016: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0018: call Verse.Verb get_Current()
L_001d: stloc.0
L_001e: ldloc.0
L_001f: ldarg.0
L_0020: ldfld Verse.Pawn pawn
L_0025: stfld Verse.Thing caster
L_002a: ldloc.0
L_002b: callvirt Void Notify_PickedUp()
L_0030: Label #2
L_0030: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0032: call Boolean MoveNext()
L_0037: brtrue Label #3
L_003c: leave Label #4
L_0041: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0043: constrained. System.Collections.Generic.List`1+Enumerator[Verse.Verb]
L_0049: callvirt Void Dispose()
L_004e: endfinally
L_004f: Label #4
L_004f: br Label #0
L_0054: Label #0
L_0054: ldarga 1
L_005a: ldarga 0
L_0060: call Void Notify_EquipmentAdded_Patch(Verse.ThingWithComps ByRef,
Verse.Pawn_EquipmentTracker ByRef)
L_0065: ret
DONE

PATCHING RimWorld.PawnWeaponGenerator Void TryGenerateWeaponFor(Verse.Pawn)


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2
RimWorld.PawnWeaponGenerator+<TryGenerateWeaponFor>c__AnonStorey2
L_0000: Local var #3 RimWorld.ThingStuffPair
L_0000: Local var #4 Verse.ThingWithComps
L_0000: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0005: callvirt Void Clear()
L_000a: ldarg.0
L_000b: ldfld Verse.PawnKindDef kindDef
L_0010: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0015: brfalse Label #2
L_001a: ldarg.0
L_001b: ldfld Verse.PawnKindDef kindDef
L_0020: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0025: callvirt Int32 get_Count()
L_002a: brtrue Label #3
L_002f: Label #2
L_002f: br Label #0
L_0034: Label #3
L_0034: ldarg.0
L_0035: callvirt Verse.RaceProperties get_RaceProps()
L_003a: callvirt Boolean get_ToolUser()
L_003f: brtrue Label #4
L_0044: br Label #0
L_0049: Label #4
L_0049: ldarg.0
L_004a: ldfld Verse.Pawn_HealthTracker health
L_004f: ldfld Verse.PawnCapacitiesHandler capacities
L_0054: ldsfld Verse.PawnCapacityDef Manipulation
L_0059: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_005e: brtrue Label #5
L_0063: br Label #0
L_0068: Label #5
L_0068: ldarg.0
L_0069: ldfld RimWorld.Pawn_StoryTracker story
L_006e: brfalse Label #6
L_0073: ldarg.0
L_0074: ldfld RimWorld.Pawn_StoryTracker story
L_0079: ldc.i4.8
L_007a: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_007f: brfalse Label #7
L_0084: br Label #0
L_0089: Label #6
L_0089: Label #7
L_0089: ldarg.0
L_008a: ldfld Verse.PawnKindDef kindDef
L_008f: ldflda Verse.FloatRange weaponMoney
L_0094: call Single get_RandomInRange()
L_0099: stloc.0
L_009a: ldc.i4.0
L_009b: stloc.1
L_009c: br Label #8
L_00a1: Label #16
L_00a1: newobj Void .ctor()
L_00a6: stloc.2
L_00a7: ldloc.2
L_00a8: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_00ad: ldloc.1
L_00ae: callvirt ThingStuffPair get_Item(Int32)
L_00b3: stfld RimWorld.ThingStuffPair w
L_00b8: ldloc.2
L_00b9: ldflda RimWorld.ThingStuffPair w
L_00be: call Single get_Price()
L_00c3: ldloc.0
L_00c4: ble.un Label #9
L_00c9: br Label #10
L_00ce: Label #9
L_00ce: ldarg.0
L_00cf: ldfld Verse.PawnKindDef kindDef
L_00d4: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_00d9: ldloc.2
L_00da: ldftn Boolean <>m__0(System.String)
L_00e0: newobj Void .ctor(Object, IntPtr)
L_00e5: call Boolean Any[String](System.Collections.Generic.List`1[System.String],
System.Predicate`1[System.String])
L_00ea: brtrue Label #11
L_00ef: br Label #12
L_00f4: Label #11
L_00f4: ldloc.2
L_00f5: ldflda RimWorld.ThingStuffPair w
L_00fa: ldfld Verse.ThingDef thing
L_00ff: ldfld System.Single generateAllowChance
L_0104: ldc.r4 1
L_0109: bge.un Label #13
L_010e: ldarg.0
L_010f: ldfld System.Int32 thingIDNumber
L_0114: ldc.i4 28554824
L_0119: xor
L_011a: call Single ValueSeeded(Int32)
L_011f: ldloc.2
L_0120: ldflda RimWorld.ThingStuffPair w
L_0125: ldfld Verse.ThingDef thing
L_012a: ldfld System.Single generateAllowChance
L_012f: ble.un Label #14
L_0134: br Label #15
L_0139: Label #13
L_0139: Label #14
L_0139: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_013e: ldloc.2
L_013f: ldfld RimWorld.ThingStuffPair w
L_0144: callvirt Void Add(ThingStuffPair)
L_0149: Label #10
L_0149: Label #12
L_0149: Label #15
L_0149: ldloc.1
L_014a: ldc.i4.1
L_014b: add
L_014c: stloc.1
L_014d: Label #8
L_014d: ldloc.1
L_014e: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_0153: callvirt Int32 get_Count()
L_0158: blt Label #16
L_015d: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0162: callvirt Int32 get_Count()
L_0167: brtrue Label #17
L_016c: br Label #0
L_0171: ldarg.0
L_0172: ldloc.2
L_0173: callvirt System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
FilterChildWeapons(Verse.Pawn,
System.Collections.Generic.List`1[RimWorld.ThingStuffPair])
L_0178: stloc.2
L_0179: Label #17
L_0179: ldarg.0
L_017a: ldfld Verse.Pawn_EquipmentTracker equipment
L_017f: ldc.i4.0
L_0180: callvirt Void DestroyAllEquipment(DestroyMode)
L_0185: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_018a: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_018f: brtrue Label #18
L_0194: ldnull
L_0195: ldftn Single <TryGenerateWeaponFor>m__2(ThingStuffPair)
L_019b: newobj Void .ctor(Object, IntPtr)
L_01a0: stsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01a5: Label #18
L_01a5: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01aa: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01ac: call Boolean TryRandomElementByWeight[ThingStuffPair](IEnumerable`1,
System.Func`2[RimWorld.ThingStuffPair,System.Single], ThingStuffPair ByRef)
L_01b1: brfalse Label #19
L_01b6: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01b8: ldfld Verse.ThingDef thing
L_01bd: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01bf: ldfld Verse.ThingDef stuff
L_01c4: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_01c9: castclass Verse.ThingWithComps
L_01ce: stloc.s 4 (Verse.ThingWithComps)
L_01d0: ldloc.s 4 (Verse.ThingWithComps)
L_01d2: ldarg.0
L_01d3: call Void PostProcessGeneratedGear(Verse.Thing, Verse.Pawn)
L_01d8: ldarg.0
L_01d9: ldfld Verse.Pawn_EquipmentTracker equipment
L_01de: ldloc.s 4 (Verse.ThingWithComps)
L_01e0: callvirt Void AddEquipment(Verse.ThingWithComps)
L_01e5: Label #19
L_01e5: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_01ea: callvirt Void Clear()
L_01ef: br Label #0
L_01f4: Label #0
L_01f4: ret
DONE

PATCHING RimWorld.Bill_Medical Void Notify_DoBillStarted(Verse.Pawn)


L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.ThingStackPartClass,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Int32
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void Notify_DoBillStarted(Verse.Pawn)
L_0007: ldarg.0
L_0008: ldnull
L_0009: stfld Verse.ThingDef consumedInitialMedicineDef
L_000e: ldarg.0
L_000f: call Verse.Pawn get_GiverPawn()
L_0014: callvirt Boolean get_Dead()
L_0019: brtrue Label #2
L_001e: ldarg.0
L_001f: ldfld Verse.RecipeDef recipe
L_0024: call Boolean RecipeHasNoIngredients(Verse.RecipeDef)
L_0029: brtrue Label #2
L_002e: ldarg.0
L_002f: ldfld Verse.RecipeDef recipe
L_0034: ldfld System.Boolean anesthetize
L_0039: brfalse Label #3
L_003e: ldarg.0
L_003f: call Verse.Pawn get_GiverPawn()
L_0044: call Boolean TryAnesthetize(Verse.Pawn)
L_0049: brfalse Label #4
L_004e: ldarg.1
L_004f: callvirt Verse.AI.Job get_CurJob()
L_0054: ldfld System.Collections.Generic.List`1[Verse.ThingStackPartClass]
placedThings
L_0059: stloc.0
L_005a: ldc.i4.0
L_005b: stloc.1
L_005c: br Label #5
L_0061: Label #10
L_0061: ldloc.0
L_0062: ldloc.1
L_0063: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0068: ldfld Verse.Thing thing
L_006d: isinst RimWorld.Medicine
L_0072: brfalse Label #6
L_0077: ldarg.0
L_0078: ldfld Verse.RecipeDef recipe
L_007d: callvirt Verse.RecipeWorker get_Worker()
L_0082: ldloc.0
L_0083: ldloc.1
L_0084: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0089: ldfld Verse.Thing thing
L_008e: ldc.i4.1
L_008f: callvirt Verse.Thing SplitOff(Int32)
L_0094: ldarg.0
L_0095: ldfld Verse.RecipeDef recipe
L_009a: ldarg.1
L_009b: callvirt Verse.Map get_MapHeld()
L_00a0: callvirt Void ConsumeIngredient(Verse.Thing, Verse.RecipeDef, Verse.Map)
L_00a5: ldloc.0
L_00a6: ldloc.1
L_00a7: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ac: dup
L_00ad: callvirt Int32 get_Count()
L_00b2: ldc.i4.1
L_00b3: sub
L_00b4: callvirt Void set_Count(Int32)
L_00b9: ldarg.0
L_00ba: ldloc.0
L_00bb: ldloc.1
L_00bc: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00c1: ldfld Verse.Thing thing
L_00c6: ldfld Verse.ThingDef def
L_00cb: stfld Verse.ThingDef consumedInitialMedicineDef
L_00d0: ldloc.0
L_00d1: ldloc.1
L_00d2: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00d7: ldfld Verse.Thing thing
L_00dc: callvirt Boolean get_Destroyed()
L_00e1: brtrue Label #7
L_00e6: ldloc.0
L_00e7: ldloc.1
L_00e8: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ed: callvirt Int32 get_Count()
L_00f2: ldc.i4.0
L_00f3: bgt Label #8
L_00f8: Label #7
L_00f8: ldloc.0
L_00f9: ldloc.1
L_00fa: callvirt Void RemoveAt(Int32)
L_00ff: Label #8
L_00ff: br Label #9
L_0104: Label #6
L_0104: ldloc.1
L_0105: ldc.i4.1
L_0106: add
L_0107: stloc.1
L_0108: Label #5
L_0108: ldloc.1
L_0109: ldloc.0
L_010a: callvirt Int32 get_Count()
L_010f: blt Label #10
L_0114: Label #2
L_0114: Label #3
L_0114: Label #4
L_0114: Label #9
L_0114: br Label #0
L_0119: Label #0
L_0119: ret
DONE

PATCHING RimWorld.Building_Bed IEnumerable`1 get_AssigningCandidates()


L_0000: ldarg.0
L_0001: callvirt IEnumerable`1 BedCandidates(RimWorld.Building_Bed)
L_0006: Label #0
L_0006: ret
DONE

PATCHING RimWorld.RestUtility RimWorld.Building_Bed FindBedFor(Verse.Pawn,


Verse.Pawn, Boolean, Boolean, Boolean)
L_0000: Local var #0 RimWorld.RestUtility+<FindBedFor>c__AnonStorey0
L_0000: Local var #1 RimWorld.Building_Bed
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 System.Boolean
L_0000: Local var #5 System.Boolean
L_0000: Local var #6 System.Boolean
L_0000: Local var #7 System.Int32
L_0000: Local var #8 Verse.ThingDef
L_0000: Local var #9 System.Int32
L_0000: Local var #10 RimWorld.RestUtility+<FindBedFor>c__AnonStorey1
L_0000: Local var #11 RimWorld.Building_Bed
L_0000: Local var #12 RimWorld.DirectPawnRelation
L_0000: Local var #13 RimWorld.Building_Bed
L_0000: Local var #14 System.Int32
L_0000: Local var #15 RimWorld.RestUtility+<FindBedFor>c__AnonStorey2
L_0000: Local var #16 System.Int32
L_0000: Local var #17 Verse.ThingDef
L_0000: Local var #18 RimWorld.Building_Bed
L_0000: Local var #19 RimWorld.Building_Bed
L_0000: ldnull
L_0001: stloc 19 (RimWorld.Building_Bed)
L_0003: newobj Void .ctor()
L_0008: stloc.0
L_0009: ldloc.0
L_000a: ldarg.0
L_000b: stfld Verse.Pawn sleeper
L_0010: ldloc.0
L_0011: ldarg.1
L_0012: stfld Verse.Pawn traveler
L_0017: ldloc.0
L_0018: ldarg.2
L_0019: stfld System.Boolean sleeperWillBePrisoner
L_001e: ldloc.0
L_001f: ldarg.3
L_0020: stfld System.Boolean checkSocialProperness
L_0025: ldloc.0
L_0026: ldarg.s 4
L_0028: stfld System.Boolean ignoreOtherReservations
L_002d: ldloc.0
L_002e: ldfld Verse.Pawn sleeper
L_0033: call Boolean ShouldSeekMedicalRest(Verse.Pawn)
L_0038: brfalse Label #2
L_003d: ldloc.0
L_003e: ldfld Verse.Pawn sleeper
L_0043: call Boolean InBed(Verse.Pawn)
L_0048: brfalse Label #3
L_004d: ldloc.0
L_004e: ldfld Verse.Pawn sleeper
L_0053: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0058: callvirt Boolean get_Medical()
L_005d: brfalse Label #4
L_0062: ldloc.0
L_0063: ldfld Verse.Pawn sleeper
L_0068: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_006d: stloc.1
L_006e: ldloc.0
L_006f: ldfld Verse.Pawn sleeper
L_0074: stloc.2
L_0075: ldloc.0
L_0076: ldfld Verse.Pawn traveler
L_007b: stloc.3
L_007c: ldloc.0
L_007d: ldfld System.Boolean sleeperWillBePrisoner
L_0082: stloc.s 4 (System.Boolean)
L_0084: ldloc.0
L_0085: ldfld System.Boolean checkSocialProperness
L_008a: stloc.s 5 (System.Boolean)
L_008c: ldloc.0
L_008d: ldfld System.Boolean ignoreOtherReservations
L_0092: stloc.s 6 (System.Boolean)
L_0094: ldloc.1
L_0095: ldloc.2
L_0096: ldloc.3
L_0097: ldloc.s 4 (System.Boolean)
L_0099: ldloc.s 5 (System.Boolean)
L_009b: ldc.i4.0
L_009c: ldloc.s 6 (System.Boolean)
L_009e: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_00a3: brfalse Label #5
L_00a8: ldloc.0
L_00a9: ldfld Verse.Pawn sleeper
L_00ae: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00b3: br Label #0
L_00b8: Label #3
L_00b8: Label #4
L_00b8: Label #5
L_00b8: ldc.i4.0
L_00b9: stloc.s 7 (System.Int32)
L_00bb: br Label #6
L_00c0: Label #14
L_00c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_00c5: ldloc.s 7 (System.Int32)
L_00c7: callvirt Verse.ThingDef get_Item(Int32)
L_00cc: stloc.s 8 (Verse.ThingDef)
L_00ce: ldloc.0
L_00cf: ldfld Verse.Pawn sleeper
L_00d4: ldloc.s 8 (Verse.ThingDef)
L_00d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_00db: brtrue Label #7
L_00e0: br Label #8
L_00e5: Label #7
L_00e5: ldc.i4.0
L_00e6: stloc.s 9 (System.Int32)
L_00e8: br Label #9
L_00ed: Label #13
L_00ed: newobj Void .ctor()
L_00f2: stloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f4: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f6: ldloc.0
L_00f7: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_00fc: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00fe: ldloc.s 9 (System.Int32)
L_0100: brtrue Label #10
L_0105: ldc.i4.1
L_0106: br Label #11
L_010b: Label #10
L_010b: ldc.i4.3
L_010c: Label #11
L_010c: stfld Verse.Danger maxDanger
L_0111: ldloc.0
L_0112: ldfld Verse.Pawn sleeper
L_0117: callvirt IntVec3 get_Position()
L_011c: ldloc.0
L_011d: ldfld Verse.Pawn sleeper
L_0122: callvirt Verse.Map get_Map()
L_0127: ldloc.s 8 (Verse.ThingDef)
L_0129: call ThingRequest ForDef(Verse.ThingDef)
L_012e: ldc.i4.1
L_012f: ldloc.0
L_0130: ldfld Verse.Pawn traveler
L_0135: ldc.i4.3
L_0136: ldc.i4.0
L_0137: ldc.i4.0
L_0138: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_013d: ldc.r4 9999
L_0142: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_0144: ldftn Boolean <>m__0(Verse.Thing)
L_014a: newobj Void .ctor(Object, IntPtr)
L_014f: ldnull
L_0150: ldc.i4.0
L_0151: ldc.i4.m1
L_0152: ldc.i4.0
L_0153: ldc.i4.6
L_0154: ldc.i4.0
L_0155: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_015a: castclass RimWorld.Building_Bed
L_015f: stloc.s 11 (RimWorld.Building_Bed)
L_0161: ldloc.s 11 (RimWorld.Building_Bed)
L_0163: brfalse Label #12
L_0168: ldloc.s 11 (RimWorld.Building_Bed)
L_016a: br Label #0
L_016f: Label #12
L_016f: ldloc.s 9 (System.Int32)
L_0171: ldc.i4.1
L_0172: add
L_0173: stloc.s 9 (System.Int32)
L_0175: Label #9
L_0175: ldloc.s 9 (System.Int32)
L_0177: ldc.i4.2
L_0178: blt Label #13
L_017d: Label #8
L_017d: ldloc.s 7 (System.Int32)
L_017f: ldc.i4.1
L_0180: add
L_0181: stloc.s 7 (System.Int32)
L_0183: Label #6
L_0183: ldloc.s 7 (System.Int32)
L_0185: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_018a: callvirt Int32 get_Count()
L_018f: blt Label #14
L_0194: Label #2
L_0194: ldloc.0
L_0195: ldfld Verse.Pawn sleeper
L_019a: ldfld RimWorld.Pawn_Ownership ownership
L_019f: brfalse Label #15
L_01a4: ldloc.0
L_01a5: ldfld Verse.Pawn sleeper
L_01aa: ldfld RimWorld.Pawn_Ownership ownership
L_01af: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01b4: brfalse Label #16
L_01b9: ldloc.0
L_01ba: ldfld Verse.Pawn sleeper
L_01bf: ldfld RimWorld.Pawn_Ownership ownership
L_01c4: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01c9: stloc.1
L_01ca: ldloc.0
L_01cb: ldfld Verse.Pawn sleeper
L_01d0: stloc.3
L_01d1: ldloc.0
L_01d2: ldfld Verse.Pawn traveler
L_01d7: stloc.2
L_01d8: ldloc.0
L_01d9: ldfld System.Boolean sleeperWillBePrisoner
L_01de: stloc.s 6 (System.Boolean)
L_01e0: ldloc.0
L_01e1: ldfld System.Boolean checkSocialProperness
L_01e6: stloc.s 5 (System.Boolean)
L_01e8: ldloc.0
L_01e9: ldfld System.Boolean ignoreOtherReservations
L_01ee: stloc.s 4 (System.Boolean)
L_01f0: ldloc.1
L_01f1: ldloc.3
L_01f2: ldloc.2
L_01f3: ldloc.s 6 (System.Boolean)
L_01f5: ldloc.s 5 (System.Boolean)
L_01f7: ldc.i4.0
L_01f8: ldloc.s 4 (System.Boolean)
L_01fa: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_01ff: brfalse Label #17
L_0204: ldloc.0
L_0205: ldfld Verse.Pawn sleeper
L_020a: ldfld RimWorld.Pawn_Ownership ownership
L_020f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0214: br Label #0
L_0219: Label #15
L_0219: Label #16
L_0219: Label #17
L_0219: ldloc.0
L_021a: ldfld Verse.Pawn sleeper
L_021f: ldc.i4.0
L_0220: call RimWorld.DirectPawnRelation
ExistingMostLikedLovePartnerRel(Verse.Pawn, Boolean)
L_0225: stloc.s 12 (RimWorld.DirectPawnRelation)
L_0227: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0229: brfalse Label #18
L_022e: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0230: ldfld Verse.Pawn otherPawn
L_0235: ldfld RimWorld.Pawn_Ownership ownership
L_023a: callvirt RimWorld.Building_Bed get_OwnedBed()
L_023f: stloc.s 13 (RimWorld.Building_Bed)
L_0241: ldloc.s 13 (RimWorld.Building_Bed)
L_0243: brfalse Label #19
L_0248: ldloc.s 13 (RimWorld.Building_Bed)
L_024a: stloc.1
L_024b: ldloc.0
L_024c: ldfld Verse.Pawn sleeper
L_0251: stloc.2
L_0252: ldloc.0
L_0253: ldfld Verse.Pawn traveler
L_0258: stloc.3
L_0259: ldloc.0
L_025a: ldfld System.Boolean sleeperWillBePrisoner
L_025f: stloc.s 4 (System.Boolean)
L_0261: ldloc.0
L_0262: ldfld System.Boolean checkSocialProperness
L_0267: stloc.s 5 (System.Boolean)
L_0269: ldloc.0
L_026a: ldfld System.Boolean ignoreOtherReservations
L_026f: stloc.s 6 (System.Boolean)
L_0271: ldloc.1
L_0272: ldloc.2
L_0273: ldloc.3
L_0274: ldloc.s 4 (System.Boolean)
L_0276: ldloc.s 5 (System.Boolean)
L_0278: ldc.i4.0
L_0279: ldloc.s 6 (System.Boolean)
L_027b: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_0280: brfalse Label #20
L_0285: ldloc.s 13 (RimWorld.Building_Bed)
L_0287: br Label #0
L_028c: Label #18
L_028c: Label #19
L_028c: Label #20
L_028c: ldc.i4.0
L_028d: stloc.s 14 (System.Int32)
L_028f: br Label #21
L_0294: Label #29
L_0294: newobj Void .ctor()
L_0299: stloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029b: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029d: ldloc.0
L_029e: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_02a3: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_02a5: ldloc.s 14 (System.Int32)
L_02a7: brtrue Label #22
L_02ac: ldc.i4.1
L_02ad: br Label #23
L_02b2: Label #22
L_02b2: ldc.i4.3
L_02b3: Label #23
L_02b3: stfld Verse.Danger maxDanger
L_02b8: ldc.i4.0
L_02b9: stloc.s 16 (System.Int32)
L_02bb: br Label #24
L_02c0: Label #28
L_02c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_02c5: ldloc.s 16 (System.Int32)
L_02c7: callvirt Verse.ThingDef get_Item(Int32)
L_02cc: stloc.s 17 (Verse.ThingDef)
L_02ce: ldloc.0
L_02cf: ldfld Verse.Pawn sleeper
L_02d4: ldloc.s 17 (Verse.ThingDef)
L_02d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_02db: brtrue Label #25
L_02e0: br Label #26
L_02e5: Label #25
L_02e5: ldloc.0
L_02e6: ldfld Verse.Pawn sleeper
L_02eb: callvirt IntVec3 get_Position()
L_02f0: ldloc.0
L_02f1: ldfld Verse.Pawn sleeper
L_02f6: callvirt Verse.Map get_Map()
L_02fb: ldloc.s 17 (Verse.ThingDef)
L_02fd: call ThingRequest ForDef(Verse.ThingDef)
L_0302: ldc.i4.1
L_0303: ldloc.0
L_0304: ldfld Verse.Pawn traveler
L_0309: ldc.i4.3
L_030a: ldc.i4.0
L_030b: ldc.i4.0
L_030c: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_0311: ldc.r4 9999
L_0316: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_0318: ldftn Boolean <>m__0(Verse.Thing)
L_031e: newobj Void .ctor(Object, IntPtr)
L_0323: ldnull
L_0324: ldc.i4.0
L_0325: ldc.i4.m1
L_0326: ldc.i4.0
L_0327: ldc.i4.6
L_0328: ldc.i4.0
L_0329: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_032e: castclass RimWorld.Building_Bed
L_0333: stloc.s 18 (RimWorld.Building_Bed)
L_0335: ldloc.s 18 (RimWorld.Building_Bed)
L_0337: brfalse Label #27
L_033c: ldloc.s 18 (RimWorld.Building_Bed)
L_033e: br Label #0
L_0343: Label #26
L_0343: Label #27
L_0343: ldloc.s 16 (System.Int32)
L_0345: ldc.i4.1
L_0346: add
L_0347: stloc.s 16 (System.Int32)
L_0349: Label #24
L_0349: ldloc.s 16 (System.Int32)
L_034b: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_0350: callvirt Int32 get_Count()
L_0355: blt Label #28
L_035a: ldloc.s 14 (System.Int32)
L_035c: ldc.i4.1
L_035d: add
L_035e: stloc.s 14 (System.Int32)
L_0360: Label #21
L_0360: ldloc.s 14 (System.Int32)
L_0362: ldc.i4.2
L_0363: blt Label #29
L_0368: ldnull
L_0369: br Label #0
L_036e: Label #0
L_036e: stloc 19 (RimWorld.Building_Bed)
L_0370: ldarga 0
L_0376: ldloca 19 (RimWorld.Building_Bed)
L_0378: ldarga 1
L_037e: ldarga 4
L_0384: ldarga 2
L_038a: ldarga 3
L_0390: call Void FindBedFor_Patch(Verse.Pawn ByRef, RimWorld.Building_Bed ByRef,
Verse.Pawn ByRef, Boolean ByRef, Boolean ByRef, Boolean ByRef)
L_0395: ldloc 19 (RimWorld.Building_Bed)
L_0397: ret
DONE

PATCHING RimWorld.JobGiver_DoLovin Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 1 (Verse.AI.Job)
L_0002: call Verse.TickManager get_TickManager()
L_0007: callvirt Int32 get_TicksGame()
L_000c: ldarg.1
L_000d: ldfld Verse.AI.Pawn_MindState mindState
L_0012: ldfld System.Int32 canLovinTick
L_0017: bge Label #2
L_001c: ldnull
L_001d: br Label #0
L_0022: Label #2
L_0022: ldarg.1
L_0023: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0028: brfalse Label #3
L_002d: ldarg.1
L_002e: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0033: callvirt Boolean get_Medical()
L_0038: brtrue Label #4
L_003d: ldarg.1
L_003e: ldfld Verse.Pawn_HealthTracker health
L_0043: ldfld Verse.PawnCapacitiesHandler capacities
L_0048: callvirt Boolean get_CanBeAwake()
L_004d: brtrue Label #5
L_0052: Label #3
L_0052: Label #4
L_0052: ldnull
L_0053: br Label #0
L_0058: Label #5
L_0058: ldarg.1
L_0059: call Verse.Pawn GetPartnerInMyBed(Verse.Pawn)
L_005e: stloc.0
L_005f: ldloc.0
L_0060: brfalse Label #6
L_0065: ldloc.0
L_0066: ldfld Verse.Pawn_HealthTracker health
L_006b: ldfld Verse.PawnCapacitiesHandler capacities
L_0070: callvirt Boolean get_CanBeAwake()
L_0075: brfalse Label #7
L_007a: call Verse.TickManager get_TickManager()
L_007f: callvirt Int32 get_TicksGame()
L_0084: ldloc.0
L_0085: ldfld Verse.AI.Pawn_MindState mindState
L_008a: ldfld System.Int32 canLovinTick
L_008f: bge Label #8
L_0094: Label #6
L_0094: Label #7
L_0094: ldnull
L_0095: br Label #0
L_009a: Label #8
L_009a: ldarg.1
L_009b: ldloc.0
L_009c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00a1: ldc.i4.1
L_00a2: ldc.i4.m1
L_00a3: ldnull
L_00a4: ldc.i4.0
L_00a5: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00aa: brfalse Label #9
L_00af: ldloc.0
L_00b0: ldarg.1
L_00b1: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00b6: ldc.i4.1
L_00b7: ldc.i4.m1
L_00b8: ldnull
L_00b9: ldc.i4.0
L_00ba: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00bf: brtrue Label #10
L_00c4: Label #9
L_00c4: ldnull
L_00c5: br Label #0
L_00ca: Label #10
L_00ca: ldsfld Verse.JobDef Lovin
L_00cf: ldloc.0
L_00d0: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00d5: ldarg.1
L_00d6: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00db: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00e0: newobj Void .ctor(JobDef, LocalTargetInfo, LocalTargetInfo)
L_00e5: br Label #0
L_00ea: Label #0
L_00ea: stloc 1 (Verse.AI.Job)
L_00eb: ldloca 1 (Verse.AI.Job)
L_00ed: ldarga 1
L_00f3: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_00f8: ldloc 1 (Verse.AI.Job)
L_00f9: ret
DONE

PATCHING RimWorld.JobDriver_Lovin+<MakeNewToils>c__Iterator0 Void <>m__4()


L_0000: Local var #0 RimWorld.Thought_Memory
L_0000: ldsfld RimWorld.ThoughtDef GotSomeLovin
L_0005: call RimWorld.Thought MakeThought(RimWorld.ThoughtDef)
L_000a: castclass RimWorld.Thought_Memory
L_000f: stloc.0
L_0010: ldarg.0
L_0011: ldfld RimWorld.JobDriver_Lovin $this
L_0016: ldfld Verse.Pawn pawn
L_001b: ldfld RimWorld.Pawn_NeedsTracker needs
L_0020: ldfld RimWorld.Need_Mood mood
L_0025: ldfld RimWorld.ThoughtHandler thoughts
L_002a: ldfld RimWorld.MemoryThoughtHandler memories
L_002f: ldloc.0
L_0030: ldarg.0
L_0031: ldfld RimWorld.JobDriver_Lovin $this
L_0036: call Verse.Pawn get_Partner()
L_003b: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_0040: ldarg.0
L_0041: ldfld RimWorld.JobDriver_Lovin $this
L_0046: ldfld Verse.Pawn pawn
L_004b: ldfld Verse.AI.Pawn_MindState mindState
L_0050: call Verse.TickManager get_TickManager()
L_0055: callvirt Int32 get_TicksGame()
L_005a: ldarg.0
L_005b: ldfld RimWorld.JobDriver_Lovin $this
L_0060: ldarg.0
L_0061: ldfld RimWorld.JobDriver_Lovin $this
L_0066: ldfld Verse.Pawn pawn
L_006b: call Int32 GenerateRandomMinTicksToNextLovin(Verse.Pawn)
L_0070: add
L_0071: stfld System.Int32 canLovinTick
L_0076: ldarg.0
L_0077: ldfld RimWorld.JobDriver_Lovin $this
L_007c: ldfld Verse.Pawn pawn
L_0081: ldarg.0
L_0082: ldfld RimWorld.JobDriver_Lovin $this
L_0087: call Verse.Pawn get_Partner()
L_008c: call Void TryToImpregnate(Verse.Pawn, Verse.Pawn)
L_0091: br Label #0
L_0096: Label #0
L_0096: ret
DONE

PATCHING RimWorld.JobDriver_Wear+<MakeNewToils>c__Iterator0 Boolean MoveNext()


L_0000: Local var #0 System.UInt32
L_0000: ldarg.0
L_0001: ldfld System.Int32 $PC
L_0006: stloc.0
L_0007: ldarg.0
L_0008: ldc.i4.m1
L_0009: stfld System.Int32 $PC
L_000e: ldloc.0
L_000f: switch Labels #2 #3 #4 #5
L_0024: br Label #6
L_0029: Label #2
L_0029: ldarg.0
L_002a: ldfld RimWorld.JobDriver_Wear $this
L_002f: call RimWorld.JobDriver_Wear FailOnBaby[JobDriver_Wear]
(RimWorld.JobDriver_Wear)
L_0034: pop
L_0035: ldarg.0
L_0036: newobj Void .ctor()
L_003b: stfld Verse.AI.Toil <gotoApparel>__1
L_0040: ldarg.0
L_0041: ldfld Verse.AI.Toil <gotoApparel>__1
L_0046: ldarg.0
L_0047: ldftn Void <>m__0()
L_004d: newobj Void .ctor(Object, IntPtr)
L_0052: stfld System.Action initAction
L_0057: ldarg.0
L_0058: ldfld Verse.AI.Toil <gotoApparel>__1
L_005d: ldc.i4.2
L_005e: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0063: ldarg.0
L_0064: ldfld Verse.AI.Toil <gotoApparel>__1
L_0069: ldc.i4.1
L_006a: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_006f: pop
L_0070: ldarg.0
L_0071: ldarg.0
L_0072: ldfld Verse.AI.Toil <gotoApparel>__1
L_0077: stfld Verse.AI.Toil $current
L_007c: ldarg.0
L_007d: ldfld System.Boolean $disposing
L_0082: brtrue Label #7
L_0087: ldarg.0
L_0088: ldc.i4.1
L_0089: stfld System.Int32 $PC
L_008e: Label #7
L_008e: br Label #8
L_0093: Label #3
L_0093: ldarg.0
L_0094: newobj Void .ctor()
L_0099: stfld Verse.AI.Toil <prepare>__2
L_009e: ldarg.0
L_009f: ldfld Verse.AI.Toil <prepare>__2
L_00a4: ldc.i4.3
L_00a5: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_00aa: ldarg.0
L_00ab: ldfld Verse.AI.Toil <prepare>__2
L_00b0: ldc.i4.s 60
L_00b2: stfld System.Int32 defaultDuration
L_00b7: ldarg.0
L_00b8: ldfld Verse.AI.Toil <prepare>__2
L_00bd: ldc.i4.1
L_00be: ldc.i4.0
L_00bf: ldc.r4 -0.5
L_00c4: call Verse.AI.Toil WithProgressBarToilDelay(Verse.AI.Toil, TargetIndex,
Boolean, Single)
L_00c9: pop
L_00ca: ldarg.0
L_00cb: ldfld Verse.AI.Toil <prepare>__2
L_00d0: ldc.i4.1
L_00d1: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_00d6: pop
L_00d7: ldarg.0
L_00d8: ldarg.0
L_00d9: ldfld Verse.AI.Toil <prepare>__2
L_00de: stfld Verse.AI.Toil $current
L_00e3: ldarg.0
L_00e4: ldfld System.Boolean $disposing
L_00e9: brtrue Label #9
L_00ee: ldarg.0
L_00ef: ldc.i4.2
L_00f0: stfld System.Int32 $PC
L_00f5: Label #9
L_00f5: br Label #10
L_00fa: Label #4
L_00fa: ldarg.0
L_00fb: newobj Void .ctor()
L_0100: stfld Verse.AI.Toil <wear>__3
L_0105: ldarg.0
L_0106: ldfld Verse.AI.Toil <wear>__3
L_010b: ldarg.0
L_010c: ldftn Void <>m__1()
L_0112: newobj Void .ctor(Object, IntPtr)
L_0117: stfld System.Action initAction
L_011c: ldarg.0
L_011d: ldfld Verse.AI.Toil <wear>__3
L_0122: ldc.i4.1
L_0123: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0128: ldarg.0
L_0129: ldarg.0
L_012a: ldfld Verse.AI.Toil <wear>__3
L_012f: stfld Verse.AI.Toil $current
L_0134: ldarg.0
L_0135: ldfld System.Boolean $disposing
L_013a: brtrue Label #11
L_013f: ldarg.0
L_0140: ldc.i4.3
L_0141: stfld System.Int32 $PC
L_0146: Label #11
L_0146: br Label #12
L_014b: Label #5
L_014b: ldarg.0
L_014c: ldc.i4.m1
L_014d: stfld System.Int32 $PC
L_0152: Label #6
L_0152: ldc.i4.0
L_0153: br Label #0
L_0158: Label #8
L_0158: Label #10
L_0158: Label #12
L_0158: ldc.i4.1
L_0159: br Label #0
L_015e: Label #0
L_015e: ret
DONE

PATCHING RimWorld.ThoughtUtility Boolean CanGetThought(Verse.Pawn,


RimWorld.ThoughtDef)
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 4 (System.Boolean)
L_0007: ldarg.1
L_0008: ldfld System.Boolean validWhileDespawned
L_000d: brtrue Label #2
L_0012: ldarg.0
L_0013: callvirt Boolean get_Spawned()
L_0018: brtrue Label #3
L_001d: ldarg.1
L_001e: callvirt Boolean get_IsMemory()
L_0023: brtrue Label #4
L_0028: ldc.i4.0
L_0029: stloc.0
L_002a: leave Label #5
L_002f: Label #2
L_002f: Label #3
L_002f: Label #4
L_002f: ldarg.1
L_0030: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0035: brfalse Label #6
L_003a: ldc.i4.0
L_003b: stloc.1
L_003c: br Label #7
L_0041: Label #10
L_0041: ldarg.0
L_0042: ldfld RimWorld.Pawn_StoryTracker story
L_0047: ldfld RimWorld.TraitSet traits
L_004c: ldarg.1
L_004d: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0052: ldloc.1
L_0053: callvirt RimWorld.TraitDef get_Item(Int32)
L_0058: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_005d: brfalse Label #8
L_0062: ldc.i4.0
L_0063: stloc.0
L_0064: leave Label #9
L_0069: Label #8
L_0069: ldloc.1
L_006a: ldc.i4.1
L_006b: add
L_006c: stloc.1
L_006d: Label #7
L_006d: ldloc.1
L_006e: ldarg.1
L_006f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0074: callvirt Int32 get_Count()
L_0079: blt Label #10
L_007e: Label #6
L_007e: ldarg.1
L_007f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0084: call Boolean NullOrEmpty[TraitDef](IList`1)
L_0089: brtrue Label #11
L_008e: ldc.i4.0
L_008f: stloc.2
L_0090: ldc.i4.0
L_0091: stloc.3
L_0092: br Label #12
L_0097: Label #19
L_0097: ldarg.0
L_0098: ldfld RimWorld.Pawn_StoryTracker story
L_009d: ldfld RimWorld.TraitSet traits
L_00a2: ldarg.1
L_00a3: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00a8: ldloc.3
L_00a9: callvirt RimWorld.TraitDef get_Item(Int32)
L_00ae: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00b3: brtrue Label #13
L_00b8: leave Label #14
L_00bd: Label #13
L_00bd: ldarg.1
L_00be: callvirt Boolean get_RequiresSpecificTraitsDegree()
L_00c3: brfalse Label #15
L_00c8: ldarg.1
L_00c9: ldfld System.Int32 requiredTraitsDegree
L_00ce: ldarg.0
L_00cf: ldfld RimWorld.Pawn_StoryTracker story
L_00d4: ldfld RimWorld.TraitSet traits
L_00d9: ldarg.1
L_00da: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00df: ldloc.3
L_00e0: callvirt RimWorld.TraitDef get_Item(Int32)
L_00e5: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_00ea: beq Label #16
L_00ef: leave Label #17
L_00f4: Label #15
L_00f4: Label #16
L_00f4: ldc.i4.1
L_00f5: stloc.2
L_00f6: leave Label #18
L_00fb: Label #14
L_00fb: Label #17
L_00fb: ldloc.3
L_00fc: ldc.i4.1
L_00fd: add
L_00fe: stloc.3
L_00ff: Label #12
L_00ff: ldloc.3
L_0100: ldarg.1
L_0101: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0106: callvirt Int32 get_Count()
L_010b: blt Label #19
L_0110: Label #18
L_0110: ldloc.2
L_0111: brtrue Label #20
L_0116: ldc.i4.0
L_0117: stloc.0
L_0118: leave Label #21
L_011d: Label #11
L_011d: Label #20
L_011d: ldarg.1
L_011e: ldfld System.Boolean nullifiedIfNotColonist
L_0123: brfalse Label #22
L_0128: ldarg.0
L_0129: callvirt Boolean get_IsColonist()
L_012e: brtrue Label #23
L_0133: ldc.i4.0
L_0134: stloc.0
L_0135: leave Label #24
L_013a: Label #22
L_013a: Label #23
L_013a: ldarg.1
L_013b: ldarg.0
L_013c: call Boolean IsSituationalThoughtNullifiedByHediffs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0141: brfalse Label #25
L_0146: ldc.i4.0
L_0147: stloc.0
L_0148: leave Label #26
L_014d: Label #25
L_014d: ldarg.1
L_014e: ldarg.0
L_014f: call Boolean IsThoughtNullifiedByOwnTales(RimWorld.ThoughtDef, Verse.Pawn)
L_0154: brfalse Label #27
L_0159: ldc.i4.0
L_015a: stloc.0
L_015b: leave Label #28
L_0160: Label #27
L_0160: leave Label #29
L_0165: endfinally
L_0166: Label #29
L_0166: ldc.i4.1
L_0167: br Label #0
L_016c: Label #5
L_016c: Label #9
L_016c: Label #21
L_016c: Label #24
L_016c: Label #26
L_016c: Label #28
L_016c: ldloc.0
L_016d: br Label #0
L_0172: Label #0
L_0172: stloc 4 (System.Boolean)
L_0174: ldarga 0
L_017a: ldarga 1
L_0180: ldloca 4 (System.Boolean)
L_0182: call Void CanGetThought_Patch(Verse.Pawn ByRef, RimWorld.ThoughtDef ByRef,
Boolean ByRef)
L_0187: ldloc 4 (System.Boolean)
L_0189: ret
DONE

PATCHING RimWorld.JobGiver_SocialFighting Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Verb
L_0000: Local var #2 Verse.AI.Job
L_0000: Local var #3 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 3 (Verse.AI.Job)
L_0002: ldarg.1
L_0003: callvirt Verse.RaceProperties get_RaceProps()
L_0008: callvirt Boolean get_Humanlike()
L_000d: brfalse Label #2
L_0012: ldarg.1
L_0013: ldfld RimWorld.Pawn_StoryTracker story
L_0018: ldc.i4.8
L_0019: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_001e: brfalse Label #3
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: Label #3
L_0029: ldarg.1
L_002a: callvirt Verse.AI.MentalState get_MentalState()
L_002f: castclass Verse.AI.MentalState_SocialFighting
L_0034: ldfld Verse.Pawn otherPawn
L_0039: stloc.0
L_003a: ldarg.1
L_003b: ldloca.s 1 (Verse.Verb)
L_003d: call Boolean TryGetRandomVerbForSocialFight(Verse.Pawn, Verse.Verb ByRef)
L_0042: brtrue Label #4
L_0047: ldnull
L_0048: br Label #0
L_004d: Label #4
L_004d: ldsfld Verse.JobDef SocialFight
L_0052: ldloc.0
L_0053: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0058: newobj Void .ctor(JobDef, LocalTargetInfo)
L_005d: stloc.2
L_005e: ldloc.2
L_005f: ldc.i4.1
L_0060: stfld System.Int32 maxNumMeleeAttacks
L_0065: ldloc.2
L_0066: ldloc.1
L_0067: stfld Verse.Verb verbToUse
L_006c: ldloc.2
L_006d: br Label #0
L_0072: Label #0
L_0072: stloc 3 (Verse.AI.Job)
L_0073: ldarga 1
L_0079: ldloca 3 (Verse.AI.Job)
L_007b: call Void TryGiveJob_Postfix(Verse.Pawn ByRef, Verse.AI.Job ByRef)
L_0080: ldloc 3 (Verse.AI.Job)
L_0081: ret
DONE

PATCHING RimWorld.Pawn_ApparelTracker Void ApparelChanged()


L_0000: ldarg.0
L_0001: ldftn Void <ApparelChanged>m__1()
L_0007: newobj Void .ctor(Object, IntPtr)
L_000c: call Void ExecuteWhenFinished(System.Action)
L_0011: br Label #0
L_0016: Label #0
L_0016: ldarga 0
L_001c: call Void ApparelChanged_Postfix(RimWorld.Pawn_ApparelTracker ByRef)
L_0021: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveAllGraphics()


L_0000: Local var #0 Verse.PawnKindLifeStage
L_0000: ldarg.0
L_0001: call Void ClearCache()
L_0006: ldarg.0
L_0007: ldfld Verse.Pawn pawn
L_000c: callvirt Verse.RaceProperties get_RaceProps()
L_0011: callvirt Boolean get_Humanlike()
L_0016: brfalse Label #2
L_001b: ldarg.0
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_StoryTracker story
L_0027: ldfld RimWorld.BodyType bodyType
L_002c: ldsfld UnityEngine.Shader CutoutSkin
L_0031: ldarg.0
L_0032: ldfld Verse.Pawn pawn
L_0037: ldfld RimWorld.Pawn_StoryTracker story
L_003c: callvirt Color get_SkinColor()
L_0041: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_0046: stfld Verse.Graphic nakedGraphic
L_004b: ldarg.0
L_004c: ldarg.0
L_004d: ldfld Verse.Pawn pawn
L_0052: ldfld RimWorld.Pawn_StoryTracker story
L_0057: ldfld RimWorld.BodyType bodyType
L_005c: ldsfld UnityEngine.Shader CutoutSkin
L_0061: ldsfld UnityEngine.Color RottingColor
L_0066: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_006b: stfld Verse.Graphic rottingGraphic
L_0070: ldarg.0
L_0071: ldstr "Things/Pawn/Humanlike/HumanoidDessicated"
L_0076: ldsfld UnityEngine.Shader Cutout
L_007b: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader)
L_0080: stfld Verse.Graphic dessicatedGraphic
L_0085: ldarg.0
L_0086: ldarg.0
L_0087: ldfld Verse.Pawn pawn
L_008c: ldfld RimWorld.Pawn_StoryTracker story
L_0091: callvirt System.String get_HeadGraphicPath()
L_0096: ldarg.0
L_0097: ldfld Verse.Pawn pawn
L_009c: ldfld RimWorld.Pawn_StoryTracker story
L_00a1: callvirt Color get_SkinColor()
L_00a6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00ab: stfld Verse.Graphic headGraphic
L_00b0: ldarg.0
L_00b1: ldarg.0
L_00b2: ldfld Verse.Pawn pawn
L_00b7: ldfld RimWorld.Pawn_StoryTracker story
L_00bc: callvirt System.String get_HeadGraphicPath()
L_00c1: ldsfld UnityEngine.Color RottingColor
L_00c6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00cb: stfld Verse.Graphic desiccatedHeadGraphic
L_00d0: ldarg.0
L_00d1: call Verse.Graphic_Multi GetSkull()
L_00d6: stfld Verse.Graphic skullGraphic
L_00db: ldarg.0
L_00dc: ldarg.0
L_00dd: ldfld Verse.Pawn pawn
L_00e2: ldfld RimWorld.Pawn_StoryTracker story
L_00e7: callvirt Color get_SkinColor()
L_00ec: call Verse.Graphic_Multi GetStump(Color)
L_00f1: stfld Verse.Graphic headStumpGraphic
L_00f6: ldarg.0
L_00f7: ldsfld UnityEngine.Color RottingColor
L_00fc: call Verse.Graphic_Multi GetStump(Color)
L_0101: stfld Verse.Graphic desiccatedHeadStumpGraphic
L_0106: ldarg.0
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld RimWorld.Pawn_StoryTracker story
L_0112: ldfld RimWorld.HairDef hairDef
L_0117: ldfld System.String texPath
L_011c: ldsfld UnityEngine.Shader Cutout
L_0121: call Vector2 get_one()
L_0126: ldarg.0
L_0127: ldfld Verse.Pawn pawn
L_012c: ldfld RimWorld.Pawn_StoryTracker story
L_0131: ldfld UnityEngine.Color hairColor
L_0136: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_013b: stfld Verse.Graphic hairGraphic
L_0140: ldarg.0
L_0141: call Void ResolveApparelGraphics()
L_0146: br Label #3
L_014b: Label #2
L_014b: ldarg.0
L_014c: ldfld Verse.Pawn pawn
L_0151: ldfld Verse.Pawn_AgeTracker ageTracker
L_0156: callvirt Verse.PawnKindLifeStage get_CurKindLifeStage()
L_015b: stloc.0
L_015c: ldarg.0
L_015d: ldfld Verse.Pawn pawn
L_0162: ldfld Verse.Gender gender
L_0167: ldc.i4.2
L_0168: bne.un Label #4
L_016d: ldloc.0
L_016e: ldfld Verse.GraphicData femaleGraphicData
L_0173: brtrue Label #5
L_0178: Label #4
L_0178: ldarg.0
L_0179: ldloc.0
L_017a: ldfld Verse.GraphicData bodyGraphicData
L_017f: callvirt Verse.Graphic get_Graphic()
L_0184: stfld Verse.Graphic nakedGraphic
L_0189: br Label #6
L_018e: Label #5
L_018e: ldarg.0
L_018f: ldloc.0
L_0190: ldfld Verse.GraphicData femaleGraphicData
L_0195: callvirt Verse.Graphic get_Graphic()
L_019a: stfld Verse.Graphic nakedGraphic
L_019f: Label #6
L_019f: ldarg.0
L_01a0: ldarg.0
L_01a1: ldfld Verse.Graphic nakedGraphic
L_01a6: ldsfld UnityEngine.Shader CutoutSkin
L_01ab: ldsfld UnityEngine.Color RottingColor
L_01b0: ldsfld UnityEngine.Color RottingColor
L_01b5: callvirt Verse.Graphic GetColoredVersion(UnityEngine.Shader, Color, Color)
L_01ba: stfld Verse.Graphic rottingGraphic
L_01bf: ldarg.0
L_01c0: ldfld Verse.Pawn pawn
L_01c5: callvirt Verse.RaceProperties get_RaceProps()
L_01ca: ldfld System.Boolean packAnimal
L_01cf: brfalse Label #7
L_01d4: ldarg.0
L_01d5: ldarg.0
L_01d6: ldfld Verse.Graphic nakedGraphic
L_01db: ldfld System.String path
L_01e0: ldstr "Pack"
L_01e5: call System.String Concat(System.String, System.String)
L_01ea: ldsfld UnityEngine.Shader Cutout
L_01ef: ldarg.0
L_01f0: ldfld Verse.Graphic nakedGraphic
L_01f5: ldfld UnityEngine.Vector2 drawSize
L_01fa: call Color get_white()
L_01ff: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_0204: stfld Verse.Graphic packGraphic
L_0209: Label #7
L_0209: ldloc.0
L_020a: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_020f: brfalse Label #8
L_0214: ldarg.0
L_0215: ldloc.0
L_0216: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_021b: ldarg.0
L_021c: ldfld Verse.Pawn pawn
L_0221: callvirt Verse.Graphic GraphicColoredFor(Verse.Thing)
L_0226: stfld Verse.Graphic dessicatedGraphic
L_022b: Label #3
L_022b: Label #8
L_022b: br Label #0
L_0230: Label #0
L_0230: ldarga 0
L_0236: call Void ResolveAllGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_023b: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveApparelGraphics()


L_0000: Local var #0 RimWorld.Apparel
L_0000: Local var #1 System.Collections.Generic.IEnumerator`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 RimWorld.ApparelGraphicRecord
L_0000: ldarga 0
L_0006: call Void ResolveApparelGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_000b: ldarg.0
L_000c: call Void ClearCache()
L_0011: ldarg.0
L_0012: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0017: callvirt Void Clear()
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0027: callvirt IEnumerable`1 get_WornApparelInDrawOrder()
L_002c: callvirt IEnumerator`1 GetEnumerator()
L_0031: stloc.1
L_0032: br Label #2
L_0037: Label #4
L_0037: ldloc.1
L_0038: callvirt RimWorld.Apparel get_Current()
L_003d: stloc.0
L_003e: ldloc.0
L_003f: ldarg.0
L_0040: ldfld Verse.Pawn pawn
L_0045: call BodyType ModifyChildBodyType(Verse.Pawn)
L_004a: ldloca.s 2 (RimWorld.ApparelGraphicRecord)
L_004c: call Boolean TryGetGraphicApparel(RimWorld.Apparel, BodyType,
ApparelGraphicRecord ByRef)
L_0051: brfalse Label #3
L_0056: ldarg.0
L_0057: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_005c: ldloc.2
L_005d: callvirt Void Add(ApparelGraphicRecord)
L_0062: Label #2
L_0062: Label #3
L_0062: ldloc.1
L_0063: callvirt Boolean MoveNext()
L_0068: brtrue Label #4
L_006d: leave Label #5
L_0072: ldloc.1
L_0073: brfalse Label #6
L_0078: ldloc.1
L_0079: callvirt Void Dispose()
L_007e: Label #6
L_007e: endfinally
L_007f: Label #5
L_007f: br Label #0
L_0084: Label #0
L_0084: ret
DONE

PATCHING Verse.PawnRenderer Void RenderPawnInternal(Vector3, Quaternion, Boolean,


Rot4, Rot4, RotDrawMode, Boolean, Boolean)
L_0000: Local var #0 UnityEngine.Mesh
L_0000: Local var #1 UnityEngine.Vector3
L_0000: Local var #2 System.Collections.Generic.List`1[[UnityEngine.Material,
UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 System.Int32
L_0000: Local var #4 UnityEngine.Material
L_0000: Local var #5 UnityEngine.Vector3
L_0000: Local var #6 UnityEngine.Vector3
L_0000: Local var #7 UnityEngine.Vector3
L_0000: Local var #8 UnityEngine.Vector3
L_0000: Local var #9 UnityEngine.Material
L_0000: Local var #10 UnityEngine.Mesh
L_0000: Local var #11 UnityEngine.Vector3
L_0000: Local var #12 System.Boolean
L_0000: Local var #13 UnityEngine.Mesh
L_0000: Local var #14
System.Collections.Generic.List`1[[RimWorld.ApparelGraphicRecord, Assembly-CSharp,
Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #15 System.Int32
L_0000: Local var #16 RimWorld.ApparelGraphicRecord
L_0000: Local var #17 RimWorld.ApparelGraphicRecord
L_0000: Local var #18 UnityEngine.Material
L_0000: Local var #19 RimWorld.ApparelGraphicRecord
L_0000: Local var #20 UnityEngine.Material
L_0000: Local var #21 RimWorld.ApparelGraphicRecord
L_0000: Local var #22 UnityEngine.Vector3
L_0000: Local var #23 UnityEngine.Mesh
L_0000: Local var #24 UnityEngine.Material
L_0000: Local var #25 System.Int32
L_0000: Local var #26 RimWorld.ApparelGraphicRecord
L_0000: Local var #27 UnityEngine.Material
L_0000: Local var #28 System.Collections.Generic.List`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #29 System.Int32
L_0000: Local var #30 UnityEngine.Vector3
L_0000: ldarg.0
L_0001: ldfld Verse.PawnGraphicSet graphics
L_0006: callvirt Boolean get_AllResolved()
L_000b: brtrue Label #2
L_0010: ldarg.0
L_0011: ldfld Verse.PawnGraphicSet graphics
L_0016: callvirt Void ResolveAllGraphics()
L_001b: Label #2
L_001b: ldnull
L_001c: stloc.0
L_001d: ldarg.0
L_001e: ldfld Verse.Pawn pawn
L_0023: ldfld Verse.Pawn_AgeTracker ageTracker
L_0028: call Int32 get_CurLifeStageIndex()
L_002d: ldc.i4.2
L_002e: blt Label #43
L_0033: ldarg.3
L_0034: brfalse Label #3
L_0039: Label #43
L_0039: ldarg.1
L_003a: ldarg.0
L_003b: ldfld Verse.Pawn pawn
L_0040: ldarg.s 7
L_0045: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_004a: stloc.1
L_004b: ldloca.s 1 (UnityEngine.Vector3)
L_004d: dup
L_004e: ldfld System.Single y
L_0053: ldc.r4 0.0078125
L_0058: add
L_0059: stfld System.Single y
L_005e: ldarg.s 6
L_0060: ldc.i4.2
L_0061: bne.un Label #4
L_0066: ldarg.0
L_0067: ldfld Verse.Pawn pawn
L_006c: callvirt Verse.RaceProperties get_RaceProps()
L_0071: callvirt Boolean get_Humanlike()
L_0076: brtrue Label #5
L_007b: ldarg.0
L_007c: ldfld Verse.PawnGraphicSet graphics
L_0081: ldfld Verse.Graphic dessicatedGraphic
L_0086: brfalse Label #6
L_008b: ldarg.s 7
L_008d: brtrue Label #7
L_0092: ldarg.0
L_0093: ldfld Verse.PawnGraphicSet graphics
L_0098: ldfld Verse.Graphic dessicatedGraphic
L_009d: ldloc.1
L_009e: ldarg.s 4
L_00a0: ldarg.0
L_00a1: ldfld Verse.Pawn pawn
L_00a6: ldc.r4 0
L_00ab: callvirt Void Draw(Vector3, Rot4, Verse.Thing, Single)
L_00b0: br Label #8
L_00b5: Label #4
L_00b5: Label #5
L_00b5: Label #6
L_00b5: Label #7
L_00b5: ldarg.0
L_00b6: ldfld Verse.Pawn pawn
L_00bb: callvirt Verse.RaceProperties get_RaceProps()
L_00c0: callvirt Boolean get_Humanlike()
L_00c5: brfalse Label #9
L_00ca: ldsfld Verse.GraphicMeshSet humanlikeBodySet
L_00cf: ldarg.s 4
L_00d1: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00d6: stloc.0
L_00d7: br Label #10
L_00dc: Label #9
L_00dc: ldarg.0
L_00dd: ldfld Verse.PawnGraphicSet graphics
L_00e2: ldfld Verse.Graphic nakedGraphic
L_00e7: ldarg.s 4
L_00e9: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00ee: stloc.0
L_00ef: Label #10
L_00ef: ldarg.0
L_00f0: ldfld Verse.PawnGraphicSet graphics
L_00f5: ldarg.s 4
L_00f7: ldarg.s 6
L_00f9: callvirt System.Collections.Generic.List`1[UnityEngine.Material]
MatsBodyBaseAt(Rot4, RotDrawMode)
L_00fe: stloc.2
L_00ff: ldc.i4.0
L_0100: stloc.3
L_0101: br Label #11
L_0106: Label #12
L_0106: ldarg.0
L_0107: ldfld Verse.PawnGraphicSet graphics
L_010c: ldfld Verse.DamageFlasher flasher
L_0111: ldloc.2
L_0112: ldloc.3
L_0113: callvirt UnityEngine.Material get_Item(Int32)
L_0118: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_011d: stloc.s 4 (UnityEngine.Material)
L_011f: ldloc.s 4
L_0124: ldarg.0
L_0125: ldfld Verse.Pawn pawn
L_012a: ldarg.s 4
L_012f: call UnityEngine.Material ModifyClothingForChild(UnityEngine.Material,
Verse.Pawn, Rot4)
L_0134: stloc.s 4
L_0139: ldloc.0
L_013a: ldloc.1
L_013b: ldarg.2
L_013c: ldloc.s 4 (UnityEngine.Material)
L_013e: ldarg.s 7
L_0140: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_0145: ldloca.s 1 (UnityEngine.Vector3)
L_0147: dup
L_0148: ldfld System.Single y
L_014d: ldloc.s 18
L_0152: ldarg.0
L_0153: ldfld Verse.Pawn pawn
L_0158: call UnityEngine.Material ModifyHatForChild(UnityEngine.Material,
Verse.Pawn)
L_015d: stloc.s 18
L_0162: ldc.r4 0.00390625
L_0167: add
L_0168: stfld System.Single y
L_016d: ldloc.3
L_016e: ldc.i4.1
L_016f: add
L_0170: stloc.3
L_0171: Label #11
L_0171: ldloc.3
L_0172: ldloc.2
L_0173: callvirt Int32 get_Count()
L_0178: blt Label #12
L_017d: ldarg.s 6
L_017f: brtrue Label #13
L_0184: ldarg.1
L_0185: ldarg.0
L_0186: ldfld Verse.Pawn pawn
L_018b: ldarg.s 7
L_0190: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0195: stloc.s 5 (UnityEngine.Vector3)
L_0197: ldloca.s 5 (UnityEngine.Vector3)
L_0199: dup
L_019a: ldfld System.Single y
L_019f: ldc.r4 0.01953125
L_01a4: add
L_01a5: stfld System.Single y
L_01aa: ldarg.0
L_01ab: ldfld RimWorld.PawnWoundDrawer woundOverlays
L_01b0: ldloc.s 5 (UnityEngine.Vector3)
L_01b2: ldloc.0
L_01b3: ldarg.2
L_01b4: ldarg.s 7
L_01b6: callvirt Void RenderOverBody(Vector3, UnityEngine.Mesh, Quaternion,
Boolean)
L_01bb: Label #3
L_01bb: Label #8
L_01bb: Label #13
L_01bb: ldarg.1
L_01bc: ldarg.0
L_01bd: ldfld Verse.Pawn pawn
L_01c2: ldarg.s 7
L_01c7: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01cc: stloc.s 6 (UnityEngine.Vector3)
L_01ce: ldarg.1
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldarg.s 7
L_01da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01df: stloc.s 7 (UnityEngine.Vector3)
L_01e1: ldarg.s 4
L_01e3: call Rot4 get_North()
L_01e8: call Boolean op_Inequality(Rot4, Rot4)
L_01ed: brfalse Label #14
L_01f2: ldloca.s 7 (UnityEngine.Vector3)
L_01f4: dup
L_01f5: ldfld System.Single y
L_01fa: ldc.r4 0.02734375
L_01ff: add
L_0200: stfld System.Single y
L_0205: ldloca.s 6 (UnityEngine.Vector3)
L_0207: dup
L_0208: ldfld System.Single y
L_020d: ldc.r4 0.0234375
L_0212: add
L_0213: stfld System.Single y
L_0218: br Label #15
L_021d: Label #14
L_021d: ldloca.s 7 (UnityEngine.Vector3)
L_021f: dup
L_0220: ldfld System.Single y
L_0225: ldc.r4 0.0234375
L_022a: add
L_022b: stfld System.Single y
L_0230: ldloca.s 6 (UnityEngine.Vector3)
L_0232: dup
L_0233: ldfld System.Single y
L_0238: ldc.r4 0.02734375
L_023d: add
L_023e: stfld System.Single y
L_0243: Label #15
L_0243: ldarg.0
L_0244: ldfld Verse.PawnGraphicSet graphics
L_0249: ldfld Verse.Graphic headGraphic
L_024e: brfalse Label #16
L_0253: ldarg.0
L_0254: ldfld Verse.Pawn pawn
L_0259: call Boolean RaceUsesChildren(Verse.Pawn)
L_025e: brfalse Label #44
L_0263: ldarg.0
L_0264: ldfld Verse.Pawn pawn
L_0269: call Boolean EnsurePawnIsChildOrOlder(Verse.Pawn)
L_026e: brfalse Label #16
L_0273: Label #44
L_0273: nop
L_0274: ldarg.2
L_0275: ldarg.0
L_0276: ldarg.s 5
L_0278: call Vector3 BaseHeadOffsetAt(Rot4)
L_027d: call Vector3 op_Multiply(Quaternion, Vector3)
L_0282: stloc.s 8 (UnityEngine.Vector3)
L_0284: ldarg.0
L_0285: ldfld Verse.PawnGraphicSet graphics
L_028a: ldarg.s 5
L_028c: ldarg.s 6
L_028e: ldarg.s 8
L_0290: callvirt UnityEngine.Material HeadMatAt(Rot4, RotDrawMode, Boolean)
L_0295: stloc.s 9 (UnityEngine.Material)
L_0297: ldloc.s 9 (UnityEngine.Material)
L_0299: ldnull
L_029a: call Boolean op_Inequality(UnityEngine.Object, UnityEngine.Object)
L_029f: brfalse Label #17
L_02a4: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_02a9: ldarg.s 5
L_02ab: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_02b0: stloc.s 10 (UnityEngine.Mesh)
L_02b2: ldloc.s 10 (UnityEngine.Mesh)
L_02b4: ldloc.s 7 (UnityEngine.Vector3)
L_02b6: ldloc.s 8 (UnityEngine.Vector3)
L_02b8: call Vector3 op_Addition(Vector3, Vector3)
L_02bd: ldarg.2
L_02be: ldloc.s 9 (UnityEngine.Material)
L_02c0: ldarg.s 7
L_02c2: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_02c7: Label #17
L_02c7: ldarg.1
L_02c8: ldloc.s 8 (UnityEngine.Vector3)
L_02ca: call Vector3 op_Addition(Vector3, Vector3)
L_02cf: ldarg.0
L_02d0: ldfld Verse.Pawn pawn
L_02d5: ldarg.s 7
L_02da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_02df: stloc.s 11 (UnityEngine.Vector3)
L_02e1: ldloca.s 11 (UnityEngine.Vector3)
L_02e3: dup
L_02e4: ldfld System.Single y
L_02e9: ldc.r4 0.03125
L_02ee: add
L_02ef: stfld System.Single y
L_02f4: ldc.i4.0
L_02f5: stloc.s 12 (System.Boolean)
L_02f7: ldarg.s 7
L_02f9: brfalse Label #18
L_02fe: call Boolean get_HatsOnlyOnMap()
L_0303: brtrue Label #19
L_0308: Label #18
L_0308: ldarg.0
L_0309: ldfld Verse.PawnGraphicSet graphics
L_030e: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_0313: ldarg.s 5
L_0315: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_031a: stloc.s 13 (UnityEngine.Mesh)
L_031c: ldarg.0
L_031d: ldfld Verse.PawnGraphicSet graphics
L_0322: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0327: stloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0329: ldc.i4.0
L_032a: stloc.s 15 (System.Int32)
L_032c: br Label #20
L_0331: Label #26
L_0331: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0333: ldloc.s 15 (System.Int32)
L_0335: callvirt ApparelGraphicRecord get_Item(Int32)
L_033a: stloc.s 16 (RimWorld.ApparelGraphicRecord)
L_033c: ldloca.s 16 (RimWorld.ApparelGraphicRecord)
L_033e: ldfld RimWorld.Apparel sourceApparel
L_0343: ldfld Verse.ThingDef def
L_0348: ldfld RimWorld.ApparelProperties apparel
L_034d: callvirt ApparelLayer get_LastLayer()
L_0352: ldc.i4.4
L_0353: bne.un Label #21
L_0358: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_035a: ldloc.s 15 (System.Int32)
L_035c: callvirt ApparelGraphicRecord get_Item(Int32)
L_0361: stloc.s 17 (RimWorld.ApparelGraphicRecord)
L_0363: ldloca.s 17 (RimWorld.ApparelGraphicRecord)
L_0365: ldfld RimWorld.Apparel sourceApparel
L_036a: ldfld Verse.ThingDef def
L_036f: ldfld RimWorld.ApparelProperties apparel
L_0374: ldfld System.Boolean hatRenderedFrontOfFace
L_0379: brtrue Label #22
L_037e: ldc.i4.1
L_037f: stloc.s 12 (System.Boolean)
L_0381: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0383: ldloc.s 15 (System.Int32)
L_0385: callvirt ApparelGraphicRecord get_Item(Int32)
L_038a: stloc.s 19 (RimWorld.ApparelGraphicRecord)
L_038c: ldloca.s 19 (RimWorld.ApparelGraphicRecord)
L_038e: ldfld Verse.Graphic graphic
L_0393: ldarg.s 4
L_0395: ldnull
L_0396: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_039b: stloc.s 18 (UnityEngine.Material)
L_039d: ldarg.0
L_039e: ldfld Verse.PawnGraphicSet graphics
L_03a3: ldfld Verse.DamageFlasher flasher
L_03a8: ldloc.s 18 (UnityEngine.Material)
L_03aa: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03af: stloc.s 18 (UnityEngine.Material)
L_03b1: ldloc.s 13 (UnityEngine.Mesh)
L_03b3: ldloc.s 11 (UnityEngine.Vector3)
L_03b5: ldarg.2
L_03b6: ldloc.s 18 (UnityEngine.Material)
L_03b8: ldarg.s 7
L_03ba: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_03bf: br Label #23
L_03c4: Label #22
L_03c4: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_03c6: ldloc.s 15 (System.Int32)
L_03c8: callvirt ApparelGraphicRecord get_Item(Int32)
L_03cd: stloc.s 21 (RimWorld.ApparelGraphicRecord)
L_03cf: ldloca.s 21 (RimWorld.ApparelGraphicRecord)
L_03d1: ldfld Verse.Graphic graphic
L_03d6: ldarg.s 4
L_03d8: ldnull
L_03d9: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_03de: stloc.s 20 (UnityEngine.Material)
L_03e0: ldarg.0
L_03e1: ldfld Verse.PawnGraphicSet graphics
L_03e6: ldfld Verse.DamageFlasher flasher
L_03eb: ldloc.s 20 (UnityEngine.Material)
L_03ed: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03f2: stloc.s 20 (UnityEngine.Material)
L_03f4: ldarg.1
L_03f5: ldloc.s 8 (UnityEngine.Vector3)
L_03f7: call Vector3 op_Addition(Vector3, Vector3)
L_03fc: stloc.s 22 (UnityEngine.Vector3)
L_03fe: ldloca.s 22 (UnityEngine.Vector3)
L_0400: dup
L_0401: ldfld System.Single y
L_0406: ldarg.s 4
L_0408: call Rot4 get_North()
L_040d: call Boolean op_Equality(Rot4, Rot4)
L_0412: brfalse Label #24
L_0417: ldc.r4 0.00390625
L_041c: br Label #25
L_0421: Label #24
L_0421: ldc.r4 0.03515625
L_0426: Label #25
L_0426: add
L_0427: stfld System.Single y
L_042c: ldloc.s 13 (UnityEngine.Mesh)
L_042e: ldloc.s 22 (UnityEngine.Vector3)
L_0430: ldarg.2
L_0431: ldloc.s 20 (UnityEngine.Material)
L_0433: ldarg.s 7
L_0435: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_043a: Label #21
L_043a: Label #23
L_043a: ldloc.s 15 (System.Int32)
L_043c: ldc.i4.1
L_043d: add
L_043e: stloc.s 15 (System.Int32)
L_0440: Label #20
L_0440: ldloc.s 15 (System.Int32)
L_0442: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0444: callvirt Int32 get_Count()
L_0449: blt Label #26
L_044e: Label #19
L_044e: ldloc.s 12 (System.Boolean)
L_0450: brtrue Label #27
L_0455: ldarg.s 6
L_0457: ldc.i4.2
L_0458: beq Label #28
L_045d: ldarg.s 8
L_045f: brtrue Label #29
L_0464: ldarg.0
L_0465: ldfld Verse.PawnGraphicSet graphics
L_046a: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_046f: ldarg.s 5
L_0471: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0476: stloc.s 23 (UnityEngine.Mesh)
L_0478: ldarg.0
L_0479: ldfld Verse.PawnGraphicSet graphics
L_047e: ldarg.s 5
L_0480: callvirt UnityEngine.Material HairMatAt(Rot4)
L_0485: stloc.s 24 (UnityEngine.Material)
L_0487: ldloc.s 24
L_048c: ldarg.0
L_048d: ldfld Verse.Pawn pawn
L_0492: call UnityEngine.Material ModifyHairForChild(UnityEngine.Material,
Verse.Pawn)
L_0497: stloc.s 24
L_049c: ldloc.s 23 (UnityEngine.Mesh)
L_049e: ldloc.s 11 (UnityEngine.Vector3)
L_04a0: ldarg.2
L_04a1: ldloc.s 24 (UnityEngine.Material)
L_04a3: ldarg.s 7
L_04a5: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_04aa: Label #16
L_04aa: Label #27
L_04aa: Label #28
L_04aa: Label #29
L_04aa: ldarg.3
L_04ab: brfalse Label #30
L_04b0: ldc.i4.0
L_04b1: stloc.s 25 (System.Int32)
L_04b3: br Label #31
L_04b8: Label #33
L_04b8: ldarg.0
L_04b9: ldfld Verse.PawnGraphicSet graphics
L_04be: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_04c3: ldloc.s 25 (System.Int32)
L_04c5: callvirt ApparelGraphicRecord get_Item(Int32)
L_04ca: stloc.s 26 (RimWorld.ApparelGraphicRecord)
L_04cc: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ce: ldfld RimWorld.Apparel sourceApparel
L_04d3: ldfld Verse.ThingDef def
L_04d8: ldfld RimWorld.ApparelProperties apparel
L_04dd: callvirt ApparelLayer get_LastLayer()
L_04e2: ldc.i4.2
L_04e3: bne.un Label #32
L_04e8: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ea: ldfld Verse.Graphic graphic
L_04ef: ldarg.s 4
L_04f1: ldnull
L_04f2: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_04f7: stloc.s 27 (UnityEngine.Material)
L_04f9: ldarg.0
L_04fa: ldfld Verse.PawnGraphicSet graphics
L_04ff: ldfld Verse.DamageFlasher flasher
L_0504: ldloc.s 27 (UnityEngine.Material)
L_0506: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_050b: stloc.s 27 (UnityEngine.Material)
L_050d: ldloc.0
L_050e: ldloc.s 6 (UnityEngine.Vector3)
L_0510: ldarg.2
L_0511: ldloc.s 27 (UnityEngine.Material)
L_0513: ldarg.s 7
L_0515: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_051a: Label #32
L_051a: ldloc.s 25 (System.Int32)
L_051c: ldc.i4.1
L_051d: add
L_051e: stloc.s 25 (System.Int32)
L_0520: Label #31
L_0520: ldloc.s 25 (System.Int32)
L_0522: ldarg.0
L_0523: ldfld Verse.PawnGraphicSet graphics
L_0528: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_052d: callvirt Int32 get_Count()
L_0532: blt Label #33
L_0537: Label #30
L_0537: ldarg.s 7
L_0539: brtrue Label #34
L_053e: ldarg.0
L_053f: ldfld Verse.Pawn pawn
L_0544: callvirt Verse.RaceProperties get_RaceProps()
L_0549: callvirt Boolean get_Animal()
L_054e: brfalse Label #35
L_0553: ldarg.0
L_0554: ldfld Verse.Pawn pawn
L_0559: ldfld Verse.Pawn_InventoryTracker inventory
L_055e: brfalse Label #36
L_0563: ldarg.0
L_0564: ldfld Verse.Pawn pawn
L_0569: ldfld Verse.Pawn_InventoryTracker inventory
L_056e: ldfld Verse.ThingOwner`1[Verse.Thing] innerContainer
L_0573: callvirt Int32 get_Count()
L_0578: ldc.i4.0
L_0579: ble Label #37
L_057e: ldarg.0
L_057f: ldfld Verse.PawnGraphicSet graphics
L_0584: ldfld Verse.Graphic packGraphic
L_0589: brfalse Label #38
L_058e: ldloc.0
L_058f: ldloc.s 6 (UnityEngine.Vector3)
L_0591: ldarg.2
L_0592: ldarg.0
L_0593: ldfld Verse.PawnGraphicSet graphics
L_0598: ldfld Verse.Graphic packGraphic
L_059d: ldarg.s 4
L_059f: ldnull
L_05a0: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_05a5: ldc.i4.0
L_05a6: call Void DrawMesh(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Int32)
L_05ab: Label #34
L_05ab: Label #35
L_05ab: Label #36
L_05ab: Label #37
L_05ab: Label #38
L_05ab: ldarg.s 7
L_05ad: brtrue Label #39
L_05b2: ldarg.0
L_05b3: ldarg.1
L_05b4: call Void DrawEquipment(Vector3)
L_05b9: ldarg.0
L_05ba: ldfld Verse.Pawn pawn
L_05bf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05c4: brfalse Label #40
L_05c9: ldarg.0
L_05ca: ldfld Verse.Pawn pawn
L_05cf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05d4: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_05d9: stloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05db: ldc.i4.0
L_05dc: stloc.s 29 (System.Int32)
L_05de: br Label #41
L_05e3: Label #42
L_05e3: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05e5: ldloc.s 29 (System.Int32)
L_05e7: callvirt RimWorld.Apparel get_Item(Int32)
L_05ec: callvirt Void DrawWornExtras()
L_05f1: ldloc.s 29 (System.Int32)
L_05f3: ldc.i4.1
L_05f4: add
L_05f5: stloc.s 29 (System.Int32)
L_05f7: Label #41
L_05f7: ldloc.s 29 (System.Int32)
L_05f9: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05fb: callvirt Int32 get_Count()
L_0600: blt Label #42
L_0605: Label #40
L_0605: ldarg.1
L_0606: ldarg.0
L_0607: ldfld Verse.Pawn pawn
L_060c: ldarg.s 7
L_0611: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0616: stloc.s 30 (UnityEngine.Vector3)
L_0618: ldloca.s 30 (UnityEngine.Vector3)
L_061a: dup
L_061b: ldfld System.Single y
L_0620: ldc.r4 0.04296875
L_0625: add
L_0626: stfld System.Single y
L_062b: ldarg.0
L_062c: ldfld Verse.PawnHeadOverlays statusOverlays
L_0631: ldloc.s 30 (UnityEngine.Vector3)
L_0633: ldarg.2
L_0634: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_0639: ldarg.s 5
L_063b: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0640: callvirt Void RenderStatusOverlays(Vector3, Quaternion, UnityEngine.Mesh)
L_0645: Label #39
L_0645: br Label #0
L_064a: Label #0
L_064a: ret
DONE

PATCHING Verse.PawnGenerator Verse.Pawn GeneratePawn(PawnGenerationRequest)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Pawn
L_0000: ldnull
L_0001: stloc 1 (Verse.Pawn)
L_0002: ldarg.0
L_0003: call Verse.Pawn GeneratePawnInternal(PawnGenerationRequest)
L_0008: stloc.0
L_0009: leave Label #2
L_000e: endfinally
L_000f: Label #2
L_000f: ldloc.0
L_0010: br Label #0
L_0015: Label #0
L_0015: stloc 1 (Verse.Pawn)
L_0016: ldarga 0
L_001c: ldloca 1 (Verse.Pawn)
L_001e: call Void _GeneratePawn(PawnGenerationRequest ByRef, Verse.Pawn ByRef)
L_0023: ldloc 1 (Verse.Pawn)
L_0024: ret
DONE

PATCHING RimWorld.JobGiver_OptimizeApparel Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 RimWorld.Outfit
L_0000: Local var #1 System.Collections.Generic.List`1[[RimWorld.Apparel, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.AI.Job
L_0000: Local var #4 Verse.Thing
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #7 System.Int32
L_0000: Local var #8 RimWorld.Apparel
L_0000: Local var #9 RimWorld.SlotGroup
L_0000: Local var #10 System.Single
L_0000: Local var #11 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 11 (Verse.AI.Job)
L_0003: ldarg.1
L_0004: ldfld RimWorld.Pawn_OutfitTracker outfits
L_0009: brtrue Label #2
L_000e: ldarg.1
L_000f: ldstr " tried to run JobGiver_OptimizeApparel without an OutfitTracker"
L_0014: call System.String Concat(System.Object, System.Object)
L_0019: ldc.i4 5643897
L_001e: call Void ErrorOnce(System.String, Int32)
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: ldarg.1
L_002a: callvirt RimWorld.Faction get_Faction()
L_002f: call RimWorld.Faction get_OfPlayer()
L_0034: beq Label #3
L_0039: ldstr "Non-colonist "
L_003e: ldarg.1
L_003f: ldstr " tried to optimize apparel."
L_0044: call System.String Concat(System.Object, System.Object, System.Object)
L_0049: ldc.i4 764323
L_004e: call Void ErrorOnce(System.String, Int32)
L_0053: ldnull
L_0054: br Label #0
L_0059: Label #3
L_0059: ldsfld System.Boolean debugApparelOptimize
L_005e: brtrue Label #4
L_0063: call Verse.TickManager get_TickManager()
L_0068: callvirt Int32 get_TicksGame()
L_006d: ldarg.1
L_006e: ldfld Verse.AI.Pawn_MindState mindState
L_0073: ldfld System.Int32 nextApparelOptimizeTick
L_0078: bge Label #5
L_007d: ldnull
L_007e: br Label #0
L_0083: Label #5
L_0083: br Label #6
L_0088: Label #4
L_0088: newobj Void .ctor()
L_008d: stsfld System.Text.StringBuilder debugSb
L_0092: ldsfld System.Text.StringBuilder debugSb
L_0097: ldc.i4.4
L_0098: newarr System.Object
L_009d: dup
L_009e: ldc.i4.0
L_009f: ldstr "Scanning for "
L_00a4: stelem.ref
L_00a5: dup
L_00a6: ldc.i4.1
L_00a7: ldarg.1
L_00a8: stelem.ref
L_00a9: dup
L_00aa: ldc.i4.2
L_00ab: ldstr " at "
L_00b0: stelem.ref
L_00b1: dup
L_00b2: ldc.i4.3
L_00b3: ldarg.1
L_00b4: callvirt IntVec3 get_Position()
L_00b9: box Verse.IntVec3
L_00be: stelem.ref
L_00bf: call System.String Concat(System.Object[])
L_00c4: callvirt System.Text.StringBuilder AppendLine(System.String)
L_00c9: pop
L_00ca: Label #6
L_00ca: ldarg.1
L_00cb: ldfld RimWorld.Pawn_OutfitTracker outfits
L_00d0: callvirt RimWorld.Outfit get_CurrentOutfit()
L_00d5: stloc.0
L_00d6: ldarg.1
L_00d7: ldfld RimWorld.Pawn_ApparelTracker apparel
L_00dc: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_00e1: stloc.1
L_00e2: ldloc.1
L_00e3: callvirt Int32 get_Count()
L_00e8: ldc.i4.1
L_00e9: sub
L_00ea: stloc.2
L_00eb: br Label #7
L_00f0: Label #10
L_00f0: ldloc.0
L_00f1: ldfld Verse.ThingFilter filter
L_00f6: ldloc.1
L_00f7: ldloc.2
L_00f8: callvirt RimWorld.Apparel get_Item(Int32)
L_00fd: callvirt Boolean Allows(Verse.Thing)
L_0102: brtrue Label #8
L_0107: ldarg.1
L_0108: ldfld RimWorld.Pawn_OutfitTracker outfits
L_010d: ldfld RimWorld.OutfitForcedHandler forcedHandler
L_0112: ldloc.1
L_0113: ldloc.2
L_0114: callvirt RimWorld.Apparel get_Item(Int32)
L_0119: callvirt Boolean AllowedToAutomaticallyDrop(RimWorld.Apparel)
L_011e: brfalse Label #9
L_0123: ldsfld Verse.JobDef RemoveApparel
L_0128: ldloc.1
L_0129: ldloc.2
L_012a: callvirt RimWorld.Apparel get_Item(Int32)
L_012f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0134: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0139: stloc.3
L_013a: ldloc.3
L_013b: ldc.i4.1
L_013c: stfld System.Boolean haulDroppedApparel
L_0141: ldloc.3
L_0142: br Label #0
L_0147: Label #8
L_0147: Label #9
L_0147: ldloc.2
L_0148: ldc.i4.1
L_0149: sub
L_014a: stloc.2
L_014b: Label #7
L_014b: ldloc.2
L_014c: ldc.i4.0
L_014d: bge Label #10
L_0152: ldnull
L_0153: stloc.s 4 (Verse.Thing)
L_0155: ldc.r4 0
L_015a: stloc.s 5 (System.Single)
L_015c: ldarg.1
L_015d: callvirt Verse.Map get_Map()
L_0162: ldfld Verse.ListerThings listerThings
L_0167: ldc.i4.s 26
L_0169: callvirt System.Collections.Generic.List`1[Verse.Thing]
ThingsInGroup(ThingRequestGroup)
L_016e: stloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0170: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0172: callvirt Int32 get_Count()
L_0177: brtrue Label #11
L_017c: ldarg.0
L_017d: ldarg.1
L_017e: call Void SetNextOptimizeTick(Verse.Pawn)
L_0183: ldnull
L_0184: br Label #0
L_0189: Label #11
L_0189: ldarg.1
L_018a: ldarg.1
L_018b: callvirt Verse.Map get_Map()
L_0190: callvirt Int32 get_Tile()
L_0195: ldarg.1
L_0196: call Twelfth Twelfth(Verse.Thing)
L_019b: call NeededWarmth CalculateNeededWarmth(Verse.Pawn, Int32, Twelfth)
L_01a0: stsfld RimWorld.NeededWarmth neededWarmth
L_01a5: ldc.i4.0
L_01a6: stloc.s 7 (System.Int32)
L_01a8: br Label #12
L_01ad: Label #27
L_01ad: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_01af: ldloc.s 7 (System.Int32)
L_01b1: callvirt Verse.Thing get_Item(Int32)
L_01b6: castclass RimWorld.Apparel
L_01bb: stloc.s 8 (RimWorld.Apparel)
L_01bd: ldloc.0
L_01be: ldfld Verse.ThingFilter filter
L_01c3: ldloc.s 8 (RimWorld.Apparel)
L_01c5: callvirt Boolean Allows(Verse.Thing)
L_01ca: brtrue Label #13
L_01cf: br Label #14
L_01d4: Label #13
L_01d4: ldloc.s 8 (RimWorld.Apparel)
L_01d6: callvirt Verse.Map get_Map()
L_01db: ldfld RimWorld.SlotGroupManager slotGroupManager
L_01e0: ldloc.s 8 (RimWorld.Apparel)
L_01e2: callvirt IntVec3 get_Position()
L_01e7: callvirt RimWorld.SlotGroup SlotGroupAt(IntVec3)
L_01ec: stloc.s 9 (RimWorld.SlotGroup)
L_01ee: ldloc.s 9 (RimWorld.SlotGroup)
L_01f0: brtrue Label #15
L_01f5: br Label #16
L_01fa: Label #15
L_01fa: ldloc.s 8 (RimWorld.Apparel)
L_01fc: ldarg.1
L_01fd: call Boolean IsForbidden(Verse.Thing, Verse.Pawn)
L_0202: brfalse Label #17
L_0207: br Label #18
L_020c: Label #17
L_020c: ldarg.1
L_020d: ldloc.s 8 (RimWorld.Apparel)
L_020f: call Single ApparelScoreGain(Verse.Pawn, RimWorld.Apparel)
L_0214: stloc.s 10 (System.Single)
L_0216: ldsfld System.Boolean debugApparelOptimize
L_021b: brfalse Label #19
L_0220: ldsfld System.Text.StringBuilder debugSb
L_0225: ldloc.s 8 (RimWorld.Apparel)
L_0227: callvirt System.String get_LabelCap()
L_022c: ldstr ": "
L_0231: ldloca.s 10 (System.Single)
L_0233: ldstr "F2"
L_0238: call System.String ToString(System.String)
L_023d: call System.String Concat(System.String, System.String, System.String)
L_0242: callvirt System.Text.StringBuilder AppendLine(System.String)
L_0247: pop
L_0248: Label #19
L_0248: ldloc.s 10 (System.Single)
L_024a: ldc.r4 0.05
L_024f: blt Label #20
L_0254: ldloc.s 10 (System.Single)
L_0256: ldloc.s 5 (System.Single)
L_0258: bge.un Label #21
L_025d: Label #20
L_025d: br Label #22
L_0262: Label #21
L_0262: ldarg.1
L_0263: ldloc.s 8 (RimWorld.Apparel)
L_0265: ldfld Verse.ThingDef def
L_026a: call Boolean HasPartsToWear(Verse.Pawn, Verse.ThingDef)
L_026f: brtrue Label #23
L_0274: br Label #24
L_0279: Label #23
L_0279: ldarg.1
L_027a: ldloc.s 8 (RimWorld.Apparel)
L_027c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0281: ldc.i4.1
L_0282: ldarg.1
L_0283: call Danger NormalMaxDanger(Verse.Pawn)
L_0288: ldc.i4.1
L_0289: ldc.i4.m1
L_028a: ldnull
L_028b: ldc.i4.0
L_028c: call Boolean CanReserveAndReach(Verse.Pawn, LocalTargetInfo, PathEndMode,
Danger, Int32, Int32, Verse.ReservationLayerDef, Boolean)
L_0291: brtrue Label #25
L_0296: br Label #26
L_029b: Label #25
L_029b: ldloc.s 8 (RimWorld.Apparel)
L_029d: stloc.s 4 (Verse.Thing)
L_029f: ldloc.s 10 (System.Single)
L_02a1: stloc.s 5 (System.Single)
L_02a3: Label #14
L_02a3: Label #16
L_02a3: Label #18
L_02a3: Label #22
L_02a3: Label #24
L_02a3: Label #26
L_02a3: ldloc.s 7 (System.Int32)
L_02a5: ldc.i4.1
L_02a6: add
L_02a7: stloc.s 7 (System.Int32)
L_02a9: Label #12
L_02a9: ldloc.s 7 (System.Int32)
L_02ab: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_02ad: callvirt Int32 get_Count()
L_02b2: blt Label #27
L_02b7: ldsfld System.Boolean debugApparelOptimize
L_02bc: brfalse Label #28
L_02c1: ldsfld System.Text.StringBuilder debugSb
L_02c6: ldstr "BEST: "
L_02cb: ldloc.s 4 (Verse.Thing)
L_02cd: call System.String Concat(System.Object, System.Object)
L_02d2: callvirt System.Text.StringBuilder AppendLine(System.String)
L_02d7: pop
L_02d8: ldsfld System.Text.StringBuilder debugSb
L_02dd: callvirt System.String ToString()
L_02e2: call Void Message(System.String)
L_02e7: ldnull
L_02e8: stsfld System.Text.StringBuilder debugSb
L_02ed: Label #28
L_02ed: ldloc.s 4 (Verse.Thing)
L_02ef: brtrue Label #29
L_02f4: ldarg.0
L_02f5: ldarg.1
L_02f6: call Void SetNextOptimizeTick(Verse.Pawn)
L_02fb: ldnull
L_02fc: br Label #0
L_0301: Label #29
L_0301: ldsfld Verse.JobDef Wear
L_0306: ldloc.s 4 (Verse.Thing)
L_0308: call LocalTargetInfo op_Implicit(Verse.Thing)
L_030d: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0312: br Label #0
L_0317: Label #0
L_0317: stloc 11 (Verse.AI.Job)
L_0319: ldloca 11 (Verse.AI.Job)
L_031b: ldarga 1
L_0321: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_0326: ldloc 11 (Verse.AI.Job)
L_0328: ret
DONE

PATCHING Verse.Pawn_HealthTracker Boolean ShouldBeDowned()


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean get_InPainShock()
L_000c: brtrue Label #2
L_0011: ldarg.0
L_0012: ldfld Verse.PawnCapacitiesHandler capacities
L_0017: callvirt Boolean get_CanBeAwake()
L_001c: brfalse Label #3
L_0021: ldarg.0
L_0022: ldfld Verse.PawnCapacitiesHandler capacities
L_0027: ldsfld Verse.PawnCapacityDef Moving
L_002c: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0031: ldc.i4.0
L_0032: ceq
L_0034: br Label #4
L_0039: Label #2
L_0039: Label #3
L_0039: ldc.i4.1
L_003a: Label #4
L_003a: br Label #0
L_003f: Label #0
L_003f: stloc 0 (System.Boolean)
L_0040: ldarga 0
L_0046: ldloca 0 (System.Boolean)
L_0048: call Void SBD(Verse.Pawn_HealthTracker ByRef, Boolean ByRef)
L_004d: ldloc 0 (System.Boolean)
L_004e: ret
DONE

PATCHING Verse.Pawn_HealthTracker Void CheckForStateChange(Nullable`1,


Verse.Hediff)
L_0000: Local var #0 System.Single
L_0000: Local var #1 Verse.DamageInfo
L_0000: Local var #2 Verse.ThingWithComps
L_0000: ldarg.0
L_0001: call Boolean get_Dead()
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: call Boolean ShouldBeDead()
L_0011: brfalse Label #3
L_0016: ldarg.0
L_0017: ldfld Verse.Pawn pawn
L_001c: callvirt Boolean get_Destroyed()
L_0021: brtrue Label #4
L_0026: ldarg.0
L_0027: ldfld Verse.Pawn pawn
L_002c: ldarg.1
L_002d: ldarg.2
L_002e: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_0033: Label #4
L_0033: br Label #0
L_0038: Label #3
L_0038: ldarg.0
L_0039: call Boolean get_Downed()
L_003e: brtrue Label #5
L_0043: ldarg.0
L_0044: call Boolean ShouldBeDowned()
L_0049: brfalse Label #6
L_004e: ldarg.0
L_004f: ldfld Verse.Pawn pawn
L_0054: callvirt Verse.RaceProperties get_RaceProps()
L_0059: callvirt Boolean get_Animal()
L_005e: brfalse Label #7
L_0063: ldc.r4 0.47
L_0068: br Label #8
L_006d: Label #7
L_006d: ldc.r4 0.67
L_0072: Label #8
L_0072: stloc.0
L_0073: ldarg.0
L_0074: ldfld System.Boolean forceIncap
L_0079: brtrue Label #9
L_007e: ldarga.s 1
L_0080: call Boolean get_HasValue()
L_0085: brfalse Label #10
L_008a: ldarga.s 1
L_008c: call DamageInfo get_Value()
L_0091: stloc.1
L_0092: ldloca.s 1 (Verse.DamageInfo)
L_0094: call Verse.DamageDef get_Def()
L_0099: ldfld System.Boolean externalViolence
L_009e: brfalse Label #11
L_00a3: ldarg.0
L_00a4: ldfld Verse.Pawn pawn
L_00a9: callvirt RimWorld.Faction get_Faction()
L_00ae: brfalse Label #12
L_00b3: ldarg.0
L_00b4: ldfld Verse.Pawn pawn
L_00b9: callvirt RimWorld.Faction get_Faction()
L_00be: callvirt Boolean get_IsPlayer()
L_00c3: brtrue Label #13
L_00c8: br Label #13
L_00cd: Label #12
L_00cd: ldarg.0
L_00ce: ldfld Verse.Pawn pawn
L_00d3: callvirt Boolean get_IsPrisonerOfColony()
L_00d8: brtrue Label #14
L_00dd: ldarg.0
L_00de: ldfld Verse.Pawn pawn
L_00e3: callvirt Verse.RaceProperties get_RaceProps()
L_00e8: callvirt Boolean get_IsFlesh()
L_00ed: brfalse Label #15
L_00f2: call Single get_Value()
L_00f7: ldloc.0
L_00f8: bge.un Label #16
L_00fd: ldarg.0
L_00fe: ldfld Verse.Pawn pawn
L_0103: ldarg.1
L_0104: ldnull
L_0105: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_010a: br Label #0
L_010f: Label #9
L_010f: Label #10
L_010f: Label #11
L_010f: Label #13
L_010f: Label #14
L_010f: Label #15
L_010f: Label #16
L_010f: ldarg.0
L_0110: ldc.i4.0
L_0111: stfld System.Boolean forceIncap
L_0116: ldarg.0
L_0117: ldarg.1
L_0118: ldarg.2
L_0119: call Void MakeDowned(Nullable`1, Verse.Hediff)
L_011e: br Label #0
L_0123: Label #6
L_0123: ldarg.0
L_0124: ldfld Verse.PawnCapacitiesHandler capacities
L_0129: ldsfld Verse.PawnCapacityDef Manipulation
L_012e: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0133: brtrue Label #17
L_0138: ldarg.0
L_0139: ldfld Verse.Pawn pawn
L_013e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0143: brfalse Label #18
L_0148: ldarg.0
L_0149: ldfld Verse.Pawn pawn
L_014e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0153: callvirt Verse.Thing get_CarriedThing()
L_0158: brfalse Label #19
L_015d: ldarg.0
L_015e: ldfld Verse.Pawn pawn
L_0163: ldfld Verse.AI.Pawn_JobTracker jobs
L_0168: brfalse Label #20
L_016d: ldarg.0
L_016e: ldfld Verse.Pawn pawn
L_0173: callvirt Verse.AI.Job get_CurJob()
L_0178: brfalse Label #21
L_017d: ldarg.0
L_017e: ldfld Verse.Pawn pawn
L_0183: ldfld Verse.AI.Pawn_JobTracker jobs
L_0188: ldc.i4.5
L_0189: ldc.i4.1
L_018a: callvirt Void EndCurrentJob(JobCondition, Boolean)
L_018f: Label #18
L_018f: Label #19
L_018f: Label #20
L_018f: Label #21
L_018f: ldarg.0
L_0190: ldfld Verse.Pawn pawn
L_0195: ldfld Verse.Pawn_EquipmentTracker equipment
L_019a: brfalse Label #22
L_019f: ldarg.0
L_01a0: ldfld Verse.Pawn pawn
L_01a5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01aa: callvirt Verse.ThingWithComps get_Primary()
L_01af: brfalse Label #23
L_01b4: ldarg.0
L_01b5: ldfld Verse.Pawn pawn
L_01ba: callvirt Boolean get_InContainerEnclosed()
L_01bf: brfalse Label #24
L_01c4: ldarg.0
L_01c5: ldfld Verse.Pawn pawn
L_01ca: ldfld Verse.Pawn_EquipmentTracker equipment
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01da: callvirt Verse.ThingWithComps get_Primary()
L_01df: ldarg.0
L_01e0: ldfld Verse.Pawn pawn
L_01e5: ldfld Verse.ThingOwner holdingOwner
L_01ea: callvirt Boolean TryTransferEquipmentToContainer(Verse.ThingWithComps,
Verse.ThingOwner)
L_01ef: pop
L_01f0: br Label #25
L_01f5: Label #24
L_01f5: ldarg.0
L_01f6: ldfld Verse.Pawn pawn
L_01fb: callvirt Boolean get_SpawnedOrAnyParentSpawned()
L_0200: brfalse Label #26
L_0205: ldarg.0
L_0206: ldfld Verse.Pawn pawn
L_020b: ldfld Verse.Pawn_EquipmentTracker equipment
L_0210: ldarg.0
L_0211: ldfld Verse.Pawn pawn
L_0216: ldfld Verse.Pawn_EquipmentTracker equipment
L_021b: callvirt Verse.ThingWithComps get_Primary()
L_0220: ldloca.s 2 (Verse.ThingWithComps)
L_0222: ldarg.0
L_0223: ldfld Verse.Pawn pawn
L_0228: callvirt IntVec3 get_PositionHeld()
L_022d: ldc.i4.1
L_022e: callvirt Boolean TryDropEquipment(Verse.ThingWithComps,
Verse.ThingWithComps ByRef, IntVec3, Boolean)
L_0233: pop
L_0234: br Label #27
L_0239: Label #26
L_0239: ldarg.0
L_023a: ldfld Verse.Pawn pawn
L_023f: ldfld Verse.Pawn_EquipmentTracker equipment
L_0244: ldarg.0
L_0245: ldfld Verse.Pawn pawn
L_024a: ldfld Verse.Pawn_EquipmentTracker equipment
L_024f: callvirt Verse.ThingWithComps get_Primary()
L_0254: callvirt Void DestroyEquipment(Verse.ThingWithComps)
L_0259: Label #17
L_0259: Label #22
L_0259: Label #23
L_0259: Label #25
L_0259: Label #27
L_0259: br Label #28
L_025e: Label #5
L_025e: ldarg.0
L_025f: call Boolean ShouldBeDowned()
L_0264: brtrue Label #29
L_0269: ldarg.0
L_026a: call Void MakeUndowned()
L_026f: br Label #0
L_0274: Label #2
L_0274: Label #28
L_0274: Label #29
L_0274: br Label #0
L_0279: Label #0
L_0279: ret
DONE

PATCHING RimWorld.RestUtility Single WakeThreshold(Verse.Pawn)


L_0000: Local var #0 Verse.AI.Group.Lord
L_0000: Local var #1 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #2 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #3 System.Single
L_0000: ldc.r4 0
L_0005: stloc 3 (System.Single)
L_0006: ldarg.0
L_0007: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldloc.0
L_0014: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0019: brfalse Label #3
L_001e: ldloc.0
L_001f: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0024: callvirt Nullable`1 get_CustomWakeThreshold()
L_0029: stloc.1
L_002a: ldloca.s 1 (System.Nullable`1[System.Single])
L_002c: call Boolean get_HasValue()
L_0031: brfalse Label #4
L_0036: ldloc.0
L_0037: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_003c: callvirt Nullable`1 get_CustomWakeThreshold()
L_0041: stloc.2
L_0042: ldloca.s 2 (System.Nullable`1[System.Single])
L_0044: call Single get_Value()
L_0049: br Label #0
L_004e: Label #2
L_004e: Label #3
L_004e: Label #4
L_004e: ldc.r4 1
L_0053: br Label #0
L_0058: Label #0
L_0058: stloc 3 (System.Single)
L_0059: ldloca 3 (System.Single)
L_005b: ldarga 0
L_0061: call Void WakeThreshold_Patch(Single ByRef, Verse.Pawn ByRef)
L_0066: ldloc 3 (System.Single)
L_0067: ret
DONE

PATCHING Verse.Verb_Shoot Boolean TryCastShot()


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 1 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean TryCastShot()
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldarg.0
L_0014: call Boolean get_CasterIsPawn()
L_0019: brfalse Label #3
L_001e: ldarg.0
L_001f: call Verse.Pawn get_CasterPawn()
L_0024: ldfld RimWorld.Pawn_RecordsTracker records
L_0029: ldsfld RimWorld.RecordDef ShotsFired
L_002e: callvirt Void Increment(RimWorld.RecordDef)
L_0033: Label #2
L_0033: Label #3
L_0033: ldloc.0
L_0034: br Label #0
L_0039: Label #0
L_0039: stloc 1 (System.Boolean)
L_003a: ldarga 0
L_0040: call Void TryCastShot_Patch(Verse.Verb_Shoot ByRef)
L_0045: ldloc 1 (System.Boolean)
L_0046: ret
DONE

PATCHING Verse.Pawn_EquipmentTracker Void


Notify_EquipmentAdded(Verse.ThingWithComps)
L_0000: Local var #0 Verse.Verb
L_0000: Local var #1 System.Collections.Generic.List`1+Enumerator[[Verse.Verb,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.1
L_0001: callvirt Verse.CompEquippable GetComp[CompEquippable]()
L_0006: callvirt System.Collections.Generic.List`1[Verse.Verb] get_AllVerbs()
L_000b: callvirt Enumerator GetEnumerator()
L_0010: stloc.1
L_0011: br Label #2
L_0016: Label #3
L_0016: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0018: call Verse.Verb get_Current()
L_001d: stloc.0
L_001e: ldloc.0
L_001f: ldarg.0
L_0020: ldfld Verse.Pawn pawn
L_0025: stfld Verse.Thing caster
L_002a: ldloc.0
L_002b: callvirt Void Notify_PickedUp()
L_0030: Label #2
L_0030: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0032: call Boolean MoveNext()
L_0037: brtrue Label #3
L_003c: leave Label #4
L_0041: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0043: constrained. System.Collections.Generic.List`1+Enumerator[Verse.Verb]
L_0049: callvirt Void Dispose()
L_004e: endfinally
L_004f: Label #4
L_004f: br Label #0
L_0054: Label #0
L_0054: ldarga 1
L_005a: ldarga 0
L_0060: call Void Notify_EquipmentAdded_Patch(Verse.ThingWithComps ByRef,
Verse.Pawn_EquipmentTracker ByRef)
L_0065: ret
DONE
PATCHING RimWorld.PawnWeaponGenerator Void TryGenerateWeaponFor(Verse.Pawn)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2
RimWorld.PawnWeaponGenerator+<TryGenerateWeaponFor>c__AnonStorey2
L_0000: Local var #3 RimWorld.ThingStuffPair
L_0000: Local var #4 Verse.ThingWithComps
L_0000: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0005: callvirt Void Clear()
L_000a: ldarg.0
L_000b: ldfld Verse.PawnKindDef kindDef
L_0010: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0015: brfalse Label #2
L_001a: ldarg.0
L_001b: ldfld Verse.PawnKindDef kindDef
L_0020: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0025: callvirt Int32 get_Count()
L_002a: brtrue Label #3
L_002f: Label #2
L_002f: br Label #0
L_0034: Label #3
L_0034: ldarg.0
L_0035: callvirt Verse.RaceProperties get_RaceProps()
L_003a: callvirt Boolean get_ToolUser()
L_003f: brtrue Label #4
L_0044: br Label #0
L_0049: Label #4
L_0049: ldarg.0
L_004a: ldfld Verse.Pawn_HealthTracker health
L_004f: ldfld Verse.PawnCapacitiesHandler capacities
L_0054: ldsfld Verse.PawnCapacityDef Manipulation
L_0059: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_005e: brtrue Label #5
L_0063: br Label #0
L_0068: Label #5
L_0068: ldarg.0
L_0069: ldfld RimWorld.Pawn_StoryTracker story
L_006e: brfalse Label #6
L_0073: ldarg.0
L_0074: ldfld RimWorld.Pawn_StoryTracker story
L_0079: ldc.i4.8
L_007a: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_007f: brfalse Label #7
L_0084: br Label #0
L_0089: Label #6
L_0089: Label #7
L_0089: ldarg.0
L_008a: ldfld Verse.PawnKindDef kindDef
L_008f: ldflda Verse.FloatRange weaponMoney
L_0094: call Single get_RandomInRange()
L_0099: stloc.0
L_009a: ldc.i4.0
L_009b: stloc.1
L_009c: br Label #8
L_00a1: Label #16
L_00a1: newobj Void .ctor()
L_00a6: stloc.2
L_00a7: ldloc.2
L_00a8: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_00ad: ldloc.1
L_00ae: callvirt ThingStuffPair get_Item(Int32)
L_00b3: stfld RimWorld.ThingStuffPair w
L_00b8: ldloc.2
L_00b9: ldflda RimWorld.ThingStuffPair w
L_00be: call Single get_Price()
L_00c3: ldloc.0
L_00c4: ble.un Label #9
L_00c9: br Label #10
L_00ce: Label #9
L_00ce: ldarg.0
L_00cf: ldfld Verse.PawnKindDef kindDef
L_00d4: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_00d9: ldloc.2
L_00da: ldftn Boolean <>m__0(System.String)
L_00e0: newobj Void .ctor(Object, IntPtr)
L_00e5: call Boolean Any[String](System.Collections.Generic.List`1[System.String],
System.Predicate`1[System.String])
L_00ea: brtrue Label #11
L_00ef: br Label #12
L_00f4: Label #11
L_00f4: ldloc.2
L_00f5: ldflda RimWorld.ThingStuffPair w
L_00fa: ldfld Verse.ThingDef thing
L_00ff: ldfld System.Single generateAllowChance
L_0104: ldc.r4 1
L_0109: bge.un Label #13
L_010e: ldarg.0
L_010f: ldfld System.Int32 thingIDNumber
L_0114: ldc.i4 28554824
L_0119: xor
L_011a: call Single ValueSeeded(Int32)
L_011f: ldloc.2
L_0120: ldflda RimWorld.ThingStuffPair w
L_0125: ldfld Verse.ThingDef thing
L_012a: ldfld System.Single generateAllowChance
L_012f: ble.un Label #14
L_0134: br Label #15
L_0139: Label #13
L_0139: Label #14
L_0139: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_013e: ldloc.2
L_013f: ldfld RimWorld.ThingStuffPair w
L_0144: callvirt Void Add(ThingStuffPair)
L_0149: Label #10
L_0149: Label #12
L_0149: Label #15
L_0149: ldloc.1
L_014a: ldc.i4.1
L_014b: add
L_014c: stloc.1
L_014d: Label #8
L_014d: ldloc.1
L_014e: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_0153: callvirt Int32 get_Count()
L_0158: blt Label #16
L_015d: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0162: callvirt Int32 get_Count()
L_0167: brtrue Label #17
L_016c: br Label #0
L_0171: ldarg.0
L_0172: ldloc.2
L_0173: callvirt System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
FilterChildWeapons(Verse.Pawn,
System.Collections.Generic.List`1[RimWorld.ThingStuffPair])
L_0178: stloc.2
L_0179: Label #17
L_0179: ldarg.0
L_017a: ldfld Verse.Pawn_EquipmentTracker equipment
L_017f: ldc.i4.0
L_0180: callvirt Void DestroyAllEquipment(DestroyMode)
L_0185: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_018a: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_018f: brtrue Label #18
L_0194: ldnull
L_0195: ldftn Single <TryGenerateWeaponFor>m__2(ThingStuffPair)
L_019b: newobj Void .ctor(Object, IntPtr)
L_01a0: stsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01a5: Label #18
L_01a5: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01aa: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01ac: call Boolean TryRandomElementByWeight[ThingStuffPair](IEnumerable`1,
System.Func`2[RimWorld.ThingStuffPair,System.Single], ThingStuffPair ByRef)
L_01b1: brfalse Label #19
L_01b6: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01b8: ldfld Verse.ThingDef thing
L_01bd: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01bf: ldfld Verse.ThingDef stuff
L_01c4: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_01c9: castclass Verse.ThingWithComps
L_01ce: stloc.s 4 (Verse.ThingWithComps)
L_01d0: ldloc.s 4 (Verse.ThingWithComps)
L_01d2: ldarg.0
L_01d3: call Void PostProcessGeneratedGear(Verse.Thing, Verse.Pawn)
L_01d8: ldarg.0
L_01d9: ldfld Verse.Pawn_EquipmentTracker equipment
L_01de: ldloc.s 4 (Verse.ThingWithComps)
L_01e0: callvirt Void AddEquipment(Verse.ThingWithComps)
L_01e5: Label #19
L_01e5: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_01ea: callvirt Void Clear()
L_01ef: br Label #0
L_01f4: Label #0
L_01f4: ret
DONE

PATCHING RimWorld.Bill_Medical Void Notify_DoBillStarted(Verse.Pawn)


L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.ThingStackPartClass,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Int32
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void Notify_DoBillStarted(Verse.Pawn)
L_0007: ldarg.0
L_0008: ldnull
L_0009: stfld Verse.ThingDef consumedInitialMedicineDef
L_000e: ldarg.0
L_000f: call Verse.Pawn get_GiverPawn()
L_0014: callvirt Boolean get_Dead()
L_0019: brtrue Label #2
L_001e: ldarg.0
L_001f: ldfld Verse.RecipeDef recipe
L_0024: call Boolean RecipeHasNoIngredients(Verse.RecipeDef)
L_0029: brtrue Label #2
L_002e: ldarg.0
L_002f: ldfld Verse.RecipeDef recipe
L_0034: ldfld System.Boolean anesthetize
L_0039: brfalse Label #3
L_003e: ldarg.0
L_003f: call Verse.Pawn get_GiverPawn()
L_0044: call Boolean TryAnesthetize(Verse.Pawn)
L_0049: brfalse Label #4
L_004e: ldarg.1
L_004f: callvirt Verse.AI.Job get_CurJob()
L_0054: ldfld System.Collections.Generic.List`1[Verse.ThingStackPartClass]
placedThings
L_0059: stloc.0
L_005a: ldc.i4.0
L_005b: stloc.1
L_005c: br Label #5
L_0061: Label #10
L_0061: ldloc.0
L_0062: ldloc.1
L_0063: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0068: ldfld Verse.Thing thing
L_006d: isinst RimWorld.Medicine
L_0072: brfalse Label #6
L_0077: ldarg.0
L_0078: ldfld Verse.RecipeDef recipe
L_007d: callvirt Verse.RecipeWorker get_Worker()
L_0082: ldloc.0
L_0083: ldloc.1
L_0084: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0089: ldfld Verse.Thing thing
L_008e: ldc.i4.1
L_008f: callvirt Verse.Thing SplitOff(Int32)
L_0094: ldarg.0
L_0095: ldfld Verse.RecipeDef recipe
L_009a: ldarg.1
L_009b: callvirt Verse.Map get_MapHeld()
L_00a0: callvirt Void ConsumeIngredient(Verse.Thing, Verse.RecipeDef, Verse.Map)
L_00a5: ldloc.0
L_00a6: ldloc.1
L_00a7: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ac: dup
L_00ad: callvirt Int32 get_Count()
L_00b2: ldc.i4.1
L_00b3: sub
L_00b4: callvirt Void set_Count(Int32)
L_00b9: ldarg.0
L_00ba: ldloc.0
L_00bb: ldloc.1
L_00bc: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00c1: ldfld Verse.Thing thing
L_00c6: ldfld Verse.ThingDef def
L_00cb: stfld Verse.ThingDef consumedInitialMedicineDef
L_00d0: ldloc.0
L_00d1: ldloc.1
L_00d2: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00d7: ldfld Verse.Thing thing
L_00dc: callvirt Boolean get_Destroyed()
L_00e1: brtrue Label #7
L_00e6: ldloc.0
L_00e7: ldloc.1
L_00e8: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ed: callvirt Int32 get_Count()
L_00f2: ldc.i4.0
L_00f3: bgt Label #8
L_00f8: Label #7
L_00f8: ldloc.0
L_00f9: ldloc.1
L_00fa: callvirt Void RemoveAt(Int32)
L_00ff: Label #8
L_00ff: br Label #9
L_0104: Label #6
L_0104: ldloc.1
L_0105: ldc.i4.1
L_0106: add
L_0107: stloc.1
L_0108: Label #5
L_0108: ldloc.1
L_0109: ldloc.0
L_010a: callvirt Int32 get_Count()
L_010f: blt Label #10
L_0114: Label #2
L_0114: Label #3
L_0114: Label #4
L_0114: Label #9
L_0114: br Label #0
L_0119: Label #0
L_0119: ret
DONE

PATCHING RimWorld.Building_Bed IEnumerable`1 get_AssigningCandidates()


L_0000: ldarg.0
L_0001: callvirt IEnumerable`1 BedCandidates(RimWorld.Building_Bed)
L_0006: Label #0
L_0006: ret
DONE

PATCHING RimWorld.RestUtility RimWorld.Building_Bed FindBedFor(Verse.Pawn,


Verse.Pawn, Boolean, Boolean, Boolean)
L_0000: Local var #0 RimWorld.RestUtility+<FindBedFor>c__AnonStorey0
L_0000: Local var #1 RimWorld.Building_Bed
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 System.Boolean
L_0000: Local var #5 System.Boolean
L_0000: Local var #6 System.Boolean
L_0000: Local var #7 System.Int32
L_0000: Local var #8 Verse.ThingDef
L_0000: Local var #9 System.Int32
L_0000: Local var #10 RimWorld.RestUtility+<FindBedFor>c__AnonStorey1
L_0000: Local var #11 RimWorld.Building_Bed
L_0000: Local var #12 RimWorld.DirectPawnRelation
L_0000: Local var #13 RimWorld.Building_Bed
L_0000: Local var #14 System.Int32
L_0000: Local var #15 RimWorld.RestUtility+<FindBedFor>c__AnonStorey2
L_0000: Local var #16 System.Int32
L_0000: Local var #17 Verse.ThingDef
L_0000: Local var #18 RimWorld.Building_Bed
L_0000: Local var #19 RimWorld.Building_Bed
L_0000: ldnull
L_0001: stloc 19 (RimWorld.Building_Bed)
L_0003: newobj Void .ctor()
L_0008: stloc.0
L_0009: ldloc.0
L_000a: ldarg.0
L_000b: stfld Verse.Pawn sleeper
L_0010: ldloc.0
L_0011: ldarg.1
L_0012: stfld Verse.Pawn traveler
L_0017: ldloc.0
L_0018: ldarg.2
L_0019: stfld System.Boolean sleeperWillBePrisoner
L_001e: ldloc.0
L_001f: ldarg.3
L_0020: stfld System.Boolean checkSocialProperness
L_0025: ldloc.0
L_0026: ldarg.s 4
L_0028: stfld System.Boolean ignoreOtherReservations
L_002d: ldloc.0
L_002e: ldfld Verse.Pawn sleeper
L_0033: call Boolean ShouldSeekMedicalRest(Verse.Pawn)
L_0038: brfalse Label #2
L_003d: ldloc.0
L_003e: ldfld Verse.Pawn sleeper
L_0043: call Boolean InBed(Verse.Pawn)
L_0048: brfalse Label #3
L_004d: ldloc.0
L_004e: ldfld Verse.Pawn sleeper
L_0053: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0058: callvirt Boolean get_Medical()
L_005d: brfalse Label #4
L_0062: ldloc.0
L_0063: ldfld Verse.Pawn sleeper
L_0068: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_006d: stloc.1
L_006e: ldloc.0
L_006f: ldfld Verse.Pawn sleeper
L_0074: stloc.2
L_0075: ldloc.0
L_0076: ldfld Verse.Pawn traveler
L_007b: stloc.3
L_007c: ldloc.0
L_007d: ldfld System.Boolean sleeperWillBePrisoner
L_0082: stloc.s 4 (System.Boolean)
L_0084: ldloc.0
L_0085: ldfld System.Boolean checkSocialProperness
L_008a: stloc.s 5 (System.Boolean)
L_008c: ldloc.0
L_008d: ldfld System.Boolean ignoreOtherReservations
L_0092: stloc.s 6 (System.Boolean)
L_0094: ldloc.1
L_0095: ldloc.2
L_0096: ldloc.3
L_0097: ldloc.s 4 (System.Boolean)
L_0099: ldloc.s 5 (System.Boolean)
L_009b: ldc.i4.0
L_009c: ldloc.s 6 (System.Boolean)
L_009e: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_00a3: brfalse Label #5
L_00a8: ldloc.0
L_00a9: ldfld Verse.Pawn sleeper
L_00ae: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00b3: br Label #0
L_00b8: Label #3
L_00b8: Label #4
L_00b8: Label #5
L_00b8: ldc.i4.0
L_00b9: stloc.s 7 (System.Int32)
L_00bb: br Label #6
L_00c0: Label #14
L_00c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_00c5: ldloc.s 7 (System.Int32)
L_00c7: callvirt Verse.ThingDef get_Item(Int32)
L_00cc: stloc.s 8 (Verse.ThingDef)
L_00ce: ldloc.0
L_00cf: ldfld Verse.Pawn sleeper
L_00d4: ldloc.s 8 (Verse.ThingDef)
L_00d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_00db: brtrue Label #7
L_00e0: br Label #8
L_00e5: Label #7
L_00e5: ldc.i4.0
L_00e6: stloc.s 9 (System.Int32)
L_00e8: br Label #9
L_00ed: Label #13
L_00ed: newobj Void .ctor()
L_00f2: stloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f4: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f6: ldloc.0
L_00f7: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_00fc: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00fe: ldloc.s 9 (System.Int32)
L_0100: brtrue Label #10
L_0105: ldc.i4.1
L_0106: br Label #11
L_010b: Label #10
L_010b: ldc.i4.3
L_010c: Label #11
L_010c: stfld Verse.Danger maxDanger
L_0111: ldloc.0
L_0112: ldfld Verse.Pawn sleeper
L_0117: callvirt IntVec3 get_Position()
L_011c: ldloc.0
L_011d: ldfld Verse.Pawn sleeper
L_0122: callvirt Verse.Map get_Map()
L_0127: ldloc.s 8 (Verse.ThingDef)
L_0129: call ThingRequest ForDef(Verse.ThingDef)
L_012e: ldc.i4.1
L_012f: ldloc.0
L_0130: ldfld Verse.Pawn traveler
L_0135: ldc.i4.3
L_0136: ldc.i4.0
L_0137: ldc.i4.0
L_0138: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_013d: ldc.r4 9999
L_0142: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_0144: ldftn Boolean <>m__0(Verse.Thing)
L_014a: newobj Void .ctor(Object, IntPtr)
L_014f: ldnull
L_0150: ldc.i4.0
L_0151: ldc.i4.m1
L_0152: ldc.i4.0
L_0153: ldc.i4.6
L_0154: ldc.i4.0
L_0155: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_015a: castclass RimWorld.Building_Bed
L_015f: stloc.s 11 (RimWorld.Building_Bed)
L_0161: ldloc.s 11 (RimWorld.Building_Bed)
L_0163: brfalse Label #12
L_0168: ldloc.s 11 (RimWorld.Building_Bed)
L_016a: br Label #0
L_016f: Label #12
L_016f: ldloc.s 9 (System.Int32)
L_0171: ldc.i4.1
L_0172: add
L_0173: stloc.s 9 (System.Int32)
L_0175: Label #9
L_0175: ldloc.s 9 (System.Int32)
L_0177: ldc.i4.2
L_0178: blt Label #13
L_017d: Label #8
L_017d: ldloc.s 7 (System.Int32)
L_017f: ldc.i4.1
L_0180: add
L_0181: stloc.s 7 (System.Int32)
L_0183: Label #6
L_0183: ldloc.s 7 (System.Int32)
L_0185: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_018a: callvirt Int32 get_Count()
L_018f: blt Label #14
L_0194: Label #2
L_0194: ldloc.0
L_0195: ldfld Verse.Pawn sleeper
L_019a: ldfld RimWorld.Pawn_Ownership ownership
L_019f: brfalse Label #15
L_01a4: ldloc.0
L_01a5: ldfld Verse.Pawn sleeper
L_01aa: ldfld RimWorld.Pawn_Ownership ownership
L_01af: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01b4: brfalse Label #16
L_01b9: ldloc.0
L_01ba: ldfld Verse.Pawn sleeper
L_01bf: ldfld RimWorld.Pawn_Ownership ownership
L_01c4: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01c9: stloc.1
L_01ca: ldloc.0
L_01cb: ldfld Verse.Pawn sleeper
L_01d0: stloc.3
L_01d1: ldloc.0
L_01d2: ldfld Verse.Pawn traveler
L_01d7: stloc.2
L_01d8: ldloc.0
L_01d9: ldfld System.Boolean sleeperWillBePrisoner
L_01de: stloc.s 6 (System.Boolean)
L_01e0: ldloc.0
L_01e1: ldfld System.Boolean checkSocialProperness
L_01e6: stloc.s 5 (System.Boolean)
L_01e8: ldloc.0
L_01e9: ldfld System.Boolean ignoreOtherReservations
L_01ee: stloc.s 4 (System.Boolean)
L_01f0: ldloc.1
L_01f1: ldloc.3
L_01f2: ldloc.2
L_01f3: ldloc.s 6 (System.Boolean)
L_01f5: ldloc.s 5 (System.Boolean)
L_01f7: ldc.i4.0
L_01f8: ldloc.s 4 (System.Boolean)
L_01fa: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_01ff: brfalse Label #17
L_0204: ldloc.0
L_0205: ldfld Verse.Pawn sleeper
L_020a: ldfld RimWorld.Pawn_Ownership ownership
L_020f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0214: br Label #0
L_0219: Label #15
L_0219: Label #16
L_0219: Label #17
L_0219: ldloc.0
L_021a: ldfld Verse.Pawn sleeper
L_021f: ldc.i4.0
L_0220: call RimWorld.DirectPawnRelation
ExistingMostLikedLovePartnerRel(Verse.Pawn, Boolean)
L_0225: stloc.s 12 (RimWorld.DirectPawnRelation)
L_0227: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0229: brfalse Label #18
L_022e: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0230: ldfld Verse.Pawn otherPawn
L_0235: ldfld RimWorld.Pawn_Ownership ownership
L_023a: callvirt RimWorld.Building_Bed get_OwnedBed()
L_023f: stloc.s 13 (RimWorld.Building_Bed)
L_0241: ldloc.s 13 (RimWorld.Building_Bed)
L_0243: brfalse Label #19
L_0248: ldloc.s 13 (RimWorld.Building_Bed)
L_024a: stloc.1
L_024b: ldloc.0
L_024c: ldfld Verse.Pawn sleeper
L_0251: stloc.2
L_0252: ldloc.0
L_0253: ldfld Verse.Pawn traveler
L_0258: stloc.3
L_0259: ldloc.0
L_025a: ldfld System.Boolean sleeperWillBePrisoner
L_025f: stloc.s 4 (System.Boolean)
L_0261: ldloc.0
L_0262: ldfld System.Boolean checkSocialProperness
L_0267: stloc.s 5 (System.Boolean)
L_0269: ldloc.0
L_026a: ldfld System.Boolean ignoreOtherReservations
L_026f: stloc.s 6 (System.Boolean)
L_0271: ldloc.1
L_0272: ldloc.2
L_0273: ldloc.3
L_0274: ldloc.s 4 (System.Boolean)
L_0276: ldloc.s 5 (System.Boolean)
L_0278: ldc.i4.0
L_0279: ldloc.s 6 (System.Boolean)
L_027b: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_0280: brfalse Label #20
L_0285: ldloc.s 13 (RimWorld.Building_Bed)
L_0287: br Label #0
L_028c: Label #18
L_028c: Label #19
L_028c: Label #20
L_028c: ldc.i4.0
L_028d: stloc.s 14 (System.Int32)
L_028f: br Label #21
L_0294: Label #29
L_0294: newobj Void .ctor()
L_0299: stloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029b: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029d: ldloc.0
L_029e: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_02a3: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_02a5: ldloc.s 14 (System.Int32)
L_02a7: brtrue Label #22
L_02ac: ldc.i4.1
L_02ad: br Label #23
L_02b2: Label #22
L_02b2: ldc.i4.3
L_02b3: Label #23
L_02b3: stfld Verse.Danger maxDanger
L_02b8: ldc.i4.0
L_02b9: stloc.s 16 (System.Int32)
L_02bb: br Label #24
L_02c0: Label #28
L_02c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_02c5: ldloc.s 16 (System.Int32)
L_02c7: callvirt Verse.ThingDef get_Item(Int32)
L_02cc: stloc.s 17 (Verse.ThingDef)
L_02ce: ldloc.0
L_02cf: ldfld Verse.Pawn sleeper
L_02d4: ldloc.s 17 (Verse.ThingDef)
L_02d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_02db: brtrue Label #25
L_02e0: br Label #26
L_02e5: Label #25
L_02e5: ldloc.0
L_02e6: ldfld Verse.Pawn sleeper
L_02eb: callvirt IntVec3 get_Position()
L_02f0: ldloc.0
L_02f1: ldfld Verse.Pawn sleeper
L_02f6: callvirt Verse.Map get_Map()
L_02fb: ldloc.s 17 (Verse.ThingDef)
L_02fd: call ThingRequest ForDef(Verse.ThingDef)
L_0302: ldc.i4.1
L_0303: ldloc.0
L_0304: ldfld Verse.Pawn traveler
L_0309: ldc.i4.3
L_030a: ldc.i4.0
L_030b: ldc.i4.0
L_030c: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_0311: ldc.r4 9999
L_0316: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_0318: ldftn Boolean <>m__0(Verse.Thing)
L_031e: newobj Void .ctor(Object, IntPtr)
L_0323: ldnull
L_0324: ldc.i4.0
L_0325: ldc.i4.m1
L_0326: ldc.i4.0
L_0327: ldc.i4.6
L_0328: ldc.i4.0
L_0329: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_032e: castclass RimWorld.Building_Bed
L_0333: stloc.s 18 (RimWorld.Building_Bed)
L_0335: ldloc.s 18 (RimWorld.Building_Bed)
L_0337: brfalse Label #27
L_033c: ldloc.s 18 (RimWorld.Building_Bed)
L_033e: br Label #0
L_0343: Label #26
L_0343: Label #27
L_0343: ldloc.s 16 (System.Int32)
L_0345: ldc.i4.1
L_0346: add
L_0347: stloc.s 16 (System.Int32)
L_0349: Label #24
L_0349: ldloc.s 16 (System.Int32)
L_034b: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_0350: callvirt Int32 get_Count()
L_0355: blt Label #28
L_035a: ldloc.s 14 (System.Int32)
L_035c: ldc.i4.1
L_035d: add
L_035e: stloc.s 14 (System.Int32)
L_0360: Label #21
L_0360: ldloc.s 14 (System.Int32)
L_0362: ldc.i4.2
L_0363: blt Label #29
L_0368: ldnull
L_0369: br Label #0
L_036e: Label #0
L_036e: stloc 19 (RimWorld.Building_Bed)
L_0370: ldarga 0
L_0376: ldloca 19 (RimWorld.Building_Bed)
L_0378: ldarga 1
L_037e: ldarga 4
L_0384: ldarga 2
L_038a: ldarga 3
L_0390: call Void FindBedFor_Patch(Verse.Pawn ByRef, RimWorld.Building_Bed ByRef,
Verse.Pawn ByRef, Boolean ByRef, Boolean ByRef, Boolean ByRef)
L_0395: ldloc 19 (RimWorld.Building_Bed)
L_0397: ret
DONE

PATCHING RimWorld.JobGiver_DoLovin Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 1 (Verse.AI.Job)
L_0002: call Verse.TickManager get_TickManager()
L_0007: callvirt Int32 get_TicksGame()
L_000c: ldarg.1
L_000d: ldfld Verse.AI.Pawn_MindState mindState
L_0012: ldfld System.Int32 canLovinTick
L_0017: bge Label #2
L_001c: ldnull
L_001d: br Label #0
L_0022: Label #2
L_0022: ldarg.1
L_0023: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0028: brfalse Label #3
L_002d: ldarg.1
L_002e: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0033: callvirt Boolean get_Medical()
L_0038: brtrue Label #4
L_003d: ldarg.1
L_003e: ldfld Verse.Pawn_HealthTracker health
L_0043: ldfld Verse.PawnCapacitiesHandler capacities
L_0048: callvirt Boolean get_CanBeAwake()
L_004d: brtrue Label #5
L_0052: Label #3
L_0052: Label #4
L_0052: ldnull
L_0053: br Label #0
L_0058: Label #5
L_0058: ldarg.1
L_0059: call Verse.Pawn GetPartnerInMyBed(Verse.Pawn)
L_005e: stloc.0
L_005f: ldloc.0
L_0060: brfalse Label #6
L_0065: ldloc.0
L_0066: ldfld Verse.Pawn_HealthTracker health
L_006b: ldfld Verse.PawnCapacitiesHandler capacities
L_0070: callvirt Boolean get_CanBeAwake()
L_0075: brfalse Label #7
L_007a: call Verse.TickManager get_TickManager()
L_007f: callvirt Int32 get_TicksGame()
L_0084: ldloc.0
L_0085: ldfld Verse.AI.Pawn_MindState mindState
L_008a: ldfld System.Int32 canLovinTick
L_008f: bge Label #8
L_0094: Label #6
L_0094: Label #7
L_0094: ldnull
L_0095: br Label #0
L_009a: Label #8
L_009a: ldarg.1
L_009b: ldloc.0
L_009c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00a1: ldc.i4.1
L_00a2: ldc.i4.m1
L_00a3: ldnull
L_00a4: ldc.i4.0
L_00a5: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00aa: brfalse Label #9
L_00af: ldloc.0
L_00b0: ldarg.1
L_00b1: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00b6: ldc.i4.1
L_00b7: ldc.i4.m1
L_00b8: ldnull
L_00b9: ldc.i4.0
L_00ba: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00bf: brtrue Label #10
L_00c4: Label #9
L_00c4: ldnull
L_00c5: br Label #0
L_00ca: Label #10
L_00ca: ldsfld Verse.JobDef Lovin
L_00cf: ldloc.0
L_00d0: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00d5: ldarg.1
L_00d6: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00db: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00e0: newobj Void .ctor(JobDef, LocalTargetInfo, LocalTargetInfo)
L_00e5: br Label #0
L_00ea: Label #0
L_00ea: stloc 1 (Verse.AI.Job)
L_00eb: ldloca 1 (Verse.AI.Job)
L_00ed: ldarga 1
L_00f3: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_00f8: ldloc 1 (Verse.AI.Job)
L_00f9: ret
DONE

PATCHING RimWorld.JobDriver_Lovin+<MakeNewToils>c__Iterator0 Void <>m__4()


L_0000: Local var #0 RimWorld.Thought_Memory
L_0000: ldsfld RimWorld.ThoughtDef GotSomeLovin
L_0005: call RimWorld.Thought MakeThought(RimWorld.ThoughtDef)
L_000a: castclass RimWorld.Thought_Memory
L_000f: stloc.0
L_0010: ldarg.0
L_0011: ldfld RimWorld.JobDriver_Lovin $this
L_0016: ldfld Verse.Pawn pawn
L_001b: ldfld RimWorld.Pawn_NeedsTracker needs
L_0020: ldfld RimWorld.Need_Mood mood
L_0025: ldfld RimWorld.ThoughtHandler thoughts
L_002a: ldfld RimWorld.MemoryThoughtHandler memories
L_002f: ldloc.0
L_0030: ldarg.0
L_0031: ldfld RimWorld.JobDriver_Lovin $this
L_0036: call Verse.Pawn get_Partner()
L_003b: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_0040: ldarg.0
L_0041: ldfld RimWorld.JobDriver_Lovin $this
L_0046: ldfld Verse.Pawn pawn
L_004b: ldfld Verse.AI.Pawn_MindState mindState
L_0050: call Verse.TickManager get_TickManager()
L_0055: callvirt Int32 get_TicksGame()
L_005a: ldarg.0
L_005b: ldfld RimWorld.JobDriver_Lovin $this
L_0060: ldarg.0
L_0061: ldfld RimWorld.JobDriver_Lovin $this
L_0066: ldfld Verse.Pawn pawn
L_006b: call Int32 GenerateRandomMinTicksToNextLovin(Verse.Pawn)
L_0070: add
L_0071: stfld System.Int32 canLovinTick
L_0076: ldarg.0
L_0077: ldfld RimWorld.JobDriver_Lovin $this
L_007c: ldfld Verse.Pawn pawn
L_0081: ldarg.0
L_0082: ldfld RimWorld.JobDriver_Lovin $this
L_0087: call Verse.Pawn get_Partner()
L_008c: call Void TryToImpregnate(Verse.Pawn, Verse.Pawn)
L_0091: br Label #0
L_0096: Label #0
L_0096: ret
DONE

PATCHING RimWorld.JobDriver_Wear+<MakeNewToils>c__Iterator0 Boolean MoveNext()


L_0000: Local var #0 System.UInt32
L_0000: ldarg.0
L_0001: ldfld System.Int32 $PC
L_0006: stloc.0
L_0007: ldarg.0
L_0008: ldc.i4.m1
L_0009: stfld System.Int32 $PC
L_000e: ldloc.0
L_000f: switch Labels #2 #3 #4 #5
L_0024: br Label #6
L_0029: Label #2
L_0029: ldarg.0
L_002a: ldfld RimWorld.JobDriver_Wear $this
L_002f: call RimWorld.JobDriver_Wear FailOnBaby[JobDriver_Wear]
(RimWorld.JobDriver_Wear)
L_0034: pop
L_0035: ldarg.0
L_0036: newobj Void .ctor()
L_003b: stfld Verse.AI.Toil <gotoApparel>__1
L_0040: ldarg.0
L_0041: ldfld Verse.AI.Toil <gotoApparel>__1
L_0046: ldarg.0
L_0047: ldftn Void <>m__0()
L_004d: newobj Void .ctor(Object, IntPtr)
L_0052: stfld System.Action initAction
L_0057: ldarg.0
L_0058: ldfld Verse.AI.Toil <gotoApparel>__1
L_005d: ldc.i4.2
L_005e: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0063: ldarg.0
L_0064: ldfld Verse.AI.Toil <gotoApparel>__1
L_0069: ldc.i4.1
L_006a: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_006f: pop
L_0070: ldarg.0
L_0071: ldarg.0
L_0072: ldfld Verse.AI.Toil <gotoApparel>__1
L_0077: stfld Verse.AI.Toil $current
L_007c: ldarg.0
L_007d: ldfld System.Boolean $disposing
L_0082: brtrue Label #7
L_0087: ldarg.0
L_0088: ldc.i4.1
L_0089: stfld System.Int32 $PC
L_008e: Label #7
L_008e: br Label #8
L_0093: Label #3
L_0093: ldarg.0
L_0094: newobj Void .ctor()
L_0099: stfld Verse.AI.Toil <prepare>__2
L_009e: ldarg.0
L_009f: ldfld Verse.AI.Toil <prepare>__2
L_00a4: ldc.i4.3
L_00a5: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_00aa: ldarg.0
L_00ab: ldfld Verse.AI.Toil <prepare>__2
L_00b0: ldc.i4.s 60
L_00b2: stfld System.Int32 defaultDuration
L_00b7: ldarg.0
L_00b8: ldfld Verse.AI.Toil <prepare>__2
L_00bd: ldc.i4.1
L_00be: ldc.i4.0
L_00bf: ldc.r4 -0.5
L_00c4: call Verse.AI.Toil WithProgressBarToilDelay(Verse.AI.Toil, TargetIndex,
Boolean, Single)
L_00c9: pop
L_00ca: ldarg.0
L_00cb: ldfld Verse.AI.Toil <prepare>__2
L_00d0: ldc.i4.1
L_00d1: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_00d6: pop
L_00d7: ldarg.0
L_00d8: ldarg.0
L_00d9: ldfld Verse.AI.Toil <prepare>__2
L_00de: stfld Verse.AI.Toil $current
L_00e3: ldarg.0
L_00e4: ldfld System.Boolean $disposing
L_00e9: brtrue Label #9
L_00ee: ldarg.0
L_00ef: ldc.i4.2
L_00f0: stfld System.Int32 $PC
L_00f5: Label #9
L_00f5: br Label #10
L_00fa: Label #4
L_00fa: ldarg.0
L_00fb: newobj Void .ctor()
L_0100: stfld Verse.AI.Toil <wear>__3
L_0105: ldarg.0
L_0106: ldfld Verse.AI.Toil <wear>__3
L_010b: ldarg.0
L_010c: ldftn Void <>m__1()
L_0112: newobj Void .ctor(Object, IntPtr)
L_0117: stfld System.Action initAction
L_011c: ldarg.0
L_011d: ldfld Verse.AI.Toil <wear>__3
L_0122: ldc.i4.1
L_0123: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0128: ldarg.0
L_0129: ldarg.0
L_012a: ldfld Verse.AI.Toil <wear>__3
L_012f: stfld Verse.AI.Toil $current
L_0134: ldarg.0
L_0135: ldfld System.Boolean $disposing
L_013a: brtrue Label #11
L_013f: ldarg.0
L_0140: ldc.i4.3
L_0141: stfld System.Int32 $PC
L_0146: Label #11
L_0146: br Label #12
L_014b: Label #5
L_014b: ldarg.0
L_014c: ldc.i4.m1
L_014d: stfld System.Int32 $PC
L_0152: Label #6
L_0152: ldc.i4.0
L_0153: br Label #0
L_0158: Label #8
L_0158: Label #10
L_0158: Label #12
L_0158: ldc.i4.1
L_0159: br Label #0
L_015e: Label #0
L_015e: ret
DONE

PATCHING RimWorld.ListerHaulables Void Notify_DeSpawned(Verse.Thing)


L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void TryRemove(Verse.Thing)
L_0007: br Label #0
L_000c: Label #0
L_000c: ldarg 1
L_0012: ldarg.0
L_0013: call Void Postfix(Verse.Thing, RimWorld.ListerHaulables)
L_0018: ret
DONE

PATCHING RimWorld.ListerHaulables Void Notify_Forbidden(Verse.Thing)


L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void TryRemove(Verse.Thing)
L_0007: br Label #0
L_000c: Label #0
L_000c: ldarg 1
L_0012: call Void Postfix(Verse.Thing)
L_0017: ret
DONE

PATCHING RimWorld.ListerHaulables Void Notify_SlotGroupChanged(RimWorld.SlotGroup)


L_0000: Local var #0 System.Int32
L_0000: ldarg.1
L_0001: callvirt System.Collections.Generic.List`1[Verse.IntVec3] get_CellsList()
L_0006: brfalse Label #2
L_000b: ldc.i4.0
L_000c: stloc.0
L_000d: br Label #3
L_0012: Label #4
L_0012: ldarg.0
L_0013: ldarg.1
L_0014: callvirt System.Collections.Generic.List`1[Verse.IntVec3] get_CellsList()
L_0019: ldloc.0
L_001a: callvirt IntVec3 get_Item(Int32)
L_001f: call Void RecalcAllInCell(IntVec3)
L_0024: ldloc.0
L_0025: ldc.i4.1
L_0026: add
L_0027: stloc.0
L_0028: Label #3
L_0028: ldloc.0
L_0029: ldarg.1
L_002a: callvirt System.Collections.Generic.List`1[Verse.IntVec3] get_CellsList()
L_002f: callvirt Int32 get_Count()
L_0034: blt Label #4
L_0039: Label #2
L_0039: br Label #0
L_003e: Label #0
L_003e: ldarg 1
L_0044: ldarg.0
L_0045: call Void Postfix(RimWorld.SlotGroup, RimWorld.ListerHaulables)
L_004a: ret
DONE

PATCHING RimWorld.ListerHaulables Void Notify_Spawned(Verse.Thing)


L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void CheckAdd(Verse.Thing)
L_0007: br Label #0
L_000c: Label #0
L_000c: ldarg 1
L_0012: call Void Postfix(Verse.Thing)
L_0017: ret
DONE

PATCHING RimWorld.ListerHaulables Void Notify_Unforbidden(Verse.Thing)


L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void CheckAdd(Verse.Thing)
L_0007: br Label #0
L_000c: Label #0
L_000c: ldarg 1
L_0012: call Void Postfix(Verse.Thing)
L_0017: ret
DONE

PATCHING RimWorld.ThoughtUtility Boolean CanGetThought(Verse.Pawn,


RimWorld.ThoughtDef)
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 4 (System.Boolean)
L_0007: ldarg.1
L_0008: ldfld System.Boolean validWhileDespawned
L_000d: brtrue Label #2
L_0012: ldarg.0
L_0013: callvirt Boolean get_Spawned()
L_0018: brtrue Label #3
L_001d: ldarg.1
L_001e: callvirt Boolean get_IsMemory()
L_0023: brtrue Label #4
L_0028: ldc.i4.0
L_0029: stloc.0
L_002a: leave Label #5
L_002f: Label #2
L_002f: Label #3
L_002f: Label #4
L_002f: ldarg.1
L_0030: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0035: brfalse Label #6
L_003a: ldc.i4.0
L_003b: stloc.1
L_003c: br Label #7
L_0041: Label #10
L_0041: ldarg.0
L_0042: ldfld RimWorld.Pawn_StoryTracker story
L_0047: ldfld RimWorld.TraitSet traits
L_004c: ldarg.1
L_004d: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0052: ldloc.1
L_0053: callvirt RimWorld.TraitDef get_Item(Int32)
L_0058: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_005d: brfalse Label #8
L_0062: ldc.i4.0
L_0063: stloc.0
L_0064: leave Label #9
L_0069: Label #8
L_0069: ldloc.1
L_006a: ldc.i4.1
L_006b: add
L_006c: stloc.1
L_006d: Label #7
L_006d: ldloc.1
L_006e: ldarg.1
L_006f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0074: callvirt Int32 get_Count()
L_0079: blt Label #10
L_007e: Label #6
L_007e: ldarg.1
L_007f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0084: call Boolean NullOrEmpty[TraitDef](IList`1)
L_0089: brtrue Label #11
L_008e: ldc.i4.0
L_008f: stloc.2
L_0090: ldc.i4.0
L_0091: stloc.3
L_0092: br Label #12
L_0097: Label #19
L_0097: ldarg.0
L_0098: ldfld RimWorld.Pawn_StoryTracker story
L_009d: ldfld RimWorld.TraitSet traits
L_00a2: ldarg.1
L_00a3: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00a8: ldloc.3
L_00a9: callvirt RimWorld.TraitDef get_Item(Int32)
L_00ae: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00b3: brtrue Label #13
L_00b8: leave Label #14
L_00bd: Label #13
L_00bd: ldarg.1
L_00be: callvirt Boolean get_RequiresSpecificTraitsDegree()
L_00c3: brfalse Label #15
L_00c8: ldarg.1
L_00c9: ldfld System.Int32 requiredTraitsDegree
L_00ce: ldarg.0
L_00cf: ldfld RimWorld.Pawn_StoryTracker story
L_00d4: ldfld RimWorld.TraitSet traits
L_00d9: ldarg.1
L_00da: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00df: ldloc.3
L_00e0: callvirt RimWorld.TraitDef get_Item(Int32)
L_00e5: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_00ea: beq Label #16
L_00ef: leave Label #17
L_00f4: Label #15
L_00f4: Label #16
L_00f4: ldc.i4.1
L_00f5: stloc.2
L_00f6: leave Label #18
L_00fb: Label #14
L_00fb: Label #17
L_00fb: ldloc.3
L_00fc: ldc.i4.1
L_00fd: add
L_00fe: stloc.3
L_00ff: Label #12
L_00ff: ldloc.3
L_0100: ldarg.1
L_0101: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0106: callvirt Int32 get_Count()
L_010b: blt Label #19
L_0110: Label #18
L_0110: ldloc.2
L_0111: brtrue Label #20
L_0116: ldc.i4.0
L_0117: stloc.0
L_0118: leave Label #21
L_011d: Label #11
L_011d: Label #20
L_011d: ldarg.1
L_011e: ldfld System.Boolean nullifiedIfNotColonist
L_0123: brfalse Label #22
L_0128: ldarg.0
L_0129: callvirt Boolean get_IsColonist()
L_012e: brtrue Label #23
L_0133: ldc.i4.0
L_0134: stloc.0
L_0135: leave Label #24
L_013a: Label #22
L_013a: Label #23
L_013a: ldarg.1
L_013b: ldarg.0
L_013c: call Boolean IsSituationalThoughtNullifiedByHediffs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0141: brfalse Label #25
L_0146: ldc.i4.0
L_0147: stloc.0
L_0148: leave Label #26
L_014d: Label #25
L_014d: ldarg.1
L_014e: ldarg.0
L_014f: call Boolean IsThoughtNullifiedByOwnTales(RimWorld.ThoughtDef, Verse.Pawn)
L_0154: brfalse Label #27
L_0159: ldc.i4.0
L_015a: stloc.0
L_015b: leave Label #28
L_0160: Label #27
L_0160: leave Label #29
L_0165: endfinally
L_0166: Label #29
L_0166: ldc.i4.1
L_0167: br Label #0
L_016c: Label #5
L_016c: Label #9
L_016c: Label #21
L_016c: Label #24
L_016c: Label #26
L_016c: Label #28
L_016c: ldloc.0
L_016d: br Label #0
L_0172: Label #0
L_0172: stloc 4 (System.Boolean)
L_0174: ldarga 0
L_017a: ldarga 1
L_0180: ldloca 4 (System.Boolean)
L_0182: call Void CanGetThought_Patch(Verse.Pawn ByRef, RimWorld.ThoughtDef ByRef,
Boolean ByRef)
L_0187: ldloc 4 (System.Boolean)
L_0189: ret
DONE

PATCHING RimWorld.JobGiver_SocialFighting Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Verb
L_0000: Local var #2 Verse.AI.Job
L_0000: Local var #3 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 3 (Verse.AI.Job)
L_0002: ldarg.1
L_0003: callvirt Verse.RaceProperties get_RaceProps()
L_0008: callvirt Boolean get_Humanlike()
L_000d: brfalse Label #2
L_0012: ldarg.1
L_0013: ldfld RimWorld.Pawn_StoryTracker story
L_0018: ldc.i4.8
L_0019: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_001e: brfalse Label #3
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: Label #3
L_0029: ldarg.1
L_002a: callvirt Verse.AI.MentalState get_MentalState()
L_002f: castclass Verse.AI.MentalState_SocialFighting
L_0034: ldfld Verse.Pawn otherPawn
L_0039: stloc.0
L_003a: ldarg.1
L_003b: ldloca.s 1 (Verse.Verb)
L_003d: call Boolean TryGetRandomVerbForSocialFight(Verse.Pawn, Verse.Verb ByRef)
L_0042: brtrue Label #4
L_0047: ldnull
L_0048: br Label #0
L_004d: Label #4
L_004d: ldsfld Verse.JobDef SocialFight
L_0052: ldloc.0
L_0053: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0058: newobj Void .ctor(JobDef, LocalTargetInfo)
L_005d: stloc.2
L_005e: ldloc.2
L_005f: ldc.i4.1
L_0060: stfld System.Int32 maxNumMeleeAttacks
L_0065: ldloc.2
L_0066: ldloc.1
L_0067: stfld Verse.Verb verbToUse
L_006c: ldloc.2
L_006d: br Label #0
L_0072: Label #0
L_0072: stloc 3 (Verse.AI.Job)
L_0073: ldarga 1
L_0079: ldloca 3 (Verse.AI.Job)
L_007b: call Void TryGiveJob_Postfix(Verse.Pawn ByRef, Verse.AI.Job ByRef)
L_0080: ldloc 3 (Verse.AI.Job)
L_0081: ret
DONE

PATCHING RimWorld.Pawn_ApparelTracker Void ApparelChanged()


L_0000: ldarg.0
L_0001: ldftn Void <ApparelChanged>m__1()
L_0007: newobj Void .ctor(Object, IntPtr)
L_000c: call Void ExecuteWhenFinished(System.Action)
L_0011: br Label #0
L_0016: Label #0
L_0016: ldarga 0
L_001c: call Void ApparelChanged_Postfix(RimWorld.Pawn_ApparelTracker ByRef)
L_0021: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveAllGraphics()


L_0000: Local var #0 Verse.PawnKindLifeStage
L_0000: ldarg.0
L_0001: call Void ClearCache()
L_0006: ldarg.0
L_0007: ldfld Verse.Pawn pawn
L_000c: callvirt Verse.RaceProperties get_RaceProps()
L_0011: callvirt Boolean get_Humanlike()
L_0016: brfalse Label #2
L_001b: ldarg.0
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_StoryTracker story
L_0027: ldfld RimWorld.BodyType bodyType
L_002c: ldsfld UnityEngine.Shader CutoutSkin
L_0031: ldarg.0
L_0032: ldfld Verse.Pawn pawn
L_0037: ldfld RimWorld.Pawn_StoryTracker story
L_003c: callvirt Color get_SkinColor()
L_0041: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_0046: stfld Verse.Graphic nakedGraphic
L_004b: ldarg.0
L_004c: ldarg.0
L_004d: ldfld Verse.Pawn pawn
L_0052: ldfld RimWorld.Pawn_StoryTracker story
L_0057: ldfld RimWorld.BodyType bodyType
L_005c: ldsfld UnityEngine.Shader CutoutSkin
L_0061: ldsfld UnityEngine.Color RottingColor
L_0066: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_006b: stfld Verse.Graphic rottingGraphic
L_0070: ldarg.0
L_0071: ldstr "Things/Pawn/Humanlike/HumanoidDessicated"
L_0076: ldsfld UnityEngine.Shader Cutout
L_007b: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader)
L_0080: stfld Verse.Graphic dessicatedGraphic
L_0085: ldarg.0
L_0086: ldarg.0
L_0087: ldfld Verse.Pawn pawn
L_008c: ldfld RimWorld.Pawn_StoryTracker story
L_0091: callvirt System.String get_HeadGraphicPath()
L_0096: ldarg.0
L_0097: ldfld Verse.Pawn pawn
L_009c: ldfld RimWorld.Pawn_StoryTracker story
L_00a1: callvirt Color get_SkinColor()
L_00a6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00ab: stfld Verse.Graphic headGraphic
L_00b0: ldarg.0
L_00b1: ldarg.0
L_00b2: ldfld Verse.Pawn pawn
L_00b7: ldfld RimWorld.Pawn_StoryTracker story
L_00bc: callvirt System.String get_HeadGraphicPath()
L_00c1: ldsfld UnityEngine.Color RottingColor
L_00c6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00cb: stfld Verse.Graphic desiccatedHeadGraphic
L_00d0: ldarg.0
L_00d1: call Verse.Graphic_Multi GetSkull()
L_00d6: stfld Verse.Graphic skullGraphic
L_00db: ldarg.0
L_00dc: ldarg.0
L_00dd: ldfld Verse.Pawn pawn
L_00e2: ldfld RimWorld.Pawn_StoryTracker story
L_00e7: callvirt Color get_SkinColor()
L_00ec: call Verse.Graphic_Multi GetStump(Color)
L_00f1: stfld Verse.Graphic headStumpGraphic
L_00f6: ldarg.0
L_00f7: ldsfld UnityEngine.Color RottingColor
L_00fc: call Verse.Graphic_Multi GetStump(Color)
L_0101: stfld Verse.Graphic desiccatedHeadStumpGraphic
L_0106: ldarg.0
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld RimWorld.Pawn_StoryTracker story
L_0112: ldfld RimWorld.HairDef hairDef
L_0117: ldfld System.String texPath
L_011c: ldsfld UnityEngine.Shader Cutout
L_0121: call Vector2 get_one()
L_0126: ldarg.0
L_0127: ldfld Verse.Pawn pawn
L_012c: ldfld RimWorld.Pawn_StoryTracker story
L_0131: ldfld UnityEngine.Color hairColor
L_0136: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_013b: stfld Verse.Graphic hairGraphic
L_0140: ldarg.0
L_0141: call Void ResolveApparelGraphics()
L_0146: br Label #3
L_014b: Label #2
L_014b: ldarg.0
L_014c: ldfld Verse.Pawn pawn
L_0151: ldfld Verse.Pawn_AgeTracker ageTracker
L_0156: callvirt Verse.PawnKindLifeStage get_CurKindLifeStage()
L_015b: stloc.0
L_015c: ldarg.0
L_015d: ldfld Verse.Pawn pawn
L_0162: ldfld Verse.Gender gender
L_0167: ldc.i4.2
L_0168: bne.un Label #4
L_016d: ldloc.0
L_016e: ldfld Verse.GraphicData femaleGraphicData
L_0173: brtrue Label #5
L_0178: Label #4
L_0178: ldarg.0
L_0179: ldloc.0
L_017a: ldfld Verse.GraphicData bodyGraphicData
L_017f: callvirt Verse.Graphic get_Graphic()
L_0184: stfld Verse.Graphic nakedGraphic
L_0189: br Label #6
L_018e: Label #5
L_018e: ldarg.0
L_018f: ldloc.0
L_0190: ldfld Verse.GraphicData femaleGraphicData
L_0195: callvirt Verse.Graphic get_Graphic()
L_019a: stfld Verse.Graphic nakedGraphic
L_019f: Label #6
L_019f: ldarg.0
L_01a0: ldarg.0
L_01a1: ldfld Verse.Graphic nakedGraphic
L_01a6: ldsfld UnityEngine.Shader CutoutSkin
L_01ab: ldsfld UnityEngine.Color RottingColor
L_01b0: ldsfld UnityEngine.Color RottingColor
L_01b5: callvirt Verse.Graphic GetColoredVersion(UnityEngine.Shader, Color, Color)
L_01ba: stfld Verse.Graphic rottingGraphic
L_01bf: ldarg.0
L_01c0: ldfld Verse.Pawn pawn
L_01c5: callvirt Verse.RaceProperties get_RaceProps()
L_01ca: ldfld System.Boolean packAnimal
L_01cf: brfalse Label #7
L_01d4: ldarg.0
L_01d5: ldarg.0
L_01d6: ldfld Verse.Graphic nakedGraphic
L_01db: ldfld System.String path
L_01e0: ldstr "Pack"
L_01e5: call System.String Concat(System.String, System.String)
L_01ea: ldsfld UnityEngine.Shader Cutout
L_01ef: ldarg.0
L_01f0: ldfld Verse.Graphic nakedGraphic
L_01f5: ldfld UnityEngine.Vector2 drawSize
L_01fa: call Color get_white()
L_01ff: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_0204: stfld Verse.Graphic packGraphic
L_0209: Label #7
L_0209: ldloc.0
L_020a: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_020f: brfalse Label #8
L_0214: ldarg.0
L_0215: ldloc.0
L_0216: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_021b: ldarg.0
L_021c: ldfld Verse.Pawn pawn
L_0221: callvirt Verse.Graphic GraphicColoredFor(Verse.Thing)
L_0226: stfld Verse.Graphic dessicatedGraphic
L_022b: Label #3
L_022b: Label #8
L_022b: br Label #0
L_0230: Label #0
L_0230: ldarga 0
L_0236: call Void ResolveAllGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_023b: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveApparelGraphics()


L_0000: Local var #0 RimWorld.Apparel
L_0000: Local var #1 System.Collections.Generic.IEnumerator`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 RimWorld.ApparelGraphicRecord
L_0000: ldarga 0
L_0006: call Void ResolveApparelGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_000b: ldarg.0
L_000c: call Void ClearCache()
L_0011: ldarg.0
L_0012: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0017: callvirt Void Clear()
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0027: callvirt IEnumerable`1 get_WornApparelInDrawOrder()
L_002c: callvirt IEnumerator`1 GetEnumerator()
L_0031: stloc.1
L_0032: br Label #2
L_0037: Label #4
L_0037: ldloc.1
L_0038: callvirt RimWorld.Apparel get_Current()
L_003d: stloc.0
L_003e: ldloc.0
L_003f: ldarg.0
L_0040: ldfld Verse.Pawn pawn
L_0045: call BodyType ModifyChildBodyType(Verse.Pawn)
L_004a: ldloca.s 2 (RimWorld.ApparelGraphicRecord)
L_004c: call Boolean TryGetGraphicApparel(RimWorld.Apparel, BodyType,
ApparelGraphicRecord ByRef)
L_0051: brfalse Label #3
L_0056: ldarg.0
L_0057: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_005c: ldloc.2
L_005d: callvirt Void Add(ApparelGraphicRecord)
L_0062: Label #2
L_0062: Label #3
L_0062: ldloc.1
L_0063: callvirt Boolean MoveNext()
L_0068: brtrue Label #4
L_006d: leave Label #5
L_0072: ldloc.1
L_0073: brfalse Label #6
L_0078: ldloc.1
L_0079: callvirt Void Dispose()
L_007e: Label #6
L_007e: endfinally
L_007f: Label #5
L_007f: br Label #0
L_0084: Label #0
L_0084: ret
DONE

PATCHING Verse.PawnRenderer Void RenderPawnInternal(Vector3, Quaternion, Boolean,


Rot4, Rot4, RotDrawMode, Boolean, Boolean)
L_0000: Local var #0 UnityEngine.Mesh
L_0000: Local var #1 UnityEngine.Vector3
L_0000: Local var #2 System.Collections.Generic.List`1[[UnityEngine.Material,
UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 System.Int32
L_0000: Local var #4 UnityEngine.Material
L_0000: Local var #5 UnityEngine.Vector3
L_0000: Local var #6 UnityEngine.Vector3
L_0000: Local var #7 UnityEngine.Vector3
L_0000: Local var #8 UnityEngine.Vector3
L_0000: Local var #9 UnityEngine.Material
L_0000: Local var #10 UnityEngine.Mesh
L_0000: Local var #11 UnityEngine.Vector3
L_0000: Local var #12 System.Boolean
L_0000: Local var #13 UnityEngine.Mesh
L_0000: Local var #14
System.Collections.Generic.List`1[[RimWorld.ApparelGraphicRecord, Assembly-CSharp,
Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #15 System.Int32
L_0000: Local var #16 RimWorld.ApparelGraphicRecord
L_0000: Local var #17 RimWorld.ApparelGraphicRecord
L_0000: Local var #18 UnityEngine.Material
L_0000: Local var #19 RimWorld.ApparelGraphicRecord
L_0000: Local var #20 UnityEngine.Material
L_0000: Local var #21 RimWorld.ApparelGraphicRecord
L_0000: Local var #22 UnityEngine.Vector3
L_0000: Local var #23 UnityEngine.Mesh
L_0000: Local var #24 UnityEngine.Material
L_0000: Local var #25 System.Int32
L_0000: Local var #26 RimWorld.ApparelGraphicRecord
L_0000: Local var #27 UnityEngine.Material
L_0000: Local var #28 System.Collections.Generic.List`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #29 System.Int32
L_0000: Local var #30 UnityEngine.Vector3
L_0000: ldarg.0
L_0001: ldfld Verse.PawnGraphicSet graphics
L_0006: callvirt Boolean get_AllResolved()
L_000b: brtrue Label #2
L_0010: ldarg.0
L_0011: ldfld Verse.PawnGraphicSet graphics
L_0016: callvirt Void ResolveAllGraphics()
L_001b: Label #2
L_001b: ldnull
L_001c: stloc.0
L_001d: ldarg.0
L_001e: ldfld Verse.Pawn pawn
L_0023: ldfld Verse.Pawn_AgeTracker ageTracker
L_0028: call Int32 get_CurLifeStageIndex()
L_002d: ldc.i4.2
L_002e: blt Label #43
L_0033: ldarg.3
L_0034: brfalse Label #3
L_0039: Label #43
L_0039: ldarg.1
L_003a: ldarg.0
L_003b: ldfld Verse.Pawn pawn
L_0040: ldarg.s 7
L_0045: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_004a: stloc.1
L_004b: ldloca.s 1 (UnityEngine.Vector3)
L_004d: dup
L_004e: ldfld System.Single y
L_0053: ldc.r4 0.0078125
L_0058: add
L_0059: stfld System.Single y
L_005e: ldarg.s 6
L_0060: ldc.i4.2
L_0061: bne.un Label #4
L_0066: ldarg.0
L_0067: ldfld Verse.Pawn pawn
L_006c: callvirt Verse.RaceProperties get_RaceProps()
L_0071: callvirt Boolean get_Humanlike()
L_0076: brtrue Label #5
L_007b: ldarg.0
L_007c: ldfld Verse.PawnGraphicSet graphics
L_0081: ldfld Verse.Graphic dessicatedGraphic
L_0086: brfalse Label #6
L_008b: ldarg.s 7
L_008d: brtrue Label #7
L_0092: ldarg.0
L_0093: ldfld Verse.PawnGraphicSet graphics
L_0098: ldfld Verse.Graphic dessicatedGraphic
L_009d: ldloc.1
L_009e: ldarg.s 4
L_00a0: ldarg.0
L_00a1: ldfld Verse.Pawn pawn
L_00a6: ldc.r4 0
L_00ab: callvirt Void Draw(Vector3, Rot4, Verse.Thing, Single)
L_00b0: br Label #8
L_00b5: Label #4
L_00b5: Label #5
L_00b5: Label #6
L_00b5: Label #7
L_00b5: ldarg.0
L_00b6: ldfld Verse.Pawn pawn
L_00bb: callvirt Verse.RaceProperties get_RaceProps()
L_00c0: callvirt Boolean get_Humanlike()
L_00c5: brfalse Label #9
L_00ca: ldsfld Verse.GraphicMeshSet humanlikeBodySet
L_00cf: ldarg.s 4
L_00d1: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00d6: stloc.0
L_00d7: br Label #10
L_00dc: Label #9
L_00dc: ldarg.0
L_00dd: ldfld Verse.PawnGraphicSet graphics
L_00e2: ldfld Verse.Graphic nakedGraphic
L_00e7: ldarg.s 4
L_00e9: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00ee: stloc.0
L_00ef: Label #10
L_00ef: ldarg.0
L_00f0: ldfld Verse.PawnGraphicSet graphics
L_00f5: ldarg.s 4
L_00f7: ldarg.s 6
L_00f9: callvirt System.Collections.Generic.List`1[UnityEngine.Material]
MatsBodyBaseAt(Rot4, RotDrawMode)
L_00fe: stloc.2
L_00ff: ldc.i4.0
L_0100: stloc.3
L_0101: br Label #11
L_0106: Label #12
L_0106: ldarg.0
L_0107: ldfld Verse.PawnGraphicSet graphics
L_010c: ldfld Verse.DamageFlasher flasher
L_0111: ldloc.2
L_0112: ldloc.3
L_0113: callvirt UnityEngine.Material get_Item(Int32)
L_0118: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_011d: stloc.s 4 (UnityEngine.Material)
L_011f: ldloc.s 4
L_0124: ldarg.0
L_0125: ldfld Verse.Pawn pawn
L_012a: ldarg.s 4
L_012f: call UnityEngine.Material ModifyClothingForChild(UnityEngine.Material,
Verse.Pawn, Rot4)
L_0134: stloc.s 4
L_0139: ldloc.0
L_013a: ldloc.1
L_013b: ldarg.2
L_013c: ldloc.s 4 (UnityEngine.Material)
L_013e: ldarg.s 7
L_0140: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_0145: ldloca.s 1 (UnityEngine.Vector3)
L_0147: dup
L_0148: ldfld System.Single y
L_014d: ldloc.s 18
L_0152: ldarg.0
L_0153: ldfld Verse.Pawn pawn
L_0158: call UnityEngine.Material ModifyHatForChild(UnityEngine.Material,
Verse.Pawn)
L_015d: stloc.s 18
L_0162: ldc.r4 0.00390625
L_0167: add
L_0168: stfld System.Single y
L_016d: ldloc.3
L_016e: ldc.i4.1
L_016f: add
L_0170: stloc.3
L_0171: Label #11
L_0171: ldloc.3
L_0172: ldloc.2
L_0173: callvirt Int32 get_Count()
L_0178: blt Label #12
L_017d: ldarg.s 6
L_017f: brtrue Label #13
L_0184: ldarg.1
L_0185: ldarg.0
L_0186: ldfld Verse.Pawn pawn
L_018b: ldarg.s 7
L_0190: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0195: stloc.s 5 (UnityEngine.Vector3)
L_0197: ldloca.s 5 (UnityEngine.Vector3)
L_0199: dup
L_019a: ldfld System.Single y
L_019f: ldc.r4 0.01953125
L_01a4: add
L_01a5: stfld System.Single y
L_01aa: ldarg.0
L_01ab: ldfld RimWorld.PawnWoundDrawer woundOverlays
L_01b0: ldloc.s 5 (UnityEngine.Vector3)
L_01b2: ldloc.0
L_01b3: ldarg.2
L_01b4: ldarg.s 7
L_01b6: callvirt Void RenderOverBody(Vector3, UnityEngine.Mesh, Quaternion,
Boolean)
L_01bb: Label #3
L_01bb: Label #8
L_01bb: Label #13
L_01bb: ldarg.1
L_01bc: ldarg.0
L_01bd: ldfld Verse.Pawn pawn
L_01c2: ldarg.s 7
L_01c7: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01cc: stloc.s 6 (UnityEngine.Vector3)
L_01ce: ldarg.1
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldarg.s 7
L_01da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01df: stloc.s 7 (UnityEngine.Vector3)
L_01e1: ldarg.s 4
L_01e3: call Rot4 get_North()
L_01e8: call Boolean op_Inequality(Rot4, Rot4)
L_01ed: brfalse Label #14
L_01f2: ldloca.s 7 (UnityEngine.Vector3)
L_01f4: dup
L_01f5: ldfld System.Single y
L_01fa: ldc.r4 0.02734375
L_01ff: add
L_0200: stfld System.Single y
L_0205: ldloca.s 6 (UnityEngine.Vector3)
L_0207: dup
L_0208: ldfld System.Single y
L_020d: ldc.r4 0.0234375
L_0212: add
L_0213: stfld System.Single y
L_0218: br Label #15
L_021d: Label #14
L_021d: ldloca.s 7 (UnityEngine.Vector3)
L_021f: dup
L_0220: ldfld System.Single y
L_0225: ldc.r4 0.0234375
L_022a: add
L_022b: stfld System.Single y
L_0230: ldloca.s 6 (UnityEngine.Vector3)
L_0232: dup
L_0233: ldfld System.Single y
L_0238: ldc.r4 0.02734375
L_023d: add
L_023e: stfld System.Single y
L_0243: Label #15
L_0243: ldarg.0
L_0244: ldfld Verse.PawnGraphicSet graphics
L_0249: ldfld Verse.Graphic headGraphic
L_024e: brfalse Label #16
L_0253: ldarg.0
L_0254: ldfld Verse.Pawn pawn
L_0259: call Boolean RaceUsesChildren(Verse.Pawn)
L_025e: brfalse Label #44
L_0263: ldarg.0
L_0264: ldfld Verse.Pawn pawn
L_0269: call Boolean EnsurePawnIsChildOrOlder(Verse.Pawn)
L_026e: brfalse Label #16
L_0273: Label #44
L_0273: nop
L_0274: ldarg.2
L_0275: ldarg.0
L_0276: ldarg.s 5
L_0278: call Vector3 BaseHeadOffsetAt(Rot4)
L_027d: call Vector3 op_Multiply(Quaternion, Vector3)
L_0282: stloc.s 8 (UnityEngine.Vector3)
L_0284: ldarg.0
L_0285: ldfld Verse.PawnGraphicSet graphics
L_028a: ldarg.s 5
L_028c: ldarg.s 6
L_028e: ldarg.s 8
L_0290: callvirt UnityEngine.Material HeadMatAt(Rot4, RotDrawMode, Boolean)
L_0295: stloc.s 9 (UnityEngine.Material)
L_0297: ldloc.s 9 (UnityEngine.Material)
L_0299: ldnull
L_029a: call Boolean op_Inequality(UnityEngine.Object, UnityEngine.Object)
L_029f: brfalse Label #17
L_02a4: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_02a9: ldarg.s 5
L_02ab: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_02b0: stloc.s 10 (UnityEngine.Mesh)
L_02b2: ldloc.s 10 (UnityEngine.Mesh)
L_02b4: ldloc.s 7 (UnityEngine.Vector3)
L_02b6: ldloc.s 8 (UnityEngine.Vector3)
L_02b8: call Vector3 op_Addition(Vector3, Vector3)
L_02bd: ldarg.2
L_02be: ldloc.s 9 (UnityEngine.Material)
L_02c0: ldarg.s 7
L_02c2: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_02c7: Label #17
L_02c7: ldarg.1
L_02c8: ldloc.s 8 (UnityEngine.Vector3)
L_02ca: call Vector3 op_Addition(Vector3, Vector3)
L_02cf: ldarg.0
L_02d0: ldfld Verse.Pawn pawn
L_02d5: ldarg.s 7
L_02da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_02df: stloc.s 11 (UnityEngine.Vector3)
L_02e1: ldloca.s 11 (UnityEngine.Vector3)
L_02e3: dup
L_02e4: ldfld System.Single y
L_02e9: ldc.r4 0.03125
L_02ee: add
L_02ef: stfld System.Single y
L_02f4: ldc.i4.0
L_02f5: stloc.s 12 (System.Boolean)
L_02f7: ldarg.s 7
L_02f9: brfalse Label #18
L_02fe: call Boolean get_HatsOnlyOnMap()
L_0303: brtrue Label #19
L_0308: Label #18
L_0308: ldarg.0
L_0309: ldfld Verse.PawnGraphicSet graphics
L_030e: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_0313: ldarg.s 5
L_0315: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_031a: stloc.s 13 (UnityEngine.Mesh)
L_031c: ldarg.0
L_031d: ldfld Verse.PawnGraphicSet graphics
L_0322: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0327: stloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0329: ldc.i4.0
L_032a: stloc.s 15 (System.Int32)
L_032c: br Label #20
L_0331: Label #26
L_0331: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0333: ldloc.s 15 (System.Int32)
L_0335: callvirt ApparelGraphicRecord get_Item(Int32)
L_033a: stloc.s 16 (RimWorld.ApparelGraphicRecord)
L_033c: ldloca.s 16 (RimWorld.ApparelGraphicRecord)
L_033e: ldfld RimWorld.Apparel sourceApparel
L_0343: ldfld Verse.ThingDef def
L_0348: ldfld RimWorld.ApparelProperties apparel
L_034d: callvirt ApparelLayer get_LastLayer()
L_0352: ldc.i4.4
L_0353: bne.un Label #21
L_0358: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_035a: ldloc.s 15 (System.Int32)
L_035c: callvirt ApparelGraphicRecord get_Item(Int32)
L_0361: stloc.s 17 (RimWorld.ApparelGraphicRecord)
L_0363: ldloca.s 17 (RimWorld.ApparelGraphicRecord)
L_0365: ldfld RimWorld.Apparel sourceApparel
L_036a: ldfld Verse.ThingDef def
L_036f: ldfld RimWorld.ApparelProperties apparel
L_0374: ldfld System.Boolean hatRenderedFrontOfFace
L_0379: brtrue Label #22
L_037e: ldc.i4.1
L_037f: stloc.s 12 (System.Boolean)
L_0381: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0383: ldloc.s 15 (System.Int32)
L_0385: callvirt ApparelGraphicRecord get_Item(Int32)
L_038a: stloc.s 19 (RimWorld.ApparelGraphicRecord)
L_038c: ldloca.s 19 (RimWorld.ApparelGraphicRecord)
L_038e: ldfld Verse.Graphic graphic
L_0393: ldarg.s 4
L_0395: ldnull
L_0396: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_039b: stloc.s 18 (UnityEngine.Material)
L_039d: ldarg.0
L_039e: ldfld Verse.PawnGraphicSet graphics
L_03a3: ldfld Verse.DamageFlasher flasher
L_03a8: ldloc.s 18 (UnityEngine.Material)
L_03aa: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03af: stloc.s 18 (UnityEngine.Material)
L_03b1: ldloc.s 13 (UnityEngine.Mesh)
L_03b3: ldloc.s 11 (UnityEngine.Vector3)
L_03b5: ldarg.2
L_03b6: ldloc.s 18 (UnityEngine.Material)
L_03b8: ldarg.s 7
L_03ba: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_03bf: br Label #23
L_03c4: Label #22
L_03c4: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_03c6: ldloc.s 15 (System.Int32)
L_03c8: callvirt ApparelGraphicRecord get_Item(Int32)
L_03cd: stloc.s 21 (RimWorld.ApparelGraphicRecord)
L_03cf: ldloca.s 21 (RimWorld.ApparelGraphicRecord)
L_03d1: ldfld Verse.Graphic graphic
L_03d6: ldarg.s 4
L_03d8: ldnull
L_03d9: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_03de: stloc.s 20 (UnityEngine.Material)
L_03e0: ldarg.0
L_03e1: ldfld Verse.PawnGraphicSet graphics
L_03e6: ldfld Verse.DamageFlasher flasher
L_03eb: ldloc.s 20 (UnityEngine.Material)
L_03ed: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03f2: stloc.s 20 (UnityEngine.Material)
L_03f4: ldarg.1
L_03f5: ldloc.s 8 (UnityEngine.Vector3)
L_03f7: call Vector3 op_Addition(Vector3, Vector3)
L_03fc: stloc.s 22 (UnityEngine.Vector3)
L_03fe: ldloca.s 22 (UnityEngine.Vector3)
L_0400: dup
L_0401: ldfld System.Single y
L_0406: ldarg.s 4
L_0408: call Rot4 get_North()
L_040d: call Boolean op_Equality(Rot4, Rot4)
L_0412: brfalse Label #24
L_0417: ldc.r4 0.00390625
L_041c: br Label #25
L_0421: Label #24
L_0421: ldc.r4 0.03515625
L_0426: Label #25
L_0426: add
L_0427: stfld System.Single y
L_042c: ldloc.s 13 (UnityEngine.Mesh)
L_042e: ldloc.s 22 (UnityEngine.Vector3)
L_0430: ldarg.2
L_0431: ldloc.s 20 (UnityEngine.Material)
L_0433: ldarg.s 7
L_0435: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_043a: Label #21
L_043a: Label #23
L_043a: ldloc.s 15 (System.Int32)
L_043c: ldc.i4.1
L_043d: add
L_043e: stloc.s 15 (System.Int32)
L_0440: Label #20
L_0440: ldloc.s 15 (System.Int32)
L_0442: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0444: callvirt Int32 get_Count()
L_0449: blt Label #26
L_044e: Label #19
L_044e: ldloc.s 12 (System.Boolean)
L_0450: brtrue Label #27
L_0455: ldarg.s 6
L_0457: ldc.i4.2
L_0458: beq Label #28
L_045d: ldarg.s 8
L_045f: brtrue Label #29
L_0464: ldarg.0
L_0465: ldfld Verse.PawnGraphicSet graphics
L_046a: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_046f: ldarg.s 5
L_0471: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0476: stloc.s 23 (UnityEngine.Mesh)
L_0478: ldarg.0
L_0479: ldfld Verse.PawnGraphicSet graphics
L_047e: ldarg.s 5
L_0480: callvirt UnityEngine.Material HairMatAt(Rot4)
L_0485: stloc.s 24 (UnityEngine.Material)
L_0487: ldloc.s 24
L_048c: ldarg.0
L_048d: ldfld Verse.Pawn pawn
L_0492: call UnityEngine.Material ModifyHairForChild(UnityEngine.Material,
Verse.Pawn)
L_0497: stloc.s 24
L_049c: ldloc.s 23 (UnityEngine.Mesh)
L_049e: ldloc.s 11 (UnityEngine.Vector3)
L_04a0: ldarg.2
L_04a1: ldloc.s 24 (UnityEngine.Material)
L_04a3: ldarg.s 7
L_04a5: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_04aa: Label #16
L_04aa: Label #27
L_04aa: Label #28
L_04aa: Label #29
L_04aa: ldarg.3
L_04ab: brfalse Label #30
L_04b0: ldc.i4.0
L_04b1: stloc.s 25 (System.Int32)
L_04b3: br Label #31
L_04b8: Label #33
L_04b8: ldarg.0
L_04b9: ldfld Verse.PawnGraphicSet graphics
L_04be: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_04c3: ldloc.s 25 (System.Int32)
L_04c5: callvirt ApparelGraphicRecord get_Item(Int32)
L_04ca: stloc.s 26 (RimWorld.ApparelGraphicRecord)
L_04cc: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ce: ldfld RimWorld.Apparel sourceApparel
L_04d3: ldfld Verse.ThingDef def
L_04d8: ldfld RimWorld.ApparelProperties apparel
L_04dd: callvirt ApparelLayer get_LastLayer()
L_04e2: ldc.i4.2
L_04e3: bne.un Label #32
L_04e8: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ea: ldfld Verse.Graphic graphic
L_04ef: ldarg.s 4
L_04f1: ldnull
L_04f2: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_04f7: stloc.s 27 (UnityEngine.Material)
L_04f9: ldarg.0
L_04fa: ldfld Verse.PawnGraphicSet graphics
L_04ff: ldfld Verse.DamageFlasher flasher
L_0504: ldloc.s 27 (UnityEngine.Material)
L_0506: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_050b: stloc.s 27 (UnityEngine.Material)
L_050d: ldloc.0
L_050e: ldloc.s 6 (UnityEngine.Vector3)
L_0510: ldarg.2
L_0511: ldloc.s 27 (UnityEngine.Material)
L_0513: ldarg.s 7
L_0515: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_051a: Label #32
L_051a: ldloc.s 25 (System.Int32)
L_051c: ldc.i4.1
L_051d: add
L_051e: stloc.s 25 (System.Int32)
L_0520: Label #31
L_0520: ldloc.s 25 (System.Int32)
L_0522: ldarg.0
L_0523: ldfld Verse.PawnGraphicSet graphics
L_0528: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_052d: callvirt Int32 get_Count()
L_0532: blt Label #33
L_0537: Label #30
L_0537: ldarg.s 7
L_0539: brtrue Label #34
L_053e: ldarg.0
L_053f: ldfld Verse.Pawn pawn
L_0544: callvirt Verse.RaceProperties get_RaceProps()
L_0549: callvirt Boolean get_Animal()
L_054e: brfalse Label #35
L_0553: ldarg.0
L_0554: ldfld Verse.Pawn pawn
L_0559: ldfld Verse.Pawn_InventoryTracker inventory
L_055e: brfalse Label #36
L_0563: ldarg.0
L_0564: ldfld Verse.Pawn pawn
L_0569: ldfld Verse.Pawn_InventoryTracker inventory
L_056e: ldfld Verse.ThingOwner`1[Verse.Thing] innerContainer
L_0573: callvirt Int32 get_Count()
L_0578: ldc.i4.0
L_0579: ble Label #37
L_057e: ldarg.0
L_057f: ldfld Verse.PawnGraphicSet graphics
L_0584: ldfld Verse.Graphic packGraphic
L_0589: brfalse Label #38
L_058e: ldloc.0
L_058f: ldloc.s 6 (UnityEngine.Vector3)
L_0591: ldarg.2
L_0592: ldarg.0
L_0593: ldfld Verse.PawnGraphicSet graphics
L_0598: ldfld Verse.Graphic packGraphic
L_059d: ldarg.s 4
L_059f: ldnull
L_05a0: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_05a5: ldc.i4.0
L_05a6: call Void DrawMesh(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Int32)
L_05ab: Label #34
L_05ab: Label #35
L_05ab: Label #36
L_05ab: Label #37
L_05ab: Label #38
L_05ab: ldarg.s 7
L_05ad: brtrue Label #39
L_05b2: ldarg.0
L_05b3: ldarg.1
L_05b4: call Void DrawEquipment(Vector3)
L_05b9: ldarg.0
L_05ba: ldfld Verse.Pawn pawn
L_05bf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05c4: brfalse Label #40
L_05c9: ldarg.0
L_05ca: ldfld Verse.Pawn pawn
L_05cf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05d4: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_05d9: stloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05db: ldc.i4.0
L_05dc: stloc.s 29 (System.Int32)
L_05de: br Label #41
L_05e3: Label #42
L_05e3: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05e5: ldloc.s 29 (System.Int32)
L_05e7: callvirt RimWorld.Apparel get_Item(Int32)
L_05ec: callvirt Void DrawWornExtras()
L_05f1: ldloc.s 29 (System.Int32)
L_05f3: ldc.i4.1
L_05f4: add
L_05f5: stloc.s 29 (System.Int32)
L_05f7: Label #41
L_05f7: ldloc.s 29 (System.Int32)
L_05f9: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05fb: callvirt Int32 get_Count()
L_0600: blt Label #42
L_0605: Label #40
L_0605: ldarg.1
L_0606: ldarg.0
L_0607: ldfld Verse.Pawn pawn
L_060c: ldarg.s 7
L_0611: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0616: stloc.s 30 (UnityEngine.Vector3)
L_0618: ldloca.s 30 (UnityEngine.Vector3)
L_061a: dup
L_061b: ldfld System.Single y
L_0620: ldc.r4 0.04296875
L_0625: add
L_0626: stfld System.Single y
L_062b: ldarg.0
L_062c: ldfld Verse.PawnHeadOverlays statusOverlays
L_0631: ldloc.s 30 (UnityEngine.Vector3)
L_0633: ldarg.2
L_0634: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_0639: ldarg.s 5
L_063b: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0640: callvirt Void RenderStatusOverlays(Vector3, Quaternion, UnityEngine.Mesh)
L_0645: Label #39
L_0645: br Label #0
L_064a: Label #0
L_064a: ret
DONE

PATCHING Verse.PawnGenerator Verse.Pawn GeneratePawn(PawnGenerationRequest)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Pawn
L_0000: ldnull
L_0001: stloc 1 (Verse.Pawn)
L_0002: ldarg.0
L_0003: call Verse.Pawn GeneratePawnInternal(PawnGenerationRequest)
L_0008: stloc.0
L_0009: leave Label #2
L_000e: endfinally
L_000f: Label #2
L_000f: ldloc.0
L_0010: br Label #0
L_0015: Label #0
L_0015: stloc 1 (Verse.Pawn)
L_0016: ldarga 0
L_001c: ldloca 1 (Verse.Pawn)
L_001e: call Void _GeneratePawn(PawnGenerationRequest ByRef, Verse.Pawn ByRef)
L_0023: ldloc 1 (Verse.Pawn)
L_0024: ret
DONE

PATCHING RimWorld.JobGiver_OptimizeApparel Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 RimWorld.Outfit
L_0000: Local var #1 System.Collections.Generic.List`1[[RimWorld.Apparel, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.AI.Job
L_0000: Local var #4 Verse.Thing
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #7 System.Int32
L_0000: Local var #8 RimWorld.Apparel
L_0000: Local var #9 RimWorld.SlotGroup
L_0000: Local var #10 System.Single
L_0000: Local var #11 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 11 (Verse.AI.Job)
L_0003: ldarg.1
L_0004: ldfld RimWorld.Pawn_OutfitTracker outfits
L_0009: brtrue Label #2
L_000e: ldarg.1
L_000f: ldstr " tried to run JobGiver_OptimizeApparel without an OutfitTracker"
L_0014: call System.String Concat(System.Object, System.Object)
L_0019: ldc.i4 5643897
L_001e: call Void ErrorOnce(System.String, Int32)
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: ldarg.1
L_002a: callvirt RimWorld.Faction get_Faction()
L_002f: call RimWorld.Faction get_OfPlayer()
L_0034: beq Label #3
L_0039: ldstr "Non-colonist "
L_003e: ldarg.1
L_003f: ldstr " tried to optimize apparel."
L_0044: call System.String Concat(System.Object, System.Object, System.Object)
L_0049: ldc.i4 764323
L_004e: call Void ErrorOnce(System.String, Int32)
L_0053: ldnull
L_0054: br Label #0
L_0059: Label #3
L_0059: ldsfld System.Boolean debugApparelOptimize
L_005e: brtrue Label #4
L_0063: call Verse.TickManager get_TickManager()
L_0068: callvirt Int32 get_TicksGame()
L_006d: ldarg.1
L_006e: ldfld Verse.AI.Pawn_MindState mindState
L_0073: ldfld System.Int32 nextApparelOptimizeTick
L_0078: bge Label #5
L_007d: ldnull
L_007e: br Label #0
L_0083: Label #5
L_0083: br Label #6
L_0088: Label #4
L_0088: newobj Void .ctor()
L_008d: stsfld System.Text.StringBuilder debugSb
L_0092: ldsfld System.Text.StringBuilder debugSb
L_0097: ldc.i4.4
L_0098: newarr System.Object
L_009d: dup
L_009e: ldc.i4.0
L_009f: ldstr "Scanning for "
L_00a4: stelem.ref
L_00a5: dup
L_00a6: ldc.i4.1
L_00a7: ldarg.1
L_00a8: stelem.ref
L_00a9: dup
L_00aa: ldc.i4.2
L_00ab: ldstr " at "
L_00b0: stelem.ref
L_00b1: dup
L_00b2: ldc.i4.3
L_00b3: ldarg.1
L_00b4: callvirt IntVec3 get_Position()
L_00b9: box Verse.IntVec3
L_00be: stelem.ref
L_00bf: call System.String Concat(System.Object[])
L_00c4: callvirt System.Text.StringBuilder AppendLine(System.String)
L_00c9: pop
L_00ca: Label #6
L_00ca: ldarg.1
L_00cb: ldfld RimWorld.Pawn_OutfitTracker outfits
L_00d0: callvirt RimWorld.Outfit get_CurrentOutfit()
L_00d5: stloc.0
L_00d6: ldarg.1
L_00d7: ldfld RimWorld.Pawn_ApparelTracker apparel
L_00dc: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_00e1: stloc.1
L_00e2: ldloc.1
L_00e3: callvirt Int32 get_Count()
L_00e8: ldc.i4.1
L_00e9: sub
L_00ea: stloc.2
L_00eb: br Label #7
L_00f0: Label #10
L_00f0: ldloc.0
L_00f1: ldfld Verse.ThingFilter filter
L_00f6: ldloc.1
L_00f7: ldloc.2
L_00f8: callvirt RimWorld.Apparel get_Item(Int32)
L_00fd: callvirt Boolean Allows(Verse.Thing)
L_0102: brtrue Label #8
L_0107: ldarg.1
L_0108: ldfld RimWorld.Pawn_OutfitTracker outfits
L_010d: ldfld RimWorld.OutfitForcedHandler forcedHandler
L_0112: ldloc.1
L_0113: ldloc.2
L_0114: callvirt RimWorld.Apparel get_Item(Int32)
L_0119: callvirt Boolean AllowedToAutomaticallyDrop(RimWorld.Apparel)
L_011e: brfalse Label #9
L_0123: ldsfld Verse.JobDef RemoveApparel
L_0128: ldloc.1
L_0129: ldloc.2
L_012a: callvirt RimWorld.Apparel get_Item(Int32)
L_012f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0134: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0139: stloc.3
L_013a: ldloc.3
L_013b: ldc.i4.1
L_013c: stfld System.Boolean haulDroppedApparel
L_0141: ldloc.3
L_0142: br Label #0
L_0147: Label #8
L_0147: Label #9
L_0147: ldloc.2
L_0148: ldc.i4.1
L_0149: sub
L_014a: stloc.2
L_014b: Label #7
L_014b: ldloc.2
L_014c: ldc.i4.0
L_014d: bge Label #10
L_0152: ldnull
L_0153: stloc.s 4 (Verse.Thing)
L_0155: ldc.r4 0
L_015a: stloc.s 5 (System.Single)
L_015c: ldarg.1
L_015d: callvirt Verse.Map get_Map()
L_0162: ldfld Verse.ListerThings listerThings
L_0167: ldc.i4.s 26
L_0169: callvirt System.Collections.Generic.List`1[Verse.Thing]
ThingsInGroup(ThingRequestGroup)
L_016e: stloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0170: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0172: callvirt Int32 get_Count()
L_0177: brtrue Label #11
L_017c: ldarg.0
L_017d: ldarg.1
L_017e: call Void SetNextOptimizeTick(Verse.Pawn)
L_0183: ldnull
L_0184: br Label #0
L_0189: Label #11
L_0189: ldarg.1
L_018a: ldarg.1
L_018b: callvirt Verse.Map get_Map()
L_0190: callvirt Int32 get_Tile()
L_0195: ldarg.1
L_0196: call Twelfth Twelfth(Verse.Thing)
L_019b: call NeededWarmth CalculateNeededWarmth(Verse.Pawn, Int32, Twelfth)
L_01a0: stsfld RimWorld.NeededWarmth neededWarmth
L_01a5: ldc.i4.0
L_01a6: stloc.s 7 (System.Int32)
L_01a8: br Label #12
L_01ad: Label #27
L_01ad: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_01af: ldloc.s 7 (System.Int32)
L_01b1: callvirt Verse.Thing get_Item(Int32)
L_01b6: castclass RimWorld.Apparel
L_01bb: stloc.s 8 (RimWorld.Apparel)
L_01bd: ldloc.0
L_01be: ldfld Verse.ThingFilter filter
L_01c3: ldloc.s 8 (RimWorld.Apparel)
L_01c5: callvirt Boolean Allows(Verse.Thing)
L_01ca: brtrue Label #13
L_01cf: br Label #14
L_01d4: Label #13
L_01d4: ldloc.s 8 (RimWorld.Apparel)
L_01d6: callvirt Verse.Map get_Map()
L_01db: ldfld RimWorld.SlotGroupManager slotGroupManager
L_01e0: ldloc.s 8 (RimWorld.Apparel)
L_01e2: callvirt IntVec3 get_Position()
L_01e7: callvirt RimWorld.SlotGroup SlotGroupAt(IntVec3)
L_01ec: stloc.s 9 (RimWorld.SlotGroup)
L_01ee: ldloc.s 9 (RimWorld.SlotGroup)
L_01f0: brtrue Label #15
L_01f5: br Label #16
L_01fa: Label #15
L_01fa: ldloc.s 8 (RimWorld.Apparel)
L_01fc: ldarg.1
L_01fd: call Boolean IsForbidden(Verse.Thing, Verse.Pawn)
L_0202: brfalse Label #17
L_0207: br Label #18
L_020c: Label #17
L_020c: ldarg.1
L_020d: ldloc.s 8 (RimWorld.Apparel)
L_020f: call Single ApparelScoreGain(Verse.Pawn, RimWorld.Apparel)
L_0214: stloc.s 10 (System.Single)
L_0216: ldsfld System.Boolean debugApparelOptimize
L_021b: brfalse Label #19
L_0220: ldsfld System.Text.StringBuilder debugSb
L_0225: ldloc.s 8 (RimWorld.Apparel)
L_0227: callvirt System.String get_LabelCap()
L_022c: ldstr ": "
L_0231: ldloca.s 10 (System.Single)
L_0233: ldstr "F2"
L_0238: call System.String ToString(System.String)
L_023d: call System.String Concat(System.String, System.String, System.String)
L_0242: callvirt System.Text.StringBuilder AppendLine(System.String)
L_0247: pop
L_0248: Label #19
L_0248: ldloc.s 10 (System.Single)
L_024a: ldc.r4 0.05
L_024f: blt Label #20
L_0254: ldloc.s 10 (System.Single)
L_0256: ldloc.s 5 (System.Single)
L_0258: bge.un Label #21
L_025d: Label #20
L_025d: br Label #22
L_0262: Label #21
L_0262: ldarg.1
L_0263: ldloc.s 8 (RimWorld.Apparel)
L_0265: ldfld Verse.ThingDef def
L_026a: call Boolean HasPartsToWear(Verse.Pawn, Verse.ThingDef)
L_026f: brtrue Label #23
L_0274: br Label #24
L_0279: Label #23
L_0279: ldarg.1
L_027a: ldloc.s 8 (RimWorld.Apparel)
L_027c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0281: ldc.i4.1
L_0282: ldarg.1
L_0283: call Danger NormalMaxDanger(Verse.Pawn)
L_0288: ldc.i4.1
L_0289: ldc.i4.m1
L_028a: ldnull
L_028b: ldc.i4.0
L_028c: call Boolean CanReserveAndReach(Verse.Pawn, LocalTargetInfo, PathEndMode,
Danger, Int32, Int32, Verse.ReservationLayerDef, Boolean)
L_0291: brtrue Label #25
L_0296: br Label #26
L_029b: Label #25
L_029b: ldloc.s 8 (RimWorld.Apparel)
L_029d: stloc.s 4 (Verse.Thing)
L_029f: ldloc.s 10 (System.Single)
L_02a1: stloc.s 5 (System.Single)
L_02a3: Label #14
L_02a3: Label #16
L_02a3: Label #18
L_02a3: Label #22
L_02a3: Label #24
L_02a3: Label #26
L_02a3: ldloc.s 7 (System.Int32)
L_02a5: ldc.i4.1
L_02a6: add
L_02a7: stloc.s 7 (System.Int32)
L_02a9: Label #12
L_02a9: ldloc.s 7 (System.Int32)
L_02ab: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_02ad: callvirt Int32 get_Count()
L_02b2: blt Label #27
L_02b7: ldsfld System.Boolean debugApparelOptimize
L_02bc: brfalse Label #28
L_02c1: ldsfld System.Text.StringBuilder debugSb
L_02c6: ldstr "BEST: "
L_02cb: ldloc.s 4 (Verse.Thing)
L_02cd: call System.String Concat(System.Object, System.Object)
L_02d2: callvirt System.Text.StringBuilder AppendLine(System.String)
L_02d7: pop
L_02d8: ldsfld System.Text.StringBuilder debugSb
L_02dd: callvirt System.String ToString()
L_02e2: call Void Message(System.String)
L_02e7: ldnull
L_02e8: stsfld System.Text.StringBuilder debugSb
L_02ed: Label #28
L_02ed: ldloc.s 4 (Verse.Thing)
L_02ef: brtrue Label #29
L_02f4: ldarg.0
L_02f5: ldarg.1
L_02f6: call Void SetNextOptimizeTick(Verse.Pawn)
L_02fb: ldnull
L_02fc: br Label #0
L_0301: Label #29
L_0301: ldsfld Verse.JobDef Wear
L_0306: ldloc.s 4 (Verse.Thing)
L_0308: call LocalTargetInfo op_Implicit(Verse.Thing)
L_030d: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0312: br Label #0
L_0317: Label #0
L_0317: stloc 11 (Verse.AI.Job)
L_0319: ldloca 11 (Verse.AI.Job)
L_031b: ldarga 1
L_0321: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_0326: ldloc 11 (Verse.AI.Job)
L_0328: ret
DONE

PATCHING Verse.Pawn_HealthTracker Boolean ShouldBeDowned()


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean get_InPainShock()
L_000c: brtrue Label #2
L_0011: ldarg.0
L_0012: ldfld Verse.PawnCapacitiesHandler capacities
L_0017: callvirt Boolean get_CanBeAwake()
L_001c: brfalse Label #3
L_0021: ldarg.0
L_0022: ldfld Verse.PawnCapacitiesHandler capacities
L_0027: ldsfld Verse.PawnCapacityDef Moving
L_002c: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0031: ldc.i4.0
L_0032: ceq
L_0034: br Label #4
L_0039: Label #2
L_0039: Label #3
L_0039: ldc.i4.1
L_003a: Label #4
L_003a: br Label #0
L_003f: Label #0
L_003f: stloc 0 (System.Boolean)
L_0040: ldarga 0
L_0046: ldloca 0 (System.Boolean)
L_0048: call Void SBD(Verse.Pawn_HealthTracker ByRef, Boolean ByRef)
L_004d: ldloc 0 (System.Boolean)
L_004e: ret
DONE
PATCHING Verse.Pawn_HealthTracker Void CheckForStateChange(Nullable`1,
Verse.Hediff)
L_0000: Local var #0 System.Single
L_0000: Local var #1 Verse.DamageInfo
L_0000: Local var #2 Verse.ThingWithComps
L_0000: ldarg.0
L_0001: call Boolean get_Dead()
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: call Boolean ShouldBeDead()
L_0011: brfalse Label #3
L_0016: ldarg.0
L_0017: ldfld Verse.Pawn pawn
L_001c: callvirt Boolean get_Destroyed()
L_0021: brtrue Label #4
L_0026: ldarg.0
L_0027: ldfld Verse.Pawn pawn
L_002c: ldarg.1
L_002d: ldarg.2
L_002e: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_0033: Label #4
L_0033: br Label #0
L_0038: Label #3
L_0038: ldarg.0
L_0039: call Boolean get_Downed()
L_003e: brtrue Label #5
L_0043: ldarg.0
L_0044: call Boolean ShouldBeDowned()
L_0049: brfalse Label #6
L_004e: ldarg.0
L_004f: ldfld Verse.Pawn pawn
L_0054: callvirt Verse.RaceProperties get_RaceProps()
L_0059: callvirt Boolean get_Animal()
L_005e: brfalse Label #7
L_0063: ldc.r4 0.47
L_0068: br Label #8
L_006d: Label #7
L_006d: ldc.r4 0.67
L_0072: Label #8
L_0072: stloc.0
L_0073: ldarg.0
L_0074: ldfld System.Boolean forceIncap
L_0079: brtrue Label #9
L_007e: ldarga.s 1
L_0080: call Boolean get_HasValue()
L_0085: brfalse Label #10
L_008a: ldarga.s 1
L_008c: call DamageInfo get_Value()
L_0091: stloc.1
L_0092: ldloca.s 1 (Verse.DamageInfo)
L_0094: call Verse.DamageDef get_Def()
L_0099: ldfld System.Boolean externalViolence
L_009e: brfalse Label #11
L_00a3: ldarg.0
L_00a4: ldfld Verse.Pawn pawn
L_00a9: callvirt RimWorld.Faction get_Faction()
L_00ae: brfalse Label #12
L_00b3: ldarg.0
L_00b4: ldfld Verse.Pawn pawn
L_00b9: callvirt RimWorld.Faction get_Faction()
L_00be: callvirt Boolean get_IsPlayer()
L_00c3: brtrue Label #13
L_00c8: br Label #13
L_00cd: Label #12
L_00cd: ldarg.0
L_00ce: ldfld Verse.Pawn pawn
L_00d3: callvirt Boolean get_IsPrisonerOfColony()
L_00d8: brtrue Label #14
L_00dd: ldarg.0
L_00de: ldfld Verse.Pawn pawn
L_00e3: callvirt Verse.RaceProperties get_RaceProps()
L_00e8: callvirt Boolean get_IsFlesh()
L_00ed: brfalse Label #15
L_00f2: call Single get_Value()
L_00f7: ldloc.0
L_00f8: bge.un Label #16
L_00fd: ldarg.0
L_00fe: ldfld Verse.Pawn pawn
L_0103: ldarg.1
L_0104: ldnull
L_0105: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_010a: br Label #0
L_010f: Label #9
L_010f: Label #10
L_010f: Label #11
L_010f: Label #13
L_010f: Label #14
L_010f: Label #15
L_010f: Label #16
L_010f: ldarg.0
L_0110: ldc.i4.0
L_0111: stfld System.Boolean forceIncap
L_0116: ldarg.0
L_0117: ldarg.1
L_0118: ldarg.2
L_0119: call Void MakeDowned(Nullable`1, Verse.Hediff)
L_011e: br Label #0
L_0123: Label #6
L_0123: ldarg.0
L_0124: ldfld Verse.PawnCapacitiesHandler capacities
L_0129: ldsfld Verse.PawnCapacityDef Manipulation
L_012e: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0133: brtrue Label #17
L_0138: ldarg.0
L_0139: ldfld Verse.Pawn pawn
L_013e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0143: brfalse Label #18
L_0148: ldarg.0
L_0149: ldfld Verse.Pawn pawn
L_014e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0153: callvirt Verse.Thing get_CarriedThing()
L_0158: brfalse Label #19
L_015d: ldarg.0
L_015e: ldfld Verse.Pawn pawn
L_0163: ldfld Verse.AI.Pawn_JobTracker jobs
L_0168: brfalse Label #20
L_016d: ldarg.0
L_016e: ldfld Verse.Pawn pawn
L_0173: callvirt Verse.AI.Job get_CurJob()
L_0178: brfalse Label #21
L_017d: ldarg.0
L_017e: ldfld Verse.Pawn pawn
L_0183: ldfld Verse.AI.Pawn_JobTracker jobs
L_0188: ldc.i4.5
L_0189: ldc.i4.1
L_018a: callvirt Void EndCurrentJob(JobCondition, Boolean)
L_018f: Label #18
L_018f: Label #19
L_018f: Label #20
L_018f: Label #21
L_018f: ldarg.0
L_0190: ldfld Verse.Pawn pawn
L_0195: ldfld Verse.Pawn_EquipmentTracker equipment
L_019a: brfalse Label #22
L_019f: ldarg.0
L_01a0: ldfld Verse.Pawn pawn
L_01a5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01aa: callvirt Verse.ThingWithComps get_Primary()
L_01af: brfalse Label #23
L_01b4: ldarg.0
L_01b5: ldfld Verse.Pawn pawn
L_01ba: callvirt Boolean get_InContainerEnclosed()
L_01bf: brfalse Label #24
L_01c4: ldarg.0
L_01c5: ldfld Verse.Pawn pawn
L_01ca: ldfld Verse.Pawn_EquipmentTracker equipment
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01da: callvirt Verse.ThingWithComps get_Primary()
L_01df: ldarg.0
L_01e0: ldfld Verse.Pawn pawn
L_01e5: ldfld Verse.ThingOwner holdingOwner
L_01ea: callvirt Boolean TryTransferEquipmentToContainer(Verse.ThingWithComps,
Verse.ThingOwner)
L_01ef: pop
L_01f0: br Label #25
L_01f5: Label #24
L_01f5: ldarg.0
L_01f6: ldfld Verse.Pawn pawn
L_01fb: callvirt Boolean get_SpawnedOrAnyParentSpawned()
L_0200: brfalse Label #26
L_0205: ldarg.0
L_0206: ldfld Verse.Pawn pawn
L_020b: ldfld Verse.Pawn_EquipmentTracker equipment
L_0210: ldarg.0
L_0211: ldfld Verse.Pawn pawn
L_0216: ldfld Verse.Pawn_EquipmentTracker equipment
L_021b: callvirt Verse.ThingWithComps get_Primary()
L_0220: ldloca.s 2 (Verse.ThingWithComps)
L_0222: ldarg.0
L_0223: ldfld Verse.Pawn pawn
L_0228: callvirt IntVec3 get_PositionHeld()
L_022d: ldc.i4.1
L_022e: callvirt Boolean TryDropEquipment(Verse.ThingWithComps,
Verse.ThingWithComps ByRef, IntVec3, Boolean)
L_0233: pop
L_0234: br Label #27
L_0239: Label #26
L_0239: ldarg.0
L_023a: ldfld Verse.Pawn pawn
L_023f: ldfld Verse.Pawn_EquipmentTracker equipment
L_0244: ldarg.0
L_0245: ldfld Verse.Pawn pawn
L_024a: ldfld Verse.Pawn_EquipmentTracker equipment
L_024f: callvirt Verse.ThingWithComps get_Primary()
L_0254: callvirt Void DestroyEquipment(Verse.ThingWithComps)
L_0259: Label #17
L_0259: Label #22
L_0259: Label #23
L_0259: Label #25
L_0259: Label #27
L_0259: br Label #28
L_025e: Label #5
L_025e: ldarg.0
L_025f: call Boolean ShouldBeDowned()
L_0264: brtrue Label #29
L_0269: ldarg.0
L_026a: call Void MakeUndowned()
L_026f: br Label #0
L_0274: Label #2
L_0274: Label #28
L_0274: Label #29
L_0274: br Label #0
L_0279: Label #0
L_0279: ret
DONE

PATCHING RimWorld.RestUtility Single WakeThreshold(Verse.Pawn)


L_0000: Local var #0 Verse.AI.Group.Lord
L_0000: Local var #1 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #2 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #3 System.Single
L_0000: ldc.r4 0
L_0005: stloc 3 (System.Single)
L_0006: ldarg.0
L_0007: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldloc.0
L_0014: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0019: brfalse Label #3
L_001e: ldloc.0
L_001f: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0024: callvirt Nullable`1 get_CustomWakeThreshold()
L_0029: stloc.1
L_002a: ldloca.s 1 (System.Nullable`1[System.Single])
L_002c: call Boolean get_HasValue()
L_0031: brfalse Label #4
L_0036: ldloc.0
L_0037: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_003c: callvirt Nullable`1 get_CustomWakeThreshold()
L_0041: stloc.2
L_0042: ldloca.s 2 (System.Nullable`1[System.Single])
L_0044: call Single get_Value()
L_0049: br Label #0
L_004e: Label #2
L_004e: Label #3
L_004e: Label #4
L_004e: ldc.r4 1
L_0053: br Label #0
L_0058: Label #0
L_0058: stloc 3 (System.Single)
L_0059: ldloca 3 (System.Single)
L_005b: ldarga 0
L_0061: call Void WakeThreshold_Patch(Single ByRef, Verse.Pawn ByRef)
L_0066: ldloc 3 (System.Single)
L_0067: ret
DONE

PATCHING Verse.Verb_Shoot Boolean TryCastShot()


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 1 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean TryCastShot()
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldarg.0
L_0014: call Boolean get_CasterIsPawn()
L_0019: brfalse Label #3
L_001e: ldarg.0
L_001f: call Verse.Pawn get_CasterPawn()
L_0024: ldfld RimWorld.Pawn_RecordsTracker records
L_0029: ldsfld RimWorld.RecordDef ShotsFired
L_002e: callvirt Void Increment(RimWorld.RecordDef)
L_0033: Label #2
L_0033: Label #3
L_0033: ldloc.0
L_0034: br Label #0
L_0039: Label #0
L_0039: stloc 1 (System.Boolean)
L_003a: ldarga 0
L_0040: call Void TryCastShot_Patch(Verse.Verb_Shoot ByRef)
L_0045: ldloc 1 (System.Boolean)
L_0046: ret
DONE

PATCHING Verse.Pawn_EquipmentTracker Void


Notify_EquipmentAdded(Verse.ThingWithComps)
L_0000: Local var #0 Verse.Verb
L_0000: Local var #1 System.Collections.Generic.List`1+Enumerator[[Verse.Verb,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.1
L_0001: callvirt Verse.CompEquippable GetComp[CompEquippable]()
L_0006: callvirt System.Collections.Generic.List`1[Verse.Verb] get_AllVerbs()
L_000b: callvirt Enumerator GetEnumerator()
L_0010: stloc.1
L_0011: br Label #2
L_0016: Label #3
L_0016: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0018: call Verse.Verb get_Current()
L_001d: stloc.0
L_001e: ldloc.0
L_001f: ldarg.0
L_0020: ldfld Verse.Pawn pawn
L_0025: stfld Verse.Thing caster
L_002a: ldloc.0
L_002b: callvirt Void Notify_PickedUp()
L_0030: Label #2
L_0030: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0032: call Boolean MoveNext()
L_0037: brtrue Label #3
L_003c: leave Label #4
L_0041: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0043: constrained. System.Collections.Generic.List`1+Enumerator[Verse.Verb]
L_0049: callvirt Void Dispose()
L_004e: endfinally
L_004f: Label #4
L_004f: br Label #0
L_0054: Label #0
L_0054: ldarga 1
L_005a: ldarga 0
L_0060: call Void Notify_EquipmentAdded_Patch(Verse.ThingWithComps ByRef,
Verse.Pawn_EquipmentTracker ByRef)
L_0065: ret
DONE

PATCHING RimWorld.PawnWeaponGenerator Void TryGenerateWeaponFor(Verse.Pawn)


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2
RimWorld.PawnWeaponGenerator+<TryGenerateWeaponFor>c__AnonStorey2
L_0000: Local var #3 RimWorld.ThingStuffPair
L_0000: Local var #4 Verse.ThingWithComps
L_0000: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0005: callvirt Void Clear()
L_000a: ldarg.0
L_000b: ldfld Verse.PawnKindDef kindDef
L_0010: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0015: brfalse Label #2
L_001a: ldarg.0
L_001b: ldfld Verse.PawnKindDef kindDef
L_0020: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0025: callvirt Int32 get_Count()
L_002a: brtrue Label #3
L_002f: Label #2
L_002f: br Label #0
L_0034: Label #3
L_0034: ldarg.0
L_0035: callvirt Verse.RaceProperties get_RaceProps()
L_003a: callvirt Boolean get_ToolUser()
L_003f: brtrue Label #4
L_0044: br Label #0
L_0049: Label #4
L_0049: ldarg.0
L_004a: ldfld Verse.Pawn_HealthTracker health
L_004f: ldfld Verse.PawnCapacitiesHandler capacities
L_0054: ldsfld Verse.PawnCapacityDef Manipulation
L_0059: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_005e: brtrue Label #5
L_0063: br Label #0
L_0068: Label #5
L_0068: ldarg.0
L_0069: ldfld RimWorld.Pawn_StoryTracker story
L_006e: brfalse Label #6
L_0073: ldarg.0
L_0074: ldfld RimWorld.Pawn_StoryTracker story
L_0079: ldc.i4.8
L_007a: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_007f: brfalse Label #7
L_0084: br Label #0
L_0089: Label #6
L_0089: Label #7
L_0089: ldarg.0
L_008a: ldfld Verse.PawnKindDef kindDef
L_008f: ldflda Verse.FloatRange weaponMoney
L_0094: call Single get_RandomInRange()
L_0099: stloc.0
L_009a: ldc.i4.0
L_009b: stloc.1
L_009c: br Label #8
L_00a1: Label #16
L_00a1: newobj Void .ctor()
L_00a6: stloc.2
L_00a7: ldloc.2
L_00a8: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_00ad: ldloc.1
L_00ae: callvirt ThingStuffPair get_Item(Int32)
L_00b3: stfld RimWorld.ThingStuffPair w
L_00b8: ldloc.2
L_00b9: ldflda RimWorld.ThingStuffPair w
L_00be: call Single get_Price()
L_00c3: ldloc.0
L_00c4: ble.un Label #9
L_00c9: br Label #10
L_00ce: Label #9
L_00ce: ldarg.0
L_00cf: ldfld Verse.PawnKindDef kindDef
L_00d4: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_00d9: ldloc.2
L_00da: ldftn Boolean <>m__0(System.String)
L_00e0: newobj Void .ctor(Object, IntPtr)
L_00e5: call Boolean Any[String](System.Collections.Generic.List`1[System.String],
System.Predicate`1[System.String])
L_00ea: brtrue Label #11
L_00ef: br Label #12
L_00f4: Label #11
L_00f4: ldloc.2
L_00f5: ldflda RimWorld.ThingStuffPair w
L_00fa: ldfld Verse.ThingDef thing
L_00ff: ldfld System.Single generateAllowChance
L_0104: ldc.r4 1
L_0109: bge.un Label #13
L_010e: ldarg.0
L_010f: ldfld System.Int32 thingIDNumber
L_0114: ldc.i4 28554824
L_0119: xor
L_011a: call Single ValueSeeded(Int32)
L_011f: ldloc.2
L_0120: ldflda RimWorld.ThingStuffPair w
L_0125: ldfld Verse.ThingDef thing
L_012a: ldfld System.Single generateAllowChance
L_012f: ble.un Label #14
L_0134: br Label #15
L_0139: Label #13
L_0139: Label #14
L_0139: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_013e: ldloc.2
L_013f: ldfld RimWorld.ThingStuffPair w
L_0144: callvirt Void Add(ThingStuffPair)
L_0149: Label #10
L_0149: Label #12
L_0149: Label #15
L_0149: ldloc.1
L_014a: ldc.i4.1
L_014b: add
L_014c: stloc.1
L_014d: Label #8
L_014d: ldloc.1
L_014e: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_0153: callvirt Int32 get_Count()
L_0158: blt Label #16
L_015d: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0162: callvirt Int32 get_Count()
L_0167: brtrue Label #17
L_016c: br Label #0
L_0171: ldarg.0
L_0172: ldloc.2
L_0173: callvirt System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
FilterChildWeapons(Verse.Pawn,
System.Collections.Generic.List`1[RimWorld.ThingStuffPair])
L_0178: stloc.2
L_0179: Label #17
L_0179: ldarg.0
L_017a: ldfld Verse.Pawn_EquipmentTracker equipment
L_017f: ldc.i4.0
L_0180: callvirt Void DestroyAllEquipment(DestroyMode)
L_0185: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_018a: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_018f: brtrue Label #18
L_0194: ldnull
L_0195: ldftn Single <TryGenerateWeaponFor>m__2(ThingStuffPair)
L_019b: newobj Void .ctor(Object, IntPtr)
L_01a0: stsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01a5: Label #18
L_01a5: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01aa: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01ac: call Boolean TryRandomElementByWeight[ThingStuffPair](IEnumerable`1,
System.Func`2[RimWorld.ThingStuffPair,System.Single], ThingStuffPair ByRef)
L_01b1: brfalse Label #19
L_01b6: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01b8: ldfld Verse.ThingDef thing
L_01bd: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01bf: ldfld Verse.ThingDef stuff
L_01c4: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_01c9: castclass Verse.ThingWithComps
L_01ce: stloc.s 4 (Verse.ThingWithComps)
L_01d0: ldloc.s 4 (Verse.ThingWithComps)
L_01d2: ldarg.0
L_01d3: call Void PostProcessGeneratedGear(Verse.Thing, Verse.Pawn)
L_01d8: ldarg.0
L_01d9: ldfld Verse.Pawn_EquipmentTracker equipment
L_01de: ldloc.s 4 (Verse.ThingWithComps)
L_01e0: callvirt Void AddEquipment(Verse.ThingWithComps)
L_01e5: Label #19
L_01e5: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_01ea: callvirt Void Clear()
L_01ef: br Label #0
L_01f4: Label #0
L_01f4: ret
DONE

PATCHING RimWorld.Bill_Medical Void Notify_DoBillStarted(Verse.Pawn)


L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.ThingStackPartClass,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Int32
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void Notify_DoBillStarted(Verse.Pawn)
L_0007: ldarg.0
L_0008: ldnull
L_0009: stfld Verse.ThingDef consumedInitialMedicineDef
L_000e: ldarg.0
L_000f: call Verse.Pawn get_GiverPawn()
L_0014: callvirt Boolean get_Dead()
L_0019: brtrue Label #2
L_001e: ldarg.0
L_001f: ldfld Verse.RecipeDef recipe
L_0024: call Boolean RecipeHasNoIngredients(Verse.RecipeDef)
L_0029: brtrue Label #2
L_002e: ldarg.0
L_002f: ldfld Verse.RecipeDef recipe
L_0034: ldfld System.Boolean anesthetize
L_0039: brfalse Label #3
L_003e: ldarg.0
L_003f: call Verse.Pawn get_GiverPawn()
L_0044: call Boolean TryAnesthetize(Verse.Pawn)
L_0049: brfalse Label #4
L_004e: ldarg.1
L_004f: callvirt Verse.AI.Job get_CurJob()
L_0054: ldfld System.Collections.Generic.List`1[Verse.ThingStackPartClass]
placedThings
L_0059: stloc.0
L_005a: ldc.i4.0
L_005b: stloc.1
L_005c: br Label #5
L_0061: Label #10
L_0061: ldloc.0
L_0062: ldloc.1
L_0063: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0068: ldfld Verse.Thing thing
L_006d: isinst RimWorld.Medicine
L_0072: brfalse Label #6
L_0077: ldarg.0
L_0078: ldfld Verse.RecipeDef recipe
L_007d: callvirt Verse.RecipeWorker get_Worker()
L_0082: ldloc.0
L_0083: ldloc.1
L_0084: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0089: ldfld Verse.Thing thing
L_008e: ldc.i4.1
L_008f: callvirt Verse.Thing SplitOff(Int32)
L_0094: ldarg.0
L_0095: ldfld Verse.RecipeDef recipe
L_009a: ldarg.1
L_009b: callvirt Verse.Map get_MapHeld()
L_00a0: callvirt Void ConsumeIngredient(Verse.Thing, Verse.RecipeDef, Verse.Map)
L_00a5: ldloc.0
L_00a6: ldloc.1
L_00a7: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ac: dup
L_00ad: callvirt Int32 get_Count()
L_00b2: ldc.i4.1
L_00b3: sub
L_00b4: callvirt Void set_Count(Int32)
L_00b9: ldarg.0
L_00ba: ldloc.0
L_00bb: ldloc.1
L_00bc: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00c1: ldfld Verse.Thing thing
L_00c6: ldfld Verse.ThingDef def
L_00cb: stfld Verse.ThingDef consumedInitialMedicineDef
L_00d0: ldloc.0
L_00d1: ldloc.1
L_00d2: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00d7: ldfld Verse.Thing thing
L_00dc: callvirt Boolean get_Destroyed()
L_00e1: brtrue Label #7
L_00e6: ldloc.0
L_00e7: ldloc.1
L_00e8: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ed: callvirt Int32 get_Count()
L_00f2: ldc.i4.0
L_00f3: bgt Label #8
L_00f8: Label #7
L_00f8: ldloc.0
L_00f9: ldloc.1
L_00fa: callvirt Void RemoveAt(Int32)
L_00ff: Label #8
L_00ff: br Label #9
L_0104: Label #6
L_0104: ldloc.1
L_0105: ldc.i4.1
L_0106: add
L_0107: stloc.1
L_0108: Label #5
L_0108: ldloc.1
L_0109: ldloc.0
L_010a: callvirt Int32 get_Count()
L_010f: blt Label #10
L_0114: Label #2
L_0114: Label #3
L_0114: Label #4
L_0114: Label #9
L_0114: br Label #0
L_0119: Label #0
L_0119: ret
DONE

PATCHING RimWorld.Building_Bed IEnumerable`1 get_AssigningCandidates()


L_0000: ldarg.0
L_0001: callvirt IEnumerable`1 BedCandidates(RimWorld.Building_Bed)
L_0006: Label #0
L_0006: ret
DONE

PATCHING RimWorld.RestUtility RimWorld.Building_Bed FindBedFor(Verse.Pawn,


Verse.Pawn, Boolean, Boolean, Boolean)
L_0000: Local var #0 RimWorld.RestUtility+<FindBedFor>c__AnonStorey0
L_0000: Local var #1 RimWorld.Building_Bed
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 System.Boolean
L_0000: Local var #5 System.Boolean
L_0000: Local var #6 System.Boolean
L_0000: Local var #7 System.Int32
L_0000: Local var #8 Verse.ThingDef
L_0000: Local var #9 System.Int32
L_0000: Local var #10 RimWorld.RestUtility+<FindBedFor>c__AnonStorey1
L_0000: Local var #11 RimWorld.Building_Bed
L_0000: Local var #12 RimWorld.DirectPawnRelation
L_0000: Local var #13 RimWorld.Building_Bed
L_0000: Local var #14 System.Int32
L_0000: Local var #15 RimWorld.RestUtility+<FindBedFor>c__AnonStorey2
L_0000: Local var #16 System.Int32
L_0000: Local var #17 Verse.ThingDef
L_0000: Local var #18 RimWorld.Building_Bed
L_0000: Local var #19 RimWorld.Building_Bed
L_0000: ldnull
L_0001: stloc 19 (RimWorld.Building_Bed)
L_0003: newobj Void .ctor()
L_0008: stloc.0
L_0009: ldloc.0
L_000a: ldarg.0
L_000b: stfld Verse.Pawn sleeper
L_0010: ldloc.0
L_0011: ldarg.1
L_0012: stfld Verse.Pawn traveler
L_0017: ldloc.0
L_0018: ldarg.2
L_0019: stfld System.Boolean sleeperWillBePrisoner
L_001e: ldloc.0
L_001f: ldarg.3
L_0020: stfld System.Boolean checkSocialProperness
L_0025: ldloc.0
L_0026: ldarg.s 4
L_0028: stfld System.Boolean ignoreOtherReservations
L_002d: ldloc.0
L_002e: ldfld Verse.Pawn sleeper
L_0033: call Boolean ShouldSeekMedicalRest(Verse.Pawn)
L_0038: brfalse Label #2
L_003d: ldloc.0
L_003e: ldfld Verse.Pawn sleeper
L_0043: call Boolean InBed(Verse.Pawn)
L_0048: brfalse Label #3
L_004d: ldloc.0
L_004e: ldfld Verse.Pawn sleeper
L_0053: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0058: callvirt Boolean get_Medical()
L_005d: brfalse Label #4
L_0062: ldloc.0
L_0063: ldfld Verse.Pawn sleeper
L_0068: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_006d: stloc.1
L_006e: ldloc.0
L_006f: ldfld Verse.Pawn sleeper
L_0074: stloc.2
L_0075: ldloc.0
L_0076: ldfld Verse.Pawn traveler
L_007b: stloc.3
L_007c: ldloc.0
L_007d: ldfld System.Boolean sleeperWillBePrisoner
L_0082: stloc.s 4 (System.Boolean)
L_0084: ldloc.0
L_0085: ldfld System.Boolean checkSocialProperness
L_008a: stloc.s 5 (System.Boolean)
L_008c: ldloc.0
L_008d: ldfld System.Boolean ignoreOtherReservations
L_0092: stloc.s 6 (System.Boolean)
L_0094: ldloc.1
L_0095: ldloc.2
L_0096: ldloc.3
L_0097: ldloc.s 4 (System.Boolean)
L_0099: ldloc.s 5 (System.Boolean)
L_009b: ldc.i4.0
L_009c: ldloc.s 6 (System.Boolean)
L_009e: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_00a3: brfalse Label #5
L_00a8: ldloc.0
L_00a9: ldfld Verse.Pawn sleeper
L_00ae: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00b3: br Label #0
L_00b8: Label #3
L_00b8: Label #4
L_00b8: Label #5
L_00b8: ldc.i4.0
L_00b9: stloc.s 7 (System.Int32)
L_00bb: br Label #6
L_00c0: Label #14
L_00c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_00c5: ldloc.s 7 (System.Int32)
L_00c7: callvirt Verse.ThingDef get_Item(Int32)
L_00cc: stloc.s 8 (Verse.ThingDef)
L_00ce: ldloc.0
L_00cf: ldfld Verse.Pawn sleeper
L_00d4: ldloc.s 8 (Verse.ThingDef)
L_00d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_00db: brtrue Label #7
L_00e0: br Label #8
L_00e5: Label #7
L_00e5: ldc.i4.0
L_00e6: stloc.s 9 (System.Int32)
L_00e8: br Label #9
L_00ed: Label #13
L_00ed: newobj Void .ctor()
L_00f2: stloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f4: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f6: ldloc.0
L_00f7: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_00fc: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00fe: ldloc.s 9 (System.Int32)
L_0100: brtrue Label #10
L_0105: ldc.i4.1
L_0106: br Label #11
L_010b: Label #10
L_010b: ldc.i4.3
L_010c: Label #11
L_010c: stfld Verse.Danger maxDanger
L_0111: ldloc.0
L_0112: ldfld Verse.Pawn sleeper
L_0117: callvirt IntVec3 get_Position()
L_011c: ldloc.0
L_011d: ldfld Verse.Pawn sleeper
L_0122: callvirt Verse.Map get_Map()
L_0127: ldloc.s 8 (Verse.ThingDef)
L_0129: call ThingRequest ForDef(Verse.ThingDef)
L_012e: ldc.i4.1
L_012f: ldloc.0
L_0130: ldfld Verse.Pawn traveler
L_0135: ldc.i4.3
L_0136: ldc.i4.0
L_0137: ldc.i4.0
L_0138: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_013d: ldc.r4 9999
L_0142: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_0144: ldftn Boolean <>m__0(Verse.Thing)
L_014a: newobj Void .ctor(Object, IntPtr)
L_014f: ldnull
L_0150: ldc.i4.0
L_0151: ldc.i4.m1
L_0152: ldc.i4.0
L_0153: ldc.i4.6
L_0154: ldc.i4.0
L_0155: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_015a: castclass RimWorld.Building_Bed
L_015f: stloc.s 11 (RimWorld.Building_Bed)
L_0161: ldloc.s 11 (RimWorld.Building_Bed)
L_0163: brfalse Label #12
L_0168: ldloc.s 11 (RimWorld.Building_Bed)
L_016a: br Label #0
L_016f: Label #12
L_016f: ldloc.s 9 (System.Int32)
L_0171: ldc.i4.1
L_0172: add
L_0173: stloc.s 9 (System.Int32)
L_0175: Label #9
L_0175: ldloc.s 9 (System.Int32)
L_0177: ldc.i4.2
L_0178: blt Label #13
L_017d: Label #8
L_017d: ldloc.s 7 (System.Int32)
L_017f: ldc.i4.1
L_0180: add
L_0181: stloc.s 7 (System.Int32)
L_0183: Label #6
L_0183: ldloc.s 7 (System.Int32)
L_0185: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_018a: callvirt Int32 get_Count()
L_018f: blt Label #14
L_0194: Label #2
L_0194: ldloc.0
L_0195: ldfld Verse.Pawn sleeper
L_019a: ldfld RimWorld.Pawn_Ownership ownership
L_019f: brfalse Label #15
L_01a4: ldloc.0
L_01a5: ldfld Verse.Pawn sleeper
L_01aa: ldfld RimWorld.Pawn_Ownership ownership
L_01af: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01b4: brfalse Label #16
L_01b9: ldloc.0
L_01ba: ldfld Verse.Pawn sleeper
L_01bf: ldfld RimWorld.Pawn_Ownership ownership
L_01c4: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01c9: stloc.1
L_01ca: ldloc.0
L_01cb: ldfld Verse.Pawn sleeper
L_01d0: stloc.3
L_01d1: ldloc.0
L_01d2: ldfld Verse.Pawn traveler
L_01d7: stloc.2
L_01d8: ldloc.0
L_01d9: ldfld System.Boolean sleeperWillBePrisoner
L_01de: stloc.s 6 (System.Boolean)
L_01e0: ldloc.0
L_01e1: ldfld System.Boolean checkSocialProperness
L_01e6: stloc.s 5 (System.Boolean)
L_01e8: ldloc.0
L_01e9: ldfld System.Boolean ignoreOtherReservations
L_01ee: stloc.s 4 (System.Boolean)
L_01f0: ldloc.1
L_01f1: ldloc.3
L_01f2: ldloc.2
L_01f3: ldloc.s 6 (System.Boolean)
L_01f5: ldloc.s 5 (System.Boolean)
L_01f7: ldc.i4.0
L_01f8: ldloc.s 4 (System.Boolean)
L_01fa: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_01ff: brfalse Label #17
L_0204: ldloc.0
L_0205: ldfld Verse.Pawn sleeper
L_020a: ldfld RimWorld.Pawn_Ownership ownership
L_020f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0214: br Label #0
L_0219: Label #15
L_0219: Label #16
L_0219: Label #17
L_0219: ldloc.0
L_021a: ldfld Verse.Pawn sleeper
L_021f: ldc.i4.0
L_0220: call RimWorld.DirectPawnRelation
ExistingMostLikedLovePartnerRel(Verse.Pawn, Boolean)
L_0225: stloc.s 12 (RimWorld.DirectPawnRelation)
L_0227: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0229: brfalse Label #18
L_022e: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0230: ldfld Verse.Pawn otherPawn
L_0235: ldfld RimWorld.Pawn_Ownership ownership
L_023a: callvirt RimWorld.Building_Bed get_OwnedBed()
L_023f: stloc.s 13 (RimWorld.Building_Bed)
L_0241: ldloc.s 13 (RimWorld.Building_Bed)
L_0243: brfalse Label #19
L_0248: ldloc.s 13 (RimWorld.Building_Bed)
L_024a: stloc.1
L_024b: ldloc.0
L_024c: ldfld Verse.Pawn sleeper
L_0251: stloc.2
L_0252: ldloc.0
L_0253: ldfld Verse.Pawn traveler
L_0258: stloc.3
L_0259: ldloc.0
L_025a: ldfld System.Boolean sleeperWillBePrisoner
L_025f: stloc.s 4 (System.Boolean)
L_0261: ldloc.0
L_0262: ldfld System.Boolean checkSocialProperness
L_0267: stloc.s 5 (System.Boolean)
L_0269: ldloc.0
L_026a: ldfld System.Boolean ignoreOtherReservations
L_026f: stloc.s 6 (System.Boolean)
L_0271: ldloc.1
L_0272: ldloc.2
L_0273: ldloc.3
L_0274: ldloc.s 4 (System.Boolean)
L_0276: ldloc.s 5 (System.Boolean)
L_0278: ldc.i4.0
L_0279: ldloc.s 6 (System.Boolean)
L_027b: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_0280: brfalse Label #20
L_0285: ldloc.s 13 (RimWorld.Building_Bed)
L_0287: br Label #0
L_028c: Label #18
L_028c: Label #19
L_028c: Label #20
L_028c: ldc.i4.0
L_028d: stloc.s 14 (System.Int32)
L_028f: br Label #21
L_0294: Label #29
L_0294: newobj Void .ctor()
L_0299: stloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029b: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029d: ldloc.0
L_029e: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_02a3: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_02a5: ldloc.s 14 (System.Int32)
L_02a7: brtrue Label #22
L_02ac: ldc.i4.1
L_02ad: br Label #23
L_02b2: Label #22
L_02b2: ldc.i4.3
L_02b3: Label #23
L_02b3: stfld Verse.Danger maxDanger
L_02b8: ldc.i4.0
L_02b9: stloc.s 16 (System.Int32)
L_02bb: br Label #24
L_02c0: Label #28
L_02c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_02c5: ldloc.s 16 (System.Int32)
L_02c7: callvirt Verse.ThingDef get_Item(Int32)
L_02cc: stloc.s 17 (Verse.ThingDef)
L_02ce: ldloc.0
L_02cf: ldfld Verse.Pawn sleeper
L_02d4: ldloc.s 17 (Verse.ThingDef)
L_02d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_02db: brtrue Label #25
L_02e0: br Label #26
L_02e5: Label #25
L_02e5: ldloc.0
L_02e6: ldfld Verse.Pawn sleeper
L_02eb: callvirt IntVec3 get_Position()
L_02f0: ldloc.0
L_02f1: ldfld Verse.Pawn sleeper
L_02f6: callvirt Verse.Map get_Map()
L_02fb: ldloc.s 17 (Verse.ThingDef)
L_02fd: call ThingRequest ForDef(Verse.ThingDef)
L_0302: ldc.i4.1
L_0303: ldloc.0
L_0304: ldfld Verse.Pawn traveler
L_0309: ldc.i4.3
L_030a: ldc.i4.0
L_030b: ldc.i4.0
L_030c: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_0311: ldc.r4 9999
L_0316: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_0318: ldftn Boolean <>m__0(Verse.Thing)
L_031e: newobj Void .ctor(Object, IntPtr)
L_0323: ldnull
L_0324: ldc.i4.0
L_0325: ldc.i4.m1
L_0326: ldc.i4.0
L_0327: ldc.i4.6
L_0328: ldc.i4.0
L_0329: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_032e: castclass RimWorld.Building_Bed
L_0333: stloc.s 18 (RimWorld.Building_Bed)
L_0335: ldloc.s 18 (RimWorld.Building_Bed)
L_0337: brfalse Label #27
L_033c: ldloc.s 18 (RimWorld.Building_Bed)
L_033e: br Label #0
L_0343: Label #26
L_0343: Label #27
L_0343: ldloc.s 16 (System.Int32)
L_0345: ldc.i4.1
L_0346: add
L_0347: stloc.s 16 (System.Int32)
L_0349: Label #24
L_0349: ldloc.s 16 (System.Int32)
L_034b: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_0350: callvirt Int32 get_Count()
L_0355: blt Label #28
L_035a: ldloc.s 14 (System.Int32)
L_035c: ldc.i4.1
L_035d: add
L_035e: stloc.s 14 (System.Int32)
L_0360: Label #21
L_0360: ldloc.s 14 (System.Int32)
L_0362: ldc.i4.2
L_0363: blt Label #29
L_0368: ldnull
L_0369: br Label #0
L_036e: Label #0
L_036e: stloc 19 (RimWorld.Building_Bed)
L_0370: ldarga 0
L_0376: ldloca 19 (RimWorld.Building_Bed)
L_0378: ldarga 1
L_037e: ldarga 4
L_0384: ldarga 2
L_038a: ldarga 3
L_0390: call Void FindBedFor_Patch(Verse.Pawn ByRef, RimWorld.Building_Bed ByRef,
Verse.Pawn ByRef, Boolean ByRef, Boolean ByRef, Boolean ByRef)
L_0395: ldloc 19 (RimWorld.Building_Bed)
L_0397: ret
DONE

PATCHING RimWorld.JobGiver_DoLovin Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 1 (Verse.AI.Job)
L_0002: call Verse.TickManager get_TickManager()
L_0007: callvirt Int32 get_TicksGame()
L_000c: ldarg.1
L_000d: ldfld Verse.AI.Pawn_MindState mindState
L_0012: ldfld System.Int32 canLovinTick
L_0017: bge Label #2
L_001c: ldnull
L_001d: br Label #0
L_0022: Label #2
L_0022: ldarg.1
L_0023: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0028: brfalse Label #3
L_002d: ldarg.1
L_002e: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0033: callvirt Boolean get_Medical()
L_0038: brtrue Label #4
L_003d: ldarg.1
L_003e: ldfld Verse.Pawn_HealthTracker health
L_0043: ldfld Verse.PawnCapacitiesHandler capacities
L_0048: callvirt Boolean get_CanBeAwake()
L_004d: brtrue Label #5
L_0052: Label #3
L_0052: Label #4
L_0052: ldnull
L_0053: br Label #0
L_0058: Label #5
L_0058: ldarg.1
L_0059: call Verse.Pawn GetPartnerInMyBed(Verse.Pawn)
L_005e: stloc.0
L_005f: ldloc.0
L_0060: brfalse Label #6
L_0065: ldloc.0
L_0066: ldfld Verse.Pawn_HealthTracker health
L_006b: ldfld Verse.PawnCapacitiesHandler capacities
L_0070: callvirt Boolean get_CanBeAwake()
L_0075: brfalse Label #7
L_007a: call Verse.TickManager get_TickManager()
L_007f: callvirt Int32 get_TicksGame()
L_0084: ldloc.0
L_0085: ldfld Verse.AI.Pawn_MindState mindState
L_008a: ldfld System.Int32 canLovinTick
L_008f: bge Label #8
L_0094: Label #6
L_0094: Label #7
L_0094: ldnull
L_0095: br Label #0
L_009a: Label #8
L_009a: ldarg.1
L_009b: ldloc.0
L_009c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00a1: ldc.i4.1
L_00a2: ldc.i4.m1
L_00a3: ldnull
L_00a4: ldc.i4.0
L_00a5: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00aa: brfalse Label #9
L_00af: ldloc.0
L_00b0: ldarg.1
L_00b1: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00b6: ldc.i4.1
L_00b7: ldc.i4.m1
L_00b8: ldnull
L_00b9: ldc.i4.0
L_00ba: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00bf: brtrue Label #10
L_00c4: Label #9
L_00c4: ldnull
L_00c5: br Label #0
L_00ca: Label #10
L_00ca: ldsfld Verse.JobDef Lovin
L_00cf: ldloc.0
L_00d0: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00d5: ldarg.1
L_00d6: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00db: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00e0: newobj Void .ctor(JobDef, LocalTargetInfo, LocalTargetInfo)
L_00e5: br Label #0
L_00ea: Label #0
L_00ea: stloc 1 (Verse.AI.Job)
L_00eb: ldloca 1 (Verse.AI.Job)
L_00ed: ldarga 1
L_00f3: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_00f8: ldloc 1 (Verse.AI.Job)
L_00f9: ret
DONE

PATCHING RimWorld.JobDriver_Lovin+<MakeNewToils>c__Iterator0 Void <>m__4()


L_0000: Local var #0 RimWorld.Thought_Memory
L_0000: ldsfld RimWorld.ThoughtDef GotSomeLovin
L_0005: call RimWorld.Thought MakeThought(RimWorld.ThoughtDef)
L_000a: castclass RimWorld.Thought_Memory
L_000f: stloc.0
L_0010: ldarg.0
L_0011: ldfld RimWorld.JobDriver_Lovin $this
L_0016: ldfld Verse.Pawn pawn
L_001b: ldfld RimWorld.Pawn_NeedsTracker needs
L_0020: ldfld RimWorld.Need_Mood mood
L_0025: ldfld RimWorld.ThoughtHandler thoughts
L_002a: ldfld RimWorld.MemoryThoughtHandler memories
L_002f: ldloc.0
L_0030: ldarg.0
L_0031: ldfld RimWorld.JobDriver_Lovin $this
L_0036: call Verse.Pawn get_Partner()
L_003b: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_0040: ldarg.0
L_0041: ldfld RimWorld.JobDriver_Lovin $this
L_0046: ldfld Verse.Pawn pawn
L_004b: ldfld Verse.AI.Pawn_MindState mindState
L_0050: call Verse.TickManager get_TickManager()
L_0055: callvirt Int32 get_TicksGame()
L_005a: ldarg.0
L_005b: ldfld RimWorld.JobDriver_Lovin $this
L_0060: ldarg.0
L_0061: ldfld RimWorld.JobDriver_Lovin $this
L_0066: ldfld Verse.Pawn pawn
L_006b: call Int32 GenerateRandomMinTicksToNextLovin(Verse.Pawn)
L_0070: add
L_0071: stfld System.Int32 canLovinTick
L_0076: ldarg.0
L_0077: ldfld RimWorld.JobDriver_Lovin $this
L_007c: ldfld Verse.Pawn pawn
L_0081: ldarg.0
L_0082: ldfld RimWorld.JobDriver_Lovin $this
L_0087: call Verse.Pawn get_Partner()
L_008c: call Void TryToImpregnate(Verse.Pawn, Verse.Pawn)
L_0091: br Label #0
L_0096: Label #0
L_0096: ret
DONE

PATCHING RimWorld.JobDriver_Wear+<MakeNewToils>c__Iterator0 Boolean MoveNext()


L_0000: Local var #0 System.UInt32
L_0000: ldarg.0
L_0001: ldfld System.Int32 $PC
L_0006: stloc.0
L_0007: ldarg.0
L_0008: ldc.i4.m1
L_0009: stfld System.Int32 $PC
L_000e: ldloc.0
L_000f: switch Labels #2 #3 #4 #5
L_0024: br Label #6
L_0029: Label #2
L_0029: ldarg.0
L_002a: ldfld RimWorld.JobDriver_Wear $this
L_002f: call RimWorld.JobDriver_Wear FailOnBaby[JobDriver_Wear]
(RimWorld.JobDriver_Wear)
L_0034: pop
L_0035: ldarg.0
L_0036: newobj Void .ctor()
L_003b: stfld Verse.AI.Toil <gotoApparel>__1
L_0040: ldarg.0
L_0041: ldfld Verse.AI.Toil <gotoApparel>__1
L_0046: ldarg.0
L_0047: ldftn Void <>m__0()
L_004d: newobj Void .ctor(Object, IntPtr)
L_0052: stfld System.Action initAction
L_0057: ldarg.0
L_0058: ldfld Verse.AI.Toil <gotoApparel>__1
L_005d: ldc.i4.2
L_005e: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0063: ldarg.0
L_0064: ldfld Verse.AI.Toil <gotoApparel>__1
L_0069: ldc.i4.1
L_006a: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_006f: pop
L_0070: ldarg.0
L_0071: ldarg.0
L_0072: ldfld Verse.AI.Toil <gotoApparel>__1
L_0077: stfld Verse.AI.Toil $current
L_007c: ldarg.0
L_007d: ldfld System.Boolean $disposing
L_0082: brtrue Label #7
L_0087: ldarg.0
L_0088: ldc.i4.1
L_0089: stfld System.Int32 $PC
L_008e: Label #7
L_008e: br Label #8
L_0093: Label #3
L_0093: ldarg.0
L_0094: newobj Void .ctor()
L_0099: stfld Verse.AI.Toil <prepare>__2
L_009e: ldarg.0
L_009f: ldfld Verse.AI.Toil <prepare>__2
L_00a4: ldc.i4.3
L_00a5: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_00aa: ldarg.0
L_00ab: ldfld Verse.AI.Toil <prepare>__2
L_00b0: ldc.i4.s 60
L_00b2: stfld System.Int32 defaultDuration
L_00b7: ldarg.0
L_00b8: ldfld Verse.AI.Toil <prepare>__2
L_00bd: ldc.i4.1
L_00be: ldc.i4.0
L_00bf: ldc.r4 -0.5
L_00c4: call Verse.AI.Toil WithProgressBarToilDelay(Verse.AI.Toil, TargetIndex,
Boolean, Single)
L_00c9: pop
L_00ca: ldarg.0
L_00cb: ldfld Verse.AI.Toil <prepare>__2
L_00d0: ldc.i4.1
L_00d1: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_00d6: pop
L_00d7: ldarg.0
L_00d8: ldarg.0
L_00d9: ldfld Verse.AI.Toil <prepare>__2
L_00de: stfld Verse.AI.Toil $current
L_00e3: ldarg.0
L_00e4: ldfld System.Boolean $disposing
L_00e9: brtrue Label #9
L_00ee: ldarg.0
L_00ef: ldc.i4.2
L_00f0: stfld System.Int32 $PC
L_00f5: Label #9
L_00f5: br Label #10
L_00fa: Label #4
L_00fa: ldarg.0
L_00fb: newobj Void .ctor()
L_0100: stfld Verse.AI.Toil <wear>__3
L_0105: ldarg.0
L_0106: ldfld Verse.AI.Toil <wear>__3
L_010b: ldarg.0
L_010c: ldftn Void <>m__1()
L_0112: newobj Void .ctor(Object, IntPtr)
L_0117: stfld System.Action initAction
L_011c: ldarg.0
L_011d: ldfld Verse.AI.Toil <wear>__3
L_0122: ldc.i4.1
L_0123: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0128: ldarg.0
L_0129: ldarg.0
L_012a: ldfld Verse.AI.Toil <wear>__3
L_012f: stfld Verse.AI.Toil $current
L_0134: ldarg.0
L_0135: ldfld System.Boolean $disposing
L_013a: brtrue Label #11
L_013f: ldarg.0
L_0140: ldc.i4.3
L_0141: stfld System.Int32 $PC
L_0146: Label #11
L_0146: br Label #12
L_014b: Label #5
L_014b: ldarg.0
L_014c: ldc.i4.m1
L_014d: stfld System.Int32 $PC
L_0152: Label #6
L_0152: ldc.i4.0
L_0153: br Label #0
L_0158: Label #8
L_0158: Label #10
L_0158: Label #12
L_0158: ldc.i4.1
L_0159: br Label #0
L_015e: Label #0
L_015e: ret
DONE

PATCHING RimWorld.ListerHaulables Void Notify_DeSpawned(Verse.Thing)


L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void TryRemove(Verse.Thing)
L_0007: br Label #0
L_000c: Label #0
L_000c: ldarg 1
L_0012: ldarg.0
L_0013: call Void Postfix(Verse.Thing, RimWorld.ListerHaulables)
L_0018: ret
DONE

PATCHING RimWorld.ListerHaulables Void Notify_Forbidden(Verse.Thing)


L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void TryRemove(Verse.Thing)
L_0007: br Label #0
L_000c: Label #0
L_000c: ldarg 1
L_0012: call Void Postfix(Verse.Thing)
L_0017: ret
DONE

PATCHING RimWorld.ListerHaulables Void Notify_SlotGroupChanged(RimWorld.SlotGroup)


L_0000: Local var #0 System.Int32
L_0000: ldarg.1
L_0001: callvirt System.Collections.Generic.List`1[Verse.IntVec3] get_CellsList()
L_0006: brfalse Label #2
L_000b: ldc.i4.0
L_000c: stloc.0
L_000d: br Label #3
L_0012: Label #4
L_0012: ldarg.0
L_0013: ldarg.1
L_0014: callvirt System.Collections.Generic.List`1[Verse.IntVec3] get_CellsList()
L_0019: ldloc.0
L_001a: callvirt IntVec3 get_Item(Int32)
L_001f: call Void RecalcAllInCell(IntVec3)
L_0024: ldloc.0
L_0025: ldc.i4.1
L_0026: add
L_0027: stloc.0
L_0028: Label #3
L_0028: ldloc.0
L_0029: ldarg.1
L_002a: callvirt System.Collections.Generic.List`1[Verse.IntVec3] get_CellsList()
L_002f: callvirt Int32 get_Count()
L_0034: blt Label #4
L_0039: Label #2
L_0039: br Label #0
L_003e: Label #0
L_003e: ldarg 1
L_0044: ldarg.0
L_0045: call Void Postfix(RimWorld.SlotGroup, RimWorld.ListerHaulables)
L_004a: ret
DONE

PATCHING RimWorld.ListerHaulables Void Notify_Spawned(Verse.Thing)


L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void CheckAdd(Verse.Thing)
L_0007: br Label #0
L_000c: Label #0
L_000c: ldarg 1
L_0012: call Void Postfix(Verse.Thing)
L_0017: ret
DONE

PATCHING RimWorld.ListerHaulables Void Notify_Unforbidden(Verse.Thing)


L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void CheckAdd(Verse.Thing)
L_0007: br Label #0
L_000c: Label #0
L_000c: ldarg 1
L_0012: call Void Postfix(Verse.Thing)
L_0017: ret
DONE

PATCHING RimWorld.ThoughtUtility Boolean CanGetThought(Verse.Pawn,


RimWorld.ThoughtDef)
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 4 (System.Boolean)
L_0007: ldarg.1
L_0008: ldfld System.Boolean validWhileDespawned
L_000d: brtrue Label #2
L_0012: ldarg.0
L_0013: callvirt Boolean get_Spawned()
L_0018: brtrue Label #3
L_001d: ldarg.1
L_001e: callvirt Boolean get_IsMemory()
L_0023: brtrue Label #4
L_0028: ldc.i4.0
L_0029: stloc.0
L_002a: leave Label #5
L_002f: Label #2
L_002f: Label #3
L_002f: Label #4
L_002f: ldarg.1
L_0030: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0035: brfalse Label #6
L_003a: ldc.i4.0
L_003b: stloc.1
L_003c: br Label #7
L_0041: Label #10
L_0041: ldarg.0
L_0042: ldfld RimWorld.Pawn_StoryTracker story
L_0047: ldfld RimWorld.TraitSet traits
L_004c: ldarg.1
L_004d: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0052: ldloc.1
L_0053: callvirt RimWorld.TraitDef get_Item(Int32)
L_0058: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_005d: brfalse Label #8
L_0062: ldc.i4.0
L_0063: stloc.0
L_0064: leave Label #9
L_0069: Label #8
L_0069: ldloc.1
L_006a: ldc.i4.1
L_006b: add
L_006c: stloc.1
L_006d: Label #7
L_006d: ldloc.1
L_006e: ldarg.1
L_006f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0074: callvirt Int32 get_Count()
L_0079: blt Label #10
L_007e: Label #6
L_007e: ldarg.1
L_007f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0084: call Boolean NullOrEmpty[TraitDef](IList`1)
L_0089: brtrue Label #11
L_008e: ldc.i4.0
L_008f: stloc.2
L_0090: ldc.i4.0
L_0091: stloc.3
L_0092: br Label #12
L_0097: Label #19
L_0097: ldarg.0
L_0098: ldfld RimWorld.Pawn_StoryTracker story
L_009d: ldfld RimWorld.TraitSet traits
L_00a2: ldarg.1
L_00a3: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00a8: ldloc.3
L_00a9: callvirt RimWorld.TraitDef get_Item(Int32)
L_00ae: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00b3: brtrue Label #13
L_00b8: leave Label #14
L_00bd: Label #13
L_00bd: ldarg.1
L_00be: callvirt Boolean get_RequiresSpecificTraitsDegree()
L_00c3: brfalse Label #15
L_00c8: ldarg.1
L_00c9: ldfld System.Int32 requiredTraitsDegree
L_00ce: ldarg.0
L_00cf: ldfld RimWorld.Pawn_StoryTracker story
L_00d4: ldfld RimWorld.TraitSet traits
L_00d9: ldarg.1
L_00da: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00df: ldloc.3
L_00e0: callvirt RimWorld.TraitDef get_Item(Int32)
L_00e5: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_00ea: beq Label #16
L_00ef: leave Label #17
L_00f4: Label #15
L_00f4: Label #16
L_00f4: ldc.i4.1
L_00f5: stloc.2
L_00f6: leave Label #18
L_00fb: Label #14
L_00fb: Label #17
L_00fb: ldloc.3
L_00fc: ldc.i4.1
L_00fd: add
L_00fe: stloc.3
L_00ff: Label #12
L_00ff: ldloc.3
L_0100: ldarg.1
L_0101: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0106: callvirt Int32 get_Count()
L_010b: blt Label #19
L_0110: Label #18
L_0110: ldloc.2
L_0111: brtrue Label #20
L_0116: ldc.i4.0
L_0117: stloc.0
L_0118: leave Label #21
L_011d: Label #11
L_011d: Label #20
L_011d: ldarg.1
L_011e: ldfld System.Boolean nullifiedIfNotColonist
L_0123: brfalse Label #22
L_0128: ldarg.0
L_0129: callvirt Boolean get_IsColonist()
L_012e: brtrue Label #23
L_0133: ldc.i4.0
L_0134: stloc.0
L_0135: leave Label #24
L_013a: Label #22
L_013a: Label #23
L_013a: ldarg.1
L_013b: ldarg.0
L_013c: call Boolean IsSituationalThoughtNullifiedByHediffs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0141: brfalse Label #25
L_0146: ldc.i4.0
L_0147: stloc.0
L_0148: leave Label #26
L_014d: Label #25
L_014d: ldarg.1
L_014e: ldarg.0
L_014f: call Boolean IsThoughtNullifiedByOwnTales(RimWorld.ThoughtDef, Verse.Pawn)
L_0154: brfalse Label #27
L_0159: ldc.i4.0
L_015a: stloc.0
L_015b: leave Label #28
L_0160: Label #27
L_0160: leave Label #29
L_0165: endfinally
L_0166: Label #29
L_0166: ldc.i4.1
L_0167: br Label #0
L_016c: Label #5
L_016c: Label #9
L_016c: Label #21
L_016c: Label #24
L_016c: Label #26
L_016c: Label #28
L_016c: ldloc.0
L_016d: br Label #0
L_0172: Label #0
L_0172: stloc 4 (System.Boolean)
L_0174: ldarga 0
L_017a: ldarga 1
L_0180: ldloca 4 (System.Boolean)
L_0182: call Void CanGetThought_Patch(Verse.Pawn ByRef, RimWorld.ThoughtDef ByRef,
Boolean ByRef)
L_0187: ldloc 4 (System.Boolean)
L_0189: ret
DONE

PATCHING RimWorld.JobGiver_SocialFighting Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Verb
L_0000: Local var #2 Verse.AI.Job
L_0000: Local var #3 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 3 (Verse.AI.Job)
L_0002: ldarg.1
L_0003: callvirt Verse.RaceProperties get_RaceProps()
L_0008: callvirt Boolean get_Humanlike()
L_000d: brfalse Label #2
L_0012: ldarg.1
L_0013: ldfld RimWorld.Pawn_StoryTracker story
L_0018: ldc.i4.8
L_0019: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_001e: brfalse Label #3
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: Label #3
L_0029: ldarg.1
L_002a: callvirt Verse.AI.MentalState get_MentalState()
L_002f: castclass Verse.AI.MentalState_SocialFighting
L_0034: ldfld Verse.Pawn otherPawn
L_0039: stloc.0
L_003a: ldarg.1
L_003b: ldloca.s 1 (Verse.Verb)
L_003d: call Boolean TryGetRandomVerbForSocialFight(Verse.Pawn, Verse.Verb ByRef)
L_0042: brtrue Label #4
L_0047: ldnull
L_0048: br Label #0
L_004d: Label #4
L_004d: ldsfld Verse.JobDef SocialFight
L_0052: ldloc.0
L_0053: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0058: newobj Void .ctor(JobDef, LocalTargetInfo)
L_005d: stloc.2
L_005e: ldloc.2
L_005f: ldc.i4.1
L_0060: stfld System.Int32 maxNumMeleeAttacks
L_0065: ldloc.2
L_0066: ldloc.1
L_0067: stfld Verse.Verb verbToUse
L_006c: ldloc.2
L_006d: br Label #0
L_0072: Label #0
L_0072: stloc 3 (Verse.AI.Job)
L_0073: ldarga 1
L_0079: ldloca 3 (Verse.AI.Job)
L_007b: call Void TryGiveJob_Postfix(Verse.Pawn ByRef, Verse.AI.Job ByRef)
L_0080: ldloc 3 (Verse.AI.Job)
L_0081: ret
DONE

PATCHING RimWorld.Pawn_ApparelTracker Void ApparelChanged()


L_0000: ldarg.0
L_0001: ldftn Void <ApparelChanged>m__1()
L_0007: newobj Void .ctor(Object, IntPtr)
L_000c: call Void ExecuteWhenFinished(System.Action)
L_0011: br Label #0
L_0016: Label #0
L_0016: ldarga 0
L_001c: call Void ApparelChanged_Postfix(RimWorld.Pawn_ApparelTracker ByRef)
L_0021: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveAllGraphics()


L_0000: Local var #0 Verse.PawnKindLifeStage
L_0000: ldarg.0
L_0001: call Void ClearCache()
L_0006: ldarg.0
L_0007: ldfld Verse.Pawn pawn
L_000c: callvirt Verse.RaceProperties get_RaceProps()
L_0011: callvirt Boolean get_Humanlike()
L_0016: brfalse Label #2
L_001b: ldarg.0
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_StoryTracker story
L_0027: ldfld RimWorld.BodyType bodyType
L_002c: ldsfld UnityEngine.Shader CutoutSkin
L_0031: ldarg.0
L_0032: ldfld Verse.Pawn pawn
L_0037: ldfld RimWorld.Pawn_StoryTracker story
L_003c: callvirt Color get_SkinColor()
L_0041: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_0046: stfld Verse.Graphic nakedGraphic
L_004b: ldarg.0
L_004c: ldarg.0
L_004d: ldfld Verse.Pawn pawn
L_0052: ldfld RimWorld.Pawn_StoryTracker story
L_0057: ldfld RimWorld.BodyType bodyType
L_005c: ldsfld UnityEngine.Shader CutoutSkin
L_0061: ldsfld UnityEngine.Color RottingColor
L_0066: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_006b: stfld Verse.Graphic rottingGraphic
L_0070: ldarg.0
L_0071: ldstr "Things/Pawn/Humanlike/HumanoidDessicated"
L_0076: ldsfld UnityEngine.Shader Cutout
L_007b: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader)
L_0080: stfld Verse.Graphic dessicatedGraphic
L_0085: ldarg.0
L_0086: ldarg.0
L_0087: ldfld Verse.Pawn pawn
L_008c: ldfld RimWorld.Pawn_StoryTracker story
L_0091: callvirt System.String get_HeadGraphicPath()
L_0096: ldarg.0
L_0097: ldfld Verse.Pawn pawn
L_009c: ldfld RimWorld.Pawn_StoryTracker story
L_00a1: callvirt Color get_SkinColor()
L_00a6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00ab: stfld Verse.Graphic headGraphic
L_00b0: ldarg.0
L_00b1: ldarg.0
L_00b2: ldfld Verse.Pawn pawn
L_00b7: ldfld RimWorld.Pawn_StoryTracker story
L_00bc: callvirt System.String get_HeadGraphicPath()
L_00c1: ldsfld UnityEngine.Color RottingColor
L_00c6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00cb: stfld Verse.Graphic desiccatedHeadGraphic
L_00d0: ldarg.0
L_00d1: call Verse.Graphic_Multi GetSkull()
L_00d6: stfld Verse.Graphic skullGraphic
L_00db: ldarg.0
L_00dc: ldarg.0
L_00dd: ldfld Verse.Pawn pawn
L_00e2: ldfld RimWorld.Pawn_StoryTracker story
L_00e7: callvirt Color get_SkinColor()
L_00ec: call Verse.Graphic_Multi GetStump(Color)
L_00f1: stfld Verse.Graphic headStumpGraphic
L_00f6: ldarg.0
L_00f7: ldsfld UnityEngine.Color RottingColor
L_00fc: call Verse.Graphic_Multi GetStump(Color)
L_0101: stfld Verse.Graphic desiccatedHeadStumpGraphic
L_0106: ldarg.0
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld RimWorld.Pawn_StoryTracker story
L_0112: ldfld RimWorld.HairDef hairDef
L_0117: ldfld System.String texPath
L_011c: ldsfld UnityEngine.Shader Cutout
L_0121: call Vector2 get_one()
L_0126: ldarg.0
L_0127: ldfld Verse.Pawn pawn
L_012c: ldfld RimWorld.Pawn_StoryTracker story
L_0131: ldfld UnityEngine.Color hairColor
L_0136: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_013b: stfld Verse.Graphic hairGraphic
L_0140: ldarg.0
L_0141: call Void ResolveApparelGraphics()
L_0146: br Label #3
L_014b: Label #2
L_014b: ldarg.0
L_014c: ldfld Verse.Pawn pawn
L_0151: ldfld Verse.Pawn_AgeTracker ageTracker
L_0156: callvirt Verse.PawnKindLifeStage get_CurKindLifeStage()
L_015b: stloc.0
L_015c: ldarg.0
L_015d: ldfld Verse.Pawn pawn
L_0162: ldfld Verse.Gender gender
L_0167: ldc.i4.2
L_0168: bne.un Label #4
L_016d: ldloc.0
L_016e: ldfld Verse.GraphicData femaleGraphicData
L_0173: brtrue Label #5
L_0178: Label #4
L_0178: ldarg.0
L_0179: ldloc.0
L_017a: ldfld Verse.GraphicData bodyGraphicData
L_017f: callvirt Verse.Graphic get_Graphic()
L_0184: stfld Verse.Graphic nakedGraphic
L_0189: br Label #6
L_018e: Label #5
L_018e: ldarg.0
L_018f: ldloc.0
L_0190: ldfld Verse.GraphicData femaleGraphicData
L_0195: callvirt Verse.Graphic get_Graphic()
L_019a: stfld Verse.Graphic nakedGraphic
L_019f: Label #6
L_019f: ldarg.0
L_01a0: ldarg.0
L_01a1: ldfld Verse.Graphic nakedGraphic
L_01a6: ldsfld UnityEngine.Shader CutoutSkin
L_01ab: ldsfld UnityEngine.Color RottingColor
L_01b0: ldsfld UnityEngine.Color RottingColor
L_01b5: callvirt Verse.Graphic GetColoredVersion(UnityEngine.Shader, Color, Color)
L_01ba: stfld Verse.Graphic rottingGraphic
L_01bf: ldarg.0
L_01c0: ldfld Verse.Pawn pawn
L_01c5: callvirt Verse.RaceProperties get_RaceProps()
L_01ca: ldfld System.Boolean packAnimal
L_01cf: brfalse Label #7
L_01d4: ldarg.0
L_01d5: ldarg.0
L_01d6: ldfld Verse.Graphic nakedGraphic
L_01db: ldfld System.String path
L_01e0: ldstr "Pack"
L_01e5: call System.String Concat(System.String, System.String)
L_01ea: ldsfld UnityEngine.Shader Cutout
L_01ef: ldarg.0
L_01f0: ldfld Verse.Graphic nakedGraphic
L_01f5: ldfld UnityEngine.Vector2 drawSize
L_01fa: call Color get_white()
L_01ff: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_0204: stfld Verse.Graphic packGraphic
L_0209: Label #7
L_0209: ldloc.0
L_020a: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_020f: brfalse Label #8
L_0214: ldarg.0
L_0215: ldloc.0
L_0216: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_021b: ldarg.0
L_021c: ldfld Verse.Pawn pawn
L_0221: callvirt Verse.Graphic GraphicColoredFor(Verse.Thing)
L_0226: stfld Verse.Graphic dessicatedGraphic
L_022b: Label #3
L_022b: Label #8
L_022b: br Label #0
L_0230: Label #0
L_0230: ldarga 0
L_0236: call Void ResolveAllGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_023b: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveApparelGraphics()


L_0000: Local var #0 RimWorld.Apparel
L_0000: Local var #1 System.Collections.Generic.IEnumerator`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 RimWorld.ApparelGraphicRecord
L_0000: ldarga 0
L_0006: call Void ResolveApparelGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_000b: ldarg.0
L_000c: call Void ClearCache()
L_0011: ldarg.0
L_0012: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0017: callvirt Void Clear()
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0027: callvirt IEnumerable`1 get_WornApparelInDrawOrder()
L_002c: callvirt IEnumerator`1 GetEnumerator()
L_0031: stloc.1
L_0032: br Label #2
L_0037: Label #4
L_0037: ldloc.1
L_0038: callvirt RimWorld.Apparel get_Current()
L_003d: stloc.0
L_003e: ldloc.0
L_003f: ldarg.0
L_0040: ldfld Verse.Pawn pawn
L_0045: call BodyType ModifyChildBodyType(Verse.Pawn)
L_004a: ldloca.s 2 (RimWorld.ApparelGraphicRecord)
L_004c: call Boolean TryGetGraphicApparel(RimWorld.Apparel, BodyType,
ApparelGraphicRecord ByRef)
L_0051: brfalse Label #3
L_0056: ldarg.0
L_0057: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_005c: ldloc.2
L_005d: callvirt Void Add(ApparelGraphicRecord)
L_0062: Label #2
L_0062: Label #3
L_0062: ldloc.1
L_0063: callvirt Boolean MoveNext()
L_0068: brtrue Label #4
L_006d: leave Label #5
L_0072: ldloc.1
L_0073: brfalse Label #6
L_0078: ldloc.1
L_0079: callvirt Void Dispose()
L_007e: Label #6
L_007e: endfinally
L_007f: Label #5
L_007f: br Label #0
L_0084: Label #0
L_0084: ret
DONE

PATCHING Verse.PawnRenderer Void RenderPawnInternal(Vector3, Quaternion, Boolean,


Rot4, Rot4, RotDrawMode, Boolean, Boolean)
L_0000: Local var #0 UnityEngine.Mesh
L_0000: Local var #1 UnityEngine.Vector3
L_0000: Local var #2 System.Collections.Generic.List`1[[UnityEngine.Material,
UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 System.Int32
L_0000: Local var #4 UnityEngine.Material
L_0000: Local var #5 UnityEngine.Vector3
L_0000: Local var #6 UnityEngine.Vector3
L_0000: Local var #7 UnityEngine.Vector3
L_0000: Local var #8 UnityEngine.Vector3
L_0000: Local var #9 UnityEngine.Material
L_0000: Local var #10 UnityEngine.Mesh
L_0000: Local var #11 UnityEngine.Vector3
L_0000: Local var #12 System.Boolean
L_0000: Local var #13 UnityEngine.Mesh
L_0000: Local var #14
System.Collections.Generic.List`1[[RimWorld.ApparelGraphicRecord, Assembly-CSharp,
Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #15 System.Int32
L_0000: Local var #16 RimWorld.ApparelGraphicRecord
L_0000: Local var #17 RimWorld.ApparelGraphicRecord
L_0000: Local var #18 UnityEngine.Material
L_0000: Local var #19 RimWorld.ApparelGraphicRecord
L_0000: Local var #20 UnityEngine.Material
L_0000: Local var #21 RimWorld.ApparelGraphicRecord
L_0000: Local var #22 UnityEngine.Vector3
L_0000: Local var #23 UnityEngine.Mesh
L_0000: Local var #24 UnityEngine.Material
L_0000: Local var #25 System.Int32
L_0000: Local var #26 RimWorld.ApparelGraphicRecord
L_0000: Local var #27 UnityEngine.Material
L_0000: Local var #28 System.Collections.Generic.List`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #29 System.Int32
L_0000: Local var #30 UnityEngine.Vector3
L_0000: ldarg.0
L_0001: ldfld Verse.PawnGraphicSet graphics
L_0006: callvirt Boolean get_AllResolved()
L_000b: brtrue Label #2
L_0010: ldarg.0
L_0011: ldfld Verse.PawnGraphicSet graphics
L_0016: callvirt Void ResolveAllGraphics()
L_001b: Label #2
L_001b: ldnull
L_001c: stloc.0
L_001d: ldarg.0
L_001e: ldfld Verse.Pawn pawn
L_0023: ldfld Verse.Pawn_AgeTracker ageTracker
L_0028: call Int32 get_CurLifeStageIndex()
L_002d: ldc.i4.2
L_002e: blt Label #43
L_0033: ldarg.3
L_0034: brfalse Label #3
L_0039: Label #43
L_0039: ldarg.1
L_003a: ldarg.0
L_003b: ldfld Verse.Pawn pawn
L_0040: ldarg.s 7
L_0045: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_004a: stloc.1
L_004b: ldloca.s 1 (UnityEngine.Vector3)
L_004d: dup
L_004e: ldfld System.Single y
L_0053: ldc.r4 0.0078125
L_0058: add
L_0059: stfld System.Single y
L_005e: ldarg.s 6
L_0060: ldc.i4.2
L_0061: bne.un Label #4
L_0066: ldarg.0
L_0067: ldfld Verse.Pawn pawn
L_006c: callvirt Verse.RaceProperties get_RaceProps()
L_0071: callvirt Boolean get_Humanlike()
L_0076: brtrue Label #5
L_007b: ldarg.0
L_007c: ldfld Verse.PawnGraphicSet graphics
L_0081: ldfld Verse.Graphic dessicatedGraphic
L_0086: brfalse Label #6
L_008b: ldarg.s 7
L_008d: brtrue Label #7
L_0092: ldarg.0
L_0093: ldfld Verse.PawnGraphicSet graphics
L_0098: ldfld Verse.Graphic dessicatedGraphic
L_009d: ldloc.1
L_009e: ldarg.s 4
L_00a0: ldarg.0
L_00a1: ldfld Verse.Pawn pawn
L_00a6: ldc.r4 0
L_00ab: callvirt Void Draw(Vector3, Rot4, Verse.Thing, Single)
L_00b0: br Label #8
L_00b5: Label #4
L_00b5: Label #5
L_00b5: Label #6
L_00b5: Label #7
L_00b5: ldarg.0
L_00b6: ldfld Verse.Pawn pawn
L_00bb: callvirt Verse.RaceProperties get_RaceProps()
L_00c0: callvirt Boolean get_Humanlike()
L_00c5: brfalse Label #9
L_00ca: ldsfld Verse.GraphicMeshSet humanlikeBodySet
L_00cf: ldarg.s 4
L_00d1: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00d6: stloc.0
L_00d7: br Label #10
L_00dc: Label #9
L_00dc: ldarg.0
L_00dd: ldfld Verse.PawnGraphicSet graphics
L_00e2: ldfld Verse.Graphic nakedGraphic
L_00e7: ldarg.s 4
L_00e9: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00ee: stloc.0
L_00ef: Label #10
L_00ef: ldarg.0
L_00f0: ldfld Verse.PawnGraphicSet graphics
L_00f5: ldarg.s 4
L_00f7: ldarg.s 6
L_00f9: callvirt System.Collections.Generic.List`1[UnityEngine.Material]
MatsBodyBaseAt(Rot4, RotDrawMode)
L_00fe: stloc.2
L_00ff: ldc.i4.0
L_0100: stloc.3
L_0101: br Label #11
L_0106: Label #12
L_0106: ldarg.0
L_0107: ldfld Verse.PawnGraphicSet graphics
L_010c: ldfld Verse.DamageFlasher flasher
L_0111: ldloc.2
L_0112: ldloc.3
L_0113: callvirt UnityEngine.Material get_Item(Int32)
L_0118: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_011d: stloc.s 4 (UnityEngine.Material)
L_011f: ldloc.s 4
L_0124: ldarg.0
L_0125: ldfld Verse.Pawn pawn
L_012a: ldarg.s 4
L_012f: call UnityEngine.Material ModifyClothingForChild(UnityEngine.Material,
Verse.Pawn, Rot4)
L_0134: stloc.s 4
L_0139: ldloc.0
L_013a: ldloc.1
L_013b: ldarg.2
L_013c: ldloc.s 4 (UnityEngine.Material)
L_013e: ldarg.s 7
L_0140: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_0145: ldloca.s 1 (UnityEngine.Vector3)
L_0147: dup
L_0148: ldfld System.Single y
L_014d: ldloc.s 18
L_0152: ldarg.0
L_0153: ldfld Verse.Pawn pawn
L_0158: call UnityEngine.Material ModifyHatForChild(UnityEngine.Material,
Verse.Pawn)
L_015d: stloc.s 18
L_0162: ldc.r4 0.00390625
L_0167: add
L_0168: stfld System.Single y
L_016d: ldloc.3
L_016e: ldc.i4.1
L_016f: add
L_0170: stloc.3
L_0171: Label #11
L_0171: ldloc.3
L_0172: ldloc.2
L_0173: callvirt Int32 get_Count()
L_0178: blt Label #12
L_017d: ldarg.s 6
L_017f: brtrue Label #13
L_0184: ldarg.1
L_0185: ldarg.0
L_0186: ldfld Verse.Pawn pawn
L_018b: ldarg.s 7
L_0190: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0195: stloc.s 5 (UnityEngine.Vector3)
L_0197: ldloca.s 5 (UnityEngine.Vector3)
L_0199: dup
L_019a: ldfld System.Single y
L_019f: ldc.r4 0.01953125
L_01a4: add
L_01a5: stfld System.Single y
L_01aa: ldarg.0
L_01ab: ldfld RimWorld.PawnWoundDrawer woundOverlays
L_01b0: ldloc.s 5 (UnityEngine.Vector3)
L_01b2: ldloc.0
L_01b3: ldarg.2
L_01b4: ldarg.s 7
L_01b6: callvirt Void RenderOverBody(Vector3, UnityEngine.Mesh, Quaternion,
Boolean)
L_01bb: Label #3
L_01bb: Label #8
L_01bb: Label #13
L_01bb: ldarg.1
L_01bc: ldarg.0
L_01bd: ldfld Verse.Pawn pawn
L_01c2: ldarg.s 7
L_01c7: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01cc: stloc.s 6 (UnityEngine.Vector3)
L_01ce: ldarg.1
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldarg.s 7
L_01da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01df: stloc.s 7 (UnityEngine.Vector3)
L_01e1: ldarg.s 4
L_01e3: call Rot4 get_North()
L_01e8: call Boolean op_Inequality(Rot4, Rot4)
L_01ed: brfalse Label #14
L_01f2: ldloca.s 7 (UnityEngine.Vector3)
L_01f4: dup
L_01f5: ldfld System.Single y
L_01fa: ldc.r4 0.02734375
L_01ff: add
L_0200: stfld System.Single y
L_0205: ldloca.s 6 (UnityEngine.Vector3)
L_0207: dup
L_0208: ldfld System.Single y
L_020d: ldc.r4 0.0234375
L_0212: add
L_0213: stfld System.Single y
L_0218: br Label #15
L_021d: Label #14
L_021d: ldloca.s 7 (UnityEngine.Vector3)
L_021f: dup
L_0220: ldfld System.Single y
L_0225: ldc.r4 0.0234375
L_022a: add
L_022b: stfld System.Single y
L_0230: ldloca.s 6 (UnityEngine.Vector3)
L_0232: dup
L_0233: ldfld System.Single y
L_0238: ldc.r4 0.02734375
L_023d: add
L_023e: stfld System.Single y
L_0243: Label #15
L_0243: ldarg.0
L_0244: ldfld Verse.PawnGraphicSet graphics
L_0249: ldfld Verse.Graphic headGraphic
L_024e: brfalse Label #16
L_0253: ldarg.0
L_0254: ldfld Verse.Pawn pawn
L_0259: call Boolean RaceUsesChildren(Verse.Pawn)
L_025e: brfalse Label #44
L_0263: ldarg.0
L_0264: ldfld Verse.Pawn pawn
L_0269: call Boolean EnsurePawnIsChildOrOlder(Verse.Pawn)
L_026e: brfalse Label #16
L_0273: Label #44
L_0273: nop
L_0274: ldarg.2
L_0275: ldarg.0
L_0276: ldarg.s 5
L_0278: call Vector3 BaseHeadOffsetAt(Rot4)
L_027d: call Vector3 op_Multiply(Quaternion, Vector3)
L_0282: stloc.s 8 (UnityEngine.Vector3)
L_0284: ldarg.0
L_0285: ldfld Verse.PawnGraphicSet graphics
L_028a: ldarg.s 5
L_028c: ldarg.s 6
L_028e: ldarg.s 8
L_0290: callvirt UnityEngine.Material HeadMatAt(Rot4, RotDrawMode, Boolean)
L_0295: stloc.s 9 (UnityEngine.Material)
L_0297: ldloc.s 9 (UnityEngine.Material)
L_0299: ldnull
L_029a: call Boolean op_Inequality(UnityEngine.Object, UnityEngine.Object)
L_029f: brfalse Label #17
L_02a4: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_02a9: ldarg.s 5
L_02ab: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_02b0: stloc.s 10 (UnityEngine.Mesh)
L_02b2: ldloc.s 10 (UnityEngine.Mesh)
L_02b4: ldloc.s 7 (UnityEngine.Vector3)
L_02b6: ldloc.s 8 (UnityEngine.Vector3)
L_02b8: call Vector3 op_Addition(Vector3, Vector3)
L_02bd: ldarg.2
L_02be: ldloc.s 9 (UnityEngine.Material)
L_02c0: ldarg.s 7
L_02c2: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_02c7: Label #17
L_02c7: ldarg.1
L_02c8: ldloc.s 8 (UnityEngine.Vector3)
L_02ca: call Vector3 op_Addition(Vector3, Vector3)
L_02cf: ldarg.0
L_02d0: ldfld Verse.Pawn pawn
L_02d5: ldarg.s 7
L_02da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_02df: stloc.s 11 (UnityEngine.Vector3)
L_02e1: ldloca.s 11 (UnityEngine.Vector3)
L_02e3: dup
L_02e4: ldfld System.Single y
L_02e9: ldc.r4 0.03125
L_02ee: add
L_02ef: stfld System.Single y
L_02f4: ldc.i4.0
L_02f5: stloc.s 12 (System.Boolean)
L_02f7: ldarg.s 7
L_02f9: brfalse Label #18
L_02fe: call Boolean get_HatsOnlyOnMap()
L_0303: brtrue Label #19
L_0308: Label #18
L_0308: ldarg.0
L_0309: ldfld Verse.PawnGraphicSet graphics
L_030e: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_0313: ldarg.s 5
L_0315: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_031a: stloc.s 13 (UnityEngine.Mesh)
L_031c: ldarg.0
L_031d: ldfld Verse.PawnGraphicSet graphics
L_0322: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0327: stloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0329: ldc.i4.0
L_032a: stloc.s 15 (System.Int32)
L_032c: br Label #20
L_0331: Label #26
L_0331: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0333: ldloc.s 15 (System.Int32)
L_0335: callvirt ApparelGraphicRecord get_Item(Int32)
L_033a: stloc.s 16 (RimWorld.ApparelGraphicRecord)
L_033c: ldloca.s 16 (RimWorld.ApparelGraphicRecord)
L_033e: ldfld RimWorld.Apparel sourceApparel
L_0343: ldfld Verse.ThingDef def
L_0348: ldfld RimWorld.ApparelProperties apparel
L_034d: callvirt ApparelLayer get_LastLayer()
L_0352: ldc.i4.4
L_0353: bne.un Label #21
L_0358: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_035a: ldloc.s 15 (System.Int32)
L_035c: callvirt ApparelGraphicRecord get_Item(Int32)
L_0361: stloc.s 17 (RimWorld.ApparelGraphicRecord)
L_0363: ldloca.s 17 (RimWorld.ApparelGraphicRecord)
L_0365: ldfld RimWorld.Apparel sourceApparel
L_036a: ldfld Verse.ThingDef def
L_036f: ldfld RimWorld.ApparelProperties apparel
L_0374: ldfld System.Boolean hatRenderedFrontOfFace
L_0379: brtrue Label #22
L_037e: ldc.i4.1
L_037f: stloc.s 12 (System.Boolean)
L_0381: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0383: ldloc.s 15 (System.Int32)
L_0385: callvirt ApparelGraphicRecord get_Item(Int32)
L_038a: stloc.s 19 (RimWorld.ApparelGraphicRecord)
L_038c: ldloca.s 19 (RimWorld.ApparelGraphicRecord)
L_038e: ldfld Verse.Graphic graphic
L_0393: ldarg.s 4
L_0395: ldnull
L_0396: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_039b: stloc.s 18 (UnityEngine.Material)
L_039d: ldarg.0
L_039e: ldfld Verse.PawnGraphicSet graphics
L_03a3: ldfld Verse.DamageFlasher flasher
L_03a8: ldloc.s 18 (UnityEngine.Material)
L_03aa: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03af: stloc.s 18 (UnityEngine.Material)
L_03b1: ldloc.s 13 (UnityEngine.Mesh)
L_03b3: ldloc.s 11 (UnityEngine.Vector3)
L_03b5: ldarg.2
L_03b6: ldloc.s 18 (UnityEngine.Material)
L_03b8: ldarg.s 7
L_03ba: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_03bf: br Label #23
L_03c4: Label #22
L_03c4: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_03c6: ldloc.s 15 (System.Int32)
L_03c8: callvirt ApparelGraphicRecord get_Item(Int32)
L_03cd: stloc.s 21 (RimWorld.ApparelGraphicRecord)
L_03cf: ldloca.s 21 (RimWorld.ApparelGraphicRecord)
L_03d1: ldfld Verse.Graphic graphic
L_03d6: ldarg.s 4
L_03d8: ldnull
L_03d9: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_03de: stloc.s 20 (UnityEngine.Material)
L_03e0: ldarg.0
L_03e1: ldfld Verse.PawnGraphicSet graphics
L_03e6: ldfld Verse.DamageFlasher flasher
L_03eb: ldloc.s 20 (UnityEngine.Material)
L_03ed: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03f2: stloc.s 20 (UnityEngine.Material)
L_03f4: ldarg.1
L_03f5: ldloc.s 8 (UnityEngine.Vector3)
L_03f7: call Vector3 op_Addition(Vector3, Vector3)
L_03fc: stloc.s 22 (UnityEngine.Vector3)
L_03fe: ldloca.s 22 (UnityEngine.Vector3)
L_0400: dup
L_0401: ldfld System.Single y
L_0406: ldarg.s 4
L_0408: call Rot4 get_North()
L_040d: call Boolean op_Equality(Rot4, Rot4)
L_0412: brfalse Label #24
L_0417: ldc.r4 0.00390625
L_041c: br Label #25
L_0421: Label #24
L_0421: ldc.r4 0.03515625
L_0426: Label #25
L_0426: add
L_0427: stfld System.Single y
L_042c: ldloc.s 13 (UnityEngine.Mesh)
L_042e: ldloc.s 22 (UnityEngine.Vector3)
L_0430: ldarg.2
L_0431: ldloc.s 20 (UnityEngine.Material)
L_0433: ldarg.s 7
L_0435: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_043a: Label #21
L_043a: Label #23
L_043a: ldloc.s 15 (System.Int32)
L_043c: ldc.i4.1
L_043d: add
L_043e: stloc.s 15 (System.Int32)
L_0440: Label #20
L_0440: ldloc.s 15 (System.Int32)
L_0442: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0444: callvirt Int32 get_Count()
L_0449: blt Label #26
L_044e: Label #19
L_044e: ldloc.s 12 (System.Boolean)
L_0450: brtrue Label #27
L_0455: ldarg.s 6
L_0457: ldc.i4.2
L_0458: beq Label #28
L_045d: ldarg.s 8
L_045f: brtrue Label #29
L_0464: ldarg.0
L_0465: ldfld Verse.PawnGraphicSet graphics
L_046a: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_046f: ldarg.s 5
L_0471: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0476: stloc.s 23 (UnityEngine.Mesh)
L_0478: ldarg.0
L_0479: ldfld Verse.PawnGraphicSet graphics
L_047e: ldarg.s 5
L_0480: callvirt UnityEngine.Material HairMatAt(Rot4)
L_0485: stloc.s 24 (UnityEngine.Material)
L_0487: ldloc.s 24
L_048c: ldarg.0
L_048d: ldfld Verse.Pawn pawn
L_0492: call UnityEngine.Material ModifyHairForChild(UnityEngine.Material,
Verse.Pawn)
L_0497: stloc.s 24
L_049c: ldloc.s 23 (UnityEngine.Mesh)
L_049e: ldloc.s 11 (UnityEngine.Vector3)
L_04a0: ldarg.2
L_04a1: ldloc.s 24 (UnityEngine.Material)
L_04a3: ldarg.s 7
L_04a5: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_04aa: Label #16
L_04aa: Label #27
L_04aa: Label #28
L_04aa: Label #29
L_04aa: ldarg.3
L_04ab: brfalse Label #30
L_04b0: ldc.i4.0
L_04b1: stloc.s 25 (System.Int32)
L_04b3: br Label #31
L_04b8: Label #33
L_04b8: ldarg.0
L_04b9: ldfld Verse.PawnGraphicSet graphics
L_04be: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_04c3: ldloc.s 25 (System.Int32)
L_04c5: callvirt ApparelGraphicRecord get_Item(Int32)
L_04ca: stloc.s 26 (RimWorld.ApparelGraphicRecord)
L_04cc: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ce: ldfld RimWorld.Apparel sourceApparel
L_04d3: ldfld Verse.ThingDef def
L_04d8: ldfld RimWorld.ApparelProperties apparel
L_04dd: callvirt ApparelLayer get_LastLayer()
L_04e2: ldc.i4.2
L_04e3: bne.un Label #32
L_04e8: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ea: ldfld Verse.Graphic graphic
L_04ef: ldarg.s 4
L_04f1: ldnull
L_04f2: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_04f7: stloc.s 27 (UnityEngine.Material)
L_04f9: ldarg.0
L_04fa: ldfld Verse.PawnGraphicSet graphics
L_04ff: ldfld Verse.DamageFlasher flasher
L_0504: ldloc.s 27 (UnityEngine.Material)
L_0506: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_050b: stloc.s 27 (UnityEngine.Material)
L_050d: ldloc.0
L_050e: ldloc.s 6 (UnityEngine.Vector3)
L_0510: ldarg.2
L_0511: ldloc.s 27 (UnityEngine.Material)
L_0513: ldarg.s 7
L_0515: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_051a: Label #32
L_051a: ldloc.s 25 (System.Int32)
L_051c: ldc.i4.1
L_051d: add
L_051e: stloc.s 25 (System.Int32)
L_0520: Label #31
L_0520: ldloc.s 25 (System.Int32)
L_0522: ldarg.0
L_0523: ldfld Verse.PawnGraphicSet graphics
L_0528: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_052d: callvirt Int32 get_Count()
L_0532: blt Label #33
L_0537: Label #30
L_0537: ldarg.s 7
L_0539: brtrue Label #34
L_053e: ldarg.0
L_053f: ldfld Verse.Pawn pawn
L_0544: callvirt Verse.RaceProperties get_RaceProps()
L_0549: callvirt Boolean get_Animal()
L_054e: brfalse Label #35
L_0553: ldarg.0
L_0554: ldfld Verse.Pawn pawn
L_0559: ldfld Verse.Pawn_InventoryTracker inventory
L_055e: brfalse Label #36
L_0563: ldarg.0
L_0564: ldfld Verse.Pawn pawn
L_0569: ldfld Verse.Pawn_InventoryTracker inventory
L_056e: ldfld Verse.ThingOwner`1[Verse.Thing] innerContainer
L_0573: callvirt Int32 get_Count()
L_0578: ldc.i4.0
L_0579: ble Label #37
L_057e: ldarg.0
L_057f: ldfld Verse.PawnGraphicSet graphics
L_0584: ldfld Verse.Graphic packGraphic
L_0589: brfalse Label #38
L_058e: ldloc.0
L_058f: ldloc.s 6 (UnityEngine.Vector3)
L_0591: ldarg.2
L_0592: ldarg.0
L_0593: ldfld Verse.PawnGraphicSet graphics
L_0598: ldfld Verse.Graphic packGraphic
L_059d: ldarg.s 4
L_059f: ldnull
L_05a0: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_05a5: ldc.i4.0
L_05a6: call Void DrawMesh(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Int32)
L_05ab: Label #34
L_05ab: Label #35
L_05ab: Label #36
L_05ab: Label #37
L_05ab: Label #38
L_05ab: ldarg.s 7
L_05ad: brtrue Label #39
L_05b2: ldarg.0
L_05b3: ldarg.1
L_05b4: call Void DrawEquipment(Vector3)
L_05b9: ldarg.0
L_05ba: ldfld Verse.Pawn pawn
L_05bf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05c4: brfalse Label #40
L_05c9: ldarg.0
L_05ca: ldfld Verse.Pawn pawn
L_05cf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05d4: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_05d9: stloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05db: ldc.i4.0
L_05dc: stloc.s 29 (System.Int32)
L_05de: br Label #41
L_05e3: Label #42
L_05e3: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05e5: ldloc.s 29 (System.Int32)
L_05e7: callvirt RimWorld.Apparel get_Item(Int32)
L_05ec: callvirt Void DrawWornExtras()
L_05f1: ldloc.s 29 (System.Int32)
L_05f3: ldc.i4.1
L_05f4: add
L_05f5: stloc.s 29 (System.Int32)
L_05f7: Label #41
L_05f7: ldloc.s 29 (System.Int32)
L_05f9: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05fb: callvirt Int32 get_Count()
L_0600: blt Label #42
L_0605: Label #40
L_0605: ldarg.1
L_0606: ldarg.0
L_0607: ldfld Verse.Pawn pawn
L_060c: ldarg.s 7
L_0611: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0616: stloc.s 30 (UnityEngine.Vector3)
L_0618: ldloca.s 30 (UnityEngine.Vector3)
L_061a: dup
L_061b: ldfld System.Single y
L_0620: ldc.r4 0.04296875
L_0625: add
L_0626: stfld System.Single y
L_062b: ldarg.0
L_062c: ldfld Verse.PawnHeadOverlays statusOverlays
L_0631: ldloc.s 30 (UnityEngine.Vector3)
L_0633: ldarg.2
L_0634: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_0639: ldarg.s 5
L_063b: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0640: callvirt Void RenderStatusOverlays(Vector3, Quaternion, UnityEngine.Mesh)
L_0645: Label #39
L_0645: br Label #0
L_064a: Label #0
L_064a: ret
DONE

PATCHING Verse.PawnGenerator Verse.Pawn GeneratePawn(PawnGenerationRequest)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Pawn
L_0000: ldnull
L_0001: stloc 1 (Verse.Pawn)
L_0002: ldarg.0
L_0003: call Verse.Pawn GeneratePawnInternal(PawnGenerationRequest)
L_0008: stloc.0
L_0009: leave Label #2
L_000e: endfinally
L_000f: Label #2
L_000f: ldloc.0
L_0010: br Label #0
L_0015: Label #0
L_0015: stloc 1 (Verse.Pawn)
L_0016: ldarga 0
L_001c: ldloca 1 (Verse.Pawn)
L_001e: call Void _GeneratePawn(PawnGenerationRequest ByRef, Verse.Pawn ByRef)
L_0023: ldloc 1 (Verse.Pawn)
L_0024: ret
DONE

PATCHING RimWorld.JobGiver_OptimizeApparel Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 RimWorld.Outfit
L_0000: Local var #1 System.Collections.Generic.List`1[[RimWorld.Apparel, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.AI.Job
L_0000: Local var #4 Verse.Thing
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #7 System.Int32
L_0000: Local var #8 RimWorld.Apparel
L_0000: Local var #9 RimWorld.SlotGroup
L_0000: Local var #10 System.Single
L_0000: Local var #11 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 11 (Verse.AI.Job)
L_0003: ldarg.1
L_0004: ldfld RimWorld.Pawn_OutfitTracker outfits
L_0009: brtrue Label #2
L_000e: ldarg.1
L_000f: ldstr " tried to run JobGiver_OptimizeApparel without an OutfitTracker"
L_0014: call System.String Concat(System.Object, System.Object)
L_0019: ldc.i4 5643897
L_001e: call Void ErrorOnce(System.String, Int32)
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: ldarg.1
L_002a: callvirt RimWorld.Faction get_Faction()
L_002f: call RimWorld.Faction get_OfPlayer()
L_0034: beq Label #3
L_0039: ldstr "Non-colonist "
L_003e: ldarg.1
L_003f: ldstr " tried to optimize apparel."
L_0044: call System.String Concat(System.Object, System.Object, System.Object)
L_0049: ldc.i4 764323
L_004e: call Void ErrorOnce(System.String, Int32)
L_0053: ldnull
L_0054: br Label #0
L_0059: Label #3
L_0059: ldsfld System.Boolean debugApparelOptimize
L_005e: brtrue Label #4
L_0063: call Verse.TickManager get_TickManager()
L_0068: callvirt Int32 get_TicksGame()
L_006d: ldarg.1
L_006e: ldfld Verse.AI.Pawn_MindState mindState
L_0073: ldfld System.Int32 nextApparelOptimizeTick
L_0078: bge Label #5
L_007d: ldnull
L_007e: br Label #0
L_0083: Label #5
L_0083: br Label #6
L_0088: Label #4
L_0088: newobj Void .ctor()
L_008d: stsfld System.Text.StringBuilder debugSb
L_0092: ldsfld System.Text.StringBuilder debugSb
L_0097: ldc.i4.4
L_0098: newarr System.Object
L_009d: dup
L_009e: ldc.i4.0
L_009f: ldstr "Scanning for "
L_00a4: stelem.ref
L_00a5: dup
L_00a6: ldc.i4.1
L_00a7: ldarg.1
L_00a8: stelem.ref
L_00a9: dup
L_00aa: ldc.i4.2
L_00ab: ldstr " at "
L_00b0: stelem.ref
L_00b1: dup
L_00b2: ldc.i4.3
L_00b3: ldarg.1
L_00b4: callvirt IntVec3 get_Position()
L_00b9: box Verse.IntVec3
L_00be: stelem.ref
L_00bf: call System.String Concat(System.Object[])
L_00c4: callvirt System.Text.StringBuilder AppendLine(System.String)
L_00c9: pop
L_00ca: Label #6
L_00ca: ldarg.1
L_00cb: ldfld RimWorld.Pawn_OutfitTracker outfits
L_00d0: callvirt RimWorld.Outfit get_CurrentOutfit()
L_00d5: stloc.0
L_00d6: ldarg.1
L_00d7: ldfld RimWorld.Pawn_ApparelTracker apparel
L_00dc: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_00e1: stloc.1
L_00e2: ldloc.1
L_00e3: callvirt Int32 get_Count()
L_00e8: ldc.i4.1
L_00e9: sub
L_00ea: stloc.2
L_00eb: br Label #7
L_00f0: Label #10
L_00f0: ldloc.0
L_00f1: ldfld Verse.ThingFilter filter
L_00f6: ldloc.1
L_00f7: ldloc.2
L_00f8: callvirt RimWorld.Apparel get_Item(Int32)
L_00fd: callvirt Boolean Allows(Verse.Thing)
L_0102: brtrue Label #8
L_0107: ldarg.1
L_0108: ldfld RimWorld.Pawn_OutfitTracker outfits
L_010d: ldfld RimWorld.OutfitForcedHandler forcedHandler
L_0112: ldloc.1
L_0113: ldloc.2
L_0114: callvirt RimWorld.Apparel get_Item(Int32)
L_0119: callvirt Boolean AllowedToAutomaticallyDrop(RimWorld.Apparel)
L_011e: brfalse Label #9
L_0123: ldsfld Verse.JobDef RemoveApparel
L_0128: ldloc.1
L_0129: ldloc.2
L_012a: callvirt RimWorld.Apparel get_Item(Int32)
L_012f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0134: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0139: stloc.3
L_013a: ldloc.3
L_013b: ldc.i4.1
L_013c: stfld System.Boolean haulDroppedApparel
L_0141: ldloc.3
L_0142: br Label #0
L_0147: Label #8
L_0147: Label #9
L_0147: ldloc.2
L_0148: ldc.i4.1
L_0149: sub
L_014a: stloc.2
L_014b: Label #7
L_014b: ldloc.2
L_014c: ldc.i4.0
L_014d: bge Label #10
L_0152: ldnull
L_0153: stloc.s 4 (Verse.Thing)
L_0155: ldc.r4 0
L_015a: stloc.s 5 (System.Single)
L_015c: ldarg.1
L_015d: callvirt Verse.Map get_Map()
L_0162: ldfld Verse.ListerThings listerThings
L_0167: ldc.i4.s 26
L_0169: callvirt System.Collections.Generic.List`1[Verse.Thing]
ThingsInGroup(ThingRequestGroup)
L_016e: stloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0170: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0172: callvirt Int32 get_Count()
L_0177: brtrue Label #11
L_017c: ldarg.0
L_017d: ldarg.1
L_017e: call Void SetNextOptimizeTick(Verse.Pawn)
L_0183: ldnull
L_0184: br Label #0
L_0189: Label #11
L_0189: ldarg.1
L_018a: ldarg.1
L_018b: callvirt Verse.Map get_Map()
L_0190: callvirt Int32 get_Tile()
L_0195: ldarg.1
L_0196: call Twelfth Twelfth(Verse.Thing)
L_019b: call NeededWarmth CalculateNeededWarmth(Verse.Pawn, Int32, Twelfth)
L_01a0: stsfld RimWorld.NeededWarmth neededWarmth
L_01a5: ldc.i4.0
L_01a6: stloc.s 7 (System.Int32)
L_01a8: br Label #12
L_01ad: Label #27
L_01ad: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_01af: ldloc.s 7 (System.Int32)
L_01b1: callvirt Verse.Thing get_Item(Int32)
L_01b6: castclass RimWorld.Apparel
L_01bb: stloc.s 8 (RimWorld.Apparel)
L_01bd: ldloc.0
L_01be: ldfld Verse.ThingFilter filter
L_01c3: ldloc.s 8 (RimWorld.Apparel)
L_01c5: callvirt Boolean Allows(Verse.Thing)
L_01ca: brtrue Label #13
L_01cf: br Label #14
L_01d4: Label #13
L_01d4: ldloc.s 8 (RimWorld.Apparel)
L_01d6: callvirt Verse.Map get_Map()
L_01db: ldfld RimWorld.SlotGroupManager slotGroupManager
L_01e0: ldloc.s 8 (RimWorld.Apparel)
L_01e2: callvirt IntVec3 get_Position()
L_01e7: callvirt RimWorld.SlotGroup SlotGroupAt(IntVec3)
L_01ec: stloc.s 9 (RimWorld.SlotGroup)
L_01ee: ldloc.s 9 (RimWorld.SlotGroup)
L_01f0: brtrue Label #15
L_01f5: br Label #16
L_01fa: Label #15
L_01fa: ldloc.s 8 (RimWorld.Apparel)
L_01fc: ldarg.1
L_01fd: call Boolean IsForbidden(Verse.Thing, Verse.Pawn)
L_0202: brfalse Label #17
L_0207: br Label #18
L_020c: Label #17
L_020c: ldarg.1
L_020d: ldloc.s 8 (RimWorld.Apparel)
L_020f: call Single ApparelScoreGain(Verse.Pawn, RimWorld.Apparel)
L_0214: stloc.s 10 (System.Single)
L_0216: ldsfld System.Boolean debugApparelOptimize
L_021b: brfalse Label #19
L_0220: ldsfld System.Text.StringBuilder debugSb
L_0225: ldloc.s 8 (RimWorld.Apparel)
L_0227: callvirt System.String get_LabelCap()
L_022c: ldstr ": "
L_0231: ldloca.s 10 (System.Single)
L_0233: ldstr "F2"
L_0238: call System.String ToString(System.String)
L_023d: call System.String Concat(System.String, System.String, System.String)
L_0242: callvirt System.Text.StringBuilder AppendLine(System.String)
L_0247: pop
L_0248: Label #19
L_0248: ldloc.s 10 (System.Single)
L_024a: ldc.r4 0.05
L_024f: blt Label #20
L_0254: ldloc.s 10 (System.Single)
L_0256: ldloc.s 5 (System.Single)
L_0258: bge.un Label #21
L_025d: Label #20
L_025d: br Label #22
L_0262: Label #21
L_0262: ldarg.1
L_0263: ldloc.s 8 (RimWorld.Apparel)
L_0265: ldfld Verse.ThingDef def
L_026a: call Boolean HasPartsToWear(Verse.Pawn, Verse.ThingDef)
L_026f: brtrue Label #23
L_0274: br Label #24
L_0279: Label #23
L_0279: ldarg.1
L_027a: ldloc.s 8 (RimWorld.Apparel)
L_027c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0281: ldc.i4.1
L_0282: ldarg.1
L_0283: call Danger NormalMaxDanger(Verse.Pawn)
L_0288: ldc.i4.1
L_0289: ldc.i4.m1
L_028a: ldnull
L_028b: ldc.i4.0
L_028c: call Boolean CanReserveAndReach(Verse.Pawn, LocalTargetInfo, PathEndMode,
Danger, Int32, Int32, Verse.ReservationLayerDef, Boolean)
L_0291: brtrue Label #25
L_0296: br Label #26
L_029b: Label #25
L_029b: ldloc.s 8 (RimWorld.Apparel)
L_029d: stloc.s 4 (Verse.Thing)
L_029f: ldloc.s 10 (System.Single)
L_02a1: stloc.s 5 (System.Single)
L_02a3: Label #14
L_02a3: Label #16
L_02a3: Label #18
L_02a3: Label #22
L_02a3: Label #24
L_02a3: Label #26
L_02a3: ldloc.s 7 (System.Int32)
L_02a5: ldc.i4.1
L_02a6: add
L_02a7: stloc.s 7 (System.Int32)
L_02a9: Label #12
L_02a9: ldloc.s 7 (System.Int32)
L_02ab: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_02ad: callvirt Int32 get_Count()
L_02b2: blt Label #27
L_02b7: ldsfld System.Boolean debugApparelOptimize
L_02bc: brfalse Label #28
L_02c1: ldsfld System.Text.StringBuilder debugSb
L_02c6: ldstr "BEST: "
L_02cb: ldloc.s 4 (Verse.Thing)
L_02cd: call System.String Concat(System.Object, System.Object)
L_02d2: callvirt System.Text.StringBuilder AppendLine(System.String)
L_02d7: pop
L_02d8: ldsfld System.Text.StringBuilder debugSb
L_02dd: callvirt System.String ToString()
L_02e2: call Void Message(System.String)
L_02e7: ldnull
L_02e8: stsfld System.Text.StringBuilder debugSb
L_02ed: Label #28
L_02ed: ldloc.s 4 (Verse.Thing)
L_02ef: brtrue Label #29
L_02f4: ldarg.0
L_02f5: ldarg.1
L_02f6: call Void SetNextOptimizeTick(Verse.Pawn)
L_02fb: ldnull
L_02fc: br Label #0
L_0301: Label #29
L_0301: ldsfld Verse.JobDef Wear
L_0306: ldloc.s 4 (Verse.Thing)
L_0308: call LocalTargetInfo op_Implicit(Verse.Thing)
L_030d: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0312: br Label #0
L_0317: Label #0
L_0317: stloc 11 (Verse.AI.Job)
L_0319: ldloca 11 (Verse.AI.Job)
L_031b: ldarga 1
L_0321: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_0326: ldloc 11 (Verse.AI.Job)
L_0328: ret
DONE

PATCHING Verse.Pawn_HealthTracker Boolean ShouldBeDowned()


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean get_InPainShock()
L_000c: brtrue Label #2
L_0011: ldarg.0
L_0012: ldfld Verse.PawnCapacitiesHandler capacities
L_0017: callvirt Boolean get_CanBeAwake()
L_001c: brfalse Label #3
L_0021: ldarg.0
L_0022: ldfld Verse.PawnCapacitiesHandler capacities
L_0027: ldsfld Verse.PawnCapacityDef Moving
L_002c: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0031: ldc.i4.0
L_0032: ceq
L_0034: br Label #4
L_0039: Label #2
L_0039: Label #3
L_0039: ldc.i4.1
L_003a: Label #4
L_003a: br Label #0
L_003f: Label #0
L_003f: stloc 0 (System.Boolean)
L_0040: ldarga 0
L_0046: ldloca 0 (System.Boolean)
L_0048: call Void SBD(Verse.Pawn_HealthTracker ByRef, Boolean ByRef)
L_004d: ldloc 0 (System.Boolean)
L_004e: ret
DONE

PATCHING Verse.Pawn_HealthTracker Void CheckForStateChange(Nullable`1,


Verse.Hediff)
L_0000: Local var #0 System.Single
L_0000: Local var #1 Verse.DamageInfo
L_0000: Local var #2 Verse.ThingWithComps
L_0000: ldarg.0
L_0001: call Boolean get_Dead()
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: call Boolean ShouldBeDead()
L_0011: brfalse Label #3
L_0016: ldarg.0
L_0017: ldfld Verse.Pawn pawn
L_001c: callvirt Boolean get_Destroyed()
L_0021: brtrue Label #4
L_0026: ldarg.0
L_0027: ldfld Verse.Pawn pawn
L_002c: ldarg.1
L_002d: ldarg.2
L_002e: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_0033: Label #4
L_0033: br Label #0
L_0038: Label #3
L_0038: ldarg.0
L_0039: call Boolean get_Downed()
L_003e: brtrue Label #5
L_0043: ldarg.0
L_0044: call Boolean ShouldBeDowned()
L_0049: brfalse Label #6
L_004e: ldarg.0
L_004f: ldfld Verse.Pawn pawn
L_0054: callvirt Verse.RaceProperties get_RaceProps()
L_0059: callvirt Boolean get_Animal()
L_005e: brfalse Label #7
L_0063: ldc.r4 0.47
L_0068: br Label #8
L_006d: Label #7
L_006d: ldc.r4 0.67
L_0072: Label #8
L_0072: stloc.0
L_0073: ldarg.0
L_0074: ldfld System.Boolean forceIncap
L_0079: brtrue Label #9
L_007e: ldarga.s 1
L_0080: call Boolean get_HasValue()
L_0085: brfalse Label #10
L_008a: ldarga.s 1
L_008c: call DamageInfo get_Value()
L_0091: stloc.1
L_0092: ldloca.s 1 (Verse.DamageInfo)
L_0094: call Verse.DamageDef get_Def()
L_0099: ldfld System.Boolean externalViolence
L_009e: brfalse Label #11
L_00a3: ldarg.0
L_00a4: ldfld Verse.Pawn pawn
L_00a9: callvirt RimWorld.Faction get_Faction()
L_00ae: brfalse Label #12
L_00b3: ldarg.0
L_00b4: ldfld Verse.Pawn pawn
L_00b9: callvirt RimWorld.Faction get_Faction()
L_00be: callvirt Boolean get_IsPlayer()
L_00c3: brtrue Label #13
L_00c8: br Label #13
L_00cd: Label #12
L_00cd: ldarg.0
L_00ce: ldfld Verse.Pawn pawn
L_00d3: callvirt Boolean get_IsPrisonerOfColony()
L_00d8: brtrue Label #14
L_00dd: ldarg.0
L_00de: ldfld Verse.Pawn pawn
L_00e3: callvirt Verse.RaceProperties get_RaceProps()
L_00e8: callvirt Boolean get_IsFlesh()
L_00ed: brfalse Label #15
L_00f2: call Single get_Value()
L_00f7: ldloc.0
L_00f8: bge.un Label #16
L_00fd: ldarg.0
L_00fe: ldfld Verse.Pawn pawn
L_0103: ldarg.1
L_0104: ldnull
L_0105: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_010a: br Label #0
L_010f: Label #9
L_010f: Label #10
L_010f: Label #11
L_010f: Label #13
L_010f: Label #14
L_010f: Label #15
L_010f: Label #16
L_010f: ldarg.0
L_0110: ldc.i4.0
L_0111: stfld System.Boolean forceIncap
L_0116: ldarg.0
L_0117: ldarg.1
L_0118: ldarg.2
L_0119: call Void MakeDowned(Nullable`1, Verse.Hediff)
L_011e: br Label #0
L_0123: Label #6
L_0123: ldarg.0
L_0124: ldfld Verse.PawnCapacitiesHandler capacities
L_0129: ldsfld Verse.PawnCapacityDef Manipulation
L_012e: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0133: brtrue Label #17
L_0138: ldarg.0
L_0139: ldfld Verse.Pawn pawn
L_013e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0143: brfalse Label #18
L_0148: ldarg.0
L_0149: ldfld Verse.Pawn pawn
L_014e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0153: callvirt Verse.Thing get_CarriedThing()
L_0158: brfalse Label #19
L_015d: ldarg.0
L_015e: ldfld Verse.Pawn pawn
L_0163: ldfld Verse.AI.Pawn_JobTracker jobs
L_0168: brfalse Label #20
L_016d: ldarg.0
L_016e: ldfld Verse.Pawn pawn
L_0173: callvirt Verse.AI.Job get_CurJob()
L_0178: brfalse Label #21
L_017d: ldarg.0
L_017e: ldfld Verse.Pawn pawn
L_0183: ldfld Verse.AI.Pawn_JobTracker jobs
L_0188: ldc.i4.5
L_0189: ldc.i4.1
L_018a: callvirt Void EndCurrentJob(JobCondition, Boolean)
L_018f: Label #18
L_018f: Label #19
L_018f: Label #20
L_018f: Label #21
L_018f: ldarg.0
L_0190: ldfld Verse.Pawn pawn
L_0195: ldfld Verse.Pawn_EquipmentTracker equipment
L_019a: brfalse Label #22
L_019f: ldarg.0
L_01a0: ldfld Verse.Pawn pawn
L_01a5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01aa: callvirt Verse.ThingWithComps get_Primary()
L_01af: brfalse Label #23
L_01b4: ldarg.0
L_01b5: ldfld Verse.Pawn pawn
L_01ba: callvirt Boolean get_InContainerEnclosed()
L_01bf: brfalse Label #24
L_01c4: ldarg.0
L_01c5: ldfld Verse.Pawn pawn
L_01ca: ldfld Verse.Pawn_EquipmentTracker equipment
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01da: callvirt Verse.ThingWithComps get_Primary()
L_01df: ldarg.0
L_01e0: ldfld Verse.Pawn pawn
L_01e5: ldfld Verse.ThingOwner holdingOwner
L_01ea: callvirt Boolean TryTransferEquipmentToContainer(Verse.ThingWithComps,
Verse.ThingOwner)
L_01ef: pop
L_01f0: br Label #25
L_01f5: Label #24
L_01f5: ldarg.0
L_01f6: ldfld Verse.Pawn pawn
L_01fb: callvirt Boolean get_SpawnedOrAnyParentSpawned()
L_0200: brfalse Label #26
L_0205: ldarg.0
L_0206: ldfld Verse.Pawn pawn
L_020b: ldfld Verse.Pawn_EquipmentTracker equipment
L_0210: ldarg.0
L_0211: ldfld Verse.Pawn pawn
L_0216: ldfld Verse.Pawn_EquipmentTracker equipment
L_021b: callvirt Verse.ThingWithComps get_Primary()
L_0220: ldloca.s 2 (Verse.ThingWithComps)
L_0222: ldarg.0
L_0223: ldfld Verse.Pawn pawn
L_0228: callvirt IntVec3 get_PositionHeld()
L_022d: ldc.i4.1
L_022e: callvirt Boolean TryDropEquipment(Verse.ThingWithComps,
Verse.ThingWithComps ByRef, IntVec3, Boolean)
L_0233: pop
L_0234: br Label #27
L_0239: Label #26
L_0239: ldarg.0
L_023a: ldfld Verse.Pawn pawn
L_023f: ldfld Verse.Pawn_EquipmentTracker equipment
L_0244: ldarg.0
L_0245: ldfld Verse.Pawn pawn
L_024a: ldfld Verse.Pawn_EquipmentTracker equipment
L_024f: callvirt Verse.ThingWithComps get_Primary()
L_0254: callvirt Void DestroyEquipment(Verse.ThingWithComps)
L_0259: Label #17
L_0259: Label #22
L_0259: Label #23
L_0259: Label #25
L_0259: Label #27
L_0259: br Label #28
L_025e: Label #5
L_025e: ldarg.0
L_025f: call Boolean ShouldBeDowned()
L_0264: brtrue Label #29
L_0269: ldarg.0
L_026a: call Void MakeUndowned()
L_026f: br Label #0
L_0274: Label #2
L_0274: Label #28
L_0274: Label #29
L_0274: br Label #0
L_0279: Label #0
L_0279: ret
DONE
PATCHING RimWorld.RestUtility Single WakeThreshold(Verse.Pawn)
L_0000: Local var #0 Verse.AI.Group.Lord
L_0000: Local var #1 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #2 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #3 System.Single
L_0000: ldc.r4 0
L_0005: stloc 3 (System.Single)
L_0006: ldarg.0
L_0007: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldloc.0
L_0014: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0019: brfalse Label #3
L_001e: ldloc.0
L_001f: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0024: callvirt Nullable`1 get_CustomWakeThreshold()
L_0029: stloc.1
L_002a: ldloca.s 1 (System.Nullable`1[System.Single])
L_002c: call Boolean get_HasValue()
L_0031: brfalse Label #4
L_0036: ldloc.0
L_0037: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_003c: callvirt Nullable`1 get_CustomWakeThreshold()
L_0041: stloc.2
L_0042: ldloca.s 2 (System.Nullable`1[System.Single])
L_0044: call Single get_Value()
L_0049: br Label #0
L_004e: Label #2
L_004e: Label #3
L_004e: Label #4
L_004e: ldc.r4 1
L_0053: br Label #0
L_0058: Label #0
L_0058: stloc 3 (System.Single)
L_0059: ldloca 3 (System.Single)
L_005b: ldarga 0
L_0061: call Void WakeThreshold_Patch(Single ByRef, Verse.Pawn ByRef)
L_0066: ldloc 3 (System.Single)
L_0067: ret
DONE

PATCHING Verse.Verb_Shoot Boolean TryCastShot()


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 1 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean TryCastShot()
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldarg.0
L_0014: call Boolean get_CasterIsPawn()
L_0019: brfalse Label #3
L_001e: ldarg.0
L_001f: call Verse.Pawn get_CasterPawn()
L_0024: ldfld RimWorld.Pawn_RecordsTracker records
L_0029: ldsfld RimWorld.RecordDef ShotsFired
L_002e: callvirt Void Increment(RimWorld.RecordDef)
L_0033: Label #2
L_0033: Label #3
L_0033: ldloc.0
L_0034: br Label #0
L_0039: Label #0
L_0039: stloc 1 (System.Boolean)
L_003a: ldarga 0
L_0040: call Void TryCastShot_Patch(Verse.Verb_Shoot ByRef)
L_0045: ldloc 1 (System.Boolean)
L_0046: ret
DONE

PATCHING Verse.Pawn_EquipmentTracker Void


Notify_EquipmentAdded(Verse.ThingWithComps)
L_0000: Local var #0 Verse.Verb
L_0000: Local var #1 System.Collections.Generic.List`1+Enumerator[[Verse.Verb,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.1
L_0001: callvirt Verse.CompEquippable GetComp[CompEquippable]()
L_0006: callvirt System.Collections.Generic.List`1[Verse.Verb] get_AllVerbs()
L_000b: callvirt Enumerator GetEnumerator()
L_0010: stloc.1
L_0011: br Label #2
L_0016: Label #3
L_0016: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0018: call Verse.Verb get_Current()
L_001d: stloc.0
L_001e: ldloc.0
L_001f: ldarg.0
L_0020: ldfld Verse.Pawn pawn
L_0025: stfld Verse.Thing caster
L_002a: ldloc.0
L_002b: callvirt Void Notify_PickedUp()
L_0030: Label #2
L_0030: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0032: call Boolean MoveNext()
L_0037: brtrue Label #3
L_003c: leave Label #4
L_0041: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0043: constrained. System.Collections.Generic.List`1+Enumerator[Verse.Verb]
L_0049: callvirt Void Dispose()
L_004e: endfinally
L_004f: Label #4
L_004f: br Label #0
L_0054: Label #0
L_0054: ldarga 1
L_005a: ldarga 0
L_0060: call Void Notify_EquipmentAdded_Patch(Verse.ThingWithComps ByRef,
Verse.Pawn_EquipmentTracker ByRef)
L_0065: ret
DONE

PATCHING RimWorld.PawnWeaponGenerator Void TryGenerateWeaponFor(Verse.Pawn)


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2
RimWorld.PawnWeaponGenerator+<TryGenerateWeaponFor>c__AnonStorey2
L_0000: Local var #3 RimWorld.ThingStuffPair
L_0000: Local var #4 Verse.ThingWithComps
L_0000: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0005: callvirt Void Clear()
L_000a: ldarg.0
L_000b: ldfld Verse.PawnKindDef kindDef
L_0010: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0015: brfalse Label #2
L_001a: ldarg.0
L_001b: ldfld Verse.PawnKindDef kindDef
L_0020: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0025: callvirt Int32 get_Count()
L_002a: brtrue Label #3
L_002f: Label #2
L_002f: br Label #0
L_0034: Label #3
L_0034: ldarg.0
L_0035: callvirt Verse.RaceProperties get_RaceProps()
L_003a: callvirt Boolean get_ToolUser()
L_003f: brtrue Label #4
L_0044: br Label #0
L_0049: Label #4
L_0049: ldarg.0
L_004a: ldfld Verse.Pawn_HealthTracker health
L_004f: ldfld Verse.PawnCapacitiesHandler capacities
L_0054: ldsfld Verse.PawnCapacityDef Manipulation
L_0059: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_005e: brtrue Label #5
L_0063: br Label #0
L_0068: Label #5
L_0068: ldarg.0
L_0069: ldfld RimWorld.Pawn_StoryTracker story
L_006e: brfalse Label #6
L_0073: ldarg.0
L_0074: ldfld RimWorld.Pawn_StoryTracker story
L_0079: ldc.i4.8
L_007a: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_007f: brfalse Label #7
L_0084: br Label #0
L_0089: Label #6
L_0089: Label #7
L_0089: ldarg.0
L_008a: ldfld Verse.PawnKindDef kindDef
L_008f: ldflda Verse.FloatRange weaponMoney
L_0094: call Single get_RandomInRange()
L_0099: stloc.0
L_009a: ldc.i4.0
L_009b: stloc.1
L_009c: br Label #8
L_00a1: Label #16
L_00a1: newobj Void .ctor()
L_00a6: stloc.2
L_00a7: ldloc.2
L_00a8: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_00ad: ldloc.1
L_00ae: callvirt ThingStuffPair get_Item(Int32)
L_00b3: stfld RimWorld.ThingStuffPair w
L_00b8: ldloc.2
L_00b9: ldflda RimWorld.ThingStuffPair w
L_00be: call Single get_Price()
L_00c3: ldloc.0
L_00c4: ble.un Label #9
L_00c9: br Label #10
L_00ce: Label #9
L_00ce: ldarg.0
L_00cf: ldfld Verse.PawnKindDef kindDef
L_00d4: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_00d9: ldloc.2
L_00da: ldftn Boolean <>m__0(System.String)
L_00e0: newobj Void .ctor(Object, IntPtr)
L_00e5: call Boolean Any[String](System.Collections.Generic.List`1[System.String],
System.Predicate`1[System.String])
L_00ea: brtrue Label #11
L_00ef: br Label #12
L_00f4: Label #11
L_00f4: ldloc.2
L_00f5: ldflda RimWorld.ThingStuffPair w
L_00fa: ldfld Verse.ThingDef thing
L_00ff: ldfld System.Single generateAllowChance
L_0104: ldc.r4 1
L_0109: bge.un Label #13
L_010e: ldarg.0
L_010f: ldfld System.Int32 thingIDNumber
L_0114: ldc.i4 28554824
L_0119: xor
L_011a: call Single ValueSeeded(Int32)
L_011f: ldloc.2
L_0120: ldflda RimWorld.ThingStuffPair w
L_0125: ldfld Verse.ThingDef thing
L_012a: ldfld System.Single generateAllowChance
L_012f: ble.un Label #14
L_0134: br Label #15
L_0139: Label #13
L_0139: Label #14
L_0139: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_013e: ldloc.2
L_013f: ldfld RimWorld.ThingStuffPair w
L_0144: callvirt Void Add(ThingStuffPair)
L_0149: Label #10
L_0149: Label #12
L_0149: Label #15
L_0149: ldloc.1
L_014a: ldc.i4.1
L_014b: add
L_014c: stloc.1
L_014d: Label #8
L_014d: ldloc.1
L_014e: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_0153: callvirt Int32 get_Count()
L_0158: blt Label #16
L_015d: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0162: callvirt Int32 get_Count()
L_0167: brtrue Label #17
L_016c: br Label #0
L_0171: ldarg.0
L_0172: ldloc.2
L_0173: callvirt System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
FilterChildWeapons(Verse.Pawn,
System.Collections.Generic.List`1[RimWorld.ThingStuffPair])
L_0178: stloc.2
L_0179: Label #17
L_0179: ldarg.0
L_017a: ldfld Verse.Pawn_EquipmentTracker equipment
L_017f: ldc.i4.0
L_0180: callvirt Void DestroyAllEquipment(DestroyMode)
L_0185: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_018a: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_018f: brtrue Label #18
L_0194: ldnull
L_0195: ldftn Single <TryGenerateWeaponFor>m__2(ThingStuffPair)
L_019b: newobj Void .ctor(Object, IntPtr)
L_01a0: stsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01a5: Label #18
L_01a5: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01aa: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01ac: call Boolean TryRandomElementByWeight[ThingStuffPair](IEnumerable`1,
System.Func`2[RimWorld.ThingStuffPair,System.Single], ThingStuffPair ByRef)
L_01b1: brfalse Label #19
L_01b6: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01b8: ldfld Verse.ThingDef thing
L_01bd: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01bf: ldfld Verse.ThingDef stuff
L_01c4: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_01c9: castclass Verse.ThingWithComps
L_01ce: stloc.s 4 (Verse.ThingWithComps)
L_01d0: ldloc.s 4 (Verse.ThingWithComps)
L_01d2: ldarg.0
L_01d3: call Void PostProcessGeneratedGear(Verse.Thing, Verse.Pawn)
L_01d8: ldarg.0
L_01d9: ldfld Verse.Pawn_EquipmentTracker equipment
L_01de: ldloc.s 4 (Verse.ThingWithComps)
L_01e0: callvirt Void AddEquipment(Verse.ThingWithComps)
L_01e5: Label #19
L_01e5: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_01ea: callvirt Void Clear()
L_01ef: br Label #0
L_01f4: Label #0
L_01f4: ret
DONE

PATCHING RimWorld.Bill_Medical Void Notify_DoBillStarted(Verse.Pawn)


L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.ThingStackPartClass,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Int32
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void Notify_DoBillStarted(Verse.Pawn)
L_0007: ldarg.0
L_0008: ldnull
L_0009: stfld Verse.ThingDef consumedInitialMedicineDef
L_000e: ldarg.0
L_000f: call Verse.Pawn get_GiverPawn()
L_0014: callvirt Boolean get_Dead()
L_0019: brtrue Label #2
L_001e: ldarg.0
L_001f: ldfld Verse.RecipeDef recipe
L_0024: call Boolean RecipeHasNoIngredients(Verse.RecipeDef)
L_0029: brtrue Label #2
L_002e: ldarg.0
L_002f: ldfld Verse.RecipeDef recipe
L_0034: ldfld System.Boolean anesthetize
L_0039: brfalse Label #3
L_003e: ldarg.0
L_003f: call Verse.Pawn get_GiverPawn()
L_0044: call Boolean TryAnesthetize(Verse.Pawn)
L_0049: brfalse Label #4
L_004e: ldarg.1
L_004f: callvirt Verse.AI.Job get_CurJob()
L_0054: ldfld System.Collections.Generic.List`1[Verse.ThingStackPartClass]
placedThings
L_0059: stloc.0
L_005a: ldc.i4.0
L_005b: stloc.1
L_005c: br Label #5
L_0061: Label #10
L_0061: ldloc.0
L_0062: ldloc.1
L_0063: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0068: ldfld Verse.Thing thing
L_006d: isinst RimWorld.Medicine
L_0072: brfalse Label #6
L_0077: ldarg.0
L_0078: ldfld Verse.RecipeDef recipe
L_007d: callvirt Verse.RecipeWorker get_Worker()
L_0082: ldloc.0
L_0083: ldloc.1
L_0084: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0089: ldfld Verse.Thing thing
L_008e: ldc.i4.1
L_008f: callvirt Verse.Thing SplitOff(Int32)
L_0094: ldarg.0
L_0095: ldfld Verse.RecipeDef recipe
L_009a: ldarg.1
L_009b: callvirt Verse.Map get_MapHeld()
L_00a0: callvirt Void ConsumeIngredient(Verse.Thing, Verse.RecipeDef, Verse.Map)
L_00a5: ldloc.0
L_00a6: ldloc.1
L_00a7: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ac: dup
L_00ad: callvirt Int32 get_Count()
L_00b2: ldc.i4.1
L_00b3: sub
L_00b4: callvirt Void set_Count(Int32)
L_00b9: ldarg.0
L_00ba: ldloc.0
L_00bb: ldloc.1
L_00bc: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00c1: ldfld Verse.Thing thing
L_00c6: ldfld Verse.ThingDef def
L_00cb: stfld Verse.ThingDef consumedInitialMedicineDef
L_00d0: ldloc.0
L_00d1: ldloc.1
L_00d2: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00d7: ldfld Verse.Thing thing
L_00dc: callvirt Boolean get_Destroyed()
L_00e1: brtrue Label #7
L_00e6: ldloc.0
L_00e7: ldloc.1
L_00e8: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ed: callvirt Int32 get_Count()
L_00f2: ldc.i4.0
L_00f3: bgt Label #8
L_00f8: Label #7
L_00f8: ldloc.0
L_00f9: ldloc.1
L_00fa: callvirt Void RemoveAt(Int32)
L_00ff: Label #8
L_00ff: br Label #9
L_0104: Label #6
L_0104: ldloc.1
L_0105: ldc.i4.1
L_0106: add
L_0107: stloc.1
L_0108: Label #5
L_0108: ldloc.1
L_0109: ldloc.0
L_010a: callvirt Int32 get_Count()
L_010f: blt Label #10
L_0114: Label #2
L_0114: Label #3
L_0114: Label #4
L_0114: Label #9
L_0114: br Label #0
L_0119: Label #0
L_0119: ret
DONE

PATCHING RimWorld.Building_Bed IEnumerable`1 get_AssigningCandidates()


L_0000: ldarg.0
L_0001: callvirt IEnumerable`1 BedCandidates(RimWorld.Building_Bed)
L_0006: Label #0
L_0006: ret
DONE

PATCHING RimWorld.RestUtility RimWorld.Building_Bed FindBedFor(Verse.Pawn,


Verse.Pawn, Boolean, Boolean, Boolean)
L_0000: Local var #0 RimWorld.RestUtility+<FindBedFor>c__AnonStorey0
L_0000: Local var #1 RimWorld.Building_Bed
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 System.Boolean
L_0000: Local var #5 System.Boolean
L_0000: Local var #6 System.Boolean
L_0000: Local var #7 System.Int32
L_0000: Local var #8 Verse.ThingDef
L_0000: Local var #9 System.Int32
L_0000: Local var #10 RimWorld.RestUtility+<FindBedFor>c__AnonStorey1
L_0000: Local var #11 RimWorld.Building_Bed
L_0000: Local var #12 RimWorld.DirectPawnRelation
L_0000: Local var #13 RimWorld.Building_Bed
L_0000: Local var #14 System.Int32
L_0000: Local var #15 RimWorld.RestUtility+<FindBedFor>c__AnonStorey2
L_0000: Local var #16 System.Int32
L_0000: Local var #17 Verse.ThingDef
L_0000: Local var #18 RimWorld.Building_Bed
L_0000: Local var #19 RimWorld.Building_Bed
L_0000: ldnull
L_0001: stloc 19 (RimWorld.Building_Bed)
L_0003: newobj Void .ctor()
L_0008: stloc.0
L_0009: ldloc.0
L_000a: ldarg.0
L_000b: stfld Verse.Pawn sleeper
L_0010: ldloc.0
L_0011: ldarg.1
L_0012: stfld Verse.Pawn traveler
L_0017: ldloc.0
L_0018: ldarg.2
L_0019: stfld System.Boolean sleeperWillBePrisoner
L_001e: ldloc.0
L_001f: ldarg.3
L_0020: stfld System.Boolean checkSocialProperness
L_0025: ldloc.0
L_0026: ldarg.s 4
L_0028: stfld System.Boolean ignoreOtherReservations
L_002d: ldloc.0
L_002e: ldfld Verse.Pawn sleeper
L_0033: call Boolean ShouldSeekMedicalRest(Verse.Pawn)
L_0038: brfalse Label #2
L_003d: ldloc.0
L_003e: ldfld Verse.Pawn sleeper
L_0043: call Boolean InBed(Verse.Pawn)
L_0048: brfalse Label #3
L_004d: ldloc.0
L_004e: ldfld Verse.Pawn sleeper
L_0053: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0058: callvirt Boolean get_Medical()
L_005d: brfalse Label #4
L_0062: ldloc.0
L_0063: ldfld Verse.Pawn sleeper
L_0068: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_006d: stloc.1
L_006e: ldloc.0
L_006f: ldfld Verse.Pawn sleeper
L_0074: stloc.2
L_0075: ldloc.0
L_0076: ldfld Verse.Pawn traveler
L_007b: stloc.3
L_007c: ldloc.0
L_007d: ldfld System.Boolean sleeperWillBePrisoner
L_0082: stloc.s 4 (System.Boolean)
L_0084: ldloc.0
L_0085: ldfld System.Boolean checkSocialProperness
L_008a: stloc.s 5 (System.Boolean)
L_008c: ldloc.0
L_008d: ldfld System.Boolean ignoreOtherReservations
L_0092: stloc.s 6 (System.Boolean)
L_0094: ldloc.1
L_0095: ldloc.2
L_0096: ldloc.3
L_0097: ldloc.s 4 (System.Boolean)
L_0099: ldloc.s 5 (System.Boolean)
L_009b: ldc.i4.0
L_009c: ldloc.s 6 (System.Boolean)
L_009e: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_00a3: brfalse Label #5
L_00a8: ldloc.0
L_00a9: ldfld Verse.Pawn sleeper
L_00ae: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00b3: br Label #0
L_00b8: Label #3
L_00b8: Label #4
L_00b8: Label #5
L_00b8: ldc.i4.0
L_00b9: stloc.s 7 (System.Int32)
L_00bb: br Label #6
L_00c0: Label #14
L_00c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_00c5: ldloc.s 7 (System.Int32)
L_00c7: callvirt Verse.ThingDef get_Item(Int32)
L_00cc: stloc.s 8 (Verse.ThingDef)
L_00ce: ldloc.0
L_00cf: ldfld Verse.Pawn sleeper
L_00d4: ldloc.s 8 (Verse.ThingDef)
L_00d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_00db: brtrue Label #7
L_00e0: br Label #8
L_00e5: Label #7
L_00e5: ldc.i4.0
L_00e6: stloc.s 9 (System.Int32)
L_00e8: br Label #9
L_00ed: Label #13
L_00ed: newobj Void .ctor()
L_00f2: stloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f4: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f6: ldloc.0
L_00f7: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_00fc: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00fe: ldloc.s 9 (System.Int32)
L_0100: brtrue Label #10
L_0105: ldc.i4.1
L_0106: br Label #11
L_010b: Label #10
L_010b: ldc.i4.3
L_010c: Label #11
L_010c: stfld Verse.Danger maxDanger
L_0111: ldloc.0
L_0112: ldfld Verse.Pawn sleeper
L_0117: callvirt IntVec3 get_Position()
L_011c: ldloc.0
L_011d: ldfld Verse.Pawn sleeper
L_0122: callvirt Verse.Map get_Map()
L_0127: ldloc.s 8 (Verse.ThingDef)
L_0129: call ThingRequest ForDef(Verse.ThingDef)
L_012e: ldc.i4.1
L_012f: ldloc.0
L_0130: ldfld Verse.Pawn traveler
L_0135: ldc.i4.3
L_0136: ldc.i4.0
L_0137: ldc.i4.0
L_0138: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_013d: ldc.r4 9999
L_0142: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_0144: ldftn Boolean <>m__0(Verse.Thing)
L_014a: newobj Void .ctor(Object, IntPtr)
L_014f: ldnull
L_0150: ldc.i4.0
L_0151: ldc.i4.m1
L_0152: ldc.i4.0
L_0153: ldc.i4.6
L_0154: ldc.i4.0
L_0155: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_015a: castclass RimWorld.Building_Bed
L_015f: stloc.s 11 (RimWorld.Building_Bed)
L_0161: ldloc.s 11 (RimWorld.Building_Bed)
L_0163: brfalse Label #12
L_0168: ldloc.s 11 (RimWorld.Building_Bed)
L_016a: br Label #0
L_016f: Label #12
L_016f: ldloc.s 9 (System.Int32)
L_0171: ldc.i4.1
L_0172: add
L_0173: stloc.s 9 (System.Int32)
L_0175: Label #9
L_0175: ldloc.s 9 (System.Int32)
L_0177: ldc.i4.2
L_0178: blt Label #13
L_017d: Label #8
L_017d: ldloc.s 7 (System.Int32)
L_017f: ldc.i4.1
L_0180: add
L_0181: stloc.s 7 (System.Int32)
L_0183: Label #6
L_0183: ldloc.s 7 (System.Int32)
L_0185: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_018a: callvirt Int32 get_Count()
L_018f: blt Label #14
L_0194: Label #2
L_0194: ldloc.0
L_0195: ldfld Verse.Pawn sleeper
L_019a: ldfld RimWorld.Pawn_Ownership ownership
L_019f: brfalse Label #15
L_01a4: ldloc.0
L_01a5: ldfld Verse.Pawn sleeper
L_01aa: ldfld RimWorld.Pawn_Ownership ownership
L_01af: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01b4: brfalse Label #16
L_01b9: ldloc.0
L_01ba: ldfld Verse.Pawn sleeper
L_01bf: ldfld RimWorld.Pawn_Ownership ownership
L_01c4: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01c9: stloc.1
L_01ca: ldloc.0
L_01cb: ldfld Verse.Pawn sleeper
L_01d0: stloc.3
L_01d1: ldloc.0
L_01d2: ldfld Verse.Pawn traveler
L_01d7: stloc.2
L_01d8: ldloc.0
L_01d9: ldfld System.Boolean sleeperWillBePrisoner
L_01de: stloc.s 6 (System.Boolean)
L_01e0: ldloc.0
L_01e1: ldfld System.Boolean checkSocialProperness
L_01e6: stloc.s 5 (System.Boolean)
L_01e8: ldloc.0
L_01e9: ldfld System.Boolean ignoreOtherReservations
L_01ee: stloc.s 4 (System.Boolean)
L_01f0: ldloc.1
L_01f1: ldloc.3
L_01f2: ldloc.2
L_01f3: ldloc.s 6 (System.Boolean)
L_01f5: ldloc.s 5 (System.Boolean)
L_01f7: ldc.i4.0
L_01f8: ldloc.s 4 (System.Boolean)
L_01fa: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_01ff: brfalse Label #17
L_0204: ldloc.0
L_0205: ldfld Verse.Pawn sleeper
L_020a: ldfld RimWorld.Pawn_Ownership ownership
L_020f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0214: br Label #0
L_0219: Label #15
L_0219: Label #16
L_0219: Label #17
L_0219: ldloc.0
L_021a: ldfld Verse.Pawn sleeper
L_021f: ldc.i4.0
L_0220: call RimWorld.DirectPawnRelation
ExistingMostLikedLovePartnerRel(Verse.Pawn, Boolean)
L_0225: stloc.s 12 (RimWorld.DirectPawnRelation)
L_0227: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0229: brfalse Label #18
L_022e: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0230: ldfld Verse.Pawn otherPawn
L_0235: ldfld RimWorld.Pawn_Ownership ownership
L_023a: callvirt RimWorld.Building_Bed get_OwnedBed()
L_023f: stloc.s 13 (RimWorld.Building_Bed)
L_0241: ldloc.s 13 (RimWorld.Building_Bed)
L_0243: brfalse Label #19
L_0248: ldloc.s 13 (RimWorld.Building_Bed)
L_024a: stloc.1
L_024b: ldloc.0
L_024c: ldfld Verse.Pawn sleeper
L_0251: stloc.2
L_0252: ldloc.0
L_0253: ldfld Verse.Pawn traveler
L_0258: stloc.3
L_0259: ldloc.0
L_025a: ldfld System.Boolean sleeperWillBePrisoner
L_025f: stloc.s 4 (System.Boolean)
L_0261: ldloc.0
L_0262: ldfld System.Boolean checkSocialProperness
L_0267: stloc.s 5 (System.Boolean)
L_0269: ldloc.0
L_026a: ldfld System.Boolean ignoreOtherReservations
L_026f: stloc.s 6 (System.Boolean)
L_0271: ldloc.1
L_0272: ldloc.2
L_0273: ldloc.3
L_0274: ldloc.s 4 (System.Boolean)
L_0276: ldloc.s 5 (System.Boolean)
L_0278: ldc.i4.0
L_0279: ldloc.s 6 (System.Boolean)
L_027b: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_0280: brfalse Label #20
L_0285: ldloc.s 13 (RimWorld.Building_Bed)
L_0287: br Label #0
L_028c: Label #18
L_028c: Label #19
L_028c: Label #20
L_028c: ldc.i4.0
L_028d: stloc.s 14 (System.Int32)
L_028f: br Label #21
L_0294: Label #29
L_0294: newobj Void .ctor()
L_0299: stloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029b: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029d: ldloc.0
L_029e: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_02a3: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_02a5: ldloc.s 14 (System.Int32)
L_02a7: brtrue Label #22
L_02ac: ldc.i4.1
L_02ad: br Label #23
L_02b2: Label #22
L_02b2: ldc.i4.3
L_02b3: Label #23
L_02b3: stfld Verse.Danger maxDanger
L_02b8: ldc.i4.0
L_02b9: stloc.s 16 (System.Int32)
L_02bb: br Label #24
L_02c0: Label #28
L_02c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_02c5: ldloc.s 16 (System.Int32)
L_02c7: callvirt Verse.ThingDef get_Item(Int32)
L_02cc: stloc.s 17 (Verse.ThingDef)
L_02ce: ldloc.0
L_02cf: ldfld Verse.Pawn sleeper
L_02d4: ldloc.s 17 (Verse.ThingDef)
L_02d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_02db: brtrue Label #25
L_02e0: br Label #26
L_02e5: Label #25
L_02e5: ldloc.0
L_02e6: ldfld Verse.Pawn sleeper
L_02eb: callvirt IntVec3 get_Position()
L_02f0: ldloc.0
L_02f1: ldfld Verse.Pawn sleeper
L_02f6: callvirt Verse.Map get_Map()
L_02fb: ldloc.s 17 (Verse.ThingDef)
L_02fd: call ThingRequest ForDef(Verse.ThingDef)
L_0302: ldc.i4.1
L_0303: ldloc.0
L_0304: ldfld Verse.Pawn traveler
L_0309: ldc.i4.3
L_030a: ldc.i4.0
L_030b: ldc.i4.0
L_030c: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_0311: ldc.r4 9999
L_0316: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_0318: ldftn Boolean <>m__0(Verse.Thing)
L_031e: newobj Void .ctor(Object, IntPtr)
L_0323: ldnull
L_0324: ldc.i4.0
L_0325: ldc.i4.m1
L_0326: ldc.i4.0
L_0327: ldc.i4.6
L_0328: ldc.i4.0
L_0329: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_032e: castclass RimWorld.Building_Bed
L_0333: stloc.s 18 (RimWorld.Building_Bed)
L_0335: ldloc.s 18 (RimWorld.Building_Bed)
L_0337: brfalse Label #27
L_033c: ldloc.s 18 (RimWorld.Building_Bed)
L_033e: br Label #0
L_0343: Label #26
L_0343: Label #27
L_0343: ldloc.s 16 (System.Int32)
L_0345: ldc.i4.1
L_0346: add
L_0347: stloc.s 16 (System.Int32)
L_0349: Label #24
L_0349: ldloc.s 16 (System.Int32)
L_034b: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_0350: callvirt Int32 get_Count()
L_0355: blt Label #28
L_035a: ldloc.s 14 (System.Int32)
L_035c: ldc.i4.1
L_035d: add
L_035e: stloc.s 14 (System.Int32)
L_0360: Label #21
L_0360: ldloc.s 14 (System.Int32)
L_0362: ldc.i4.2
L_0363: blt Label #29
L_0368: ldnull
L_0369: br Label #0
L_036e: Label #0
L_036e: stloc 19 (RimWorld.Building_Bed)
L_0370: ldarga 0
L_0376: ldloca 19 (RimWorld.Building_Bed)
L_0378: ldarga 1
L_037e: ldarga 4
L_0384: ldarga 2
L_038a: ldarga 3
L_0390: call Void FindBedFor_Patch(Verse.Pawn ByRef, RimWorld.Building_Bed ByRef,
Verse.Pawn ByRef, Boolean ByRef, Boolean ByRef, Boolean ByRef)
L_0395: ldloc 19 (RimWorld.Building_Bed)
L_0397: ret
DONE

PATCHING RimWorld.JobGiver_DoLovin Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 1 (Verse.AI.Job)
L_0002: call Verse.TickManager get_TickManager()
L_0007: callvirt Int32 get_TicksGame()
L_000c: ldarg.1
L_000d: ldfld Verse.AI.Pawn_MindState mindState
L_0012: ldfld System.Int32 canLovinTick
L_0017: bge Label #2
L_001c: ldnull
L_001d: br Label #0
L_0022: Label #2
L_0022: ldarg.1
L_0023: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0028: brfalse Label #3
L_002d: ldarg.1
L_002e: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0033: callvirt Boolean get_Medical()
L_0038: brtrue Label #4
L_003d: ldarg.1
L_003e: ldfld Verse.Pawn_HealthTracker health
L_0043: ldfld Verse.PawnCapacitiesHandler capacities
L_0048: callvirt Boolean get_CanBeAwake()
L_004d: brtrue Label #5
L_0052: Label #3
L_0052: Label #4
L_0052: ldnull
L_0053: br Label #0
L_0058: Label #5
L_0058: ldarg.1
L_0059: call Verse.Pawn GetPartnerInMyBed(Verse.Pawn)
L_005e: stloc.0
L_005f: ldloc.0
L_0060: brfalse Label #6
L_0065: ldloc.0
L_0066: ldfld Verse.Pawn_HealthTracker health
L_006b: ldfld Verse.PawnCapacitiesHandler capacities
L_0070: callvirt Boolean get_CanBeAwake()
L_0075: brfalse Label #7
L_007a: call Verse.TickManager get_TickManager()
L_007f: callvirt Int32 get_TicksGame()
L_0084: ldloc.0
L_0085: ldfld Verse.AI.Pawn_MindState mindState
L_008a: ldfld System.Int32 canLovinTick
L_008f: bge Label #8
L_0094: Label #6
L_0094: Label #7
L_0094: ldnull
L_0095: br Label #0
L_009a: Label #8
L_009a: ldarg.1
L_009b: ldloc.0
L_009c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00a1: ldc.i4.1
L_00a2: ldc.i4.m1
L_00a3: ldnull
L_00a4: ldc.i4.0
L_00a5: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00aa: brfalse Label #9
L_00af: ldloc.0
L_00b0: ldarg.1
L_00b1: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00b6: ldc.i4.1
L_00b7: ldc.i4.m1
L_00b8: ldnull
L_00b9: ldc.i4.0
L_00ba: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00bf: brtrue Label #10
L_00c4: Label #9
L_00c4: ldnull
L_00c5: br Label #0
L_00ca: Label #10
L_00ca: ldsfld Verse.JobDef Lovin
L_00cf: ldloc.0
L_00d0: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00d5: ldarg.1
L_00d6: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00db: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00e0: newobj Void .ctor(JobDef, LocalTargetInfo, LocalTargetInfo)
L_00e5: br Label #0
L_00ea: Label #0
L_00ea: stloc 1 (Verse.AI.Job)
L_00eb: ldloca 1 (Verse.AI.Job)
L_00ed: ldarga 1
L_00f3: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_00f8: ldloc 1 (Verse.AI.Job)
L_00f9: ret
DONE

PATCHING RimWorld.JobDriver_Lovin+<MakeNewToils>c__Iterator0 Void <>m__4()


L_0000: Local var #0 RimWorld.Thought_Memory
L_0000: ldsfld RimWorld.ThoughtDef GotSomeLovin
L_0005: call RimWorld.Thought MakeThought(RimWorld.ThoughtDef)
L_000a: castclass RimWorld.Thought_Memory
L_000f: stloc.0
L_0010: ldarg.0
L_0011: ldfld RimWorld.JobDriver_Lovin $this
L_0016: ldfld Verse.Pawn pawn
L_001b: ldfld RimWorld.Pawn_NeedsTracker needs
L_0020: ldfld RimWorld.Need_Mood mood
L_0025: ldfld RimWorld.ThoughtHandler thoughts
L_002a: ldfld RimWorld.MemoryThoughtHandler memories
L_002f: ldloc.0
L_0030: ldarg.0
L_0031: ldfld RimWorld.JobDriver_Lovin $this
L_0036: call Verse.Pawn get_Partner()
L_003b: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_0040: ldarg.0
L_0041: ldfld RimWorld.JobDriver_Lovin $this
L_0046: ldfld Verse.Pawn pawn
L_004b: ldfld Verse.AI.Pawn_MindState mindState
L_0050: call Verse.TickManager get_TickManager()
L_0055: callvirt Int32 get_TicksGame()
L_005a: ldarg.0
L_005b: ldfld RimWorld.JobDriver_Lovin $this
L_0060: ldarg.0
L_0061: ldfld RimWorld.JobDriver_Lovin $this
L_0066: ldfld Verse.Pawn pawn
L_006b: call Int32 GenerateRandomMinTicksToNextLovin(Verse.Pawn)
L_0070: add
L_0071: stfld System.Int32 canLovinTick
L_0076: ldarg.0
L_0077: ldfld RimWorld.JobDriver_Lovin $this
L_007c: ldfld Verse.Pawn pawn
L_0081: ldarg.0
L_0082: ldfld RimWorld.JobDriver_Lovin $this
L_0087: call Verse.Pawn get_Partner()
L_008c: call Void TryToImpregnate(Verse.Pawn, Verse.Pawn)
L_0091: br Label #0
L_0096: Label #0
L_0096: ret
DONE

PATCHING RimWorld.JobDriver_Wear+<MakeNewToils>c__Iterator0 Boolean MoveNext()


L_0000: Local var #0 System.UInt32
L_0000: ldarg.0
L_0001: ldfld System.Int32 $PC
L_0006: stloc.0
L_0007: ldarg.0
L_0008: ldc.i4.m1
L_0009: stfld System.Int32 $PC
L_000e: ldloc.0
L_000f: switch Labels #2 #3 #4 #5
L_0024: br Label #6
L_0029: Label #2
L_0029: ldarg.0
L_002a: ldfld RimWorld.JobDriver_Wear $this
L_002f: call RimWorld.JobDriver_Wear FailOnBaby[JobDriver_Wear]
(RimWorld.JobDriver_Wear)
L_0034: pop
L_0035: ldarg.0
L_0036: newobj Void .ctor()
L_003b: stfld Verse.AI.Toil <gotoApparel>__1
L_0040: ldarg.0
L_0041: ldfld Verse.AI.Toil <gotoApparel>__1
L_0046: ldarg.0
L_0047: ldftn Void <>m__0()
L_004d: newobj Void .ctor(Object, IntPtr)
L_0052: stfld System.Action initAction
L_0057: ldarg.0
L_0058: ldfld Verse.AI.Toil <gotoApparel>__1
L_005d: ldc.i4.2
L_005e: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0063: ldarg.0
L_0064: ldfld Verse.AI.Toil <gotoApparel>__1
L_0069: ldc.i4.1
L_006a: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_006f: pop
L_0070: ldarg.0
L_0071: ldarg.0
L_0072: ldfld Verse.AI.Toil <gotoApparel>__1
L_0077: stfld Verse.AI.Toil $current
L_007c: ldarg.0
L_007d: ldfld System.Boolean $disposing
L_0082: brtrue Label #7
L_0087: ldarg.0
L_0088: ldc.i4.1
L_0089: stfld System.Int32 $PC
L_008e: Label #7
L_008e: br Label #8
L_0093: Label #3
L_0093: ldarg.0
L_0094: newobj Void .ctor()
L_0099: stfld Verse.AI.Toil <prepare>__2
L_009e: ldarg.0
L_009f: ldfld Verse.AI.Toil <prepare>__2
L_00a4: ldc.i4.3
L_00a5: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_00aa: ldarg.0
L_00ab: ldfld Verse.AI.Toil <prepare>__2
L_00b0: ldc.i4.s 60
L_00b2: stfld System.Int32 defaultDuration
L_00b7: ldarg.0
L_00b8: ldfld Verse.AI.Toil <prepare>__2
L_00bd: ldc.i4.1
L_00be: ldc.i4.0
L_00bf: ldc.r4 -0.5
L_00c4: call Verse.AI.Toil WithProgressBarToilDelay(Verse.AI.Toil, TargetIndex,
Boolean, Single)
L_00c9: pop
L_00ca: ldarg.0
L_00cb: ldfld Verse.AI.Toil <prepare>__2
L_00d0: ldc.i4.1
L_00d1: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_00d6: pop
L_00d7: ldarg.0
L_00d8: ldarg.0
L_00d9: ldfld Verse.AI.Toil <prepare>__2
L_00de: stfld Verse.AI.Toil $current
L_00e3: ldarg.0
L_00e4: ldfld System.Boolean $disposing
L_00e9: brtrue Label #9
L_00ee: ldarg.0
L_00ef: ldc.i4.2
L_00f0: stfld System.Int32 $PC
L_00f5: Label #9
L_00f5: br Label #10
L_00fa: Label #4
L_00fa: ldarg.0
L_00fb: newobj Void .ctor()
L_0100: stfld Verse.AI.Toil <wear>__3
L_0105: ldarg.0
L_0106: ldfld Verse.AI.Toil <wear>__3
L_010b: ldarg.0
L_010c: ldftn Void <>m__1()
L_0112: newobj Void .ctor(Object, IntPtr)
L_0117: stfld System.Action initAction
L_011c: ldarg.0
L_011d: ldfld Verse.AI.Toil <wear>__3
L_0122: ldc.i4.1
L_0123: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0128: ldarg.0
L_0129: ldarg.0
L_012a: ldfld Verse.AI.Toil <wear>__3
L_012f: stfld Verse.AI.Toil $current
L_0134: ldarg.0
L_0135: ldfld System.Boolean $disposing
L_013a: brtrue Label #11
L_013f: ldarg.0
L_0140: ldc.i4.3
L_0141: stfld System.Int32 $PC
L_0146: Label #11
L_0146: br Label #12
L_014b: Label #5
L_014b: ldarg.0
L_014c: ldc.i4.m1
L_014d: stfld System.Int32 $PC
L_0152: Label #6
L_0152: ldc.i4.0
L_0153: br Label #0
L_0158: Label #8
L_0158: Label #10
L_0158: Label #12
L_0158: ldc.i4.1
L_0159: br Label #0
L_015e: Label #0
L_015e: ret
DONE

PATCHING RimWorld.ThoughtUtility Boolean CanGetThought(Verse.Pawn,


RimWorld.ThoughtDef)
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 4 (System.Boolean)
L_0007: ldarg.1
L_0008: ldfld System.Boolean validWhileDespawned
L_000d: brtrue Label #2
L_0012: ldarg.0
L_0013: callvirt Boolean get_Spawned()
L_0018: brtrue Label #3
L_001d: ldarg.1
L_001e: callvirt Boolean get_IsMemory()
L_0023: brtrue Label #4
L_0028: ldc.i4.0
L_0029: stloc.0
L_002a: leave Label #5
L_002f: Label #2
L_002f: Label #3
L_002f: Label #4
L_002f: ldarg.1
L_0030: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0035: brfalse Label #6
L_003a: ldc.i4.0
L_003b: stloc.1
L_003c: br Label #7
L_0041: Label #10
L_0041: ldarg.0
L_0042: ldfld RimWorld.Pawn_StoryTracker story
L_0047: ldfld RimWorld.TraitSet traits
L_004c: ldarg.1
L_004d: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0052: ldloc.1
L_0053: callvirt RimWorld.TraitDef get_Item(Int32)
L_0058: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_005d: brfalse Label #8
L_0062: ldc.i4.0
L_0063: stloc.0
L_0064: leave Label #9
L_0069: Label #8
L_0069: ldloc.1
L_006a: ldc.i4.1
L_006b: add
L_006c: stloc.1
L_006d: Label #7
L_006d: ldloc.1
L_006e: ldarg.1
L_006f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0074: callvirt Int32 get_Count()
L_0079: blt Label #10
L_007e: Label #6
L_007e: ldarg.1
L_007f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0084: call Boolean NullOrEmpty[TraitDef](IList`1)
L_0089: brtrue Label #11
L_008e: ldc.i4.0
L_008f: stloc.2
L_0090: ldc.i4.0
L_0091: stloc.3
L_0092: br Label #12
L_0097: Label #19
L_0097: ldarg.0
L_0098: ldfld RimWorld.Pawn_StoryTracker story
L_009d: ldfld RimWorld.TraitSet traits
L_00a2: ldarg.1
L_00a3: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00a8: ldloc.3
L_00a9: callvirt RimWorld.TraitDef get_Item(Int32)
L_00ae: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00b3: brtrue Label #13
L_00b8: leave Label #14
L_00bd: Label #13
L_00bd: ldarg.1
L_00be: callvirt Boolean get_RequiresSpecificTraitsDegree()
L_00c3: brfalse Label #15
L_00c8: ldarg.1
L_00c9: ldfld System.Int32 requiredTraitsDegree
L_00ce: ldarg.0
L_00cf: ldfld RimWorld.Pawn_StoryTracker story
L_00d4: ldfld RimWorld.TraitSet traits
L_00d9: ldarg.1
L_00da: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00df: ldloc.3
L_00e0: callvirt RimWorld.TraitDef get_Item(Int32)
L_00e5: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_00ea: beq Label #16
L_00ef: leave Label #17
L_00f4: Label #15
L_00f4: Label #16
L_00f4: ldc.i4.1
L_00f5: stloc.2
L_00f6: leave Label #18
L_00fb: Label #14
L_00fb: Label #17
L_00fb: ldloc.3
L_00fc: ldc.i4.1
L_00fd: add
L_00fe: stloc.3
L_00ff: Label #12
L_00ff: ldloc.3
L_0100: ldarg.1
L_0101: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0106: callvirt Int32 get_Count()
L_010b: blt Label #19
L_0110: Label #18
L_0110: ldloc.2
L_0111: brtrue Label #20
L_0116: ldc.i4.0
L_0117: stloc.0
L_0118: leave Label #21
L_011d: Label #11
L_011d: Label #20
L_011d: ldarg.1
L_011e: ldfld System.Boolean nullifiedIfNotColonist
L_0123: brfalse Label #22
L_0128: ldarg.0
L_0129: callvirt Boolean get_IsColonist()
L_012e: brtrue Label #23
L_0133: ldc.i4.0
L_0134: stloc.0
L_0135: leave Label #24
L_013a: Label #22
L_013a: Label #23
L_013a: ldarg.1
L_013b: ldarg.0
L_013c: call Boolean IsSituationalThoughtNullifiedByHediffs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0141: brfalse Label #25
L_0146: ldc.i4.0
L_0147: stloc.0
L_0148: leave Label #26
L_014d: Label #25
L_014d: ldarg.1
L_014e: ldarg.0
L_014f: call Boolean IsThoughtNullifiedByOwnTales(RimWorld.ThoughtDef, Verse.Pawn)
L_0154: brfalse Label #27
L_0159: ldc.i4.0
L_015a: stloc.0
L_015b: leave Label #28
L_0160: Label #27
L_0160: leave Label #29
L_0165: endfinally
L_0166: Label #29
L_0166: ldc.i4.1
L_0167: br Label #0
L_016c: Label #5
L_016c: Label #9
L_016c: Label #21
L_016c: Label #24
L_016c: Label #26
L_016c: Label #28
L_016c: ldloc.0
L_016d: br Label #0
L_0172: Label #0
L_0172: stloc 4 (System.Boolean)
L_0174: ldarga 0
L_017a: ldarga 1
L_0180: ldloca 4 (System.Boolean)
L_0182: call Void CanGetThought_Patch(Verse.Pawn ByRef, RimWorld.ThoughtDef ByRef,
Boolean ByRef)
L_0187: ldloc 4 (System.Boolean)
L_0189: ret
DONE

PATCHING RimWorld.JobGiver_SocialFighting Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Verb
L_0000: Local var #2 Verse.AI.Job
L_0000: Local var #3 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 3 (Verse.AI.Job)
L_0002: ldarg.1
L_0003: callvirt Verse.RaceProperties get_RaceProps()
L_0008: callvirt Boolean get_Humanlike()
L_000d: brfalse Label #2
L_0012: ldarg.1
L_0013: ldfld RimWorld.Pawn_StoryTracker story
L_0018: ldc.i4.8
L_0019: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_001e: brfalse Label #3
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: Label #3
L_0029: ldarg.1
L_002a: callvirt Verse.AI.MentalState get_MentalState()
L_002f: castclass Verse.AI.MentalState_SocialFighting
L_0034: ldfld Verse.Pawn otherPawn
L_0039: stloc.0
L_003a: ldarg.1
L_003b: ldloca.s 1 (Verse.Verb)
L_003d: call Boolean TryGetRandomVerbForSocialFight(Verse.Pawn, Verse.Verb ByRef)
L_0042: brtrue Label #4
L_0047: ldnull
L_0048: br Label #0
L_004d: Label #4
L_004d: ldsfld Verse.JobDef SocialFight
L_0052: ldloc.0
L_0053: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0058: newobj Void .ctor(JobDef, LocalTargetInfo)
L_005d: stloc.2
L_005e: ldloc.2
L_005f: ldc.i4.1
L_0060: stfld System.Int32 maxNumMeleeAttacks
L_0065: ldloc.2
L_0066: ldloc.1
L_0067: stfld Verse.Verb verbToUse
L_006c: ldloc.2
L_006d: br Label #0
L_0072: Label #0
L_0072: stloc 3 (Verse.AI.Job)
L_0073: ldarga 1
L_0079: ldloca 3 (Verse.AI.Job)
L_007b: call Void TryGiveJob_Postfix(Verse.Pawn ByRef, Verse.AI.Job ByRef)
L_0080: ldloc 3 (Verse.AI.Job)
L_0081: ret
DONE

PATCHING RimWorld.Pawn_ApparelTracker Void ApparelChanged()


L_0000: ldarg.0
L_0001: ldftn Void <ApparelChanged>m__1()
L_0007: newobj Void .ctor(Object, IntPtr)
L_000c: call Void ExecuteWhenFinished(System.Action)
L_0011: br Label #0
L_0016: Label #0
L_0016: ldarga 0
L_001c: call Void ApparelChanged_Postfix(RimWorld.Pawn_ApparelTracker ByRef)
L_0021: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveAllGraphics()


L_0000: Local var #0 Verse.PawnKindLifeStage
L_0000: ldarg.0
L_0001: call Void ClearCache()
L_0006: ldarg.0
L_0007: ldfld Verse.Pawn pawn
L_000c: callvirt Verse.RaceProperties get_RaceProps()
L_0011: callvirt Boolean get_Humanlike()
L_0016: brfalse Label #2
L_001b: ldarg.0
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_StoryTracker story
L_0027: ldfld RimWorld.BodyType bodyType
L_002c: ldsfld UnityEngine.Shader CutoutSkin
L_0031: ldarg.0
L_0032: ldfld Verse.Pawn pawn
L_0037: ldfld RimWorld.Pawn_StoryTracker story
L_003c: callvirt Color get_SkinColor()
L_0041: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_0046: stfld Verse.Graphic nakedGraphic
L_004b: ldarg.0
L_004c: ldarg.0
L_004d: ldfld Verse.Pawn pawn
L_0052: ldfld RimWorld.Pawn_StoryTracker story
L_0057: ldfld RimWorld.BodyType bodyType
L_005c: ldsfld UnityEngine.Shader CutoutSkin
L_0061: ldsfld UnityEngine.Color RottingColor
L_0066: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_006b: stfld Verse.Graphic rottingGraphic
L_0070: ldarg.0
L_0071: ldstr "Things/Pawn/Humanlike/HumanoidDessicated"
L_0076: ldsfld UnityEngine.Shader Cutout
L_007b: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader)
L_0080: stfld Verse.Graphic dessicatedGraphic
L_0085: ldarg.0
L_0086: ldarg.0
L_0087: ldfld Verse.Pawn pawn
L_008c: ldfld RimWorld.Pawn_StoryTracker story
L_0091: callvirt System.String get_HeadGraphicPath()
L_0096: ldarg.0
L_0097: ldfld Verse.Pawn pawn
L_009c: ldfld RimWorld.Pawn_StoryTracker story
L_00a1: callvirt Color get_SkinColor()
L_00a6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00ab: stfld Verse.Graphic headGraphic
L_00b0: ldarg.0
L_00b1: ldarg.0
L_00b2: ldfld Verse.Pawn pawn
L_00b7: ldfld RimWorld.Pawn_StoryTracker story
L_00bc: callvirt System.String get_HeadGraphicPath()
L_00c1: ldsfld UnityEngine.Color RottingColor
L_00c6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00cb: stfld Verse.Graphic desiccatedHeadGraphic
L_00d0: ldarg.0
L_00d1: call Verse.Graphic_Multi GetSkull()
L_00d6: stfld Verse.Graphic skullGraphic
L_00db: ldarg.0
L_00dc: ldarg.0
L_00dd: ldfld Verse.Pawn pawn
L_00e2: ldfld RimWorld.Pawn_StoryTracker story
L_00e7: callvirt Color get_SkinColor()
L_00ec: call Verse.Graphic_Multi GetStump(Color)
L_00f1: stfld Verse.Graphic headStumpGraphic
L_00f6: ldarg.0
L_00f7: ldsfld UnityEngine.Color RottingColor
L_00fc: call Verse.Graphic_Multi GetStump(Color)
L_0101: stfld Verse.Graphic desiccatedHeadStumpGraphic
L_0106: ldarg.0
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld RimWorld.Pawn_StoryTracker story
L_0112: ldfld RimWorld.HairDef hairDef
L_0117: ldfld System.String texPath
L_011c: ldsfld UnityEngine.Shader Cutout
L_0121: call Vector2 get_one()
L_0126: ldarg.0
L_0127: ldfld Verse.Pawn pawn
L_012c: ldfld RimWorld.Pawn_StoryTracker story
L_0131: ldfld UnityEngine.Color hairColor
L_0136: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_013b: stfld Verse.Graphic hairGraphic
L_0140: ldarg.0
L_0141: call Void ResolveApparelGraphics()
L_0146: br Label #3
L_014b: Label #2
L_014b: ldarg.0
L_014c: ldfld Verse.Pawn pawn
L_0151: ldfld Verse.Pawn_AgeTracker ageTracker
L_0156: callvirt Verse.PawnKindLifeStage get_CurKindLifeStage()
L_015b: stloc.0
L_015c: ldarg.0
L_015d: ldfld Verse.Pawn pawn
L_0162: ldfld Verse.Gender gender
L_0167: ldc.i4.2
L_0168: bne.un Label #4
L_016d: ldloc.0
L_016e: ldfld Verse.GraphicData femaleGraphicData
L_0173: brtrue Label #5
L_0178: Label #4
L_0178: ldarg.0
L_0179: ldloc.0
L_017a: ldfld Verse.GraphicData bodyGraphicData
L_017f: callvirt Verse.Graphic get_Graphic()
L_0184: stfld Verse.Graphic nakedGraphic
L_0189: br Label #6
L_018e: Label #5
L_018e: ldarg.0
L_018f: ldloc.0
L_0190: ldfld Verse.GraphicData femaleGraphicData
L_0195: callvirt Verse.Graphic get_Graphic()
L_019a: stfld Verse.Graphic nakedGraphic
L_019f: Label #6
L_019f: ldarg.0
L_01a0: ldarg.0
L_01a1: ldfld Verse.Graphic nakedGraphic
L_01a6: ldsfld UnityEngine.Shader CutoutSkin
L_01ab: ldsfld UnityEngine.Color RottingColor
L_01b0: ldsfld UnityEngine.Color RottingColor
L_01b5: callvirt Verse.Graphic GetColoredVersion(UnityEngine.Shader, Color, Color)
L_01ba: stfld Verse.Graphic rottingGraphic
L_01bf: ldarg.0
L_01c0: ldfld Verse.Pawn pawn
L_01c5: callvirt Verse.RaceProperties get_RaceProps()
L_01ca: ldfld System.Boolean packAnimal
L_01cf: brfalse Label #7
L_01d4: ldarg.0
L_01d5: ldarg.0
L_01d6: ldfld Verse.Graphic nakedGraphic
L_01db: ldfld System.String path
L_01e0: ldstr "Pack"
L_01e5: call System.String Concat(System.String, System.String)
L_01ea: ldsfld UnityEngine.Shader Cutout
L_01ef: ldarg.0
L_01f0: ldfld Verse.Graphic nakedGraphic
L_01f5: ldfld UnityEngine.Vector2 drawSize
L_01fa: call Color get_white()
L_01ff: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_0204: stfld Verse.Graphic packGraphic
L_0209: Label #7
L_0209: ldloc.0
L_020a: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_020f: brfalse Label #8
L_0214: ldarg.0
L_0215: ldloc.0
L_0216: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_021b: ldarg.0
L_021c: ldfld Verse.Pawn pawn
L_0221: callvirt Verse.Graphic GraphicColoredFor(Verse.Thing)
L_0226: stfld Verse.Graphic dessicatedGraphic
L_022b: Label #3
L_022b: Label #8
L_022b: br Label #0
L_0230: Label #0
L_0230: ldarga 0
L_0236: call Void ResolveAllGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_023b: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveApparelGraphics()


L_0000: Local var #0 RimWorld.Apparel
L_0000: Local var #1 System.Collections.Generic.IEnumerator`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 RimWorld.ApparelGraphicRecord
L_0000: ldarga 0
L_0006: call Void ResolveApparelGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_000b: ldarg.0
L_000c: call Void ClearCache()
L_0011: ldarg.0
L_0012: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0017: callvirt Void Clear()
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0027: callvirt IEnumerable`1 get_WornApparelInDrawOrder()
L_002c: callvirt IEnumerator`1 GetEnumerator()
L_0031: stloc.1
L_0032: br Label #2
L_0037: Label #4
L_0037: ldloc.1
L_0038: callvirt RimWorld.Apparel get_Current()
L_003d: stloc.0
L_003e: ldloc.0
L_003f: ldarg.0
L_0040: ldfld Verse.Pawn pawn
L_0045: call BodyType ModifyChildBodyType(Verse.Pawn)
L_004a: ldloca.s 2 (RimWorld.ApparelGraphicRecord)
L_004c: call Boolean TryGetGraphicApparel(RimWorld.Apparel, BodyType,
ApparelGraphicRecord ByRef)
L_0051: brfalse Label #3
L_0056: ldarg.0
L_0057: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_005c: ldloc.2
L_005d: callvirt Void Add(ApparelGraphicRecord)
L_0062: Label #2
L_0062: Label #3
L_0062: ldloc.1
L_0063: callvirt Boolean MoveNext()
L_0068: brtrue Label #4
L_006d: leave Label #5
L_0072: ldloc.1
L_0073: brfalse Label #6
L_0078: ldloc.1
L_0079: callvirt Void Dispose()
L_007e: Label #6
L_007e: endfinally
L_007f: Label #5
L_007f: br Label #0
L_0084: Label #0
L_0084: ret
DONE

PATCHING Verse.PawnRenderer Void RenderPawnInternal(Vector3, Quaternion, Boolean,


Rot4, Rot4, RotDrawMode, Boolean, Boolean)
L_0000: Local var #0 UnityEngine.Mesh
L_0000: Local var #1 UnityEngine.Vector3
L_0000: Local var #2 System.Collections.Generic.List`1[[UnityEngine.Material,
UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 System.Int32
L_0000: Local var #4 UnityEngine.Material
L_0000: Local var #5 UnityEngine.Vector3
L_0000: Local var #6 UnityEngine.Vector3
L_0000: Local var #7 UnityEngine.Vector3
L_0000: Local var #8 UnityEngine.Vector3
L_0000: Local var #9 UnityEngine.Material
L_0000: Local var #10 UnityEngine.Mesh
L_0000: Local var #11 UnityEngine.Vector3
L_0000: Local var #12 System.Boolean
L_0000: Local var #13 UnityEngine.Mesh
L_0000: Local var #14
System.Collections.Generic.List`1[[RimWorld.ApparelGraphicRecord, Assembly-CSharp,
Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #15 System.Int32
L_0000: Local var #16 RimWorld.ApparelGraphicRecord
L_0000: Local var #17 RimWorld.ApparelGraphicRecord
L_0000: Local var #18 UnityEngine.Material
L_0000: Local var #19 RimWorld.ApparelGraphicRecord
L_0000: Local var #20 UnityEngine.Material
L_0000: Local var #21 RimWorld.ApparelGraphicRecord
L_0000: Local var #22 UnityEngine.Vector3
L_0000: Local var #23 UnityEngine.Mesh
L_0000: Local var #24 UnityEngine.Material
L_0000: Local var #25 System.Int32
L_0000: Local var #26 RimWorld.ApparelGraphicRecord
L_0000: Local var #27 UnityEngine.Material
L_0000: Local var #28 System.Collections.Generic.List`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #29 System.Int32
L_0000: Local var #30 UnityEngine.Vector3
L_0000: ldarg.0
L_0001: ldfld Verse.PawnGraphicSet graphics
L_0006: callvirt Boolean get_AllResolved()
L_000b: brtrue Label #2
L_0010: ldarg.0
L_0011: ldfld Verse.PawnGraphicSet graphics
L_0016: callvirt Void ResolveAllGraphics()
L_001b: Label #2
L_001b: ldnull
L_001c: stloc.0
L_001d: ldarg.0
L_001e: ldfld Verse.Pawn pawn
L_0023: ldfld Verse.Pawn_AgeTracker ageTracker
L_0028: call Int32 get_CurLifeStageIndex()
L_002d: ldc.i4.2
L_002e: blt Label #43
L_0033: ldarg.3
L_0034: brfalse Label #3
L_0039: Label #43
L_0039: ldarg.1
L_003a: ldarg.0
L_003b: ldfld Verse.Pawn pawn
L_0040: ldarg.s 7
L_0045: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_004a: stloc.1
L_004b: ldloca.s 1 (UnityEngine.Vector3)
L_004d: dup
L_004e: ldfld System.Single y
L_0053: ldc.r4 0.0078125
L_0058: add
L_0059: stfld System.Single y
L_005e: ldarg.s 6
L_0060: ldc.i4.2
L_0061: bne.un Label #4
L_0066: ldarg.0
L_0067: ldfld Verse.Pawn pawn
L_006c: callvirt Verse.RaceProperties get_RaceProps()
L_0071: callvirt Boolean get_Humanlike()
L_0076: brtrue Label #5
L_007b: ldarg.0
L_007c: ldfld Verse.PawnGraphicSet graphics
L_0081: ldfld Verse.Graphic dessicatedGraphic
L_0086: brfalse Label #6
L_008b: ldarg.s 7
L_008d: brtrue Label #7
L_0092: ldarg.0
L_0093: ldfld Verse.PawnGraphicSet graphics
L_0098: ldfld Verse.Graphic dessicatedGraphic
L_009d: ldloc.1
L_009e: ldarg.s 4
L_00a0: ldarg.0
L_00a1: ldfld Verse.Pawn pawn
L_00a6: ldc.r4 0
L_00ab: callvirt Void Draw(Vector3, Rot4, Verse.Thing, Single)
L_00b0: br Label #8
L_00b5: Label #4
L_00b5: Label #5
L_00b5: Label #6
L_00b5: Label #7
L_00b5: ldarg.0
L_00b6: ldfld Verse.Pawn pawn
L_00bb: callvirt Verse.RaceProperties get_RaceProps()
L_00c0: callvirt Boolean get_Humanlike()
L_00c5: brfalse Label #9
L_00ca: ldsfld Verse.GraphicMeshSet humanlikeBodySet
L_00cf: ldarg.s 4
L_00d1: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00d6: stloc.0
L_00d7: br Label #10
L_00dc: Label #9
L_00dc: ldarg.0
L_00dd: ldfld Verse.PawnGraphicSet graphics
L_00e2: ldfld Verse.Graphic nakedGraphic
L_00e7: ldarg.s 4
L_00e9: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00ee: stloc.0
L_00ef: Label #10
L_00ef: ldarg.0
L_00f0: ldfld Verse.PawnGraphicSet graphics
L_00f5: ldarg.s 4
L_00f7: ldarg.s 6
L_00f9: callvirt System.Collections.Generic.List`1[UnityEngine.Material]
MatsBodyBaseAt(Rot4, RotDrawMode)
L_00fe: stloc.2
L_00ff: ldc.i4.0
L_0100: stloc.3
L_0101: br Label #11
L_0106: Label #12
L_0106: ldarg.0
L_0107: ldfld Verse.PawnGraphicSet graphics
L_010c: ldfld Verse.DamageFlasher flasher
L_0111: ldloc.2
L_0112: ldloc.3
L_0113: callvirt UnityEngine.Material get_Item(Int32)
L_0118: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_011d: stloc.s 4 (UnityEngine.Material)
L_011f: ldloc.s 4
L_0124: ldarg.0
L_0125: ldfld Verse.Pawn pawn
L_012a: ldarg.s 4
L_012f: call UnityEngine.Material ModifyClothingForChild(UnityEngine.Material,
Verse.Pawn, Rot4)
L_0134: stloc.s 4
L_0139: ldloc.0
L_013a: ldloc.1
L_013b: ldarg.2
L_013c: ldloc.s 4 (UnityEngine.Material)
L_013e: ldarg.s 7
L_0140: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_0145: ldloca.s 1 (UnityEngine.Vector3)
L_0147: dup
L_0148: ldfld System.Single y
L_014d: ldloc.s 18
L_0152: ldarg.0
L_0153: ldfld Verse.Pawn pawn
L_0158: call UnityEngine.Material ModifyHatForChild(UnityEngine.Material,
Verse.Pawn)
L_015d: stloc.s 18
L_0162: ldc.r4 0.00390625
L_0167: add
L_0168: stfld System.Single y
L_016d: ldloc.3
L_016e: ldc.i4.1
L_016f: add
L_0170: stloc.3
L_0171: Label #11
L_0171: ldloc.3
L_0172: ldloc.2
L_0173: callvirt Int32 get_Count()
L_0178: blt Label #12
L_017d: ldarg.s 6
L_017f: brtrue Label #13
L_0184: ldarg.1
L_0185: ldarg.0
L_0186: ldfld Verse.Pawn pawn
L_018b: ldarg.s 7
L_0190: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0195: stloc.s 5 (UnityEngine.Vector3)
L_0197: ldloca.s 5 (UnityEngine.Vector3)
L_0199: dup
L_019a: ldfld System.Single y
L_019f: ldc.r4 0.01953125
L_01a4: add
L_01a5: stfld System.Single y
L_01aa: ldarg.0
L_01ab: ldfld RimWorld.PawnWoundDrawer woundOverlays
L_01b0: ldloc.s 5 (UnityEngine.Vector3)
L_01b2: ldloc.0
L_01b3: ldarg.2
L_01b4: ldarg.s 7
L_01b6: callvirt Void RenderOverBody(Vector3, UnityEngine.Mesh, Quaternion,
Boolean)
L_01bb: Label #3
L_01bb: Label #8
L_01bb: Label #13
L_01bb: ldarg.1
L_01bc: ldarg.0
L_01bd: ldfld Verse.Pawn pawn
L_01c2: ldarg.s 7
L_01c7: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01cc: stloc.s 6 (UnityEngine.Vector3)
L_01ce: ldarg.1
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldarg.s 7
L_01da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01df: stloc.s 7 (UnityEngine.Vector3)
L_01e1: ldarg.s 4
L_01e3: call Rot4 get_North()
L_01e8: call Boolean op_Inequality(Rot4, Rot4)
L_01ed: brfalse Label #14
L_01f2: ldloca.s 7 (UnityEngine.Vector3)
L_01f4: dup
L_01f5: ldfld System.Single y
L_01fa: ldc.r4 0.02734375
L_01ff: add
L_0200: stfld System.Single y
L_0205: ldloca.s 6 (UnityEngine.Vector3)
L_0207: dup
L_0208: ldfld System.Single y
L_020d: ldc.r4 0.0234375
L_0212: add
L_0213: stfld System.Single y
L_0218: br Label #15
L_021d: Label #14
L_021d: ldloca.s 7 (UnityEngine.Vector3)
L_021f: dup
L_0220: ldfld System.Single y
L_0225: ldc.r4 0.0234375
L_022a: add
L_022b: stfld System.Single y
L_0230: ldloca.s 6 (UnityEngine.Vector3)
L_0232: dup
L_0233: ldfld System.Single y
L_0238: ldc.r4 0.02734375
L_023d: add
L_023e: stfld System.Single y
L_0243: Label #15
L_0243: ldarg.0
L_0244: ldfld Verse.PawnGraphicSet graphics
L_0249: ldfld Verse.Graphic headGraphic
L_024e: brfalse Label #16
L_0253: ldarg.0
L_0254: ldfld Verse.Pawn pawn
L_0259: call Boolean RaceUsesChildren(Verse.Pawn)
L_025e: brfalse Label #44
L_0263: ldarg.0
L_0264: ldfld Verse.Pawn pawn
L_0269: call Boolean EnsurePawnIsChildOrOlder(Verse.Pawn)
L_026e: brfalse Label #16
L_0273: Label #44
L_0273: nop
L_0274: ldarg.2
L_0275: ldarg.0
L_0276: ldarg.s 5
L_0278: call Vector3 BaseHeadOffsetAt(Rot4)
L_027d: call Vector3 op_Multiply(Quaternion, Vector3)
L_0282: stloc.s 8 (UnityEngine.Vector3)
L_0284: ldarg.0
L_0285: ldfld Verse.PawnGraphicSet graphics
L_028a: ldarg.s 5
L_028c: ldarg.s 6
L_028e: ldarg.s 8
L_0290: callvirt UnityEngine.Material HeadMatAt(Rot4, RotDrawMode, Boolean)
L_0295: stloc.s 9 (UnityEngine.Material)
L_0297: ldloc.s 9 (UnityEngine.Material)
L_0299: ldnull
L_029a: call Boolean op_Inequality(UnityEngine.Object, UnityEngine.Object)
L_029f: brfalse Label #17
L_02a4: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_02a9: ldarg.s 5
L_02ab: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_02b0: stloc.s 10 (UnityEngine.Mesh)
L_02b2: ldloc.s 10 (UnityEngine.Mesh)
L_02b4: ldloc.s 7 (UnityEngine.Vector3)
L_02b6: ldloc.s 8 (UnityEngine.Vector3)
L_02b8: call Vector3 op_Addition(Vector3, Vector3)
L_02bd: ldarg.2
L_02be: ldloc.s 9 (UnityEngine.Material)
L_02c0: ldarg.s 7
L_02c2: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_02c7: Label #17
L_02c7: ldarg.1
L_02c8: ldloc.s 8 (UnityEngine.Vector3)
L_02ca: call Vector3 op_Addition(Vector3, Vector3)
L_02cf: ldarg.0
L_02d0: ldfld Verse.Pawn pawn
L_02d5: ldarg.s 7
L_02da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_02df: stloc.s 11 (UnityEngine.Vector3)
L_02e1: ldloca.s 11 (UnityEngine.Vector3)
L_02e3: dup
L_02e4: ldfld System.Single y
L_02e9: ldc.r4 0.03125
L_02ee: add
L_02ef: stfld System.Single y
L_02f4: ldc.i4.0
L_02f5: stloc.s 12 (System.Boolean)
L_02f7: ldarg.s 7
L_02f9: brfalse Label #18
L_02fe: call Boolean get_HatsOnlyOnMap()
L_0303: brtrue Label #19
L_0308: Label #18
L_0308: ldarg.0
L_0309: ldfld Verse.PawnGraphicSet graphics
L_030e: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_0313: ldarg.s 5
L_0315: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_031a: stloc.s 13 (UnityEngine.Mesh)
L_031c: ldarg.0
L_031d: ldfld Verse.PawnGraphicSet graphics
L_0322: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0327: stloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0329: ldc.i4.0
L_032a: stloc.s 15 (System.Int32)
L_032c: br Label #20
L_0331: Label #26
L_0331: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0333: ldloc.s 15 (System.Int32)
L_0335: callvirt ApparelGraphicRecord get_Item(Int32)
L_033a: stloc.s 16 (RimWorld.ApparelGraphicRecord)
L_033c: ldloca.s 16 (RimWorld.ApparelGraphicRecord)
L_033e: ldfld RimWorld.Apparel sourceApparel
L_0343: ldfld Verse.ThingDef def
L_0348: ldfld RimWorld.ApparelProperties apparel
L_034d: callvirt ApparelLayer get_LastLayer()
L_0352: ldc.i4.4
L_0353: bne.un Label #21
L_0358: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_035a: ldloc.s 15 (System.Int32)
L_035c: callvirt ApparelGraphicRecord get_Item(Int32)
L_0361: stloc.s 17 (RimWorld.ApparelGraphicRecord)
L_0363: ldloca.s 17 (RimWorld.ApparelGraphicRecord)
L_0365: ldfld RimWorld.Apparel sourceApparel
L_036a: ldfld Verse.ThingDef def
L_036f: ldfld RimWorld.ApparelProperties apparel
L_0374: ldfld System.Boolean hatRenderedFrontOfFace
L_0379: brtrue Label #22
L_037e: ldc.i4.1
L_037f: stloc.s 12 (System.Boolean)
L_0381: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0383: ldloc.s 15 (System.Int32)
L_0385: callvirt ApparelGraphicRecord get_Item(Int32)
L_038a: stloc.s 19 (RimWorld.ApparelGraphicRecord)
L_038c: ldloca.s 19 (RimWorld.ApparelGraphicRecord)
L_038e: ldfld Verse.Graphic graphic
L_0393: ldarg.s 4
L_0395: ldnull
L_0396: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_039b: stloc.s 18 (UnityEngine.Material)
L_039d: ldarg.0
L_039e: ldfld Verse.PawnGraphicSet graphics
L_03a3: ldfld Verse.DamageFlasher flasher
L_03a8: ldloc.s 18 (UnityEngine.Material)
L_03aa: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03af: stloc.s 18 (UnityEngine.Material)
L_03b1: ldloc.s 13 (UnityEngine.Mesh)
L_03b3: ldloc.s 11 (UnityEngine.Vector3)
L_03b5: ldarg.2
L_03b6: ldloc.s 18 (UnityEngine.Material)
L_03b8: ldarg.s 7
L_03ba: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_03bf: br Label #23
L_03c4: Label #22
L_03c4: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_03c6: ldloc.s 15 (System.Int32)
L_03c8: callvirt ApparelGraphicRecord get_Item(Int32)
L_03cd: stloc.s 21 (RimWorld.ApparelGraphicRecord)
L_03cf: ldloca.s 21 (RimWorld.ApparelGraphicRecord)
L_03d1: ldfld Verse.Graphic graphic
L_03d6: ldarg.s 4
L_03d8: ldnull
L_03d9: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_03de: stloc.s 20 (UnityEngine.Material)
L_03e0: ldarg.0
L_03e1: ldfld Verse.PawnGraphicSet graphics
L_03e6: ldfld Verse.DamageFlasher flasher
L_03eb: ldloc.s 20 (UnityEngine.Material)
L_03ed: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03f2: stloc.s 20 (UnityEngine.Material)
L_03f4: ldarg.1
L_03f5: ldloc.s 8 (UnityEngine.Vector3)
L_03f7: call Vector3 op_Addition(Vector3, Vector3)
L_03fc: stloc.s 22 (UnityEngine.Vector3)
L_03fe: ldloca.s 22 (UnityEngine.Vector3)
L_0400: dup
L_0401: ldfld System.Single y
L_0406: ldarg.s 4
L_0408: call Rot4 get_North()
L_040d: call Boolean op_Equality(Rot4, Rot4)
L_0412: brfalse Label #24
L_0417: ldc.r4 0.00390625
L_041c: br Label #25
L_0421: Label #24
L_0421: ldc.r4 0.03515625
L_0426: Label #25
L_0426: add
L_0427: stfld System.Single y
L_042c: ldloc.s 13 (UnityEngine.Mesh)
L_042e: ldloc.s 22 (UnityEngine.Vector3)
L_0430: ldarg.2
L_0431: ldloc.s 20 (UnityEngine.Material)
L_0433: ldarg.s 7
L_0435: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_043a: Label #21
L_043a: Label #23
L_043a: ldloc.s 15 (System.Int32)
L_043c: ldc.i4.1
L_043d: add
L_043e: stloc.s 15 (System.Int32)
L_0440: Label #20
L_0440: ldloc.s 15 (System.Int32)
L_0442: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0444: callvirt Int32 get_Count()
L_0449: blt Label #26
L_044e: Label #19
L_044e: ldloc.s 12 (System.Boolean)
L_0450: brtrue Label #27
L_0455: ldarg.s 6
L_0457: ldc.i4.2
L_0458: beq Label #28
L_045d: ldarg.s 8
L_045f: brtrue Label #29
L_0464: ldarg.0
L_0465: ldfld Verse.PawnGraphicSet graphics
L_046a: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_046f: ldarg.s 5
L_0471: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0476: stloc.s 23 (UnityEngine.Mesh)
L_0478: ldarg.0
L_0479: ldfld Verse.PawnGraphicSet graphics
L_047e: ldarg.s 5
L_0480: callvirt UnityEngine.Material HairMatAt(Rot4)
L_0485: stloc.s 24 (UnityEngine.Material)
L_0487: ldloc.s 24
L_048c: ldarg.0
L_048d: ldfld Verse.Pawn pawn
L_0492: call UnityEngine.Material ModifyHairForChild(UnityEngine.Material,
Verse.Pawn)
L_0497: stloc.s 24
L_049c: ldloc.s 23 (UnityEngine.Mesh)
L_049e: ldloc.s 11 (UnityEngine.Vector3)
L_04a0: ldarg.2
L_04a1: ldloc.s 24 (UnityEngine.Material)
L_04a3: ldarg.s 7
L_04a5: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_04aa: Label #16
L_04aa: Label #27
L_04aa: Label #28
L_04aa: Label #29
L_04aa: ldarg.3
L_04ab: brfalse Label #30
L_04b0: ldc.i4.0
L_04b1: stloc.s 25 (System.Int32)
L_04b3: br Label #31
L_04b8: Label #33
L_04b8: ldarg.0
L_04b9: ldfld Verse.PawnGraphicSet graphics
L_04be: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_04c3: ldloc.s 25 (System.Int32)
L_04c5: callvirt ApparelGraphicRecord get_Item(Int32)
L_04ca: stloc.s 26 (RimWorld.ApparelGraphicRecord)
L_04cc: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ce: ldfld RimWorld.Apparel sourceApparel
L_04d3: ldfld Verse.ThingDef def
L_04d8: ldfld RimWorld.ApparelProperties apparel
L_04dd: callvirt ApparelLayer get_LastLayer()
L_04e2: ldc.i4.2
L_04e3: bne.un Label #32
L_04e8: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ea: ldfld Verse.Graphic graphic
L_04ef: ldarg.s 4
L_04f1: ldnull
L_04f2: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_04f7: stloc.s 27 (UnityEngine.Material)
L_04f9: ldarg.0
L_04fa: ldfld Verse.PawnGraphicSet graphics
L_04ff: ldfld Verse.DamageFlasher flasher
L_0504: ldloc.s 27 (UnityEngine.Material)
L_0506: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_050b: stloc.s 27 (UnityEngine.Material)
L_050d: ldloc.0
L_050e: ldloc.s 6 (UnityEngine.Vector3)
L_0510: ldarg.2
L_0511: ldloc.s 27 (UnityEngine.Material)
L_0513: ldarg.s 7
L_0515: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_051a: Label #32
L_051a: ldloc.s 25 (System.Int32)
L_051c: ldc.i4.1
L_051d: add
L_051e: stloc.s 25 (System.Int32)
L_0520: Label #31
L_0520: ldloc.s 25 (System.Int32)
L_0522: ldarg.0
L_0523: ldfld Verse.PawnGraphicSet graphics
L_0528: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_052d: callvirt Int32 get_Count()
L_0532: blt Label #33
L_0537: Label #30
L_0537: ldarg.s 7
L_0539: brtrue Label #34
L_053e: ldarg.0
L_053f: ldfld Verse.Pawn pawn
L_0544: callvirt Verse.RaceProperties get_RaceProps()
L_0549: callvirt Boolean get_Animal()
L_054e: brfalse Label #35
L_0553: ldarg.0
L_0554: ldfld Verse.Pawn pawn
L_0559: ldfld Verse.Pawn_InventoryTracker inventory
L_055e: brfalse Label #36
L_0563: ldarg.0
L_0564: ldfld Verse.Pawn pawn
L_0569: ldfld Verse.Pawn_InventoryTracker inventory
L_056e: ldfld Verse.ThingOwner`1[Verse.Thing] innerContainer
L_0573: callvirt Int32 get_Count()
L_0578: ldc.i4.0
L_0579: ble Label #37
L_057e: ldarg.0
L_057f: ldfld Verse.PawnGraphicSet graphics
L_0584: ldfld Verse.Graphic packGraphic
L_0589: brfalse Label #38
L_058e: ldloc.0
L_058f: ldloc.s 6 (UnityEngine.Vector3)
L_0591: ldarg.2
L_0592: ldarg.0
L_0593: ldfld Verse.PawnGraphicSet graphics
L_0598: ldfld Verse.Graphic packGraphic
L_059d: ldarg.s 4
L_059f: ldnull
L_05a0: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_05a5: ldc.i4.0
L_05a6: call Void DrawMesh(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Int32)
L_05ab: Label #34
L_05ab: Label #35
L_05ab: Label #36
L_05ab: Label #37
L_05ab: Label #38
L_05ab: ldarg.s 7
L_05ad: brtrue Label #39
L_05b2: ldarg.0
L_05b3: ldarg.1
L_05b4: call Void DrawEquipment(Vector3)
L_05b9: ldarg.0
L_05ba: ldfld Verse.Pawn pawn
L_05bf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05c4: brfalse Label #40
L_05c9: ldarg.0
L_05ca: ldfld Verse.Pawn pawn
L_05cf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05d4: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_05d9: stloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05db: ldc.i4.0
L_05dc: stloc.s 29 (System.Int32)
L_05de: br Label #41
L_05e3: Label #42
L_05e3: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05e5: ldloc.s 29 (System.Int32)
L_05e7: callvirt RimWorld.Apparel get_Item(Int32)
L_05ec: callvirt Void DrawWornExtras()
L_05f1: ldloc.s 29 (System.Int32)
L_05f3: ldc.i4.1
L_05f4: add
L_05f5: stloc.s 29 (System.Int32)
L_05f7: Label #41
L_05f7: ldloc.s 29 (System.Int32)
L_05f9: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05fb: callvirt Int32 get_Count()
L_0600: blt Label #42
L_0605: Label #40
L_0605: ldarg.1
L_0606: ldarg.0
L_0607: ldfld Verse.Pawn pawn
L_060c: ldarg.s 7
L_0611: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0616: stloc.s 30 (UnityEngine.Vector3)
L_0618: ldloca.s 30 (UnityEngine.Vector3)
L_061a: dup
L_061b: ldfld System.Single y
L_0620: ldc.r4 0.04296875
L_0625: add
L_0626: stfld System.Single y
L_062b: ldarg.0
L_062c: ldfld Verse.PawnHeadOverlays statusOverlays
L_0631: ldloc.s 30 (UnityEngine.Vector3)
L_0633: ldarg.2
L_0634: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_0639: ldarg.s 5
L_063b: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0640: callvirt Void RenderStatusOverlays(Vector3, Quaternion, UnityEngine.Mesh)
L_0645: Label #39
L_0645: br Label #0
L_064a: Label #0
L_064a: ret
DONE

PATCHING Verse.PawnGenerator Verse.Pawn GeneratePawn(PawnGenerationRequest)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Pawn
L_0000: ldnull
L_0001: stloc 1 (Verse.Pawn)
L_0002: ldarg.0
L_0003: call Verse.Pawn GeneratePawnInternal(PawnGenerationRequest)
L_0008: stloc.0
L_0009: leave Label #2
L_000e: endfinally
L_000f: Label #2
L_000f: ldloc.0
L_0010: br Label #0
L_0015: Label #0
L_0015: stloc 1 (Verse.Pawn)
L_0016: ldarga 0
L_001c: ldloca 1 (Verse.Pawn)
L_001e: call Void _GeneratePawn(PawnGenerationRequest ByRef, Verse.Pawn ByRef)
L_0023: ldloc 1 (Verse.Pawn)
L_0024: ret
DONE
PATCHING RimWorld.JobGiver_OptimizeApparel Verse.AI.Job TryGiveJob(Verse.Pawn)
L_0000: Local var #0 RimWorld.Outfit
L_0000: Local var #1 System.Collections.Generic.List`1[[RimWorld.Apparel, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.AI.Job
L_0000: Local var #4 Verse.Thing
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #7 System.Int32
L_0000: Local var #8 RimWorld.Apparel
L_0000: Local var #9 RimWorld.SlotGroup
L_0000: Local var #10 System.Single
L_0000: Local var #11 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 11 (Verse.AI.Job)
L_0003: ldarg.1
L_0004: ldfld RimWorld.Pawn_OutfitTracker outfits
L_0009: brtrue Label #2
L_000e: ldarg.1
L_000f: ldstr " tried to run JobGiver_OptimizeApparel without an OutfitTracker"
L_0014: call System.String Concat(System.Object, System.Object)
L_0019: ldc.i4 5643897
L_001e: call Void ErrorOnce(System.String, Int32)
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: ldarg.1
L_002a: callvirt RimWorld.Faction get_Faction()
L_002f: call RimWorld.Faction get_OfPlayer()
L_0034: beq Label #3
L_0039: ldstr "Non-colonist "
L_003e: ldarg.1
L_003f: ldstr " tried to optimize apparel."
L_0044: call System.String Concat(System.Object, System.Object, System.Object)
L_0049: ldc.i4 764323
L_004e: call Void ErrorOnce(System.String, Int32)
L_0053: ldnull
L_0054: br Label #0
L_0059: Label #3
L_0059: ldsfld System.Boolean debugApparelOptimize
L_005e: brtrue Label #4
L_0063: call Verse.TickManager get_TickManager()
L_0068: callvirt Int32 get_TicksGame()
L_006d: ldarg.1
L_006e: ldfld Verse.AI.Pawn_MindState mindState
L_0073: ldfld System.Int32 nextApparelOptimizeTick
L_0078: bge Label #5
L_007d: ldnull
L_007e: br Label #0
L_0083: Label #5
L_0083: br Label #6
L_0088: Label #4
L_0088: newobj Void .ctor()
L_008d: stsfld System.Text.StringBuilder debugSb
L_0092: ldsfld System.Text.StringBuilder debugSb
L_0097: ldc.i4.4
L_0098: newarr System.Object
L_009d: dup
L_009e: ldc.i4.0
L_009f: ldstr "Scanning for "
L_00a4: stelem.ref
L_00a5: dup
L_00a6: ldc.i4.1
L_00a7: ldarg.1
L_00a8: stelem.ref
L_00a9: dup
L_00aa: ldc.i4.2
L_00ab: ldstr " at "
L_00b0: stelem.ref
L_00b1: dup
L_00b2: ldc.i4.3
L_00b3: ldarg.1
L_00b4: callvirt IntVec3 get_Position()
L_00b9: box Verse.IntVec3
L_00be: stelem.ref
L_00bf: call System.String Concat(System.Object[])
L_00c4: callvirt System.Text.StringBuilder AppendLine(System.String)
L_00c9: pop
L_00ca: Label #6
L_00ca: ldarg.1
L_00cb: ldfld RimWorld.Pawn_OutfitTracker outfits
L_00d0: callvirt RimWorld.Outfit get_CurrentOutfit()
L_00d5: stloc.0
L_00d6: ldarg.1
L_00d7: ldfld RimWorld.Pawn_ApparelTracker apparel
L_00dc: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_00e1: stloc.1
L_00e2: ldloc.1
L_00e3: callvirt Int32 get_Count()
L_00e8: ldc.i4.1
L_00e9: sub
L_00ea: stloc.2
L_00eb: br Label #7
L_00f0: Label #10
L_00f0: ldloc.0
L_00f1: ldfld Verse.ThingFilter filter
L_00f6: ldloc.1
L_00f7: ldloc.2
L_00f8: callvirt RimWorld.Apparel get_Item(Int32)
L_00fd: callvirt Boolean Allows(Verse.Thing)
L_0102: brtrue Label #8
L_0107: ldarg.1
L_0108: ldfld RimWorld.Pawn_OutfitTracker outfits
L_010d: ldfld RimWorld.OutfitForcedHandler forcedHandler
L_0112: ldloc.1
L_0113: ldloc.2
L_0114: callvirt RimWorld.Apparel get_Item(Int32)
L_0119: callvirt Boolean AllowedToAutomaticallyDrop(RimWorld.Apparel)
L_011e: brfalse Label #9
L_0123: ldsfld Verse.JobDef RemoveApparel
L_0128: ldloc.1
L_0129: ldloc.2
L_012a: callvirt RimWorld.Apparel get_Item(Int32)
L_012f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0134: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0139: stloc.3
L_013a: ldloc.3
L_013b: ldc.i4.1
L_013c: stfld System.Boolean haulDroppedApparel
L_0141: ldloc.3
L_0142: br Label #0
L_0147: Label #8
L_0147: Label #9
L_0147: ldloc.2
L_0148: ldc.i4.1
L_0149: sub
L_014a: stloc.2
L_014b: Label #7
L_014b: ldloc.2
L_014c: ldc.i4.0
L_014d: bge Label #10
L_0152: ldnull
L_0153: stloc.s 4 (Verse.Thing)
L_0155: ldc.r4 0
L_015a: stloc.s 5 (System.Single)
L_015c: ldarg.1
L_015d: callvirt Verse.Map get_Map()
L_0162: ldfld Verse.ListerThings listerThings
L_0167: ldc.i4.s 26
L_0169: callvirt System.Collections.Generic.List`1[Verse.Thing]
ThingsInGroup(ThingRequestGroup)
L_016e: stloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0170: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0172: callvirt Int32 get_Count()
L_0177: brtrue Label #11
L_017c: ldarg.0
L_017d: ldarg.1
L_017e: call Void SetNextOptimizeTick(Verse.Pawn)
L_0183: ldnull
L_0184: br Label #0
L_0189: Label #11
L_0189: ldarg.1
L_018a: ldarg.1
L_018b: callvirt Verse.Map get_Map()
L_0190: callvirt Int32 get_Tile()
L_0195: ldarg.1
L_0196: call Twelfth Twelfth(Verse.Thing)
L_019b: call NeededWarmth CalculateNeededWarmth(Verse.Pawn, Int32, Twelfth)
L_01a0: stsfld RimWorld.NeededWarmth neededWarmth
L_01a5: ldc.i4.0
L_01a6: stloc.s 7 (System.Int32)
L_01a8: br Label #12
L_01ad: Label #27
L_01ad: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_01af: ldloc.s 7 (System.Int32)
L_01b1: callvirt Verse.Thing get_Item(Int32)
L_01b6: castclass RimWorld.Apparel
L_01bb: stloc.s 8 (RimWorld.Apparel)
L_01bd: ldloc.0
L_01be: ldfld Verse.ThingFilter filter
L_01c3: ldloc.s 8 (RimWorld.Apparel)
L_01c5: callvirt Boolean Allows(Verse.Thing)
L_01ca: brtrue Label #13
L_01cf: br Label #14
L_01d4: Label #13
L_01d4: ldloc.s 8 (RimWorld.Apparel)
L_01d6: callvirt Verse.Map get_Map()
L_01db: ldfld RimWorld.SlotGroupManager slotGroupManager
L_01e0: ldloc.s 8 (RimWorld.Apparel)
L_01e2: callvirt IntVec3 get_Position()
L_01e7: callvirt RimWorld.SlotGroup SlotGroupAt(IntVec3)
L_01ec: stloc.s 9 (RimWorld.SlotGroup)
L_01ee: ldloc.s 9 (RimWorld.SlotGroup)
L_01f0: brtrue Label #15
L_01f5: br Label #16
L_01fa: Label #15
L_01fa: ldloc.s 8 (RimWorld.Apparel)
L_01fc: ldarg.1
L_01fd: call Boolean IsForbidden(Verse.Thing, Verse.Pawn)
L_0202: brfalse Label #17
L_0207: br Label #18
L_020c: Label #17
L_020c: ldarg.1
L_020d: ldloc.s 8 (RimWorld.Apparel)
L_020f: call Single ApparelScoreGain(Verse.Pawn, RimWorld.Apparel)
L_0214: stloc.s 10 (System.Single)
L_0216: ldsfld System.Boolean debugApparelOptimize
L_021b: brfalse Label #19
L_0220: ldsfld System.Text.StringBuilder debugSb
L_0225: ldloc.s 8 (RimWorld.Apparel)
L_0227: callvirt System.String get_LabelCap()
L_022c: ldstr ": "
L_0231: ldloca.s 10 (System.Single)
L_0233: ldstr "F2"
L_0238: call System.String ToString(System.String)
L_023d: call System.String Concat(System.String, System.String, System.String)
L_0242: callvirt System.Text.StringBuilder AppendLine(System.String)
L_0247: pop
L_0248: Label #19
L_0248: ldloc.s 10 (System.Single)
L_024a: ldc.r4 0.05
L_024f: blt Label #20
L_0254: ldloc.s 10 (System.Single)
L_0256: ldloc.s 5 (System.Single)
L_0258: bge.un Label #21
L_025d: Label #20
L_025d: br Label #22
L_0262: Label #21
L_0262: ldarg.1
L_0263: ldloc.s 8 (RimWorld.Apparel)
L_0265: ldfld Verse.ThingDef def
L_026a: call Boolean HasPartsToWear(Verse.Pawn, Verse.ThingDef)
L_026f: brtrue Label #23
L_0274: br Label #24
L_0279: Label #23
L_0279: ldarg.1
L_027a: ldloc.s 8 (RimWorld.Apparel)
L_027c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0281: ldc.i4.1
L_0282: ldarg.1
L_0283: call Danger NormalMaxDanger(Verse.Pawn)
L_0288: ldc.i4.1
L_0289: ldc.i4.m1
L_028a: ldnull
L_028b: ldc.i4.0
L_028c: call Boolean CanReserveAndReach(Verse.Pawn, LocalTargetInfo, PathEndMode,
Danger, Int32, Int32, Verse.ReservationLayerDef, Boolean)
L_0291: brtrue Label #25
L_0296: br Label #26
L_029b: Label #25
L_029b: ldloc.s 8 (RimWorld.Apparel)
L_029d: stloc.s 4 (Verse.Thing)
L_029f: ldloc.s 10 (System.Single)
L_02a1: stloc.s 5 (System.Single)
L_02a3: Label #14
L_02a3: Label #16
L_02a3: Label #18
L_02a3: Label #22
L_02a3: Label #24
L_02a3: Label #26
L_02a3: ldloc.s 7 (System.Int32)
L_02a5: ldc.i4.1
L_02a6: add
L_02a7: stloc.s 7 (System.Int32)
L_02a9: Label #12
L_02a9: ldloc.s 7 (System.Int32)
L_02ab: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_02ad: callvirt Int32 get_Count()
L_02b2: blt Label #27
L_02b7: ldsfld System.Boolean debugApparelOptimize
L_02bc: brfalse Label #28
L_02c1: ldsfld System.Text.StringBuilder debugSb
L_02c6: ldstr "BEST: "
L_02cb: ldloc.s 4 (Verse.Thing)
L_02cd: call System.String Concat(System.Object, System.Object)
L_02d2: callvirt System.Text.StringBuilder AppendLine(System.String)
L_02d7: pop
L_02d8: ldsfld System.Text.StringBuilder debugSb
L_02dd: callvirt System.String ToString()
L_02e2: call Void Message(System.String)
L_02e7: ldnull
L_02e8: stsfld System.Text.StringBuilder debugSb
L_02ed: Label #28
L_02ed: ldloc.s 4 (Verse.Thing)
L_02ef: brtrue Label #29
L_02f4: ldarg.0
L_02f5: ldarg.1
L_02f6: call Void SetNextOptimizeTick(Verse.Pawn)
L_02fb: ldnull
L_02fc: br Label #0
L_0301: Label #29
L_0301: ldsfld Verse.JobDef Wear
L_0306: ldloc.s 4 (Verse.Thing)
L_0308: call LocalTargetInfo op_Implicit(Verse.Thing)
L_030d: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0312: br Label #0
L_0317: Label #0
L_0317: stloc 11 (Verse.AI.Job)
L_0319: ldloca 11 (Verse.AI.Job)
L_031b: ldarga 1
L_0321: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_0326: ldloc 11 (Verse.AI.Job)
L_0328: ret
DONE

PATCHING Verse.Pawn_HealthTracker Boolean ShouldBeDowned()


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean get_InPainShock()
L_000c: brtrue Label #2
L_0011: ldarg.0
L_0012: ldfld Verse.PawnCapacitiesHandler capacities
L_0017: callvirt Boolean get_CanBeAwake()
L_001c: brfalse Label #3
L_0021: ldarg.0
L_0022: ldfld Verse.PawnCapacitiesHandler capacities
L_0027: ldsfld Verse.PawnCapacityDef Moving
L_002c: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0031: ldc.i4.0
L_0032: ceq
L_0034: br Label #4
L_0039: Label #2
L_0039: Label #3
L_0039: ldc.i4.1
L_003a: Label #4
L_003a: br Label #0
L_003f: Label #0
L_003f: stloc 0 (System.Boolean)
L_0040: ldarga 0
L_0046: ldloca 0 (System.Boolean)
L_0048: call Void SBD(Verse.Pawn_HealthTracker ByRef, Boolean ByRef)
L_004d: ldloc 0 (System.Boolean)
L_004e: ret
DONE

PATCHING Verse.Pawn_HealthTracker Void CheckForStateChange(Nullable`1,


Verse.Hediff)
L_0000: Local var #0 System.Single
L_0000: Local var #1 Verse.DamageInfo
L_0000: Local var #2 Verse.ThingWithComps
L_0000: ldarg.0
L_0001: call Boolean get_Dead()
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: call Boolean ShouldBeDead()
L_0011: brfalse Label #3
L_0016: ldarg.0
L_0017: ldfld Verse.Pawn pawn
L_001c: callvirt Boolean get_Destroyed()
L_0021: brtrue Label #4
L_0026: ldarg.0
L_0027: ldfld Verse.Pawn pawn
L_002c: ldarg.1
L_002d: ldarg.2
L_002e: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_0033: Label #4
L_0033: br Label #0
L_0038: Label #3
L_0038: ldarg.0
L_0039: call Boolean get_Downed()
L_003e: brtrue Label #5
L_0043: ldarg.0
L_0044: call Boolean ShouldBeDowned()
L_0049: brfalse Label #6
L_004e: ldarg.0
L_004f: ldfld Verse.Pawn pawn
L_0054: callvirt Verse.RaceProperties get_RaceProps()
L_0059: callvirt Boolean get_Animal()
L_005e: brfalse Label #7
L_0063: ldc.r4 0.47
L_0068: br Label #8
L_006d: Label #7
L_006d: ldc.r4 0.67
L_0072: Label #8
L_0072: stloc.0
L_0073: ldarg.0
L_0074: ldfld System.Boolean forceIncap
L_0079: brtrue Label #9
L_007e: ldarga.s 1
L_0080: call Boolean get_HasValue()
L_0085: brfalse Label #10
L_008a: ldarga.s 1
L_008c: call DamageInfo get_Value()
L_0091: stloc.1
L_0092: ldloca.s 1 (Verse.DamageInfo)
L_0094: call Verse.DamageDef get_Def()
L_0099: ldfld System.Boolean externalViolence
L_009e: brfalse Label #11
L_00a3: ldarg.0
L_00a4: ldfld Verse.Pawn pawn
L_00a9: callvirt RimWorld.Faction get_Faction()
L_00ae: brfalse Label #12
L_00b3: ldarg.0
L_00b4: ldfld Verse.Pawn pawn
L_00b9: callvirt RimWorld.Faction get_Faction()
L_00be: callvirt Boolean get_IsPlayer()
L_00c3: brtrue Label #13
L_00c8: br Label #13
L_00cd: Label #12
L_00cd: ldarg.0
L_00ce: ldfld Verse.Pawn pawn
L_00d3: callvirt Boolean get_IsPrisonerOfColony()
L_00d8: brtrue Label #14
L_00dd: ldarg.0
L_00de: ldfld Verse.Pawn pawn
L_00e3: callvirt Verse.RaceProperties get_RaceProps()
L_00e8: callvirt Boolean get_IsFlesh()
L_00ed: brfalse Label #15
L_00f2: call Single get_Value()
L_00f7: ldloc.0
L_00f8: bge.un Label #16
L_00fd: ldarg.0
L_00fe: ldfld Verse.Pawn pawn
L_0103: ldarg.1
L_0104: ldnull
L_0105: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_010a: br Label #0
L_010f: Label #9
L_010f: Label #10
L_010f: Label #11
L_010f: Label #13
L_010f: Label #14
L_010f: Label #15
L_010f: Label #16
L_010f: ldarg.0
L_0110: ldc.i4.0
L_0111: stfld System.Boolean forceIncap
L_0116: ldarg.0
L_0117: ldarg.1
L_0118: ldarg.2
L_0119: call Void MakeDowned(Nullable`1, Verse.Hediff)
L_011e: br Label #0
L_0123: Label #6
L_0123: ldarg.0
L_0124: ldfld Verse.PawnCapacitiesHandler capacities
L_0129: ldsfld Verse.PawnCapacityDef Manipulation
L_012e: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0133: brtrue Label #17
L_0138: ldarg.0
L_0139: ldfld Verse.Pawn pawn
L_013e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0143: brfalse Label #18
L_0148: ldarg.0
L_0149: ldfld Verse.Pawn pawn
L_014e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0153: callvirt Verse.Thing get_CarriedThing()
L_0158: brfalse Label #19
L_015d: ldarg.0
L_015e: ldfld Verse.Pawn pawn
L_0163: ldfld Verse.AI.Pawn_JobTracker jobs
L_0168: brfalse Label #20
L_016d: ldarg.0
L_016e: ldfld Verse.Pawn pawn
L_0173: callvirt Verse.AI.Job get_CurJob()
L_0178: brfalse Label #21
L_017d: ldarg.0
L_017e: ldfld Verse.Pawn pawn
L_0183: ldfld Verse.AI.Pawn_JobTracker jobs
L_0188: ldc.i4.5
L_0189: ldc.i4.1
L_018a: callvirt Void EndCurrentJob(JobCondition, Boolean)
L_018f: Label #18
L_018f: Label #19
L_018f: Label #20
L_018f: Label #21
L_018f: ldarg.0
L_0190: ldfld Verse.Pawn pawn
L_0195: ldfld Verse.Pawn_EquipmentTracker equipment
L_019a: brfalse Label #22
L_019f: ldarg.0
L_01a0: ldfld Verse.Pawn pawn
L_01a5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01aa: callvirt Verse.ThingWithComps get_Primary()
L_01af: brfalse Label #23
L_01b4: ldarg.0
L_01b5: ldfld Verse.Pawn pawn
L_01ba: callvirt Boolean get_InContainerEnclosed()
L_01bf: brfalse Label #24
L_01c4: ldarg.0
L_01c5: ldfld Verse.Pawn pawn
L_01ca: ldfld Verse.Pawn_EquipmentTracker equipment
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01da: callvirt Verse.ThingWithComps get_Primary()
L_01df: ldarg.0
L_01e0: ldfld Verse.Pawn pawn
L_01e5: ldfld Verse.ThingOwner holdingOwner
L_01ea: callvirt Boolean TryTransferEquipmentToContainer(Verse.ThingWithComps,
Verse.ThingOwner)
L_01ef: pop
L_01f0: br Label #25
L_01f5: Label #24
L_01f5: ldarg.0
L_01f6: ldfld Verse.Pawn pawn
L_01fb: callvirt Boolean get_SpawnedOrAnyParentSpawned()
L_0200: brfalse Label #26
L_0205: ldarg.0
L_0206: ldfld Verse.Pawn pawn
L_020b: ldfld Verse.Pawn_EquipmentTracker equipment
L_0210: ldarg.0
L_0211: ldfld Verse.Pawn pawn
L_0216: ldfld Verse.Pawn_EquipmentTracker equipment
L_021b: callvirt Verse.ThingWithComps get_Primary()
L_0220: ldloca.s 2 (Verse.ThingWithComps)
L_0222: ldarg.0
L_0223: ldfld Verse.Pawn pawn
L_0228: callvirt IntVec3 get_PositionHeld()
L_022d: ldc.i4.1
L_022e: callvirt Boolean TryDropEquipment(Verse.ThingWithComps,
Verse.ThingWithComps ByRef, IntVec3, Boolean)
L_0233: pop
L_0234: br Label #27
L_0239: Label #26
L_0239: ldarg.0
L_023a: ldfld Verse.Pawn pawn
L_023f: ldfld Verse.Pawn_EquipmentTracker equipment
L_0244: ldarg.0
L_0245: ldfld Verse.Pawn pawn
L_024a: ldfld Verse.Pawn_EquipmentTracker equipment
L_024f: callvirt Verse.ThingWithComps get_Primary()
L_0254: callvirt Void DestroyEquipment(Verse.ThingWithComps)
L_0259: Label #17
L_0259: Label #22
L_0259: Label #23
L_0259: Label #25
L_0259: Label #27
L_0259: br Label #28
L_025e: Label #5
L_025e: ldarg.0
L_025f: call Boolean ShouldBeDowned()
L_0264: brtrue Label #29
L_0269: ldarg.0
L_026a: call Void MakeUndowned()
L_026f: br Label #0
L_0274: Label #2
L_0274: Label #28
L_0274: Label #29
L_0274: br Label #0
L_0279: Label #0
L_0279: ret
DONE

PATCHING RimWorld.RestUtility Single WakeThreshold(Verse.Pawn)


L_0000: Local var #0 Verse.AI.Group.Lord
L_0000: Local var #1 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #2 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #3 System.Single
L_0000: ldc.r4 0
L_0005: stloc 3 (System.Single)
L_0006: ldarg.0
L_0007: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldloc.0
L_0014: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0019: brfalse Label #3
L_001e: ldloc.0
L_001f: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0024: callvirt Nullable`1 get_CustomWakeThreshold()
L_0029: stloc.1
L_002a: ldloca.s 1 (System.Nullable`1[System.Single])
L_002c: call Boolean get_HasValue()
L_0031: brfalse Label #4
L_0036: ldloc.0
L_0037: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_003c: callvirt Nullable`1 get_CustomWakeThreshold()
L_0041: stloc.2
L_0042: ldloca.s 2 (System.Nullable`1[System.Single])
L_0044: call Single get_Value()
L_0049: br Label #0
L_004e: Label #2
L_004e: Label #3
L_004e: Label #4
L_004e: ldc.r4 1
L_0053: br Label #0
L_0058: Label #0
L_0058: stloc 3 (System.Single)
L_0059: ldloca 3 (System.Single)
L_005b: ldarga 0
L_0061: call Void WakeThreshold_Patch(Single ByRef, Verse.Pawn ByRef)
L_0066: ldloc 3 (System.Single)
L_0067: ret
DONE

PATCHING Verse.Verb_Shoot Boolean TryCastShot()


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 1 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean TryCastShot()
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldarg.0
L_0014: call Boolean get_CasterIsPawn()
L_0019: brfalse Label #3
L_001e: ldarg.0
L_001f: call Verse.Pawn get_CasterPawn()
L_0024: ldfld RimWorld.Pawn_RecordsTracker records
L_0029: ldsfld RimWorld.RecordDef ShotsFired
L_002e: callvirt Void Increment(RimWorld.RecordDef)
L_0033: Label #2
L_0033: Label #3
L_0033: ldloc.0
L_0034: br Label #0
L_0039: Label #0
L_0039: stloc 1 (System.Boolean)
L_003a: ldarga 0
L_0040: call Void TryCastShot_Patch(Verse.Verb_Shoot ByRef)
L_0045: ldloc 1 (System.Boolean)
L_0046: ret
DONE

PATCHING Verse.Pawn_EquipmentTracker Void


Notify_EquipmentAdded(Verse.ThingWithComps)
L_0000: Local var #0 Verse.Verb
L_0000: Local var #1 System.Collections.Generic.List`1+Enumerator[[Verse.Verb,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.1
L_0001: callvirt Verse.CompEquippable GetComp[CompEquippable]()
L_0006: callvirt System.Collections.Generic.List`1[Verse.Verb] get_AllVerbs()
L_000b: callvirt Enumerator GetEnumerator()
L_0010: stloc.1
L_0011: br Label #2
L_0016: Label #3
L_0016: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0018: call Verse.Verb get_Current()
L_001d: stloc.0
L_001e: ldloc.0
L_001f: ldarg.0
L_0020: ldfld Verse.Pawn pawn
L_0025: stfld Verse.Thing caster
L_002a: ldloc.0
L_002b: callvirt Void Notify_PickedUp()
L_0030: Label #2
L_0030: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0032: call Boolean MoveNext()
L_0037: brtrue Label #3
L_003c: leave Label #4
L_0041: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0043: constrained. System.Collections.Generic.List`1+Enumerator[Verse.Verb]
L_0049: callvirt Void Dispose()
L_004e: endfinally
L_004f: Label #4
L_004f: br Label #0
L_0054: Label #0
L_0054: ldarga 1
L_005a: ldarga 0
L_0060: call Void Notify_EquipmentAdded_Patch(Verse.ThingWithComps ByRef,
Verse.Pawn_EquipmentTracker ByRef)
L_0065: ret
DONE

PATCHING RimWorld.PawnWeaponGenerator Void TryGenerateWeaponFor(Verse.Pawn)


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2
RimWorld.PawnWeaponGenerator+<TryGenerateWeaponFor>c__AnonStorey2
L_0000: Local var #3 RimWorld.ThingStuffPair
L_0000: Local var #4 Verse.ThingWithComps
L_0000: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0005: callvirt Void Clear()
L_000a: ldarg.0
L_000b: ldfld Verse.PawnKindDef kindDef
L_0010: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0015: brfalse Label #2
L_001a: ldarg.0
L_001b: ldfld Verse.PawnKindDef kindDef
L_0020: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0025: callvirt Int32 get_Count()
L_002a: brtrue Label #3
L_002f: Label #2
L_002f: br Label #0
L_0034: Label #3
L_0034: ldarg.0
L_0035: callvirt Verse.RaceProperties get_RaceProps()
L_003a: callvirt Boolean get_ToolUser()
L_003f: brtrue Label #4
L_0044: br Label #0
L_0049: Label #4
L_0049: ldarg.0
L_004a: ldfld Verse.Pawn_HealthTracker health
L_004f: ldfld Verse.PawnCapacitiesHandler capacities
L_0054: ldsfld Verse.PawnCapacityDef Manipulation
L_0059: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_005e: brtrue Label #5
L_0063: br Label #0
L_0068: Label #5
L_0068: ldarg.0
L_0069: ldfld RimWorld.Pawn_StoryTracker story
L_006e: brfalse Label #6
L_0073: ldarg.0
L_0074: ldfld RimWorld.Pawn_StoryTracker story
L_0079: ldc.i4.8
L_007a: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_007f: brfalse Label #7
L_0084: br Label #0
L_0089: Label #6
L_0089: Label #7
L_0089: ldarg.0
L_008a: ldfld Verse.PawnKindDef kindDef
L_008f: ldflda Verse.FloatRange weaponMoney
L_0094: call Single get_RandomInRange()
L_0099: stloc.0
L_009a: ldc.i4.0
L_009b: stloc.1
L_009c: br Label #8
L_00a1: Label #16
L_00a1: newobj Void .ctor()
L_00a6: stloc.2
L_00a7: ldloc.2
L_00a8: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_00ad: ldloc.1
L_00ae: callvirt ThingStuffPair get_Item(Int32)
L_00b3: stfld RimWorld.ThingStuffPair w
L_00b8: ldloc.2
L_00b9: ldflda RimWorld.ThingStuffPair w
L_00be: call Single get_Price()
L_00c3: ldloc.0
L_00c4: ble.un Label #9
L_00c9: br Label #10
L_00ce: Label #9
L_00ce: ldarg.0
L_00cf: ldfld Verse.PawnKindDef kindDef
L_00d4: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_00d9: ldloc.2
L_00da: ldftn Boolean <>m__0(System.String)
L_00e0: newobj Void .ctor(Object, IntPtr)
L_00e5: call Boolean Any[String](System.Collections.Generic.List`1[System.String],
System.Predicate`1[System.String])
L_00ea: brtrue Label #11
L_00ef: br Label #12
L_00f4: Label #11
L_00f4: ldloc.2
L_00f5: ldflda RimWorld.ThingStuffPair w
L_00fa: ldfld Verse.ThingDef thing
L_00ff: ldfld System.Single generateAllowChance
L_0104: ldc.r4 1
L_0109: bge.un Label #13
L_010e: ldarg.0
L_010f: ldfld System.Int32 thingIDNumber
L_0114: ldc.i4 28554824
L_0119: xor
L_011a: call Single ValueSeeded(Int32)
L_011f: ldloc.2
L_0120: ldflda RimWorld.ThingStuffPair w
L_0125: ldfld Verse.ThingDef thing
L_012a: ldfld System.Single generateAllowChance
L_012f: ble.un Label #14
L_0134: br Label #15
L_0139: Label #13
L_0139: Label #14
L_0139: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_013e: ldloc.2
L_013f: ldfld RimWorld.ThingStuffPair w
L_0144: callvirt Void Add(ThingStuffPair)
L_0149: Label #10
L_0149: Label #12
L_0149: Label #15
L_0149: ldloc.1
L_014a: ldc.i4.1
L_014b: add
L_014c: stloc.1
L_014d: Label #8
L_014d: ldloc.1
L_014e: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_0153: callvirt Int32 get_Count()
L_0158: blt Label #16
L_015d: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0162: callvirt Int32 get_Count()
L_0167: brtrue Label #17
L_016c: br Label #0
L_0171: ldarg.0
L_0172: ldloc.2
L_0173: callvirt System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
FilterChildWeapons(Verse.Pawn,
System.Collections.Generic.List`1[RimWorld.ThingStuffPair])
L_0178: stloc.2
L_0179: Label #17
L_0179: ldarg.0
L_017a: ldfld Verse.Pawn_EquipmentTracker equipment
L_017f: ldc.i4.0
L_0180: callvirt Void DestroyAllEquipment(DestroyMode)
L_0185: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_018a: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_018f: brtrue Label #18
L_0194: ldnull
L_0195: ldftn Single <TryGenerateWeaponFor>m__2(ThingStuffPair)
L_019b: newobj Void .ctor(Object, IntPtr)
L_01a0: stsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01a5: Label #18
L_01a5: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01aa: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01ac: call Boolean TryRandomElementByWeight[ThingStuffPair](IEnumerable`1,
System.Func`2[RimWorld.ThingStuffPair,System.Single], ThingStuffPair ByRef)
L_01b1: brfalse Label #19
L_01b6: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01b8: ldfld Verse.ThingDef thing
L_01bd: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01bf: ldfld Verse.ThingDef stuff
L_01c4: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_01c9: castclass Verse.ThingWithComps
L_01ce: stloc.s 4 (Verse.ThingWithComps)
L_01d0: ldloc.s 4 (Verse.ThingWithComps)
L_01d2: ldarg.0
L_01d3: call Void PostProcessGeneratedGear(Verse.Thing, Verse.Pawn)
L_01d8: ldarg.0
L_01d9: ldfld Verse.Pawn_EquipmentTracker equipment
L_01de: ldloc.s 4 (Verse.ThingWithComps)
L_01e0: callvirt Void AddEquipment(Verse.ThingWithComps)
L_01e5: Label #19
L_01e5: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_01ea: callvirt Void Clear()
L_01ef: br Label #0
L_01f4: Label #0
L_01f4: ret
DONE
PATCHING RimWorld.Bill_Medical Void Notify_DoBillStarted(Verse.Pawn)
L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.ThingStackPartClass,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Int32
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void Notify_DoBillStarted(Verse.Pawn)
L_0007: ldarg.0
L_0008: ldnull
L_0009: stfld Verse.ThingDef consumedInitialMedicineDef
L_000e: ldarg.0
L_000f: call Verse.Pawn get_GiverPawn()
L_0014: callvirt Boolean get_Dead()
L_0019: brtrue Label #2
L_001e: ldarg.0
L_001f: ldfld Verse.RecipeDef recipe
L_0024: call Boolean RecipeHasNoIngredients(Verse.RecipeDef)
L_0029: brtrue Label #2
L_002e: ldarg.0
L_002f: ldfld Verse.RecipeDef recipe
L_0034: ldfld System.Boolean anesthetize
L_0039: brfalse Label #3
L_003e: ldarg.0
L_003f: call Verse.Pawn get_GiverPawn()
L_0044: call Boolean TryAnesthetize(Verse.Pawn)
L_0049: brfalse Label #4
L_004e: ldarg.1
L_004f: callvirt Verse.AI.Job get_CurJob()
L_0054: ldfld System.Collections.Generic.List`1[Verse.ThingStackPartClass]
placedThings
L_0059: stloc.0
L_005a: ldc.i4.0
L_005b: stloc.1
L_005c: br Label #5
L_0061: Label #10
L_0061: ldloc.0
L_0062: ldloc.1
L_0063: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0068: ldfld Verse.Thing thing
L_006d: isinst RimWorld.Medicine
L_0072: brfalse Label #6
L_0077: ldarg.0
L_0078: ldfld Verse.RecipeDef recipe
L_007d: callvirt Verse.RecipeWorker get_Worker()
L_0082: ldloc.0
L_0083: ldloc.1
L_0084: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0089: ldfld Verse.Thing thing
L_008e: ldc.i4.1
L_008f: callvirt Verse.Thing SplitOff(Int32)
L_0094: ldarg.0
L_0095: ldfld Verse.RecipeDef recipe
L_009a: ldarg.1
L_009b: callvirt Verse.Map get_MapHeld()
L_00a0: callvirt Void ConsumeIngredient(Verse.Thing, Verse.RecipeDef, Verse.Map)
L_00a5: ldloc.0
L_00a6: ldloc.1
L_00a7: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ac: dup
L_00ad: callvirt Int32 get_Count()
L_00b2: ldc.i4.1
L_00b3: sub
L_00b4: callvirt Void set_Count(Int32)
L_00b9: ldarg.0
L_00ba: ldloc.0
L_00bb: ldloc.1
L_00bc: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00c1: ldfld Verse.Thing thing
L_00c6: ldfld Verse.ThingDef def
L_00cb: stfld Verse.ThingDef consumedInitialMedicineDef
L_00d0: ldloc.0
L_00d1: ldloc.1
L_00d2: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00d7: ldfld Verse.Thing thing
L_00dc: callvirt Boolean get_Destroyed()
L_00e1: brtrue Label #7
L_00e6: ldloc.0
L_00e7: ldloc.1
L_00e8: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ed: callvirt Int32 get_Count()
L_00f2: ldc.i4.0
L_00f3: bgt Label #8
L_00f8: Label #7
L_00f8: ldloc.0
L_00f9: ldloc.1
L_00fa: callvirt Void RemoveAt(Int32)
L_00ff: Label #8
L_00ff: br Label #9
L_0104: Label #6
L_0104: ldloc.1
L_0105: ldc.i4.1
L_0106: add
L_0107: stloc.1
L_0108: Label #5
L_0108: ldloc.1
L_0109: ldloc.0
L_010a: callvirt Int32 get_Count()
L_010f: blt Label #10
L_0114: Label #2
L_0114: Label #3
L_0114: Label #4
L_0114: Label #9
L_0114: br Label #0
L_0119: Label #0
L_0119: ret
DONE

PATCHING RimWorld.Building_Bed IEnumerable`1 get_AssigningCandidates()


L_0000: ldarg.0
L_0001: callvirt IEnumerable`1 BedCandidates(RimWorld.Building_Bed)
L_0006: Label #0
L_0006: ret
DONE

PATCHING RimWorld.RestUtility RimWorld.Building_Bed FindBedFor(Verse.Pawn,


Verse.Pawn, Boolean, Boolean, Boolean)
L_0000: Local var #0 RimWorld.RestUtility+<FindBedFor>c__AnonStorey0
L_0000: Local var #1 RimWorld.Building_Bed
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 System.Boolean
L_0000: Local var #5 System.Boolean
L_0000: Local var #6 System.Boolean
L_0000: Local var #7 System.Int32
L_0000: Local var #8 Verse.ThingDef
L_0000: Local var #9 System.Int32
L_0000: Local var #10 RimWorld.RestUtility+<FindBedFor>c__AnonStorey1
L_0000: Local var #11 RimWorld.Building_Bed
L_0000: Local var #12 RimWorld.DirectPawnRelation
L_0000: Local var #13 RimWorld.Building_Bed
L_0000: Local var #14 System.Int32
L_0000: Local var #15 RimWorld.RestUtility+<FindBedFor>c__AnonStorey2
L_0000: Local var #16 System.Int32
L_0000: Local var #17 Verse.ThingDef
L_0000: Local var #18 RimWorld.Building_Bed
L_0000: Local var #19 RimWorld.Building_Bed
L_0000: ldnull
L_0001: stloc 19 (RimWorld.Building_Bed)
L_0003: newobj Void .ctor()
L_0008: stloc.0
L_0009: ldloc.0
L_000a: ldarg.0
L_000b: stfld Verse.Pawn sleeper
L_0010: ldloc.0
L_0011: ldarg.1
L_0012: stfld Verse.Pawn traveler
L_0017: ldloc.0
L_0018: ldarg.2
L_0019: stfld System.Boolean sleeperWillBePrisoner
L_001e: ldloc.0
L_001f: ldarg.3
L_0020: stfld System.Boolean checkSocialProperness
L_0025: ldloc.0
L_0026: ldarg.s 4
L_0028: stfld System.Boolean ignoreOtherReservations
L_002d: ldloc.0
L_002e: ldfld Verse.Pawn sleeper
L_0033: call Boolean ShouldSeekMedicalRest(Verse.Pawn)
L_0038: brfalse Label #2
L_003d: ldloc.0
L_003e: ldfld Verse.Pawn sleeper
L_0043: call Boolean InBed(Verse.Pawn)
L_0048: brfalse Label #3
L_004d: ldloc.0
L_004e: ldfld Verse.Pawn sleeper
L_0053: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0058: callvirt Boolean get_Medical()
L_005d: brfalse Label #4
L_0062: ldloc.0
L_0063: ldfld Verse.Pawn sleeper
L_0068: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_006d: stloc.1
L_006e: ldloc.0
L_006f: ldfld Verse.Pawn sleeper
L_0074: stloc.2
L_0075: ldloc.0
L_0076: ldfld Verse.Pawn traveler
L_007b: stloc.3
L_007c: ldloc.0
L_007d: ldfld System.Boolean sleeperWillBePrisoner
L_0082: stloc.s 4 (System.Boolean)
L_0084: ldloc.0
L_0085: ldfld System.Boolean checkSocialProperness
L_008a: stloc.s 5 (System.Boolean)
L_008c: ldloc.0
L_008d: ldfld System.Boolean ignoreOtherReservations
L_0092: stloc.s 6 (System.Boolean)
L_0094: ldloc.1
L_0095: ldloc.2
L_0096: ldloc.3
L_0097: ldloc.s 4 (System.Boolean)
L_0099: ldloc.s 5 (System.Boolean)
L_009b: ldc.i4.0
L_009c: ldloc.s 6 (System.Boolean)
L_009e: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_00a3: brfalse Label #5
L_00a8: ldloc.0
L_00a9: ldfld Verse.Pawn sleeper
L_00ae: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00b3: br Label #0
L_00b8: Label #3
L_00b8: Label #4
L_00b8: Label #5
L_00b8: ldc.i4.0
L_00b9: stloc.s 7 (System.Int32)
L_00bb: br Label #6
L_00c0: Label #14
L_00c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_00c5: ldloc.s 7 (System.Int32)
L_00c7: callvirt Verse.ThingDef get_Item(Int32)
L_00cc: stloc.s 8 (Verse.ThingDef)
L_00ce: ldloc.0
L_00cf: ldfld Verse.Pawn sleeper
L_00d4: ldloc.s 8 (Verse.ThingDef)
L_00d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_00db: brtrue Label #7
L_00e0: br Label #8
L_00e5: Label #7
L_00e5: ldc.i4.0
L_00e6: stloc.s 9 (System.Int32)
L_00e8: br Label #9
L_00ed: Label #13
L_00ed: newobj Void .ctor()
L_00f2: stloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f4: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f6: ldloc.0
L_00f7: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_00fc: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00fe: ldloc.s 9 (System.Int32)
L_0100: brtrue Label #10
L_0105: ldc.i4.1
L_0106: br Label #11
L_010b: Label #10
L_010b: ldc.i4.3
L_010c: Label #11
L_010c: stfld Verse.Danger maxDanger
L_0111: ldloc.0
L_0112: ldfld Verse.Pawn sleeper
L_0117: callvirt IntVec3 get_Position()
L_011c: ldloc.0
L_011d: ldfld Verse.Pawn sleeper
L_0122: callvirt Verse.Map get_Map()
L_0127: ldloc.s 8 (Verse.ThingDef)
L_0129: call ThingRequest ForDef(Verse.ThingDef)
L_012e: ldc.i4.1
L_012f: ldloc.0
L_0130: ldfld Verse.Pawn traveler
L_0135: ldc.i4.3
L_0136: ldc.i4.0
L_0137: ldc.i4.0
L_0138: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_013d: ldc.r4 9999
L_0142: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_0144: ldftn Boolean <>m__0(Verse.Thing)
L_014a: newobj Void .ctor(Object, IntPtr)
L_014f: ldnull
L_0150: ldc.i4.0
L_0151: ldc.i4.m1
L_0152: ldc.i4.0
L_0153: ldc.i4.6
L_0154: ldc.i4.0
L_0155: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_015a: castclass RimWorld.Building_Bed
L_015f: stloc.s 11 (RimWorld.Building_Bed)
L_0161: ldloc.s 11 (RimWorld.Building_Bed)
L_0163: brfalse Label #12
L_0168: ldloc.s 11 (RimWorld.Building_Bed)
L_016a: br Label #0
L_016f: Label #12
L_016f: ldloc.s 9 (System.Int32)
L_0171: ldc.i4.1
L_0172: add
L_0173: stloc.s 9 (System.Int32)
L_0175: Label #9
L_0175: ldloc.s 9 (System.Int32)
L_0177: ldc.i4.2
L_0178: blt Label #13
L_017d: Label #8
L_017d: ldloc.s 7 (System.Int32)
L_017f: ldc.i4.1
L_0180: add
L_0181: stloc.s 7 (System.Int32)
L_0183: Label #6
L_0183: ldloc.s 7 (System.Int32)
L_0185: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_018a: callvirt Int32 get_Count()
L_018f: blt Label #14
L_0194: Label #2
L_0194: ldloc.0
L_0195: ldfld Verse.Pawn sleeper
L_019a: ldfld RimWorld.Pawn_Ownership ownership
L_019f: brfalse Label #15
L_01a4: ldloc.0
L_01a5: ldfld Verse.Pawn sleeper
L_01aa: ldfld RimWorld.Pawn_Ownership ownership
L_01af: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01b4: brfalse Label #16
L_01b9: ldloc.0
L_01ba: ldfld Verse.Pawn sleeper
L_01bf: ldfld RimWorld.Pawn_Ownership ownership
L_01c4: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01c9: stloc.1
L_01ca: ldloc.0
L_01cb: ldfld Verse.Pawn sleeper
L_01d0: stloc.3
L_01d1: ldloc.0
L_01d2: ldfld Verse.Pawn traveler
L_01d7: stloc.2
L_01d8: ldloc.0
L_01d9: ldfld System.Boolean sleeperWillBePrisoner
L_01de: stloc.s 6 (System.Boolean)
L_01e0: ldloc.0
L_01e1: ldfld System.Boolean checkSocialProperness
L_01e6: stloc.s 5 (System.Boolean)
L_01e8: ldloc.0
L_01e9: ldfld System.Boolean ignoreOtherReservations
L_01ee: stloc.s 4 (System.Boolean)
L_01f0: ldloc.1
L_01f1: ldloc.3
L_01f2: ldloc.2
L_01f3: ldloc.s 6 (System.Boolean)
L_01f5: ldloc.s 5 (System.Boolean)
L_01f7: ldc.i4.0
L_01f8: ldloc.s 4 (System.Boolean)
L_01fa: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_01ff: brfalse Label #17
L_0204: ldloc.0
L_0205: ldfld Verse.Pawn sleeper
L_020a: ldfld RimWorld.Pawn_Ownership ownership
L_020f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0214: br Label #0
L_0219: Label #15
L_0219: Label #16
L_0219: Label #17
L_0219: ldloc.0
L_021a: ldfld Verse.Pawn sleeper
L_021f: ldc.i4.0
L_0220: call RimWorld.DirectPawnRelation
ExistingMostLikedLovePartnerRel(Verse.Pawn, Boolean)
L_0225: stloc.s 12 (RimWorld.DirectPawnRelation)
L_0227: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0229: brfalse Label #18
L_022e: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0230: ldfld Verse.Pawn otherPawn
L_0235: ldfld RimWorld.Pawn_Ownership ownership
L_023a: callvirt RimWorld.Building_Bed get_OwnedBed()
L_023f: stloc.s 13 (RimWorld.Building_Bed)
L_0241: ldloc.s 13 (RimWorld.Building_Bed)
L_0243: brfalse Label #19
L_0248: ldloc.s 13 (RimWorld.Building_Bed)
L_024a: stloc.1
L_024b: ldloc.0
L_024c: ldfld Verse.Pawn sleeper
L_0251: stloc.2
L_0252: ldloc.0
L_0253: ldfld Verse.Pawn traveler
L_0258: stloc.3
L_0259: ldloc.0
L_025a: ldfld System.Boolean sleeperWillBePrisoner
L_025f: stloc.s 4 (System.Boolean)
L_0261: ldloc.0
L_0262: ldfld System.Boolean checkSocialProperness
L_0267: stloc.s 5 (System.Boolean)
L_0269: ldloc.0
L_026a: ldfld System.Boolean ignoreOtherReservations
L_026f: stloc.s 6 (System.Boolean)
L_0271: ldloc.1
L_0272: ldloc.2
L_0273: ldloc.3
L_0274: ldloc.s 4 (System.Boolean)
L_0276: ldloc.s 5 (System.Boolean)
L_0278: ldc.i4.0
L_0279: ldloc.s 6 (System.Boolean)
L_027b: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_0280: brfalse Label #20
L_0285: ldloc.s 13 (RimWorld.Building_Bed)
L_0287: br Label #0
L_028c: Label #18
L_028c: Label #19
L_028c: Label #20
L_028c: ldc.i4.0
L_028d: stloc.s 14 (System.Int32)
L_028f: br Label #21
L_0294: Label #29
L_0294: newobj Void .ctor()
L_0299: stloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029b: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029d: ldloc.0
L_029e: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_02a3: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_02a5: ldloc.s 14 (System.Int32)
L_02a7: brtrue Label #22
L_02ac: ldc.i4.1
L_02ad: br Label #23
L_02b2: Label #22
L_02b2: ldc.i4.3
L_02b3: Label #23
L_02b3: stfld Verse.Danger maxDanger
L_02b8: ldc.i4.0
L_02b9: stloc.s 16 (System.Int32)
L_02bb: br Label #24
L_02c0: Label #28
L_02c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_02c5: ldloc.s 16 (System.Int32)
L_02c7: callvirt Verse.ThingDef get_Item(Int32)
L_02cc: stloc.s 17 (Verse.ThingDef)
L_02ce: ldloc.0
L_02cf: ldfld Verse.Pawn sleeper
L_02d4: ldloc.s 17 (Verse.ThingDef)
L_02d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_02db: brtrue Label #25
L_02e0: br Label #26
L_02e5: Label #25
L_02e5: ldloc.0
L_02e6: ldfld Verse.Pawn sleeper
L_02eb: callvirt IntVec3 get_Position()
L_02f0: ldloc.0
L_02f1: ldfld Verse.Pawn sleeper
L_02f6: callvirt Verse.Map get_Map()
L_02fb: ldloc.s 17 (Verse.ThingDef)
L_02fd: call ThingRequest ForDef(Verse.ThingDef)
L_0302: ldc.i4.1
L_0303: ldloc.0
L_0304: ldfld Verse.Pawn traveler
L_0309: ldc.i4.3
L_030a: ldc.i4.0
L_030b: ldc.i4.0
L_030c: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_0311: ldc.r4 9999
L_0316: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_0318: ldftn Boolean <>m__0(Verse.Thing)
L_031e: newobj Void .ctor(Object, IntPtr)
L_0323: ldnull
L_0324: ldc.i4.0
L_0325: ldc.i4.m1
L_0326: ldc.i4.0
L_0327: ldc.i4.6
L_0328: ldc.i4.0
L_0329: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_032e: castclass RimWorld.Building_Bed
L_0333: stloc.s 18 (RimWorld.Building_Bed)
L_0335: ldloc.s 18 (RimWorld.Building_Bed)
L_0337: brfalse Label #27
L_033c: ldloc.s 18 (RimWorld.Building_Bed)
L_033e: br Label #0
L_0343: Label #26
L_0343: Label #27
L_0343: ldloc.s 16 (System.Int32)
L_0345: ldc.i4.1
L_0346: add
L_0347: stloc.s 16 (System.Int32)
L_0349: Label #24
L_0349: ldloc.s 16 (System.Int32)
L_034b: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_0350: callvirt Int32 get_Count()
L_0355: blt Label #28
L_035a: ldloc.s 14 (System.Int32)
L_035c: ldc.i4.1
L_035d: add
L_035e: stloc.s 14 (System.Int32)
L_0360: Label #21
L_0360: ldloc.s 14 (System.Int32)
L_0362: ldc.i4.2
L_0363: blt Label #29
L_0368: ldnull
L_0369: br Label #0
L_036e: Label #0
L_036e: stloc 19 (RimWorld.Building_Bed)
L_0370: ldarga 0
L_0376: ldloca 19 (RimWorld.Building_Bed)
L_0378: ldarga 1
L_037e: ldarga 4
L_0384: ldarga 2
L_038a: ldarga 3
L_0390: call Void FindBedFor_Patch(Verse.Pawn ByRef, RimWorld.Building_Bed ByRef,
Verse.Pawn ByRef, Boolean ByRef, Boolean ByRef, Boolean ByRef)
L_0395: ldloc 19 (RimWorld.Building_Bed)
L_0397: ret
DONE

PATCHING RimWorld.JobGiver_DoLovin Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 1 (Verse.AI.Job)
L_0002: call Verse.TickManager get_TickManager()
L_0007: callvirt Int32 get_TicksGame()
L_000c: ldarg.1
L_000d: ldfld Verse.AI.Pawn_MindState mindState
L_0012: ldfld System.Int32 canLovinTick
L_0017: bge Label #2
L_001c: ldnull
L_001d: br Label #0
L_0022: Label #2
L_0022: ldarg.1
L_0023: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0028: brfalse Label #3
L_002d: ldarg.1
L_002e: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0033: callvirt Boolean get_Medical()
L_0038: brtrue Label #4
L_003d: ldarg.1
L_003e: ldfld Verse.Pawn_HealthTracker health
L_0043: ldfld Verse.PawnCapacitiesHandler capacities
L_0048: callvirt Boolean get_CanBeAwake()
L_004d: brtrue Label #5
L_0052: Label #3
L_0052: Label #4
L_0052: ldnull
L_0053: br Label #0
L_0058: Label #5
L_0058: ldarg.1
L_0059: call Verse.Pawn GetPartnerInMyBed(Verse.Pawn)
L_005e: stloc.0
L_005f: ldloc.0
L_0060: brfalse Label #6
L_0065: ldloc.0
L_0066: ldfld Verse.Pawn_HealthTracker health
L_006b: ldfld Verse.PawnCapacitiesHandler capacities
L_0070: callvirt Boolean get_CanBeAwake()
L_0075: brfalse Label #7
L_007a: call Verse.TickManager get_TickManager()
L_007f: callvirt Int32 get_TicksGame()
L_0084: ldloc.0
L_0085: ldfld Verse.AI.Pawn_MindState mindState
L_008a: ldfld System.Int32 canLovinTick
L_008f: bge Label #8
L_0094: Label #6
L_0094: Label #7
L_0094: ldnull
L_0095: br Label #0
L_009a: Label #8
L_009a: ldarg.1
L_009b: ldloc.0
L_009c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00a1: ldc.i4.1
L_00a2: ldc.i4.m1
L_00a3: ldnull
L_00a4: ldc.i4.0
L_00a5: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00aa: brfalse Label #9
L_00af: ldloc.0
L_00b0: ldarg.1
L_00b1: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00b6: ldc.i4.1
L_00b7: ldc.i4.m1
L_00b8: ldnull
L_00b9: ldc.i4.0
L_00ba: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00bf: brtrue Label #10
L_00c4: Label #9
L_00c4: ldnull
L_00c5: br Label #0
L_00ca: Label #10
L_00ca: ldsfld Verse.JobDef Lovin
L_00cf: ldloc.0
L_00d0: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00d5: ldarg.1
L_00d6: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00db: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00e0: newobj Void .ctor(JobDef, LocalTargetInfo, LocalTargetInfo)
L_00e5: br Label #0
L_00ea: Label #0
L_00ea: stloc 1 (Verse.AI.Job)
L_00eb: ldloca 1 (Verse.AI.Job)
L_00ed: ldarga 1
L_00f3: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_00f8: ldloc 1 (Verse.AI.Job)
L_00f9: ret
DONE

PATCHING RimWorld.JobDriver_Lovin+<MakeNewToils>c__Iterator0 Void <>m__4()


L_0000: Local var #0 RimWorld.Thought_Memory
L_0000: ldsfld RimWorld.ThoughtDef GotSomeLovin
L_0005: call RimWorld.Thought MakeThought(RimWorld.ThoughtDef)
L_000a: castclass RimWorld.Thought_Memory
L_000f: stloc.0
L_0010: ldarg.0
L_0011: ldfld RimWorld.JobDriver_Lovin $this
L_0016: ldfld Verse.Pawn pawn
L_001b: ldfld RimWorld.Pawn_NeedsTracker needs
L_0020: ldfld RimWorld.Need_Mood mood
L_0025: ldfld RimWorld.ThoughtHandler thoughts
L_002a: ldfld RimWorld.MemoryThoughtHandler memories
L_002f: ldloc.0
L_0030: ldarg.0
L_0031: ldfld RimWorld.JobDriver_Lovin $this
L_0036: call Verse.Pawn get_Partner()
L_003b: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_0040: ldarg.0
L_0041: ldfld RimWorld.JobDriver_Lovin $this
L_0046: ldfld Verse.Pawn pawn
L_004b: ldfld Verse.AI.Pawn_MindState mindState
L_0050: call Verse.TickManager get_TickManager()
L_0055: callvirt Int32 get_TicksGame()
L_005a: ldarg.0
L_005b: ldfld RimWorld.JobDriver_Lovin $this
L_0060: ldarg.0
L_0061: ldfld RimWorld.JobDriver_Lovin $this
L_0066: ldfld Verse.Pawn pawn
L_006b: call Int32 GenerateRandomMinTicksToNextLovin(Verse.Pawn)
L_0070: add
L_0071: stfld System.Int32 canLovinTick
L_0076: ldarg.0
L_0077: ldfld RimWorld.JobDriver_Lovin $this
L_007c: ldfld Verse.Pawn pawn
L_0081: ldarg.0
L_0082: ldfld RimWorld.JobDriver_Lovin $this
L_0087: call Verse.Pawn get_Partner()
L_008c: call Void TryToImpregnate(Verse.Pawn, Verse.Pawn)
L_0091: br Label #0
L_0096: Label #0
L_0096: ret
DONE

PATCHING RimWorld.JobDriver_Wear+<MakeNewToils>c__Iterator0 Boolean MoveNext()


L_0000: Local var #0 System.UInt32
L_0000: ldarg.0
L_0001: ldfld System.Int32 $PC
L_0006: stloc.0
L_0007: ldarg.0
L_0008: ldc.i4.m1
L_0009: stfld System.Int32 $PC
L_000e: ldloc.0
L_000f: switch Labels #2 #3 #4 #5
L_0024: br Label #6
L_0029: Label #2
L_0029: ldarg.0
L_002a: ldfld RimWorld.JobDriver_Wear $this
L_002f: call RimWorld.JobDriver_Wear FailOnBaby[JobDriver_Wear]
(RimWorld.JobDriver_Wear)
L_0034: pop
L_0035: ldarg.0
L_0036: newobj Void .ctor()
L_003b: stfld Verse.AI.Toil <gotoApparel>__1
L_0040: ldarg.0
L_0041: ldfld Verse.AI.Toil <gotoApparel>__1
L_0046: ldarg.0
L_0047: ldftn Void <>m__0()
L_004d: newobj Void .ctor(Object, IntPtr)
L_0052: stfld System.Action initAction
L_0057: ldarg.0
L_0058: ldfld Verse.AI.Toil <gotoApparel>__1
L_005d: ldc.i4.2
L_005e: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0063: ldarg.0
L_0064: ldfld Verse.AI.Toil <gotoApparel>__1
L_0069: ldc.i4.1
L_006a: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_006f: pop
L_0070: ldarg.0
L_0071: ldarg.0
L_0072: ldfld Verse.AI.Toil <gotoApparel>__1
L_0077: stfld Verse.AI.Toil $current
L_007c: ldarg.0
L_007d: ldfld System.Boolean $disposing
L_0082: brtrue Label #7
L_0087: ldarg.0
L_0088: ldc.i4.1
L_0089: stfld System.Int32 $PC
L_008e: Label #7
L_008e: br Label #8
L_0093: Label #3
L_0093: ldarg.0
L_0094: newobj Void .ctor()
L_0099: stfld Verse.AI.Toil <prepare>__2
L_009e: ldarg.0
L_009f: ldfld Verse.AI.Toil <prepare>__2
L_00a4: ldc.i4.3
L_00a5: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_00aa: ldarg.0
L_00ab: ldfld Verse.AI.Toil <prepare>__2
L_00b0: ldc.i4.s 60
L_00b2: stfld System.Int32 defaultDuration
L_00b7: ldarg.0
L_00b8: ldfld Verse.AI.Toil <prepare>__2
L_00bd: ldc.i4.1
L_00be: ldc.i4.0
L_00bf: ldc.r4 -0.5
L_00c4: call Verse.AI.Toil WithProgressBarToilDelay(Verse.AI.Toil, TargetIndex,
Boolean, Single)
L_00c9: pop
L_00ca: ldarg.0
L_00cb: ldfld Verse.AI.Toil <prepare>__2
L_00d0: ldc.i4.1
L_00d1: call Verse.AI.Toil FailOnDespawnedNullOrForbidden[Toil](Verse.AI.Toil,
TargetIndex)
L_00d6: pop
L_00d7: ldarg.0
L_00d8: ldarg.0
L_00d9: ldfld Verse.AI.Toil <prepare>__2
L_00de: stfld Verse.AI.Toil $current
L_00e3: ldarg.0
L_00e4: ldfld System.Boolean $disposing
L_00e9: brtrue Label #9
L_00ee: ldarg.0
L_00ef: ldc.i4.2
L_00f0: stfld System.Int32 $PC
L_00f5: Label #9
L_00f5: br Label #10
L_00fa: Label #4
L_00fa: ldarg.0
L_00fb: newobj Void .ctor()
L_0100: stfld Verse.AI.Toil <wear>__3
L_0105: ldarg.0
L_0106: ldfld Verse.AI.Toil <wear>__3
L_010b: ldarg.0
L_010c: ldftn Void <>m__1()
L_0112: newobj Void .ctor(Object, IntPtr)
L_0117: stfld System.Action initAction
L_011c: ldarg.0
L_011d: ldfld Verse.AI.Toil <wear>__3
L_0122: ldc.i4.1
L_0123: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0128: ldarg.0
L_0129: ldarg.0
L_012a: ldfld Verse.AI.Toil <wear>__3
L_012f: stfld Verse.AI.Toil $current
L_0134: ldarg.0
L_0135: ldfld System.Boolean $disposing
L_013a: brtrue Label #11
L_013f: ldarg.0
L_0140: ldc.i4.3
L_0141: stfld System.Int32 $PC
L_0146: Label #11
L_0146: br Label #12
L_014b: Label #5
L_014b: ldarg.0
L_014c: ldc.i4.m1
L_014d: stfld System.Int32 $PC
L_0152: Label #6
L_0152: ldc.i4.0
L_0153: br Label #0
L_0158: Label #8
L_0158: Label #10
L_0158: Label #12
L_0158: ldc.i4.1
L_0159: br Label #0
L_015e: Label #0
L_015e: ret
DONE

PATCHING RimWorld.ThoughtUtility Boolean CanGetThought(Verse.Pawn,


RimWorld.ThoughtDef)
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 4 (System.Boolean)
L_0007: ldarg.1
L_0008: ldfld System.Boolean validWhileDespawned
L_000d: brtrue Label #2
L_0012: ldarg.0
L_0013: callvirt Boolean get_Spawned()
L_0018: brtrue Label #3
L_001d: ldarg.1
L_001e: callvirt Boolean get_IsMemory()
L_0023: brtrue Label #4
L_0028: ldc.i4.0
L_0029: stloc.0
L_002a: leave Label #5
L_002f: Label #2
L_002f: Label #3
L_002f: Label #4
L_002f: ldarg.1
L_0030: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0035: brfalse Label #6
L_003a: ldc.i4.0
L_003b: stloc.1
L_003c: br Label #7
L_0041: Label #10
L_0041: ldarg.0
L_0042: ldfld RimWorld.Pawn_StoryTracker story
L_0047: ldfld RimWorld.TraitSet traits
L_004c: ldarg.1
L_004d: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0052: ldloc.1
L_0053: callvirt RimWorld.TraitDef get_Item(Int32)
L_0058: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_005d: brfalse Label #8
L_0062: ldc.i4.0
L_0063: stloc.0
L_0064: leave Label #9
L_0069: Label #8
L_0069: ldloc.1
L_006a: ldc.i4.1
L_006b: add
L_006c: stloc.1
L_006d: Label #7
L_006d: ldloc.1
L_006e: ldarg.1
L_006f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] nullifyingTraits
L_0074: callvirt Int32 get_Count()
L_0079: blt Label #10
L_007e: Label #6
L_007e: ldarg.1
L_007f: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0084: call Boolean NullOrEmpty[TraitDef](IList`1)
L_0089: brtrue Label #11
L_008e: ldc.i4.0
L_008f: stloc.2
L_0090: ldc.i4.0
L_0091: stloc.3
L_0092: br Label #12
L_0097: Label #19
L_0097: ldarg.0
L_0098: ldfld RimWorld.Pawn_StoryTracker story
L_009d: ldfld RimWorld.TraitSet traits
L_00a2: ldarg.1
L_00a3: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00a8: ldloc.3
L_00a9: callvirt RimWorld.TraitDef get_Item(Int32)
L_00ae: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00b3: brtrue Label #13
L_00b8: leave Label #14
L_00bd: Label #13
L_00bd: ldarg.1
L_00be: callvirt Boolean get_RequiresSpecificTraitsDegree()
L_00c3: brfalse Label #15
L_00c8: ldarg.1
L_00c9: ldfld System.Int32 requiredTraitsDegree
L_00ce: ldarg.0
L_00cf: ldfld RimWorld.Pawn_StoryTracker story
L_00d4: ldfld RimWorld.TraitSet traits
L_00d9: ldarg.1
L_00da: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_00df: ldloc.3
L_00e0: callvirt RimWorld.TraitDef get_Item(Int32)
L_00e5: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_00ea: beq Label #16
L_00ef: leave Label #17
L_00f4: Label #15
L_00f4: Label #16
L_00f4: ldc.i4.1
L_00f5: stloc.2
L_00f6: leave Label #18
L_00fb: Label #14
L_00fb: Label #17
L_00fb: ldloc.3
L_00fc: ldc.i4.1
L_00fd: add
L_00fe: stloc.3
L_00ff: Label #12
L_00ff: ldloc.3
L_0100: ldarg.1
L_0101: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef] requiredTraits
L_0106: callvirt Int32 get_Count()
L_010b: blt Label #19
L_0110: Label #18
L_0110: ldloc.2
L_0111: brtrue Label #20
L_0116: ldc.i4.0
L_0117: stloc.0
L_0118: leave Label #21
L_011d: Label #11
L_011d: Label #20
L_011d: ldarg.1
L_011e: ldfld System.Boolean nullifiedIfNotColonist
L_0123: brfalse Label #22
L_0128: ldarg.0
L_0129: callvirt Boolean get_IsColonist()
L_012e: brtrue Label #23
L_0133: ldc.i4.0
L_0134: stloc.0
L_0135: leave Label #24
L_013a: Label #22
L_013a: Label #23
L_013a: ldarg.1
L_013b: ldarg.0
L_013c: call Boolean IsSituationalThoughtNullifiedByHediffs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0141: brfalse Label #25
L_0146: ldc.i4.0
L_0147: stloc.0
L_0148: leave Label #26
L_014d: Label #25
L_014d: ldarg.1
L_014e: ldarg.0
L_014f: call Boolean IsThoughtNullifiedByOwnTales(RimWorld.ThoughtDef, Verse.Pawn)
L_0154: brfalse Label #27
L_0159: ldc.i4.0
L_015a: stloc.0
L_015b: leave Label #28
L_0160: Label #27
L_0160: leave Label #29
L_0165: endfinally
L_0166: Label #29
L_0166: ldc.i4.1
L_0167: br Label #0
L_016c: Label #5
L_016c: Label #9
L_016c: Label #21
L_016c: Label #24
L_016c: Label #26
L_016c: Label #28
L_016c: ldloc.0
L_016d: br Label #0
L_0172: Label #0
L_0172: stloc 4 (System.Boolean)
L_0174: ldarga 0
L_017a: ldarga 1
L_0180: ldloca 4 (System.Boolean)
L_0182: call Void CanGetThought_Patch(Verse.Pawn ByRef, RimWorld.ThoughtDef ByRef,
Boolean ByRef)
L_0187: ldloc 4 (System.Boolean)
L_0189: ret
DONE

PATCHING RimWorld.JobGiver_SocialFighting Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Verb
L_0000: Local var #2 Verse.AI.Job
L_0000: Local var #3 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 3 (Verse.AI.Job)
L_0002: ldarg.1
L_0003: callvirt Verse.RaceProperties get_RaceProps()
L_0008: callvirt Boolean get_Humanlike()
L_000d: brfalse Label #2
L_0012: ldarg.1
L_0013: ldfld RimWorld.Pawn_StoryTracker story
L_0018: ldc.i4.8
L_0019: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_001e: brfalse Label #3
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: Label #3
L_0029: ldarg.1
L_002a: callvirt Verse.AI.MentalState get_MentalState()
L_002f: castclass Verse.AI.MentalState_SocialFighting
L_0034: ldfld Verse.Pawn otherPawn
L_0039: stloc.0
L_003a: ldarg.1
L_003b: ldloca.s 1 (Verse.Verb)
L_003d: call Boolean TryGetRandomVerbForSocialFight(Verse.Pawn, Verse.Verb ByRef)
L_0042: brtrue Label #4
L_0047: ldnull
L_0048: br Label #0
L_004d: Label #4
L_004d: ldsfld Verse.JobDef SocialFight
L_0052: ldloc.0
L_0053: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0058: newobj Void .ctor(JobDef, LocalTargetInfo)
L_005d: stloc.2
L_005e: ldloc.2
L_005f: ldc.i4.1
L_0060: stfld System.Int32 maxNumMeleeAttacks
L_0065: ldloc.2
L_0066: ldloc.1
L_0067: stfld Verse.Verb verbToUse
L_006c: ldloc.2
L_006d: br Label #0
L_0072: Label #0
L_0072: stloc 3 (Verse.AI.Job)
L_0073: ldarga 1
L_0079: ldloca 3 (Verse.AI.Job)
L_007b: call Void TryGiveJob_Postfix(Verse.Pawn ByRef, Verse.AI.Job ByRef)
L_0080: ldloc 3 (Verse.AI.Job)
L_0081: ret
DONE

PATCHING RimWorld.Pawn_ApparelTracker Void ApparelChanged()


L_0000: ldarg.0
L_0001: ldftn Void <ApparelChanged>m__1()
L_0007: newobj Void .ctor(Object, IntPtr)
L_000c: call Void ExecuteWhenFinished(System.Action)
L_0011: br Label #0
L_0016: Label #0
L_0016: ldarga 0
L_001c: call Void ApparelChanged_Postfix(RimWorld.Pawn_ApparelTracker ByRef)
L_0021: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveAllGraphics()


L_0000: Local var #0 Verse.PawnKindLifeStage
L_0000: ldarg.0
L_0001: call Void ClearCache()
L_0006: ldarg.0
L_0007: ldfld Verse.Pawn pawn
L_000c: callvirt Verse.RaceProperties get_RaceProps()
L_0011: callvirt Boolean get_Humanlike()
L_0016: brfalse Label #2
L_001b: ldarg.0
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_StoryTracker story
L_0027: ldfld RimWorld.BodyType bodyType
L_002c: ldsfld UnityEngine.Shader CutoutSkin
L_0031: ldarg.0
L_0032: ldfld Verse.Pawn pawn
L_0037: ldfld RimWorld.Pawn_StoryTracker story
L_003c: callvirt Color get_SkinColor()
L_0041: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_0046: stfld Verse.Graphic nakedGraphic
L_004b: ldarg.0
L_004c: ldarg.0
L_004d: ldfld Verse.Pawn pawn
L_0052: ldfld RimWorld.Pawn_StoryTracker story
L_0057: ldfld RimWorld.BodyType bodyType
L_005c: ldsfld UnityEngine.Shader CutoutSkin
L_0061: ldsfld UnityEngine.Color RottingColor
L_0066: call Verse.Graphic GetNakedBodyGraphic(BodyType, UnityEngine.Shader, Color)
L_006b: stfld Verse.Graphic rottingGraphic
L_0070: ldarg.0
L_0071: ldstr "Things/Pawn/Humanlike/HumanoidDessicated"
L_0076: ldsfld UnityEngine.Shader Cutout
L_007b: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader)
L_0080: stfld Verse.Graphic dessicatedGraphic
L_0085: ldarg.0
L_0086: ldarg.0
L_0087: ldfld Verse.Pawn pawn
L_008c: ldfld RimWorld.Pawn_StoryTracker story
L_0091: callvirt System.String get_HeadGraphicPath()
L_0096: ldarg.0
L_0097: ldfld Verse.Pawn pawn
L_009c: ldfld RimWorld.Pawn_StoryTracker story
L_00a1: callvirt Color get_SkinColor()
L_00a6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00ab: stfld Verse.Graphic headGraphic
L_00b0: ldarg.0
L_00b1: ldarg.0
L_00b2: ldfld Verse.Pawn pawn
L_00b7: ldfld RimWorld.Pawn_StoryTracker story
L_00bc: callvirt System.String get_HeadGraphicPath()
L_00c1: ldsfld UnityEngine.Color RottingColor
L_00c6: call Verse.Graphic_Multi GetHeadNamed(System.String, Color)
L_00cb: stfld Verse.Graphic desiccatedHeadGraphic
L_00d0: ldarg.0
L_00d1: call Verse.Graphic_Multi GetSkull()
L_00d6: stfld Verse.Graphic skullGraphic
L_00db: ldarg.0
L_00dc: ldarg.0
L_00dd: ldfld Verse.Pawn pawn
L_00e2: ldfld RimWorld.Pawn_StoryTracker story
L_00e7: callvirt Color get_SkinColor()
L_00ec: call Verse.Graphic_Multi GetStump(Color)
L_00f1: stfld Verse.Graphic headStumpGraphic
L_00f6: ldarg.0
L_00f7: ldsfld UnityEngine.Color RottingColor
L_00fc: call Verse.Graphic_Multi GetStump(Color)
L_0101: stfld Verse.Graphic desiccatedHeadStumpGraphic
L_0106: ldarg.0
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld RimWorld.Pawn_StoryTracker story
L_0112: ldfld RimWorld.HairDef hairDef
L_0117: ldfld System.String texPath
L_011c: ldsfld UnityEngine.Shader Cutout
L_0121: call Vector2 get_one()
L_0126: ldarg.0
L_0127: ldfld Verse.Pawn pawn
L_012c: ldfld RimWorld.Pawn_StoryTracker story
L_0131: ldfld UnityEngine.Color hairColor
L_0136: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_013b: stfld Verse.Graphic hairGraphic
L_0140: ldarg.0
L_0141: call Void ResolveApparelGraphics()
L_0146: br Label #3
L_014b: Label #2
L_014b: ldarg.0
L_014c: ldfld Verse.Pawn pawn
L_0151: ldfld Verse.Pawn_AgeTracker ageTracker
L_0156: callvirt Verse.PawnKindLifeStage get_CurKindLifeStage()
L_015b: stloc.0
L_015c: ldarg.0
L_015d: ldfld Verse.Pawn pawn
L_0162: ldfld Verse.Gender gender
L_0167: ldc.i4.2
L_0168: bne.un Label #4
L_016d: ldloc.0
L_016e: ldfld Verse.GraphicData femaleGraphicData
L_0173: brtrue Label #5
L_0178: Label #4
L_0178: ldarg.0
L_0179: ldloc.0
L_017a: ldfld Verse.GraphicData bodyGraphicData
L_017f: callvirt Verse.Graphic get_Graphic()
L_0184: stfld Verse.Graphic nakedGraphic
L_0189: br Label #6
L_018e: Label #5
L_018e: ldarg.0
L_018f: ldloc.0
L_0190: ldfld Verse.GraphicData femaleGraphicData
L_0195: callvirt Verse.Graphic get_Graphic()
L_019a: stfld Verse.Graphic nakedGraphic
L_019f: Label #6
L_019f: ldarg.0
L_01a0: ldarg.0
L_01a1: ldfld Verse.Graphic nakedGraphic
L_01a6: ldsfld UnityEngine.Shader CutoutSkin
L_01ab: ldsfld UnityEngine.Color RottingColor
L_01b0: ldsfld UnityEngine.Color RottingColor
L_01b5: callvirt Verse.Graphic GetColoredVersion(UnityEngine.Shader, Color, Color)
L_01ba: stfld Verse.Graphic rottingGraphic
L_01bf: ldarg.0
L_01c0: ldfld Verse.Pawn pawn
L_01c5: callvirt Verse.RaceProperties get_RaceProps()
L_01ca: ldfld System.Boolean packAnimal
L_01cf: brfalse Label #7
L_01d4: ldarg.0
L_01d5: ldarg.0
L_01d6: ldfld Verse.Graphic nakedGraphic
L_01db: ldfld System.String path
L_01e0: ldstr "Pack"
L_01e5: call System.String Concat(System.String, System.String)
L_01ea: ldsfld UnityEngine.Shader Cutout
L_01ef: ldarg.0
L_01f0: ldfld Verse.Graphic nakedGraphic
L_01f5: ldfld UnityEngine.Vector2 drawSize
L_01fa: call Color get_white()
L_01ff: call Verse.Graphic Get[Graphic_Multi](System.String, UnityEngine.Shader,
Vector2, Color)
L_0204: stfld Verse.Graphic packGraphic
L_0209: Label #7
L_0209: ldloc.0
L_020a: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_020f: brfalse Label #8
L_0214: ldarg.0
L_0215: ldloc.0
L_0216: ldfld Verse.GraphicData dessicatedBodyGraphicData
L_021b: ldarg.0
L_021c: ldfld Verse.Pawn pawn
L_0221: callvirt Verse.Graphic GraphicColoredFor(Verse.Thing)
L_0226: stfld Verse.Graphic dessicatedGraphic
L_022b: Label #3
L_022b: Label #8
L_022b: br Label #0
L_0230: Label #0
L_0230: ldarga 0
L_0236: call Void ResolveAllGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_023b: ret
DONE

PATCHING Verse.PawnGraphicSet Void ResolveApparelGraphics()


L_0000: Local var #0 RimWorld.Apparel
L_0000: Local var #1 System.Collections.Generic.IEnumerator`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 RimWorld.ApparelGraphicRecord
L_0000: ldarga 0
L_0006: call Void ResolveApparelGraphics_Patch(Verse.PawnGraphicSet ByRef)
L_000b: ldarg.0
L_000c: call Void ClearCache()
L_0011: ldarg.0
L_0012: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0017: callvirt Void Clear()
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0027: callvirt IEnumerable`1 get_WornApparelInDrawOrder()
L_002c: callvirt IEnumerator`1 GetEnumerator()
L_0031: stloc.1
L_0032: br Label #2
L_0037: Label #4
L_0037: ldloc.1
L_0038: callvirt RimWorld.Apparel get_Current()
L_003d: stloc.0
L_003e: ldloc.0
L_003f: ldarg.0
L_0040: ldfld Verse.Pawn pawn
L_0045: call BodyType ModifyChildBodyType(Verse.Pawn)
L_004a: ldloca.s 2 (RimWorld.ApparelGraphicRecord)
L_004c: call Boolean TryGetGraphicApparel(RimWorld.Apparel, BodyType,
ApparelGraphicRecord ByRef)
L_0051: brfalse Label #3
L_0056: ldarg.0
L_0057: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_005c: ldloc.2
L_005d: callvirt Void Add(ApparelGraphicRecord)
L_0062: Label #2
L_0062: Label #3
L_0062: ldloc.1
L_0063: callvirt Boolean MoveNext()
L_0068: brtrue Label #4
L_006d: leave Label #5
L_0072: ldloc.1
L_0073: brfalse Label #6
L_0078: ldloc.1
L_0079: callvirt Void Dispose()
L_007e: Label #6
L_007e: endfinally
L_007f: Label #5
L_007f: br Label #0
L_0084: Label #0
L_0084: ret
DONE

PATCHING Verse.PawnRenderer Void RenderPawnInternal(Vector3, Quaternion, Boolean,


Rot4, Rot4, RotDrawMode, Boolean, Boolean)
L_0000: Local var #0 UnityEngine.Mesh
L_0000: Local var #1 UnityEngine.Vector3
L_0000: Local var #2 System.Collections.Generic.List`1[[UnityEngine.Material,
UnityEngine, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 System.Int32
L_0000: Local var #4 UnityEngine.Material
L_0000: Local var #5 UnityEngine.Vector3
L_0000: Local var #6 UnityEngine.Vector3
L_0000: Local var #7 UnityEngine.Vector3
L_0000: Local var #8 UnityEngine.Vector3
L_0000: Local var #9 UnityEngine.Material
L_0000: Local var #10 UnityEngine.Mesh
L_0000: Local var #11 UnityEngine.Vector3
L_0000: Local var #12 System.Boolean
L_0000: Local var #13 UnityEngine.Mesh
L_0000: Local var #14
System.Collections.Generic.List`1[[RimWorld.ApparelGraphicRecord, Assembly-CSharp,
Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #15 System.Int32
L_0000: Local var #16 RimWorld.ApparelGraphicRecord
L_0000: Local var #17 RimWorld.ApparelGraphicRecord
L_0000: Local var #18 UnityEngine.Material
L_0000: Local var #19 RimWorld.ApparelGraphicRecord
L_0000: Local var #20 UnityEngine.Material
L_0000: Local var #21 RimWorld.ApparelGraphicRecord
L_0000: Local var #22 UnityEngine.Vector3
L_0000: Local var #23 UnityEngine.Mesh
L_0000: Local var #24 UnityEngine.Material
L_0000: Local var #25 System.Int32
L_0000: Local var #26 RimWorld.ApparelGraphicRecord
L_0000: Local var #27 UnityEngine.Material
L_0000: Local var #28 System.Collections.Generic.List`1[[RimWorld.Apparel,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #29 System.Int32
L_0000: Local var #30 UnityEngine.Vector3
L_0000: ldarg.0
L_0001: ldfld Verse.PawnGraphicSet graphics
L_0006: callvirt Boolean get_AllResolved()
L_000b: brtrue Label #2
L_0010: ldarg.0
L_0011: ldfld Verse.PawnGraphicSet graphics
L_0016: callvirt Void ResolveAllGraphics()
L_001b: Label #2
L_001b: ldnull
L_001c: stloc.0
L_001d: ldarg.0
L_001e: ldfld Verse.Pawn pawn
L_0023: ldfld Verse.Pawn_AgeTracker ageTracker
L_0028: call Int32 get_CurLifeStageIndex()
L_002d: ldc.i4.2
L_002e: blt Label #43
L_0033: ldarg.3
L_0034: brfalse Label #3
L_0039: Label #43
L_0039: ldarg.1
L_003a: ldarg.0
L_003b: ldfld Verse.Pawn pawn
L_0040: ldarg.s 7
L_0045: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_004a: stloc.1
L_004b: ldloca.s 1 (UnityEngine.Vector3)
L_004d: dup
L_004e: ldfld System.Single y
L_0053: ldc.r4 0.0078125
L_0058: add
L_0059: stfld System.Single y
L_005e: ldarg.s 6
L_0060: ldc.i4.2
L_0061: bne.un Label #4
L_0066: ldarg.0
L_0067: ldfld Verse.Pawn pawn
L_006c: callvirt Verse.RaceProperties get_RaceProps()
L_0071: callvirt Boolean get_Humanlike()
L_0076: brtrue Label #5
L_007b: ldarg.0
L_007c: ldfld Verse.PawnGraphicSet graphics
L_0081: ldfld Verse.Graphic dessicatedGraphic
L_0086: brfalse Label #6
L_008b: ldarg.s 7
L_008d: brtrue Label #7
L_0092: ldarg.0
L_0093: ldfld Verse.PawnGraphicSet graphics
L_0098: ldfld Verse.Graphic dessicatedGraphic
L_009d: ldloc.1
L_009e: ldarg.s 4
L_00a0: ldarg.0
L_00a1: ldfld Verse.Pawn pawn
L_00a6: ldc.r4 0
L_00ab: callvirt Void Draw(Vector3, Rot4, Verse.Thing, Single)
L_00b0: br Label #8
L_00b5: Label #4
L_00b5: Label #5
L_00b5: Label #6
L_00b5: Label #7
L_00b5: ldarg.0
L_00b6: ldfld Verse.Pawn pawn
L_00bb: callvirt Verse.RaceProperties get_RaceProps()
L_00c0: callvirt Boolean get_Humanlike()
L_00c5: brfalse Label #9
L_00ca: ldsfld Verse.GraphicMeshSet humanlikeBodySet
L_00cf: ldarg.s 4
L_00d1: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00d6: stloc.0
L_00d7: br Label #10
L_00dc: Label #9
L_00dc: ldarg.0
L_00dd: ldfld Verse.PawnGraphicSet graphics
L_00e2: ldfld Verse.Graphic nakedGraphic
L_00e7: ldarg.s 4
L_00e9: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_00ee: stloc.0
L_00ef: Label #10
L_00ef: ldarg.0
L_00f0: ldfld Verse.PawnGraphicSet graphics
L_00f5: ldarg.s 4
L_00f7: ldarg.s 6
L_00f9: callvirt System.Collections.Generic.List`1[UnityEngine.Material]
MatsBodyBaseAt(Rot4, RotDrawMode)
L_00fe: stloc.2
L_00ff: ldc.i4.0
L_0100: stloc.3
L_0101: br Label #11
L_0106: Label #12
L_0106: ldarg.0
L_0107: ldfld Verse.PawnGraphicSet graphics
L_010c: ldfld Verse.DamageFlasher flasher
L_0111: ldloc.2
L_0112: ldloc.3
L_0113: callvirt UnityEngine.Material get_Item(Int32)
L_0118: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_011d: stloc.s 4 (UnityEngine.Material)
L_011f: ldloc.s 4
L_0124: ldarg.0
L_0125: ldfld Verse.Pawn pawn
L_012a: ldarg.s 4
L_012f: call UnityEngine.Material ModifyClothingForChild(UnityEngine.Material,
Verse.Pawn, Rot4)
L_0134: stloc.s 4
L_0139: ldloc.0
L_013a: ldloc.1
L_013b: ldarg.2
L_013c: ldloc.s 4 (UnityEngine.Material)
L_013e: ldarg.s 7
L_0140: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_0145: ldloca.s 1 (UnityEngine.Vector3)
L_0147: dup
L_0148: ldfld System.Single y
L_014d: ldloc.s 18
L_0152: ldarg.0
L_0153: ldfld Verse.Pawn pawn
L_0158: call UnityEngine.Material ModifyHatForChild(UnityEngine.Material,
Verse.Pawn)
L_015d: stloc.s 18
L_0162: ldc.r4 0.00390625
L_0167: add
L_0168: stfld System.Single y
L_016d: ldloc.3
L_016e: ldc.i4.1
L_016f: add
L_0170: stloc.3
L_0171: Label #11
L_0171: ldloc.3
L_0172: ldloc.2
L_0173: callvirt Int32 get_Count()
L_0178: blt Label #12
L_017d: ldarg.s 6
L_017f: brtrue Label #13
L_0184: ldarg.1
L_0185: ldarg.0
L_0186: ldfld Verse.Pawn pawn
L_018b: ldarg.s 7
L_0190: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0195: stloc.s 5 (UnityEngine.Vector3)
L_0197: ldloca.s 5 (UnityEngine.Vector3)
L_0199: dup
L_019a: ldfld System.Single y
L_019f: ldc.r4 0.01953125
L_01a4: add
L_01a5: stfld System.Single y
L_01aa: ldarg.0
L_01ab: ldfld RimWorld.PawnWoundDrawer woundOverlays
L_01b0: ldloc.s 5 (UnityEngine.Vector3)
L_01b2: ldloc.0
L_01b3: ldarg.2
L_01b4: ldarg.s 7
L_01b6: callvirt Void RenderOverBody(Vector3, UnityEngine.Mesh, Quaternion,
Boolean)
L_01bb: Label #3
L_01bb: Label #8
L_01bb: Label #13
L_01bb: ldarg.1
L_01bc: ldarg.0
L_01bd: ldfld Verse.Pawn pawn
L_01c2: ldarg.s 7
L_01c7: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01cc: stloc.s 6 (UnityEngine.Vector3)
L_01ce: ldarg.1
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldarg.s 7
L_01da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_01df: stloc.s 7 (UnityEngine.Vector3)
L_01e1: ldarg.s 4
L_01e3: call Rot4 get_North()
L_01e8: call Boolean op_Inequality(Rot4, Rot4)
L_01ed: brfalse Label #14
L_01f2: ldloca.s 7 (UnityEngine.Vector3)
L_01f4: dup
L_01f5: ldfld System.Single y
L_01fa: ldc.r4 0.02734375
L_01ff: add
L_0200: stfld System.Single y
L_0205: ldloca.s 6 (UnityEngine.Vector3)
L_0207: dup
L_0208: ldfld System.Single y
L_020d: ldc.r4 0.0234375
L_0212: add
L_0213: stfld System.Single y
L_0218: br Label #15
L_021d: Label #14
L_021d: ldloca.s 7 (UnityEngine.Vector3)
L_021f: dup
L_0220: ldfld System.Single y
L_0225: ldc.r4 0.0234375
L_022a: add
L_022b: stfld System.Single y
L_0230: ldloca.s 6 (UnityEngine.Vector3)
L_0232: dup
L_0233: ldfld System.Single y
L_0238: ldc.r4 0.02734375
L_023d: add
L_023e: stfld System.Single y
L_0243: Label #15
L_0243: ldarg.0
L_0244: ldfld Verse.PawnGraphicSet graphics
L_0249: ldfld Verse.Graphic headGraphic
L_024e: brfalse Label #16
L_0253: ldarg.0
L_0254: ldfld Verse.Pawn pawn
L_0259: call Boolean RaceUsesChildren(Verse.Pawn)
L_025e: brfalse Label #44
L_0263: ldarg.0
L_0264: ldfld Verse.Pawn pawn
L_0269: call Boolean EnsurePawnIsChildOrOlder(Verse.Pawn)
L_026e: brfalse Label #16
L_0273: Label #44
L_0273: nop
L_0274: ldarg.2
L_0275: ldarg.0
L_0276: ldarg.s 5
L_0278: call Vector3 BaseHeadOffsetAt(Rot4)
L_027d: call Vector3 op_Multiply(Quaternion, Vector3)
L_0282: stloc.s 8 (UnityEngine.Vector3)
L_0284: ldarg.0
L_0285: ldfld Verse.PawnGraphicSet graphics
L_028a: ldarg.s 5
L_028c: ldarg.s 6
L_028e: ldarg.s 8
L_0290: callvirt UnityEngine.Material HeadMatAt(Rot4, RotDrawMode, Boolean)
L_0295: stloc.s 9 (UnityEngine.Material)
L_0297: ldloc.s 9 (UnityEngine.Material)
L_0299: ldnull
L_029a: call Boolean op_Inequality(UnityEngine.Object, UnityEngine.Object)
L_029f: brfalse Label #17
L_02a4: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_02a9: ldarg.s 5
L_02ab: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_02b0: stloc.s 10 (UnityEngine.Mesh)
L_02b2: ldloc.s 10 (UnityEngine.Mesh)
L_02b4: ldloc.s 7 (UnityEngine.Vector3)
L_02b6: ldloc.s 8 (UnityEngine.Vector3)
L_02b8: call Vector3 op_Addition(Vector3, Vector3)
L_02bd: ldarg.2
L_02be: ldloc.s 9 (UnityEngine.Material)
L_02c0: ldarg.s 7
L_02c2: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_02c7: Label #17
L_02c7: ldarg.1
L_02c8: ldloc.s 8 (UnityEngine.Vector3)
L_02ca: call Vector3 op_Addition(Vector3, Vector3)
L_02cf: ldarg.0
L_02d0: ldfld Verse.Pawn pawn
L_02d5: ldarg.s 7
L_02da: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_02df: stloc.s 11 (UnityEngine.Vector3)
L_02e1: ldloca.s 11 (UnityEngine.Vector3)
L_02e3: dup
L_02e4: ldfld System.Single y
L_02e9: ldc.r4 0.03125
L_02ee: add
L_02ef: stfld System.Single y
L_02f4: ldc.i4.0
L_02f5: stloc.s 12 (System.Boolean)
L_02f7: ldarg.s 7
L_02f9: brfalse Label #18
L_02fe: call Boolean get_HatsOnlyOnMap()
L_0303: brtrue Label #19
L_0308: Label #18
L_0308: ldarg.0
L_0309: ldfld Verse.PawnGraphicSet graphics
L_030e: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_0313: ldarg.s 5
L_0315: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_031a: stloc.s 13 (UnityEngine.Mesh)
L_031c: ldarg.0
L_031d: ldfld Verse.PawnGraphicSet graphics
L_0322: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_0327: stloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0329: ldc.i4.0
L_032a: stloc.s 15 (System.Int32)
L_032c: br Label #20
L_0331: Label #26
L_0331: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0333: ldloc.s 15 (System.Int32)
L_0335: callvirt ApparelGraphicRecord get_Item(Int32)
L_033a: stloc.s 16 (RimWorld.ApparelGraphicRecord)
L_033c: ldloca.s 16 (RimWorld.ApparelGraphicRecord)
L_033e: ldfld RimWorld.Apparel sourceApparel
L_0343: ldfld Verse.ThingDef def
L_0348: ldfld RimWorld.ApparelProperties apparel
L_034d: callvirt ApparelLayer get_LastLayer()
L_0352: ldc.i4.4
L_0353: bne.un Label #21
L_0358: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_035a: ldloc.s 15 (System.Int32)
L_035c: callvirt ApparelGraphicRecord get_Item(Int32)
L_0361: stloc.s 17 (RimWorld.ApparelGraphicRecord)
L_0363: ldloca.s 17 (RimWorld.ApparelGraphicRecord)
L_0365: ldfld RimWorld.Apparel sourceApparel
L_036a: ldfld Verse.ThingDef def
L_036f: ldfld RimWorld.ApparelProperties apparel
L_0374: ldfld System.Boolean hatRenderedFrontOfFace
L_0379: brtrue Label #22
L_037e: ldc.i4.1
L_037f: stloc.s 12 (System.Boolean)
L_0381: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0383: ldloc.s 15 (System.Int32)
L_0385: callvirt ApparelGraphicRecord get_Item(Int32)
L_038a: stloc.s 19 (RimWorld.ApparelGraphicRecord)
L_038c: ldloca.s 19 (RimWorld.ApparelGraphicRecord)
L_038e: ldfld Verse.Graphic graphic
L_0393: ldarg.s 4
L_0395: ldnull
L_0396: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_039b: stloc.s 18 (UnityEngine.Material)
L_039d: ldarg.0
L_039e: ldfld Verse.PawnGraphicSet graphics
L_03a3: ldfld Verse.DamageFlasher flasher
L_03a8: ldloc.s 18 (UnityEngine.Material)
L_03aa: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03af: stloc.s 18 (UnityEngine.Material)
L_03b1: ldloc.s 13 (UnityEngine.Mesh)
L_03b3: ldloc.s 11 (UnityEngine.Vector3)
L_03b5: ldarg.2
L_03b6: ldloc.s 18 (UnityEngine.Material)
L_03b8: ldarg.s 7
L_03ba: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_03bf: br Label #23
L_03c4: Label #22
L_03c4: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_03c6: ldloc.s 15 (System.Int32)
L_03c8: callvirt ApparelGraphicRecord get_Item(Int32)
L_03cd: stloc.s 21 (RimWorld.ApparelGraphicRecord)
L_03cf: ldloca.s 21 (RimWorld.ApparelGraphicRecord)
L_03d1: ldfld Verse.Graphic graphic
L_03d6: ldarg.s 4
L_03d8: ldnull
L_03d9: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_03de: stloc.s 20 (UnityEngine.Material)
L_03e0: ldarg.0
L_03e1: ldfld Verse.PawnGraphicSet graphics
L_03e6: ldfld Verse.DamageFlasher flasher
L_03eb: ldloc.s 20 (UnityEngine.Material)
L_03ed: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_03f2: stloc.s 20 (UnityEngine.Material)
L_03f4: ldarg.1
L_03f5: ldloc.s 8 (UnityEngine.Vector3)
L_03f7: call Vector3 op_Addition(Vector3, Vector3)
L_03fc: stloc.s 22 (UnityEngine.Vector3)
L_03fe: ldloca.s 22 (UnityEngine.Vector3)
L_0400: dup
L_0401: ldfld System.Single y
L_0406: ldarg.s 4
L_0408: call Rot4 get_North()
L_040d: call Boolean op_Equality(Rot4, Rot4)
L_0412: brfalse Label #24
L_0417: ldc.r4 0.00390625
L_041c: br Label #25
L_0421: Label #24
L_0421: ldc.r4 0.03515625
L_0426: Label #25
L_0426: add
L_0427: stfld System.Single y
L_042c: ldloc.s 13 (UnityEngine.Mesh)
L_042e: ldloc.s 22 (UnityEngine.Vector3)
L_0430: ldarg.2
L_0431: ldloc.s 20 (UnityEngine.Material)
L_0433: ldarg.s 7
L_0435: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_043a: Label #21
L_043a: Label #23
L_043a: ldloc.s 15 (System.Int32)
L_043c: ldc.i4.1
L_043d: add
L_043e: stloc.s 15 (System.Int32)
L_0440: Label #20
L_0440: ldloc.s 15 (System.Int32)
L_0442: ldloc.s 14
(System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord])
L_0444: callvirt Int32 get_Count()
L_0449: blt Label #26
L_044e: Label #19
L_044e: ldloc.s 12 (System.Boolean)
L_0450: brtrue Label #27
L_0455: ldarg.s 6
L_0457: ldc.i4.2
L_0458: beq Label #28
L_045d: ldarg.s 8
L_045f: brtrue Label #29
L_0464: ldarg.0
L_0465: ldfld Verse.PawnGraphicSet graphics
L_046a: callvirt Verse.GraphicMeshSet get_HairMeshSet()
L_046f: ldarg.s 5
L_0471: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0476: stloc.s 23 (UnityEngine.Mesh)
L_0478: ldarg.0
L_0479: ldfld Verse.PawnGraphicSet graphics
L_047e: ldarg.s 5
L_0480: callvirt UnityEngine.Material HairMatAt(Rot4)
L_0485: stloc.s 24 (UnityEngine.Material)
L_0487: ldloc.s 24
L_048c: ldarg.0
L_048d: ldfld Verse.Pawn pawn
L_0492: call UnityEngine.Material ModifyHairForChild(UnityEngine.Material,
Verse.Pawn)
L_0497: stloc.s 24
L_049c: ldloc.s 23 (UnityEngine.Mesh)
L_049e: ldloc.s 11 (UnityEngine.Vector3)
L_04a0: ldarg.2
L_04a1: ldloc.s 24 (UnityEngine.Material)
L_04a3: ldarg.s 7
L_04a5: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_04aa: Label #16
L_04aa: Label #27
L_04aa: Label #28
L_04aa: Label #29
L_04aa: ldarg.3
L_04ab: brfalse Label #30
L_04b0: ldc.i4.0
L_04b1: stloc.s 25 (System.Int32)
L_04b3: br Label #31
L_04b8: Label #33
L_04b8: ldarg.0
L_04b9: ldfld Verse.PawnGraphicSet graphics
L_04be: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_04c3: ldloc.s 25 (System.Int32)
L_04c5: callvirt ApparelGraphicRecord get_Item(Int32)
L_04ca: stloc.s 26 (RimWorld.ApparelGraphicRecord)
L_04cc: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ce: ldfld RimWorld.Apparel sourceApparel
L_04d3: ldfld Verse.ThingDef def
L_04d8: ldfld RimWorld.ApparelProperties apparel
L_04dd: callvirt ApparelLayer get_LastLayer()
L_04e2: ldc.i4.2
L_04e3: bne.un Label #32
L_04e8: ldloca.s 26 (RimWorld.ApparelGraphicRecord)
L_04ea: ldfld Verse.Graphic graphic
L_04ef: ldarg.s 4
L_04f1: ldnull
L_04f2: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_04f7: stloc.s 27 (UnityEngine.Material)
L_04f9: ldarg.0
L_04fa: ldfld Verse.PawnGraphicSet graphics
L_04ff: ldfld Verse.DamageFlasher flasher
L_0504: ldloc.s 27 (UnityEngine.Material)
L_0506: callvirt UnityEngine.Material GetDamagedMat(UnityEngine.Material)
L_050b: stloc.s 27 (UnityEngine.Material)
L_050d: ldloc.0
L_050e: ldloc.s 6 (UnityEngine.Vector3)
L_0510: ldarg.2
L_0511: ldloc.s 27 (UnityEngine.Material)
L_0513: ldarg.s 7
L_0515: call Void DrawMeshNowOrLater(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Boolean)
L_051a: Label #32
L_051a: ldloc.s 25 (System.Int32)
L_051c: ldc.i4.1
L_051d: add
L_051e: stloc.s 25 (System.Int32)
L_0520: Label #31
L_0520: ldloc.s 25 (System.Int32)
L_0522: ldarg.0
L_0523: ldfld Verse.PawnGraphicSet graphics
L_0528: ldfld System.Collections.Generic.List`1[RimWorld.ApparelGraphicRecord]
apparelGraphics
L_052d: callvirt Int32 get_Count()
L_0532: blt Label #33
L_0537: Label #30
L_0537: ldarg.s 7
L_0539: brtrue Label #34
L_053e: ldarg.0
L_053f: ldfld Verse.Pawn pawn
L_0544: callvirt Verse.RaceProperties get_RaceProps()
L_0549: callvirt Boolean get_Animal()
L_054e: brfalse Label #35
L_0553: ldarg.0
L_0554: ldfld Verse.Pawn pawn
L_0559: ldfld Verse.Pawn_InventoryTracker inventory
L_055e: brfalse Label #36
L_0563: ldarg.0
L_0564: ldfld Verse.Pawn pawn
L_0569: ldfld Verse.Pawn_InventoryTracker inventory
L_056e: ldfld Verse.ThingOwner`1[Verse.Thing] innerContainer
L_0573: callvirt Int32 get_Count()
L_0578: ldc.i4.0
L_0579: ble Label #37
L_057e: ldarg.0
L_057f: ldfld Verse.PawnGraphicSet graphics
L_0584: ldfld Verse.Graphic packGraphic
L_0589: brfalse Label #38
L_058e: ldloc.0
L_058f: ldloc.s 6 (UnityEngine.Vector3)
L_0591: ldarg.2
L_0592: ldarg.0
L_0593: ldfld Verse.PawnGraphicSet graphics
L_0598: ldfld Verse.Graphic packGraphic
L_059d: ldarg.s 4
L_059f: ldnull
L_05a0: callvirt UnityEngine.Material MatAt(Rot4, Verse.Thing)
L_05a5: ldc.i4.0
L_05a6: call Void DrawMesh(UnityEngine.Mesh, Vector3, Quaternion,
UnityEngine.Material, Int32)
L_05ab: Label #34
L_05ab: Label #35
L_05ab: Label #36
L_05ab: Label #37
L_05ab: Label #38
L_05ab: ldarg.s 7
L_05ad: brtrue Label #39
L_05b2: ldarg.0
L_05b3: ldarg.1
L_05b4: call Void DrawEquipment(Vector3)
L_05b9: ldarg.0
L_05ba: ldfld Verse.Pawn pawn
L_05bf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05c4: brfalse Label #40
L_05c9: ldarg.0
L_05ca: ldfld Verse.Pawn pawn
L_05cf: ldfld RimWorld.Pawn_ApparelTracker apparel
L_05d4: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_05d9: stloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05db: ldc.i4.0
L_05dc: stloc.s 29 (System.Int32)
L_05de: br Label #41
L_05e3: Label #42
L_05e3: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05e5: ldloc.s 29 (System.Int32)
L_05e7: callvirt RimWorld.Apparel get_Item(Int32)
L_05ec: callvirt Void DrawWornExtras()
L_05f1: ldloc.s 29 (System.Int32)
L_05f3: ldc.i4.1
L_05f4: add
L_05f5: stloc.s 29 (System.Int32)
L_05f7: Label #41
L_05f7: ldloc.s 29 (System.Int32)
L_05f9: ldloc.s 28 (System.Collections.Generic.List`1[RimWorld.Apparel])
L_05fb: callvirt Int32 get_Count()
L_0600: blt Label #42
L_0605: Label #40
L_0605: ldarg.1
L_0606: ldarg.0
L_0607: ldfld Verse.Pawn pawn
L_060c: ldarg.s 7
L_0611: call Vector3 ModifyChildYPosOffset(Vector3, Verse.Pawn, Boolean)
L_0616: stloc.s 30 (UnityEngine.Vector3)
L_0618: ldloca.s 30 (UnityEngine.Vector3)
L_061a: dup
L_061b: ldfld System.Single y
L_0620: ldc.r4 0.04296875
L_0625: add
L_0626: stfld System.Single y
L_062b: ldarg.0
L_062c: ldfld Verse.PawnHeadOverlays statusOverlays
L_0631: ldloc.s 30 (UnityEngine.Vector3)
L_0633: ldarg.2
L_0634: ldsfld Verse.GraphicMeshSet humanlikeHeadSet
L_0639: ldarg.s 5
L_063b: callvirt UnityEngine.Mesh MeshAt(Rot4)
L_0640: callvirt Void RenderStatusOverlays(Vector3, Quaternion, UnityEngine.Mesh)
L_0645: Label #39
L_0645: br Label #0
L_064a: Label #0
L_064a: ret
DONE

PATCHING Verse.PawnGenerator Verse.Pawn GeneratePawn(PawnGenerationRequest)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Pawn
L_0000: ldnull
L_0001: stloc 1 (Verse.Pawn)
L_0002: ldarg.0
L_0003: call Verse.Pawn GeneratePawnInternal(PawnGenerationRequest)
L_0008: stloc.0
L_0009: leave Label #2
L_000e: endfinally
L_000f: Label #2
L_000f: ldloc.0
L_0010: br Label #0
L_0015: Label #0
L_0015: stloc 1 (Verse.Pawn)
L_0016: ldarga 0
L_001c: ldloca 1 (Verse.Pawn)
L_001e: call Void _GeneratePawn(PawnGenerationRequest ByRef, Verse.Pawn ByRef)
L_0023: ldloc 1 (Verse.Pawn)
L_0024: ret
DONE

PATCHING RimWorld.JobGiver_OptimizeApparel Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 RimWorld.Outfit
L_0000: Local var #1 System.Collections.Generic.List`1[[RimWorld.Apparel, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.AI.Job
L_0000: Local var #4 Verse.Thing
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #7 System.Int32
L_0000: Local var #8 RimWorld.Apparel
L_0000: Local var #9 RimWorld.SlotGroup
L_0000: Local var #10 System.Single
L_0000: Local var #11 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 11 (Verse.AI.Job)
L_0003: ldarg.1
L_0004: ldfld RimWorld.Pawn_OutfitTracker outfits
L_0009: brtrue Label #2
L_000e: ldarg.1
L_000f: ldstr " tried to run JobGiver_OptimizeApparel without an OutfitTracker"
L_0014: call System.String Concat(System.Object, System.Object)
L_0019: ldc.i4 5643897
L_001e: call Void ErrorOnce(System.String, Int32)
L_0023: ldnull
L_0024: br Label #0
L_0029: Label #2
L_0029: ldarg.1
L_002a: callvirt RimWorld.Faction get_Faction()
L_002f: call RimWorld.Faction get_OfPlayer()
L_0034: beq Label #3
L_0039: ldstr "Non-colonist "
L_003e: ldarg.1
L_003f: ldstr " tried to optimize apparel."
L_0044: call System.String Concat(System.Object, System.Object, System.Object)
L_0049: ldc.i4 764323
L_004e: call Void ErrorOnce(System.String, Int32)
L_0053: ldnull
L_0054: br Label #0
L_0059: Label #3
L_0059: ldsfld System.Boolean debugApparelOptimize
L_005e: brtrue Label #4
L_0063: call Verse.TickManager get_TickManager()
L_0068: callvirt Int32 get_TicksGame()
L_006d: ldarg.1
L_006e: ldfld Verse.AI.Pawn_MindState mindState
L_0073: ldfld System.Int32 nextApparelOptimizeTick
L_0078: bge Label #5
L_007d: ldnull
L_007e: br Label #0
L_0083: Label #5
L_0083: br Label #6
L_0088: Label #4
L_0088: newobj Void .ctor()
L_008d: stsfld System.Text.StringBuilder debugSb
L_0092: ldsfld System.Text.StringBuilder debugSb
L_0097: ldc.i4.4
L_0098: newarr System.Object
L_009d: dup
L_009e: ldc.i4.0
L_009f: ldstr "Scanning for "
L_00a4: stelem.ref
L_00a5: dup
L_00a6: ldc.i4.1
L_00a7: ldarg.1
L_00a8: stelem.ref
L_00a9: dup
L_00aa: ldc.i4.2
L_00ab: ldstr " at "
L_00b0: stelem.ref
L_00b1: dup
L_00b2: ldc.i4.3
L_00b3: ldarg.1
L_00b4: callvirt IntVec3 get_Position()
L_00b9: box Verse.IntVec3
L_00be: stelem.ref
L_00bf: call System.String Concat(System.Object[])
L_00c4: callvirt System.Text.StringBuilder AppendLine(System.String)
L_00c9: pop
L_00ca: Label #6
L_00ca: ldarg.1
L_00cb: ldfld RimWorld.Pawn_OutfitTracker outfits
L_00d0: callvirt RimWorld.Outfit get_CurrentOutfit()
L_00d5: stloc.0
L_00d6: ldarg.1
L_00d7: ldfld RimWorld.Pawn_ApparelTracker apparel
L_00dc: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_00e1: stloc.1
L_00e2: ldloc.1
L_00e3: callvirt Int32 get_Count()
L_00e8: ldc.i4.1
L_00e9: sub
L_00ea: stloc.2
L_00eb: br Label #7
L_00f0: Label #10
L_00f0: ldloc.0
L_00f1: ldfld Verse.ThingFilter filter
L_00f6: ldloc.1
L_00f7: ldloc.2
L_00f8: callvirt RimWorld.Apparel get_Item(Int32)
L_00fd: callvirt Boolean Allows(Verse.Thing)
L_0102: brtrue Label #8
L_0107: ldarg.1
L_0108: ldfld RimWorld.Pawn_OutfitTracker outfits
L_010d: ldfld RimWorld.OutfitForcedHandler forcedHandler
L_0112: ldloc.1
L_0113: ldloc.2
L_0114: callvirt RimWorld.Apparel get_Item(Int32)
L_0119: callvirt Boolean AllowedToAutomaticallyDrop(RimWorld.Apparel)
L_011e: brfalse Label #9
L_0123: ldsfld Verse.JobDef RemoveApparel
L_0128: ldloc.1
L_0129: ldloc.2
L_012a: callvirt RimWorld.Apparel get_Item(Int32)
L_012f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0134: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0139: stloc.3
L_013a: ldloc.3
L_013b: ldc.i4.1
L_013c: stfld System.Boolean haulDroppedApparel
L_0141: ldloc.3
L_0142: br Label #0
L_0147: Label #8
L_0147: Label #9
L_0147: ldloc.2
L_0148: ldc.i4.1
L_0149: sub
L_014a: stloc.2
L_014b: Label #7
L_014b: ldloc.2
L_014c: ldc.i4.0
L_014d: bge Label #10
L_0152: ldnull
L_0153: stloc.s 4 (Verse.Thing)
L_0155: ldc.r4 0
L_015a: stloc.s 5 (System.Single)
L_015c: ldarg.1
L_015d: callvirt Verse.Map get_Map()
L_0162: ldfld Verse.ListerThings listerThings
L_0167: ldc.i4.s 26
L_0169: callvirt System.Collections.Generic.List`1[Verse.Thing]
ThingsInGroup(ThingRequestGroup)
L_016e: stloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0170: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_0172: callvirt Int32 get_Count()
L_0177: brtrue Label #11
L_017c: ldarg.0
L_017d: ldarg.1
L_017e: call Void SetNextOptimizeTick(Verse.Pawn)
L_0183: ldnull
L_0184: br Label #0
L_0189: Label #11
L_0189: ldarg.1
L_018a: ldarg.1
L_018b: callvirt Verse.Map get_Map()
L_0190: callvirt Int32 get_Tile()
L_0195: ldarg.1
L_0196: call Twelfth Twelfth(Verse.Thing)
L_019b: call NeededWarmth CalculateNeededWarmth(Verse.Pawn, Int32, Twelfth)
L_01a0: stsfld RimWorld.NeededWarmth neededWarmth
L_01a5: ldc.i4.0
L_01a6: stloc.s 7 (System.Int32)
L_01a8: br Label #12
L_01ad: Label #27
L_01ad: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_01af: ldloc.s 7 (System.Int32)
L_01b1: callvirt Verse.Thing get_Item(Int32)
L_01b6: castclass RimWorld.Apparel
L_01bb: stloc.s 8 (RimWorld.Apparel)
L_01bd: ldloc.0
L_01be: ldfld Verse.ThingFilter filter
L_01c3: ldloc.s 8 (RimWorld.Apparel)
L_01c5: callvirt Boolean Allows(Verse.Thing)
L_01ca: brtrue Label #13
L_01cf: br Label #14
L_01d4: Label #13
L_01d4: ldloc.s 8 (RimWorld.Apparel)
L_01d6: callvirt Verse.Map get_Map()
L_01db: ldfld RimWorld.SlotGroupManager slotGroupManager
L_01e0: ldloc.s 8 (RimWorld.Apparel)
L_01e2: callvirt IntVec3 get_Position()
L_01e7: callvirt RimWorld.SlotGroup SlotGroupAt(IntVec3)
L_01ec: stloc.s 9 (RimWorld.SlotGroup)
L_01ee: ldloc.s 9 (RimWorld.SlotGroup)
L_01f0: brtrue Label #15
L_01f5: br Label #16
L_01fa: Label #15
L_01fa: ldloc.s 8 (RimWorld.Apparel)
L_01fc: ldarg.1
L_01fd: call Boolean IsForbidden(Verse.Thing, Verse.Pawn)
L_0202: brfalse Label #17
L_0207: br Label #18
L_020c: Label #17
L_020c: ldarg.1
L_020d: ldloc.s 8 (RimWorld.Apparel)
L_020f: call Single ApparelScoreGain(Verse.Pawn, RimWorld.Apparel)
L_0214: stloc.s 10 (System.Single)
L_0216: ldsfld System.Boolean debugApparelOptimize
L_021b: brfalse Label #19
L_0220: ldsfld System.Text.StringBuilder debugSb
L_0225: ldloc.s 8 (RimWorld.Apparel)
L_0227: callvirt System.String get_LabelCap()
L_022c: ldstr ": "
L_0231: ldloca.s 10 (System.Single)
L_0233: ldstr "F2"
L_0238: call System.String ToString(System.String)
L_023d: call System.String Concat(System.String, System.String, System.String)
L_0242: callvirt System.Text.StringBuilder AppendLine(System.String)
L_0247: pop
L_0248: Label #19
L_0248: ldloc.s 10 (System.Single)
L_024a: ldc.r4 0.05
L_024f: blt Label #20
L_0254: ldloc.s 10 (System.Single)
L_0256: ldloc.s 5 (System.Single)
L_0258: bge.un Label #21
L_025d: Label #20
L_025d: br Label #22
L_0262: Label #21
L_0262: ldarg.1
L_0263: ldloc.s 8 (RimWorld.Apparel)
L_0265: ldfld Verse.ThingDef def
L_026a: call Boolean HasPartsToWear(Verse.Pawn, Verse.ThingDef)
L_026f: brtrue Label #23
L_0274: br Label #24
L_0279: Label #23
L_0279: ldarg.1
L_027a: ldloc.s 8 (RimWorld.Apparel)
L_027c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0281: ldc.i4.1
L_0282: ldarg.1
L_0283: call Danger NormalMaxDanger(Verse.Pawn)
L_0288: ldc.i4.1
L_0289: ldc.i4.m1
L_028a: ldnull
L_028b: ldc.i4.0
L_028c: call Boolean CanReserveAndReach(Verse.Pawn, LocalTargetInfo, PathEndMode,
Danger, Int32, Int32, Verse.ReservationLayerDef, Boolean)
L_0291: brtrue Label #25
L_0296: br Label #26
L_029b: Label #25
L_029b: ldloc.s 8 (RimWorld.Apparel)
L_029d: stloc.s 4 (Verse.Thing)
L_029f: ldloc.s 10 (System.Single)
L_02a1: stloc.s 5 (System.Single)
L_02a3: Label #14
L_02a3: Label #16
L_02a3: Label #18
L_02a3: Label #22
L_02a3: Label #24
L_02a3: Label #26
L_02a3: ldloc.s 7 (System.Int32)
L_02a5: ldc.i4.1
L_02a6: add
L_02a7: stloc.s 7 (System.Int32)
L_02a9: Label #12
L_02a9: ldloc.s 7 (System.Int32)
L_02ab: ldloc.s 6 (System.Collections.Generic.List`1[Verse.Thing])
L_02ad: callvirt Int32 get_Count()
L_02b2: blt Label #27
L_02b7: ldsfld System.Boolean debugApparelOptimize
L_02bc: brfalse Label #28
L_02c1: ldsfld System.Text.StringBuilder debugSb
L_02c6: ldstr "BEST: "
L_02cb: ldloc.s 4 (Verse.Thing)
L_02cd: call System.String Concat(System.Object, System.Object)
L_02d2: callvirt System.Text.StringBuilder AppendLine(System.String)
L_02d7: pop
L_02d8: ldsfld System.Text.StringBuilder debugSb
L_02dd: callvirt System.String ToString()
L_02e2: call Void Message(System.String)
L_02e7: ldnull
L_02e8: stsfld System.Text.StringBuilder debugSb
L_02ed: Label #28
L_02ed: ldloc.s 4 (Verse.Thing)
L_02ef: brtrue Label #29
L_02f4: ldarg.0
L_02f5: ldarg.1
L_02f6: call Void SetNextOptimizeTick(Verse.Pawn)
L_02fb: ldnull
L_02fc: br Label #0
L_0301: Label #29
L_0301: ldsfld Verse.JobDef Wear
L_0306: ldloc.s 4 (Verse.Thing)
L_0308: call LocalTargetInfo op_Implicit(Verse.Thing)
L_030d: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0312: br Label #0
L_0317: Label #0
L_0317: stloc 11 (Verse.AI.Job)
L_0319: ldloca 11 (Verse.AI.Job)
L_031b: ldarga 1
L_0321: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_0326: ldloc 11 (Verse.AI.Job)
L_0328: ret
DONE

PATCHING Verse.Pawn_HealthTracker Boolean ShouldBeDowned()


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean get_InPainShock()
L_000c: brtrue Label #2
L_0011: ldarg.0
L_0012: ldfld Verse.PawnCapacitiesHandler capacities
L_0017: callvirt Boolean get_CanBeAwake()
L_001c: brfalse Label #3
L_0021: ldarg.0
L_0022: ldfld Verse.PawnCapacitiesHandler capacities
L_0027: ldsfld Verse.PawnCapacityDef Moving
L_002c: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0031: ldc.i4.0
L_0032: ceq
L_0034: br Label #4
L_0039: Label #2
L_0039: Label #3
L_0039: ldc.i4.1
L_003a: Label #4
L_003a: br Label #0
L_003f: Label #0
L_003f: stloc 0 (System.Boolean)
L_0040: ldarga 0
L_0046: ldloca 0 (System.Boolean)
L_0048: call Void SBD(Verse.Pawn_HealthTracker ByRef, Boolean ByRef)
L_004d: ldloc 0 (System.Boolean)
L_004e: ret
DONE

PATCHING Verse.Pawn_HealthTracker Void CheckForStateChange(Nullable`1,


Verse.Hediff)
L_0000: Local var #0 System.Single
L_0000: Local var #1 Verse.DamageInfo
L_0000: Local var #2 Verse.ThingWithComps
L_0000: ldarg.0
L_0001: call Boolean get_Dead()
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: call Boolean ShouldBeDead()
L_0011: brfalse Label #3
L_0016: ldarg.0
L_0017: ldfld Verse.Pawn pawn
L_001c: callvirt Boolean get_Destroyed()
L_0021: brtrue Label #4
L_0026: ldarg.0
L_0027: ldfld Verse.Pawn pawn
L_002c: ldarg.1
L_002d: ldarg.2
L_002e: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_0033: Label #4
L_0033: br Label #0
L_0038: Label #3
L_0038: ldarg.0
L_0039: call Boolean get_Downed()
L_003e: brtrue Label #5
L_0043: ldarg.0
L_0044: call Boolean ShouldBeDowned()
L_0049: brfalse Label #6
L_004e: ldarg.0
L_004f: ldfld Verse.Pawn pawn
L_0054: callvirt Verse.RaceProperties get_RaceProps()
L_0059: callvirt Boolean get_Animal()
L_005e: brfalse Label #7
L_0063: ldc.r4 0.47
L_0068: br Label #8
L_006d: Label #7
L_006d: ldc.r4 0.67
L_0072: Label #8
L_0072: stloc.0
L_0073: ldarg.0
L_0074: ldfld System.Boolean forceIncap
L_0079: brtrue Label #9
L_007e: ldarga.s 1
L_0080: call Boolean get_HasValue()
L_0085: brfalse Label #10
L_008a: ldarga.s 1
L_008c: call DamageInfo get_Value()
L_0091: stloc.1
L_0092: ldloca.s 1 (Verse.DamageInfo)
L_0094: call Verse.DamageDef get_Def()
L_0099: ldfld System.Boolean externalViolence
L_009e: brfalse Label #11
L_00a3: ldarg.0
L_00a4: ldfld Verse.Pawn pawn
L_00a9: callvirt RimWorld.Faction get_Faction()
L_00ae: brfalse Label #12
L_00b3: ldarg.0
L_00b4: ldfld Verse.Pawn pawn
L_00b9: callvirt RimWorld.Faction get_Faction()
L_00be: callvirt Boolean get_IsPlayer()
L_00c3: brtrue Label #13
L_00c8: br Label #13
L_00cd: Label #12
L_00cd: ldarg.0
L_00ce: ldfld Verse.Pawn pawn
L_00d3: callvirt Boolean get_IsPrisonerOfColony()
L_00d8: brtrue Label #14
L_00dd: ldarg.0
L_00de: ldfld Verse.Pawn pawn
L_00e3: callvirt Verse.RaceProperties get_RaceProps()
L_00e8: callvirt Boolean get_IsFlesh()
L_00ed: brfalse Label #15
L_00f2: call Single get_Value()
L_00f7: ldloc.0
L_00f8: bge.un Label #16
L_00fd: ldarg.0
L_00fe: ldfld Verse.Pawn pawn
L_0103: ldarg.1
L_0104: ldnull
L_0105: callvirt Void Kill(Nullable`1, Verse.Hediff)
L_010a: br Label #0
L_010f: Label #9
L_010f: Label #10
L_010f: Label #11
L_010f: Label #13
L_010f: Label #14
L_010f: Label #15
L_010f: Label #16
L_010f: ldarg.0
L_0110: ldc.i4.0
L_0111: stfld System.Boolean forceIncap
L_0116: ldarg.0
L_0117: ldarg.1
L_0118: ldarg.2
L_0119: call Void MakeDowned(Nullable`1, Verse.Hediff)
L_011e: br Label #0
L_0123: Label #6
L_0123: ldarg.0
L_0124: ldfld Verse.PawnCapacitiesHandler capacities
L_0129: ldsfld Verse.PawnCapacityDef Manipulation
L_012e: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0133: brtrue Label #17
L_0138: ldarg.0
L_0139: ldfld Verse.Pawn pawn
L_013e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0143: brfalse Label #18
L_0148: ldarg.0
L_0149: ldfld Verse.Pawn pawn
L_014e: ldfld Verse.Pawn_CarryTracker carryTracker
L_0153: callvirt Verse.Thing get_CarriedThing()
L_0158: brfalse Label #19
L_015d: ldarg.0
L_015e: ldfld Verse.Pawn pawn
L_0163: ldfld Verse.AI.Pawn_JobTracker jobs
L_0168: brfalse Label #20
L_016d: ldarg.0
L_016e: ldfld Verse.Pawn pawn
L_0173: callvirt Verse.AI.Job get_CurJob()
L_0178: brfalse Label #21
L_017d: ldarg.0
L_017e: ldfld Verse.Pawn pawn
L_0183: ldfld Verse.AI.Pawn_JobTracker jobs
L_0188: ldc.i4.5
L_0189: ldc.i4.1
L_018a: callvirt Void EndCurrentJob(JobCondition, Boolean)
L_018f: Label #18
L_018f: Label #19
L_018f: Label #20
L_018f: Label #21
L_018f: ldarg.0
L_0190: ldfld Verse.Pawn pawn
L_0195: ldfld Verse.Pawn_EquipmentTracker equipment
L_019a: brfalse Label #22
L_019f: ldarg.0
L_01a0: ldfld Verse.Pawn pawn
L_01a5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01aa: callvirt Verse.ThingWithComps get_Primary()
L_01af: brfalse Label #23
L_01b4: ldarg.0
L_01b5: ldfld Verse.Pawn pawn
L_01ba: callvirt Boolean get_InContainerEnclosed()
L_01bf: brfalse Label #24
L_01c4: ldarg.0
L_01c5: ldfld Verse.Pawn pawn
L_01ca: ldfld Verse.Pawn_EquipmentTracker equipment
L_01cf: ldarg.0
L_01d0: ldfld Verse.Pawn pawn
L_01d5: ldfld Verse.Pawn_EquipmentTracker equipment
L_01da: callvirt Verse.ThingWithComps get_Primary()
L_01df: ldarg.0
L_01e0: ldfld Verse.Pawn pawn
L_01e5: ldfld Verse.ThingOwner holdingOwner
L_01ea: callvirt Boolean TryTransferEquipmentToContainer(Verse.ThingWithComps,
Verse.ThingOwner)
L_01ef: pop
L_01f0: br Label #25
L_01f5: Label #24
L_01f5: ldarg.0
L_01f6: ldfld Verse.Pawn pawn
L_01fb: callvirt Boolean get_SpawnedOrAnyParentSpawned()
L_0200: brfalse Label #26
L_0205: ldarg.0
L_0206: ldfld Verse.Pawn pawn
L_020b: ldfld Verse.Pawn_EquipmentTracker equipment
L_0210: ldarg.0
L_0211: ldfld Verse.Pawn pawn
L_0216: ldfld Verse.Pawn_EquipmentTracker equipment
L_021b: callvirt Verse.ThingWithComps get_Primary()
L_0220: ldloca.s 2 (Verse.ThingWithComps)
L_0222: ldarg.0
L_0223: ldfld Verse.Pawn pawn
L_0228: callvirt IntVec3 get_PositionHeld()
L_022d: ldc.i4.1
L_022e: callvirt Boolean TryDropEquipment(Verse.ThingWithComps,
Verse.ThingWithComps ByRef, IntVec3, Boolean)
L_0233: pop
L_0234: br Label #27
L_0239: Label #26
L_0239: ldarg.0
L_023a: ldfld Verse.Pawn pawn
L_023f: ldfld Verse.Pawn_EquipmentTracker equipment
L_0244: ldarg.0
L_0245: ldfld Verse.Pawn pawn
L_024a: ldfld Verse.Pawn_EquipmentTracker equipment
L_024f: callvirt Verse.ThingWithComps get_Primary()
L_0254: callvirt Void DestroyEquipment(Verse.ThingWithComps)
L_0259: Label #17
L_0259: Label #22
L_0259: Label #23
L_0259: Label #25
L_0259: Label #27
L_0259: br Label #28
L_025e: Label #5
L_025e: ldarg.0
L_025f: call Boolean ShouldBeDowned()
L_0264: brtrue Label #29
L_0269: ldarg.0
L_026a: call Void MakeUndowned()
L_026f: br Label #0
L_0274: Label #2
L_0274: Label #28
L_0274: Label #29
L_0274: br Label #0
L_0279: Label #0
L_0279: ret
DONE

PATCHING RimWorld.RestUtility Single WakeThreshold(Verse.Pawn)


L_0000: Local var #0 Verse.AI.Group.Lord
L_0000: Local var #1 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #2 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #3 System.Single
L_0000: ldc.r4 0
L_0005: stloc 3 (System.Single)
L_0006: ldarg.0
L_0007: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldloc.0
L_0014: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0019: brfalse Label #3
L_001e: ldloc.0
L_001f: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0024: callvirt Nullable`1 get_CustomWakeThreshold()
L_0029: stloc.1
L_002a: ldloca.s 1 (System.Nullable`1[System.Single])
L_002c: call Boolean get_HasValue()
L_0031: brfalse Label #4
L_0036: ldloc.0
L_0037: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_003c: callvirt Nullable`1 get_CustomWakeThreshold()
L_0041: stloc.2
L_0042: ldloca.s 2 (System.Nullable`1[System.Single])
L_0044: call Single get_Value()
L_0049: br Label #0
L_004e: Label #2
L_004e: Label #3
L_004e: Label #4
L_004e: ldc.r4 1
L_0053: br Label #0
L_0058: Label #0
L_0058: stloc 3 (System.Single)
L_0059: ldloca 3 (System.Single)
L_005b: ldarga 0
L_0061: call Void WakeThreshold_Patch(Single ByRef, Verse.Pawn ByRef)
L_0066: ldloc 3 (System.Single)
L_0067: ret
DONE

PATCHING Verse.Verb_Shoot Boolean TryCastShot()


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 1 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean TryCastShot()
L_000c: stloc.0
L_000d: ldloc.0
L_000e: brfalse Label #2
L_0013: ldarg.0
L_0014: call Boolean get_CasterIsPawn()
L_0019: brfalse Label #3
L_001e: ldarg.0
L_001f: call Verse.Pawn get_CasterPawn()
L_0024: ldfld RimWorld.Pawn_RecordsTracker records
L_0029: ldsfld RimWorld.RecordDef ShotsFired
L_002e: callvirt Void Increment(RimWorld.RecordDef)
L_0033: Label #2
L_0033: Label #3
L_0033: ldloc.0
L_0034: br Label #0
L_0039: Label #0
L_0039: stloc 1 (System.Boolean)
L_003a: ldarga 0
L_0040: call Void TryCastShot_Patch(Verse.Verb_Shoot ByRef)
L_0045: ldloc 1 (System.Boolean)
L_0046: ret
DONE

PATCHING Verse.Pawn_EquipmentTracker Void


Notify_EquipmentAdded(Verse.ThingWithComps)
L_0000: Local var #0 Verse.Verb
L_0000: Local var #1 System.Collections.Generic.List`1+Enumerator[[Verse.Verb,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.1
L_0001: callvirt Verse.CompEquippable GetComp[CompEquippable]()
L_0006: callvirt System.Collections.Generic.List`1[Verse.Verb] get_AllVerbs()
L_000b: callvirt Enumerator GetEnumerator()
L_0010: stloc.1
L_0011: br Label #2
L_0016: Label #3
L_0016: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0018: call Verse.Verb get_Current()
L_001d: stloc.0
L_001e: ldloc.0
L_001f: ldarg.0
L_0020: ldfld Verse.Pawn pawn
L_0025: stfld Verse.Thing caster
L_002a: ldloc.0
L_002b: callvirt Void Notify_PickedUp()
L_0030: Label #2
L_0030: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0032: call Boolean MoveNext()
L_0037: brtrue Label #3
L_003c: leave Label #4
L_0041: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Verb])
L_0043: constrained. System.Collections.Generic.List`1+Enumerator[Verse.Verb]
L_0049: callvirt Void Dispose()
L_004e: endfinally
L_004f: Label #4
L_004f: br Label #0
L_0054: Label #0
L_0054: ldarga 1
L_005a: ldarga 0
L_0060: call Void Notify_EquipmentAdded_Patch(Verse.ThingWithComps ByRef,
Verse.Pawn_EquipmentTracker ByRef)
L_0065: ret
DONE

PATCHING RimWorld.PawnWeaponGenerator Void TryGenerateWeaponFor(Verse.Pawn)


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2
RimWorld.PawnWeaponGenerator+<TryGenerateWeaponFor>c__AnonStorey2
L_0000: Local var #3 RimWorld.ThingStuffPair
L_0000: Local var #4 Verse.ThingWithComps
L_0000: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0005: callvirt Void Clear()
L_000a: ldarg.0
L_000b: ldfld Verse.PawnKindDef kindDef
L_0010: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0015: brfalse Label #2
L_001a: ldarg.0
L_001b: ldfld Verse.PawnKindDef kindDef
L_0020: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_0025: callvirt Int32 get_Count()
L_002a: brtrue Label #3
L_002f: Label #2
L_002f: br Label #0
L_0034: Label #3
L_0034: ldarg.0
L_0035: callvirt Verse.RaceProperties get_RaceProps()
L_003a: callvirt Boolean get_ToolUser()
L_003f: brtrue Label #4
L_0044: br Label #0
L_0049: Label #4
L_0049: ldarg.0
L_004a: ldfld Verse.Pawn_HealthTracker health
L_004f: ldfld Verse.PawnCapacitiesHandler capacities
L_0054: ldsfld Verse.PawnCapacityDef Manipulation
L_0059: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_005e: brtrue Label #5
L_0063: br Label #0
L_0068: Label #5
L_0068: ldarg.0
L_0069: ldfld RimWorld.Pawn_StoryTracker story
L_006e: brfalse Label #6
L_0073: ldarg.0
L_0074: ldfld RimWorld.Pawn_StoryTracker story
L_0079: ldc.i4.8
L_007a: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_007f: brfalse Label #7
L_0084: br Label #0
L_0089: Label #6
L_0089: Label #7
L_0089: ldarg.0
L_008a: ldfld Verse.PawnKindDef kindDef
L_008f: ldflda Verse.FloatRange weaponMoney
L_0094: call Single get_RandomInRange()
L_0099: stloc.0
L_009a: ldc.i4.0
L_009b: stloc.1
L_009c: br Label #8
L_00a1: Label #16
L_00a1: newobj Void .ctor()
L_00a6: stloc.2
L_00a7: ldloc.2
L_00a8: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_00ad: ldloc.1
L_00ae: callvirt ThingStuffPair get_Item(Int32)
L_00b3: stfld RimWorld.ThingStuffPair w
L_00b8: ldloc.2
L_00b9: ldflda RimWorld.ThingStuffPair w
L_00be: call Single get_Price()
L_00c3: ldloc.0
L_00c4: ble.un Label #9
L_00c9: br Label #10
L_00ce: Label #9
L_00ce: ldarg.0
L_00cf: ldfld Verse.PawnKindDef kindDef
L_00d4: ldfld System.Collections.Generic.List`1[System.String] weaponTags
L_00d9: ldloc.2
L_00da: ldftn Boolean <>m__0(System.String)
L_00e0: newobj Void .ctor(Object, IntPtr)
L_00e5: call Boolean Any[String](System.Collections.Generic.List`1[System.String],
System.Predicate`1[System.String])
L_00ea: brtrue Label #11
L_00ef: br Label #12
L_00f4: Label #11
L_00f4: ldloc.2
L_00f5: ldflda RimWorld.ThingStuffPair w
L_00fa: ldfld Verse.ThingDef thing
L_00ff: ldfld System.Single generateAllowChance
L_0104: ldc.r4 1
L_0109: bge.un Label #13
L_010e: ldarg.0
L_010f: ldfld System.Int32 thingIDNumber
L_0114: ldc.i4 28554824
L_0119: xor
L_011a: call Single ValueSeeded(Int32)
L_011f: ldloc.2
L_0120: ldflda RimWorld.ThingStuffPair w
L_0125: ldfld Verse.ThingDef thing
L_012a: ldfld System.Single generateAllowChance
L_012f: ble.un Label #14
L_0134: br Label #15
L_0139: Label #13
L_0139: Label #14
L_0139: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_013e: ldloc.2
L_013f: ldfld RimWorld.ThingStuffPair w
L_0144: callvirt Void Add(ThingStuffPair)
L_0149: Label #10
L_0149: Label #12
L_0149: Label #15
L_0149: ldloc.1
L_014a: ldc.i4.1
L_014b: add
L_014c: stloc.1
L_014d: Label #8
L_014d: ldloc.1
L_014e: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_0153: callvirt Int32 get_Count()
L_0158: blt Label #16
L_015d: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_0162: callvirt Int32 get_Count()
L_0167: brtrue Label #17
L_016c: br Label #0
L_0171: ldarg.0
L_0172: ldloc.2
L_0173: callvirt System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
FilterChildWeapons(Verse.Pawn,
System.Collections.Generic.List`1[RimWorld.ThingStuffPair])
L_0178: stloc.2
L_0179: Label #17
L_0179: ldarg.0
L_017a: ldfld Verse.Pawn_EquipmentTracker equipment
L_017f: ldc.i4.0
L_0180: callvirt Void DestroyAllEquipment(DestroyMode)
L_0185: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_018a: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_018f: brtrue Label #18
L_0194: ldnull
L_0195: ldftn Single <TryGenerateWeaponFor>m__2(ThingStuffPair)
L_019b: newobj Void .ctor(Object, IntPtr)
L_01a0: stsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01a5: Label #18
L_01a5: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache2
L_01aa: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01ac: call Boolean TryRandomElementByWeight[ThingStuffPair](IEnumerable`1,
System.Func`2[RimWorld.ThingStuffPair,System.Single], ThingStuffPair ByRef)
L_01b1: brfalse Label #19
L_01b6: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01b8: ldfld Verse.ThingDef thing
L_01bd: ldloca.s 3 (RimWorld.ThingStuffPair)
L_01bf: ldfld Verse.ThingDef stuff
L_01c4: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_01c9: castclass Verse.ThingWithComps
L_01ce: stloc.s 4 (Verse.ThingWithComps)
L_01d0: ldloc.s 4 (Verse.ThingWithComps)
L_01d2: ldarg.0
L_01d3: call Void PostProcessGeneratedGear(Verse.Thing, Verse.Pawn)
L_01d8: ldarg.0
L_01d9: ldfld Verse.Pawn_EquipmentTracker equipment
L_01de: ldloc.s 4 (Verse.ThingWithComps)
L_01e0: callvirt Void AddEquipment(Verse.ThingWithComps)
L_01e5: Label #19
L_01e5: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
workingWeapons
L_01ea: callvirt Void Clear()
L_01ef: br Label #0
L_01f4: Label #0
L_01f4: ret
DONE

PATCHING RimWorld.Bill_Medical Void Notify_DoBillStarted(Verse.Pawn)


L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.ThingStackPartClass,
Assembly-CSharp, Version=0.18.6527.35959, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Int32
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void Notify_DoBillStarted(Verse.Pawn)
L_0007: ldarg.0
L_0008: ldnull
L_0009: stfld Verse.ThingDef consumedInitialMedicineDef
L_000e: ldarg.0
L_000f: call Verse.Pawn get_GiverPawn()
L_0014: callvirt Boolean get_Dead()
L_0019: brtrue Label #2
L_001e: ldarg.0
L_001f: ldfld Verse.RecipeDef recipe
L_0024: call Boolean RecipeHasNoIngredients(Verse.RecipeDef)
L_0029: brtrue Label #2
L_002e: ldarg.0
L_002f: ldfld Verse.RecipeDef recipe
L_0034: ldfld System.Boolean anesthetize
L_0039: brfalse Label #3
L_003e: ldarg.0
L_003f: call Verse.Pawn get_GiverPawn()
L_0044: call Boolean TryAnesthetize(Verse.Pawn)
L_0049: brfalse Label #4
L_004e: ldarg.1
L_004f: callvirt Verse.AI.Job get_CurJob()
L_0054: ldfld System.Collections.Generic.List`1[Verse.ThingStackPartClass]
placedThings
L_0059: stloc.0
L_005a: ldc.i4.0
L_005b: stloc.1
L_005c: br Label #5
L_0061: Label #10
L_0061: ldloc.0
L_0062: ldloc.1
L_0063: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0068: ldfld Verse.Thing thing
L_006d: isinst RimWorld.Medicine
L_0072: brfalse Label #6
L_0077: ldarg.0
L_0078: ldfld Verse.RecipeDef recipe
L_007d: callvirt Verse.RecipeWorker get_Worker()
L_0082: ldloc.0
L_0083: ldloc.1
L_0084: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_0089: ldfld Verse.Thing thing
L_008e: ldc.i4.1
L_008f: callvirt Verse.Thing SplitOff(Int32)
L_0094: ldarg.0
L_0095: ldfld Verse.RecipeDef recipe
L_009a: ldarg.1
L_009b: callvirt Verse.Map get_MapHeld()
L_00a0: callvirt Void ConsumeIngredient(Verse.Thing, Verse.RecipeDef, Verse.Map)
L_00a5: ldloc.0
L_00a6: ldloc.1
L_00a7: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ac: dup
L_00ad: callvirt Int32 get_Count()
L_00b2: ldc.i4.1
L_00b3: sub
L_00b4: callvirt Void set_Count(Int32)
L_00b9: ldarg.0
L_00ba: ldloc.0
L_00bb: ldloc.1
L_00bc: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00c1: ldfld Verse.Thing thing
L_00c6: ldfld Verse.ThingDef def
L_00cb: stfld Verse.ThingDef consumedInitialMedicineDef
L_00d0: ldloc.0
L_00d1: ldloc.1
L_00d2: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00d7: ldfld Verse.Thing thing
L_00dc: callvirt Boolean get_Destroyed()
L_00e1: brtrue Label #7
L_00e6: ldloc.0
L_00e7: ldloc.1
L_00e8: callvirt Verse.ThingStackPartClass get_Item(Int32)
L_00ed: callvirt Int32 get_Count()
L_00f2: ldc.i4.0
L_00f3: bgt Label #8
L_00f8: Label #7
L_00f8: ldloc.0
L_00f9: ldloc.1
L_00fa: callvirt Void RemoveAt(Int32)
L_00ff: Label #8
L_00ff: br Label #9
L_0104: Label #6
L_0104: ldloc.1
L_0105: ldc.i4.1
L_0106: add
L_0107: stloc.1
L_0108: Label #5
L_0108: ldloc.1
L_0109: ldloc.0
L_010a: callvirt Int32 get_Count()
L_010f: blt Label #10
L_0114: Label #2
L_0114: Label #3
L_0114: Label #4
L_0114: Label #9
L_0114: br Label #0
L_0119: Label #0
L_0119: ret
DONE

PATCHING RimWorld.Building_Bed IEnumerable`1 get_AssigningCandidates()


L_0000: ldarg.0
L_0001: callvirt IEnumerable`1 BedCandidates(RimWorld.Building_Bed)
L_0006: Label #0
L_0006: ret
DONE

PATCHING RimWorld.RestUtility RimWorld.Building_Bed FindBedFor(Verse.Pawn,


Verse.Pawn, Boolean, Boolean, Boolean)
L_0000: Local var #0 RimWorld.RestUtility+<FindBedFor>c__AnonStorey0
L_0000: Local var #1 RimWorld.Building_Bed
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 System.Boolean
L_0000: Local var #5 System.Boolean
L_0000: Local var #6 System.Boolean
L_0000: Local var #7 System.Int32
L_0000: Local var #8 Verse.ThingDef
L_0000: Local var #9 System.Int32
L_0000: Local var #10 RimWorld.RestUtility+<FindBedFor>c__AnonStorey1
L_0000: Local var #11 RimWorld.Building_Bed
L_0000: Local var #12 RimWorld.DirectPawnRelation
L_0000: Local var #13 RimWorld.Building_Bed
L_0000: Local var #14 System.Int32
L_0000: Local var #15 RimWorld.RestUtility+<FindBedFor>c__AnonStorey2
L_0000: Local var #16 System.Int32
L_0000: Local var #17 Verse.ThingDef
L_0000: Local var #18 RimWorld.Building_Bed
L_0000: Local var #19 RimWorld.Building_Bed
L_0000: ldnull
L_0001: stloc 19 (RimWorld.Building_Bed)
L_0003: newobj Void .ctor()
L_0008: stloc.0
L_0009: ldloc.0
L_000a: ldarg.0
L_000b: stfld Verse.Pawn sleeper
L_0010: ldloc.0
L_0011: ldarg.1
L_0012: stfld Verse.Pawn traveler
L_0017: ldloc.0
L_0018: ldarg.2
L_0019: stfld System.Boolean sleeperWillBePrisoner
L_001e: ldloc.0
L_001f: ldarg.3
L_0020: stfld System.Boolean checkSocialProperness
L_0025: ldloc.0
L_0026: ldarg.s 4
L_0028: stfld System.Boolean ignoreOtherReservations
L_002d: ldloc.0
L_002e: ldfld Verse.Pawn sleeper
L_0033: call Boolean ShouldSeekMedicalRest(Verse.Pawn)
L_0038: brfalse Label #2
L_003d: ldloc.0
L_003e: ldfld Verse.Pawn sleeper
L_0043: call Boolean InBed(Verse.Pawn)
L_0048: brfalse Label #3
L_004d: ldloc.0
L_004e: ldfld Verse.Pawn sleeper
L_0053: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0058: callvirt Boolean get_Medical()
L_005d: brfalse Label #4
L_0062: ldloc.0
L_0063: ldfld Verse.Pawn sleeper
L_0068: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_006d: stloc.1
L_006e: ldloc.0
L_006f: ldfld Verse.Pawn sleeper
L_0074: stloc.2
L_0075: ldloc.0
L_0076: ldfld Verse.Pawn traveler
L_007b: stloc.3
L_007c: ldloc.0
L_007d: ldfld System.Boolean sleeperWillBePrisoner
L_0082: stloc.s 4 (System.Boolean)
L_0084: ldloc.0
L_0085: ldfld System.Boolean checkSocialProperness
L_008a: stloc.s 5 (System.Boolean)
L_008c: ldloc.0
L_008d: ldfld System.Boolean ignoreOtherReservations
L_0092: stloc.s 6 (System.Boolean)
L_0094: ldloc.1
L_0095: ldloc.2
L_0096: ldloc.3
L_0097: ldloc.s 4 (System.Boolean)
L_0099: ldloc.s 5 (System.Boolean)
L_009b: ldc.i4.0
L_009c: ldloc.s 6 (System.Boolean)
L_009e: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_00a3: brfalse Label #5
L_00a8: ldloc.0
L_00a9: ldfld Verse.Pawn sleeper
L_00ae: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00b3: br Label #0
L_00b8: Label #3
L_00b8: Label #4
L_00b8: Label #5
L_00b8: ldc.i4.0
L_00b9: stloc.s 7 (System.Int32)
L_00bb: br Label #6
L_00c0: Label #14
L_00c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_00c5: ldloc.s 7 (System.Int32)
L_00c7: callvirt Verse.ThingDef get_Item(Int32)
L_00cc: stloc.s 8 (Verse.ThingDef)
L_00ce: ldloc.0
L_00cf: ldfld Verse.Pawn sleeper
L_00d4: ldloc.s 8 (Verse.ThingDef)
L_00d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_00db: brtrue Label #7
L_00e0: br Label #8
L_00e5: Label #7
L_00e5: ldc.i4.0
L_00e6: stloc.s 9 (System.Int32)
L_00e8: br Label #9
L_00ed: Label #13
L_00ed: newobj Void .ctor()
L_00f2: stloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f4: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00f6: ldloc.0
L_00f7: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_00fc: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_00fe: ldloc.s 9 (System.Int32)
L_0100: brtrue Label #10
L_0105: ldc.i4.1
L_0106: br Label #11
L_010b: Label #10
L_010b: ldc.i4.3
L_010c: Label #11
L_010c: stfld Verse.Danger maxDanger
L_0111: ldloc.0
L_0112: ldfld Verse.Pawn sleeper
L_0117: callvirt IntVec3 get_Position()
L_011c: ldloc.0
L_011d: ldfld Verse.Pawn sleeper
L_0122: callvirt Verse.Map get_Map()
L_0127: ldloc.s 8 (Verse.ThingDef)
L_0129: call ThingRequest ForDef(Verse.ThingDef)
L_012e: ldc.i4.1
L_012f: ldloc.0
L_0130: ldfld Verse.Pawn traveler
L_0135: ldc.i4.3
L_0136: ldc.i4.0
L_0137: ldc.i4.0
L_0138: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_013d: ldc.r4 9999
L_0142: ldloc.s 10 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey1)
L_0144: ldftn Boolean <>m__0(Verse.Thing)
L_014a: newobj Void .ctor(Object, IntPtr)
L_014f: ldnull
L_0150: ldc.i4.0
L_0151: ldc.i4.m1
L_0152: ldc.i4.0
L_0153: ldc.i4.6
L_0154: ldc.i4.0
L_0155: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_015a: castclass RimWorld.Building_Bed
L_015f: stloc.s 11 (RimWorld.Building_Bed)
L_0161: ldloc.s 11 (RimWorld.Building_Bed)
L_0163: brfalse Label #12
L_0168: ldloc.s 11 (RimWorld.Building_Bed)
L_016a: br Label #0
L_016f: Label #12
L_016f: ldloc.s 9 (System.Int32)
L_0171: ldc.i4.1
L_0172: add
L_0173: stloc.s 9 (System.Int32)
L_0175: Label #9
L_0175: ldloc.s 9 (System.Int32)
L_0177: ldc.i4.2
L_0178: blt Label #13
L_017d: Label #8
L_017d: ldloc.s 7 (System.Int32)
L_017f: ldc.i4.1
L_0180: add
L_0181: stloc.s 7 (System.Int32)
L_0183: Label #6
L_0183: ldloc.s 7 (System.Int32)
L_0185: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_Medical
L_018a: callvirt Int32 get_Count()
L_018f: blt Label #14
L_0194: Label #2
L_0194: ldloc.0
L_0195: ldfld Verse.Pawn sleeper
L_019a: ldfld RimWorld.Pawn_Ownership ownership
L_019f: brfalse Label #15
L_01a4: ldloc.0
L_01a5: ldfld Verse.Pawn sleeper
L_01aa: ldfld RimWorld.Pawn_Ownership ownership
L_01af: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01b4: brfalse Label #16
L_01b9: ldloc.0
L_01ba: ldfld Verse.Pawn sleeper
L_01bf: ldfld RimWorld.Pawn_Ownership ownership
L_01c4: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01c9: stloc.1
L_01ca: ldloc.0
L_01cb: ldfld Verse.Pawn sleeper
L_01d0: stloc.3
L_01d1: ldloc.0
L_01d2: ldfld Verse.Pawn traveler
L_01d7: stloc.2
L_01d8: ldloc.0
L_01d9: ldfld System.Boolean sleeperWillBePrisoner
L_01de: stloc.s 6 (System.Boolean)
L_01e0: ldloc.0
L_01e1: ldfld System.Boolean checkSocialProperness
L_01e6: stloc.s 5 (System.Boolean)
L_01e8: ldloc.0
L_01e9: ldfld System.Boolean ignoreOtherReservations
L_01ee: stloc.s 4 (System.Boolean)
L_01f0: ldloc.1
L_01f1: ldloc.3
L_01f2: ldloc.2
L_01f3: ldloc.s 6 (System.Boolean)
L_01f5: ldloc.s 5 (System.Boolean)
L_01f7: ldc.i4.0
L_01f8: ldloc.s 4 (System.Boolean)
L_01fa: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_01ff: brfalse Label #17
L_0204: ldloc.0
L_0205: ldfld Verse.Pawn sleeper
L_020a: ldfld RimWorld.Pawn_Ownership ownership
L_020f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0214: br Label #0
L_0219: Label #15
L_0219: Label #16
L_0219: Label #17
L_0219: ldloc.0
L_021a: ldfld Verse.Pawn sleeper
L_021f: ldc.i4.0
L_0220: call RimWorld.DirectPawnRelation
ExistingMostLikedLovePartnerRel(Verse.Pawn, Boolean)
L_0225: stloc.s 12 (RimWorld.DirectPawnRelation)
L_0227: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0229: brfalse Label #18
L_022e: ldloc.s 12 (RimWorld.DirectPawnRelation)
L_0230: ldfld Verse.Pawn otherPawn
L_0235: ldfld RimWorld.Pawn_Ownership ownership
L_023a: callvirt RimWorld.Building_Bed get_OwnedBed()
L_023f: stloc.s 13 (RimWorld.Building_Bed)
L_0241: ldloc.s 13 (RimWorld.Building_Bed)
L_0243: brfalse Label #19
L_0248: ldloc.s 13 (RimWorld.Building_Bed)
L_024a: stloc.1
L_024b: ldloc.0
L_024c: ldfld Verse.Pawn sleeper
L_0251: stloc.2
L_0252: ldloc.0
L_0253: ldfld Verse.Pawn traveler
L_0258: stloc.3
L_0259: ldloc.0
L_025a: ldfld System.Boolean sleeperWillBePrisoner
L_025f: stloc.s 4 (System.Boolean)
L_0261: ldloc.0
L_0262: ldfld System.Boolean checkSocialProperness
L_0267: stloc.s 5 (System.Boolean)
L_0269: ldloc.0
L_026a: ldfld System.Boolean ignoreOtherReservations
L_026f: stloc.s 6 (System.Boolean)
L_0271: ldloc.1
L_0272: ldloc.2
L_0273: ldloc.3
L_0274: ldloc.s 4 (System.Boolean)
L_0276: ldloc.s 5 (System.Boolean)
L_0278: ldc.i4.0
L_0279: ldloc.s 6 (System.Boolean)
L_027b: call Boolean IsValidBedFor(Verse.Thing, Verse.Pawn, Verse.Pawn, Boolean,
Boolean, Boolean, Boolean)
L_0280: brfalse Label #20
L_0285: ldloc.s 13 (RimWorld.Building_Bed)
L_0287: br Label #0
L_028c: Label #18
L_028c: Label #19
L_028c: Label #20
L_028c: ldc.i4.0
L_028d: stloc.s 14 (System.Int32)
L_028f: br Label #21
L_0294: Label #29
L_0294: newobj Void .ctor()
L_0299: stloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029b: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_029d: ldloc.0
L_029e: stfld RimWorld.RestUtility+<FindBedFor>c__AnonStorey0 <>f__ref$0
L_02a3: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_02a5: ldloc.s 14 (System.Int32)
L_02a7: brtrue Label #22
L_02ac: ldc.i4.1
L_02ad: br Label #23
L_02b2: Label #22
L_02b2: ldc.i4.3
L_02b3: Label #23
L_02b3: stfld Verse.Danger maxDanger
L_02b8: ldc.i4.0
L_02b9: stloc.s 16 (System.Int32)
L_02bb: br Label #24
L_02c0: Label #28
L_02c0: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_02c5: ldloc.s 16 (System.Int32)
L_02c7: callvirt Verse.ThingDef get_Item(Int32)
L_02cc: stloc.s 17 (Verse.ThingDef)
L_02ce: ldloc.0
L_02cf: ldfld Verse.Pawn sleeper
L_02d4: ldloc.s 17 (Verse.ThingDef)
L_02d6: call Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)
L_02db: brtrue Label #25
L_02e0: br Label #26
L_02e5: Label #25
L_02e5: ldloc.0
L_02e6: ldfld Verse.Pawn sleeper
L_02eb: callvirt IntVec3 get_Position()
L_02f0: ldloc.0
L_02f1: ldfld Verse.Pawn sleeper
L_02f6: callvirt Verse.Map get_Map()
L_02fb: ldloc.s 17 (Verse.ThingDef)
L_02fd: call ThingRequest ForDef(Verse.ThingDef)
L_0302: ldc.i4.1
L_0303: ldloc.0
L_0304: ldfld Verse.Pawn traveler
L_0309: ldc.i4.3
L_030a: ldc.i4.0
L_030b: ldc.i4.0
L_030c: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_0311: ldc.r4 9999
L_0316: ldloc.s 15 (RimWorld.RestUtility+<FindBedFor>c__AnonStorey2)
L_0318: ldftn Boolean <>m__0(Verse.Thing)
L_031e: newobj Void .ctor(Object, IntPtr)
L_0323: ldnull
L_0324: ldc.i4.0
L_0325: ldc.i4.m1
L_0326: ldc.i4.0
L_0327: ldc.i4.6
L_0328: ldc.i4.0
L_0329: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_032e: castclass RimWorld.Building_Bed
L_0333: stloc.s 18 (RimWorld.Building_Bed)
L_0335: ldloc.s 18 (RimWorld.Building_Bed)
L_0337: brfalse Label #27
L_033c: ldloc.s 18 (RimWorld.Building_Bed)
L_033e: br Label #0
L_0343: Label #26
L_0343: Label #27
L_0343: ldloc.s 16 (System.Int32)
L_0345: ldc.i4.1
L_0346: add
L_0347: stloc.s 16 (System.Int32)
L_0349: Label #24
L_0349: ldloc.s 16 (System.Int32)
L_034b: ldsfld System.Collections.Generic.List`1[Verse.ThingDef]
bedDefsBestToWorst_RestEffectiveness
L_0350: callvirt Int32 get_Count()
L_0355: blt Label #28
L_035a: ldloc.s 14 (System.Int32)
L_035c: ldc.i4.1
L_035d: add
L_035e: stloc.s 14 (System.Int32)
L_0360: Label #21
L_0360: ldloc.s 14 (System.Int32)
L_0362: ldc.i4.2
L_0363: blt Label #29
L_0368: ldnull
L_0369: br Label #0
L_036e: Label #0
L_036e: stloc 19 (RimWorld.Building_Bed)
L_0370: ldarga 0
L_0376: ldloca 19 (RimWorld.Building_Bed)
L_0378: ldarga 1
L_037e: ldarga 4
L_0384: ldarga 2
L_038a: ldarga 3
L_0390: call Void FindBedFor_Patch(Verse.Pawn ByRef, RimWorld.Building_Bed ByRef,
Verse.Pawn ByRef, Boolean ByRef, Boolean ByRef, Boolean ByRef)
L_0395: ldloc 19 (RimWorld.Building_Bed)
L_0397: ret
DONE

PATCHING RimWorld.JobGiver_DoLovin Verse.AI.Job TryGiveJob(Verse.Pawn)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.AI.Job
L_0000: ldnull
L_0001: stloc 1 (Verse.AI.Job)
L_0002: call Verse.TickManager get_TickManager()
L_0007: callvirt Int32 get_TicksGame()
L_000c: ldarg.1
L_000d: ldfld Verse.AI.Pawn_MindState mindState
L_0012: ldfld System.Int32 canLovinTick
L_0017: bge Label #2
L_001c: ldnull
L_001d: br Label #0
L_0022: Label #2
L_0022: ldarg.1
L_0023: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0028: brfalse Label #3
L_002d: ldarg.1
L_002e: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_0033: callvirt Boolean get_Medical()
L_0038: brtrue Label #4
L_003d: ldarg.1
L_003e: ldfld Verse.Pawn_HealthTracker health
L_0043: ldfld Verse.PawnCapacitiesHandler capacities
L_0048: callvirt Boolean get_CanBeAwake()
L_004d: brtrue Label #5
L_0052: Label #3
L_0052: Label #4
L_0052: ldnull
L_0053: br Label #0
L_0058: Label #5
L_0058: ldarg.1
L_0059: call Verse.Pawn GetPartnerInMyBed(Verse.Pawn)
L_005e: stloc.0
L_005f: ldloc.0
L_0060: brfalse Label #6
L_0065: ldloc.0
L_0066: ldfld Verse.Pawn_HealthTracker health
L_006b: ldfld Verse.PawnCapacitiesHandler capacities
L_0070: callvirt Boolean get_CanBeAwake()
L_0075: brfalse Label #7
L_007a: call Verse.TickManager get_TickManager()
L_007f: callvirt Int32 get_TicksGame()
L_0084: ldloc.0
L_0085: ldfld Verse.AI.Pawn_MindState mindState
L_008a: ldfld System.Int32 canLovinTick
L_008f: bge Label #8
L_0094: Label #6
L_0094: Label #7
L_0094: ldnull
L_0095: br Label #0
L_009a: Label #8
L_009a: ldarg.1
L_009b: ldloc.0
L_009c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00a1: ldc.i4.1
L_00a2: ldc.i4.m1
L_00a3: ldnull
L_00a4: ldc.i4.0
L_00a5: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00aa: brfalse Label #9
L_00af: ldloc.0
L_00b0: ldarg.1
L_00b1: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00b6: ldc.i4.1
L_00b7: ldc.i4.m1
L_00b8: ldnull
L_00b9: ldc.i4.0
L_00ba: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_00bf: brtrue Label #10
L_00c4: Label #9
L_00c4: ldnull
L_00c5: br Label #0
L_00ca: Label #10
L_00ca: ldsfld Verse.JobDef Lovin
L_00cf: ldloc.0
L_00d0: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00d5: ldarg.1
L_00d6: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00db: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00e0: newobj Void .ctor(JobDef, LocalTargetInfo, LocalTargetInfo)
L_00e5: br Label #0
L_00ea: Label #0
L_00ea: stloc 1 (Verse.AI.Job)
L_00eb: ldloca 1 (Verse.AI.Job)
L_00ed: ldarga 1
L_00f3: call Void TryGiveJob_Patch(Verse.AI.Job ByRef, Verse.Pawn ByRef)
L_00f8: ldloc 1 (Verse.AI.Job)
L_00f9: ret
DONE

Anda mungkin juga menyukai