0% found this document useful (0 votes)
353 views297 pages

Harmony Log

The document is a bytecode summary of a method that loads pawn data from a save record to create a custom pawn object. It initializes multiple local variables to store data like the pawn's kind, body, traits, skills, implants, injuries etc as it parses the save record. It then uses the data to construct a custom pawn object with the loaded attributes and returns it.

Uploaded by

Gibson Anna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
353 views297 pages

Harmony Log

The document is a bytecode summary of a method that loads pawn data from a save record to create a custom pawn object. It initializes multiple local variables to store data like the pawn's kind, body, traits, skills, implants, injuries etc as it parses the save record. It then uses the data to construct a custom pawn object with the loaded attributes and returns it.

Uploaded by

Gibson Anna
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 297

PATCHING EdB.PrepareCarefully.

PanelBackstory Void
DrawPanelContent(EdB.PrepareCarefully.State)
L_0000: Local var #0 EdB.PrepareCarefully.PanelBackstory+<>c__DisplayClass19_0
L_0000: Local var #1 System.Boolean
L_0000: Local var #2 UnityEngine.Rect
L_0000: Local var #3 UnityEngine.Rect
L_0000: newobj Void .ctor()
L_0005: stloc.0
L_0006: ldloc.0
L_0007: ldarg.0
L_0008: stfld EdB.PrepareCarefully.PanelBackstory <>4__this
L_000d: ldarg.0
L_000e: ldarg.1
L_000f: call Void DrawPanelContent(EdB.PrepareCarefully.State)
L_0014: ldloc.0
L_0015: ldarg.1
L_0016: callvirt EdB.PrepareCarefully.CustomPawn get_CurrentPawn()
L_001b: stfld EdB.PrepareCarefully.CustomPawn pawn
L_0020: ldloc.0
L_0021: ldfld EdB.PrepareCarefully.CustomPawn pawn
L_0026: callvirt RimWorld.Backstory get_Adulthood()
L_002b: ldnull
L_002c: cgt.un
L_002e: stloc.1
L_002f: ldc.i4.1
L_0030: call Void set_Font(GameFont)
L_0035: ldsfld UnityEngine.Color ColorText
L_003a: call Void set_color(Color)
L_003f: ldc.i4.4
L_0040: call Void set_Anchor(TextAnchor)
L_0045: ldarg.0
L_0046: ldfld UnityEngine.Rect RectChildhoodLabel
L_004b: ldstr "Childhood"
L_0050: call System.String Translate(System.String)
L_0055: call Void Label(Rect, System.String)
L_005a: ldloc.1
L_005b: brtrue Label #2
L_0060: ldsfld UnityEngine.Color ColorControlDisabled
L_0065: call Void set_color(Color)
L_006a: Label #2
L_006a: ldarg.0
L_006b: ldfld UnityEngine.Rect RectAdulthoodLabel
L_0070: ldstr "Adulthood"
L_0075: call System.String Translate(System.String)
L_007a: call Void Label(Rect, System.String)
L_007f: ldc.i4.0
L_0080: call Void set_Anchor(TextAnchor)
L_0085: call Color get_white()
L_008a: call Void set_color(Color)
L_008f: ldloc.0
L_0090: ldfld EdB.PrepareCarefully.CustomPawn pawn
L_0095: callvirt RimWorld.Backstory get_Childhood()
L_009a: brfalse Label #3
L_009f: ldarg.0
L_00a0: ldfld EdB.PrepareCarefully.Field FieldChildhood
L_00a5: ldloc.0
L_00a6: ldfld EdB.PrepareCarefully.CustomPawn pawn
L_00ab: callvirt RimWorld.Backstory get_Childhood()
L_00b0: callvirt System.String get_Title()
L_00b5: callvirt Void set_Label(System.String)
L_00ba: br Label #4
L_00bf: Label #3
L_00bf: ldarg.0
L_00c0: ldfld EdB.PrepareCarefully.Field FieldChildhood
L_00c5: ldnull
L_00c6: callvirt Void set_Label(System.String)
L_00cb: Label #4
L_00cb: ldarg.0
L_00cc: ldfld EdB.PrepareCarefully.Field FieldChildhood
L_00d1: ldloc.0
L_00d2: ldfld EdB.PrepareCarefully.CustomPawn pawn
L_00d7: callvirt RimWorld.Backstory get_Childhood()
L_00dc: ldloc.0
L_00dd: ldfld EdB.PrepareCarefully.CustomPawn pawn
L_00e2: callvirt Verse.Pawn get_Pawn()
L_00e7: callvirt System.String FullDescriptionFor(Verse.Pawn)
L_00ec: callvirt Void set_Tip(System.String)
L_00f1: ldarg.0
L_00f2: ldfld EdB.PrepareCarefully.Field FieldChildhood
L_00f7: ldloc.0
L_00f8: ldftn Void <DrawPanelContent>b__0()
L_00fe: newobj Void .ctor(Object, IntPtr)
L_0103: callvirt Void set_ClickAction(System.Action)
L_0108: ldarg.0
L_0109: ldfld EdB.PrepareCarefully.Field FieldChildhood
L_010e: ldloc.0
L_010f: ldftn Void <DrawPanelContent>b__1()
L_0115: newobj Void .ctor(Object, IntPtr)
L_011a: callvirt Void set_PreviousAction(System.Action)
L_011f: ldarg.0
L_0120: ldfld EdB.PrepareCarefully.Field FieldChildhood
L_0125: ldloc.0
L_0126: ldftn Void <DrawPanelContent>b__2()
L_012c: newobj Void .ctor(Object, IntPtr)
L_0131: callvirt Void set_NextAction(System.Action)
L_0136: ldarg.0
L_0137: ldfld EdB.PrepareCarefully.Field FieldAdulthood
L_013c: ldloc.1
L_013d: callvirt Void set_Enabled(Boolean)
L_0142: ldloc.1
L_0143: brfalse Label #5
L_0148: ldarg.0
L_0149: ldfld EdB.PrepareCarefully.Field FieldAdulthood
L_014e: ldloc.0
L_014f: ldfld EdB.PrepareCarefully.CustomPawn pawn
L_0154: callvirt RimWorld.Backstory get_Adulthood()
L_0159: callvirt System.String get_Title()
L_015e: callvirt Void set_Label(System.String)
L_0163: ldarg.0
L_0164: ldfld EdB.PrepareCarefully.Field FieldAdulthood
L_0169: ldloc.0
L_016a: ldfld EdB.PrepareCarefully.CustomPawn pawn
L_016f: callvirt RimWorld.Backstory get_Adulthood()
L_0174: ldloc.0
L_0175: ldfld EdB.PrepareCarefully.CustomPawn pawn
L_017a: callvirt Verse.Pawn get_Pawn()
L_017f: callvirt System.String FullDescriptionFor(Verse.Pawn)
L_0184: callvirt Void set_Tip(System.String)
L_0189: ldarg.0
L_018a: ldfld EdB.PrepareCarefully.Field FieldAdulthood
L_018f: ldloc.0
L_0190: ldftn Void <DrawPanelContent>b__3()
L_0196: newobj Void .ctor(Object, IntPtr)
L_019b: callvirt Void set_ClickAction(System.Action)
L_01a0: ldarg.0
L_01a1: ldfld EdB.PrepareCarefully.Field FieldAdulthood
L_01a6: ldloc.0
L_01a7: ldftn Void <DrawPanelContent>b__4()
L_01ad: newobj Void .ctor(Object, IntPtr)
L_01b2: callvirt Void set_PreviousAction(System.Action)
L_01b7: ldarg.0
L_01b8: ldfld EdB.PrepareCarefully.Field FieldAdulthood
L_01bd: ldloc.0
L_01be: ldftn Void <DrawPanelContent>b__5()
L_01c4: newobj Void .ctor(Object, IntPtr)
L_01c9: callvirt Void set_NextAction(System.Action)
L_01ce: br Label #6
L_01d3: Label #5
L_01d3: ldarg.0
L_01d4: ldfld EdB.PrepareCarefully.Field FieldAdulthood
L_01d9: ldnull
L_01da: callvirt Void set_Label(System.String)
L_01df: ldarg.0
L_01e0: ldfld EdB.PrepareCarefully.Field FieldAdulthood
L_01e5: ldnull
L_01e6: callvirt Void set_Tip(System.String)
L_01eb: ldarg.0
L_01ec: ldfld EdB.PrepareCarefully.Field FieldAdulthood
L_01f1: ldnull
L_01f2: callvirt Void set_ClickAction(System.Action)
L_01f7: ldarg.0
L_01f8: ldfld EdB.PrepareCarefully.Field FieldAdulthood
L_01fd: ldsfld System.Action <>9__19_6
L_0202: dup
L_0203: brtrue Label #7
L_0208: pop
L_0209: ldsfld EdB.PrepareCarefully.PanelBackstory+<>c <>9
L_020e: ldftn Void <DrawPanelContent>b__19_6()
L_0214: newobj Void .ctor(Object, IntPtr)
L_0219: dup
L_021a: stsfld System.Action <>9__19_6
L_021f: Label #7
L_021f: callvirt Void set_PreviousAction(System.Action)
L_0224: ldarg.0
L_0225: ldfld EdB.PrepareCarefully.Field FieldAdulthood
L_022a: ldsfld System.Action <>9__19_7
L_022f: dup
L_0230: brtrue Label #8
L_0235: pop
L_0236: ldsfld EdB.PrepareCarefully.PanelBackstory+<>c <>9
L_023b: ldftn Void <DrawPanelContent>b__19_7()
L_0241: newobj Void .ctor(Object, IntPtr)
L_0246: dup
L_0247: stsfld System.Action <>9__19_7
L_024c: Label #8
L_024c: callvirt Void set_NextAction(System.Action)
L_0251: Label #6
L_0251: ldarg.0
L_0252: ldfld EdB.PrepareCarefully.Field FieldChildhood
L_0257: callvirt Void Draw()
L_025c: ldarg.0
L_025d: ldfld EdB.PrepareCarefully.Field FieldAdulthood
L_0262: callvirt Void Draw()
L_0267: ldloca.s 2 (UnityEngine.Rect)
L_0269: ldarg.0
L_026a: call Rect get_PanelRect()
L_026f: stloc.3
L_0270: ldloca.s 3 (UnityEngine.Rect)
L_0272: call Single get_width()
L_0277: ldc.r4 32
L_027c: sub
L_027d: ldc.r4 9
L_0282: ldc.r4 22
L_0287: ldc.r4 22
L_028c: call Void .ctor(Single, Single, Single, Single)
L_0291: ldloca.s 2 (UnityEngine.Rect)
L_0293: call UnityEngine.Event get_current()
L_0298: callvirt Vector2 get_mousePosition()
L_029d: call Boolean Contains(Vector2)
L_02a2: brfalse Label #9
L_02a7: ldsfld UnityEngine.Color ColorButtonHighlight
L_02ac: call Void set_color(Color)
L_02b1: br Label #10
L_02b6: Label #9
L_02b6: ldsfld UnityEngine.Color ColorButton
L_02bb: call Void set_color(Color)
L_02c0: Label #10
L_02c0: ldloc.2
L_02c1: ldsfld UnityEngine.Texture2D TextureButtonRandom
L_02c6: call Void DrawTexture(Rect, UnityEngine.Texture)
L_02cb: ldloc.2
L_02cc: ldc.i4.0
L_02cd: call Boolean ButtonInvisible(Rect, Boolean)
L_02d2: brfalse Label #11
L_02d7: ldsfld Verse.SoundDef TickLow
L_02dc: ldnull
L_02dd: call Void PlayOneShotOnCamera(Verse.SoundDef, Verse.Map)
L_02e2: ldarg.0
L_02e3: ldfld EdB.PrepareCarefully.PanelBackstory+RandomizeBackstoriesHandler
BackstoriesRandomized
L_02e8: callvirt Void Invoke()
L_02ed: Label #11
L_02ed: ldc.i4.1
L_02ee: call Void set_Font(GameFont)
L_02f3: call Color get_white()
L_02f8: call Void set_color(Color)
L_02fd: ldc.i4.0
L_02fe: call Void set_Anchor(TextAnchor)
L_0303: br Label #0
L_0308: Label #0
L_0308: ldarg.0
L_0309: ldarg 1
L_030f: call Void AddPsycheEditButton(EdB.PrepareCarefully.PanelBackstory,
EdB.PrepareCarefully.State)
L_0314: ret
DONE
PATCHING EdB.PrepareCarefully.PresetLoaderVersion3 EdB.PrepareCarefully.CustomPawn
LoadPawn(EdB.PrepareCarefully.SaveRecordPawnV3)
L_0000: Local var #0 Verse.PawnKindDef
L_0000: Local var #1 Verse.Pawn
L_0000: Local var #2 EdB.PrepareCarefully.CustomPawn
L_0000: Local var #3 RimWorld.HairDef
L_0000: Local var #4 RimWorld.Backstory
L_0000: Local var #5 System.Nullable`1[[RimWorld.BodyType, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #6 EdB.PrepareCarefully.OptionsHealth
L_0000: Local var #7 Verse.ThingDef
L_0000: Local var #8 System.Int32
L_0000: Local var #9 System.String
L_0000: Local var #10 RimWorld.Trait
L_0000: Local var #11 System.Int32
L_0000: Local var #12 System.String
L_0000: Local var #13 RimWorld.SkillDef
L_0000: Local var #14 System.Int32
L_0000: Local var #15 System.String
L_0000: Local var #16 System.Int32
L_0000: Local var #17 System.Int32
L_0000: Local var #18 System.Int32
L_0000: Local var #19 Verse.ThingDef
L_0000: Local var #20 Verse.ThingDef
L_0000: Local var #21 System.Int32
L_0000: Local var #22 EdB.PrepareCarefully.SaveRecordImplantV3
L_0000: Local var #23 EdB.PrepareCarefully.UniqueBodyPart
L_0000: Local var #24 Verse.BodyPartRecord
L_0000: Local var #25 Verse.RecipeDef
L_0000: Local var #26 System.Boolean
L_0000: Local var #27 EdB.PrepareCarefully.Implant
L_0000: Local var #28
System.Collections.Generic.List`1+Enumerator[[Verse.BodyPartDef, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #29
System.Collections.Generic.List`1+Enumerator[[EdB.PrepareCarefully.SaveRecordInjury
V3, EdBPrepareCarefully, Version=0.17.1.6, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #30 EdB.PrepareCarefully.SaveRecordInjuryV3
L_0000: Local var #31 Verse.HediffDef
L_0000: Local var #32 EdB.PrepareCarefully.InjuryOption
L_0000: Local var #33 Verse.BodyPartRecord
L_0000: Local var #34 EdB.PrepareCarefully.Injury
L_0000: Local var #35 EdB.PrepareCarefully.UniqueBodyPart
L_0000: Local var #36 EdB.PrepareCarefully.CustomPawn
L_0000: ldnull
L_0001: stloc 36 (EdB.PrepareCarefully.CustomPawn)
L_0003: ldnull
L_0004: stloc.0
L_0005: ldarg.1
L_0006: ldfld System.String pawnKindDef
L_000b: brfalse Label #2
L_0010: ldarg.1
L_0011: ldfld System.String pawnKindDef
L_0016: call Verse.PawnKindDef GetNamedSilentFail(System.String)
L_001b: stloc.0
L_001c: ldloc.0
L_001d: brtrue Label #3
L_0022: ldstr "Prepare Carefully could not find the pawn kind definition for the
saved character: ""
L_0027: ldarg.1
L_0028: ldfld System.String pawnKindDef
L_002d: ldstr """
L_0032: call System.String Concat(System.String, System.String, System.String)
L_0037: call Void Warning(System.String)
L_003c: ldnull
L_003d: br Label #0
L_0042: Label #2
L_0042: Label #3
L_0042: ldsfld Verse.ThingDef Human
L_0047: pop
L_0048: ldarg.1
L_0049: ldfld System.String thingDef
L_004e: brfalse Label #4
L_0053: ldarg.1
L_0054: ldfld System.String thingDef
L_0059: call Verse.ThingDef GetNamedSilentFail(System.String)
L_005e: stloc.s 7 (Verse.ThingDef)
L_0060: ldloc.s 7 (Verse.ThingDef)
L_0062: pop
L_0063: Label #4
L_0063: ldloc.0
L_0064: brfalse Label #5
L_0069: newobj Void .ctor()
L_006e: ldloc.0
L_006f: call Verse.Pawn GenerateKindOfColonist(Verse.PawnKindDef)
L_0074: stloc.1
L_0075: br Label #6
L_007a: Label #5
L_007a: newobj Void .ctor()
L_007f: call Verse.Pawn GenerateColonist()
L_0084: stloc.1
L_0085: Label #6
L_0085: ldloc.1
L_0086: ldfld Verse.Pawn_HealthTracker health
L_008b: callvirt Void Reset()
L_0090: ldloc.1
L_0091: newobj Void .ctor(Pawn)
L_0096: stloc.2
L_0097: ldloc.2
L_0098: callvirt System.String get_Id()
L_009d: brtrue Label #7
L_00a2: ldloc.2
L_00a3: callvirt Void GenerateId()
L_00a8: br Label #8
L_00ad: Label #7
L_00ad: ldloc.2
L_00ae: ldarg.1
L_00af: ldfld System.String id
L_00b4: callvirt Void set_Id(System.String)
L_00b9: Label #8
L_00b9: ldloc.2
L_00ba: ldarg.1
L_00bb: ldfld Verse.Gender gender
L_00c0: callvirt Void set_Gender(Gender)
L_00c5: ldarg.1
L_00c6: ldfld System.Int32 age
L_00cb: ldc.i4.0
L_00cc: ble Label #9
L_00d1: ldloc.2
L_00d2: ldarg.1
L_00d3: ldfld System.Int32 age
L_00d8: callvirt Void set_ChronologicalAge(Int32)
L_00dd: ldloc.2
L_00de: ldarg.1
L_00df: ldfld System.Int32 age
L_00e4: callvirt Void set_BiologicalAge(Int32)
L_00e9: Label #9
L_00e9: ldarg.1
L_00ea: ldfld System.Int32 chronologicalAge
L_00ef: ldc.i4.0
L_00f0: ble Label #10
L_00f5: ldloc.2
L_00f6: ldarg.1
L_00f7: ldfld System.Int32 chronologicalAge
L_00fc: callvirt Void set_ChronologicalAge(Int32)
L_0101: Label #10
L_0101: ldarg.1
L_0102: ldfld System.Int32 biologicalAge
L_0107: ldc.i4.0
L_0108: ble Label #11
L_010d: ldloc.2
L_010e: ldarg.1
L_010f: ldfld System.Int32 biologicalAge
L_0114: callvirt Void set_BiologicalAge(Int32)
L_0119: Label #11
L_0119: ldloc.2
L_011a: ldarg.1
L_011b: ldfld System.String firstName
L_0120: callvirt Void set_FirstName(System.String)
L_0125: ldloc.2
L_0126: ldarg.1
L_0127: ldfld System.String nickName
L_012c: callvirt Void set_NickName(System.String)
L_0131: ldloc.2
L_0132: ldarg.1
L_0133: ldfld System.String lastName
L_0138: callvirt Void set_LastName(System.String)
L_013d: ldarg.0
L_013e: ldarg.1
L_013f: ldfld System.String hairDef
L_0144: call RimWorld.HairDef FindHairDef(System.String)
L_0149: stloc.3
L_014a: ldloc.3
L_014b: brfalse Label #12
L_0150: ldloc.2
L_0151: ldloc.3
L_0152: callvirt Void set_HairDef(RimWorld.HairDef)
L_0157: br Label #13
L_015c: Label #12
L_015c: ldstr "Could not load hair definition ""
L_0161: ldarg.1
L_0162: ldfld System.String hairDef
L_0167: ldstr """
L_016c: call System.String Concat(System.String, System.String, System.String)
L_0171: call Void Warning(System.String)
L_0176: ldarg.0
L_0177: ldc.i4.1
L_0178: stfld System.Boolean Failed
L_017d: Label #13
L_017d: ldloc.2
L_017e: ldarg.1
L_017f: ldfld System.String headGraphicPath
L_0184: callvirt Void set_HeadGraphicPath(System.String)
L_0189: ldloc.2
L_018a: ldc.i4.6
L_018b: ldarg.1
L_018c: ldfld UnityEngine.Color hairColor
L_0191: callvirt Void SetColor(Int32, Color)
L_0196: ldarg.1
L_0197: ldfld System.Single melanin
L_019c: ldc.r4 0
L_01a1: blt.un Label #14
L_01a6: ldloc.2
L_01a7: ldarg.1
L_01a8: ldfld System.Single melanin
L_01ad: callvirt Void set_MelaninLevel(Single)
L_01b2: br Label #15
L_01b7: Label #14
L_01b7: ldloc.2
L_01b8: ldarg.1
L_01b9: ldfld UnityEngine.Color skinColor
L_01be: call Single FindMelaninValueFromColor(Color)
L_01c3: callvirt Void set_MelaninLevel(Single)
L_01c8: Label #15
L_01c8: ldloc.2
L_01c9: callvirt EdB.PrepareCarefully.AlienRace get_AlienRace()
L_01ce: brfalse Label #16
L_01d3: ldloc.2
L_01d4: ldarg.1
L_01d5: ldfld UnityEngine.Color skinColor
L_01da: callvirt Void set_SkinColor(Color)
L_01df: Label #16
L_01df: ldarg.0
L_01e0: ldarg.1
L_01e1: ldfld System.String childhood
L_01e6: call RimWorld.Backstory FindBackstory(System.String)
L_01eb: stloc.s 4 (RimWorld.Backstory)
L_01ed: ldloc.s 4 (RimWorld.Backstory)
L_01ef: brfalse Label #17
L_01f4: ldloc.2
L_01f5: ldloc.s 4 (RimWorld.Backstory)
L_01f7: callvirt Void set_Childhood(RimWorld.Backstory)
L_01fc: br Label #18
L_0201: Label #17
L_0201: ldstr "Could not load childhood backstory definition ""
L_0206: ldarg.1
L_0207: ldfld System.String childhood
L_020c: ldstr """
L_0211: call System.String Concat(System.String, System.String, System.String)
L_0216: call Void Warning(System.String)
L_021b: ldarg.0
L_021c: ldc.i4.1
L_021d: stfld System.Boolean Failed
L_0222: Label #18
L_0222: ldarg.1
L_0223: ldfld System.String adulthood
L_0228: brfalse Label #19
L_022d: ldarg.0
L_022e: ldarg.1
L_022f: ldfld System.String adulthood
L_0234: call RimWorld.Backstory FindBackstory(System.String)
L_0239: stloc.s 4 (RimWorld.Backstory)
L_023b: ldloc.s 4 (RimWorld.Backstory)
L_023d: brfalse Label #20
L_0242: ldloc.2
L_0243: ldloc.s 4 (RimWorld.Backstory)
L_0245: callvirt Void set_Adulthood(RimWorld.Backstory)
L_024a: br Label #21
L_024f: Label #20
L_024f: ldstr "Could not load adulthood backstory definition ""
L_0254: ldarg.1
L_0255: ldfld System.String adulthood
L_025a: ldstr """
L_025f: call System.String Concat(System.String, System.String, System.String)
L_0264: call Void Warning(System.String)
L_0269: ldarg.0
L_026a: ldc.i4.1
L_026b: stfld System.Boolean Failed
L_0270: Label #19
L_0270: Label #21
L_0270: ldloca.s 5 (System.Nullable`1[RimWorld.BodyType])
L_0272: initobj System.Nullable`1[RimWorld.BodyType]
L_0278: ldtoken RimWorld.BodyType
L_027d: call System.Type GetTypeFromHandle(RuntimeTypeHandle)
L_0282: ldarg.1
L_0283: ldfld System.String bodyType
L_0288: call System.Object Parse(System.Type, System.String)
L_028d: unbox.any RimWorld.BodyType
L_0292: newobj Void .ctor(BodyType)
L_0297: stloc.s 5 (System.Nullable`1[RimWorld.BodyType])
L_0299: leave.s Label #22
L_029b: pop
L_029c: leave.s Label #23
L_029e: Label #22
L_029e: Label #23
L_029e: ldloca.s 5 (System.Nullable`1[RimWorld.BodyType])
L_02a0: call Boolean get_HasValue()
L_02a5: brtrue Label #24
L_02aa: ldloc.2
L_02ab: callvirt RimWorld.Backstory get_Adulthood()
L_02b0: brfalse Label #25
L_02b5: ldloca.s 5 (System.Nullable`1[RimWorld.BodyType])
L_02b7: ldloc.2
L_02b8: callvirt RimWorld.Backstory get_Adulthood()
L_02bd: ldloc.2
L_02be: callvirt Gender get_Gender()
L_02c3: callvirt BodyType BodyTypeFor(Gender)
L_02c8: call Void .ctor(BodyType)
L_02cd: br Label #26
L_02d2: Label #25
L_02d2: ldloca.s 5 (System.Nullable`1[RimWorld.BodyType])
L_02d4: ldloc.2
L_02d5: callvirt RimWorld.Backstory get_Childhood()
L_02da: ldloc.2
L_02db: callvirt Gender get_Gender()
L_02e0: callvirt BodyType BodyTypeFor(Gender)
L_02e5: call Void .ctor(BodyType)
L_02ea: Label #24
L_02ea: Label #26
L_02ea: ldloca.s 5 (System.Nullable`1[RimWorld.BodyType])
L_02ec: call Boolean get_HasValue()
L_02f1: brfalse Label #27
L_02f6: ldloc.2
L_02f7: ldloca.s 5 (System.Nullable`1[RimWorld.BodyType])
L_02f9: call BodyType get_Value()
L_02fe: callvirt Void set_BodyType(BodyType)
L_0303: Label #27
L_0303: ldloc.2
L_0304: callvirt Void ClearTraits()
L_0309: ldc.i4.0
L_030a: stloc.s 8 (System.Int32)
L_030c: br Label #28
L_0311: Label #31
L_0311: ldarg.1
L_0312: ldfld System.Collections.Generic.List`1[System.String] traitNames
L_0317: ldloc.s 8 (System.Int32)
L_0319: callvirt System.String get_Item(Int32)
L_031e: stloc.s 9 (System.String)
L_0320: ldarg.0
L_0321: ldloc.s 9 (System.String)
L_0323: ldarg.1
L_0324: ldfld System.Collections.Generic.List`1[System.Int32] traitDegrees
L_0329: ldloc.s 8 (System.Int32)
L_032b: callvirt Int32 get_Item(Int32)
L_0330: call RimWorld.Trait FindTrait(System.String, Int32)
L_0335: stloc.s 10 (RimWorld.Trait)
L_0337: ldloc.s 10 (RimWorld.Trait)
L_0339: brfalse Label #29
L_033e: ldloc.2
L_033f: ldloc.s 10 (RimWorld.Trait)
L_0341: callvirt Void AddTrait(RimWorld.Trait)
L_0346: br Label #30
L_034b: Label #29
L_034b: ldstr "Could not load trait definition ""
L_0350: ldloc.s 9 (System.String)
L_0352: ldstr """
L_0357: call System.String Concat(System.String, System.String, System.String)
L_035c: call Void Warning(System.String)
L_0361: ldarg.0
L_0362: ldc.i4.1
L_0363: stfld System.Boolean Failed
L_0368: Label #30
L_0368: ldloc.s 8 (System.Int32)
L_036a: ldc.i4.1
L_036b: add
L_036c: stloc.s 8 (System.Int32)
L_036e: Label #28
L_036e: ldloc.s 8 (System.Int32)
L_0370: ldarg.1
L_0371: ldfld System.Collections.Generic.List`1[System.String] traitNames
L_0376: callvirt Int32 get_Count()
L_037b: blt Label #31
L_0380: ldc.i4.0
L_0381: stloc.s 11 (System.Int32)
L_0383: br Label #32
L_0388: Label #36
L_0388: ldarg.1
L_0389: ldfld System.Collections.Generic.List`1[System.String] skillNames
L_038e: ldloc.s 11 (System.Int32)
L_0390: callvirt System.String get_Item(Int32)
L_0395: stloc.s 12 (System.String)
L_0397: ldloc.s 12 (System.String)
L_0399: ldstr "Research"
L_039e: call Boolean op_Equality(System.String, System.String)
L_03a3: brfalse Label #33
L_03a8: ldstr "Intellectual"
L_03ad: stloc.s 12 (System.String)
L_03af: Label #33
L_03af: ldarg.0
L_03b0: ldloc.2
L_03b1: callvirt Verse.Pawn get_Pawn()
L_03b6: ldloc.s 12 (System.String)
L_03b8: call RimWorld.SkillDef FindSkillDef(Verse.Pawn, System.String)
L_03bd: stloc.s 13 (RimWorld.SkillDef)
L_03bf: ldloc.s 13 (RimWorld.SkillDef)
L_03c1: brtrue Label #34
L_03c6: ldstr "Could not load skill definition ""
L_03cb: ldloc.s 12 (System.String)
L_03cd: ldstr """
L_03d2: call System.String Concat(System.String, System.String, System.String)
L_03d7: call Void Warning(System.String)
L_03dc: ldarg.0
L_03dd: ldc.i4.1
L_03de: stfld System.Boolean Failed
L_03e3: br Label #35
L_03e8: Label #34
L_03e8: ldloc.2
L_03e9: ldfld
System.Collections.Generic.Dictionary`2[RimWorld.SkillDef,RimWorld.Passion]
currentPassions
L_03ee: ldloc.s 13 (RimWorld.SkillDef)
L_03f0: ldarg.1
L_03f1: ldfld System.Collections.Generic.List`1[RimWorld.Passion] passions
L_03f6: ldloc.s 11 (System.Int32)
L_03f8: callvirt Passion get_Item(Int32)
L_03fd: callvirt Void set_Item(RimWorld.SkillDef, Passion)
L_0402: ldloc.2
L_0403: ldfld
System.Collections.Generic.Dictionary`2[RimWorld.SkillDef,RimWorld.Passion]
originalPassions
L_0408: ldloc.s 13 (RimWorld.SkillDef)
L_040a: ldarg.1
L_040b: ldfld System.Collections.Generic.List`1[RimWorld.Passion] passions
L_0410: ldloc.s 11 (System.Int32)
L_0412: callvirt Passion get_Item(Int32)
L_0417: callvirt Void set_Item(RimWorld.SkillDef, Passion)
L_041c: ldloc.2
L_041d: ldloc.s 13 (RimWorld.SkillDef)
L_041f: ldarg.1
L_0420: ldfld System.Collections.Generic.List`1[System.Int32] skillValues
L_0425: ldloc.s 11 (System.Int32)
L_0427: callvirt Int32 get_Item(Int32)
L_042c: callvirt Void SetOriginalSkillLevel(RimWorld.SkillDef, Int32)
L_0431: ldloc.2
L_0432: ldloc.s 13 (RimWorld.SkillDef)
L_0434: ldarg.1
L_0435: ldfld System.Collections.Generic.List`1[System.Int32] skillValues
L_043a: ldloc.s 11 (System.Int32)
L_043c: callvirt Int32 get_Item(Int32)
L_0441: callvirt Void SetUnmodifiedSkillLevel(RimWorld.SkillDef, Int32)
L_0446: Label #35
L_0446: ldloc.s 11 (System.Int32)
L_0448: ldc.i4.1
L_0449: add
L_044a: stloc.s 11 (System.Int32)
L_044c: Label #32
L_044c: ldloc.s 11 (System.Int32)
L_044e: ldarg.1
L_044f: ldfld System.Collections.Generic.List`1[System.String] skillNames
L_0454: callvirt Int32 get_Count()
L_0459: blt Label #36
L_045e: ldarg.1
L_045f: ldfld System.Collections.Generic.List`1[RimWorld.Passion] originalPassions
L_0464: brfalse Label #37
L_0469: ldarg.1
L_046a: ldfld System.Collections.Generic.List`1[RimWorld.Passion] originalPassions
L_046f: callvirt Int32 get_Count()
L_0474: ldarg.1
L_0475: ldfld System.Collections.Generic.List`1[System.String] skillNames
L_047a: callvirt Int32 get_Count()
L_047f: bne.un Label #38
L_0484: ldc.i4.0
L_0485: stloc.s 14 (System.Int32)
L_0487: br Label #39
L_048c: Label #41
L_048c: ldarg.1
L_048d: ldfld System.Collections.Generic.List`1[System.String] skillNames
L_0492: ldloc.s 14 (System.Int32)
L_0494: callvirt System.String get_Item(Int32)
L_0499: stloc.s 15 (System.String)
L_049b: ldarg.0
L_049c: ldloc.2
L_049d: callvirt Verse.Pawn get_Pawn()
L_04a2: ldloc.s 15 (System.String)
L_04a4: call RimWorld.SkillDef FindSkillDef(Verse.Pawn, System.String)
L_04a9: brtrue Label #40
L_04ae: ldstr "Could not load skill definition ""
L_04b3: ldloc.s 15 (System.String)
L_04b5: ldstr """
L_04ba: call System.String Concat(System.String, System.String, System.String)
L_04bf: call Void Warning(System.String)
L_04c4: ldarg.0
L_04c5: ldc.i4.1
L_04c6: stfld System.Boolean Failed
L_04cb: Label #40
L_04cb: ldloc.s 14 (System.Int32)
L_04cd: ldc.i4.1
L_04ce: add
L_04cf: stloc.s 14 (System.Int32)
L_04d1: Label #39
L_04d1: ldloc.s 14 (System.Int32)
L_04d3: ldarg.1
L_04d4: ldfld System.Collections.Generic.List`1[System.String] skillNames
L_04d9: callvirt Int32 get_Count()
L_04de: blt Label #41
L_04e3: Label #37
L_04e3: Label #38
L_04e3: ldc.i4.0
L_04e4: stloc.s 16 (System.Int32)
L_04e6: br Label #42
L_04eb: Label #44
L_04eb: ldloc.s 16 (System.Int32)
L_04ed: call Boolean IsApparelLayer(Int32)
L_04f2: brfalse Label #43
L_04f7: ldloc.2
L_04f8: ldloc.s 16 (System.Int32)
L_04fa: ldnull
L_04fb: callvirt Void SetSelectedApparel(Int32, Verse.ThingDef)
L_0500: ldloc.2
L_0501: ldloc.s 16 (System.Int32)
L_0503: ldnull
L_0504: callvirt Void SetSelectedStuff(Int32, Verse.ThingDef)
L_0509: Label #43
L_0509: ldloc.s 16 (System.Int32)
L_050b: ldc.i4.1
L_050c: add
L_050d: stloc.s 16 (System.Int32)
L_050f: Label #42
L_050f: ldloc.s 16 (System.Int32)
L_0511: ldc.i4.s 9
L_0513: blt Label #44
L_0518: ldc.i4.0
L_0519: stloc.s 17 (System.Int32)
L_051b: br Label #45
L_0520: Label #51
L_0520: ldarg.1
L_0521: ldfld System.Collections.Generic.List`1[System.Int32] apparelLayers
L_0526: ldloc.s 17 (System.Int32)
L_0528: callvirt Int32 get_Item(Int32)
L_052d: stloc.s 18 (System.Int32)
L_052f: ldarg.1
L_0530: ldfld System.Collections.Generic.List`1[System.String] apparel
L_0535: ldloc.s 17 (System.Int32)
L_0537: callvirt System.String get_Item(Int32)
L_053c: call Verse.ThingDef GetNamedSilentFail(System.String)
L_0541: stloc.s 19 (Verse.ThingDef)
L_0543: ldloc.s 19 (Verse.ThingDef)
L_0545: brtrue Label #46
L_054a: ldstr "Could not load thing definition for apparel ""
L_054f: ldarg.1
L_0550: ldfld System.Collections.Generic.List`1[System.String] apparel
L_0555: ldloc.s 17 (System.Int32)
L_0557: callvirt System.String get_Item(Int32)
L_055c: ldstr """
L_0561: call System.String Concat(System.String, System.String, System.String)
L_0566: call Void Warning(System.String)
L_056b: ldarg.0
L_056c: ldc.i4.1
L_056d: stfld System.Boolean Failed
L_0572: br Label #47
L_0577: Label #46
L_0577: ldnull
L_0578: stloc.s 20 (Verse.ThingDef)
L_057a: ldarg.1
L_057b: ldfld System.Collections.Generic.List`1[System.String] apparelStuff
L_0580: ldloc.s 17 (System.Int32)
L_0582: callvirt System.String get_Item(Int32)
L_0587: call Boolean IsNullOrEmpty(System.String)
L_058c: brtrue Label #48
L_0591: ldarg.1
L_0592: ldfld System.Collections.Generic.List`1[System.String] apparelStuff
L_0597: ldloc.s 17 (System.Int32)
L_0599: callvirt System.String get_Item(Int32)
L_059e: call Verse.ThingDef GetNamedSilentFail(System.String)
L_05a3: stloc.s 20 (Verse.ThingDef)
L_05a5: ldloc.s 20 (Verse.ThingDef)
L_05a7: brtrue Label #49
L_05ac: ldc.i4.5
L_05ad: newarr System.String
L_05b2: dup
L_05b3: ldc.i4.0
L_05b4: ldstr "Could not load stuff definition ""
L_05b9: stelem.ref
L_05ba: dup
L_05bb: ldc.i4.1
L_05bc: ldarg.1
L_05bd: ldfld System.Collections.Generic.List`1[System.String] apparelStuff
L_05c2: ldloc.s 17 (System.Int32)
L_05c4: callvirt System.String get_Item(Int32)
L_05c9: stelem.ref
L_05ca: dup
L_05cb: ldc.i4.2
L_05cc: ldstr "" for apparel ""
L_05d1: stelem.ref
L_05d2: dup
L_05d3: ldc.i4.3
L_05d4: ldarg.1
L_05d5: ldfld System.Collections.Generic.List`1[System.String] apparel
L_05da: ldloc.s 17 (System.Int32)
L_05dc: callvirt System.String get_Item(Int32)
L_05e1: stelem.ref
L_05e2: dup
L_05e3: ldc.i4.4
L_05e4: ldstr """
L_05e9: stelem.ref
L_05ea: call System.String Concat(System.String[])
L_05ef: call Void Warning(System.String)
L_05f4: ldarg.0
L_05f5: ldc.i4.1
L_05f6: stfld System.Boolean Failed
L_05fb: br Label #50
L_0600: Label #48
L_0600: Label #49
L_0600: ldloc.2
L_0601: ldloc.s 18 (System.Int32)
L_0603: ldloc.s 19 (Verse.ThingDef)
L_0605: callvirt Void SetSelectedApparel(Int32, Verse.ThingDef)
L_060a: ldloc.2
L_060b: ldloc.s 18 (System.Int32)
L_060d: ldloc.s 20 (Verse.ThingDef)
L_060f: callvirt Void SetSelectedStuff(Int32, Verse.ThingDef)
L_0614: ldloc.2
L_0615: ldloc.s 18 (System.Int32)
L_0617: ldarg.1
L_0618: ldfld System.Collections.Generic.List`1[UnityEngine.Color] apparelColors
L_061d: ldloc.s 17 (System.Int32)
L_061f: callvirt Color get_Item(Int32)
L_0624: callvirt Void SetColor(Int32, Color)
L_0629: Label #47
L_0629: Label #50
L_0629: ldloc.s 17 (System.Int32)
L_062b: ldc.i4.1
L_062c: add
L_062d: stloc.s 17 (System.Int32)
L_062f: Label #45
L_062f: ldloc.s 17 (System.Int32)
L_0631: ldarg.1
L_0632: ldfld System.Collections.Generic.List`1[System.Int32] apparelLayers
L_0637: callvirt Int32 get_Count()
L_063c: blt Label #51
L_0641: call EdB.PrepareCarefully.PrepareCarefully get_Instance()
L_0646: callvirt EdB.PrepareCarefully.Providers get_Providers()
L_064b: callvirt EdB.PrepareCarefully.ProviderHealthOptions get_Health()
L_0650: ldloc.2
L_0651: callvirt EdB.PrepareCarefully.OptionsHealth
GetOptions(EdB.PrepareCarefully.CustomPawn)
L_0656: stloc.s 6 (EdB.PrepareCarefully.OptionsHealth)
L_0658: ldc.i4.0
L_0659: stloc.s 21 (System.Int32)
L_065b: br Label #52
L_0660: Label #69
L_0660: ldarg.1
L_0661: ldfld
System.Collections.Generic.List`1[EdB.PrepareCarefully.SaveRecordImplantV3]
implants
L_0666: ldloc.s 21 (System.Int32)
L_0668: callvirt EdB.PrepareCarefully.SaveRecordImplantV3 get_Item(Int32)
L_066d: stloc.s 22 (EdB.PrepareCarefully.SaveRecordImplantV3)
L_066f: ldloc.s 6 (EdB.PrepareCarefully.OptionsHealth)
L_0671: ldloc.s 22 (EdB.PrepareCarefully.SaveRecordImplantV3)
L_0673: ldfld System.String bodyPart
L_0678: ldloc.s 22 (EdB.PrepareCarefully.SaveRecordImplantV3)
L_067a: ldflda System.Nullable`1[System.Int32] bodyPartIndex
L_067f: call Boolean get_HasValue()
L_0684: brtrue Label #53
L_0689: ldc.i4.0
L_068a: br Label #54
L_068f: Label #53
L_068f: ldloc.s 22 (EdB.PrepareCarefully.SaveRecordImplantV3)
L_0691: ldflda System.Nullable`1[System.Int32] bodyPartIndex
L_0696: call Int32 get_Value()
L_069b: Label #54
L_069b: callvirt EdB.PrepareCarefully.UniqueBodyPart
FindBodyPartByName(System.String, Int32)
L_06a0: stloc.s 23 (EdB.PrepareCarefully.UniqueBodyPart)
L_06a2: ldloc.s 23 (EdB.PrepareCarefully.UniqueBodyPart)
L_06a4: brtrue Label #55
L_06a9: ldstr "Prepare Carefully could not add the implant because it could not
find the needed body part ""
L_06ae: ldloc.s 22 (EdB.PrepareCarefully.SaveRecordImplantV3)
L_06b0: ldfld System.String bodyPart
L_06b5: ldstr """
L_06ba: ldloc.s 22 (EdB.PrepareCarefully.SaveRecordImplantV3)
L_06bc: ldflda System.Nullable`1[System.Int32] bodyPartIndex
L_06c1: call Boolean get_HasValue()
L_06c6: brtrue Label #56
L_06cb: ldstr ""
L_06d0: br Label #57
L_06d5: Label #56
L_06d5: ldstr " with index "
L_06da: ldloc.s 22 (EdB.PrepareCarefully.SaveRecordImplantV3)
L_06dc: ldfld System.Nullable`1[System.Int32] bodyPartIndex
L_06e1: box System.Nullable`1[System.Int32]
L_06e6: call System.String Concat(System.Object, System.Object)
L_06eb: Label #57
L_06eb: call System.String Concat(System.String, System.String, System.String,
System.String)
L_06f0: call Void Warning(System.String)
L_06f5: ldarg.0
L_06f6: ldc.i4.1
L_06f7: stfld System.Boolean Failed
L_06fc: br Label #58
L_0701: Label #55
L_0701: ldloc.s 23 (EdB.PrepareCarefully.UniqueBodyPart)
L_0703: ldfld Verse.BodyPartRecord Record
L_0708: stloc.s 24 (Verse.BodyPartRecord)
L_070a: ldloc.s 22 (EdB.PrepareCarefully.SaveRecordImplantV3)
L_070c: ldfld System.String recipe
L_0711: brfalse Label #59
L_0716: ldarg.0
L_0717: ldloc.s 22 (EdB.PrepareCarefully.SaveRecordImplantV3)
L_0719: ldfld System.String recipe
L_071e: call Verse.RecipeDef FindRecipeDef(System.String)
L_0723: stloc.s 25 (Verse.RecipeDef)
L_0725: ldloc.s 25 (Verse.RecipeDef)
L_0727: brtrue Label #60
L_072c: ldstr "Prepare Carefully could not add the implant because it could not
find the recipe definition ""
L_0731: ldloc.s 22 (EdB.PrepareCarefully.SaveRecordImplantV3)
L_0733: ldfld System.String recipe
L_0738: ldstr """
L_073d: call System.String Concat(System.String, System.String, System.String)
L_0742: call Void Warning(System.String)
L_0747: ldarg.0
L_0748: ldc.i4.1
L_0749: stfld System.Boolean Failed
L_074e: br Label #61
L_0753: Label #60
L_0753: ldc.i4.0
L_0754: stloc.s 26 (System.Boolean)
L_0756: ldloc.s 25 (Verse.RecipeDef)
L_0758: ldfld System.Collections.Generic.List`1[Verse.BodyPartDef]
appliedOnFixedBodyParts
L_075d: callvirt Enumerator GetEnumerator()
L_0762: stloc.s 28
(System.Collections.Generic.List`1+Enumerator[Verse.BodyPartDef])
L_0764: br Label #62
L_0769: Label #65
L_0769: ldloca.s 28
(System.Collections.Generic.List`1+Enumerator[Verse.BodyPartDef])
L_076b: call Verse.BodyPartDef get_Current()
L_0770: ldfld System.String defName
L_0775: ldloc.s 24 (Verse.BodyPartRecord)
L_0777: ldfld Verse.BodyPartDef def
L_077c: ldfld System.String defName
L_0781: callvirt Boolean Equals(System.String)
L_0786: brfalse Label #63
L_078b: ldc.i4.1
L_078c: stloc.s 26 (System.Boolean)
L_078e: leave.s Label #64
L_0790: Label #62
L_0790: Label #63
L_0790: ldloca.s 28
(System.Collections.Generic.List`1+Enumerator[Verse.BodyPartDef])
L_0792: call Boolean MoveNext()
L_0797: brtrue Label #65
L_079c: leave.s Label #66
L_079e: ldloca.s 28
(System.Collections.Generic.List`1+Enumerator[Verse.BodyPartDef])
L_07a0: constrained.
System.Collections.Generic.List`1+Enumerator[Verse.BodyPartDef]
L_07a6: callvirt Void Dispose()
L_07ab: endfinally
L_07ac: Label #64
L_07ac: Label #66
L_07ac: ldloc.s 26 (System.Boolean)
L_07ae: brtrue Label #67
L_07b3: ldc.i4.5
L_07b4: newarr System.String
L_07b9: dup
L_07ba: ldc.i4.0
L_07bb: ldstr "Prepare carefully could not apply the saved implant recipe ""
L_07c0: stelem.ref
L_07c1: dup
L_07c2: ldc.i4.1
L_07c3: ldloc.s 22 (EdB.PrepareCarefully.SaveRecordImplantV3)
L_07c5: ldfld System.String recipe
L_07ca: stelem.ref
L_07cb: dup
L_07cc: ldc.i4.2
L_07cd: ldstr "" to the body part ""
L_07d2: stelem.ref
L_07d3: dup
L_07d4: ldc.i4.3
L_07d5: ldloc.s 24 (Verse.BodyPartRecord)
L_07d7: ldfld Verse.BodyPartDef def
L_07dc: ldfld System.String defName
L_07e1: stelem.ref
L_07e2: dup
L_07e3: ldc.i4.4
L_07e4: ldstr "". Recipe does not support that part."
L_07e9: stelem.ref
L_07ea: call System.String Concat(System.String[])
L_07ef: call Void Warning(System.String)
L_07f4: ldarg.0
L_07f5: ldc.i4.1
L_07f6: stfld System.Boolean Failed
L_07fb: br Label #68
L_0800: Label #67
L_0800: newobj Void .ctor()
L_0805: stloc.s 27 (EdB.PrepareCarefully.Implant)
L_0807: ldloc.s 27 (EdB.PrepareCarefully.Implant)
L_0809: ldloc.s 24 (Verse.BodyPartRecord)
L_080b: callvirt Void set_BodyPartRecord(Verse.BodyPartRecord)
L_0810: ldloc.s 27 (EdB.PrepareCarefully.Implant)
L_0812: ldloc.s 25 (Verse.RecipeDef)
L_0814: stfld Verse.RecipeDef recipe
L_0819: ldloc.s 27 (EdB.PrepareCarefully.Implant)
L_081b: ldloc.s 27 (EdB.PrepareCarefully.Implant)
L_081d: callvirt System.String get_Label()
L_0822: stfld System.String label
L_0827: ldloc.2
L_0828: ldloc.s 27 (EdB.PrepareCarefully.Implant)
L_082a: callvirt Void AddImplant(EdB.PrepareCarefully.Implant)
L_082f: Label #58
L_082f: Label #59
L_082f: Label #61
L_082f: Label #68
L_082f: ldloc.s 21 (System.Int32)
L_0831: ldc.i4.1
L_0832: add
L_0833: stloc.s 21 (System.Int32)
L_0835: Label #52
L_0835: ldloc.s 21 (System.Int32)
L_0837: ldarg.1
L_0838: ldfld
System.Collections.Generic.List`1[EdB.PrepareCarefully.SaveRecordImplantV3]
implants
L_083d: callvirt Int32 get_Count()
L_0842: blt Label #69
L_0847: ldarg.1
L_0848: ldfld
System.Collections.Generic.List`1[EdB.PrepareCarefully.SaveRecordInjuryV3] injuries
L_084d: callvirt Enumerator GetEnumerator()
L_0852: stloc.s 29
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.SaveRecordInjury
V3])
L_0854: br Label #70
L_0859: Label #84
L_0859: ldloca.s 29
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.SaveRecordInjury
V3])
L_085b: call EdB.PrepareCarefully.SaveRecordInjuryV3 get_Current()
L_0860: stloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_0862: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_0864: ldfld System.String hediffDef
L_0869: call Verse.HediffDef GetNamedSilentFail(System.String)
L_086e: stloc.s 31 (Verse.HediffDef)
L_0870: ldloc.s 31 (Verse.HediffDef)
L_0872: brtrue Label #71
L_0877: ldstr "Prepare Carefully could not add the injury because it could not find
the hediff definition ""
L_087c: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_087e: ldfld System.String hediffDef
L_0883: ldstr """
L_0888: call System.String Concat(System.String, System.String, System.String)
L_088d: call Void Warning(System.String)
L_0892: ldarg.0
L_0893: ldc.i4.1
L_0894: stfld System.Boolean Failed
L_0899: br Label #72
L_089e: Label #71
L_089e: ldloc.s 6 (EdB.PrepareCarefully.OptionsHealth)
L_08a0: ldloc.s 31 (Verse.HediffDef)
L_08a2: callvirt EdB.PrepareCarefully.InjuryOption
FindInjuryOptionByHediffDef(Verse.HediffDef)
L_08a7: stloc.s 32 (EdB.PrepareCarefully.InjuryOption)
L_08a9: ldloc.s 32 (EdB.PrepareCarefully.InjuryOption)
L_08ab: brtrue Label #73
L_08b0: ldstr "Prepare Carefully could not add the injury because it could not find
a matching injury option for the saved hediff ""
L_08b5: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_08b7: ldfld System.String hediffDef
L_08bc: ldstr """
L_08c1: call System.String Concat(System.String, System.String, System.String)
L_08c6: call Void Warning(System.String)
L_08cb: ldarg.0
L_08cc: ldc.i4.1
L_08cd: stfld System.Boolean Failed
L_08d2: br Label #74
L_08d7: Label #73
L_08d7: ldnull
L_08d8: stloc.s 33 (Verse.BodyPartRecord)
L_08da: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_08dc: ldfld System.String bodyPart
L_08e1: brfalse Label #75
L_08e6: ldloc.s 6 (EdB.PrepareCarefully.OptionsHealth)
L_08e8: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_08ea: ldfld System.String bodyPart
L_08ef: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_08f1: ldflda System.Nullable`1[System.Int32] bodyPartIndex
L_08f6: call Boolean get_HasValue()
L_08fb: brtrue Label #76
L_0900: ldc.i4.0
L_0901: br Label #77
L_0906: Label #76
L_0906: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_0908: ldflda System.Nullable`1[System.Int32] bodyPartIndex
L_090d: call Int32 get_Value()
L_0912: Label #77
L_0912: callvirt EdB.PrepareCarefully.UniqueBodyPart
FindBodyPartByName(System.String, Int32)
L_0917: stloc.s 35 (EdB.PrepareCarefully.UniqueBodyPart)
L_0919: ldloc.s 35 (EdB.PrepareCarefully.UniqueBodyPart)
L_091b: brtrue Label #78
L_0920: ldstr "Prepare Carefully could not add the injury because it could not find
the needed body part ""
L_0925: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_0927: ldfld System.String bodyPart
L_092c: ldstr """
L_0931: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_0933: ldflda System.Nullable`1[System.Int32] bodyPartIndex
L_0938: call Boolean get_HasValue()
L_093d: brtrue Label #79
L_0942: ldstr ""
L_0947: br Label #80
L_094c: Label #79
L_094c: ldstr " with index "
L_0951: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_0953: ldfld System.Nullable`1[System.Int32] bodyPartIndex
L_0958: box System.Nullable`1[System.Int32]
L_095d: call System.String Concat(System.Object, System.Object)
L_0962: Label #80
L_0962: call System.String Concat(System.String, System.String, System.String,
System.String)
L_0967: call Void Warning(System.String)
L_096c: ldarg.0
L_096d: ldc.i4.1
L_096e: stfld System.Boolean Failed
L_0973: br Label #81
L_0978: Label #78
L_0978: ldloc.s 35 (EdB.PrepareCarefully.UniqueBodyPart)
L_097a: ldfld Verse.BodyPartRecord Record
L_097f: stloc.s 33 (Verse.BodyPartRecord)
L_0981: Label #75
L_0981: newobj Void .ctor()
L_0986: stloc.s 34 (EdB.PrepareCarefully.Injury)
L_0988: ldloc.s 34 (EdB.PrepareCarefully.Injury)
L_098a: ldloc.s 32 (EdB.PrepareCarefully.InjuryOption)
L_098c: callvirt Void set_Option(EdB.PrepareCarefully.InjuryOption)
L_0991: ldloc.s 34 (EdB.PrepareCarefully.Injury)
L_0993: ldloc.s 33 (Verse.BodyPartRecord)
L_0995: callvirt Void set_BodyPartRecord(Verse.BodyPartRecord)
L_099a: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_099c: ldfld System.String severity
L_09a1: brfalse Label #82
L_09a6: ldloc.s 34 (EdB.PrepareCarefully.Injury)
L_09a8: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_09aa: callvirt Single get_Severity()
L_09af: callvirt Void set_Severity(Single)
L_09b4: Label #82
L_09b4: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_09b6: ldfld System.String painFactor
L_09bb: brfalse Label #83
L_09c0: ldloc.s 34 (EdB.PrepareCarefully.Injury)
L_09c2: ldloc.s 30 (EdB.PrepareCarefully.SaveRecordInjuryV3)
L_09c4: callvirt Single get_PainFactor()
L_09c9: newobj Void .ctor(Single)
L_09ce: callvirt Void set_PainFactor(Nullable`1)
L_09d3: Label #83
L_09d3: ldloc.2
L_09d4: ldloc.s 34 (EdB.PrepareCarefully.Injury)
L_09d6: callvirt Void AddInjury(EdB.PrepareCarefully.Injury)
L_09db: Label #70
L_09db: Label #72
L_09db: Label #74
L_09db: Label #81
L_09db: ldloca.s 29
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.SaveRecordInjury
V3])
L_09dd: call Boolean MoveNext()
L_09e2: brtrue Label #84
L_09e7: leave.s Label #85
L_09e9: ldloca.s 29
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.SaveRecordInjury
V3])
L_09eb: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.SaveRecordInjuryV
3]
L_09f1: callvirt Void Dispose()
L_09f6: endfinally
L_09f7: Label #85
L_09f7: ldloc.2
L_09f8: callvirt Void CopySkillsAndPassionsToPawn()
L_09fd: ldloc.2
L_09fe: callvirt Void ClearPawnCaches()
L_0a03: ldloc.2
L_0a04: br Label #0
L_0a09: Label #0
L_0a09: stloc 36 (EdB.PrepareCarefully.CustomPawn)
L_0a0b: ldloca 36 (EdB.PrepareCarefully.CustomPawn)
L_0a0d: ldarg 1
L_0a13: call Void AddPsyche(EdB.PrepareCarefully.CustomPawn ByRef,
EdB.PrepareCarefully.SaveRecordPawnV3)
L_0a18: ldloc 36 (EdB.PrepareCarefully.CustomPawn)
L_0a1a: ret
DONE

PATCHING EdB.PrepareCarefully.PresetSaver Void


SaveToFile(EdB.PrepareCarefully.PrepareCarefully, System.String)
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.String
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.String
L_0000: Local var #5
System.Collections.Generic.List`1[[EdB.PrepareCarefully.CustomPawn,
EdBPrepareCarefully, Version=0.17.1.6, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #6
System.Collections.Generic.List`1+Enumerator[[EdB.PrepareCarefully.CustomPawn,
EdBPrepareCarefully, Version=0.17.1.6, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #7 EdB.PrepareCarefully.CustomPawn
L_0000: Local var #8
System.Collections.Generic.List`1+Enumerator[[EdB.PrepareCarefully.CustomParentChil
dGroup, EdBPrepareCarefully, Version=0.17.1.6, Culture=neutral,
PublicKeyToken=null]]
L_0000: Local var #9 EdB.PrepareCarefully.CustomParentChildGroup
L_0000: Local var #10
System.Collections.Generic.List`1+Enumerator[[EdB.PrepareCarefully.CustomParentChil
dPawn, EdBPrepareCarefully, Version=0.17.1.6, Culture=neutral,
PublicKeyToken=null]]
L_0000: Local var #11 EdB.PrepareCarefully.CustomParentChildPawn
L_0000: Local var #12
System.Collections.Generic.List`1+Enumerator[[EdB.PrepareCarefully.CustomParentChil
dPawn, EdBPrepareCarefully, Version=0.17.1.6, Culture=neutral,
PublicKeyToken=null]]
L_0000: Local var #13 EdB.PrepareCarefully.CustomParentChildPawn
L_0000: Local var #14 EdB.PrepareCarefully.CustomPawn
L_0000: Local var #15 EdB.PrepareCarefully.SaveRecordPawnV3
L_0000: Local var #16 EdB.PrepareCarefully.CustomParentChildGroup
L_0000: Local var #17 EdB.PrepareCarefully.CustomParentChildPawn
L_0000: Local var #18 EdB.PrepareCarefully.CustomParentChildPawn
L_0000: Local var #19 EdB.PrepareCarefully.CustomPawn
L_0000: Local var #20 EdB.PrepareCarefully.SaveRecordPawnV3
L_0000: Local var #21
System.Collections.Generic.IEnumerator`1[[EdB.PrepareCarefully.CustomRelationship,
EdBPrepareCarefully, Version=0.17.1.6, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #22 EdB.PrepareCarefully.CustomRelationship
L_0000: Local var #23 EdB.PrepareCarefully.SaveRecordRelationshipV3
L_0000: Local var #24 EdB.PrepareCarefully.CustomParentChildGroup
L_0000: Local var #25 EdB.PrepareCarefully.SaveRecordParentChildGroupV3
L_0000: Local var #26 EdB.PrepareCarefully.CustomParentChildPawn
L_0000: Local var #27 EdB.PrepareCarefully.CustomParentChildPawn
L_0000: Local var #28
System.Collections.Generic.List`1+Enumerator[[EdB.PrepareCarefully.EquipmentSelecti
on, EdBPrepareCarefully, Version=0.17.1.6, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #29 EdB.PrepareCarefully.EquipmentSelection
L_0000: Local var #30 EdB.PrepareCarefully.EquipmentSaveRecord
L_0000: ldc.i4.0
L_0001: stloc.0
L_0002: ldarg.0
L_0003: callvirt System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomPawn]
get_Pawns()
L_0008: callvirt Enumerator GetEnumerator()
L_000d: stloc.s 6
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn])
L_000f: br Label #2
L_0014: Label #4
L_0014: ldloca.s 6
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn])
L_0016: call EdB.PrepareCarefully.CustomPawn get_Current()
L_001b: stloc.s 7 (EdB.PrepareCarefully.CustomPawn)
L_001d: ldloc.s 7 (EdB.PrepareCarefully.CustomPawn)
L_001f: callvirt System.String get_Id()
L_0024: brtrue Label #3
L_0029: ldloc.s 7 (EdB.PrepareCarefully.CustomPawn)
L_002b: callvirt Void GenerateId()
L_0030: Label #2
L_0030: Label #3
L_0030: ldloca.s 6
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn])
L_0032: call Boolean MoveNext()
L_0037: brtrue Label #4
L_003c: leave.s Label #5
L_003e: ldloca.s 6
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn])
L_0040: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn]
L_0046: callvirt Void Dispose()
L_004b: endfinally
L_004c: Label #5
L_004c: ldarg.0
L_004d: callvirt EdB.PrepareCarefully.RelationshipManager get_RelationshipManager()
L_0052: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomParentChildGroup]
get_ParentChildGroups()
L_0057: callvirt Enumerator GetEnumerator()
L_005c: stloc.s 8
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dGroup])
L_005e: br Label #6
L_0063: Label #17
L_0063: ldloca.s 8
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dGroup])
L_0065: call EdB.PrepareCarefully.CustomParentChildGroup get_Current()
L_006a: stloc.s 9 (EdB.PrepareCarefully.CustomParentChildGroup)
L_006c: ldloc.s 9 (EdB.PrepareCarefully.CustomParentChildGroup)
L_006e: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomParentChildPawn]
get_Parents()
L_0073: callvirt Enumerator GetEnumerator()
L_0078: stloc.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_007a: br Label #7
L_007f: Label #15
L_007f: ldloca.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0081: call EdB.PrepareCarefully.CustomParentChildPawn get_Current()
L_0086: stloc.s 11 (EdB.PrepareCarefully.CustomParentChildPawn)
L_0088: ldloc.s 11 (EdB.PrepareCarefully.CustomParentChildPawn)
L_008a: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_008f: brfalse Label #8
L_0094: ldloc.s 11 (EdB.PrepareCarefully.CustomParentChildPawn)
L_0096: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_009b: callvirt System.String get_Id()
L_00a0: brtrue Label #9
L_00a5: ldloc.s 11 (EdB.PrepareCarefully.CustomParentChildPawn)
L_00a7: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_00ac: callvirt Void GenerateId()
L_00b1: Label #8
L_00b1: Label #9
L_00b1: ldloc.s 9 (EdB.PrepareCarefully.CustomParentChildGroup)
L_00b3: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomParentChildPawn]
get_Children()
L_00b8: callvirt Enumerator GetEnumerator()
L_00bd: stloc.s 12
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_00bf: br Label #10
L_00c4: Label #13
L_00c4: ldloca.s 12
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_00c6: call EdB.PrepareCarefully.CustomParentChildPawn get_Current()
L_00cb: stloc.s 13 (EdB.PrepareCarefully.CustomParentChildPawn)
L_00cd: ldloc.s 13 (EdB.PrepareCarefully.CustomParentChildPawn)
L_00cf: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_00d4: brfalse Label #11
L_00d9: ldloc.s 13 (EdB.PrepareCarefully.CustomParentChildPawn)
L_00db: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_00e0: callvirt System.String get_Id()
L_00e5: brtrue Label #12
L_00ea: ldloc.s 13 (EdB.PrepareCarefully.CustomParentChildPawn)
L_00ec: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_00f1: callvirt Void GenerateId()
L_00f6: Label #10
L_00f6: Label #11
L_00f6: Label #12
L_00f6: ldloca.s 12
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_00f8: call Boolean MoveNext()
L_00fd: brtrue Label #13
L_0102: leave.s Label #14
L_0104: ldloca.s 12
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0106: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChild
Pawn]
L_010c: callvirt Void Dispose()
L_0111: endfinally
L_0112: Label #7
L_0112: Label #14
L_0112: ldloca.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0114: call Boolean MoveNext()
L_0119: brtrue Label #15
L_011e: leave.s Label #16
L_0120: ldloca.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0122: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChild
Pawn]
L_0128: callvirt Void Dispose()
L_012d: endfinally
L_012e: Label #6
L_012e: Label #16
L_012e: ldloca.s 8
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dGroup])
L_0130: call Boolean MoveNext()
L_0135: brtrue Label #17
L_013a: leave.s Label #18
L_013c: ldloca.s 8
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dGroup])
L_013e: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChild
Group]
L_0144: callvirt Void Dispose()
L_0149: endfinally
L_014a: Label #18
L_014a: ldsfld Verse.ScribeSaver saver
L_014f: ldarg.1
L_0150: call System.String FilePathForSavedPreset(System.String)
L_0155: ldstr "preset"
L_015a: callvirt Void InitSaving(System.String, System.String)
L_015f: ldstr "3"
L_0164: stloc.1
L_0165: ldloca.s 1 (System.String)
L_0167: ldstr "version"
L_016c: ldnull
L_016d: ldc.i4.0
L_016e: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_0173: ldarg.0
L_0174: callvirt EdB.PrepareCarefully.Configuration get_Config()
L_0179: ldfld System.Boolean pointsEnabled
L_017e: stloc.2
L_017f: call EdB.PrepareCarefully.PrepareCarefully get_Instance()
L_0184: callvirt Int32 get_StartingPoints()
L_0189: stloc.3
L_018a: ldloca.s 2 (System.Boolean)
L_018c: ldstr "usePoints"
L_0191: ldc.i4.0
L_0192: ldc.i4.1
L_0193: call Void Look[Boolean](Boolean ByRef, System.String, Boolean, Boolean)
L_0198: ldloca.s 3 (System.Int32)
L_019a: ldstr "startingPoints"
L_019f: ldc.i4.0
L_01a0: ldc.i4.1
L_01a1: call Void Look[Int32](Int32 ByRef, System.String, Int32, Boolean)
L_01a6: call IEnumerable`1 get_RunningMods()
L_01ab: ldsfld System.Func`2[Verse.ModContentPack,System.String] <>9__0_0
L_01b0: dup
L_01b1: brtrue Label #19
L_01b6: pop
L_01b7: ldsfld EdB.PrepareCarefully.PresetSaver+<>c <>9
L_01bc: ldftn System.String <SaveToFile>b__0_0(Verse.ModContentPack)
L_01c2: newobj Void .ctor(Object, IntPtr)
L_01c7: dup
L_01c8: stsfld System.Func`2[Verse.ModContentPack,System.String] <>9__0_0
L_01cd: Label #19
L_01cd: call IEnumerable`1 Select[ModContentPack,String](IEnumerable`1,
System.Func`2[Verse.ModContentPack,System.String])
L_01d2: ldc.i4.1
L_01d3: call System.String ToCommaList(IEnumerable`1, Boolean)
L_01d8: stloc.s 4 (System.String)
L_01da: ldloca.s 4 (System.String)
L_01dc: ldstr "mods"
L_01e1: ldnull
L_01e2: ldc.i4.0
L_01e3: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_01e8: ldstr "colonists"
L_01ed: call Boolean EnterNode(System.String)
L_01f2: pop
L_01f3: ldarg.0
L_01f4: callvirt System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomPawn]
get_Pawns()
L_01f9: callvirt Enumerator GetEnumerator()
L_01fe: stloc.s 6
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn])
L_0200: br Label #20
L_0205: Label #23
L_0205: ldloca.s 6
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn])
L_0207: call EdB.PrepareCarefully.CustomPawn get_Current()
L_020c: stloc.s 14 (EdB.PrepareCarefully.CustomPawn)
L_020e: ldloc.s 14 (EdB.PrepareCarefully.CustomPawn)
L_0210: call Void AddPsycheToDictionary(EdB.PrepareCarefully.CustomPawn)
L_0215: ldloc.s 14 (EdB.PrepareCarefully.CustomPawn)
L_0217: newobj Void .ctor(CustomPawn)
L_021c: stloc.s 15 (EdB.PrepareCarefully.SaveRecordPawnV3)
L_021e: ldloca.s 15 (EdB.PrepareCarefully.SaveRecordPawnV3)
L_0220: ldstr "colonist"
L_0225: ldc.i4.0
L_0226: newarr System.Object
L_022b: call Void Look[SaveRecordPawnV3](EdB.PrepareCarefully.SaveRecordPawnV3
ByRef, System.String, System.Object[])
L_0230: leave.s Label #21
L_0232: ldc.i4.1
L_0233: stloc.0
L_0234: ldstr "Prepare Carefully failed to save a pawn into the preset: "
L_0239: ldarg.1
L_023a: call System.String Concat(System.String, System.String)
L_023f: call Void Warning(System.String)
L_0244: dup
L_0245: callvirt System.String get_Message()
L_024a: call Void Warning(System.String)
L_024f: callvirt System.String get_StackTrace()
L_0254: call Void Warning(System.String)
L_0259: leave.s Label #22
L_025b: Label #20
L_025b: Label #21
L_025b: Label #22
L_025b: ldloca.s 6
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn])
L_025d: call Boolean MoveNext()
L_0262: brtrue Label #23
L_0267: leave.s Label #24
L_0269: ldloca.s 6
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn])
L_026b: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn]
L_0271: callvirt Void Dispose()
L_0276: endfinally
L_0277: Label #24
L_0277: call Void ExitNode()
L_027c: newobj Void .ctor()
L_0281: stloc.s 5
(System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomPawn])
L_0283: ldarg.0
L_0284: callvirt EdB.PrepareCarefully.RelationshipManager get_RelationshipManager()
L_0289: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomParentChildGroup]
get_ParentChildGroups()
L_028e: callvirt Enumerator GetEnumerator()
L_0293: stloc.s 8
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dGroup])
L_0295: br Label #25
L_029a: Label #38
L_029a: ldloca.s 8
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dGroup])
L_029c: call EdB.PrepareCarefully.CustomParentChildGroup get_Current()
L_02a1: stloc.s 16 (EdB.PrepareCarefully.CustomParentChildGroup)
L_02a3: ldloc.s 16 (EdB.PrepareCarefully.CustomParentChildGroup)
L_02a5: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomParentChildPawn]
get_Parents()
L_02aa: callvirt Enumerator GetEnumerator()
L_02af: stloc.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_02b1: br Label #26
L_02b6: Label #36
L_02b6: ldloca.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_02b8: call EdB.PrepareCarefully.CustomParentChildPawn get_Current()
L_02bd: stloc.s 17 (EdB.PrepareCarefully.CustomParentChildPawn)
L_02bf: ldloc.s 17 (EdB.PrepareCarefully.CustomParentChildPawn)
L_02c1: callvirt Boolean get_Hidden()
L_02c6: brfalse Label #27
L_02cb: ldloc.s 17 (EdB.PrepareCarefully.CustomParentChildPawn)
L_02cd: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_02d2: brfalse Label #28
L_02d7: ldloc.s 5
(System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomPawn])
L_02d9: ldloc.s 17 (EdB.PrepareCarefully.CustomParentChildPawn)
L_02db: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_02e0: callvirt Void Add(EdB.PrepareCarefully.CustomPawn)
L_02e5: br Label #29
L_02ea: Label #28
L_02ea: ldstr "Prepare Carefully found an empty pawn in a parent child relationship
while saving the preset. Skipping that pawn."
L_02ef: call Void Warning(System.String)
L_02f4: Label #27
L_02f4: Label #29
L_02f4: ldloc.s 16 (EdB.PrepareCarefully.CustomParentChildGroup)
L_02f6: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomParentChildPawn]
get_Children()
L_02fb: callvirt Enumerator GetEnumerator()
L_0300: stloc.s 12
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0302: br Label #30
L_0307: Label #34
L_0307: ldloca.s 12
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0309: call EdB.PrepareCarefully.CustomParentChildPawn get_Current()
L_030e: stloc.s 18 (EdB.PrepareCarefully.CustomParentChildPawn)
L_0310: ldloc.s 18 (EdB.PrepareCarefully.CustomParentChildPawn)
L_0312: callvirt Boolean get_Hidden()
L_0317: brfalse Label #31
L_031c: ldloc.s 18 (EdB.PrepareCarefully.CustomParentChildPawn)
L_031e: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_0323: brfalse Label #32
L_0328: ldloc.s 5
(System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomPawn])
L_032a: ldloc.s 18 (EdB.PrepareCarefully.CustomParentChildPawn)
L_032c: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_0331: callvirt Void Add(EdB.PrepareCarefully.CustomPawn)
L_0336: br Label #33
L_033b: Label #32
L_033b: ldstr "Prepare Carefully found an empty pawn in a parent child relationship
while saving the preset. Skipping that pawn."
L_0340: call Void Warning(System.String)
L_0345: Label #30
L_0345: Label #31
L_0345: Label #33
L_0345: ldloca.s 12
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0347: call Boolean MoveNext()
L_034c: brtrue Label #34
L_0351: leave.s Label #35
L_0353: ldloca.s 12
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0355: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChild
Pawn]
L_035b: callvirt Void Dispose()
L_0360: endfinally
L_0361: Label #26
L_0361: Label #35
L_0361: ldloca.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0363: call Boolean MoveNext()
L_0368: brtrue Label #36
L_036d: leave.s Label #37
L_036f: ldloca.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0371: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChild
Pawn]
L_0377: callvirt Void Dispose()
L_037c: endfinally
L_037d: Label #25
L_037d: Label #37
L_037d: ldloca.s 8
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dGroup])
L_037f: call Boolean MoveNext()
L_0384: brtrue Label #38
L_0389: leave.s Label #39
L_038b: ldloca.s 8
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dGroup])
L_038d: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChild
Group]
L_0393: callvirt Void Dispose()
L_0398: endfinally
L_0399: Label #39
L_0399: ldstr "hiddenPawns"
L_039e: call Boolean EnterNode(System.String)
L_03a3: pop
L_03a4: ldloc.s 5
(System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomPawn])
L_03a6: callvirt Enumerator GetEnumerator()
L_03ab: stloc.s 6
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn])
L_03ad: br Label #40
L_03b2: Label #43
L_03b2: ldloca.s 6
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn])
L_03b4: call EdB.PrepareCarefully.CustomPawn get_Current()
L_03b9: stloc.s 19 (EdB.PrepareCarefully.CustomPawn)
L_03bb: ldloc.s 19 (EdB.PrepareCarefully.CustomPawn)
L_03bd: call Void AddPsycheToDictionary(EdB.PrepareCarefully.CustomPawn)
L_03c2: ldloc.s 19 (EdB.PrepareCarefully.CustomPawn)
L_03c4: newobj Void .ctor(CustomPawn)
L_03c9: stloc.s 20 (EdB.PrepareCarefully.SaveRecordPawnV3)
L_03cb: ldloca.s 20 (EdB.PrepareCarefully.SaveRecordPawnV3)
L_03cd: ldstr "hiddenPawn"
L_03d2: ldc.i4.0
L_03d3: newarr System.Object
L_03d8: call Void Look[SaveRecordPawnV3](EdB.PrepareCarefully.SaveRecordPawnV3
ByRef, System.String, System.Object[])
L_03dd: leave.s Label #41
L_03df: ldc.i4.1
L_03e0: stloc.0
L_03e1: ldstr "Prepare Carefully failed to save a hidden pawn into the preset: "
L_03e6: ldarg.1
L_03e7: call System.String Concat(System.String, System.String)
L_03ec: call Void Warning(System.String)
L_03f1: dup
L_03f2: callvirt System.String get_Message()
L_03f7: call Void Warning(System.String)
L_03fc: callvirt System.String get_StackTrace()
L_0401: call Void Warning(System.String)
L_0406: leave.s Label #42
L_0408: Label #40
L_0408: Label #41
L_0408: Label #42
L_0408: ldloca.s 6
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn])
L_040a: call Boolean MoveNext()
L_040f: brtrue Label #43
L_0414: leave.s Label #44
L_0416: ldloca.s 6
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn])
L_0418: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomPawn]
L_041e: callvirt Void Dispose()
L_0423: endfinally
L_0424: Label #44
L_0424: call Void ExitNode()
L_0429: ldstr "relationships"
L_042e: call Boolean EnterNode(System.String)
L_0433: pop
L_0434: ldarg.0
L_0435: callvirt EdB.PrepareCarefully.RelationshipManager get_RelationshipManager()
L_043a: callvirt IEnumerable`1 get_Relationships()
L_043f: callvirt IEnumerator`1 GetEnumerator()
L_0444: stloc.s 21
(System.Collections.Generic.IEnumerator`1[EdB.PrepareCarefully.CustomRelationship])
L_0446: br Label #45
L_044b: Label #55
L_044b: ldloc.s 21
(System.Collections.Generic.IEnumerator`1[EdB.PrepareCarefully.CustomRelationship])
L_044d: callvirt EdB.PrepareCarefully.CustomRelationship get_Current()
L_0452: stloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_0454: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_0456: ldfld EdB.PrepareCarefully.CustomPawn source
L_045b: brfalse Label #46
L_0460: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_0462: ldfld EdB.PrepareCarefully.CustomPawn target
L_0467: brfalse Label #47
L_046c: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_046e: ldfld RimWorld.PawnRelationDef def
L_0473: brfalse Label #48
L_0478: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_047a: ldfld EdB.PrepareCarefully.CustomPawn source
L_047f: callvirt System.String get_Id()
L_0484: brfalse Label #49
L_0489: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_048b: ldfld EdB.PrepareCarefully.CustomPawn target
L_0490: callvirt System.String get_Id()
L_0495: brfalse Label #50
L_049a: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_049c: newobj Void .ctor(CustomRelationship)
L_04a1: stloc.s 23 (EdB.PrepareCarefully.SaveRecordRelationshipV3)
L_04a3: ldloca.s 23 (EdB.PrepareCarefully.SaveRecordRelationshipV3)
L_04a5: ldstr "relationship"
L_04aa: ldc.i4.0
L_04ab: newarr System.Object
L_04b0: call Void Look[SaveRecordRelationshipV3]
(EdB.PrepareCarefully.SaveRecordRelationshipV3 ByRef, System.String,
System.Object[])
L_04b5: br Label #51
L_04ba: Label #46
L_04ba: Label #47
L_04ba: Label #48
L_04ba: Label #49
L_04ba: Label #50
L_04ba: ldc.i4.1
L_04bb: stloc.0
L_04bc: ldstr "Prepare Carefully found an invalid custom relationship when saving a
preset: "
L_04c1: ldarg.1
L_04c2: call System.String Concat(System.String, System.String)
L_04c7: call Void Warning(System.String)
L_04cc: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_04ce: ldfld EdB.PrepareCarefully.CustomPawn target
L_04d3: brfalse Label #52
L_04d8: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_04da: ldfld EdB.PrepareCarefully.CustomPawn source
L_04df: brfalse Label #53
L_04e4: ldc.i4.7
L_04e5: newarr System.Object
L_04ea: dup
L_04eb: ldc.i4.0
L_04ec: ldstr " Relationship = { source = "
L_04f1: stelem.ref
L_04f2: dup
L_04f3: ldc.i4.1
L_04f4: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_04f6: ldfld EdB.PrepareCarefully.CustomPawn source
L_04fb: callvirt System.String get_Id()
L_0500: stelem.ref
L_0501: dup
L_0502: ldc.i4.2
L_0503: ldstr ", target = "
L_0508: stelem.ref
L_0509: dup
L_050a: ldc.i4.3
L_050b: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_050d: ldfld EdB.PrepareCarefully.CustomPawn target
L_0512: callvirt System.String get_Id()
L_0517: stelem.ref
L_0518: dup
L_0519: ldc.i4.4
L_051a: ldstr ", relationship = "
L_051f: stelem.ref
L_0520: dup
L_0521: ldc.i4.5
L_0522: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_0524: ldfld RimWorld.PawnRelationDef def
L_0529: stelem.ref
L_052a: dup
L_052b: ldc.i4.6
L_052c: ldstr "}"
L_0531: stelem.ref
L_0532: call System.String Concat(System.Object[])
L_0537: call Void Warning(System.String)
L_053c: br Label #54
L_0541: Label #52
L_0541: Label #53
L_0541: ldc.i4.7
L_0542: newarr System.Object
L_0547: dup
L_0548: ldc.i4.0
L_0549: ldstr " Relationship = { source = "
L_054e: stelem.ref
L_054f: dup
L_0550: ldc.i4.1
L_0551: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_0553: ldfld EdB.PrepareCarefully.CustomPawn source
L_0558: stelem.ref
L_0559: dup
L_055a: ldc.i4.2
L_055b: ldstr ", target = "
L_0560: stelem.ref
L_0561: dup
L_0562: ldc.i4.3
L_0563: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_0565: ldfld EdB.PrepareCarefully.CustomPawn target
L_056a: stelem.ref
L_056b: dup
L_056c: ldc.i4.4
L_056d: ldstr ", relationship = "
L_0572: stelem.ref
L_0573: dup
L_0574: ldc.i4.5
L_0575: ldloc.s 22 (EdB.PrepareCarefully.CustomRelationship)
L_0577: ldfld RimWorld.PawnRelationDef def
L_057c: stelem.ref
L_057d: dup
L_057e: ldc.i4.6
L_057f: ldstr "}"
L_0584: stelem.ref
L_0585: call System.String Concat(System.Object[])
L_058a: call Void Warning(System.String)
L_058f: Label #45
L_058f: Label #51
L_058f: Label #54
L_058f: ldloc.s 21
(System.Collections.Generic.IEnumerator`1[EdB.PrepareCarefully.CustomRelationship])
L_0591: callvirt Boolean MoveNext()
L_0596: brtrue Label #55
L_059b: leave.s Label #56
L_059d: ldloc.s 21
(System.Collections.Generic.IEnumerator`1[EdB.PrepareCarefully.CustomRelationship])
L_059f: brfalse Label #57
L_05a4: ldloc.s 21
(System.Collections.Generic.IEnumerator`1[EdB.PrepareCarefully.CustomRelationship])
L_05a6: callvirt Void Dispose()
L_05ab: Label #57
L_05ab: endfinally
L_05ac: Label #56
L_05ac: call Void ExitNode()
L_05b1: ldstr "parentChildGroups"
L_05b6: call Boolean EnterNode(System.String)
L_05bb: pop
L_05bc: ldarg.0
L_05bd: callvirt EdB.PrepareCarefully.RelationshipManager get_RelationshipManager()
L_05c2: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomParentChildGroup]
get_ParentChildGroups()
L_05c7: callvirt Enumerator GetEnumerator()
L_05cc: stloc.s 8
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dGroup])
L_05ce: br Label #58
L_05d3: Label #74
L_05d3: ldloca.s 8
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dGroup])
L_05d5: call EdB.PrepareCarefully.CustomParentChildGroup get_Current()
L_05da: stloc.s 24 (EdB.PrepareCarefully.CustomParentChildGroup)
L_05dc: ldloc.s 24 (EdB.PrepareCarefully.CustomParentChildGroup)
L_05de: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomParentChildPawn]
get_Children()
L_05e3: callvirt Int32 get_Count()
L_05e8: brfalse Label #59
L_05ed: ldloc.s 24 (EdB.PrepareCarefully.CustomParentChildGroup)
L_05ef: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomParentChildPawn]
get_Parents()
L_05f4: callvirt Int32 get_Count()
L_05f9: brtrue Label #60
L_05fe: ldloc.s 24 (EdB.PrepareCarefully.CustomParentChildGroup)
L_0600: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomParentChildPawn]
get_Children()
L_0605: callvirt Int32 get_Count()
L_060a: ldc.i4.1
L_060b: beq Label #61
L_0610: Label #60
L_0610: newobj Void .ctor()
L_0615: stloc.s 25 (EdB.PrepareCarefully.SaveRecordParentChildGroupV3)
L_0617: ldloc.s 25 (EdB.PrepareCarefully.SaveRecordParentChildGroupV3)
L_0619: newobj Void .ctor()
L_061e: stfld System.Collections.Generic.List`1[System.String] parents
L_0623: ldloc.s 25 (EdB.PrepareCarefully.SaveRecordParentChildGroupV3)
L_0625: newobj Void .ctor()
L_062a: stfld System.Collections.Generic.List`1[System.String] children
L_062f: ldloc.s 24 (EdB.PrepareCarefully.CustomParentChildGroup)
L_0631: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomParentChildPawn]
get_Parents()
L_0636: callvirt Enumerator GetEnumerator()
L_063b: stloc.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_063d: br Label #62
L_0642: Label #65
L_0642: ldloca.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0644: call EdB.PrepareCarefully.CustomParentChildPawn get_Current()
L_0649: stloc.s 26 (EdB.PrepareCarefully.CustomParentChildPawn)
L_064b: ldloc.s 26 (EdB.PrepareCarefully.CustomParentChildPawn)
L_064d: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_0652: brtrue Label #63
L_0657: ldc.i4.1
L_0658: stloc.0
L_0659: ldstr "Prepare Carefully found an invalid parent/child relationship when
saving the preset: "
L_065e: ldarg.1
L_065f: call System.String Concat(System.String, System.String)
L_0664: call Void Warning(System.String)
L_0669: br Label #64
L_066e: Label #63
L_066e: ldloc.s 25 (EdB.PrepareCarefully.SaveRecordParentChildGroupV3)
L_0670: ldfld System.Collections.Generic.List`1[System.String] parents
L_0675: ldloc.s 26 (EdB.PrepareCarefully.CustomParentChildPawn)
L_0677: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_067c: callvirt System.String get_Id()
L_0681: callvirt Void Add(System.String)
L_0686: Label #62
L_0686: Label #64
L_0686: ldloca.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0688: call Boolean MoveNext()
L_068d: brtrue Label #65
L_0692: leave.s Label #66
L_0694: ldloca.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0696: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChild
Pawn]
L_069c: callvirt Void Dispose()
L_06a1: endfinally
L_06a2: Label #66
L_06a2: ldloc.s 24 (EdB.PrepareCarefully.CustomParentChildGroup)
L_06a4: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.CustomParentChildPawn]
get_Children()
L_06a9: callvirt Enumerator GetEnumerator()
L_06ae: stloc.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_06b0: br Label #67
L_06b5: Label #70
L_06b5: ldloca.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_06b7: call EdB.PrepareCarefully.CustomParentChildPawn get_Current()
L_06bc: stloc.s 27 (EdB.PrepareCarefully.CustomParentChildPawn)
L_06be: ldloc.s 27 (EdB.PrepareCarefully.CustomParentChildPawn)
L_06c0: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_06c5: brtrue Label #68
L_06ca: ldc.i4.1
L_06cb: stloc.0
L_06cc: ldstr "Prepare Carefully found an invalid parent/child relationship when
saving the preset: "
L_06d1: ldarg.1
L_06d2: call System.String Concat(System.String, System.String)
L_06d7: call Void Warning(System.String)
L_06dc: br Label #69
L_06e1: Label #68
L_06e1: ldloc.s 25 (EdB.PrepareCarefully.SaveRecordParentChildGroupV3)
L_06e3: ldfld System.Collections.Generic.List`1[System.String] children
L_06e8: ldloc.s 27 (EdB.PrepareCarefully.CustomParentChildPawn)
L_06ea: callvirt EdB.PrepareCarefully.CustomPawn get_Pawn()
L_06ef: callvirt System.String get_Id()
L_06f4: callvirt Void Add(System.String)
L_06f9: Label #67
L_06f9: Label #69
L_06f9: ldloca.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_06fb: call Boolean MoveNext()
L_0700: brtrue Label #70
L_0705: leave.s Label #71
L_0707: ldloca.s 10
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dPawn])
L_0709: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChild
Pawn]
L_070f: callvirt Void Dispose()
L_0714: endfinally
L_0715: Label #71
L_0715: nop
L_0716: ldloca.s 25 (EdB.PrepareCarefully.SaveRecordParentChildGroupV3)
L_0718: ldstr "group"
L_071d: ldc.i4.0
L_071e: newarr System.Object
L_0723: call Void Look[SaveRecordParentChildGroupV3]
(EdB.PrepareCarefully.SaveRecordParentChildGroupV3 ByRef, System.String,
System.Object[])
L_0728: leave.s Label #72
L_072a: pop
L_072b: ldc.i4.1
L_072c: stloc.0
L_072d: ldstr "Prepare Carefully failed to save a parent child group when saving
the preset: "
L_0732: ldarg.1
L_0733: call System.String Concat(System.String, System.String)
L_0738: call Void Warning(System.String)
L_073d: leave.s Label #73
L_073f: Label #58
L_073f: Label #59
L_073f: Label #61
L_073f: Label #72
L_073f: Label #73
L_073f: ldloca.s 8
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dGroup])
L_0741: call Boolean MoveNext()
L_0746: brtrue Label #74
L_074b: leave.s Label #75
L_074d: ldloca.s 8
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChil
dGroup])
L_074f: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.CustomParentChild
Group]
L_0755: callvirt Void Dispose()
L_075a: endfinally
L_075b: Label #75
L_075b: call Void ExitNode()
L_0760: ldstr "equipment"
L_0765: call Boolean EnterNode(System.String)
L_076a: pop
L_076b: ldarg.0
L_076c: callvirt
System.Collections.Generic.List`1[EdB.PrepareCarefully.EquipmentSelection]
get_Equipment()
L_0771: callvirt Enumerator GetEnumerator()
L_0776: stloc.s 28
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.EquipmentSelecti
on])
L_0778: br Label #76
L_077d: Label #79
L_077d: ldloca.s 28
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.EquipmentSelecti
on])
L_077f: call EdB.PrepareCarefully.EquipmentSelection get_Current()
L_0784: stloc.s 29 (EdB.PrepareCarefully.EquipmentSelection)
L_0786: ldloc.s 29 (EdB.PrepareCarefully.EquipmentSelection)
L_0788: newobj Void .ctor(EquipmentSelection)
L_078d: stloc.s 30 (EdB.PrepareCarefully.EquipmentSaveRecord)
L_078f: ldloca.s 30 (EdB.PrepareCarefully.EquipmentSaveRecord)
L_0791: ldstr "equipment"
L_0796: ldc.i4.0
L_0797: newarr System.Object
L_079c: call Void Look[EquipmentSaveRecord]
(EdB.PrepareCarefully.EquipmentSaveRecord ByRef, System.String, System.Object[])
L_07a1: leave.s Label #77
L_07a3: pop
L_07a4: ldc.i4.1
L_07a5: stloc.0
L_07a6: ldstr "Failed to save equipment to preset: "
L_07ab: ldloc.s 29 (EdB.PrepareCarefully.EquipmentSelection)
L_07ad: callvirt Verse.ThingDef get_ThingDef()
L_07b2: ldfld System.String defName
L_07b7: call System.String Concat(System.String, System.String)
L_07bc: call Void Warning(System.String)
L_07c1: leave.s Label #78
L_07c3: Label #76
L_07c3: Label #77
L_07c3: Label #78
L_07c3: ldloca.s 28
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.EquipmentSelecti
on])
L_07c5: call Boolean MoveNext()
L_07ca: brtrue Label #79
L_07cf: leave.s Label #80
L_07d1: ldloca.s 28
(System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.EquipmentSelecti
on])
L_07d3: constrained.
System.Collections.Generic.List`1+Enumerator[EdB.PrepareCarefully.EquipmentSelectio
n]
L_07d9: callvirt Void Dispose()
L_07de: endfinally
L_07df: Label #80
L_07df: call Void ExitNode()
L_07e4: leave.s Label #81
L_07e6: call EdB.PrepareCarefully.PrepareCarefully get_Instance()
L_07eb: callvirt EdB.PrepareCarefully.State get_State()
L_07f0: ldstr "EdB.PC.Dialog.Preset.Error.SaveFailed"
L_07f5: call System.String Translate(System.String)
L_07fa: callvirt Void AddError(System.String)
L_07ff: ldstr "Failed to save preset file"
L_0804: call Void Error(System.String)
L_0809: throw
L_080a: ldsfld Verse.ScribeSaver saver
L_080f: callvirt Void FinalizeSaving()
L_0814: ldc.i4.0
L_0815: stsfld Verse.LoadSaveMode mode
L_081a: ldloc.0
L_081b: brfalse Label #82
L_0820: call EdB.PrepareCarefully.PrepareCarefully get_Instance()
L_0825: callvirt EdB.PrepareCarefully.State get_State()
L_082a: ldstr "EdB.PC.Dialog.Preset.Error.PartialSaveFailure"
L_082f: call System.String Translate(System.String)
L_0834: callvirt Void AddError(System.String)
L_0839: Label #82
L_0839: endfinally
L_083a: Label #81
L_083a: br Label #0
L_083f: Label #0
L_083f: ret
DONE
PATCHING EdB.PrepareCarefully.ColonistSaver Void
SaveToFile(EdB.PrepareCarefully.CustomPawn, System.String)
L_0000: Local var #0 System.String
L_0000: Local var #1 System.String
L_0000: Local var #2 EdB.PrepareCarefully.SaveRecordPawnV3
L_0000: ldsfld Verse.ScribeSaver saver
L_0005: ldarg.1
L_0006: call System.String FilePathForSavedColonist(System.String)
L_000b: ldstr "colonist"
L_0010: callvirt Void InitSaving(System.String, System.String)
L_0015: ldstr "3"
L_001a: stloc.0
L_001b: ldloca.s 0 (System.String)
L_001d: ldstr "version"
L_0022: ldnull
L_0023: ldc.i4.0
L_0024: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_0029: call IEnumerable`1 get_RunningMods()
L_002e: ldsfld System.Func`2[Verse.ModContentPack,System.String] <>9__0_0
L_0033: dup
L_0034: brtrue Label #2
L_0039: pop
L_003a: ldsfld EdB.PrepareCarefully.ColonistSaver+<>c <>9
L_003f: ldftn System.String <SaveToFile>b__0_0(Verse.ModContentPack)
L_0045: newobj Void .ctor(Object, IntPtr)
L_004a: dup
L_004b: stsfld System.Func`2[Verse.ModContentPack,System.String] <>9__0_0
L_0050: Label #2
L_0050: call IEnumerable`1 Select[ModContentPack,String](IEnumerable`1,
System.Func`2[Verse.ModContentPack,System.String])
L_0055: ldc.i4.1
L_0056: call System.String ToCommaList(IEnumerable`1, Boolean)
L_005b: stloc.1
L_005c: ldloca.s 1 (System.String)
L_005e: ldstr "mods"
L_0063: ldnull
L_0064: ldc.i4.0
L_0065: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_006a: ldarg.0
L_006b: call Void AddPsycheToDictionary(EdB.PrepareCarefully.CustomPawn)
L_0070: ldarg.0
L_0071: newobj Void .ctor(CustomPawn)
L_0076: stloc.2
L_0077: ldloca.s 2 (EdB.PrepareCarefully.SaveRecordPawnV3)
L_0079: ldstr "colonist"
L_007e: ldc.i4.0
L_007f: newarr System.Object
L_0084: call Void Look[SaveRecordPawnV3](EdB.PrepareCarefully.SaveRecordPawnV3
ByRef, System.String, System.Object[])
L_0089: leave.s Label #3
L_008b: ldstr "Failed to save preset file"
L_0090: call Void Error(System.String)
L_0095: throw
L_0096: ldsfld Verse.ScribeSaver saver
L_009b: callvirt Void FinalizeSaving()
L_00a0: ldc.i4.0
L_00a1: stsfld Verse.LoadSaveMode mode
L_00a6: endfinally
L_00a7: Label #3
L_00a7: br Label #0
L_00ac: Label #0
L_00ac: ret
DONE

PATCHING EdB.PrepareCarefully.SaveRecordPawnV3 Void ExposeData()


L_0000: ldarg.0
L_0001: ldflda System.String id
L_0006: ldstr "id"
L_000b: ldnull
L_000c: ldc.i4.0
L_000d: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_0012: ldarg.0
L_0013: ldflda System.String pawnKindDef
L_0018: ldstr "pawnKindDef"
L_001d: ldnull
L_001e: ldc.i4.0
L_001f: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_0024: ldarg.0
L_0025: ldflda System.String thingDef
L_002a: ldstr "thingDef"
L_002f: ldsfld Verse.ThingDef Human
L_0034: ldfld System.String defName
L_0039: ldc.i4.0
L_003a: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_003f: ldarg.0
L_0040: ldflda Verse.Gender gender
L_0045: ldstr "gender"
L_004a: ldc.i4.1
L_004b: ldc.i4.0
L_004c: call Void Look[Gender](Gender ByRef, System.String, Gender, Boolean)
L_0051: ldarg.0
L_0052: ldflda System.String childhood
L_0057: ldstr "childhood"
L_005c: ldnull
L_005d: ldc.i4.0
L_005e: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_0063: ldarg.0
L_0064: ldflda System.String adulthood
L_0069: ldstr "adulthood"
L_006e: ldnull
L_006f: ldc.i4.0
L_0070: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_0075: ldarg.0
L_0076: ldflda System.Collections.Generic.List`1[System.String] traitNames
L_007b: ldstr "traitNames"
L_0080: ldc.i4.1
L_0081: ldnull
L_0082: call Void Look[String](System.Collections.Generic.List`1[System.String]
ByRef, System.String, LookMode, System.Object[])
L_0087: ldarg.0
L_0088: ldflda System.Collections.Generic.List`1[System.Int32] traitDegrees
L_008d: ldstr "traitDegrees"
L_0092: ldc.i4.1
L_0093: ldnull
L_0094: call Void Look[Int32](System.Collections.Generic.List`1[System.Int32]
ByRef, System.String, LookMode, System.Object[])
L_0099: ldarg.0
L_009a: ldflda UnityEngine.Color skinColor
L_009f: ldstr "skinColor"
L_00a4: call Color get_white()
L_00a9: ldc.i4.0
L_00aa: call Void Look[Color](Color ByRef, System.String, Color, Boolean)
L_00af: ldarg.0
L_00b0: ldflda System.Single melanin
L_00b5: ldstr "melanin"
L_00ba: ldc.r4 -1
L_00bf: ldc.i4.0
L_00c0: call Void Look[Single](Single ByRef, System.String, Single, Boolean)
L_00c5: ldarg.0
L_00c6: ldflda System.String bodyType
L_00cb: ldstr "bodyType"
L_00d0: ldnull
L_00d1: ldc.i4.0
L_00d2: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_00d7: ldarg.0
L_00d8: ldflda System.String hairDef
L_00dd: ldstr "hairDef"
L_00e2: ldnull
L_00e3: ldc.i4.0
L_00e4: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_00e9: ldarg.0
L_00ea: ldflda UnityEngine.Color hairColor
L_00ef: ldstr "hairColor"
L_00f4: call Color get_white()
L_00f9: ldc.i4.0
L_00fa: call Void Look[Color](Color ByRef, System.String, Color, Boolean)
L_00ff: ldarg.0
L_0100: ldflda System.String headGraphicPath
L_0105: ldstr "headGraphicPath"
L_010a: ldnull
L_010b: ldc.i4.0
L_010c: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_0111: ldarg.0
L_0112: ldflda System.String firstName
L_0117: ldstr "firstName"
L_011c: ldnull
L_011d: ldc.i4.0
L_011e: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_0123: ldarg.0
L_0124: ldflda System.String nickName
L_0129: ldstr "nickName"
L_012e: ldnull
L_012f: ldc.i4.0
L_0130: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_0135: ldarg.0
L_0136: ldflda System.String lastName
L_013b: ldstr "lastName"
L_0140: ldnull
L_0141: ldc.i4.0
L_0142: call Void Look[String](System.String ByRef, System.String, System.String,
Boolean)
L_0147: ldsfld Verse.LoadSaveMode mode
L_014c: ldc.i4.2
L_014d: bne.un Label #2
L_0152: ldarg.0
L_0153: ldflda System.Int32 age
L_0158: ldstr "age"
L_015d: ldc.i4.0
L_015e: ldc.i4.0
L_015f: call Void Look[Int32](Int32 ByRef, System.String, Int32, Boolean)
L_0164: Label #2
L_0164: ldarg.0
L_0165: ldflda System.Int32 biologicalAge
L_016a: ldstr "biologicalAge"
L_016f: ldc.i4.0
L_0170: ldc.i4.0
L_0171: call Void Look[Int32](Int32 ByRef, System.String, Int32, Boolean)
L_0176: ldarg.0
L_0177: ldflda System.Int32 chronologicalAge
L_017c: ldstr "chronologicalAge"
L_0181: ldc.i4.0
L_0182: ldc.i4.0
L_0183: call Void Look[Int32](Int32 ByRef, System.String, Int32, Boolean)
L_0188: ldarg.0
L_0189: ldflda System.Collections.Generic.List`1[System.String] skillNames
L_018e: ldstr "skillNames"
L_0193: ldc.i4.1
L_0194: ldnull
L_0195: call Void Look[String](System.Collections.Generic.List`1[System.String]
ByRef, System.String, LookMode, System.Object[])
L_019a: ldarg.0
L_019b: ldflda System.Collections.Generic.List`1[System.Int32] skillValues
L_01a0: ldstr "skillValues"
L_01a5: ldc.i4.1
L_01a6: ldnull
L_01a7: call Void Look[Int32](System.Collections.Generic.List`1[System.Int32]
ByRef, System.String, LookMode, System.Object[])
L_01ac: ldarg.0
L_01ad: ldflda System.Collections.Generic.List`1[RimWorld.Passion] passions
L_01b2: ldstr "passions"
L_01b7: ldc.i4.1
L_01b8: ldnull
L_01b9: call Void Look[Passion](System.Collections.Generic.List`1[RimWorld.Passion]
ByRef, System.String, LookMode, System.Object[])
L_01be: ldarg.0
L_01bf: ldflda System.Collections.Generic.List`1[System.String] apparel
L_01c4: ldstr "apparel"
L_01c9: ldc.i4.1
L_01ca: ldnull
L_01cb: call Void Look[String](System.Collections.Generic.List`1[System.String]
ByRef, System.String, LookMode, System.Object[])
L_01d0: ldarg.0
L_01d1: ldflda System.Collections.Generic.List`1[System.Int32] apparelLayers
L_01d6: ldstr "apparelLayers"
L_01db: ldc.i4.1
L_01dc: ldnull
L_01dd: call Void Look[Int32](System.Collections.Generic.List`1[System.Int32]
ByRef, System.String, LookMode, System.Object[])
L_01e2: ldarg.0
L_01e3: ldflda System.Collections.Generic.List`1[System.String] apparelStuff
L_01e8: ldstr "apparelStuff"
L_01ed: ldc.i4.1
L_01ee: ldnull
L_01ef: call Void Look[String](System.Collections.Generic.List`1[System.String]
ByRef, System.String, LookMode, System.Object[])
L_01f4: ldarg.0
L_01f5: ldflda System.Collections.Generic.List`1[UnityEngine.Color] apparelColors
L_01fa: ldstr "apparelColors"
L_01ff: ldc.i4.1
L_0200: ldnull
L_0201: call Void Look[Color](System.Collections.Generic.List`1[UnityEngine.Color]
ByRef, System.String, LookMode, System.Object[])
L_0206: ldsfld Verse.LoadSaveMode mode
L_020b: ldc.i4.1
L_020c: bne.un Label #3
L_0211: ldarg.0
L_0212: ldflda
System.Collections.Generic.List`1[EdB.PrepareCarefully.SaveRecordImplantV3]
implants
L_0217: ldstr "implants"
L_021c: ldc.i4.2
L_021d: ldnull
L_021e: call Void Look[SaveRecordImplantV3]
(System.Collections.Generic.List`1[EdB.PrepareCarefully.SaveRecordImplantV3] ByRef,
System.String, LookMode, System.Object[])
L_0223: br Label #4
L_0228: Label #3
L_0228: ldsfld Verse.ScribeLoader loader
L_022d: ldfld System.Xml.XmlNode curXmlParent
L_0232: ldstr "implants"
L_0237: callvirt System.Xml.XmlElement get_Item(System.String)
L_023c: brfalse Label #5
L_0241: ldarg.0
L_0242: ldflda
System.Collections.Generic.List`1[EdB.PrepareCarefully.SaveRecordImplantV3]
implants
L_0247: ldstr "implants"
L_024c: ldc.i4.2
L_024d: ldnull
L_024e: call Void Look[SaveRecordImplantV3]
(System.Collections.Generic.List`1[EdB.PrepareCarefully.SaveRecordImplantV3] ByRef,
System.String, LookMode, System.Object[])
L_0253: Label #4
L_0253: Label #5
L_0253: ldsfld Verse.LoadSaveMode mode
L_0258: ldc.i4.1
L_0259: bne.un Label #6
L_025e: ldarg.0
L_025f: ldflda
System.Collections.Generic.List`1[EdB.PrepareCarefully.SaveRecordInjuryV3] injuries
L_0264: ldstr "injuries"
L_0269: ldc.i4.2
L_026a: ldnull
L_026b: call Void Look[SaveRecordInjuryV3]
(System.Collections.Generic.List`1[EdB.PrepareCarefully.SaveRecordInjuryV3] ByRef,
System.String, LookMode, System.Object[])
L_0270: br Label #0
L_0275: Label #6
L_0275: ldsfld Verse.ScribeLoader loader
L_027a: ldfld System.Xml.XmlNode curXmlParent
L_027f: ldstr "injuries"
L_0284: callvirt System.Xml.XmlElement get_Item(System.String)
L_0289: brfalse Label #7
L_028e: ldarg.0
L_028f: ldflda
System.Collections.Generic.List`1[EdB.PrepareCarefully.SaveRecordInjuryV3] injuries
L_0294: ldstr "injuries"
L_0299: ldc.i4.2
L_029a: ldnull
L_029b: call Void Look[SaveRecordInjuryV3]
(System.Collections.Generic.List`1[EdB.PrepareCarefully.SaveRecordInjuryV3] ByRef,
System.String, LookMode, System.Object[])
L_02a0: Label #7
L_02a0: br Label #0
L_02a5: Label #0
L_02a5: ldarg.0
L_02a6: call Void ExposePsycheData(EdB.PrepareCarefully.SaveRecordPawnV3)
L_02ab: ret
DONE

PATCHING Verse.AI.AttackTargetFinder IAttackTarget


BestAttackTarget(IAttackTargetSearcher, TargetScanFlags,
System.Predicate`1[Verse.Thing], Single, Single, IntVec3, Single, Boolean)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Boolean
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.AI.IAttackTarget
L_0000: Local var #4 Verse.AI.IAttackTarget
L_0000: Local var #5 System.Predicate`1[[Verse.Thing, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #6 Verse.AI.IAttackTarget
L_0000: Local var #7 Verse.AI.IAttackTarget
L_0000: Local var #8 System.Single
L_0000: Local var #9 System.Single
L_0000: Local var #10
Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501
L_0000: Local var #11
Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey502
L_0000: Local var #12 Verse.IntVec3
L_0000: Local var #13
Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey503
L_0000: Local var #14 System.Int32
L_0000: Local var #15 System.Boolean
L_0000: Local var #16 Verse.IntVec3
L_0000: Local var #17 Verse.IntVec3
L_0000: Local var #18 Verse.AI.IAttackTarget
L_0000: ldnull
L_0001: stloc 18 (Verse.AI.IAttackTarget)
L_0003: ldarga 2
L_0009: call Void BestAttackTargetPrefix(System.Predicate`1[Verse.Thing] ByRef)
L_000e: newobj Void .ctor()
L_0013: stloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0015: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0017: ldarg.0
L_0018: stfld Verse.AI.IAttackTargetSearcher searcher
L_001d: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_001f: ldarg.s 6
L_0021: stfld System.Single maxTravelRadiusFromLocus
L_0026: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0028: ldarg.s 5
L_002a: stfld Verse.IntVec3 locus
L_002f: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0031: ldarg.2
L_0032: stfld System.Predicate`1[Verse.Thing] validator
L_0037: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0039: ldarg.1
L_003a: stfld Verse.AI.TargetScanFlags flags
L_003f: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0041: ldarg.s 7
L_0043: stfld System.Boolean canBash
L_0048: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_004a: ldarg.s 4
L_004c: stfld System.Single maxDist
L_0051: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0053: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0055: ldfld Verse.AI.IAttackTargetSearcher searcher
L_005a: callvirt Verse.Thing get_Thing()
L_005f: stfld Verse.Thing searcherThing
L_0064: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0066: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0068: ldfld Verse.AI.IAttackTargetSearcher searcher
L_006d: isinst Verse.Pawn
L_0072: stfld Verse.Pawn searcherPawn
L_0077: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0079: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_007b: ldfld Verse.AI.IAttackTargetSearcher searcher
L_0080: callvirt Verse.Verb get_CurrentEffectiveVerb()
L_0085: stfld Verse.Verb verb
L_008a: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_008c: ldfld Verse.Verb verb
L_0091: brtrue Label #2
L_0096: ldstr "BestAttackTarget with "
L_009b: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_009d: ldfld Verse.AI.IAttackTargetSearcher searcher
L_00a2: ldstr " who has no attack verb."
L_00a7: call System.String Concat(System.Object, System.Object, System.Object)
L_00ac: call Void Error(System.String)
L_00b1: ldnull
L_00b2: br Label #0
L_00b7: Label #2
L_00b7: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_00b9: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_00bb: ldfld Verse.Verb verb
L_00c0: brfalse Label #3
L_00c5: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_00c7: ldfld Verse.Verb verb
L_00cc: ldfld Verse.VerbProperties verbProps
L_00d1: ldfld Verse.ThingDef projectileDef
L_00d6: brfalse Label #4
L_00db: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_00dd: ldfld Verse.Verb verb
L_00e2: ldfld Verse.VerbProperties verbProps
L_00e7: ldfld Verse.ThingDef projectileDef
L_00ec: ldfld Verse.ProjectileProperties projectile
L_00f1: ldfld Verse.DamageDef damageDef
L_00f6: ldsfld Verse.DamageDef EMP
L_00fb: ceq
L_00fd: br Label #5
L_0102: Label #3
L_0102: Label #4
L_0102: ldc.i4.0
L_0103: Label #5
L_0103: stfld System.Boolean onlyTargetMachines
L_0108: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_010a: ldarg.3
L_010b: ldarg.3
L_010c: mul
L_010d: stfld System.Single minDistanceSquared
L_0112: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0114: ldfld System.Single maxTravelRadiusFromLocus
L_0119: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_011b: ldfld Verse.Verb verb
L_0120: ldfld Verse.VerbProperties verbProps
L_0125: ldfld System.Single range
L_012a: add
L_012b: stloc.0
L_012c: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_012e: ldloc.0
L_012f: ldloc.0
L_0130: mul
L_0131: stfld System.Single maxLocusDistSquared
L_0136: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0138: ldnull
L_0139: stfld System.Func`2[Verse.IntVec3,System.Boolean] losValidator
L_013e: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0140: ldfld Verse.AI.TargetScanFlags flags
L_0145: ldc.i4.s 64
L_0147: and
L_0148: conv.u1
L_0149: brfalse Label #6
L_014e: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0150: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0152: ldftn Boolean <>m__7F8(IntVec3)
L_0158: newobj Void .ctor(Object, IntPtr)
L_015d: stfld System.Func`2[Verse.IntVec3,System.Boolean] losValidator
L_0162: Label #6
L_0162: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0164: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0166: ldftn Boolean <>m__7F9(IAttackTarget)
L_016c: newobj Void .ctor(Object, IntPtr)
L_0171: stfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_0176: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0178: ldfld Verse.AI.IAttackTargetSearcher searcher
L_017d: call Boolean HasRangedAttack(IAttackTargetSearcher)
L_0182: brfalse Label #7
L_0187: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_018c: callvirt Void Clear()
L_0191: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_0196: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0198: ldfld Verse.Thing searcherThing
L_019d: callvirt Verse.Map get_Map()
L_01a2: ldfld Verse.AI.AttackTargetsCache attackTargetsCache
L_01a7: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_01a9: ldfld Verse.AI.IAttackTargetSearcher searcher
L_01ae: callvirt System.Collections.Generic.List`1[Verse.AI.IAttackTarget]
GetPotentialTargetsFor(IAttackTargetSearcher)
L_01b3: callvirt Void AddRange(IEnumerable`1)
L_01b8: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_01ba: ldfld Verse.AI.TargetScanFlags flags
L_01bf: ldc.i4.4
L_01c0: and
L_01c1: conv.u1
L_01c2: brfalse Label #8
L_01c7: newobj Void .ctor()
L_01cc: stloc.s 11 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey502)
L_01ce: ldloc.s 11 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey502)
L_01d0: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_01d2: stfld Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501
<>f__ref$1281
L_01d7: ldloc.s 11 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey502)
L_01d9: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_01db: ldfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_01e0: stfld System.Predicate`1[Verse.AI.IAttackTarget] oldValidator
L_01e5: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_01e7: ldloc.s 11 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey502)
L_01e9: ldftn Boolean <>m__7FA(IAttackTarget)
L_01ef: newobj Void .ctor(Object, IntPtr)
L_01f4: stfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_01f9: Label #8
L_01f9: ldc.i4.0
L_01fa: stloc.1
L_01fb: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_01fd: ldfld Verse.Thing searcherThing
L_0202: callvirt RimWorld.Faction get_Faction()
L_0207: call RimWorld.Faction get_OfPlayer()
L_020c: beq Label #9
L_0211: ldc.i4.0
L_0212: stloc.2
L_0213: br Label #10
L_0218: Label #15
L_0218: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_021d: ldloc.2
L_021e: callvirt IAttackTarget get_Item(Int32)
L_0223: stloc.3
L_0224: ldloc.3
L_0225: callvirt Verse.Thing get_Thing()
L_022a: callvirt IntVec3 get_Position()
L_022f: stloc.s 12 (Verse.IntVec3)
L_0231: ldloca.s 12 (Verse.IntVec3)
L_0233: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0235: ldfld Verse.Thing searcherThing
L_023a: callvirt IntVec3 get_Position()
L_023f: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0241: ldfld System.Single maxDist
L_0246: call Boolean InHorDistOf(IntVec3, Single)
L_024b: brfalse Label #11
L_0250: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0252: ldfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_0257: ldloc.3
L_0258: callvirt Boolean Invoke(IAttackTarget)
L_025d: brfalse Label #12
L_0262: ldloc.3
L_0263: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0265: ldfld Verse.AI.IAttackTargetSearcher searcher
L_026a: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_026c: ldfld Verse.Verb verb
L_0271: call Boolean CanShootAtFromCurrentPosition(IAttackTarget,
IAttackTargetSearcher, Verse.Verb)
L_0276: brfalse Label #13
L_027b: ldc.i4.1
L_027c: stloc.1
L_027d: br Label #14
L_0282: Label #11
L_0282: Label #12
L_0282: Label #13
L_0282: ldloc.2
L_0283: ldc.i4.1
L_0284: add
L_0285: stloc.2
L_0286: Label #10
L_0286: ldloc.2
L_0287: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_028c: callvirt Int32 get_Count()
L_0291: blt Label #15
L_0296: Label #9
L_0296: Label #14
L_0296: ldloc.1
L_0297: brfalse Label #16
L_029c: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_02a1: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_02a3: ldftn Boolean <>m__7FB(IAttackTarget)
L_02a9: newobj Void .ctor(Object, IntPtr)
L_02ae: callvirt Int32 RemoveAll(System.Predicate`1[Verse.AI.IAttackTarget])
L_02b3: pop
L_02b4: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_02b9: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_02bb: ldfld Verse.AI.IAttackTargetSearcher searcher
L_02c0: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_02c2: ldfld Verse.Verb verb
L_02c7: call IAttackTarget
GetRandomShootingTargetByScore(System.Collections.Generic.List`1[Verse.AI.IAttackTa
rget], IAttackTargetSearcher, Verse.Verb)
L_02cc: stloc.s 4 (Verse.AI.IAttackTarget)
L_02ce: br Label #17
L_02d3: Label #16
L_02d3: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_02d5: ldfld Verse.AI.TargetScanFlags flags
L_02da: ldc.i4.8
L_02db: and
L_02dc: conv.u1
L_02dd: brfalse Label #18
L_02e2: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_02e4: ldfld Verse.AI.TargetScanFlags flags
L_02e9: ldc.i4.4
L_02ea: and
L_02eb: conv.u1
L_02ec: brtrue Label #19
L_02f1: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_02f3: ldftn Boolean <>m__7FC(Verse.Thing)
L_02f9: newobj Void .ctor(Object, IntPtr)
L_02fe: stloc.s 5 (System.Predicate`1[Verse.Thing])
L_0300: br Label #20
L_0305: Label #18
L_0305: Label #19
L_0305: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0307: ldftn Boolean <>m__7FD(Verse.Thing)
L_030d: newobj Void .ctor(Object, IntPtr)
L_0312: stloc.s 5 (System.Predicate`1[Verse.Thing])
L_0314: Label #20
L_0314: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0316: ldfld Verse.Thing searcherThing
L_031b: callvirt IntVec3 get_Position()
L_0320: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_0325: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0327: ldfld System.Single maxDist
L_032c: ldloc.s 5 (System.Predicate`1[Verse.Thing])
L_032e: call Verse.Thing ClosestThing_Global(IntVec3, IEnumerable, Single,
System.Predicate`1[Verse.Thing])
L_0333: castclass Verse.AI.IAttackTarget
L_0338: stloc.s 4 (Verse.AI.IAttackTarget)
L_033a: Label #17
L_033a: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_033f: callvirt Void Clear()
L_0344: ldloc.s 4 (Verse.AI.IAttackTarget)
L_0346: br Label #0
L_034b: Label #7
L_034b: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_034d: ldfld Verse.Pawn searcherPawn
L_0352: brfalse Label #21
L_0357: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0359: ldfld Verse.Pawn searcherPawn
L_035e: ldfld Verse.AI.Pawn_MindState mindState
L_0363: ldfld Verse.AI.PawnDuty duty
L_0368: brfalse Label #22
L_036d: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_036f: ldfld Verse.Pawn searcherPawn
L_0374: ldfld Verse.AI.Pawn_MindState mindState
L_0379: ldfld Verse.AI.PawnDuty duty
L_037e: ldfld System.Single radius
L_0383: ldc.r4 0
L_0388: ble.un Label #23
L_038d: newobj Void .ctor()
L_0392: stloc.s 13 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey503)
L_0394: ldloc.s 13 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey503)
L_0396: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0398: stfld Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501
<>f__ref$1281
L_039d: ldloc.s 13 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey503)
L_039f: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_03a1: ldfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_03a6: stfld System.Predicate`1[Verse.AI.IAttackTarget] oldValidator
L_03ab: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_03ad: ldloc.s 13 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey503)
L_03af: ldftn Boolean <>m__7FE(IAttackTarget)
L_03b5: newobj Void .ctor(Object, IntPtr)
L_03ba: stfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_03bf: Label #21
L_03bf: Label #22
L_03bf: Label #23
L_03bf: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_03c1: ldfld System.Single maxDist
L_03c6: ldc.r4 800
L_03cb: ble.un Label #24
L_03d0: ldc.i4.m1
L_03d1: br Label #25
L_03d6: Label #24
L_03d6: ldc.i4.s 40
L_03d8: Label #25
L_03d8: stloc.s 14 (System.Int32)
L_03da: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_03dc: ldfld Verse.Thing searcherThing
L_03e1: callvirt IntVec3 get_Position()
L_03e6: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_03e8: ldfld Verse.Thing searcherThing
L_03ed: callvirt Verse.Map get_Map()
L_03f2: ldc.i4.s 16
L_03f4: call ThingRequest ForGroup(ThingRequestGroup)
L_03f9: ldc.i4.2
L_03fa: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_03fc: ldfld System.Boolean canBash
L_0401: stloc.s 15 (System.Boolean)
L_0403: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0405: ldfld Verse.Pawn searcherPawn
L_040a: ldc.i4.3
L_040b: ldc.i4.0
L_040c: ldloc.s 15 (System.Boolean)
L_040e: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_0413: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0415: ldfld System.Single maxDist
L_041a: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_041c: ldftn Boolean <>m__7FF(Verse.Thing)
L_0422: newobj Void .ctor(Object, IntPtr)
L_0427: ldnull
L_0428: ldc.i4.0
L_0429: ldloc.s 14 (System.Int32)
L_042b: ldc.i4.0
L_042c: ldc.i4.6
L_042d: ldc.i4.0
L_042e: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_0433: castclass Verse.AI.IAttackTarget
L_0438: stloc.s 6 (Verse.AI.IAttackTarget)
L_043a: ldloc.s 6 (Verse.AI.IAttackTarget)
L_043c: brfalse Label #26
L_0441: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0443: ldfld Verse.Pawn searcherPawn
L_0448: call Boolean ShouldCollideWithPawns(Verse.Pawn)
L_044d: brfalse Label #27
L_0452: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0454: ldfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_0459: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_045b: ldfld Verse.Pawn searcherPawn
L_0460: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0462: ldfld System.Single maxDist
L_0467: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0469: ldfld System.Boolean canBash
L_046e: call IAttackTarget
FindBestReachableMeleeTarget(System.Predicate`1[Verse.AI.IAttackTarget],
Verse.Pawn, Single, Boolean)
L_0473: stloc.s 7 (Verse.AI.IAttackTarget)
L_0475: ldloc.s 7 (Verse.AI.IAttackTarget)
L_0477: brfalse Label #28
L_047c: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_047e: ldfld Verse.Pawn searcherPawn
L_0483: callvirt IntVec3 get_Position()
L_0488: ldloc.s 6 (Verse.AI.IAttackTarget)
L_048a: callvirt Verse.Thing get_Thing()
L_048f: callvirt IntVec3 get_Position()
L_0494: call IntVec3 op_Subtraction(IntVec3, IntVec3)
L_0499: stloc.s 16 (Verse.IntVec3)
L_049b: ldloca.s 16 (Verse.IntVec3)
L_049d: call Single get_LengthHorizontal()
L_04a2: stloc.s 8 (System.Single)
L_04a4: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_04a6: ldfld Verse.Pawn searcherPawn
L_04ab: callvirt IntVec3 get_Position()
L_04b0: ldloc.s 7 (Verse.AI.IAttackTarget)
L_04b2: callvirt Verse.Thing get_Thing()
L_04b7: callvirt IntVec3 get_Position()
L_04bc: call IntVec3 op_Subtraction(IntVec3, IntVec3)
L_04c1: stloc.s 17 (Verse.IntVec3)
L_04c3: ldloca.s 17 (Verse.IntVec3)
L_04c5: call Single get_LengthHorizontal()
L_04ca: stloc.s 9 (System.Single)
L_04cc: ldloc.s 8 (System.Single)
L_04ce: ldloc.s 9 (System.Single)
L_04d0: sub
L_04d1: call Single Abs(Single)
L_04d6: ldc.r4 50
L_04db: bge.un Label #29
L_04e0: ldloc.s 7 (Verse.AI.IAttackTarget)
L_04e2: stloc.s 6 (Verse.AI.IAttackTarget)
L_04e4: Label #26
L_04e4: Label #27
L_04e4: Label #28
L_04e4: Label #29
L_04e4: ldloc.s 6 (Verse.AI.IAttackTarget)
L_04e6: br Label #0
L_04eb: Label #0
L_04eb: stloc 18 (Verse.AI.IAttackTarget)
L_04ed: ldloc 18 (Verse.AI.IAttackTarget)
L_04ef: ret
DONE

PATCHING RimWorld.PawnWoundDrawer+Wound Void .ctor(Pawn)


L_0000: Local var #0 System.Int32
L_0000: ldarg.0
L_0001: newobj Void .ctor()
L_0006: stfld System.Collections.Generic.List`1[UnityEngine.Vector2] locsPerSide
L_000b: ldarg.0
L_000c: call Void .ctor()
L_0011: ldarg.1
L_0012: callvirt Verse.RaceProperties get_RaceProps()
L_0017: callvirt RimWorld.FleshTypeDef get_FleshType()
L_001c: ldsfld RimWorld.FleshTypeDef Normal
L_0021: beq Label #10
L_0026: ldarg.1
L_0027: ldfld Verse.ThingDef def
L_002c: ldfld System.String defName
L_0031: ldstr "ROM_"
L_0036: callvirt Boolean StartsWith(System.String)
L_003b: brfalse Label #2
L_0040: Label #10
L_0040: ldarg.0
L_0041: ldsfld System.Collections.Generic.List`1[UnityEngine.Material]
WoundOverlays_Flesh
L_0046: call UnityEngine.Material RandomElement[Material](IEnumerable`1)
L_004b: stfld UnityEngine.Material mat
L_0050: br Label #3
L_0055: Label #2
L_0055: ldarg.1
L_0056: callvirt Verse.RaceProperties get_RaceProps()
L_005b: callvirt RimWorld.FleshTypeDef get_FleshType()
L_0060: ldsfld RimWorld.FleshTypeDef Mechanoid
L_0065: bne.un Label #4
L_006a: ldarg.0
L_006b: ldsfld System.Collections.Generic.List`1[UnityEngine.Material]
WoundOverlays_Mech
L_0070: call UnityEngine.Material RandomElement[Material](IEnumerable`1)
L_0075: stfld UnityEngine.Material mat
L_007a: br Label #5
L_007f: Label #4
L_007f: ldarg.1
L_0080: callvirt Verse.RaceProperties get_RaceProps()
L_0085: callvirt RimWorld.FleshTypeDef get_FleshType()
L_008a: ldsfld RimWorld.FleshTypeDef Insectoid
L_008f: bne.un Label #6
L_0094: ldarg.0
L_0095: ldsfld System.Collections.Generic.List`1[UnityEngine.Material]
WoundOverlays_Insect
L_009a: call UnityEngine.Material RandomElement[Material](IEnumerable`1)
L_009f: stfld UnityEngine.Material mat
L_00a4: br Label #7
L_00a9: Label #6
L_00a9: ldstr "No wound graphics data available for flesh type {0}"
L_00ae: ldarg.1
L_00af: callvirt Verse.RaceProperties get_RaceProps()
L_00b4: callvirt RimWorld.FleshTypeDef get_FleshType()
L_00b9: call System.String Format(System.String, System.Object)
L_00be: ldc.i4 76591733
L_00c3: call Void ErrorOnce(System.String, Int32)
L_00c8: ldarg.0
L_00c9: ldsfld System.Collections.Generic.List`1[UnityEngine.Material]
WoundOverlays_Flesh
L_00ce: call UnityEngine.Material RandomElement[Material](IEnumerable`1)
L_00d3: stfld UnityEngine.Material mat
L_00d8: Label #3
L_00d8: Label #5
L_00d8: Label #7
L_00d8: ldarg.0
L_00d9: ldc.i4.0
L_00da: ldc.i4 360
L_00df: call Int32 Range(Int32, Int32)
L_00e4: conv.r4
L_00e5: call Vector3 get_up()
L_00ea: call Quaternion AngleAxis(Single, Vector3)
L_00ef: stfld UnityEngine.Quaternion quat
L_00f4: ldc.i4.0
L_00f5: stloc.0
L_00f6: br Label #8
L_00fb: Label #9
L_00fb: ldarg.0
L_00fc: ldfld System.Collections.Generic.List`1[UnityEngine.Vector2] locsPerSide
L_0101: call Single get_Value()
L_0106: call Single get_Value()
L_010b: newobj Void .ctor(Single, Single)
L_0110: callvirt Void Add(Vector2)
L_0115: ldloc.0
L_0116: ldc.i4.1
L_0117: add
L_0118: stloc.0
L_0119: Label #8
L_0119: ldloc.0
L_011a: ldc.i4.4
L_011b: blt Label #9
L_0120: br Label #0
L_0125: Label #0
L_0125: ret
DONE

PATCHING RimWorld.ThingSelectionUtility Boolean SelectableByMapClick(Verse.Thing)


L_0000: Local var #0 Verse.CellRect+CellRectIterator
L_0000: Local var #1 Verse.CellRect
L_0000: Local var #2 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 2 (System.Boolean)
L_0006: ldarg.0
L_0007: ldfld Verse.ThingDef def
L_000c: ldfld System.Boolean selectable
L_0011: brtrue Label #2
L_0016: ldc.i4.0
L_0017: br Label #0
L_001c: Label #2
L_001c: ldarg.0
L_001d: callvirt Boolean get_Spawned()
L_0022: brtrue Label #3
L_0027: ldc.i4.0
L_0028: br Label #0
L_002d: Label #3
L_002d: ldarg.0
L_002e: ldfld Verse.ThingDef def
L_0033: ldflda Verse.IntVec2 size
L_0038: ldfld System.Int32 x
L_003d: ldc.i4.1
L_003e: bne.un Label #4
L_0043: ldarg.0
L_0044: ldfld Verse.ThingDef def
L_0049: ldflda Verse.IntVec2 size
L_004e: ldfld System.Int32 z
L_0053: ldc.i4.1
L_0054: bne.un Label #5
L_0059: ldarg.0
L_005a: callvirt IntVec3 get_Position()
L_005f: ldarg.0
L_0060: callvirt Verse.Map get_Map()
L_0065: call Boolean Fogged(IntVec3, Verse.Map)
L_006a: ldc.i4.0
L_006b: ceq
L_006d: br Label #0
L_0072: Label #4
L_0072: Label #5
L_0072: ldarg.0
L_0073: call CellRect OccupiedRect(Verse.Thing)
L_0078: stloc.1
L_0079: ldloca.s 1 (Verse.CellRect)
L_007b: call CellRectIterator GetIterator()
L_0080: stloc.0
L_0081: br Label #6
L_0086: Label #8
L_0086: ldloca.s 0 (Verse.CellRect+CellRectIterator)
L_0088: call IntVec3 get_Current()
L_008d: ldarg.0
L_008e: callvirt Verse.Map get_Map()
L_0093: call Boolean Fogged(IntVec3, Verse.Map)
L_0098: brtrue Label #7
L_009d: ldc.i4.1
L_009e: br Label #0
L_00a3: Label #7
L_00a3: ldloca.s 0 (Verse.CellRect+CellRectIterator)
L_00a5: call Void MoveNext()
L_00aa: Label #6
L_00aa: ldloca.s 0 (Verse.CellRect+CellRectIterator)
L_00ac: call Boolean Done()
L_00b1: brfalse Label #8
L_00b6: ldc.i4.0
L_00b7: br Label #0
L_00bc: Label #0
L_00bc: stloc 2 (System.Boolean)
L_00bd: ldarg 0
L_00c3: ldloca 2 (System.Boolean)
L_00c5: call Void SelectableByMapClickPostfix(Verse.Thing, Boolean ByRef)
L_00ca: ldloc 2 (System.Boolean)
L_00cb: ret
DONE

PATCHING Verse.AI.AttackTargetFinder IAttackTarget


BestAttackTarget(IAttackTargetSearcher, TargetScanFlags,
System.Predicate`1[Verse.Thing], Single, Single, IntVec3, Single, Boolean)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Boolean
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.AI.IAttackTarget
L_0000: Local var #4 Verse.AI.IAttackTarget
L_0000: Local var #5 System.Predicate`1[[Verse.Thing, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #6 Verse.AI.IAttackTarget
L_0000: Local var #7 Verse.AI.IAttackTarget
L_0000: Local var #8 System.Single
L_0000: Local var #9 System.Single
L_0000: Local var #10
Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501
L_0000: Local var #11
Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey502
L_0000: Local var #12 Verse.IntVec3
L_0000: Local var #13
Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey503
L_0000: Local var #14 System.Int32
L_0000: Local var #15 System.Boolean
L_0000: Local var #16 Verse.IntVec3
L_0000: Local var #17 Verse.IntVec3
L_0000: Local var #18 Verse.AI.IAttackTarget
L_0000: ldnull
L_0001: stloc 18 (Verse.AI.IAttackTarget)
L_0003: ldarga 2
L_0009: call Void BestAttackTargetPrefix(System.Predicate`1[Verse.Thing] ByRef)
L_000e: ldarga 2
L_0014: call Void BestAttackTargetPrefix(System.Predicate`1[Verse.Thing] ByRef)
L_0019: newobj Void .ctor()
L_001e: stloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0020: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0022: ldarg.0
L_0023: stfld Verse.AI.IAttackTargetSearcher searcher
L_0028: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_002a: ldarg.s 6
L_002c: stfld System.Single maxTravelRadiusFromLocus
L_0031: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0033: ldarg.s 5
L_0035: stfld Verse.IntVec3 locus
L_003a: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_003c: ldarg.2
L_003d: stfld System.Predicate`1[Verse.Thing] validator
L_0042: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0044: ldarg.1
L_0045: stfld Verse.AI.TargetScanFlags flags
L_004a: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_004c: ldarg.s 7
L_004e: stfld System.Boolean canBash
L_0053: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0055: ldarg.s 4
L_0057: stfld System.Single maxDist
L_005c: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_005e: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0060: ldfld Verse.AI.IAttackTargetSearcher searcher
L_0065: callvirt Verse.Thing get_Thing()
L_006a: stfld Verse.Thing searcherThing
L_006f: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0071: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0073: ldfld Verse.AI.IAttackTargetSearcher searcher
L_0078: isinst Verse.Pawn
L_007d: stfld Verse.Pawn searcherPawn
L_0082: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0084: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0086: ldfld Verse.AI.IAttackTargetSearcher searcher
L_008b: callvirt Verse.Verb get_CurrentEffectiveVerb()
L_0090: stfld Verse.Verb verb
L_0095: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0097: ldfld Verse.Verb verb
L_009c: brtrue Label #2
L_00a1: ldstr "BestAttackTarget with "
L_00a6: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_00a8: ldfld Verse.AI.IAttackTargetSearcher searcher
L_00ad: ldstr " who has no attack verb."
L_00b2: call System.String Concat(System.Object, System.Object, System.Object)
L_00b7: call Void Error(System.String)
L_00bc: ldnull
L_00bd: br Label #0
L_00c2: Label #2
L_00c2: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_00c4: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_00c6: ldfld Verse.Verb verb
L_00cb: brfalse Label #3
L_00d0: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_00d2: ldfld Verse.Verb verb
L_00d7: ldfld Verse.VerbProperties verbProps
L_00dc: ldfld Verse.ThingDef projectileDef
L_00e1: brfalse Label #4
L_00e6: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_00e8: ldfld Verse.Verb verb
L_00ed: ldfld Verse.VerbProperties verbProps
L_00f2: ldfld Verse.ThingDef projectileDef
L_00f7: ldfld Verse.ProjectileProperties projectile
L_00fc: ldfld Verse.DamageDef damageDef
L_0101: ldsfld Verse.DamageDef EMP
L_0106: ceq
L_0108: br Label #5
L_010d: Label #3
L_010d: Label #4
L_010d: ldc.i4.0
L_010e: Label #5
L_010e: stfld System.Boolean onlyTargetMachines
L_0113: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0115: ldarg.3
L_0116: ldarg.3
L_0117: mul
L_0118: stfld System.Single minDistanceSquared
L_011d: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_011f: ldfld System.Single maxTravelRadiusFromLocus
L_0124: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0126: ldfld Verse.Verb verb
L_012b: ldfld Verse.VerbProperties verbProps
L_0130: ldfld System.Single range
L_0135: add
L_0136: stloc.0
L_0137: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0139: ldloc.0
L_013a: ldloc.0
L_013b: mul
L_013c: stfld System.Single maxLocusDistSquared
L_0141: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0143: ldnull
L_0144: stfld System.Func`2[Verse.IntVec3,System.Boolean] losValidator
L_0149: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_014b: ldfld Verse.AI.TargetScanFlags flags
L_0150: ldc.i4.s 64
L_0152: and
L_0153: conv.u1
L_0154: brfalse Label #6
L_0159: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_015b: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_015d: ldftn Boolean <>m__7F8(IntVec3)
L_0163: newobj Void .ctor(Object, IntPtr)
L_0168: stfld System.Func`2[Verse.IntVec3,System.Boolean] losValidator
L_016d: Label #6
L_016d: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_016f: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0171: ldftn Boolean <>m__7F9(IAttackTarget)
L_0177: newobj Void .ctor(Object, IntPtr)
L_017c: stfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_0181: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0183: ldfld Verse.AI.IAttackTargetSearcher searcher
L_0188: call Boolean HasRangedAttack(IAttackTargetSearcher)
L_018d: brfalse Label #7
L_0192: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_0197: callvirt Void Clear()
L_019c: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_01a1: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_01a3: ldfld Verse.Thing searcherThing
L_01a8: callvirt Verse.Map get_Map()
L_01ad: ldfld Verse.AI.AttackTargetsCache attackTargetsCache
L_01b2: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_01b4: ldfld Verse.AI.IAttackTargetSearcher searcher
L_01b9: callvirt System.Collections.Generic.List`1[Verse.AI.IAttackTarget]
GetPotentialTargetsFor(IAttackTargetSearcher)
L_01be: callvirt Void AddRange(IEnumerable`1)
L_01c3: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_01c5: ldfld Verse.AI.TargetScanFlags flags
L_01ca: ldc.i4.4
L_01cb: and
L_01cc: conv.u1
L_01cd: brfalse Label #8
L_01d2: newobj Void .ctor()
L_01d7: stloc.s 11 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey502)
L_01d9: ldloc.s 11 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey502)
L_01db: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_01dd: stfld Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501
<>f__ref$1281
L_01e2: ldloc.s 11 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey502)
L_01e4: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_01e6: ldfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_01eb: stfld System.Predicate`1[Verse.AI.IAttackTarget] oldValidator
L_01f0: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_01f2: ldloc.s 11 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey502)
L_01f4: ldftn Boolean <>m__7FA(IAttackTarget)
L_01fa: newobj Void .ctor(Object, IntPtr)
L_01ff: stfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_0204: Label #8
L_0204: ldc.i4.0
L_0205: stloc.1
L_0206: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0208: ldfld Verse.Thing searcherThing
L_020d: callvirt RimWorld.Faction get_Faction()
L_0212: call RimWorld.Faction get_OfPlayer()
L_0217: beq Label #9
L_021c: ldc.i4.0
L_021d: stloc.2
L_021e: br Label #10
L_0223: Label #15
L_0223: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_0228: ldloc.2
L_0229: callvirt IAttackTarget get_Item(Int32)
L_022e: stloc.3
L_022f: ldloc.3
L_0230: callvirt Verse.Thing get_Thing()
L_0235: callvirt IntVec3 get_Position()
L_023a: stloc.s 12 (Verse.IntVec3)
L_023c: ldloca.s 12 (Verse.IntVec3)
L_023e: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0240: ldfld Verse.Thing searcherThing
L_0245: callvirt IntVec3 get_Position()
L_024a: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_024c: ldfld System.Single maxDist
L_0251: call Boolean InHorDistOf(IntVec3, Single)
L_0256: brfalse Label #11
L_025b: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_025d: ldfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_0262: ldloc.3
L_0263: callvirt Boolean Invoke(IAttackTarget)
L_0268: brfalse Label #12
L_026d: ldloc.3
L_026e: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0270: ldfld Verse.AI.IAttackTargetSearcher searcher
L_0275: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0277: ldfld Verse.Verb verb
L_027c: call Boolean CanShootAtFromCurrentPosition(IAttackTarget,
IAttackTargetSearcher, Verse.Verb)
L_0281: brfalse Label #13
L_0286: ldc.i4.1
L_0287: stloc.1
L_0288: br Label #14
L_028d: Label #11
L_028d: Label #12
L_028d: Label #13
L_028d: ldloc.2
L_028e: ldc.i4.1
L_028f: add
L_0290: stloc.2
L_0291: Label #10
L_0291: ldloc.2
L_0292: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_0297: callvirt Int32 get_Count()
L_029c: blt Label #15
L_02a1: Label #9
L_02a1: Label #14
L_02a1: ldloc.1
L_02a2: brfalse Label #16
L_02a7: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_02ac: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_02ae: ldftn Boolean <>m__7FB(IAttackTarget)
L_02b4: newobj Void .ctor(Object, IntPtr)
L_02b9: callvirt Int32 RemoveAll(System.Predicate`1[Verse.AI.IAttackTarget])
L_02be: pop
L_02bf: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_02c4: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_02c6: ldfld Verse.AI.IAttackTargetSearcher searcher
L_02cb: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_02cd: ldfld Verse.Verb verb
L_02d2: call IAttackTarget
GetRandomShootingTargetByScore(System.Collections.Generic.List`1[Verse.AI.IAttackTa
rget], IAttackTargetSearcher, Verse.Verb)
L_02d7: stloc.s 4 (Verse.AI.IAttackTarget)
L_02d9: br Label #17
L_02de: Label #16
L_02de: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_02e0: ldfld Verse.AI.TargetScanFlags flags
L_02e5: ldc.i4.8
L_02e6: and
L_02e7: conv.u1
L_02e8: brfalse Label #18
L_02ed: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_02ef: ldfld Verse.AI.TargetScanFlags flags
L_02f4: ldc.i4.4
L_02f5: and
L_02f6: conv.u1
L_02f7: brtrue Label #19
L_02fc: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_02fe: ldftn Boolean <>m__7FC(Verse.Thing)
L_0304: newobj Void .ctor(Object, IntPtr)
L_0309: stloc.s 5 (System.Predicate`1[Verse.Thing])
L_030b: br Label #20
L_0310: Label #18
L_0310: Label #19
L_0310: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0312: ldftn Boolean <>m__7FD(Verse.Thing)
L_0318: newobj Void .ctor(Object, IntPtr)
L_031d: stloc.s 5 (System.Predicate`1[Verse.Thing])
L_031f: Label #20
L_031f: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0321: ldfld Verse.Thing searcherThing
L_0326: callvirt IntVec3 get_Position()
L_032b: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_0330: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0332: ldfld System.Single maxDist
L_0337: ldloc.s 5 (System.Predicate`1[Verse.Thing])
L_0339: call Verse.Thing ClosestThing_Global(IntVec3, IEnumerable, Single,
System.Predicate`1[Verse.Thing])
L_033e: castclass Verse.AI.IAttackTarget
L_0343: stloc.s 4 (Verse.AI.IAttackTarget)
L_0345: Label #17
L_0345: ldsfld System.Collections.Generic.List`1[Verse.AI.IAttackTarget] tmpTargets
L_034a: callvirt Void Clear()
L_034f: ldloc.s 4 (Verse.AI.IAttackTarget)
L_0351: br Label #0
L_0356: Label #7
L_0356: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0358: ldfld Verse.Pawn searcherPawn
L_035d: brfalse Label #21
L_0362: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0364: ldfld Verse.Pawn searcherPawn
L_0369: ldfld Verse.AI.Pawn_MindState mindState
L_036e: ldfld Verse.AI.PawnDuty duty
L_0373: brfalse Label #22
L_0378: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_037a: ldfld Verse.Pawn searcherPawn
L_037f: ldfld Verse.AI.Pawn_MindState mindState
L_0384: ldfld Verse.AI.PawnDuty duty
L_0389: ldfld System.Single radius
L_038e: ldc.r4 0
L_0393: ble.un Label #23
L_0398: newobj Void .ctor()
L_039d: stloc.s 13 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey503)
L_039f: ldloc.s 13 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey503)
L_03a1: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_03a3: stfld Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501
<>f__ref$1281
L_03a8: ldloc.s 13 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey503)
L_03aa: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_03ac: ldfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_03b1: stfld System.Predicate`1[Verse.AI.IAttackTarget] oldValidator
L_03b6: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_03b8: ldloc.s 13 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey503)
L_03ba: ldftn Boolean <>m__7FE(IAttackTarget)
L_03c0: newobj Void .ctor(Object, IntPtr)
L_03c5: stfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_03ca: Label #21
L_03ca: Label #22
L_03ca: Label #23
L_03ca: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_03cc: ldfld System.Single maxDist
L_03d1: ldc.r4 800
L_03d6: ble.un Label #24
L_03db: ldc.i4.m1
L_03dc: br Label #25
L_03e1: Label #24
L_03e1: ldc.i4.s 40
L_03e3: Label #25
L_03e3: stloc.s 14 (System.Int32)
L_03e5: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_03e7: ldfld Verse.Thing searcherThing
L_03ec: callvirt IntVec3 get_Position()
L_03f1: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_03f3: ldfld Verse.Thing searcherThing
L_03f8: callvirt Verse.Map get_Map()
L_03fd: ldc.i4.s 16
L_03ff: call ThingRequest ForGroup(ThingRequestGroup)
L_0404: ldc.i4.2
L_0405: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0407: ldfld System.Boolean canBash
L_040c: stloc.s 15 (System.Boolean)
L_040e: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0410: ldfld Verse.Pawn searcherPawn
L_0415: ldc.i4.3
L_0416: ldc.i4.0
L_0417: ldloc.s 15 (System.Boolean)
L_0419: call TraverseParms For(Verse.Pawn, Danger, TraverseMode, Boolean)
L_041e: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0420: ldfld System.Single maxDist
L_0425: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0427: ldftn Boolean <>m__7FF(Verse.Thing)
L_042d: newobj Void .ctor(Object, IntPtr)
L_0432: ldnull
L_0433: ldc.i4.0
L_0434: ldloc.s 14 (System.Int32)
L_0436: ldc.i4.0
L_0437: ldc.i4.6
L_0438: ldc.i4.0
L_0439: call Verse.Thing ClosestThingReachable(IntVec3, Verse.Map, ThingRequest,
PathEndMode, TraverseParms, Single, System.Predicate`1[Verse.Thing], IEnumerable`1,
Int32, Int32, Boolean, RegionType, Boolean)
L_043e: castclass Verse.AI.IAttackTarget
L_0443: stloc.s 6 (Verse.AI.IAttackTarget)
L_0445: ldloc.s 6 (Verse.AI.IAttackTarget)
L_0447: brfalse Label #26
L_044c: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_044e: ldfld Verse.Pawn searcherPawn
L_0453: call Boolean ShouldCollideWithPawns(Verse.Pawn)
L_0458: brfalse Label #27
L_045d: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_045f: ldfld System.Predicate`1[Verse.AI.IAttackTarget] innerValidator
L_0464: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0466: ldfld Verse.Pawn searcherPawn
L_046b: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_046d: ldfld System.Single maxDist
L_0472: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0474: ldfld System.Boolean canBash
L_0479: call IAttackTarget
FindBestReachableMeleeTarget(System.Predicate`1[Verse.AI.IAttackTarget],
Verse.Pawn, Single, Boolean)
L_047e: stloc.s 7 (Verse.AI.IAttackTarget)
L_0480: ldloc.s 7 (Verse.AI.IAttackTarget)
L_0482: brfalse Label #28
L_0487: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_0489: ldfld Verse.Pawn searcherPawn
L_048e: callvirt IntVec3 get_Position()
L_0493: ldloc.s 6 (Verse.AI.IAttackTarget)
L_0495: callvirt Verse.Thing get_Thing()
L_049a: callvirt IntVec3 get_Position()
L_049f: call IntVec3 op_Subtraction(IntVec3, IntVec3)
L_04a4: stloc.s 16 (Verse.IntVec3)
L_04a6: ldloca.s 16 (Verse.IntVec3)
L_04a8: call Single get_LengthHorizontal()
L_04ad: stloc.s 8 (System.Single)
L_04af: ldloc.s 10 (Verse.AI.AttackTargetFinder+<BestAttackTarget>c__AnonStorey501)
L_04b1: ldfld Verse.Pawn searcherPawn
L_04b6: callvirt IntVec3 get_Position()
L_04bb: ldloc.s 7 (Verse.AI.IAttackTarget)
L_04bd: callvirt Verse.Thing get_Thing()
L_04c2: callvirt IntVec3 get_Position()
L_04c7: call IntVec3 op_Subtraction(IntVec3, IntVec3)
L_04cc: stloc.s 17 (Verse.IntVec3)
L_04ce: ldloca.s 17 (Verse.IntVec3)
L_04d0: call Single get_LengthHorizontal()
L_04d5: stloc.s 9 (System.Single)
L_04d7: ldloc.s 8 (System.Single)
L_04d9: ldloc.s 9 (System.Single)
L_04db: sub
L_04dc: call Single Abs(Single)
L_04e1: ldc.r4 50
L_04e6: bge.un Label #29
L_04eb: ldloc.s 7 (Verse.AI.IAttackTarget)
L_04ed: stloc.s 6 (Verse.AI.IAttackTarget)
L_04ef: Label #26
L_04ef: Label #27
L_04ef: Label #28
L_04ef: Label #29
L_04ef: ldloc.s 6 (Verse.AI.IAttackTarget)
L_04f1: br Label #0
L_04f6: Label #0
L_04f6: stloc 18 (Verse.AI.IAttackTarget)
L_04f8: ldloc 18 (Verse.AI.IAttackTarget)
L_04fa: ret
DONE

PATCHING RimWorld.PawnWoundDrawer+Wound Void .ctor(Pawn)


L_0000: Local var #0 System.Int32
L_0000: ldarg.0
L_0001: newobj Void .ctor()
L_0006: stfld System.Collections.Generic.List`1[UnityEngine.Vector2] locsPerSide
L_000b: ldarg.0
L_000c: call Void .ctor()
L_0011: ldarg.1
L_0012: callvirt Verse.RaceProperties get_RaceProps()
L_0017: callvirt RimWorld.FleshTypeDef get_FleshType()
L_001c: ldsfld RimWorld.FleshTypeDef Normal
L_0021: beq Label #10
L_0026: ldarg.1
L_0027: ldfld Verse.ThingDef def
L_002c: ldfld System.String defName
L_0031: ldstr "ROM_"
L_0036: callvirt Boolean StartsWith(System.String)
L_003b: brfalse Label #2
L_0040: Label #10
L_0040: ldarg.0
L_0041: ldsfld System.Collections.Generic.List`1[UnityEngine.Material]
WoundOverlays_Flesh
L_0046: call UnityEngine.Material RandomElement[Material](IEnumerable`1)
L_004b: stfld UnityEngine.Material mat
L_0050: br Label #3
L_0055: Label #2
L_0055: ldarg.1
L_0056: callvirt Verse.RaceProperties get_RaceProps()
L_005b: callvirt RimWorld.FleshTypeDef get_FleshType()
L_0060: ldsfld RimWorld.FleshTypeDef Mechanoid
L_0065: beq Label #11
L_006a: ldarg.1
L_006b: ldfld Verse.ThingDef def
L_0070: ldfld System.String defName
L_0075: ldstr "ROM_"
L_007a: callvirt Boolean StartsWith(System.String)
L_007f: brfalse Label #4
L_0084: Label #11
L_0084: ldarg.0
L_0085: ldsfld System.Collections.Generic.List`1[UnityEngine.Material]
WoundOverlays_Mech
L_008a: call UnityEngine.Material RandomElement[Material](IEnumerable`1)
L_008f: stfld UnityEngine.Material mat
L_0094: br Label #5
L_0099: Label #4
L_0099: ldarg.1
L_009a: callvirt Verse.RaceProperties get_RaceProps()
L_009f: callvirt RimWorld.FleshTypeDef get_FleshType()
L_00a4: ldsfld RimWorld.FleshTypeDef Insectoid
L_00a9: bne.un Label #6
L_00ae: ldarg.0
L_00af: ldsfld System.Collections.Generic.List`1[UnityEngine.Material]
WoundOverlays_Insect
L_00b4: call UnityEngine.Material RandomElement[Material](IEnumerable`1)
L_00b9: stfld UnityEngine.Material mat
L_00be: br Label #7
L_00c3: Label #6
L_00c3: ldstr "No wound graphics data available for flesh type {0}"
L_00c8: ldarg.1
L_00c9: callvirt Verse.RaceProperties get_RaceProps()
L_00ce: callvirt RimWorld.FleshTypeDef get_FleshType()
L_00d3: call System.String Format(System.String, System.Object)
L_00d8: ldc.i4 76591733
L_00dd: call Void ErrorOnce(System.String, Int32)
L_00e2: ldarg.0
L_00e3: ldsfld System.Collections.Generic.List`1[UnityEngine.Material]
WoundOverlays_Flesh
L_00e8: call UnityEngine.Material RandomElement[Material](IEnumerable`1)
L_00ed: stfld UnityEngine.Material mat
L_00f2: Label #3
L_00f2: Label #5
L_00f2: Label #7
L_00f2: ldarg.0
L_00f3: ldc.i4.0
L_00f4: ldc.i4 360
L_00f9: call Int32 Range(Int32, Int32)
L_00fe: conv.r4
L_00ff: call Vector3 get_up()
L_0104: call Quaternion AngleAxis(Single, Vector3)
L_0109: stfld UnityEngine.Quaternion quat
L_010e: ldc.i4.0
L_010f: stloc.0
L_0110: br Label #8
L_0115: Label #9
L_0115: ldarg.0
L_0116: ldfld System.Collections.Generic.List`1[UnityEngine.Vector2] locsPerSide
L_011b: call Single get_Value()
L_0120: call Single get_Value()
L_0125: newobj Void .ctor(Single, Single)
L_012a: callvirt Void Add(Vector2)
L_012f: ldloc.0
L_0130: ldc.i4.1
L_0131: add
L_0132: stloc.0
L_0133: Label #8
L_0133: ldloc.0
L_0134: ldc.i4.4
L_0135: blt Label #9
L_013a: br Label #0
L_013f: Label #0
L_013f: ret
DONE

PATCHING RimWorld.ThingSelectionUtility Boolean SelectableByMapClick(Verse.Thing)


L_0000: Local var #0 Verse.CellRect+CellRectIterator
L_0000: Local var #1 Verse.CellRect
L_0000: Local var #2 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 2 (System.Boolean)
L_0006: ldarg.0
L_0007: ldfld Verse.ThingDef def
L_000c: ldfld System.Boolean selectable
L_0011: brtrue Label #2
L_0016: ldc.i4.0
L_0017: br Label #0
L_001c: Label #2
L_001c: ldarg.0
L_001d: callvirt Boolean get_Spawned()
L_0022: brtrue Label #3
L_0027: ldc.i4.0
L_0028: br Label #0
L_002d: Label #3
L_002d: ldarg.0
L_002e: ldfld Verse.ThingDef def
L_0033: ldflda Verse.IntVec2 size
L_0038: ldfld System.Int32 x
L_003d: ldc.i4.1
L_003e: bne.un Label #4
L_0043: ldarg.0
L_0044: ldfld Verse.ThingDef def
L_0049: ldflda Verse.IntVec2 size
L_004e: ldfld System.Int32 z
L_0053: ldc.i4.1
L_0054: bne.un Label #5
L_0059: ldarg.0
L_005a: callvirt IntVec3 get_Position()
L_005f: ldarg.0
L_0060: callvirt Verse.Map get_Map()
L_0065: call Boolean Fogged(IntVec3, Verse.Map)
L_006a: ldc.i4.0
L_006b: ceq
L_006d: br Label #0
L_0072: Label #4
L_0072: Label #5
L_0072: ldarg.0
L_0073: call CellRect OccupiedRect(Verse.Thing)
L_0078: stloc.1
L_0079: ldloca.s 1 (Verse.CellRect)
L_007b: call CellRectIterator GetIterator()
L_0080: stloc.0
L_0081: br Label #6
L_0086: Label #8
L_0086: ldloca.s 0 (Verse.CellRect+CellRectIterator)
L_0088: call IntVec3 get_Current()
L_008d: ldarg.0
L_008e: callvirt Verse.Map get_Map()
L_0093: call Boolean Fogged(IntVec3, Verse.Map)
L_0098: brtrue Label #7
L_009d: ldc.i4.1
L_009e: br Label #0
L_00a3: Label #7
L_00a3: ldloca.s 0 (Verse.CellRect+CellRectIterator)
L_00a5: call Void MoveNext()
L_00aa: Label #6
L_00aa: ldloca.s 0 (Verse.CellRect+CellRectIterator)
L_00ac: call Boolean Done()
L_00b1: brfalse Label #8
L_00b6: ldc.i4.0
L_00b7: br Label #0
L_00bc: Label #0
L_00bc: stloc 2 (System.Boolean)
L_00bd: ldarg 0
L_00c3: ldloca 2 (System.Boolean)
L_00c5: call Void SelectableByMapClickPostfix(Verse.Thing, Boolean ByRef)
L_00ca: ldarg 0
L_00d0: ldloca 2 (System.Boolean)
L_00d2: call Void SelectableByMapClickPostfix(Verse.Thing, Boolean ByRef)
L_00d7: ldloc 2 (System.Boolean)
L_00d8: ret
DONE

PATCHING Verse.HediffSet Single CalculatePain()


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Single
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Single
L_0000: ldc.r4 0
L_0005: stloc 4 (System.Single)
L_0007: ldarg.0
L_0008: ldloca 4 (System.Single)
L_000a: call Boolean CalculatePain_PreFix(Verse.HediffSet, Single ByRef)
L_000f: brfalse Label #1
L_0014: ldarg.0
L_0015: ldfld Verse.Pawn pawn
L_001a: callvirt Verse.RaceProperties get_RaceProps()
L_001f: callvirt Boolean get_IsFlesh()
L_0024: brfalse Label #2
L_0029: ldarg.0
L_002a: ldfld Verse.Pawn pawn
L_002f: callvirt Boolean get_Dead()
L_0034: brfalse Label #3
L_0039: Label #2
L_0039: ldc.r4 0
L_003e: br Label #0
L_0043: Label #3
L_0043: ldc.r4 0
L_0048: stloc.0
L_0049: ldc.i4.0
L_004a: stloc.1
L_004b: br Label #4
L_0050: Label #5
L_0050: ldloc.0
L_0051: ldarg.0
L_0052: ldfld System.Collections.Generic.List`1[Verse.Hediff] hediffs
L_0057: ldloc.1
L_0058: callvirt Verse.Hediff get_Item(Int32)
L_005d: callvirt Single get_PainOffset()
L_0062: add
L_0063: stloc.0
L_0064: ldloc.1
L_0065: ldc.i4.1
L_0066: add
L_0067: stloc.1
L_0068: Label #4
L_0068: ldloc.1
L_0069: ldarg.0
L_006a: ldfld System.Collections.Generic.List`1[Verse.Hediff] hediffs
L_006f: callvirt Int32 get_Count()
L_0074: blt Label #5
L_0079: ldloc.0
L_007a: ldarg.0
L_007b: ldfld Verse.Pawn pawn
L_0080: callvirt Single get_HealthScale()
L_0085: div
L_0086: stloc.2
L_0087: ldc.i4.0
L_0088: stloc.3
L_0089: br Label #6
L_008e: Label #7
L_008e: ldloc.2
L_008f: ldarg.0
L_0090: ldfld System.Collections.Generic.List`1[Verse.Hediff] hediffs
L_0095: ldloc.3
L_0096: callvirt Verse.Hediff get_Item(Int32)
L_009b: callvirt Single get_PainFactor()
L_00a0: mul
L_00a1: stloc.2
L_00a2: ldloc.3
L_00a3: ldc.i4.1
L_00a4: add
L_00a5: stloc.3
L_00a6: Label #6
L_00a6: ldloc.3
L_00a7: ldarg.0
L_00a8: ldfld System.Collections.Generic.List`1[Verse.Hediff] hediffs
L_00ad: callvirt Int32 get_Count()
L_00b2: blt Label #7
L_00b7: ldloc.2
L_00b8: ldc.r4 0
L_00bd: ldc.r4 1
L_00c2: call Single Clamp(Single, Single, Single)
L_00c7: br Label #0
L_00cc: Label #0
L_00cc: stloc 4 (System.Single)
L_00ce: Label #1
L_00ce: ldloc 4 (System.Single)
L_00d0: ret
DONE

PATCHING RimWorld.TrashUtility Verse.AI.Job TrashJob(Verse.Pawn, Verse.Thing)


L_0000: Local var #0 RimWorld.Plant
L_0000: Local var #1 Verse.AI.Job
L_0000: Local var #2 Verse.Verb
L_0000: Local var #3 System.Collections.Generic.IEnumerator`1[[Verse.Verb,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #4 Verse.AI.Job
L_0000: Local var #5 Verse.AI.Job
L_0000: Local var #6 System.Single
L_0000: Local var #7 Verse.AI.Job
L_0000: ldarg.1
L_0001: isinst RimWorld.Plant
L_0006: stloc.0
L_0007: ldloc.0
L_0008: brfalse Label #2
L_000d: ldsfld Verse.JobDef Ignite
L_0012: ldarg.1
L_0013: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0018: newobj Void .ctor(JobDef, LocalTargetInfo)
L_001d: stloc.1
L_001e: ldloc.1
L_001f: call Void FinalizeTrashJob(Verse.AI.Job)
L_0024: ldloc.1
L_0025: br Label #0
L_002a: Label #2
L_002a: ldarg.0
L_002b: ldfld Verse.Pawn_EquipmentTracker equipment
L_0030: brfalse Label #3
L_0035: call Single get_Value()
L_003a: ldc.r4 0.7
L_003f: bge.un Label #4
L_0044: ldarg.0
L_0045: ldfld Verse.Pawn_EquipmentTracker equipment
L_004a: callvirt IEnumerable`1 get_AllEquipmentVerbs()
L_004f: callvirt IEnumerator`1 GetEnumerator()
L_0054: stloc.3
L_0055: br Label #5
L_005a: Label #8
L_005a: ldloc.3
L_005b: callvirt Verse.Verb get_Current()
L_0060: stloc.2
L_0061: ldloc.2
L_0062: ldfld Verse.VerbProperties verbProps
L_0067: ldfld System.Boolean ai_IsBuildingDestroyer
L_006c: brfalse Label #6
L_0071: ldsfld Verse.JobDef UseVerbOnThing
L_0076: ldarg.1
L_0077: call LocalTargetInfo op_Implicit(Verse.Thing)
L_007c: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0081: stloc.s 4 (Verse.AI.Job)
L_0083: ldloc.s 4 (Verse.AI.Job)
L_0085: ldloc.2
L_0086: stfld Verse.Verb verbToUse
L_008b: ldloc.s 4 (Verse.AI.Job)
L_008d: call Void FinalizeTrashJob(Verse.AI.Job)
L_0092: ldloc.s 4 (Verse.AI.Job)
L_0094: stloc.s 7 (Verse.AI.Job)
L_0096: leave Label #7
L_009b: Label #5
L_009b: Label #6
L_009b: ldloc.3
L_009c: callvirt Boolean MoveNext()
L_00a1: brtrue Label #8
L_00a6: leave Label #9
L_00ab: ldloc.3
L_00ac: brtrue Label #10
L_00b1: endfinally
L_00b2: Label #10
L_00b2: ldloc.3
L_00b3: callvirt Void Dispose()
L_00b8: endfinally
L_00b9: Label #3
L_00b9: Label #4
L_00b9: Label #9
L_00b9: ldnull
L_00ba: stloc.s 5 (Verse.AI.Job)
L_00bc: call Single get_Value()
L_00c1: stloc.s 6 (System.Single)
L_00c3: ldloc.s 6 (System.Single)
L_00c5: ldc.r4 0.35
L_00ca: bge.un Label #11
L_00cf: ldarg.0
L_00d0: ldfld RimWorld.Pawn_NativeVerbs natives
L_00d5: callvirt RimWorld.Verb_Ignite get_IgniteVerb()
L_00da: brfalse Label #12
L_00df: ldarg.1
L_00e0: callvirt Boolean get_FlammableNow()
L_00e5: brfalse Label #13
L_00ea: ldarg.1
L_00eb: call Boolean IsBurning(Verse.Thing)
L_00f0: brtrue Label #14
L_00f5: ldarg.1
L_00f6: isinst RimWorld.Building_Door
L_00fb: brtrue Label #15
L_0100: ldsfld Verse.JobDef Ignite
L_0105: ldarg.1
L_0106: call LocalTargetInfo op_Implicit(Verse.Thing)
L_010b: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0110: stloc.s 5 (Verse.AI.Job)
L_0112: br Label #16
L_0117: Label #11
L_0117: Label #12
L_0117: Label #13
L_0117: Label #14
L_0117: Label #15
L_0117: ldsfld Verse.JobDef AttackMelee
L_011c: ldarg.1
L_011d: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0122: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0127: stloc.s 5 (Verse.AI.Job)
L_0129: Label #16
L_0129: ldloc.s 5 (Verse.AI.Job)
L_012b: call Void FinalizeTrashJob(Verse.AI.Job)
L_0130: ldloc.s 5 (Verse.AI.Job)
L_0132: br Label #0
L_0137: Label #7
L_0137: ldloc.s 7 (Verse.AI.Job)
L_0139: br Label #0
L_013e: Label #0
L_013e: ret
DONE

PATCHING RimWorld.CollectionsMassCalculator Single


CapacityTransferables(System.Collections.Generic.List`1[RimWorld.TransferableOneWay
])
L_0000: Local var #0 System.Int32
L_0000: Local var #1 System.Single
L_0000: Local var #2 System.Single
L_0000: ldc.r4 0
L_0005: stloc 2 (System.Single)
L_0006: ldarg 0
L_000c: ldloca 2 (System.Single)
L_000e: call Boolean
CapacityTransferables_PreFix(System.Collections.Generic.List`1[RimWorld.Transferabl
eOneWay], Single ByRef)
L_0013: brfalse Label #1
L_0018: ldsfld System.Collections.Generic.List`1[Verse.ThingStackPart]
tmpThingStackParts
L_001d: callvirt Void Clear()
L_0022: ldc.i4.0
L_0023: stloc.0
L_0024: br Label #2
L_0029: Label #8
L_0029: ldarg.0
L_002a: ldloc.0
L_002b: callvirt RimWorld.TransferableOneWay get_Item(Int32)
L_0030: callvirt Boolean get_HasAnyThing()
L_0035: brtrue Label #3
L_003a: br Label #4
L_003f: Label #3
L_003f: ldarg.0
L_0040: ldloc.0
L_0041: callvirt RimWorld.TransferableOneWay get_Item(Int32)
L_0046: callvirt Verse.Thing get_AnyThing()
L_004b: isinst Verse.Pawn
L_0050: brtrue Label #5
L_0055: br Label #6
L_005a: Label #5
L_005a: ldarg.0
L_005b: ldloc.0
L_005c: callvirt RimWorld.TransferableOneWay get_Item(Int32)
L_0061: ldfld System.Collections.Generic.List`1[Verse.Thing] things
L_0066: ldarg.0
L_0067: ldloc.0
L_0068: callvirt RimWorld.TransferableOneWay get_Item(Int32)
L_006d: callvirt Int32 get_CountToTransfer()
L_0072: ldsfld System.Action`2[Verse.Thing,System.Int32] <>f__am$cache2
L_0077: brtrue Label #7
L_007c: ldnull
L_007d: ldftn Void <CapacityTransferables>m__72F(Verse.Thing, Int32)
L_0083: newobj Void .ctor(Object, IntPtr)
L_0088: stsfld System.Action`2[Verse.Thing,System.Int32] <>f__am$cache2
L_008d: Label #7
L_008d: ldsfld System.Action`2[Verse.Thing,System.Int32] <>f__am$cache2
L_0092: ldc.i4.0
L_0093: ldc.i4.0
L_0094: call Void TransferNoSplit(System.Collections.Generic.List`1[Verse.Thing],
Int32, System.Action`2[Verse.Thing,System.Int32], Boolean, Boolean)
L_0099: Label #4
L_0099: Label #6
L_0099: ldloc.0
L_009a: ldc.i4.1
L_009b: add
L_009c: stloc.0
L_009d: Label #2
L_009d: ldloc.0
L_009e: ldarg.0
L_009f: callvirt Int32 get_Count()
L_00a4: blt Label #8
L_00a9: ldsfld System.Collections.Generic.List`1[Verse.ThingStackPart]
tmpThingStackParts
L_00ae: call Single
Capacity(System.Collections.Generic.List`1[Verse.ThingStackPart])
L_00b3: stloc.1
L_00b4: ldsfld System.Collections.Generic.List`1[Verse.ThingStackPart]
tmpThingStackParts
L_00b9: callvirt Void Clear()
L_00be: ldloc.1
L_00bf: br Label #0
L_00c4: Label #0
L_00c4: stloc 2 (System.Single)
L_00c5: Label #1
L_00c5: ldloc 2 (System.Single)
L_00c6: ret
DONE

PATCHING Verse.AI.Pawn_MindState Void


StartManhunterBecauseOfPawnAction(System.String)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Single
L_0000: Local var #2 System.String
L_0000: Local var #3 RimWorld.Planet.GlobalTargetInfo
L_0000: Local var #4 System.Int32
L_0000: Local var #5 Verse.Pawn
L_0000: Local var #6 System.Collections.Generic.IEnumerator`1[[Verse.Pawn,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #7 System.String
L_0000: ldarg.0
L_0001: call Boolean
StartManhunterBecauseOfPawnAction_PreFix(Verse.AI.Pawn_MindState)
L_0006: brfalse Label #1
L_000b: ldarg.0
L_000c: ldfld Verse.AI.MentalStateHandler mentalStateHandler
L_0011: ldsfld Verse.MentalStateDef Manhunter
L_0016: ldnull
L_0017: ldc.i4.0
L_0018: ldc.i4.0
L_0019: ldnull
L_001a: callvirt Boolean TryStartMentalState(Verse.MentalStateDef, System.String,
Boolean, Boolean, Verse.Pawn)
L_001f: brtrue Label #2
L_0024: br Label #0
L_0029: Label #2
L_0029: ldarg.1
L_002a: ldc.i4.1
L_002b: newarr System.Object
L_0030: dup
L_0031: ldc.i4.0
L_0032: ldarg.0
L_0033: ldfld Verse.Pawn pawn
L_0038: callvirt System.String get_Label()
L_003d: stelem.ref
L_003e: call System.String Translate(System.String, System.Object[])
L_0043: stloc.2
L_0044: ldarg.0
L_0045: ldfld Verse.Pawn pawn
L_004a: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_004f: stloc.3
L_0050: call Single get_Value()
L_0055: ldc.r4 0.5
L_005a: bge.un Label #3
L_005f: ldc.i4.1
L_0060: stloc.s 4 (System.Int32)
L_0062: ldarg.0
L_0063: ldarg.0
L_0064: ldfld Verse.Pawn pawn
L_0069: ldc.r4 24
L_006e: call IEnumerable`1 GetPackmates(Verse.Pawn, Single)
L_0073: callvirt IEnumerator`1 GetEnumerator()
L_0078: stloc.s 6 (System.Collections.Generic.IEnumerator`1[Verse.Pawn])
L_007a: br Label #4
L_007f: Label #6
L_007f: ldloc.s 6 (System.Collections.Generic.IEnumerator`1[Verse.Pawn])
L_0081: callvirt Verse.Pawn get_Current()
L_0086: stloc.s 5 (Verse.Pawn)
L_0088: ldloc.s 5 (Verse.Pawn)
L_008a: ldfld Verse.AI.Pawn_MindState mindState
L_008f: ldfld Verse.AI.MentalStateHandler mentalStateHandler
L_0094: ldsfld Verse.MentalStateDef Manhunter
L_0099: ldnull
L_009a: ldc.i4.0
L_009b: ldc.i4.0
L_009c: ldnull
L_009d: callvirt Boolean TryStartMentalState(Verse.MentalStateDef, System.String,
Boolean, Boolean, Verse.Pawn)
L_00a2: brfalse Label #5
L_00a7: ldloc.s 4 (System.Int32)
L_00a9: ldc.i4.1
L_00aa: add
L_00ab: stloc.s 4 (System.Int32)
L_00ad: Label #4
L_00ad: Label #5
L_00ad: ldloc.s 6 (System.Collections.Generic.IEnumerator`1[Verse.Pawn])
L_00af: callvirt Boolean MoveNext()
L_00b4: brtrue Label #6
L_00b9: leave Label #7
L_00be: ldloc.s 6 (System.Collections.Generic.IEnumerator`1[Verse.Pawn])
L_00c0: brtrue Label #8
L_00c5: endfinally
L_00c6: Label #8
L_00c6: ldloc.s 6 (System.Collections.Generic.IEnumerator`1[Verse.Pawn])
L_00c8: callvirt Void Dispose()
L_00cd: endfinally
L_00ce: Label #7
L_00ce: ldloc.s 4 (System.Int32)
L_00d0: ldc.i4.1
L_00d1: ble Label #9
L_00d6: ldarg.0
L_00d7: ldfld Verse.Pawn pawn
L_00dc: callvirt IntVec3 get_Position()
L_00e1: ldarg.0
L_00e2: ldfld Verse.Pawn pawn
L_00e7: callvirt Verse.Map get_Map()
L_00ec: ldc.i4.0
L_00ed: newobj Void .ctor(IntVec3, Map, Boolean)
L_00f2: call GlobalTargetInfo op_Implicit(TargetInfo)
L_00f7: stloc.3
L_00f8: ldloc.2
L_00f9: ldstr "

"
L_00fe: call System.String Concat(System.String, System.String)
L_0103: stloc.2
L_0104: ldloc.2
L_0105: ldstr "AnimalManhunterOthers"
L_010a: call Boolean CanTranslate(System.String)
L_010f: brfalse Label #10
L_0114: ldstr "AnimalManhunterOthers"
L_0119: ldc.i4.1
L_011a: newarr System.Object
L_011f: dup
L_0120: ldc.i4.0
L_0121: ldarg.0
L_0122: ldfld Verse.Pawn pawn
L_0127: ldfld Verse.ThingDef def
L_012c: ldfld System.String label
L_0131: stelem.ref
L_0132: call System.String Translate(System.String, System.Object[])
L_0137: br Label #11
L_013c: Label #10
L_013c: ldstr "AnimalManhunterFromDamageOthers"
L_0141: ldc.i4.1
L_0142: newarr System.Object
L_0147: dup
L_0148: ldc.i4.0
L_0149: ldarg.0
L_014a: ldfld Verse.Pawn pawn
L_014f: ldfld Verse.ThingDef def
L_0154: ldfld System.String label
L_0159: stelem.ref
L_015a: call System.String Translate(System.String, System.Object[])
L_015f: Label #11
L_015f: call System.String Concat(System.String, System.String)
L_0164: stloc.2
L_0165: Label #3
L_0165: Label #9
L_0165: ldstr "LetterLabelAnimalManhunterRevenge"
L_016a: call Boolean CanTranslate(System.String)
L_016f: brfalse Label #12
L_0174: ldstr "LetterLabelAnimalManhunterRevenge"
L_0179: ldc.i4.1
L_017a: newarr System.Object
L_017f: dup
L_0180: ldc.i4.0
L_0181: ldarg.0
L_0182: ldfld Verse.Pawn pawn
L_0187: callvirt System.String get_Label()
L_018c: stelem.ref
L_018d: call System.String Translate(System.String, System.Object[])
L_0192: call System.String CapitalizeFirst(System.String)
L_0197: br Label #13
L_019c: Label #12
L_019c: ldstr "LetterLabelAnimalManhunterFromDamage"
L_01a1: ldc.i4.1
L_01a2: newarr System.Object
L_01a7: dup
L_01a8: ldc.i4.0
L_01a9: ldarg.0
L_01aa: ldfld Verse.Pawn pawn
L_01af: callvirt System.String get_Label()
L_01b4: stelem.ref
L_01b5: call System.String Translate(System.String, System.Object[])
L_01ba: call System.String CapitalizeFirst(System.String)
L_01bf: Label #13
L_01bf: stloc.s 7 (System.String)
L_01c1: call Verse.LetterStack get_LetterStack()
L_01c6: ldloc.s 7 (System.String)
L_01c8: ldloc.2
L_01c9: ldsfld Verse.LetterDef BadNonUrgent
L_01ce: ldloc.3
L_01cf: ldnull
L_01d0: callvirt Void ReceiveLetter(System.String, System.String, Verse.LetterDef,
GlobalTargetInfo, System.String)
L_01d5: br Label #0
L_01da: Label #0
L_01da: Label #1
L_01da: ret
DONE

PATCHING RimWorld.Faction Void Notify_MemberDied(Verse.Pawn, Nullable`1, Boolean)


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Boolean
L_0000: Local var #2 System.Single
L_0000: Local var #3 Verse.DamageInfo
L_0000: Local var #4 Verse.DamageInfo
L_0000: Local var #5 Verse.DamageInfo
L_0000: ldarg.0
L_0001: ldarg 1
L_0007: ldarg 2
L_000d: ldarg 3
L_0013: call Boolean Notify_MemberDied_Prefix(RimWorld.Faction, Verse.Pawn,
Nullable`1, Boolean)
L_0018: brfalse Label #1
L_001d: ldarg.0
L_001e: call Boolean get_IsPlayer()
L_0023: brfalse Label #2
L_0028: br Label #0
L_002d: Label #2
L_002d: ldarg.3
L_002e: brtrue Label #3
L_0033: ldarg.1
L_0034: call Boolean IsBeingGenerated(Verse.Pawn)
L_0039: brtrue Label #4
L_003e: call ProgramState get_ProgramState()
L_0043: ldc.i4.2
L_0044: bne.un Label #5
L_0049: ldarga.s 2
L_004b: call Boolean get_HasValue()
L_0050: brfalse Label #6
L_0055: ldarga.s 2
L_0057: call DamageInfo get_Value()
L_005c: stloc.3
L_005d: ldloca.s 3 (Verse.DamageInfo)
L_005f: call SourceCategory get_Category()
L_0064: ldc.i4.1
L_0065: bne.un Label #7
L_006a: ldarg.1
L_006b: callvirt Verse.RaceProperties get_RaceProps()
L_0070: ldfld Verse.BodyDef body
L_0075: ldfld Verse.BodyPartRecord corePart
L_007a: ldfld Verse.BodyPartDef def
L_007f: ldarg.1
L_0080: callvirt Single GetMaxHealth(Verse.Pawn)
L_0085: ldc.r4 1.3
L_008a: mul
L_008b: ldc.r4 0.5
L_0090: mul
L_0091: ldc.r4 -1
L_0096: mul
L_0097: stloc.0
L_0098: ldarg.0
L_0099: call RimWorld.Faction get_OfPlayer()
L_009e: ldloc.0
L_009f: call Boolean AffectGoodwillWith(RimWorld.Faction, Single)
L_00a4: stloc.1
L_00a5: ldloc.1
L_00a6: brfalse Label #8
L_00ab: ldstr "FactionRelationAdjustmentCrushed-"
L_00b0: ldarg.0
L_00b1: call System.String get_Name()
L_00b6: call System.String Concat(System.String, System.String)
L_00bb: ldc.r4 5
L_00c0: call Boolean MessageShowAllowed(System.String, Single)
L_00c5: brfalse Label #9
L_00ca: ldstr "MessageFactionPawnCrushed"
L_00cf: ldc.i4.2
L_00d0: newarr System.Object
L_00d5: dup
L_00d6: ldc.i4.0
L_00d7: ldarg.0
L_00d8: call System.String get_Name()
L_00dd: stelem.ref
L_00de: dup
L_00df: ldc.i4.1
L_00e0: ldloc.0
L_00e1: call Int32 RoundToInt(Single)
L_00e6: box System.Int32
L_00eb: stelem.ref
L_00ec: call System.String Translate(System.String, System.Object[])
L_00f1: ldarg.1
L_00f2: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_00f7: ldc.i4.5
L_00f8: call Void Message(System.String, GlobalTargetInfo, MessageSound)
L_00fd: Label #8
L_00fd: Label #9
L_00fd: br Label #10
L_0102: Label #6
L_0102: Label #7
L_0102: ldarga.s 2
L_0104: call Boolean get_HasValue()
L_0109: brfalse Label #11
L_010e: ldarga.s 2
L_0110: call DamageInfo get_Value()
L_0115: stloc.s 4 (Verse.DamageInfo)
L_0117: ldloca.s 4 (Verse.DamageInfo)
L_0119: call Verse.Thing get_Instigator()
L_011e: brfalse Label #12
L_0123: ldarga.s 2
L_0125: call DamageInfo get_Value()
L_012a: stloc.s 5 (Verse.DamageInfo)
L_012c: ldloca.s 5 (Verse.DamageInfo)
L_012e: call Verse.Thing get_Instigator()
L_0133: callvirt RimWorld.Faction get_Faction()
L_0138: brtrue Label #13
L_013d: Label #12
L_013d: ldarg.1
L_013e: callvirt Verse.RaceProperties get_RaceProps()
L_0143: ldfld Verse.BodyDef body
L_0148: ldfld Verse.BodyPartRecord corePart
L_014d: ldfld Verse.BodyPartDef def
L_0152: ldarg.1
L_0153: callvirt Single GetMaxHealth(Verse.Pawn)
L_0158: ldc.r4 1.3
L_015d: mul
L_015e: ldc.r4 0.1
L_0163: mul
L_0164: ldc.r4 -1
L_0169: mul
L_016a: stloc.2
L_016b: ldarg.0
L_016c: call RimWorld.Faction get_OfPlayer()
L_0171: ldloc.2
L_0172: call Boolean AffectGoodwillWith(RimWorld.Faction, Single)
L_0177: brfalse Label #14
L_017c: ldstr "MessageFactionPawnLost"
L_0181: ldc.i4.3
L_0182: newarr System.Object
L_0187: dup
L_0188: ldc.i4.0
L_0189: ldarg.0
L_018a: call System.String get_Name()
L_018f: stelem.ref
L_0190: dup
L_0191: ldc.i4.1
L_0192: ldarg.1
L_0193: callvirt System.String get_NameStringShort()
L_0198: stelem.ref
L_0199: dup
L_019a: ldc.i4.2
L_019b: ldloc.2
L_019c: call Int32 RoundToInt(Single)
L_01a1: box System.Int32
L_01a6: stelem.ref
L_01a7: call System.String Translate(System.String, System.Object[])
L_01ac: ldarg.1
L_01ad: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_01b2: ldc.i4.5
L_01b3: call Void Message(System.String, GlobalTargetInfo, MessageSound)
L_01b8: Label #3
L_01b8: Label #4
L_01b8: Label #5
L_01b8: Label #10
L_01b8: Label #11
L_01b8: Label #13
L_01b8: Label #14
L_01b8: ldarg.1
L_01b9: ldarg.0
L_01ba: ldfld Verse.Pawn leader
L_01bf: bne.un Label #15
L_01c4: ldarg.0
L_01c5: call Void Notify_LeaderDied()
L_01ca: Label #15
L_01ca: br Label #0
L_01cf: Label #0
L_01cf: Label #1
L_01cf: ret
DONE

PATCHING RimWorld.CompEggLayer Verse.Thing ProduceEgg()


L_0000: Local var #0 System.Int32
L_0000: Local var #1 Verse.Thing
L_0000: Local var #2 RimWorld.CompHatcher
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 Verse.Thing
L_0000: ldnull
L_0001: stloc 4 (Verse.Thing)
L_0003: ldarg.0
L_0004: call Boolean get_Active()
L_0009: brtrue Label #2
L_000e: ldstr "LayEgg while not Active: "
L_0013: ldarg.0
L_0014: ldfld Verse.ThingWithComps parent
L_0019: call System.String Concat(System.Object, System.Object)
L_001e: call Void Error(System.String)
L_0023: Label #2
L_0023: ldarg.0
L_0024: ldc.r4 0
L_0029: stfld System.Single eggProgress
L_002e: ldarg.0
L_002f: call RimWorld.CompProperties_EggLayer get_Props()
L_0034: ldflda Verse.IntRange eggCountRange
L_0039: call Int32 get_RandomInRange()
L_003e: stloc.0
L_003f: ldloc.0
L_0040: brtrue Label #3
L_0045: ldnull
L_0046: br Label #0
L_004b: Label #3
L_004b: ldarg.0
L_004c: ldfld System.Int32 fertilizationCount
L_0051: ldc.i4.0
L_0052: ble Label #4
L_0057: ldarg.0
L_0058: call RimWorld.CompProperties_EggLayer get_Props()
L_005d: ldfld Verse.ThingDef eggFertilizedDef
L_0062: ldnull
L_0063: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_0068: stloc.1
L_0069: ldarg.0
L_006a: ldc.i4.0
L_006b: ldarg.0
L_006c: ldfld System.Int32 fertilizationCount
L_0071: ldloc.0
L_0072: sub
L_0073: call Int32 Max(Int32, Int32)
L_0078: stfld System.Int32 fertilizationCount
L_007d: br Label #5
L_0082: Label #4
L_0082: ldarg.0
L_0083: call RimWorld.CompProperties_EggLayer get_Props()
L_0088: ldfld Verse.ThingDef eggUnfertilizedDef
L_008d: ldnull
L_008e: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_0093: stloc.1
L_0094: Label #5
L_0094: ldloc.1
L_0095: ldloc.0
L_0096: stfld System.Int32 stackCount
L_009b: ldloc.1
L_009c: call RimWorld.CompHatcher TryGetComp[CompHatcher](Verse.Thing)
L_00a1: stloc.2
L_00a2: ldloc.2
L_00a3: brfalse Label #6
L_00a8: ldloc.2
L_00a9: ldarg.0
L_00aa: ldfld Verse.ThingWithComps parent
L_00af: callvirt RimWorld.Faction get_Faction()
L_00b4: stfld RimWorld.Faction hatcheeFaction
L_00b9: ldarg.0
L_00ba: ldfld Verse.ThingWithComps parent
L_00bf: isinst Verse.Pawn
L_00c4: stloc.3
L_00c5: ldloc.3
L_00c6: brfalse Label #7
L_00cb: ldloc.2
L_00cc: ldloc.3
L_00cd: stfld Verse.Pawn hatcheeParent
L_00d2: Label #7
L_00d2: ldarg.0
L_00d3: ldfld Verse.Pawn fertilizedBy
L_00d8: brfalse Label #8
L_00dd: ldloc.2
L_00de: ldarg.0
L_00df: ldfld Verse.Pawn fertilizedBy
L_00e4: stfld Verse.Pawn otherParent
L_00e9: Label #6
L_00e9: Label #8
L_00e9: ldloc.1
L_00ea: br Label #0
L_00ef: Label #0
L_00ef: stloc 4 (Verse.Thing)
L_00f1: ldarg.0
L_00f2: ldloca 4 (Verse.Thing)
L_00f4: call Void ProduceEgg_PostFix(RimWorld.CompEggLayer, Verse.Thing ByRef)
L_00f9: ldloc 4 (Verse.Thing)
L_00fb: ret
DONE

PATCHING RimWorld.GenLeaving Void DoLeavingsFor(Verse.Thing, Verse.Map,


DestroyMode, CellRect)
L_0000: Local var #0 System.Int32
L_0000: Local var #1 System.Int32
L_0000: Local var #2 Verse.IntVec3
L_0000: Local var #3 Verse.ThingOwner`1[[Verse.Thing, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #4 System.Int32
L_0000: Local var #5 Verse.Thing
L_0000: Local var #6 RimWorld.Frame
L_0000: Local var #7 System.Int32
L_0000: Local var #8 System.Int32
L_0000: Local var #9 System.Collections.Generic.List`1[[Verse.ThingCountClass,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #10 System.Int32
L_0000: Local var #11 Verse.ThingCountClass
L_0000: Local var #12 System.Int32
L_0000: Local var #13 System.Int32
L_0000: Local var #14 System.Int32
L_0000: Local var #15 System.Int32
L_0000: Local var #16 Verse.Thing
L_0000: Local var #17 System.Collections.Generic.List`1[[Verse.IntVec3, Assembly-
CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #18 System.Int32
L_0000: Local var #19 Verse.Thing
L_0000: ldarg 0
L_0006: ldarg 1
L_000c: ldarg 2
L_0012: ldarg 3
L_0018: call Boolean DoLeavingsForPrefix(Verse.Thing, Verse.Map, DestroyMode,
CellRect)
L_001d: brfalse Label #1
L_0022: call ProgramState get_ProgramState()
L_0027: ldc.i4.2
L_0028: bne.un Label #2
L_002d: ldarg.2
L_002e: brtrue Label #3
L_0033: Label #2
L_0033: br Label #0
L_0038: Label #3
L_0038: ldarg.2
L_0039: ldc.i4.1
L_003a: bne.un Label #4
L_003f: ldarg.0
L_0040: ldfld Verse.ThingDef def
L_0045: ldfld Verse.ThingDef filthLeaving
L_004a: brfalse Label #5
L_004f: ldarga.s 3
L_0051: ldfld System.Int32 minZ
L_0056: stloc.0
L_0057: br Label #6
L_005c: Label #9
L_005c: ldarga.s 3
L_005e: ldfld System.Int32 minX
L_0063: stloc.1
L_0064: br Label #7
L_0069: Label #8
L_0069: ldloca.s 2 (Verse.IntVec3)
L_006b: ldloc.1
L_006c: ldc.i4.0
L_006d: ldloc.0
L_006e: call Void .ctor(Int32, Int32, Int32)
L_0073: ldloc.2
L_0074: ldarg.1
L_0075: ldarg.0
L_0076: ldfld Verse.ThingDef def
L_007b: ldfld Verse.ThingDef filthLeaving
L_0080: ldc.i4.1
L_0081: ldc.i4.3
L_0082: call Int32 RangeInclusive(Int32, Int32)
L_0087: call Void MakeFilth(IntVec3, Verse.Map, Verse.ThingDef, Int32)
L_008c: ldloc.1
L_008d: ldc.i4.1
L_008e: add
L_008f: stloc.1
L_0090: Label #7
L_0090: ldloc.1
L_0091: ldarga.s 3
L_0093: ldfld System.Int32 maxX
L_0098: ble Label #8
L_009d: ldloc.0
L_009e: ldc.i4.1
L_009f: add
L_00a0: stloc.0
L_00a1: Label #6
L_00a1: ldloc.0
L_00a2: ldarga.s 3
L_00a4: ldfld System.Int32 maxZ
L_00a9: ble Label #9
L_00ae: Label #4
L_00ae: Label #5
L_00ae: newobj Void .ctor()
L_00b3: stloc.3
L_00b4: ldarg.2
L_00b5: ldc.i4.1
L_00b6: bne.un Label #10
L_00bb: ldarg.0
L_00bc: ldfld Verse.ThingDef def
L_00c1: ldfld System.Collections.Generic.List`1[Verse.ThingCountClass]
killedLeavings
L_00c6: brfalse Label #11
L_00cb: ldc.i4.0
L_00cc: stloc.s 4 (System.Int32)
L_00ce: br Label #12
L_00d3: Label #13
L_00d3: ldarg.0
L_00d4: ldfld Verse.ThingDef def
L_00d9: ldfld System.Collections.Generic.List`1[Verse.ThingCountClass]
killedLeavings
L_00de: ldloc.s 4 (System.Int32)
L_00e0: callvirt Verse.ThingCountClass get_Item(Int32)
L_00e5: ldfld Verse.ThingDef thingDef
L_00ea: ldnull
L_00eb: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_00f0: stloc.s 5 (Verse.Thing)
L_00f2: ldloc.s 5 (Verse.Thing)
L_00f4: ldarg.0
L_00f5: ldfld Verse.ThingDef def
L_00fa: ldfld System.Collections.Generic.List`1[Verse.ThingCountClass]
killedLeavings
L_00ff: ldloc.s 4 (System.Int32)
L_0101: callvirt Verse.ThingCountClass get_Item(Int32)
L_0106: ldfld System.Int32 count
L_010b: stfld System.Int32 stackCount
L_0110: ldloc.3
L_0111: ldloc.s 5 (Verse.Thing)
L_0113: ldc.i4.1
L_0114: callvirt Boolean TryAdd(Verse.Thing, Boolean)
L_0119: pop
L_011a: ldloc.s 4 (System.Int32)
L_011c: ldc.i4.1
L_011d: add
L_011e: stloc.s 4 (System.Int32)
L_0120: Label #12
L_0120: ldloc.s 4 (System.Int32)
L_0122: ldarg.0
L_0123: ldfld Verse.ThingDef def
L_0128: ldfld System.Collections.Generic.List`1[Verse.ThingCountClass]
killedLeavings
L_012d: callvirt Int32 get_Count()
L_0132: blt Label #13
L_0137: Label #10
L_0137: Label #11
L_0137: ldarg.0
L_0138: ldarg.2
L_0139: call Boolean CanBuildingLeaveResources(Verse.Thing, DestroyMode)
L_013e: brfalse Label #14
L_0143: ldarg.0
L_0144: isinst RimWorld.Frame
L_0149: stloc.s 6 (RimWorld.Frame)
L_014b: ldloc.s 6 (RimWorld.Frame)
L_014d: brfalse Label #15
L_0152: ldc.i4.0
L_0153: stloc.s 7 (System.Int32)
L_0155: br Label #16
L_015a: Label #18
L_015a: ldarg.0
L_015b: ldarg.2
L_015c: call System.Func`2[System.Int32,System.Int32]
GetBuildingResourcesLeaveCalculator(Verse.Thing, DestroyMode)
L_0161: ldloc.s 6 (RimWorld.Frame)
L_0163: ldfld Verse.ThingOwner resourceContainer
L_0168: ldloc.s 7 (System.Int32)
L_016a: callvirt Verse.Thing get_Item(Int32)
L_016f: ldfld System.Int32 stackCount
L_0174: callvirt Int32 Invoke(Int32)
L_0179: stloc.s 8 (System.Int32)
L_017b: ldloc.s 8 (System.Int32)
L_017d: ldc.i4.0
L_017e: ble Label #17
L_0183: ldloc.3
L_0184: ldloc.s 6 (RimWorld.Frame)
L_0186: ldfld Verse.ThingOwner resourceContainer
L_018b: ldloc.s 7 (System.Int32)
L_018d: callvirt Verse.Thing get_Item(Int32)
L_0192: ldloc.s 8 (System.Int32)
L_0194: ldc.i4.1
L_0195: callvirt Int32 TryAdd(Verse.Thing, Int32, Boolean)
L_019a: pop
L_019b: Label #17
L_019b: ldloc.s 7 (System.Int32)
L_019d: ldc.i4.1
L_019e: add
L_019f: stloc.s 7 (System.Int32)
L_01a1: Label #16
L_01a1: ldloc.s 7 (System.Int32)
L_01a3: ldloc.s 6 (RimWorld.Frame)
L_01a5: ldfld Verse.ThingOwner resourceContainer
L_01aa: callvirt Int32 get_Count()
L_01af: blt Label #18
L_01b4: br Label #19
L_01b9: Label #15
L_01b9: ldarg.0
L_01ba: call System.Collections.Generic.List`1[Verse.ThingCountClass]
CostListAdjusted(Verse.Thing)
L_01bf: stloc.s 9 (System.Collections.Generic.List`1[Verse.ThingCountClass])
L_01c1: ldc.i4.0
L_01c2: stloc.s 10 (System.Int32)
L_01c4: br Label #20
L_01c9: Label #28
L_01c9: ldloc.s 9 (System.Collections.Generic.List`1[Verse.ThingCountClass])
L_01cb: ldloc.s 10 (System.Int32)
L_01cd: callvirt Verse.ThingCountClass get_Item(Int32)
L_01d2: stloc.s 11 (Verse.ThingCountClass)
L_01d4: ldarg.0
L_01d5: ldarg.2
L_01d6: call System.Func`2[System.Int32,System.Int32]
GetBuildingResourcesLeaveCalculator(Verse.Thing, DestroyMode)
L_01db: ldloc.s 11 (Verse.ThingCountClass)
L_01dd: ldfld System.Int32 count
L_01e2: callvirt Int32 Invoke(Int32)
L_01e7: stloc.s 12 (System.Int32)
L_01e9: ldloc.s 12 (System.Int32)
L_01eb: ldc.i4.0
L_01ec: ble Label #21
L_01f1: ldarg.2
L_01f2: ldc.i4.1
L_01f3: bne.un Label #22
L_01f8: ldloc.s 11 (Verse.ThingCountClass)
L_01fa: ldfld Verse.ThingDef thingDef
L_01ff: ldfld Verse.ThingDef slagDef
L_0204: brfalse Label #23
L_0209: ldloc.s 11 (Verse.ThingCountClass)
L_020b: ldfld Verse.ThingDef thingDef
L_0210: ldfld Verse.ThingDef slagDef
L_0215: ldfld System.Collections.Generic.List`1[Verse.ThingCountClass]
smeltProducts
L_021a: ldsfld System.Func`2[Verse.ThingCountClass,System.Boolean] <>f__am$cache1
L_021f: brtrue Label #24
L_0224: ldnull
L_0225: ldftn Boolean <DoLeavingsFor>m__736(Verse.ThingCountClass)
L_022b: newobj Void .ctor(Object, IntPtr)
L_0230: stsfld System.Func`2[Verse.ThingCountClass,System.Boolean] <>f__am$cache1
L_0235: Label #24
L_0235: ldsfld System.Func`2[Verse.ThingCountClass,System.Boolean] <>f__am$cache1
L_023a: call Verse.ThingCountClass First[ThingCountClass](IEnumerable`1,
System.Func`2[Verse.ThingCountClass,System.Boolean])
L_023f: ldfld System.Int32 count
L_0244: stloc.s 13 (System.Int32)
L_0246: ldloc.s 12 (System.Int32)
L_0248: ldc.i4.2
L_0249: div
L_024a: ldc.i4.8
L_024b: div
L_024c: stloc.s 14 (System.Int32)
L_024e: ldc.i4.0
L_024f: stloc.s 15 (System.Int32)
L_0251: br Label #25
L_0256: Label #26
L_0256: ldloc.3
L_0257: ldloc.s 11 (Verse.ThingCountClass)
L_0259: ldfld Verse.ThingDef thingDef
L_025e: ldfld Verse.ThingDef slagDef
L_0263: ldnull
L_0264: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_0269: ldc.i4.1
L_026a: callvirt Boolean TryAdd(Verse.Thing, Boolean)
L_026f: pop
L_0270: ldloc.s 15 (System.Int32)
L_0272: ldc.i4.1
L_0273: add
L_0274: stloc.s 15 (System.Int32)
L_0276: Label #25
L_0276: ldloc.s 15 (System.Int32)
L_0278: ldloc.s 14 (System.Int32)
L_027a: blt Label #26
L_027f: ldloc.s 12 (System.Int32)
L_0281: ldloc.s 14 (System.Int32)
L_0283: ldloc.s 13 (System.Int32)
L_0285: mul
L_0286: sub
L_0287: stloc.s 12 (System.Int32)
L_0289: Label #21
L_0289: Label #22
L_0289: Label #23
L_0289: ldloc.s 12 (System.Int32)
L_028b: ldc.i4.0
L_028c: ble Label #27
L_0291: ldloc.s 11 (Verse.ThingCountClass)
L_0293: ldfld Verse.ThingDef thingDef
L_0298: ldnull
L_0299: call Verse.Thing MakeThing(Verse.ThingDef, Verse.ThingDef)
L_029e: stloc.s 16 (Verse.Thing)
L_02a0: ldloc.s 16 (Verse.Thing)
L_02a2: ldloc.s 12 (System.Int32)
L_02a4: stfld System.Int32 stackCount
L_02a9: ldloc.3
L_02aa: ldloc.s 16 (Verse.Thing)
L_02ac: ldc.i4.1
L_02ad: callvirt Boolean TryAdd(Verse.Thing, Boolean)
L_02b2: pop
L_02b3: Label #27
L_02b3: ldloc.s 10 (System.Int32)
L_02b5: ldc.i4.1
L_02b6: add
L_02b7: stloc.s 10 (System.Int32)
L_02b9: Label #20
L_02b9: ldloc.s 10 (System.Int32)
L_02bb: ldloc.s 9 (System.Collections.Generic.List`1[Verse.ThingCountClass])
L_02bd: callvirt Int32 get_Count()
L_02c2: blt Label #28
L_02c7: Label #14
L_02c7: Label #19
L_02c7: ldarga.s 3
L_02c9: call IEnumerable`1 get_Cells()
L_02ce: ldnull
L_02cf: call IEnumerable`1 InRandomOrder[IntVec3](IEnumerable`1, IList`1)
L_02d4: call System.Collections.Generic.List`1[Verse.IntVec3] ToList[IntVec3]
(IEnumerable`1)
L_02d9: stloc.s 17 (System.Collections.Generic.List`1[Verse.IntVec3])
L_02db: ldc.i4.0
L_02dc: stloc.s 18 (System.Int32)
L_02de: br Label #29
L_02e3: Label #34
L_02e3: ldarg.2
L_02e4: ldc.i4.1
L_02e5: bne.un Label #30
L_02ea: ldarg.1
L_02eb: ldfld Verse.AreaManager areaManager
L_02f0: callvirt RimWorld.Area_Home get_Home()
L_02f5: ldloc.s 17 (System.Collections.Generic.List`1[Verse.IntVec3])
L_02f7: ldloc.s 18 (System.Int32)
L_02f9: callvirt IntVec3 get_Item(Int32)
L_02fe: callvirt Boolean get_Item(IntVec3)
L_0303: brtrue Label #31
L_0308: ldloc.3
L_0309: ldc.i4.0
L_030a: callvirt Verse.Thing get_Item(Int32)
L_030f: ldc.i4.1
L_0310: ldc.i4.0
L_0311: call Void SetForbidden(Verse.Thing, Boolean, Boolean)
L_0316: Label #30
L_0316: Label #31
L_0316: ldloc.3
L_0317: ldloc.3
L_0318: ldc.i4.0
L_0319: callvirt Verse.Thing get_Item(Int32)
L_031e: ldloc.s 17 (System.Collections.Generic.List`1[Verse.IntVec3])
L_0320: ldloc.s 18 (System.Int32)
L_0322: callvirt IntVec3 get_Item(Int32)
L_0327: ldarg.1
L_0328: ldc.i4.1
L_0329: ldloca.s 19 (Verse.Thing)
L_032b: ldnull
L_032c: callvirt Boolean TryDrop(Verse.Thing, IntVec3, Verse.Map, ThingPlaceMode,
Verse.Thing ByRef, System.Action`2[Verse.Thing,System.Int32])
L_0331: brtrue Label #32
L_0336: ldc.i4.4
L_0337: newarr System.Object
L_033c: dup
L_033d: ldc.i4.0
L_033e: ldstr "Failed to place all leavings for destroyed thing "
L_0343: stelem.ref
L_0344: dup
L_0345: ldc.i4.1
L_0346: ldarg.0
L_0347: stelem.ref
L_0348: dup
L_0349: ldc.i4.2
L_034a: ldstr " at "
L_034f: stelem.ref
L_0350: dup
L_0351: ldc.i4.3
L_0352: ldarga.s 3
L_0354: call IntVec3 get_CenterCell()
L_0359: box Verse.IntVec3
L_035e: stelem.ref
L_035f: call System.String Concat(System.Object[])
L_0364: call Void Warning(System.String)
L_0369: br Label #0
L_036e: Label #32
L_036e: ldloc.s 18 (System.Int32)
L_0370: ldc.i4.1
L_0371: add
L_0372: stloc.s 18 (System.Int32)
L_0374: ldloc.s 18 (System.Int32)
L_0376: ldloc.s 17 (System.Collections.Generic.List`1[Verse.IntVec3])
L_0378: callvirt Int32 get_Count()
L_037d: blt Label #33
L_0382: ldc.i4.0
L_0383: stloc.s 18 (System.Int32)
L_0385: Label #29
L_0385: Label #33
L_0385: ldloc.3
L_0386: callvirt Int32 get_Count()
L_038b: ldc.i4.0
L_038c: bgt Label #34
L_0391: br Label #0
L_0396: Label #0
L_0396: Label #1
L_0396: ret
DONE

PATCHING Verse.AI.TouchPathEndModeUtility Boolean IsCornerTouchAllowed(Int32,


Int32, Int32, Int32, Int32, Int32, Verse.Map)
L_0000: Local var #0 Verse.Building
L_0000: Local var #1 Verse.IntVec3
L_0000: Local var #2 Verse.IntVec3
L_0000: Local var #3 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 3 (System.Boolean)
L_0006: ldarg 0
L_000c: ldarg 1
L_0012: ldarg 6
L_0018: ldloca 3 (System.Boolean)
L_001a: call Boolean IsCornerTouchAllowedPrefix(Int32, Int32, Verse.Map, Boolean
ByRef)
L_001f: brfalse Label #1
L_0024: ldarg.s 6
L_0026: ldfld Verse.EdificeGrid edificeGrid
L_002b: ldarg.0
L_002c: ldc.i4.0
L_002d: ldarg.1
L_002e: newobj Void .ctor(Int32, Int32, Int32)
L_0033: callvirt Verse.Building get_Item(IntVec3)
L_0038: stloc.0
L_0039: ldloc.0
L_003a: brfalse Label #2
L_003f: ldloc.0
L_0040: ldfld Verse.ThingDef def
L_0045: call Boolean MakesOccupiedCellsAlwaysReachableDiagonally(Verse.ThingDef)
L_004a: brfalse Label #3
L_004f: ldc.i4.1
L_0050: br Label #0
L_0055: Label #2
L_0055: Label #3
L_0055: ldloca.s 1 (Verse.IntVec3)
L_0057: ldarg.2
L_0058: ldc.i4.0
L_0059: ldarg.3
L_005a: call Void .ctor(Int32, Int32, Int32)
L_005f: ldloca.s 2 (Verse.IntVec3)
L_0061: ldarg.s 4
L_0063: ldc.i4.0
L_0064: ldarg.s 5
L_0066: call Void .ctor(Int32, Int32, Int32)
L_006b: ldarg.s 6
L_006d: ldfld Verse.AI.PathGrid pathGrid
L_0072: ldloc.1
L_0073: callvirt Boolean Walkable(IntVec3)
L_0078: brfalse Label #4
L_007d: ldloc.1
L_007e: ldarg.s 6
L_0080: call RimWorld.Building_Door GetDoor(IntVec3, Verse.Map)
L_0085: brfalse Label #5
L_008a: Label #4
L_008a: ldarg.s 6
L_008c: ldfld Verse.AI.PathGrid pathGrid
L_0091: ldloc.2
L_0092: callvirt Boolean Walkable(IntVec3)
L_0097: brfalse Label #6
L_009c: ldloc.2
L_009d: ldarg.s 6
L_009f: call RimWorld.Building_Door GetDoor(IntVec3, Verse.Map)
L_00a4: brtrue Label #7
L_00a9: Label #5
L_00a9: ldc.i4.1
L_00aa: br Label #0
L_00af: Label #6
L_00af: Label #7
L_00af: ldc.i4.0
L_00b0: br Label #0
L_00b5: Label #0
L_00b5: stloc 3 (System.Boolean)
L_00b6: Label #1
L_00b6: ldloc 3 (System.Boolean)
L_00b7: ret
DONE

PATCHING RimWorld.Building_Trap Boolean KnowsOfTrap(Verse.Pawn)


L_0000: Local var #0 Verse.AI.Group.Lord
L_0000: Local var #1 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 1 (System.Boolean)
L_0006: ldarg.1
L_0007: callvirt RimWorld.Faction get_Faction()
L_000c: brfalse Label #2
L_0011: ldarg.1
L_0012: callvirt RimWorld.Faction get_Faction()
L_0017: ldarg.0
L_0018: call RimWorld.Faction get_Faction()
L_001d: call Boolean HostileTo(RimWorld.Faction, RimWorld.Faction)
L_0022: brtrue Label #3
L_0027: ldc.i4.1
L_0028: br Label #0
L_002d: Label #2
L_002d: Label #3
L_002d: ldarg.1
L_002e: callvirt RimWorld.Faction get_Faction()
L_0033: brtrue Label #4
L_0038: ldarg.1
L_0039: callvirt Verse.RaceProperties get_RaceProps()
L_003e: callvirt Boolean get_Animal()
L_0043: brfalse Label #5
L_0048: ldarg.1
L_0049: callvirt Boolean get_InAggroMentalState()
L_004e: brtrue Label #6
L_0053: ldc.i4.1
L_0054: br Label #0
L_0059: Label #4
L_0059: Label #5
L_0059: Label #6
L_0059: ldarg.1
L_005a: ldfld RimWorld.Pawn_GuestTracker guest
L_005f: brfalse Label #7
L_0064: ldarg.1
L_0065: ldfld RimWorld.Pawn_GuestTracker guest
L_006a: ldfld System.Boolean released
L_006f: brfalse Label #8
L_0074: ldc.i4.1
L_0075: br Label #0
L_007a: Label #7
L_007a: Label #8
L_007a: ldarg.1
L_007b: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_0080: stloc.0
L_0081: ldarg.1
L_0082: ldfld RimWorld.Pawn_GuestTracker guest
L_0087: brfalse Label #9
L_008c: ldloc.0
L_008d: brfalse Label #10
L_0092: ldloc.0
L_0093: callvirt Verse.AI.Group.LordJob get_LordJob()
L_0098: isinst RimWorld.LordJob_FormAndSendCaravan
L_009d: brfalse Label #11
L_00a2: ldc.i4.1
L_00a3: br Label #0
L_00a8: Label #9
L_00a8: Label #10
L_00a8: Label #11
L_00a8: ldc.i4.0
L_00a9: br Label #0
L_00ae: Label #0
L_00ae: stloc 1 (System.Boolean)
L_00af: ldarg.0
L_00b0: ldloca 1 (System.Boolean)
L_00b2: ldarg 1
L_00b8: call Void KnowsOfTrap_PostFix(RimWorld.Building_Trap, Boolean ByRef,
Verse.Pawn)
L_00bd: ldloc 1 (System.Boolean)
L_00be: ret
DONE

PATCHING RimWorld.Building_Trap Single SpringChance(Verse.Pawn)


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Single
L_0000: ldc.r4 0
L_0005: stloc 1 (System.Single)
L_0006: ldarg.0
L_0007: ldarg.1
L_0008: call Boolean KnowsOfTrap(Verse.Pawn)
L_000d: brfalse Label #2
L_0012: ldc.r4 0.004
L_0017: stloc.0
L_0018: br Label #3
L_001d: Label #2
L_001d: ldarg.0
L_001e: ldsfld RimWorld.StatDef TrapSpringChance
L_0023: ldc.i4.1
L_0024: call Single GetStatValue(Verse.Thing, RimWorld.StatDef, Boolean)
L_0029: stloc.0
L_002a: Label #3
L_002a: ldloc.0
L_002b: ldc.r4 0.4
L_0030: ldc.r4 0.8
L_0035: ldc.r4 0
L_003a: ldc.r4 1
L_003f: ldarg.1
L_0040: callvirt Single get_BodySize()
L_0045: call Single LerpDouble(Single, Single, Single, Single, Single)
L_004a: mul
L_004b: stloc.0
L_004c: ldarg.1
L_004d: callvirt Verse.RaceProperties get_RaceProps()
L_0052: callvirt Boolean get_Animal()
L_0057: brfalse Label #4
L_005c: ldloc.0
L_005d: ldc.r4 0.1
L_0062: mul
L_0063: stloc.0
L_0064: Label #4
L_0064: ldloc.0
L_0065: call Single Clamp01(Single)
L_006a: br Label #0
L_006f: Label #0
L_006f: stloc 1 (System.Single)
L_0070: ldarg.0
L_0071: ldloca 1 (System.Single)
L_0073: ldarg 1
L_0079: call Void SpringChance_PostFix(RimWorld.Building_Trap, Single ByRef,
Verse.Pawn)
L_007e: ldloc 1 (System.Single)
L_007f: ret
DONE

PATCHING RimWorld.Building_TrapRearmable Void DamagePawn(Verse.Pawn)


L_0000: Local var #0 Verse.BodyPartHeight
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Int32
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Int32
L_0000: Local var #5 Verse.DamageInfo
L_0000: Local var #6 Verse.FloatRange
L_0000: Local var #7 Verse.IntRange
L_0000: Local var #8 RimWorld.Building_TrapRearmable
L_0000: ldarg.0
L_0001: ldarg 1
L_0007: call Void DamagePawn_PreFix(RimWorld.Building_TrapRearmable, Verse.Pawn)
L_000c: call Single get_Value()
L_0011: ldc.r4 0.666
L_0016: bge.un Label #2
L_001b: ldc.i4.3
L_001c: br Label #3
L_0021: Label #2
L_0021: ldc.i4.2
L_0022: Label #3
L_0022: stloc.0
L_0023: ldarg.0
L_0024: ldsfld RimWorld.StatDef TrapMeleeDamage
L_0029: ldc.i4.1
L_002a: call Single GetStatValue(Verse.Thing, RimWorld.StatDef, Boolean)
L_002f: ldsfld Verse.FloatRange TrapDamageFactor
L_0034: stloc.s 6 (Verse.FloatRange)
L_0036: ldloca.s 6 (Verse.FloatRange)
L_0038: call Single get_RandomInRange()
L_003d: mul
L_003e: call Int32 RoundToInt(Single)
L_0043: stloc.1
L_0044: ldsfld Verse.IntRange DamageCount
L_0049: stloc.s 7 (Verse.IntRange)
L_004b: ldloca.s 7 (Verse.IntRange)
L_004d: call Int32 get_RandomInRange()
L_0052: stloc.2
L_0053: ldc.i4.0
L_0054: stloc.3
L_0055: br Label #4
L_005a: Label #7
L_005a: ldloc.1
L_005b: ldc.i4.0
L_005c: bgt Label #5
L_0061: br Label #6
L_0066: Label #5
L_0066: ldc.i4.1
L_0067: call Single get_Value()
L_006c: ldloc.1
L_006d: conv.r4
L_006e: mul
L_006f: call Int32 RoundToInt(Single)
L_0074: call Int32 Max(Int32, Int32)
L_0079: stloc.s 4 (System.Int32)
L_007b: ldloc.1
L_007c: ldloc.s 4 (System.Int32)
L_007e: sub
L_007f: stloc.1
L_0080: ldloca.s 5 (Verse.DamageInfo)
L_0082: ldarg.0
L_0083: stloc.s 8 (RimWorld.Building_TrapRearmable)
L_0085: ldsfld Verse.DamageDef Stab
L_008a: ldloc.s 4 (System.Int32)
L_008c: ldc.r4 -1
L_0091: ldloc.s 8 (RimWorld.Building_TrapRearmable)
L_0093: ldnull
L_0094: ldnull
L_0095: ldc.i4.0
L_0096: call Void .ctor(DamageDef, Int32, Single, Thing, BodyPartRecord, ThingDef,
SourceCategory)
L_009b: ldloca.s 5 (Verse.DamageInfo)
L_009d: ldloc.0
L_009e: ldc.i4.2
L_009f: call Void SetBodyRegion(BodyPartHeight, BodyPartDepth)
L_00a4: ldarg.1
L_00a5: ldloc.s 5 (Verse.DamageInfo)
L_00a7: callvirt Void TakeDamage(DamageInfo)
L_00ac: ldloc.3
L_00ad: ldc.i4.1
L_00ae: add
L_00af: stloc.3
L_00b0: Label #4
L_00b0: ldloc.3
L_00b1: ldloc.2
L_00b2: blt Label #7
L_00b7: Label #6
L_00b7: br Label #0
L_00bc: Label #0
L_00bc: ret
DONE

PATCHING RimWorld.AddictionUtility Boolean CanBingeOnNow(Verse.Pawn,


RimWorld.ChemicalDef, DrugCategory)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 RimWorld.CompDrug
L_0000: Local var #4 Verse.IntVec3
L_0000: Local var #5 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 5 (System.Boolean)
L_0007: ldloca 5 (System.Boolean)
L_0009: ldarg 0
L_000f: call Boolean Prefix(Boolean ByRef, Verse.Pawn)
L_0014: brfalse Label #1
L_0019: ldarg.1
L_001a: ldfld System.Boolean canBinge
L_001f: brtrue Label #2
L_0024: ldc.i4.0
L_0025: br Label #0
L_002a: Label #2
L_002a: ldarg.0
L_002b: callvirt Boolean get_Spawned()
L_0030: brtrue Label #3
L_0035: ldc.i4.0
L_0036: br Label #0
L_003b: Label #3
L_003b: ldarg.0
L_003c: callvirt Verse.Map get_Map()
L_0041: ldfld Verse.ListerThings listerThings
L_0046: ldc.i4.s 20
L_0048: callvirt System.Collections.Generic.List`1[Verse.Thing]
ThingsInGroup(ThingRequestGroup)
L_004d: stloc.1
L_004e: ldc.i4.0
L_004f: stloc.2
L_0050: br Label #4
L_0055: Label #17
L_0055: ldloc.1
L_0056: ldloc.2
L_0057: callvirt Verse.Thing get_Item(Int32)
L_005c: callvirt IntVec3 get_Position()
L_0061: ldloc.1
L_0062: ldloc.2
L_0063: callvirt Verse.Thing get_Item(Int32)
L_0068: callvirt Verse.Map get_Map()
L_006d: call Boolean Fogged(IntVec3, Verse.Map)
L_0072: brfalse Label #5
L_0077: br Label #6
L_007c: Label #5
L_007c: ldarg.2
L_007d: ldc.i4.1
L_007e: beq Label #7
L_0083: ldloc.1
L_0084: ldloc.2
L_0085: callvirt Verse.Thing get_Item(Int32)
L_008a: ldfld Verse.ThingDef def
L_008f: ldfld RimWorld.IngestibleProperties ingestible
L_0094: ldfld RimWorld.DrugCategory drugCategory
L_0099: ldarg.2
L_009a: beq Label #8
L_009f: br Label #9
L_00a4: Label #7
L_00a4: Label #8
L_00a4: ldloc.1
L_00a5: ldloc.2
L_00a6: callvirt Verse.Thing get_Item(Int32)
L_00ab: call RimWorld.CompDrug TryGetComp[CompDrug](Verse.Thing)
L_00b0: stloc.3
L_00b1: ldloc.3
L_00b2: callvirt RimWorld.CompProperties_Drug get_Props()
L_00b7: ldfld RimWorld.ChemicalDef chemical
L_00bc: ldarg.1
L_00bd: beq Label #10
L_00c2: br Label #11
L_00c7: Label #10
L_00c7: ldloc.1
L_00c8: ldloc.2
L_00c9: callvirt Verse.Thing get_Item(Int32)
L_00ce: callvirt IntVec3 get_Position()
L_00d3: ldloc.1
L_00d4: ldloc.2
L_00d5: callvirt Verse.Thing get_Item(Int32)
L_00da: callvirt Verse.Map get_Map()
L_00df: call Boolean Roofed(IntVec3, Verse.Map)
L_00e4: brtrue Label #12
L_00e9: ldloc.1
L_00ea: ldloc.2
L_00eb: callvirt Verse.Thing get_Item(Int32)
L_00f0: callvirt IntVec3 get_Position()
L_00f5: stloc.s 4 (Verse.IntVec3)
L_00f7: ldloca.s 4 (Verse.IntVec3)
L_00f9: ldarg.0
L_00fa: callvirt IntVec3 get_Position()
L_00ff: ldc.r4 45
L_0104: call Boolean InHorDistOf(IntVec3, Single)
L_0109: brtrue Label #13
L_010e: br Label #14
L_0113: Label #12
L_0113: Label #13
L_0113: ldarg.0
L_0114: ldloc.1
L_0115: ldloc.2
L_0116: callvirt Verse.Thing get_Item(Int32)
L_011b: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0120: ldc.i4.3
L_0121: ldc.i4.3
L_0122: ldc.i4.0
L_0123: ldc.i4.0
L_0124: call Boolean CanReach(Verse.Pawn, LocalTargetInfo, PathEndMode, Danger,
Boolean, TraverseMode)
L_0129: brtrue Label #15
L_012e: br Label #16
L_0133: Label #15
L_0133: ldc.i4.1
L_0134: br Label #0
L_0139: Label #6
L_0139: Label #9
L_0139: Label #11
L_0139: Label #14
L_0139: Label #16
L_0139: ldloc.2
L_013a: ldc.i4.1
L_013b: add
L_013c: stloc.2
L_013d: Label #4
L_013d: ldloc.2
L_013e: ldloc.1
L_013f: callvirt Int32 get_Count()
L_0144: blt Label #17
L_0149: ldc.i4.0
L_014a: br Label #0
L_014f: Label #0
L_014f: stloc 5 (System.Boolean)
L_0151: Label #1
L_0151: ldarg 0
L_0157: ldarg 1
L_015d: ldloca 5 (System.Boolean)
L_015f: call Void CanBingeNowPostfix(Verse.Pawn, RimWorld.ChemicalDef, Boolean
ByRef)
L_0164: ldloc 5 (System.Boolean)
L_0166: ret
DONE

PATCHING RimWorld.Building_Bed Void set_ForPrisoners(Boolean)


L_0000: ldarg.1
L_0001: ldarg.0
L_0002: ldfld System.Boolean forPrisonersInt
L_0007: beq Label #2
L_000c: ldarg.0
L_000d: ldfld Verse.ThingDef def
L_0012: ldfld RimWorld.BuildingProperties building
L_0017: ldfld System.Boolean bed_humanlike
L_001c: brtrue Label #3
L_0021: Label #2
L_0021: br Label #0
L_0026: Label #3
L_0026: call ProgramState get_ProgramState()
L_002b: ldc.i4.2
L_002c: beq Label #4
L_0031: ldstr "Tried to set ForPrisoners while game mode was "
L_0036: call ProgramState get_ProgramState()
L_003b: box Verse.ProgramState
L_0040: call System.String Concat(System.Object, System.Object)
L_0045: call Void Error(System.String)
L_004a: br Label #0
L_004f: Label #4
L_004f: ldarg.0
L_0050: call Void RemoveAllOwners()
L_0055: ldarg.0
L_0056: ldarg.1
L_0057: stfld System.Boolean forPrisonersInt
L_005c: ldarg.0
L_005d: callvirt Void Notify_ColorChanged()
L_0062: ldarg.0
L_0063: call Boolean get_Spawned()
L_0068: brfalse Label #5
L_006d: ldarg.0
L_006e: call Verse.Map get_Map()
L_0073: ldfld Verse.MapDrawer mapDrawer
L_0078: ldarg.0
L_0079: call IntVec3 get_Position()
L_007e: ldc.i4.1
L_007f: callvirt Void MapMeshDirty(IntVec3, MapMeshFlag)
L_0084: ldarg.0
L_0085: call Void NotifyRoomBedTypeChanged()
L_008a: Label #5
L_008a: br Label #0
L_008f: Label #0
L_008f: ldarg.0
L_0090: call Void Postfix(RimWorld.Building_Bed)
L_0095: ret
DONE

PATCHING RimWorld.Building_Bed IEnumerable`1 GetGizmos()


L_0000: Local var #0 RimWorld.Building_Bed+<GetGizmos>c__Iterator154
L_0000: Local var #1 System.Collections.Generic.IEnumerable`1[[Verse.Gizmo,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: ldnull
L_0001: stloc 1 (System.Collections.Generic.IEnumerable`1[Verse.Gizmo])
L_0002: newobj Void .ctor()
L_0007: stloc.0
L_0008: ldloc.0
L_0009: ldarg.0
L_000a: stfld RimWorld.Building_Bed <>f__this
L_000f: ldloc.0
L_0010: dup
L_0011: ldc.i4.s -2
L_0013: stfld System.Int32 $PC
L_0018: br Label #0
L_001d: Label #0
L_001d: stloc 1 (System.Collections.Generic.IEnumerable`1[Verse.Gizmo])
L_001e: ldarg.0
L_001f: ldloca 1 (System.Collections.Generic.IEnumerable`1[Verse.Gizmo])
L_0021: call Void Postfix(RimWorld.Building_Bed, IEnumerable`1 ByRef)
L_0026: ldloc 1 (System.Collections.Generic.IEnumerable`1[Verse.Gizmo])
L_0027: ret
DONE

PATCHING RimWorld.JoyGiver_Ingest Boolean CanIngestForJoy(Verse.Pawn, Verse.Thing)


L_0000: Local var #0 System.Int32
L_0000: Local var #1 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 1 (System.Boolean)
L_0006: ldarg.2
L_0007: ldfld Verse.ThingDef def
L_000c: callvirt Boolean get_IsIngestible()
L_0011: brfalse Label #2
L_0016: ldarg.2
L_0017: ldfld Verse.ThingDef def
L_001c: ldfld RimWorld.IngestibleProperties ingestible
L_0021: ldfld RimWorld.JoyKindDef joyKind
L_0026: brfalse Label #3
L_002b: ldarg.2
L_002c: ldfld Verse.ThingDef def
L_0031: ldfld RimWorld.IngestibleProperties ingestible
L_0036: ldfld System.Single joy
L_003b: ldc.r4 0
L_0040: bgt.un Label #4
L_0045: Label #2
L_0045: Label #3
L_0045: ldc.i4.0
L_0046: br Label #0
L_004b: Label #4
L_004b: ldarg.2
L_004c: callvirt Boolean get_Spawned()
L_0051: brfalse Label #5
L_0056: ldarg.1
L_0057: ldarg.2
L_0058: call LocalTargetInfo op_Implicit(Verse.Thing)
L_005d: ldc.i4.1
L_005e: ldc.i4.m1
L_005f: ldnull
L_0060: ldc.i4.0
L_0061: call Boolean CanReserve(Verse.Pawn, LocalTargetInfo, Int32, Int32,
Verse.ReservationLayerDef, Boolean)
L_0066: brtrue Label #6
L_006b: ldc.i4.0
L_006c: br Label #0
L_0071: Label #6
L_0071: ldarg.2
L_0072: ldarg.1
L_0073: call Boolean IsForbidden(Verse.Thing, Verse.Pawn)
L_0078: brfalse Label #7
L_007d: ldc.i4.0
L_007e: br Label #0
L_0083: Label #7
L_0083: ldarg.2
L_0084: ldarg.1
L_0085: call Boolean IsSociallyProper(Verse.Thing, Verse.Pawn)
L_008a: brtrue Label #8
L_008f: ldc.i4.0
L_0090: br Label #0
L_0095: Label #5
L_0095: Label #8
L_0095: ldarg.2
L_0096: ldfld Verse.ThingDef def
L_009b: callvirt Boolean get_IsDrug()
L_00a0: brfalse Label #9
L_00a5: ldarg.1
L_00a6: ldfld RimWorld.Pawn_DrugPolicyTracker drugs
L_00ab: brfalse Label #10
L_00b0: ldarg.1
L_00b1: ldfld RimWorld.Pawn_DrugPolicyTracker drugs
L_00b6: callvirt RimWorld.DrugPolicy get_CurrentPolicy()
L_00bb: ldarg.2
L_00bc: ldfld Verse.ThingDef def
L_00c1: callvirt RimWorld.DrugPolicyEntry get_Item(Verse.ThingDef)
L_00c6: ldfld System.Boolean allowedForJoy
L_00cb: brtrue Label #11
L_00d0: ldarg.1
L_00d1: ldfld RimWorld.Pawn_StoryTracker story
L_00d6: brfalse Label #12
L_00db: ldarg.1
L_00dc: ldfld RimWorld.Pawn_StoryTracker story
L_00e1: ldfld RimWorld.TraitSet traits
L_00e6: ldsfld RimWorld.TraitDef DrugDesire
L_00eb: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_00f0: stloc.0
L_00f1: ldloc.0
L_00f2: ldc.i4.0
L_00f3: bgt Label #13
L_00f8: ldarg.1
L_00f9: callvirt Boolean get_InMentalState()
L_00fe: brtrue Label #14
L_0103: ldc.i4.0
L_0104: br Label #0
L_0109: Label #9
L_0109: Label #10
L_0109: Label #11
L_0109: Label #12
L_0109: Label #13
L_0109: Label #14
L_0109: ldc.i4.1
L_010a: br Label #0
L_010f: Label #0
L_010f: stloc 1 (System.Boolean)
L_0110: ldloca 1 (System.Boolean)
L_0112: ldarg 1
L_0118: ldarg 2
L_011e: call Void Postfix(Boolean ByRef, Verse.Pawn, Verse.Thing)
L_0123: ldloc 1 (System.Boolean)
L_0124: ret
DONE

PATCHING Verse.ModContentPack System.String ToString()


L_0000: Local var #0 System.String
L_0000: ldnull
L_0001: stloc 0 (System.String)
L_0002: ldarg.0
L_0003: ldloca 0 (System.String)
L_0005: call Boolean Replacement(Verse.ModContentPack, System.String ByRef)
L_000a: brfalse Label #1
L_000f: ldarg.0
L_0010: call System.String get_Identifier()
L_0015: br Label #0
L_001a: Label #0
L_001a: stloc 0 (System.String)
L_001b: Label #1
L_001b: ldloc 0 (System.String)
L_001c: ret
DONE

PATCHING RimWorld.DrugPolicy RimWorld.DrugPolicyEntry get_Item(Verse.ThingDef)


L_0000: Local var #0 System.Int32
L_0000: Local var #1 RimWorld.DrugPolicyEntry
L_0000: ldnull
L_0001: stloc 1 (RimWorld.DrugPolicyEntry)
L_0002: ldc.i4.0
L_0003: stloc.0
L_0004: br Label #2
L_0009: Label #4
L_0009: ldarg.0
L_000a: ldfld System.Collections.Generic.List`1[RimWorld.DrugPolicyEntry]
entriesInt
L_000f: ldloc.0
L_0010: callvirt RimWorld.DrugPolicyEntry get_Item(Int32)
L_0015: ldfld Verse.ThingDef drug
L_001a: ldarg.1
L_001b: bne.un Label #3
L_0020: ldarg.0
L_0021: ldfld System.Collections.Generic.List`1[RimWorld.DrugPolicyEntry]
entriesInt
L_0026: ldloc.0
L_0027: callvirt RimWorld.DrugPolicyEntry get_Item(Int32)
L_002c: br Label #0
L_0031: Label #3
L_0031: ldloc.0
L_0032: ldc.i4.1
L_0033: add
L_0034: stloc.0
L_0035: Label #2
L_0035: ldloc.0
L_0036: ldarg.0
L_0037: ldfld System.Collections.Generic.List`1[RimWorld.DrugPolicyEntry]
entriesInt
L_003c: callvirt Int32 get_Count()
L_0041: blt Label #4
L_0046: newobj Void .ctor()
L_004b: throw
L_004c: Label #0
L_004c: stloc 1 (RimWorld.DrugPolicyEntry)
L_004d: ldarg.0
L_004e: ldloca 1 (RimWorld.DrugPolicyEntry)
L_0050: ldarg 1
L_0056: call Void Postfix(RimWorld.DrugPolicy, RimWorld.DrugPolicyEntry ByRef,
Verse.ThingDef)
L_005b: ldloc 1 (RimWorld.DrugPolicyEntry)
L_005c: ret
DONE

PATCHING RimWorld.FactionDialogMaker Verse.DiaOption OfferGiftOption(Verse.Map)


L_0000: Local var #0 Verse.DiaOption
L_0000: Local var #1 Verse.DiaOption
L_0000: Local var #2 System.String
L_0000: Local var #3 Verse.DiaNode
L_0000: Local var #4 RimWorld.FactionDialogMaker+<OfferGiftOption>c__AnonStorey35F
L_0000: Local var #5 Verse.DiaOption
L_0000: ldnull
L_0001: stloc 5 (Verse.DiaOption)
L_0003: ldloca 5 (Verse.DiaOption)
L_0005: ldarg 0
L_000b: call Boolean Replacement(Verse.DiaOption ByRef, Verse.Map)
L_0010: brfalse Label #1
L_0015: newobj Void .ctor()
L_001a: stloc.s 4 (RimWorld.FactionDialogMaker+<OfferGiftOption>c__AnonStorey35F)
L_001c: ldloc.s 4 (RimWorld.FactionDialogMaker+<OfferGiftOption>c__AnonStorey35F)
L_001e: ldarg.0
L_001f: stfld Verse.Map map
L_0024: ldloc.s 4 (RimWorld.FactionDialogMaker+<OfferGiftOption>c__AnonStorey35F)
L_0026: ldfld Verse.Map map
L_002b: call Int32 AmountSendableSilver(Verse.Map)
L_0030: ldc.i4 300
L_0035: bge Label #2
L_003a: ldstr "OfferGift"
L_003f: call System.String Translate(System.String)
L_0044: newobj Void .ctor(String)
L_0049: stloc.0
L_004a: ldloc.0
L_004b: ldstr "NeedSilverLaunchable"
L_0050: ldc.i4.1
L_0051: newarr System.Object
L_0056: dup
L_0057: ldc.i4.0
L_0058: ldc.i4 300
L_005d: box System.Int32
L_0062: stelem.ref
L_0063: call System.String Translate(System.String, System.Object[])
L_0068: callvirt Void Disable(System.String)
L_006d: ldloc.0
L_006e: br Label #0
L_0073: Label #2
L_0073: ldloc.s 4 (RimWorld.FactionDialogMaker+<OfferGiftOption>c__AnonStorey35F)
L_0075: ldc.r4 12
L_007a: ldsfld Verse.Pawn negotiator
L_007f: ldsfld RimWorld.StatDef GiftImpact
L_0084: ldc.i4.1
L_0085: call Single GetStatValue(Verse.Thing, RimWorld.StatDef, Boolean)
L_008a: mul
L_008b: stfld System.Single goodwillDelta
L_0090: ldstr "OfferGift"
L_0095: call System.String Translate(System.String)
L_009a: ldstr " ("
L_009f: ldstr "SilverForGoodwill"
L_00a4: ldc.i4.2
L_00a5: newarr System.Object
L_00aa: dup
L_00ab: ldc.i4.0
L_00ac: ldc.i4 300
L_00b1: box System.Int32
L_00b6: stelem.ref
L_00b7: dup
L_00b8: ldc.i4.1
L_00b9: ldloc.s 4 (RimWorld.FactionDialogMaker+<OfferGiftOption>c__AnonStorey35F)
L_00bb: ldflda System.Single goodwillDelta
L_00c0: ldstr "#####0"
L_00c5: call System.String ToString(System.String)
L_00ca: stelem.ref
L_00cb: call System.String Translate(System.String, System.Object[])
L_00d0: ldstr ")"
L_00d5: call System.String Concat(System.String, System.String, System.String,
System.String)
L_00da: newobj Void .ctor(String)
L_00df: stloc.1
L_00e0: ldloc.1
L_00e1: ldloc.s 4 (RimWorld.FactionDialogMaker+<OfferGiftOption>c__AnonStorey35F)
L_00e3: ldftn Void <>m__37B()
L_00e9: newobj Void .ctor(Object, IntPtr)
L_00ee: stfld System.Action action
L_00f3: ldstr "SilverGiftSent"
L_00f8: ldc.i4.2
L_00f9: newarr System.Object
L_00fe: dup
L_00ff: ldc.i4.0
L_0100: ldsfld RimWorld.Faction faction
L_0105: ldfld Verse.Pawn leader
L_010a: call System.String LabelIndefinite(Verse.Pawn)
L_010f: stelem.ref
L_0110: dup
L_0111: ldc.i4.1
L_0112: ldloc.s 4 (RimWorld.FactionDialogMaker+<OfferGiftOption>c__AnonStorey35F)
L_0114: ldfld System.Single goodwillDelta
L_0119: call Int32 RoundToInt(Single)
L_011e: box System.Int32
L_0123: stelem.ref
L_0124: call System.String Translate(System.String, System.Object[])
L_0129: call System.String CapitalizeFirst(System.String)
L_012e: stloc.2
L_012f: ldloc.2
L_0130: newobj Void .ctor(String)
L_0135: stloc.3
L_0136: ldloc.3
L_0137: ldfld System.Collections.Generic.List`1[Verse.DiaOption] options
L_013c: call Verse.DiaOption OKToRoot()
L_0141: callvirt Void Add(Verse.DiaOption)
L_0146: ldloc.1
L_0147: ldloc.3
L_0148: stfld Verse.DiaNode link
L_014d: ldloc.1
L_014e: br Label #0
L_0153: Label #0
L_0153: stloc 5 (Verse.DiaOption)
L_0155: Label #1
L_0155: ldloc 5 (Verse.DiaOption)
L_0157: ret
DONE

PATCHING RimWorld.ForbidUtility Boolean CaresAboutForbidden(Verse.Pawn, Boolean)


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldloca 0 (System.Boolean)
L_0008: ldarg 0
L_000e: ldarg 1
L_0014: call Boolean Replacement(Boolean ByRef, Verse.Pawn, Boolean)
L_0019: brfalse Label #1
L_001e: ldarg.0
L_001f: callvirt RimWorld.Faction get_HostFaction()
L_0024: brfalse Label #2
L_0029: ldc.i4.0
L_002a: br Label #0
L_002f: Label #2
L_002f: ldarg.0
L_0030: callvirt Boolean get_InMentalState()
L_0035: brfalse Label #3
L_003a: ldc.i4.0
L_003b: br Label #0
L_0040: Label #3
L_0040: ldarg.1
L_0041: brfalse Label #4
L_0046: ldarg.0
L_0047: call Boolean ShouldFollowMaster(Verse.Pawn)
L_004c: brfalse Label #5
L_0051: ldc.i4.0
L_0052: br Label #0
L_0057: Label #4
L_0057: Label #5
L_0057: ldc.i4.1
L_0058: br Label #0
L_005d: Label #0
L_005d: stloc 0 (System.Boolean)
L_005e: Label #1
L_005e: ldloc 0 (System.Boolean)
L_005f: ret
DONE

PATCHING RimWorld.ITab_Pawn_Gear Void InterfaceDrop(Verse.Thing)


L_0000: Local var #0 Verse.ThingWithComps
L_0000: Local var #1 RimWorld.Apparel
L_0000: Local var #2 Verse.Thing
L_0000: ldarg.0
L_0001: ldarg 1
L_0007: call Boolean InterfaceDropPreFix(RimWorld.ITab_Pawn_Gear, Verse.Thing)
L_000c: brfalse Label #1
L_0011: ldarg.0
L_0012: ldarg 1
L_0018: call Boolean Prefix(RimWorld.ITab_Pawn_Gear, Verse.Thing)
L_001d: brfalse Label #1
L_0022: ldarg.1
L_0023: isinst Verse.ThingWithComps
L_0028: stloc.0
L_0029: ldarg.1
L_002a: isinst RimWorld.Apparel
L_002f: stloc.1
L_0030: ldloc.1
L_0031: brfalse Label #2
L_0036: ldarg.0
L_0037: call Verse.Pawn get_SelPawnForGear()
L_003c: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0041: brfalse Label #3
L_0046: ldarg.0
L_0047: call Verse.Pawn get_SelPawnForGear()
L_004c: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0051: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_0056: ldloc.1
L_0057: callvirt Boolean Contains(RimWorld.Apparel)
L_005c: brfalse Label #4
L_0061: ldarg.0
L_0062: call Verse.Pawn get_SelPawnForGear()
L_0067: ldfld Verse.AI.Pawn_JobTracker jobs
L_006c: ldsfld Verse.JobDef RemoveApparel
L_0071: ldloc.1
L_0072: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0077: newobj Void .ctor(JobDef, LocalTargetInfo)
L_007c: ldc.i4.0
L_007d: callvirt Boolean TryTakeOrderedJob(Verse.AI.Job, JobTag)
L_0082: pop
L_0083: br Label #5
L_0088: Label #2
L_0088: Label #3
L_0088: Label #4
L_0088: ldloc.0
L_0089: brfalse Label #6
L_008e: ldarg.0
L_008f: call Verse.Pawn get_SelPawnForGear()
L_0094: ldfld Verse.Pawn_EquipmentTracker equipment
L_0099: brfalse Label #7
L_009e: ldarg.0
L_009f: call Verse.Pawn get_SelPawnForGear()
L_00a4: ldfld Verse.Pawn_EquipmentTracker equipment
L_00a9: callvirt System.Collections.Generic.List`1[Verse.ThingWithComps]
get_AllEquipmentListForReading()
L_00ae: ldloc.0
L_00af: callvirt Boolean Contains(Verse.ThingWithComps)
L_00b4: brfalse Label #8
L_00b9: ldarg.0
L_00ba: call Verse.Pawn get_SelPawnForGear()
L_00bf: ldfld Verse.AI.Pawn_JobTracker jobs
L_00c4: ldsfld Verse.JobDef DropEquipment
L_00c9: ldloc.0
L_00ca: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00cf: newobj Void .ctor(JobDef, LocalTargetInfo)
L_00d4: ldc.i4.0
L_00d5: callvirt Boolean TryTakeOrderedJob(Verse.AI.Job, JobTag)
L_00da: pop
L_00db: br Label #9
L_00e0: Label #6
L_00e0: Label #7
L_00e0: Label #8
L_00e0: ldarg.1
L_00e1: ldfld Verse.ThingDef def
L_00e6: ldfld System.Boolean destroyOnDrop
L_00eb: brtrue Label #10
L_00f0: ldarg.0
L_00f1: call Verse.Pawn get_SelPawnForGear()
L_00f6: ldfld Verse.Pawn_InventoryTracker inventory
L_00fb: ldfld Verse.ThingOwner`1[Verse.Thing] innerContainer
L_0100: ldarg.1
L_0101: ldarg.0
L_0102: call Verse.Pawn get_SelPawnForGear()
L_0107: callvirt IntVec3 get_Position()
L_010c: ldarg.0
L_010d: call Verse.Pawn get_SelPawnForGear()
L_0112: callvirt Verse.Map get_Map()
L_0117: ldc.i4.1
L_0118: ldloca.s 2 (Verse.Thing)
L_011a: ldnull
L_011b: callvirt Boolean TryDrop(Verse.Thing, IntVec3, Verse.Map, ThingPlaceMode,
Verse.Thing ByRef, System.Action`2[Verse.Thing,System.Int32])
L_0120: pop
L_0121: Label #5
L_0121: Label #9
L_0121: Label #10
L_0121: br Label #0
L_0126: Label #0
L_0126: Label #1
L_0126: ret
DONE

PATCHING RimWorld.ITab_Pawn_Guest Boolean get_IsVisible()


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 Verse.Pawn get_SelPawn()
L_000c: callvirt RimWorld.Faction get_HostFaction()
L_0011: call RimWorld.Faction get_OfPlayer()
L_0016: bne.un Label #2
L_001b: ldarg.0
L_001c: call Verse.Pawn get_SelPawn()
L_0021: callvirt Boolean get_IsPrisoner()
L_0026: ldc.i4.0
L_0027: ceq
L_0029: br Label #3
L_002e: Label #2
L_002e: ldc.i4.0
L_002f: Label #3
L_002f: br Label #0
L_0034: Label #0
L_0034: stloc 0 (System.Boolean)
L_0035: ldarg.0
L_0036: ldloca 0 (System.Boolean)
L_0038: call Void Postfix(RimWorld.ITab_Pawn_Guest, Boolean ByRef)
L_003d: ldloc 0 (System.Boolean)
L_003e: ret
DONE
PATCHING RimWorld.JobDriver_Ingest Verse.AI.Toil
ReserveFoodIfWillIngestWholeStack()
L_0000: Local var #0 Verse.AI.Toil
L_0000: Local var #1 Verse.AI.Toil
L_0000: ldnull
L_0001: stloc 1 (Verse.AI.Toil)
L_0002: newobj Void .ctor()
L_0007: stloc.0
L_0008: ldloc.0
L_0009: ldarg.0
L_000a: ldftn Void <ReserveFoodIfWillIngestWholeStack>m__E6()
L_0010: newobj Void .ctor(Object, IntPtr)
L_0015: stfld System.Action initAction
L_001a: ldloc.0
L_001b: ldc.i4.1
L_001c: stfld Verse.AI.ToilCompleteMode defaultCompleteMode
L_0021: ldloc.0
L_0022: br Label #0
L_0027: Label #0
L_0027: stloc 1 (Verse.AI.Toil)
L_0028: ldloca 1 (Verse.AI.Toil)
L_002a: call Void Postfix(Verse.AI.Toil ByRef)
L_002f: ldloc 1 (Verse.AI.Toil)
L_0030: ret
DONE

PATCHING RimWorld.PawnUtility Boolean ShouldSendNotificationAbout(Verse.Pawn)


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: call ProgramState get_ProgramState()
L_000b: ldc.i4.2
L_000c: beq Label #2
L_0011: ldc.i4.0
L_0012: br Label #0
L_0017: Label #2
L_0017: ldarg.0
L_0018: call Boolean IsBeingGenerated(Verse.Pawn)
L_001d: brfalse Label #3
L_0022: ldc.i4.0
L_0023: br Label #0
L_0028: Label #3
L_0028: ldarg.0
L_0029: call Boolean IsWorldPawn(Verse.Pawn)
L_002e: brfalse Label #4
L_0033: ldarg.0
L_0034: call Boolean IsCaravanMember(Verse.Pawn)
L_0039: brfalse Label #5
L_003e: ldarg.0
L_003f: call RimWorld.Planet.Caravan GetCaravan(Verse.Pawn)
L_0044: callvirt Boolean get_IsPlayerControlled()
L_0049: brtrue Label #6
L_004e: Label #5
L_004e: ldarg.0
L_004f: call Boolean IsTravelingInTransportPodWorldObject(Verse.Pawn)
L_0054: brtrue Label #7
L_0059: ldarg.0
L_005a: callvirt Verse.Corpse get_Corpse()
L_005f: call Boolean DestroyedOrNull(Verse.Thing)
L_0064: brfalse Label #8
L_0069: ldc.i4.0
L_006a: br Label #0
L_006f: Label #4
L_006f: Label #6
L_006f: Label #7
L_006f: Label #8
L_006f: ldarg.0
L_0070: callvirt RimWorld.Faction get_Faction()
L_0075: call RimWorld.Faction get_OfPlayer()
L_007a: beq Label #9
L_007f: ldarg.0
L_0080: callvirt RimWorld.Faction get_HostFaction()
L_0085: call RimWorld.Faction get_OfPlayer()
L_008a: beq Label #10
L_008f: ldc.i4.0
L_0090: br Label #0
L_0095: Label #10
L_0095: ldarg.0
L_0096: callvirt Verse.RaceProperties get_RaceProps()
L_009b: callvirt Boolean get_Humanlike()
L_00a0: brfalse Label #11
L_00a5: ldarg.0
L_00a6: ldfld RimWorld.Pawn_GuestTracker guest
L_00ab: ldfld System.Boolean released
L_00b0: brfalse Label #12
L_00b5: ldarg.0
L_00b6: callvirt Boolean get_Downed()
L_00bb: brtrue Label #13
L_00c0: ldarg.0
L_00c1: call Boolean InBed(Verse.Pawn)
L_00c6: brtrue Label #14
L_00cb: ldc.i4.0
L_00cc: br Label #0
L_00d1: Label #11
L_00d1: Label #12
L_00d1: Label #13
L_00d1: Label #14
L_00d1: ldarg.0
L_00d2: callvirt Verse.AI.Job get_CurJob()
L_00d7: brfalse Label #15
L_00dc: ldarg.0
L_00dd: callvirt Verse.AI.Job get_CurJob()
L_00e2: ldfld System.Boolean exitMapOnArrival
L_00e7: brfalse Label #16
L_00ec: ldarg.0
L_00ed: call Boolean IsPrisonBreaking(Verse.Pawn)
L_00f2: brtrue Label #17
L_00f7: ldc.i4.0
L_00f8: br Label #0
L_00fd: Label #9
L_00fd: Label #15
L_00fd: Label #16
L_00fd: Label #17
L_00fd: ldc.i4.1
L_00fe: br Label #0
L_0103: Label #0
L_0103: stloc 0 (System.Boolean)
L_0104: ldloca 0 (System.Boolean)
L_0106: ldarg 0
L_010c: call Void Postfix(Boolean ByRef, Verse.Pawn)
L_0111: ldloc 0 (System.Boolean)
L_0112: ret
DONE

PATCHING RimWorld.Pawn_GuestTracker Void Notify_PawnUndowned()


L_0000: Local var #0 Verse.Map
L_0000: Local var #1 System.Single
L_0000: Local var #2 Verse.FloatRange
L_0000: call Boolean Replacement()
L_0005: brfalse Label #1
L_000a: ldarg.0
L_000b: ldfld Verse.Pawn pawn
L_0010: callvirt Verse.RaceProperties get_RaceProps()
L_0015: callvirt Boolean get_Humanlike()
L_001a: brfalse Label #2
L_001f: ldarg.0
L_0020: call RimWorld.Faction get_HostFaction()
L_0025: call RimWorld.Faction get_OfPlayer()
L_002a: bne.un Label #3
L_002f: ldarg.0
L_0030: ldfld Verse.Pawn pawn
L_0035: callvirt RimWorld.Faction get_Faction()
L_003a: brfalse Label #4
L_003f: ldarg.0
L_0040: ldfld Verse.Pawn pawn
L_0045: callvirt RimWorld.Faction get_Faction()
L_004a: ldfld RimWorld.FactionDef def
L_004f: ldfld System.Boolean rescueesCanJoin
L_0054: brfalse Label #5
L_0059: Label #4
L_0059: ldarg.0
L_005a: call Boolean get_IsPrisoner()
L_005f: brtrue Label #6
L_0064: ldarg.0
L_0065: ldfld Verse.Pawn pawn
L_006a: callvirt Boolean get_SpawnedOrAnyParentSpawned()
L_006f: brfalse Label #7
L_0074: ldarg.0
L_0075: ldfld Verse.Pawn pawn
L_007a: callvirt Verse.Map get_MapHeld()
L_007f: stloc.0
L_0080: ldarg.0
L_0081: ldfld Verse.Pawn pawn
L_0086: call FloatRange SafeTemperatureRange(Verse.Pawn)
L_008b: stloc.2
L_008c: ldloca.s 2 (Verse.FloatRange)
L_008e: ldloc.0
L_008f: ldfld Verse.MapTemperature mapTemperature
L_0094: callvirt Single get_OutdoorTemp()
L_0099: call Boolean Includes(Single)
L_009e: brfalse Label #8
L_00a3: ldloc.0
L_00a4: ldfld RimWorld.GameConditionManager gameConditionManager
L_00a9: ldsfld Verse.GameConditionDef ToxicFallout
L_00ae: callvirt Boolean ConditionIsActive(Verse.GameConditionDef)
L_00b3: brfalse Label #9
L_00b8: Label #8
L_00b8: ldc.r4 1
L_00bd: stloc.1
L_00be: br Label #10
L_00c3: Label #9
L_00c3: ldc.r4 0.5
L_00c8: stloc.1
L_00c9: Label #10
L_00c9: ldarg.0
L_00ca: ldfld Verse.Pawn pawn
L_00cf: ldfld System.Int32 thingIDNumber
L_00d4: ldc.i4 8976612
L_00d9: xor
L_00da: call Single ValueSeeded(Int32)
L_00df: ldloc.1
L_00e0: bge.un Label #11
L_00e5: ldarg.0
L_00e6: ldfld Verse.Pawn pawn
L_00eb: call RimWorld.Faction get_OfPlayer()
L_00f0: ldnull
L_00f1: callvirt Void SetFaction(RimWorld.Faction, Verse.Pawn)
L_00f6: ldstr "MessageRescueeJoined"
L_00fb: ldc.i4.1
L_00fc: newarr System.Object
L_0101: dup
L_0102: ldc.i4.0
L_0103: ldarg.0
L_0104: ldfld Verse.Pawn pawn
L_0109: callvirt System.String get_LabelShort()
L_010e: stelem.ref
L_010f: call System.String Translate(System.String, System.Object[])
L_0114: ldarg.0
L_0115: ldfld Verse.Pawn pawn
L_011a: call System.String AdjustedFor(System.String, Verse.Pawn)
L_011f: ldarg.0
L_0120: ldfld Verse.Pawn pawn
L_0125: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_012a: ldc.i4.3
L_012b: call Void Message(System.String, GlobalTargetInfo, MessageSound)
L_0130: Label #2
L_0130: Label #3
L_0130: Label #5
L_0130: Label #6
L_0130: Label #7
L_0130: Label #11
L_0130: br Label #0
L_0135: Label #0
L_0135: Label #1
L_0135: ret
DONE

PATCHING RimWorld.Pawn_GuestTracker Void SetGuestStatus(RimWorld.Faction, Boolean)


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 Verse.AI.Group.Lord
L_0000: ldarg.0
L_0001: ldarg 1
L_0007: ldarga 2
L_000d: call Void Prefix(RimWorld.Pawn_GuestTracker, RimWorld.Faction, Boolean
ByRef)
L_0012: ldarg.1
L_0013: brfalse Label #2
L_0018: ldarg.0
L_0019: ldc.i4.0
L_001a: stfld System.Boolean released
L_001f: Label #2
L_001f: ldarg.1
L_0020: ldarg.0
L_0021: call RimWorld.Faction get_HostFaction()
L_0026: bne.un Label #3
L_002b: ldarg.2
L_002c: ldarg.0
L_002d: call Boolean get_IsPrisoner()
L_0032: bne.un Label #4
L_0037: br Label #0
L_003c: Label #3
L_003c: Label #4
L_003c: ldarg.2
L_003d: brtrue Label #5
L_0042: ldarg.0
L_0043: ldfld Verse.Pawn pawn
L_0048: callvirt RimWorld.Faction get_Faction()
L_004d: ldarg.1
L_004e: call Boolean HostileTo(RimWorld.Faction, RimWorld.Faction)
L_0053: brfalse Label #6
L_0058: ldc.i4.8
L_0059: newarr System.Object
L_005e: dup
L_005f: ldc.i4.0
L_0060: ldstr "Tried to make "
L_0065: stelem.ref
L_0066: dup
L_0067: ldc.i4.1
L_0068: ldarg.0
L_0069: ldfld Verse.Pawn pawn
L_006e: stelem.ref
L_006f: dup
L_0070: ldc.i4.2
L_0071: ldstr " a guest of "
L_0076: stelem.ref
L_0077: dup
L_0078: ldc.i4.3
L_0079: ldarg.1
L_007a: stelem.ref
L_007b: dup
L_007c: ldc.i4.4
L_007d: ldstr " but their faction "
L_0082: stelem.ref
L_0083: dup
L_0084: ldc.i4.5
L_0085: ldarg.0
L_0086: ldfld Verse.Pawn pawn
L_008b: callvirt RimWorld.Faction get_Faction()
L_0090: stelem.ref
L_0091: dup
L_0092: ldc.i4.6
L_0093: ldstr " is hostile to "
L_0098: stelem.ref
L_0099: dup
L_009a: ldc.i4.7
L_009b: ldarg.1
L_009c: stelem.ref
L_009d: call System.String Concat(System.Object[])
L_00a2: call Void Error(System.String)
L_00a7: br Label #0
L_00ac: Label #5
L_00ac: Label #6
L_00ac: ldarg.1
L_00ad: brfalse Label #7
L_00b2: ldarg.1
L_00b3: ldarg.0
L_00b4: ldfld Verse.Pawn pawn
L_00b9: callvirt RimWorld.Faction get_Faction()
L_00be: bne.un Label #8
L_00c3: ldarg.2
L_00c4: brtrue Label #9
L_00c9: ldc.i4.4
L_00ca: newarr System.Object
L_00cf: dup
L_00d0: ldc.i4.0
L_00d1: ldstr "Tried to make "
L_00d6: stelem.ref
L_00d7: dup
L_00d8: ldc.i4.1
L_00d9: ldarg.0
L_00da: ldfld Verse.Pawn pawn
L_00df: stelem.ref
L_00e0: dup
L_00e1: ldc.i4.2
L_00e2: ldstr " a guest of their own faction "
L_00e7: stelem.ref
L_00e8: dup
L_00e9: ldc.i4.3
L_00ea: ldarg.0
L_00eb: ldfld Verse.Pawn pawn
L_00f0: callvirt RimWorld.Faction get_Faction()
L_00f5: stelem.ref
L_00f6: call System.String Concat(System.Object[])
L_00fb: call Void Error(System.String)
L_0100: br Label #0
L_0105: Label #7
L_0105: Label #8
L_0105: Label #9
L_0105: ldarg.2
L_0106: brfalse Label #10
L_010b: ldarg.0
L_010c: call Boolean get_IsPrisoner()
L_0111: brfalse Label #11
L_0116: ldarg.0
L_0117: call RimWorld.Faction get_HostFaction()
L_011c: ldarg.1
L_011d: ceq
L_011f: ldc.i4.0
L_0120: ceq
L_0122: br Label #12
L_0127: Label #11
L_0127: ldc.i4.1
L_0128: Label #12
L_0128: br Label #13
L_012d: Label #10
L_012d: ldc.i4.0
L_012e: Label #13
L_012e: stloc.0
L_012f: ldarg.0
L_0130: ldarg.2
L_0131: stfld System.Boolean isPrisonerInt
L_0136: ldarg.0
L_0137: ldarg.1
L_0138: stfld RimWorld.Faction hostFactionInt
L_013d: ldarg.0
L_013e: ldfld Verse.Pawn pawn
L_0143: ldc.i4.0
L_0144: callvirt Void ClearMind(Boolean)
L_0149: ldarg.0
L_014a: ldfld Verse.Pawn pawn
L_014f: ldc.i4.1
L_0150: callvirt Void ClearReservations(Boolean)
L_0155: ldloc.0
L_0156: brfalse Label #14
L_015b: ldarg.0
L_015c: ldfld Verse.Pawn pawn
L_0161: ldc.i4.0
L_0162: callvirt Void DropAndForbidEverything(Boolean)
L_0167: ldarg.0
L_0168: ldfld Verse.Pawn pawn
L_016d: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_0172: stloc.1
L_0173: ldloc.1
L_0174: brfalse Label #15
L_0179: ldloc.1
L_017a: ldarg.0
L_017b: ldfld Verse.Pawn pawn
L_0180: ldc.i4.3
L_0181: callvirt Void Notify_PawnLost(Verse.Pawn, PawnLostCondition)
L_0186: Label #15
L_0186: ldarg.0
L_0187: ldfld Verse.Pawn pawn
L_018c: callvirt Boolean get_Drafted()
L_0191: brfalse Label #16
L_0196: ldarg.0
L_0197: ldfld Verse.Pawn pawn
L_019c: ldfld RimWorld.Pawn_DraftController drafter
L_01a1: ldc.i4.0
L_01a2: callvirt Void set_Drafted(Boolean)
L_01a7: Label #14
L_01a7: Label #16
L_01a7: ldarg.0
L_01a8: ldfld Verse.Pawn pawn
L_01ad: ldc.i4.0
L_01ae: call Void AddAndRemoveDynamicComponents(Verse.Pawn, Boolean)
L_01b3: ldarg.0
L_01b4: ldfld Verse.Pawn pawn
L_01b9: ldfld Verse.Pawn_HealthTracker health
L_01be: ldfld RimWorld.BillStack surgeryBills
L_01c3: callvirt Void Clear()
L_01c8: ldarg.0
L_01c9: ldfld Verse.Pawn pawn
L_01ce: ldfld RimWorld.Pawn_Ownership ownership
L_01d3: brfalse Label #17
L_01d8: ldarg.0
L_01d9: ldfld Verse.Pawn pawn
L_01de: ldfld RimWorld.Pawn_Ownership ownership
L_01e3: callvirt Void Notify_ChangedGuestStatus()
L_01e8: Label #17
L_01e8: call Void ClearCache()
L_01ed: ldarg.0
L_01ee: ldfld Verse.Pawn pawn
L_01f3: callvirt Boolean get_Spawned()
L_01f8: brfalse Label #18
L_01fd: ldarg.0
L_01fe: ldfld Verse.Pawn pawn
L_0203: callvirt Verse.Map get_Map()
L_0208: ldfld Verse.MapPawns mapPawns
L_020d: ldarg.0
L_020e: ldfld Verse.Pawn pawn
L_0213: callvirt Void UpdateRegistryForPawn(Verse.Pawn)
L_0218: ldarg.0
L_0219: ldfld Verse.Pawn pawn
L_021e: callvirt Verse.Map get_Map()
L_0223: ldfld Verse.AI.AttackTargetsCache attackTargetsCache
L_0228: ldarg.0
L_0229: ldfld Verse.Pawn pawn
L_022e: callvirt Void UpdateTarget(IAttackTarget)
L_0233: Label #18
L_0233: ldarg.0
L_0234: ldfld Verse.Pawn pawn
L_0239: call Void CheckDrugAddictionTeachOpportunity(Verse.Pawn)
L_023e: ldarg.2
L_023f: brfalse Label #19
L_0244: ldarg.0
L_0245: ldfld Verse.Pawn pawn
L_024a: ldfld RimWorld.Pawn_PlayerSettings playerSettings
L_024f: brfalse Label #20
L_0254: ldarg.0
L_0255: ldfld Verse.Pawn pawn
L_025a: ldfld RimWorld.Pawn_PlayerSettings playerSettings
L_025f: callvirt Void Notify_MadePrisoner()
L_0264: Label #19
L_0264: Label #20
L_0264: br Label #0
L_0269: Label #0
L_0269: ret
DONE

PATCHING RimWorld.Pawn_InteractionsTracker Boolean TryInteractRandomly()


L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.Pawn, Assembly-
CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Collections.Generic.List`1[[RimWorld.InteractionDef,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 RimWorld.InteractionDef
L_0000: Local var #4
RimWorld.Pawn_InteractionsTracker+<TryInteractRandomly>c__AnonStorey354
L_0000: Local var #5 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 5 (System.Boolean)
L_0007: ldarg.0
L_0008: ldloca 5 (System.Boolean)
L_000a: call Boolean Replacement(RimWorld.Pawn_InteractionsTracker, Boolean ByRef)
L_000f: brfalse Label #1
L_0014: ldarg.0
L_0015: call Boolean InteractedTooRecentlyToInteract()
L_001a: brfalse Label #2
L_001f: ldc.i4.0
L_0020: br Label #0
L_0025: Label #2
L_0025: ldarg.0
L_0026: ldfld Verse.Pawn pawn
L_002b: call Boolean CanInitiateRandomInteraction(Verse.Pawn)
L_0030: brtrue Label #3
L_0035: ldc.i4.0
L_0036: br Label #0
L_003b: Label #3
L_003b: ldarg.0
L_003c: ldfld Verse.Pawn pawn
L_0041: callvirt Verse.Map get_Map()
L_0046: ldfld Verse.MapPawns mapPawns
L_004b: ldarg.0
L_004c: ldfld Verse.Pawn pawn
L_0051: callvirt RimWorld.Faction get_Faction()
L_0056: callvirt System.Collections.Generic.List`1[Verse.Pawn]
SpawnedPawnsInFaction(RimWorld.Faction)
L_005b: stloc.0
L_005c: ldsfld System.Collections.Generic.List`1[Verse.Pawn] workingList
L_0061: callvirt Void Clear()
L_0066: ldsfld System.Collections.Generic.List`1[Verse.Pawn] workingList
L_006b: ldloc.0
L_006c: callvirt Void AddRange(IEnumerable`1)
L_0071: ldsfld System.Collections.Generic.List`1[Verse.Pawn] workingList
L_0076: call Void Shuffle[Pawn](IList`1)
L_007b: call System.Collections.Generic.List`1[RimWorld.InteractionDef]
get_AllDefsListForReading()
L_0080: stloc.1
L_0081: ldc.i4.0
L_0082: stloc.2
L_0083: br Label #4
L_0088: Label #14
L_0088: newobj Void .ctor()
L_008d: stloc.s 4
(RimWorld.Pawn_InteractionsTracker+<TryInteractRandomly>c__AnonStorey354)
L_008f: ldloc.s 4
(RimWorld.Pawn_InteractionsTracker+<TryInteractRandomly>c__AnonStorey354)
L_0091: ldarg.0
L_0092: stfld RimWorld.Pawn_InteractionsTracker <>f__this
L_0097: ldloc.s 4
(RimWorld.Pawn_InteractionsTracker+<TryInteractRandomly>c__AnonStorey354)
L_0099: ldsfld System.Collections.Generic.List`1[Verse.Pawn] workingList
L_009e: ldloc.2
L_009f: callvirt Verse.Pawn get_Item(Int32)
L_00a4: stfld Verse.Pawn p
L_00a9: ldloc.s 4
(RimWorld.Pawn_InteractionsTracker+<TryInteractRandomly>c__AnonStorey354)
L_00ab: ldfld Verse.Pawn p
L_00b0: ldarg.0
L_00b1: ldfld Verse.Pawn pawn
L_00b6: beq Label #5
L_00bb: ldarg.0
L_00bc: ldloc.s 4
(RimWorld.Pawn_InteractionsTracker+<TryInteractRandomly>c__AnonStorey354)
L_00be: ldfld Verse.Pawn p
L_00c3: call Boolean CanInteractNowWith(Verse.Pawn)
L_00c8: brfalse Label #6
L_00cd: ldloc.s 4
(RimWorld.Pawn_InteractionsTracker+<TryInteractRandomly>c__AnonStorey354)
L_00cf: ldfld Verse.Pawn p
L_00d4: call Boolean CanReceiveRandomInteraction(Verse.Pawn)
L_00d9: brfalse Label #7
L_00de: ldarg.0
L_00df: ldfld Verse.Pawn pawn
L_00e4: ldloc.s 4
(RimWorld.Pawn_InteractionsTracker+<TryInteractRandomly>c__AnonStorey354)
L_00e6: ldfld Verse.Pawn p
L_00eb: call Boolean HostileTo(Verse.Thing, Verse.Thing)
L_00f0: brfalse Label #8
L_00f5: Label #5
L_00f5: Label #6
L_00f5: Label #7
L_00f5: br Label #9
L_00fa: Label #8
L_00fa: ldloc.1
L_00fb: ldloc.s 4
(RimWorld.Pawn_InteractionsTracker+<TryInteractRandomly>c__AnonStorey354)
L_00fd: ldftn Single <>m__358(RimWorld.InteractionDef)
L_0103: newobj Void .ctor(Object, IntPtr)
L_0108: ldloca.s 3 (RimWorld.InteractionDef)
L_010a: call Boolean TryRandomElementByWeight[InteractionDef](IEnumerable`1,
System.Func`2[RimWorld.InteractionDef,System.Single], RimWorld.InteractionDef
ByRef)
L_010f: brtrue Label #10
L_0114: br Label #11
L_0119: Label #10
L_0119: ldarg.0
L_011a: ldloc.s 4
(RimWorld.Pawn_InteractionsTracker+<TryInteractRandomly>c__AnonStorey354)
L_011c: ldfld Verse.Pawn p
L_0121: ldloc.3
L_0122: call Boolean TryInteractWith(Verse.Pawn, RimWorld.InteractionDef)
L_0127: brtrue Label #12
L_012c: ldarg.0
L_012d: ldfld Verse.Pawn pawn
L_0132: ldstr " failed to interact with "
L_0137: ldloc.s 4
(RimWorld.Pawn_InteractionsTracker+<TryInteractRandomly>c__AnonStorey354)
L_0139: ldfld Verse.Pawn p
L_013e: call System.String Concat(System.Object, System.Object, System.Object)
L_0143: call Void Error(System.String)
L_0148: br Label #13
L_014d: Label #12
L_014d: ldc.i4.1
L_014e: br Label #0
L_0153: Label #9
L_0153: Label #11
L_0153: Label #13
L_0153: ldloc.2
L_0154: ldc.i4.1
L_0155: add
L_0156: stloc.2
L_0157: Label #4
L_0157: ldloc.2
L_0158: ldsfld System.Collections.Generic.List`1[Verse.Pawn] workingList
L_015d: callvirt Int32 get_Count()
L_0162: blt Label #14
L_0167: ldc.i4.0
L_0168: br Label #0
L_016d: Label #0
L_016d: stloc 5 (System.Boolean)
L_016f: Label #1
L_016f: ldloc 5 (System.Boolean)
L_0171: ret
DONE

PATCHING RimWorld.Pawn_NeedsTracker Boolean ShouldHaveNeed(RimWorld.NeedDef)


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 RimWorld.Pawn_NeedsTracker+<ShouldHaveNeed>c__AnonStorey34E
L_0000: Local var #2 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 2 (System.Boolean)
L_0006: ldarg.0
L_0007: ldloca 2 (System.Boolean)
L_0009: ldarg 1
L_000f: call Boolean Prefix(RimWorld.Pawn_NeedsTracker, Boolean ByRef,
RimWorld.NeedDef)
L_0014: brfalse Label #1
L_0019: newobj Void .ctor()
L_001e: stloc.1
L_001f: ldloc.1
L_0020: ldarg.1
L_0021: stfld RimWorld.NeedDef nd
L_0026: ldarg.0
L_0027: ldfld Verse.Pawn pawn
L_002c: callvirt Verse.RaceProperties get_RaceProps()
L_0031: ldfld Verse.Intelligence intelligence
L_0036: ldloc.1
L_0037: ldfld RimWorld.NeedDef nd
L_003c: ldfld Verse.Intelligence minIntelligence
L_0041: bge Label #2
L_0046: ldc.i4.0
L_0047: br Label #0
L_004c: Label #2
L_004c: ldloc.1
L_004d: ldfld RimWorld.NeedDef nd
L_0052: ldfld System.Boolean colonistsOnly
L_0057: brfalse Label #3
L_005c: ldarg.0
L_005d: ldfld Verse.Pawn pawn
L_0062: callvirt RimWorld.Faction get_Faction()
L_0067: brfalse Label #4
L_006c: ldarg.0
L_006d: ldfld Verse.Pawn pawn
L_0072: callvirt RimWorld.Faction get_Faction()
L_0077: callvirt Boolean get_IsPlayer()
L_007c: brtrue Label #5
L_0081: Label #4
L_0081: ldc.i4.0
L_0082: br Label #0
L_0087: Label #3
L_0087: Label #5
L_0087: ldloc.1
L_0088: ldfld RimWorld.NeedDef nd
L_008d: ldfld System.Boolean colonistAndPrisonersOnly
L_0092: brfalse Label #6
L_0097: ldarg.0
L_0098: ldfld Verse.Pawn pawn
L_009d: callvirt RimWorld.Faction get_Faction()
L_00a2: brfalse Label #7
L_00a7: ldarg.0
L_00a8: ldfld Verse.Pawn pawn
L_00ad: callvirt RimWorld.Faction get_Faction()
L_00b2: callvirt Boolean get_IsPlayer()
L_00b7: brtrue Label #8
L_00bc: Label #7
L_00bc: ldarg.0
L_00bd: ldfld Verse.Pawn pawn
L_00c2: callvirt RimWorld.Faction get_HostFaction()
L_00c7: brfalse Label #9
L_00cc: ldarg.0
L_00cd: ldfld Verse.Pawn pawn
L_00d2: callvirt RimWorld.Faction get_HostFaction()
L_00d7: call RimWorld.Faction get_OfPlayer()
L_00dc: ceq
L_00de: br Label #10
L_00e3: Label #9
L_00e3: ldc.i4.0
L_00e4: Label #10
L_00e4: br Label #11
L_00e9: Label #8
L_00e9: ldc.i4.1
L_00ea: Label #11
L_00ea: stloc.0
L_00eb: ldloc.0
L_00ec: brtrue Label #12
L_00f1: ldc.i4.0
L_00f2: br Label #0
L_00f7: Label #6
L_00f7: Label #12
L_00f7: ldloc.1
L_00f8: ldfld RimWorld.NeedDef nd
L_00fd: ldfld System.Boolean onlyIfCausedByHediff
L_0102: brfalse Label #13
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld Verse.Pawn_HealthTracker health
L_0112: ldfld Verse.HediffSet hediffSet
L_0117: ldfld System.Collections.Generic.List`1[Verse.Hediff] hediffs
L_011c: ldloc.1
L_011d: ldftn Boolean <>m__346(Verse.Hediff)
L_0123: newobj Void .ctor(Object, IntPtr)
L_0128: call Boolean Any[Hediff](System.Collections.Generic.List`1[Verse.Hediff],
System.Predicate`1[Verse.Hediff])
L_012d: brtrue Label #14
L_0132: ldc.i4.0
L_0133: br Label #0
L_0138: Label #13
L_0138: Label #14
L_0138: ldloc.1
L_0139: ldfld RimWorld.NeedDef nd
L_013e: ldfld System.Boolean neverOnPrisoner
L_0143: brfalse Label #15
L_0148: ldarg.0
L_0149: ldfld Verse.Pawn pawn
L_014e: callvirt Boolean get_IsPrisoner()
L_0153: brfalse Label #16
L_0158: ldc.i4.0
L_0159: br Label #0
L_015e: Label #15
L_015e: Label #16
L_015e: ldloc.1
L_015f: ldfld RimWorld.NeedDef nd
L_0164: ldsfld RimWorld.NeedDef Food
L_0169: bne.un Label #17
L_016e: ldarg.0
L_016f: ldfld Verse.Pawn pawn
L_0174: callvirt Verse.RaceProperties get_RaceProps()
L_0179: callvirt Boolean get_EatsFood()
L_017e: br Label #0
L_0183: Label #17
L_0183: ldloc.1
L_0184: ldfld RimWorld.NeedDef nd
L_0189: ldsfld RimWorld.NeedDef Rest
L_018e: bne.un Label #18
L_0193: ldarg.0
L_0194: ldfld Verse.Pawn pawn
L_0199: callvirt Verse.RaceProperties get_RaceProps()
L_019e: ldfld System.Boolean needsRest
L_01a3: br Label #0
L_01a8: Label #18
L_01a8: ldc.i4.1
L_01a9: br Label #0
L_01ae: Label #0
L_01ae: stloc 2 (System.Boolean)
L_01af: Label #1
L_01af: ldloc 2 (System.Boolean)
L_01b0: ret
DONE

PATCHING RimWorld.Pawn_PlayerSettings Boolean get_RespectsAllowedArea()


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldarg.0
L_0007: ldfld Verse.Pawn pawn
L_000c: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_0011: brfalse Label #2
L_0016: ldc.i4.0
L_0017: br Label #0
L_001c: Label #2
L_001c: ldarg.0
L_001d: ldfld Verse.Pawn pawn
L_0022: callvirt RimWorld.Faction get_Faction()
L_0027: call RimWorld.Faction get_OfPlayer()
L_002c: bne.un Label #3
L_0031: ldarg.0
L_0032: ldfld Verse.Pawn pawn
L_0037: callvirt RimWorld.Faction get_HostFaction()
L_003c: ldnull
L_003d: ceq
L_003f: br Label #4
L_0044: Label #3
L_0044: ldc.i4.0
L_0045: Label #4
L_0045: br Label #0
L_004a: Label #0
L_004a: stloc 0 (System.Boolean)
L_004b: ldarg.0
L_004c: ldloca 0 (System.Boolean)
L_004e: call Void Postfix(RimWorld.Pawn_PlayerSettings, Boolean ByRef)
L_0053: ldloc 0 (System.Boolean)
L_0054: ret
DONE

PATCHING RimWorld.Pawn_RelationsTracker Void Notify_RescuedBy(Verse.Pawn)


L_0000: ldarg.1
L_0001: callvirt Verse.RaceProperties get_RaceProps()
L_0006: callvirt Boolean get_Humanlike()
L_000b: brfalse Label #2
L_0010: ldarg.0
L_0011: ldfld System.Boolean canGetRescuedThought
L_0016: brfalse Label #3
L_001b: ldarg.0
L_001c: ldfld Verse.Pawn pawn
L_0021: ldfld RimWorld.Pawn_NeedsTracker needs
L_0026: ldfld RimWorld.Need_Mood mood
L_002b: ldfld RimWorld.ThoughtHandler thoughts
L_0030: ldfld RimWorld.MemoryThoughtHandler memories
L_0035: ldsfld RimWorld.ThoughtDef RescuedMe
L_003a: ldarg.1
L_003b: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_0040: ldarg.0
L_0041: ldc.i4.0
L_0042: stfld System.Boolean canGetRescuedThought
L_0047: Label #2
L_0047: Label #3
L_0047: br Label #0
L_004c: Label #0
L_004c: ldarg.0
L_004d: call Void Postfix(RimWorld.Pawn_RelationsTracker)
L_0052: ret
DONE

PATCHING RimWorld.Pawn_WorkSettings Void ExposeData()


L_0000: ldarg.0
L_0001: ldflda Verse.DefMap`2[Verse.WorkTypeDef,System.Int32] priorities
L_0006: ldstr "priorities"
L_000b: ldc.i4.0
L_000c: newarr System.Object
L_0011: call Void Look[DefMap`2](Verse.DefMap`2[Verse.WorkTypeDef,System.Int32]
ByRef, System.String, System.Object[])
L_0016: br Label #0
L_001b: Label #0
L_001b: ldarg.0
L_001c: call Void Postfix(RimWorld.Pawn_WorkSettings)
L_0021: ret
DONE

PATCHING RimWorld.RestUtility Boolean CanUseBedEver(Verse.Pawn, Verse.ThingDef)


L_0000: Local var #0 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 0 (System.Boolean)
L_0006: ldarg.0
L_0007: callvirt Single get_BodySize()
L_000c: ldarg.1
L_000d: ldfld RimWorld.BuildingProperties building
L_0012: ldfld System.Single bed_maxBodySize
L_0017: ble.un Label #2
L_001c: ldc.i4.0
L_001d: br Label #0
L_0022: Label #2
L_0022: ldarg.0
L_0023: callvirt Verse.RaceProperties get_RaceProps()
L_0028: callvirt Boolean get_Humanlike()
L_002d: ldarg.1
L_002e: ldfld RimWorld.BuildingProperties building
L_0033: ldfld System.Boolean bed_humanlike
L_0038: beq Label #3
L_003d: ldc.i4.0
L_003e: br Label #0
L_0043: Label #3
L_0043: ldc.i4.1
L_0044: br Label #0
L_0049: Label #0
L_0049: stloc 0 (System.Boolean)
L_004a: ldloca 0 (System.Boolean)
L_004c: ldarg 0
L_0052: ldarg 1
L_0058: call Void CanUseBedEverPostfix(Boolean ByRef, Verse.Pawn, Verse.ThingDef)
L_005d: ldarg 0
L_0063: ldarg 1
L_0069: ldloca 0 (System.Boolean)
L_006b: call Void Postfix(Verse.Pawn, Verse.ThingDef, Boolean ByRef)
L_0070: ldloc 0 (System.Boolean)
L_0071: ret
DONE

PATCHING RimWorld.SocialCardUtility System.String GetPawnSituationLabel(Verse.Pawn,


Verse.Pawn)
L_0000: Local var #0 RimWorld.Faction
L_0000: Local var #1 System.String
L_0000: ldnull
L_0001: stloc 1 (System.String)
L_0002: ldloca 1 (System.String)
L_0004: ldarg 0
L_000a: ldarg 1
L_0010: call Boolean Replacement(System.String ByRef, Verse.Pawn, Verse.Pawn)
L_0015: brfalse Label #1
L_001a: ldarg.0
L_001b: callvirt Boolean get_Dead()
L_0020: brfalse Label #2
L_0025: ldstr "Dead"
L_002a: call System.String Translate(System.String)
L_002f: br Label #0
L_0034: Label #2
L_0034: ldarg.0
L_0035: callvirt Boolean get_Destroyed()
L_003a: brfalse Label #3
L_003f: ldstr "Missing"
L_0044: call System.String Translate(System.String)
L_0049: br Label #0
L_004e: Label #3
L_004e: ldarg.0
L_004f: call Boolean IsKidnappedPawn(Verse.Pawn)
L_0054: brfalse Label #4
L_0059: ldstr "Kidnapped"
L_005e: call System.String Translate(System.String)
L_0063: br Label #0
L_0068: Label #4
L_0068: ldarg.0
L_0069: ldfld Verse.PawnKindDef kindDef
L_006e: ldsfld Verse.PawnKindDef Slave
L_0073: bne.un Label #5
L_0078: ldstr "Slave"
L_007d: call System.String Translate(System.String)
L_0082: br Label #0
L_0087: Label #5
L_0087: ldarg.0
L_0088: call Boolean IsFactionLeader(Verse.Pawn)
L_008d: brfalse Label #6
L_0092: ldstr "FactionLeader"
L_0097: call System.String Translate(System.String)
L_009c: br Label #0
L_00a1: Label #6
L_00a1: ldarg.0
L_00a2: callvirt RimWorld.Faction get_Faction()
L_00a7: stloc.0
L_00a8: ldloc.0
L_00a9: ldarg.1
L_00aa: callvirt RimWorld.Faction get_Faction()
L_00af: beq Label #7
L_00b4: ldloc.0
L_00b5: brfalse Label #8
L_00ba: ldarg.1
L_00bb: callvirt RimWorld.Faction get_Faction()
L_00c0: brtrue Label #9
L_00c5: Label #8
L_00c5: ldstr "Neutral"
L_00ca: call System.String Translate(System.String)
L_00cf: br Label #0
L_00d4: Label #9
L_00d4: ldloc.0
L_00d5: ldarg.1
L_00d6: callvirt RimWorld.Faction get_Faction()
L_00db: call Boolean HostileTo(RimWorld.Faction, RimWorld.Faction)
L_00e0: brtrue Label #10
L_00e5: ldstr "Neutral"
L_00ea: call System.String Translate(System.String)
L_00ef: ldstr ", "
L_00f4: ldloc.0
L_00f5: callvirt System.String get_Name()
L_00fa: call System.String Concat(System.String, System.String, System.String)
L_00ff: br Label #0
L_0104: Label #10
L_0104: ldstr "Hostile"
L_0109: call System.String Translate(System.String)
L_010e: ldstr ", "
L_0113: ldloc.0
L_0114: callvirt System.String get_Name()
L_0119: call System.String Concat(System.String, System.String, System.String)
L_011e: br Label #0
L_0123: Label #7
L_0123: ldsfld System.String Empty
L_0128: br Label #0
L_012d: Label #0
L_012d: stloc 1 (System.String)
L_012e: Label #1
L_012e: ldloc 1 (System.String)
L_012f: ret
DONE

PATCHING RimWorld.ThoughtWorker_PrisonBarracksImpressiveness ThoughtState


CurrentStateInternal(Verse.Pawn)
L_0000: Local var #0 RimWorld.ThoughtState
L_0000: Local var #1 RimWorld.ThoughtState
L_0000: ldloca 1 (RimWorld.ThoughtState)
L_0002: initobj RimWorld.ThoughtState
L_0008: ldloca 1 (RimWorld.ThoughtState)
L_000a: ldarg 1
L_0010: call Boolean CurrentStateInternal(ThoughtState ByRef, Verse.Pawn)
L_0015: brfalse Label #1
L_001a: ldarg.0
L_001b: ldarg.1
L_001c: call ThoughtState CurrentStateInternal(Verse.Pawn)
L_0021: stloc.0
L_0022: ldloca.s 0 (RimWorld.ThoughtState)
L_0024: call Boolean get_Active()
L_0029: brfalse Label #2
L_002e: ldarg.1
L_002f: callvirt Boolean get_IsPrisoner()
L_0034: brfalse Label #3
L_0039: ldarg.1
L_003a: ldc.i4.6
L_003b: call Verse.Room GetRoom(Verse.Thing, RegionType)
L_0040: callvirt Verse.RoomRoleDef get_Role()
L_0045: ldsfld Verse.RoomRoleDef PrisonBarracks
L_004a: bne.un Label #4
L_004f: ldloc.0
L_0050: br Label #0
L_0055: Label #2
L_0055: Label #3
L_0055: Label #4
L_0055: call ThoughtState get_Inactive()
L_005a: br Label #0
L_005f: Label #0
L_005f: stloc 1 (RimWorld.ThoughtState)
L_0060: Label #1
L_0060: ldloc 1 (RimWorld.ThoughtState)
L_0061: ret
DONE
PATCHING RimWorld.ThoughtWorker_PrisonCellImpressiveness ThoughtState
CurrentStateInternal(Verse.Pawn)
L_0000: Local var #0 RimWorld.ThoughtState
L_0000: Local var #1 RimWorld.ThoughtState
L_0000: ldloca 1 (RimWorld.ThoughtState)
L_0002: initobj RimWorld.ThoughtState
L_0008: ldloca 1 (RimWorld.ThoughtState)
L_000a: ldarg 1
L_0010: call Boolean CurrentStateInternal(ThoughtState ByRef, Verse.Pawn)
L_0015: brfalse Label #1
L_001a: ldarg.0
L_001b: ldarg.1
L_001c: call ThoughtState CurrentStateInternal(Verse.Pawn)
L_0021: stloc.0
L_0022: ldloca.s 0 (RimWorld.ThoughtState)
L_0024: call Boolean get_Active()
L_0029: brfalse Label #2
L_002e: ldarg.1
L_002f: callvirt Boolean get_IsPrisoner()
L_0034: brfalse Label #3
L_0039: ldarg.1
L_003a: ldc.i4.6
L_003b: call Verse.Room GetRoom(Verse.Thing, RegionType)
L_0040: callvirt Verse.RoomRoleDef get_Role()
L_0045: ldsfld Verse.RoomRoleDef PrisonCell
L_004a: bne.un Label #4
L_004f: ldloc.0
L_0050: br Label #0
L_0055: Label #2
L_0055: Label #3
L_0055: Label #4
L_0055: call ThoughtState get_Inactive()
L_005a: br Label #0
L_005f: Label #0
L_005f: stloc 1 (RimWorld.ThoughtState)
L_0060: Label #1
L_0060: ldloc 1 (RimWorld.ThoughtState)
L_0061: ret
DONE

PATCHING RimWorld.Toils_LayDown Void ApplyBedThoughts(Verse.Pawn)


L_0000: Local var #0 RimWorld.Building_Bed
L_0000: Local var #1 RimWorld.ThoughtDef
L_0000: Local var #2 System.Int32
L_0000: ldarg 0
L_0006: call Boolean Replacement(Verse.Pawn)
L_000b: brfalse Label #1
L_0010: ldarg.0
L_0011: ldfld RimWorld.Pawn_NeedsTracker needs
L_0016: ldfld RimWorld.Need_Mood mood
L_001b: brtrue Label #2
L_0020: br Label #0
L_0025: Label #2
L_0025: ldarg.0
L_0026: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_002b: stloc.0
L_002c: ldarg.0
L_002d: ldfld RimWorld.Pawn_NeedsTracker needs
L_0032: ldfld RimWorld.Need_Mood mood
L_0037: ldfld RimWorld.ThoughtHandler thoughts
L_003c: ldfld RimWorld.MemoryThoughtHandler memories
L_0041: ldsfld RimWorld.ThoughtDef SleptInBedroom
L_0046: callvirt Void RemoveMemoriesOfDef(RimWorld.ThoughtDef)
L_004b: ldarg.0
L_004c: ldfld RimWorld.Pawn_NeedsTracker needs
L_0051: ldfld RimWorld.Need_Mood mood
L_0056: ldfld RimWorld.ThoughtHandler thoughts
L_005b: ldfld RimWorld.MemoryThoughtHandler memories
L_0060: ldsfld RimWorld.ThoughtDef SleptInBarracks
L_0065: callvirt Void RemoveMemoriesOfDef(RimWorld.ThoughtDef)
L_006a: ldarg.0
L_006b: ldfld RimWorld.Pawn_NeedsTracker needs
L_0070: ldfld RimWorld.Need_Mood mood
L_0075: ldfld RimWorld.ThoughtHandler thoughts
L_007a: ldfld RimWorld.MemoryThoughtHandler memories
L_007f: ldsfld RimWorld.ThoughtDef SleptOutside
L_0084: callvirt Void RemoveMemoriesOfDef(RimWorld.ThoughtDef)
L_0089: ldarg.0
L_008a: ldfld RimWorld.Pawn_NeedsTracker needs
L_008f: ldfld RimWorld.Need_Mood mood
L_0094: ldfld RimWorld.ThoughtHandler thoughts
L_0099: ldfld RimWorld.MemoryThoughtHandler memories
L_009e: ldsfld RimWorld.ThoughtDef SleptOnGround
L_00a3: callvirt Void RemoveMemoriesOfDef(RimWorld.ThoughtDef)
L_00a8: ldarg.0
L_00a9: ldfld RimWorld.Pawn_NeedsTracker needs
L_00ae: ldfld RimWorld.Need_Mood mood
L_00b3: ldfld RimWorld.ThoughtHandler thoughts
L_00b8: ldfld RimWorld.MemoryThoughtHandler memories
L_00bd: ldsfld RimWorld.ThoughtDef SleptInCold
L_00c2: callvirt Void RemoveMemoriesOfDef(RimWorld.ThoughtDef)
L_00c7: ldarg.0
L_00c8: ldfld RimWorld.Pawn_NeedsTracker needs
L_00cd: ldfld RimWorld.Need_Mood mood
L_00d2: ldfld RimWorld.ThoughtHandler thoughts
L_00d7: ldfld RimWorld.MemoryThoughtHandler memories
L_00dc: ldsfld RimWorld.ThoughtDef SleptInHeat
L_00e1: callvirt Void RemoveMemoriesOfDef(RimWorld.ThoughtDef)
L_00e6: ldarg.0
L_00e7: ldc.i4.6
L_00e8: call Verse.Room GetRoom(Verse.Thing, RegionType)
L_00ed: callvirt Boolean get_PsychologicallyOutdoors()
L_00f2: brfalse Label #3
L_00f7: ldarg.0
L_00f8: ldfld RimWorld.Pawn_NeedsTracker needs
L_00fd: ldfld RimWorld.Need_Mood mood
L_0102: ldfld RimWorld.ThoughtHandler thoughts
L_0107: ldfld RimWorld.MemoryThoughtHandler memories
L_010c: ldsfld RimWorld.ThoughtDef SleptOutside
L_0111: ldnull
L_0112: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_0117: Label #3
L_0117: ldloc.0
L_0118: brfalse Label #4
L_011d: ldloc.0
L_011e: call System.Collections.Generic.List`1[Verse.ThingCountClass]
CostListAdjusted(Verse.Thing)
L_0123: callvirt Int32 get_Count()
L_0128: brtrue Label #5
L_012d: Label #4
L_012d: ldarg.0
L_012e: ldfld RimWorld.Pawn_NeedsTracker needs
L_0133: ldfld RimWorld.Need_Mood mood
L_0138: ldfld RimWorld.ThoughtHandler thoughts
L_013d: ldfld RimWorld.MemoryThoughtHandler memories
L_0142: ldsfld RimWorld.ThoughtDef SleptOnGround
L_0147: ldnull
L_0148: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_014d: Label #5
L_014d: ldarg.0
L_014e: callvirt Single get_AmbientTemperature()
L_0153: ldarg.0
L_0154: ldfld Verse.ThingDef def
L_0159: ldsfld RimWorld.StatDef ComfyTemperatureMin
L_015e: ldnull
L_015f: call Single GetStatValueAbstract(Verse.BuildableDef, RimWorld.StatDef,
Verse.ThingDef)
L_0164: bge.un Label #6
L_0169: ldarg.0
L_016a: ldfld RimWorld.Pawn_NeedsTracker needs
L_016f: ldfld RimWorld.Need_Mood mood
L_0174: ldfld RimWorld.ThoughtHandler thoughts
L_0179: ldfld RimWorld.MemoryThoughtHandler memories
L_017e: ldsfld RimWorld.ThoughtDef SleptInCold
L_0183: ldnull
L_0184: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_0189: Label #6
L_0189: ldarg.0
L_018a: callvirt Single get_AmbientTemperature()
L_018f: ldarg.0
L_0190: ldfld Verse.ThingDef def
L_0195: ldsfld RimWorld.StatDef ComfyTemperatureMax
L_019a: ldnull
L_019b: call Single GetStatValueAbstract(Verse.BuildableDef, RimWorld.StatDef,
Verse.ThingDef)
L_01a0: ble.un Label #7
L_01a5: ldarg.0
L_01a6: ldfld RimWorld.Pawn_NeedsTracker needs
L_01ab: ldfld RimWorld.Need_Mood mood
L_01b0: ldfld RimWorld.ThoughtHandler thoughts
L_01b5: ldfld RimWorld.MemoryThoughtHandler memories
L_01ba: ldsfld RimWorld.ThoughtDef SleptInHeat
L_01bf: ldnull
L_01c0: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_01c5: Label #7
L_01c5: ldloc.0
L_01c6: brfalse Label #8
L_01cb: ldloc.0
L_01cc: ldarg.0
L_01cd: ldfld RimWorld.Pawn_Ownership ownership
L_01d2: callvirt RimWorld.Building_Bed get_OwnedBed()
L_01d7: bne.un Label #9
L_01dc: ldloc.0
L_01dd: callvirt Boolean get_ForPrisoners()
L_01e2: brtrue Label #10
L_01e7: ldarg.0
L_01e8: ldfld RimWorld.Pawn_StoryTracker story
L_01ed: ldfld RimWorld.TraitSet traits
L_01f2: ldsfld RimWorld.TraitDef Ascetic
L_01f7: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_01fc: brtrue Label #11
L_0201: ldnull
L_0202: stloc.1
L_0203: ldloc.0
L_0204: ldc.i4.6
L_0205: call Verse.Room GetRoom(Verse.Thing, RegionType)
L_020a: callvirt Verse.RoomRoleDef get_Role()
L_020f: ldsfld Verse.RoomRoleDef Bedroom
L_0214: bne.un Label #12
L_0219: ldsfld RimWorld.ThoughtDef SleptInBedroom
L_021e: stloc.1
L_021f: br Label #13
L_0224: Label #12
L_0224: ldloc.0
L_0225: ldc.i4.6
L_0226: call Verse.Room GetRoom(Verse.Thing, RegionType)
L_022b: callvirt Verse.RoomRoleDef get_Role()
L_0230: ldsfld Verse.RoomRoleDef Barracks
L_0235: bne.un Label #14
L_023a: ldsfld RimWorld.ThoughtDef SleptInBarracks
L_023f: stloc.1
L_0240: Label #13
L_0240: Label #14
L_0240: ldloc.1
L_0241: brfalse Label #15
L_0246: ldsfld Verse.RoomStatDef Impressiveness
L_024b: ldloc.0
L_024c: ldc.i4.6
L_024d: call Verse.Room GetRoom(Verse.Thing, RegionType)
L_0252: ldsfld Verse.RoomStatDef Impressiveness
L_0257: callvirt Single GetStat(Verse.RoomStatDef)
L_025c: callvirt Int32 GetScoreStageIndex(Single)
L_0261: stloc.2
L_0262: ldloc.1
L_0263: ldfld System.Collections.Generic.List`1[RimWorld.ThoughtStage] stages
L_0268: ldloc.2
L_0269: callvirt RimWorld.ThoughtStage get_Item(Int32)
L_026e: brfalse Label #16
L_0273: ldarg.0
L_0274: ldfld RimWorld.Pawn_NeedsTracker needs
L_0279: ldfld RimWorld.Need_Mood mood
L_027e: ldfld RimWorld.ThoughtHandler thoughts
L_0283: ldfld RimWorld.MemoryThoughtHandler memories
L_0288: ldloc.1
L_0289: ldloc.2
L_028a: call RimWorld.Thought_Memory MakeThought(RimWorld.ThoughtDef, Int32)
L_028f: ldnull
L_0290: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_0295: Label #8
L_0295: Label #9
L_0295: Label #10
L_0295: Label #11
L_0295: Label #15
L_0295: Label #16
L_0295: br Label #0
L_029a: Label #0
L_029a: Label #1
L_029a: ret
DONE

PATCHING RimWorld.IncidentWorker_RefugeeChased Boolean


TryExecute(RimWorld.IncidentParms)
L_0000: Local var #0 RimWorld.Faction
L_0000: Local var #1 Verse.PawnGenerationRequest
L_0000: Local var #2 System.String
L_0000: Local var #3 Verse.DiaNode
L_0000: Local var #4 Verse.DiaOption
L_0000: Local var #5 System.String
L_0000: Local var #6 Verse.DiaNode
L_0000: Local var #7 Verse.DiaOption
L_0000: Local var #8 Verse.DiaOption
L_0000: Local var #9 System.String
L_0000: Local var #10
RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF
L_0000: Local var #11 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #12 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #13 System.Nullable`1[[Verse.Gender, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #14 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #15 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 15 (System.Boolean)
L_0007: ldarg 1
L_000d: ldloca 15 (System.Boolean)
L_000f: call Boolean Replacement(RimWorld.IncidentParms, Boolean ByRef)
L_0014: brfalse Label #1
L_0019: newobj Void .ctor()
L_001e: stloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_0020: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_0022: ldarg.1
L_0023: ldfld RimWorld.IIncidentTarget target
L_0028: castclass Verse.Map
L_002d: stfld Verse.Map map
L_0032: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_0034: ldftn Boolean <>m__1F2(IntVec3)
L_003a: newobj Void .ctor(Object, IntPtr)
L_003f: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_0041: ldfld Verse.Map map
L_0046: ldsfld System.Single EdgeRoadChance_Neutral
L_004b: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_004d: ldflda Verse.IntVec3 spawnSpot
L_0052: call Boolean TryFindRandomEdgeCellWith(System.Predicate`1[Verse.IntVec3],
Verse.Map, Single, IntVec3 ByRef)
L_0057: brtrue Label #2
L_005c: ldc.i4.0
L_005d: br Label #0
L_0062: Label #2
L_0062: call RimWorld.FactionManager get_FactionManager()
L_0067: ldsfld RimWorld.FactionDef Spacer
L_006c: callvirt RimWorld.Faction FirstFactionOfDef(RimWorld.FactionDef)
L_0071: stloc.0
L_0072: ldloca.s 1 (Verse.PawnGenerationRequest)
L_0074: ldsfld Verse.PawnKindDef SpaceRefugee
L_0079: ldloc.0
L_007a: ldc.i4.2
L_007b: ldc.i4.m1
L_007c: ldc.i4.0
L_007d: ldc.i4.0
L_007e: ldc.i4.0
L_007f: ldc.i4.0
L_0080: ldc.i4.1
L_0081: ldc.i4.0
L_0082: ldc.r4 20
L_0087: ldc.i4.0
L_0088: ldc.i4.1
L_0089: ldc.i4.1
L_008a: ldc.i4.0
L_008b: ldc.i4.0
L_008c: ldnull
L_008d: ldloca.s 11 (System.Nullable`1[System.Single])
L_008f: initobj System.Nullable`1[System.Single]
L_0095: ldloc.s 11 (System.Nullable`1[System.Single])
L_0097: ldloca.s 12 (System.Nullable`1[System.Single])
L_0099: initobj System.Nullable`1[System.Single]
L_009f: ldloc.s 12 (System.Nullable`1[System.Single])
L_00a1: ldloca.s 13 (System.Nullable`1[Verse.Gender])
L_00a3: initobj System.Nullable`1[Verse.Gender]
L_00a9: ldloc.s 13 (System.Nullable`1[Verse.Gender])
L_00ab: ldloca.s 14 (System.Nullable`1[System.Single])
L_00ad: initobj System.Nullable`1[System.Single]
L_00b3: ldloc.s 14 (System.Nullable`1[System.Single])
L_00b5: ldnull
L_00b6: call Void .ctor(PawnKindDef, Faction, PawnGenerationContext, Int32,
Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Single, Boolean, Boolean,
Boolean, Boolean, Boolean, Predicate`1, Nullable`1, Nullable`1, Nullable`1,
Nullable`1, String)
L_00bb: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_00bd: ldloc.1
L_00be: call Verse.Pawn GeneratePawn(PawnGenerationRequest)
L_00c3: stfld Verse.Pawn refugee
L_00c8: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_00ca: ldfld Verse.Pawn refugee
L_00cf: ldfld RimWorld.Pawn_RelationsTracker relations
L_00d4: ldc.i4.1
L_00d5: stfld System.Boolean everSeenByPlayer
L_00da: call RimWorld.FactionManager get_FactionManager()
L_00df: callvirt IEnumerable`1 get_AllFactions()
L_00e4: ldsfld System.Func`2[RimWorld.Faction,System.Boolean] <>f__am$cache1
L_00e9: brtrue Label #3
L_00ee: ldnull
L_00ef: ldftn Boolean <TryExecute>m__1F3(RimWorld.Faction)
L_00f5: newobj Void .ctor(Object, IntPtr)
L_00fa: stsfld System.Func`2[RimWorld.Faction,System.Boolean] <>f__am$cache1
L_00ff: Label #3
L_00ff: ldsfld System.Func`2[RimWorld.Faction,System.Boolean] <>f__am$cache1
L_0104: call IEnumerable`1 Where[Faction](IEnumerable`1,
System.Func`2[RimWorld.Faction,System.Boolean])
L_0109: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_010b: ldflda RimWorld.Faction enemyFac
L_0110: call Boolean TryRandomElement[Faction](IEnumerable`1, RimWorld.Faction
ByRef)
L_0115: brtrue Label #4
L_011a: ldc.i4.0
L_011b: br Label #0
L_0120: Label #4
L_0120: ldstr "RefugeeChasedInitial"
L_0125: ldc.i4.5
L_0126: newarr System.Object
L_012b: dup
L_012c: ldc.i4.0
L_012d: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_012f: ldfld Verse.Pawn refugee
L_0134: callvirt Verse.Name get_Name()
L_0139: callvirt System.String get_ToStringFull()
L_013e: stelem.ref
L_013f: dup
L_0140: ldc.i4.1
L_0141: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_0143: ldfld Verse.Pawn refugee
L_0148: ldfld RimWorld.Pawn_StoryTracker story
L_014d: callvirt System.String get_Title()
L_0152: callvirt System.String ToLower()
L_0157: stelem.ref
L_0158: dup
L_0159: ldc.i4.2
L_015a: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_015c: ldfld RimWorld.Faction enemyFac
L_0161: ldfld RimWorld.FactionDef def
L_0166: ldfld System.String pawnsPlural
L_016b: stelem.ref
L_016c: dup
L_016d: ldc.i4.3
L_016e: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_0170: ldfld RimWorld.Faction enemyFac
L_0175: callvirt System.String get_Name()
L_017a: stelem.ref
L_017b: dup
L_017c: ldc.i4.4
L_017d: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_017f: ldfld Verse.Pawn refugee
L_0184: ldfld Verse.Pawn_AgeTracker ageTracker
L_0189: callvirt Int32 get_AgeBiologicalYears()
L_018e: box System.Int32
L_0193: stelem.ref
L_0194: call System.String Translate(System.String, System.Object[])
L_0199: stloc.2
L_019a: ldloc.2
L_019b: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_019d: ldfld Verse.Pawn refugee
L_01a2: call System.String AdjustedFor(System.String, Verse.Pawn)
L_01a7: stloc.2
L_01a8: ldloca.s 2 (System.String)
L_01aa: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_01ac: ldfld Verse.Pawn refugee
L_01b1: call Boolean TryAppendRelationsWithColonistsInfo(System.String ByRef,
Verse.Pawn)
L_01b6: pop
L_01b7: ldloc.2
L_01b8: newobj Void .ctor(String)
L_01bd: stloc.3
L_01be: ldstr "RefugeeChasedInitial_Accept"
L_01c3: call System.String Translate(System.String)
L_01c8: newobj Void .ctor(String)
L_01cd: stloc.s 4 (Verse.DiaOption)
L_01cf: ldloc.s 4 (Verse.DiaOption)
L_01d1: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_01d3: ldftn Void <>m__1F4()
L_01d9: newobj Void .ctor(Object, IntPtr)
L_01de: stfld System.Action action
L_01e3: ldloc.s 4 (Verse.DiaOption)
L_01e5: ldc.i4.1
L_01e6: stfld System.Boolean resolveTree
L_01eb: ldloc.3
L_01ec: ldfld System.Collections.Generic.List`1[Verse.DiaOption] options
L_01f1: ldloc.s 4 (Verse.DiaOption)
L_01f3: callvirt Void Add(Verse.DiaOption)
L_01f8: ldstr "RefugeeChasedRejected"
L_01fd: ldc.i4.1
L_01fe: newarr System.Object
L_0203: dup
L_0204: ldc.i4.0
L_0205: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_0207: ldfld Verse.Pawn refugee
L_020c: callvirt System.String get_NameStringShort()
L_0211: stelem.ref
L_0212: call System.String Translate(System.String, System.Object[])
L_0217: stloc.s 5 (System.String)
L_0219: ldloc.s 5 (System.String)
L_021b: newobj Void .ctor(String)
L_0220: stloc.s 6 (Verse.DiaNode)
L_0222: ldstr "OK"
L_0227: call System.String Translate(System.String)
L_022c: newobj Void .ctor(String)
L_0231: stloc.s 7 (Verse.DiaOption)
L_0233: ldloc.s 7 (Verse.DiaOption)
L_0235: ldc.i4.1
L_0236: stfld System.Boolean resolveTree
L_023b: ldloc.s 6 (Verse.DiaNode)
L_023d: ldfld System.Collections.Generic.List`1[Verse.DiaOption] options
L_0242: ldloc.s 7 (Verse.DiaOption)
L_0244: callvirt Void Add(Verse.DiaOption)
L_0249: ldstr "RefugeeChasedInitial_Reject"
L_024e: call System.String Translate(System.String)
L_0253: newobj Void .ctor(String)
L_0258: stloc.s 8 (Verse.DiaOption)
L_025a: ldloc.s 8 (Verse.DiaOption)
L_025c: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_025e: ldftn Void <>m__1F5()
L_0264: newobj Void .ctor(Object, IntPtr)
L_0269: stfld System.Action action
L_026e: ldloc.s 8 (Verse.DiaOption)
L_0270: ldloc.s 6 (Verse.DiaNode)
L_0272: stfld Verse.DiaNode link
L_0277: ldloc.3
L_0278: ldfld System.Collections.Generic.List`1[Verse.DiaOption] options
L_027d: ldloc.s 8 (Verse.DiaOption)
L_027f: callvirt Void Add(Verse.DiaOption)
L_0284: ldstr "RefugeeChasedTitle"
L_0289: ldc.i4.1
L_028a: newarr System.Object
L_028f: dup
L_0290: ldc.i4.0
L_0291: ldloc.s 10
(RimWorld.IncidentWorker_RefugeeChased+<TryExecute>c__AnonStorey2DF)
L_0293: ldfld Verse.Map map
L_0298: ldfld Verse.MapInfo info
L_029d: ldfld RimWorld.Planet.MapParent parent
L_02a2: callvirt System.String get_Label()
L_02a7: stelem.ref
L_02a8: call System.String Translate(System.String, System.Object[])
L_02ad: stloc.s 9 (System.String)
L_02af: call Verse.WindowStack get_WindowStack()
L_02b4: ldloc.3
L_02b5: ldc.i4.1
L_02b6: ldc.i4.1
L_02b7: ldloc.s 9 (System.String)
L_02b9: newobj Void .ctor(DiaNode, Boolean, Boolean, String)
L_02be: callvirt Void Add(Verse.Window)
L_02c3: ldc.i4.1
L_02c4: br Label #0
L_02c9: Label #0
L_02c9: stloc 15 (System.Boolean)
L_02cb: Label #1
L_02cb: ldloc 15 (System.Boolean)
L_02cd: ret
DONE

PATCHING RimWorld.IncidentWorker_WandererJoin Boolean


TryExecute(RimWorld.IncidentParms)
L_0000: Local var #0 Verse.IntVec3
L_0000: Local var #1 System.Collections.Generic.List`1[[Verse.PawnKindDef,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 Verse.PawnKindDef
L_0000: Local var #3 Verse.PawnGenerationRequest
L_0000: Local var #4 Verse.Pawn
L_0000: Local var #5 System.String
L_0000: Local var #6 System.String
L_0000: Local var #7
RimWorld.IncidentWorker_WandererJoin+<TryExecute>c__AnonStorey2E3
L_0000: Local var #8 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #9 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #10 System.Nullable`1[[Verse.Gender, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #11 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #12 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 12 (System.Boolean)
L_0007: ldarg 1
L_000d: ldloca 12 (System.Boolean)
L_000f: call Boolean Replacement(RimWorld.IncidentParms, Boolean ByRef)
L_0014: brfalse Label #1
L_0019: newobj Void .ctor()
L_001e: stloc.s 7
(RimWorld.IncidentWorker_WandererJoin+<TryExecute>c__AnonStorey2E3)
L_0020: ldloc.s 7
(RimWorld.IncidentWorker_WandererJoin+<TryExecute>c__AnonStorey2E3)
L_0022: ldarg.1
L_0023: ldfld RimWorld.IIncidentTarget target
L_0028: castclass Verse.Map
L_002d: stfld Verse.Map map
L_0032: ldloc.s 7
(RimWorld.IncidentWorker_WandererJoin+<TryExecute>c__AnonStorey2E3)
L_0034: ldftn Boolean <>m__1FE(IntVec3)
L_003a: newobj Void .ctor(Object, IntPtr)
L_003f: ldloc.s 7
(RimWorld.IncidentWorker_WandererJoin+<TryExecute>c__AnonStorey2E3)
L_0041: ldfld Verse.Map map
L_0046: ldsfld System.Single EdgeRoadChance_Neutral
L_004b: ldloca.s 0 (Verse.IntVec3)
L_004d: call Boolean TryFindRandomEdgeCellWith(System.Predicate`1[Verse.IntVec3],
Verse.Map, Single, IntVec3 ByRef)
L_0052: brtrue Label #2
L_0057: ldc.i4.0
L_0058: br Label #0
L_005d: Label #2
L_005d: newobj Void .ctor()
L_0062: stloc.1
L_0063: ldloc.1
L_0064: ldsfld Verse.PawnKindDef Villager
L_0069: callvirt Void Add(Verse.PawnKindDef)
L_006e: ldloc.1
L_006f: call Verse.PawnKindDef RandomElement[PawnKindDef](IEnumerable`1)
L_0074: stloc.2
L_0075: ldloca.s 3 (Verse.PawnGenerationRequest)
L_0077: ldloc.2
L_0078: call RimWorld.Faction get_OfPlayer()
L_007d: ldc.i4.2
L_007e: ldc.i4.m1
L_007f: ldc.i4.0
L_0080: ldc.i4.0
L_0081: ldc.i4.0
L_0082: ldc.i4.0
L_0083: ldc.i4.1
L_0084: ldc.i4.0
L_0085: ldc.r4 20
L_008a: ldc.i4.0
L_008b: ldc.i4.1
L_008c: ldc.i4.1
L_008d: ldc.i4.0
L_008e: ldc.i4.0
L_008f: ldnull
L_0090: ldloca.s 8 (System.Nullable`1[System.Single])
L_0092: initobj System.Nullable`1[System.Single]
L_0098: ldloc.s 8 (System.Nullable`1[System.Single])
L_009a: ldloca.s 9 (System.Nullable`1[System.Single])
L_009c: initobj System.Nullable`1[System.Single]
L_00a2: ldloc.s 9 (System.Nullable`1[System.Single])
L_00a4: ldloca.s 10 (System.Nullable`1[Verse.Gender])
L_00a6: initobj System.Nullable`1[Verse.Gender]
L_00ac: ldloc.s 10 (System.Nullable`1[Verse.Gender])
L_00ae: ldloca.s 11 (System.Nullable`1[System.Single])
L_00b0: initobj System.Nullable`1[System.Single]
L_00b6: ldloc.s 11 (System.Nullable`1[System.Single])
L_00b8: ldnull
L_00b9: call Void .ctor(PawnKindDef, Faction, PawnGenerationContext, Int32,
Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Single, Boolean, Boolean,
Boolean, Boolean, Boolean, Predicate`1, Nullable`1, Nullable`1, Nullable`1,
Nullable`1, String)
L_00be: ldloc.3
L_00bf: call Verse.Pawn GeneratePawn(PawnGenerationRequest)
L_00c4: stloc.s 4 (Verse.Pawn)
L_00c6: ldloc.s 4 (Verse.Pawn)
L_00c8: ldloc.0
L_00c9: ldloc.s 7
(RimWorld.IncidentWorker_WandererJoin+<TryExecute>c__AnonStorey2E3)
L_00cb: ldfld Verse.Map map
L_00d0: call Verse.Thing Spawn(Verse.Thing, IntVec3, Verse.Map)
L_00d5: pop
L_00d6: ldstr "WandererJoin"
L_00db: ldc.i4.2
L_00dc: newarr System.Object
L_00e1: dup
L_00e2: ldc.i4.0
L_00e3: ldloc.2
L_00e4: ldfld System.String label
L_00e9: stelem.ref
L_00ea: dup
L_00eb: ldc.i4.1
L_00ec: ldloc.s 4 (Verse.Pawn)
L_00ee: ldfld RimWorld.Pawn_StoryTracker story
L_00f3: callvirt System.String get_Title()
L_00f8: callvirt System.String ToLower()
L_00fd: stelem.ref
L_00fe: call System.String Translate(System.String, System.Object[])
L_0103: stloc.s 5 (System.String)
L_0105: ldloc.s 5 (System.String)
L_0107: ldloc.s 4 (Verse.Pawn)
L_0109: call System.String AdjustedFor(System.String, Verse.Pawn)
L_010e: stloc.s 5 (System.String)
L_0110: ldstr "LetterLabelWandererJoin"
L_0115: call System.String Translate(System.String)
L_011a: stloc.s 6 (System.String)
L_011c: ldloca.s 5 (System.String)
L_011e: ldloca.s 6 (System.String)
L_0120: ldloc.s 4 (Verse.Pawn)
L_0122: call Boolean TryAppendRelationsWithColonistsInfo(System.String ByRef,
System.String ByRef, Verse.Pawn)
L_0127: pop
L_0128: call Verse.LetterStack get_LetterStack()
L_012d: ldloc.s 6 (System.String)
L_012f: ldloc.s 5 (System.String)
L_0131: ldsfld Verse.LetterDef Good
L_0136: ldloc.s 4 (Verse.Pawn)
L_0138: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_013d: ldnull
L_013e: callvirt Void ReceiveLetter(System.String, System.String, Verse.LetterDef,
GlobalTargetInfo, System.String)
L_0143: ldc.i4.1
L_0144: br Label #0
L_0149: Label #0
L_0149: stloc 12 (System.Boolean)
L_014b: Label #1
L_014b: ldloc 12 (System.Boolean)
L_014d: ret
DONE

PATCHING Verse.PawnGenerator Void GenerateGearFor(Verse.Pawn,


PawnGenerationRequest)
L_0000: ldstr "GenerateGearFor"
L_0005: call Void BeginSample(System.String)
L_000a: ldstr "GenerateStartingApparelFor"
L_000f: call Void BeginSample(System.String)
L_0014: ldarg.0
L_0015: ldarg.1
L_0016: call Void GenerateStartingApparelFor(Verse.Pawn, PawnGenerationRequest)
L_001b: call Void EndSample()
L_0020: ldstr "TryGenerateWeaponFor"
L_0025: call Void BeginSample(System.String)
L_002a: ldarg.0
L_002b: call Void TryGenerateWeaponFor(Verse.Pawn)
L_0030: call Void EndSample()
L_0035: ldstr "GenerateInventoryFor"
L_003a: call Void BeginSample(System.String)
L_003f: ldarg.0
L_0040: ldarg.1
L_0041: call Void GenerateInventoryFor(Verse.Pawn, PawnGenerationRequest)
L_0046: call Void EndSample()
L_004b: call Void EndSample()
L_0050: br Label #0
L_0055: Label #0
L_0055: ldarg 0
L_005b: ldarg 1
L_0061: call Void GenerateGearFor(Verse.Pawn, PawnGenerationRequest)
L_0066: ret
DONE

PATCHING RimWorld.PawnWeaponGenerator Void Reset()


L_0000: Local var #0 System.Collections.Generic.IEnumerator`1[[Verse.ThingDef,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Single
L_0000: Local var #2 System.Single
L_0000: Local var #3 System.Int32
L_0000: Local var #4 RimWorld.ThingStuffPair
L_0000: Local var #5 RimWorld.PawnWeaponGenerator+<Reset>c__AnonStorey339
L_0000: Local var #6 RimWorld.PawnWeaponGenerator+<Reset>c__AnonStorey33A
L_0000: newobj Void .ctor()
L_0005: stloc.s 5 (RimWorld.PawnWeaponGenerator+<Reset>c__AnonStorey339)
L_0007: ldloc.s 5 (RimWorld.PawnWeaponGenerator+<Reset>c__AnonStorey339)
L_0009: ldsfld System.Predicate`1[Verse.ThingDef] <>f__am$cache2
L_000e: brtrue Label #2
L_0013: ldnull
L_0014: ldftn Boolean <Reset>m__301(Verse.ThingDef)
L_001a: newobj Void .ctor(Object, IntPtr)
L_001f: stsfld System.Predicate`1[Verse.ThingDef] <>f__am$cache2
L_0024: Label #2
L_0024: ldsfld System.Predicate`1[Verse.ThingDef] <>f__am$cache2
L_0029: stfld System.Predicate`1[Verse.ThingDef] isWeapon
L_002e: ldloc.s 5 (RimWorld.PawnWeaponGenerator+<Reset>c__AnonStorey339)
L_0030: ldfld System.Predicate`1[Verse.ThingDef] isWeapon
L_0035: call System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
AllWith(System.Predicate`1[Verse.ThingDef])
L_003a: stsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_003f: newobj Void .ctor()
L_0044: stloc.s 6 (RimWorld.PawnWeaponGenerator+<Reset>c__AnonStorey33A)
L_0046: call IEnumerable`1 get_AllDefs()
L_004b: ldloc.s 5 (RimWorld.PawnWeaponGenerator+<Reset>c__AnonStorey339)
L_004d: ldftn Boolean <>m__302(Verse.ThingDef)
L_0053: newobj Void .ctor(Object, IntPtr)
L_0058: call IEnumerable`1 Where[ThingDef](IEnumerable`1,
System.Func`2[Verse.ThingDef,System.Boolean])
L_005d: callvirt IEnumerator`1 GetEnumerator()
L_0062: stloc.0
L_0063: br Label #3
L_0068: Label #10
L_0068: ldloc.s 6 (RimWorld.PawnWeaponGenerator+<Reset>c__AnonStorey33A)
L_006a: ldloc.0
L_006b: callvirt Verse.ThingDef get_Current()
L_0070: stfld Verse.ThingDef thingDef
L_0075: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_007a: ldloc.s 6 (RimWorld.PawnWeaponGenerator+<Reset>c__AnonStorey33A)
L_007c: ldftn Boolean <>m__303(ThingStuffPair)
L_0082: newobj Void .ctor(Object, IntPtr)
L_0087: call IEnumerable`1 Where[ThingStuffPair](IEnumerable`1,
System.Func`2[RimWorld.ThingStuffPair,System.Boolean])
L_008c: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache3
L_0091: brtrue Label #4
L_0096: ldnull
L_0097: ldftn Single <Reset>m__304(ThingStuffPair)
L_009d: newobj Void .ctor(Object, IntPtr)
L_00a2: stsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache3
L_00a7: Label #4
L_00a7: ldsfld System.Func`2[RimWorld.ThingStuffPair,System.Single] <>f__am$cache3
L_00ac: call Single Sum[ThingStuffPair](IEnumerable`1,
System.Func`2[RimWorld.ThingStuffPair,System.Single])
L_00b1: stloc.1
L_00b2: ldloc.s 6 (RimWorld.PawnWeaponGenerator+<Reset>c__AnonStorey33A)
L_00b4: ldfld Verse.ThingDef thingDef
L_00b9: ldfld System.Single generateCommonality
L_00be: ldloc.1
L_00bf: div
L_00c0: stloc.2
L_00c1: ldloc.2
L_00c2: ldc.r4 1
L_00c7: bne.un Label #5
L_00cc: br Label #6
L_00d1: Label #5
L_00d1: ldc.i4.0
L_00d2: stloc.3
L_00d3: br Label #7
L_00d8: Label #9
L_00d8: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_00dd: ldloc.3
L_00de: callvirt ThingStuffPair get_Item(Int32)
L_00e3: stloc.s 4 (RimWorld.ThingStuffPair)
L_00e5: ldloca.s 4 (RimWorld.ThingStuffPair)
L_00e7: ldfld Verse.ThingDef thing
L_00ec: ldloc.s 6 (RimWorld.PawnWeaponGenerator+<Reset>c__AnonStorey33A)
L_00ee: ldfld Verse.ThingDef thingDef
L_00f3: bne.un Label #8
L_00f8: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_00fd: ldloc.3
L_00fe: ldloca.s 4 (RimWorld.ThingStuffPair)
L_0100: ldfld Verse.ThingDef thing
L_0105: ldloca.s 4 (RimWorld.ThingStuffPair)
L_0107: ldfld Verse.ThingDef stuff
L_010c: ldloca.s 4 (RimWorld.ThingStuffPair)
L_010e: ldfld System.Single commonalityMultiplier
L_0113: ldloc.2
L_0114: mul
L_0115: newobj Void .ctor(ThingDef, ThingDef, Single)
L_011a: callvirt Void set_Item(Int32, ThingStuffPair)
L_011f: Label #8
L_011f: ldloc.3
L_0120: ldc.i4.1
L_0121: add
L_0122: stloc.3
L_0123: Label #7
L_0123: ldloc.3
L_0124: ldsfld System.Collections.Generic.List`1[RimWorld.ThingStuffPair]
allWeaponPairs
L_0129: callvirt Int32 get_Count()
L_012e: blt Label #9
L_0133: Label #3
L_0133: Label #6
L_0133: ldloc.0
L_0134: callvirt Boolean MoveNext()
L_0139: brtrue Label #10
L_013e: leave Label #11
L_0143: ldloc.0
L_0144: brtrue Label #12
L_0149: endfinally
L_014a: Label #12
L_014a: ldloc.0
L_014b: callvirt Void Dispose()
L_0150: endfinally
L_0151: Label #11
L_0151: br Label #0
L_0156: Label #0
L_0156: call Void Reset()
L_015b: ret
DONE

PATCHING RimWorld.AutoUndrafter Void AutoUndraftTick()


L_0000: call Verse.TickManager get_TickManager()
L_0005: callvirt Int32 get_TicksGame()
L_000a: ldc.i4.s 100
L_000c: rem
L_000d: brtrue Label #2
L_0012: ldarg.0
L_0013: ldfld Verse.Pawn pawn
L_0018: ldfld RimWorld.Pawn_DraftController drafter
L_001d: callvirt Boolean get_Drafted()
L_0022: brtrue Label #3
L_0027: ldarg.0
L_0028: call Verse.TickManager get_TickManager()
L_002d: callvirt Int32 get_TicksGame()
L_0032: stfld System.Int32 lastNonWaitingTick
L_0037: br Label #4
L_003c: Label #3
L_003c: ldarg.0
L_003d: ldfld Verse.Pawn pawn
L_0042: ldfld Verse.AI.Pawn_JobTracker jobs
L_0047: ldfld Verse.AI.Job curJob
L_004c: brfalse Label #5
L_0051: ldarg.0
L_0052: ldfld Verse.Pawn pawn
L_0057: ldfld Verse.AI.Pawn_JobTracker jobs
L_005c: ldfld Verse.AI.Job curJob
L_0061: ldfld Verse.JobDef def
L_0066: ldsfld Verse.JobDef WaitCombat
L_006b: beq Label #6
L_0070: ldarg.0
L_0071: call Verse.TickManager get_TickManager()
L_0076: callvirt Int32 get_TicksGame()
L_007b: stfld System.Int32 lastNonWaitingTick
L_0080: Label #5
L_0080: Label #6
L_0080: ldarg.0
L_0081: call Boolean ShouldAutoUndraft()
L_0086: brfalse Label #7
L_008b: ldarg.0
L_008c: ldfld Verse.Pawn pawn
L_0091: ldfld RimWorld.Pawn_DraftController drafter
L_0096: ldc.i4.0
L_0097: callvirt Void set_Drafted(Boolean)
L_009c: ldarg.0
L_009d: call Verse.TickManager get_TickManager()
L_00a2: callvirt Int32 get_TicksGame()
L_00a7: stfld System.Int32 lastNonWaitingTick
L_00ac: Label #2
L_00ac: Label #4
L_00ac: Label #7
L_00ac: br Label #0
L_00b1: Label #0
L_00b1: ldarg.0
L_00b2: call Void AutoUndraftTick(RimWorld.AutoUndrafter)
L_00b7: ret
DONE

PATCHING Verse.Stance_Warmup Void StanceTick()


L_0000: ldarg.0
L_0001: ldfld System.Boolean targetStartedDowned
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: ldflda Verse.LocalTargetInfo focusTarg
L_0011: call Boolean get_HasThing()
L_0016: brfalse Label #3
L_001b: ldarg.0
L_001c: ldflda Verse.LocalTargetInfo focusTarg
L_0021: call Verse.Thing get_Thing()
L_0026: isinst Verse.Pawn
L_002b: brfalse Label #4
L_0030: ldarg.0
L_0031: ldflda Verse.LocalTargetInfo focusTarg
L_0036: call Verse.Thing get_Thing()
L_003b: castclass Verse.Pawn
L_0040: callvirt Boolean get_Downed()
L_0045: brfalse Label #5
L_004a: ldarg.0
L_004b: ldfld Verse.Pawn_StanceTracker stanceTracker
L_0050: newobj Void .ctor()
L_0055: callvirt Void SetStance(Verse.Stance)
L_005a: br Label #0
L_005f: Label #2
L_005f: Label #3
L_005f: Label #4
L_005f: Label #5
L_005f: ldarg.0
L_0060: ldflda Verse.LocalTargetInfo focusTarg
L_0065: call Boolean get_HasThing()
L_006a: brfalse Label #6
L_006f: ldarg.0
L_0070: ldflda Verse.LocalTargetInfo focusTarg
L_0075: call Verse.Thing get_Thing()
L_007a: callvirt Boolean get_Spawned()
L_007f: brfalse Label #7
L_0084: ldarg.0
L_0085: ldfld Verse.Verb verb
L_008a: ldarg.0
L_008b: call Verse.Pawn get_Pawn()
L_0090: callvirt IntVec3 get_Position()
L_0095: ldarg.0
L_0096: ldfld Verse.LocalTargetInfo focusTarg
L_009b: callvirt Boolean CanHitTargetFrom(IntVec3, LocalTargetInfo)
L_00a0: brtrue Label #8
L_00a5: Label #7
L_00a5: ldarg.0
L_00a6: ldfld Verse.Pawn_StanceTracker stanceTracker
L_00ab: newobj Void .ctor()
L_00b0: callvirt Void SetStance(Verse.Stance)
L_00b5: br Label #0
L_00ba: Label #6
L_00ba: Label #8
L_00ba: ldarg.0
L_00bb: ldfld Verse.LocalTargetInfo focusTarg
L_00c0: ldarg.0
L_00c1: call Verse.Pawn get_Pawn()
L_00c6: ldfld Verse.AI.Pawn_MindState mindState
L_00cb: ldfld Verse.Thing enemyTarget
L_00d0: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00d5: call Boolean op_Equality(LocalTargetInfo, LocalTargetInfo)
L_00da: brfalse Label #9
L_00df: ldarg.0
L_00e0: call Verse.Pawn get_Pawn()
L_00e5: ldfld Verse.AI.Pawn_MindState mindState
L_00ea: callvirt Void Notify_EngagedTarget()
L_00ef: Label #9
L_00ef: ldarg.0
L_00f0: call Void StanceTick()
L_00f5: br Label #0
L_00fa: Label #0
L_00fa: ldarg.0
L_00fb: call Void StanceTick(Verse.Stance_Warmup)
L_0100: ret
DONE

PATCHING Verse.Pawn_EquipmentTracker Void AddEquipment(Verse.ThingWithComps)


L_0000: ldarg.1
L_0001: ldfld Verse.ThingDef def
L_0006: ldfld Verse.EquipmentType equipmentType
L_000b: ldc.i4.1
L_000c: bne.un Label #2
L_0011: ldarg.0
L_0012: call Verse.ThingWithComps get_Primary()
L_0017: brfalse Label #3
L_001c: ldc.i4.6
L_001d: newarr System.Object
L_0022: dup
L_0023: ldc.i4.0
L_0024: ldstr "Pawn "
L_0029: stelem.ref
L_002a: dup
L_002b: ldc.i4.1
L_002c: ldarg.0
L_002d: ldfld Verse.Pawn pawn
L_0032: callvirt System.String get_LabelCap()
L_0037: stelem.ref
L_0038: dup
L_0039: ldc.i4.2
L_003a: ldstr " got primaryInt equipment "
L_003f: stelem.ref
L_0040: dup
L_0041: ldc.i4.3
L_0042: ldarg.1
L_0043: stelem.ref
L_0044: dup
L_0045: ldc.i4.4
L_0046: ldstr " while already having primaryInt equipment "
L_004b: stelem.ref
L_004c: dup
L_004d: ldc.i4.5
L_004e: ldarg.0
L_004f: call Verse.ThingWithComps get_Primary()
L_0054: stelem.ref
L_0055: call System.String Concat(System.Object[])
L_005a: call Void Error(System.String)
L_005f: br Label #0
L_0064: Label #2
L_0064: Label #3
L_0064: ldarg.0
L_0065: ldfld Verse.ThingOwner`1[Verse.ThingWithComps] equipment
L_006a: ldarg.1
L_006b: ldc.i4.1
L_006c: callvirt Boolean TryAdd(Verse.Thing, Boolean)
L_0071: pop
L_0072: br Label #0
L_0077: Label #0
L_0077: ldarg.0
L_0078: ldarg 1
L_007e: call Void AddEquipment(Verse.Pawn_EquipmentTracker, Verse.ThingWithComps)
L_0083: ret
DONE

PATCHING RimWorld.ITab_Pawn_Gear Void InterfaceDrop(Verse.Thing)


L_0000: Local var #0 Verse.ThingWithComps
L_0000: Local var #1 RimWorld.Apparel
L_0000: Local var #2 Verse.Thing
L_0000: ldarg.0
L_0001: ldarg 1
L_0007: call Boolean InterfaceDropPreFix(RimWorld.ITab_Pawn_Gear, Verse.Thing)
L_000c: brfalse Label #1
L_0011: ldarg.0
L_0012: ldarg 1
L_0018: call Boolean Prefix(RimWorld.ITab_Pawn_Gear, Verse.Thing)
L_001d: brfalse Label #1
L_0022: ldarg.0
L_0023: ldarg 1
L_0029: call Void InterfaceDrop(RimWorld.ITab_Pawn_Gear, Verse.Thing)
L_002e: ldarg.1
L_002f: isinst Verse.ThingWithComps
L_0034: stloc.0
L_0035: ldarg.1
L_0036: isinst RimWorld.Apparel
L_003b: stloc.1
L_003c: ldloc.1
L_003d: brfalse Label #2
L_0042: ldarg.0
L_0043: call Verse.Pawn get_SelPawnForGear()
L_0048: ldfld RimWorld.Pawn_ApparelTracker apparel
L_004d: brfalse Label #3
L_0052: ldarg.0
L_0053: call Verse.Pawn get_SelPawnForGear()
L_0058: ldfld RimWorld.Pawn_ApparelTracker apparel
L_005d: callvirt System.Collections.Generic.List`1[RimWorld.Apparel]
get_WornApparel()
L_0062: ldloc.1
L_0063: callvirt Boolean Contains(RimWorld.Apparel)
L_0068: brfalse Label #4
L_006d: ldarg.0
L_006e: call Verse.Pawn get_SelPawnForGear()
L_0073: ldfld Verse.AI.Pawn_JobTracker jobs
L_0078: ldsfld Verse.JobDef RemoveApparel
L_007d: ldloc.1
L_007e: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0083: newobj Void .ctor(JobDef, LocalTargetInfo)
L_0088: ldc.i4.0
L_0089: callvirt Boolean TryTakeOrderedJob(Verse.AI.Job, JobTag)
L_008e: pop
L_008f: br Label #5
L_0094: Label #2
L_0094: Label #3
L_0094: Label #4
L_0094: ldloc.0
L_0095: brfalse Label #6
L_009a: ldarg.0
L_009b: call Verse.Pawn get_SelPawnForGear()
L_00a0: ldfld Verse.Pawn_EquipmentTracker equipment
L_00a5: brfalse Label #7
L_00aa: ldarg.0
L_00ab: call Verse.Pawn get_SelPawnForGear()
L_00b0: ldfld Verse.Pawn_EquipmentTracker equipment
L_00b5: callvirt System.Collections.Generic.List`1[Verse.ThingWithComps]
get_AllEquipmentListForReading()
L_00ba: ldloc.0
L_00bb: callvirt Boolean Contains(Verse.ThingWithComps)
L_00c0: brfalse Label #8
L_00c5: ldarg.0
L_00c6: call Verse.Pawn get_SelPawnForGear()
L_00cb: ldfld Verse.AI.Pawn_JobTracker jobs
L_00d0: ldsfld Verse.JobDef DropEquipment
L_00d5: ldloc.0
L_00d6: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00db: newobj Void .ctor(JobDef, LocalTargetInfo)
L_00e0: ldc.i4.0
L_00e1: callvirt Boolean TryTakeOrderedJob(Verse.AI.Job, JobTag)
L_00e6: pop
L_00e7: br Label #9
L_00ec: Label #6
L_00ec: Label #7
L_00ec: Label #8
L_00ec: ldarg.1
L_00ed: ldfld Verse.ThingDef def
L_00f2: ldfld System.Boolean destroyOnDrop
L_00f7: brtrue Label #10
L_00fc: ldarg.0
L_00fd: call Verse.Pawn get_SelPawnForGear()
L_0102: ldfld Verse.Pawn_InventoryTracker inventory
L_0107: ldfld Verse.ThingOwner`1[Verse.Thing] innerContainer
L_010c: ldarg.1
L_010d: ldarg.0
L_010e: call Verse.Pawn get_SelPawnForGear()
L_0113: callvirt IntVec3 get_Position()
L_0118: ldarg.0
L_0119: call Verse.Pawn get_SelPawnForGear()
L_011e: callvirt Verse.Map get_Map()
L_0123: ldc.i4.1
L_0124: ldloca.s 2 (Verse.Thing)
L_0126: ldnull
L_0127: callvirt Boolean TryDrop(Verse.Thing, IntVec3, Verse.Map, ThingPlaceMode,
Verse.Thing ByRef, System.Action`2[Verse.Thing,System.Int32])
L_012c: pop
L_012d: Label #5
L_012d: Label #9
L_012d: Label #10
L_012d: br Label #0
L_0132: Label #0
L_0132: Label #1
L_0132: ret
DONE

PATCHING Verse.Pawn IEnumerable`1 GetGizmos()


L_0000: Local var #0 Verse.Pawn+<GetGizmos>c__Iterator21B
L_0000: Local var #1 System.Collections.Generic.IEnumerable`1[[Verse.Gizmo,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: ldnull
L_0001: stloc 1 (System.Collections.Generic.IEnumerable`1[Verse.Gizmo])
L_0002: newobj Void .ctor()
L_0007: stloc.0
L_0008: ldloc.0
L_0009: ldarg.0
L_000a: stfld Verse.Pawn <>f__this
L_000f: ldloc.0
L_0010: dup
L_0011: ldc.i4.s -2
L_0013: stfld System.Int32 $PC
L_0018: br Label #0
L_001d: Label #0
L_001d: stloc 1 (System.Collections.Generic.IEnumerable`1[Verse.Gizmo])
L_001e: ldarg.0
L_001f: ldloca 1 (System.Collections.Generic.IEnumerable`1[Verse.Gizmo])
L_0021: call Void GetGizmos(Verse.Pawn, IEnumerable`1 ByRef)
L_0026: ldloc 1 (System.Collections.Generic.IEnumerable`1[Verse.Gizmo])
L_0027: ret
DONE

PATCHING RimWorld.FloatMenuMakerMap Void AddHumanlikeOrders(Vector3, Verse.Pawn,


System.Collections.Generic.List`1[Verse.FloatMenuOption])
L_0000: Local var #0 Verse.IntVec3
L_0000: Local var #1 Verse.Thing
L_0000: Local var #2 System.Collections.Generic.List`1+Enumerator[[Verse.Thing,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 Verse.FloatMenuOption
L_0000: Local var #4 System.String
L_0000: Local var #5 Verse.MenuOptionPriority
L_0000: Local var #6 Verse.LocalTargetInfo
L_0000: Local var #7
System.Collections.Generic.IEnumerator`1[[Verse.LocalTargetInfo, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #8 Verse.LocalTargetInfo
L_0000: Local var #9
System.Collections.Generic.IEnumerator`1[[Verse.LocalTargetInfo, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #10 Verse.LocalTargetInfo
L_0000: Local var #11 System.String
L_0000: Local var #12 System.Action
L_0000: Local var #13 Verse.LocalTargetInfo
L_0000: Local var #14
System.Collections.Generic.IEnumerator`1[[Verse.LocalTargetInfo, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #15 Verse.FloatMenuOption
L_0000: Local var #16 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #17 System.Int32
L_0000: Local var #18 Verse.FloatMenuOption
L_0000: Local var #19 System.String
L_0000: Local var #20 System.String
L_0000: Local var #21 Verse.FloatMenuOption
L_0000: Local var #22 Verse.LocalTargetInfo
L_0000: Local var #23
System.Collections.Generic.IEnumerator`1[[Verse.LocalTargetInfo, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #24 System.Action
L_0000: Local var #25 Verse.LocalTargetInfo
L_0000: Local var #26
System.Collections.Generic.IEnumerator`1[[Verse.LocalTargetInfo, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #27 Verse.LocalTargetInfo
L_0000: Local var #28 System.Action
L_0000: Local var #29 System.String
L_0000: Local var #30 Verse.Thing
L_0000: Local var #31 System.Collections.Generic.IEnumerator`1[[Verse.Thing,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #32 Verse.FloatMenuOption
L_0000: Local var #33
System.Collections.Generic.IEnumerator`1[[Verse.FloatMenuOption, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #34
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434
L_0000: Local var #35
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433
L_0000: Local var #36
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435
L_0000: Local var #37 Verse.Pawn
L_0000: Local var #38
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey436
L_0000: Local var #39
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey437
L_0000: Local var #40
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey438
L_0000: Local var #41
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey439
L_0000: Local var #42
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43A
L_0000: Local var #43
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B
L_0000: Local var #44
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C
L_0000: Local var #45
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43D
L_0000: Local var #46
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43E
L_0000: Local var #47
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43F
L_0000: Local var #48
RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey440
L_0000: Local var #49 Verse.Thing
L_0000: newobj Void .ctor()
L_0005: stloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0007: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0009: ldarg.1
L_000a: stfld Verse.Pawn pawn
L_000f: ldarg.0
L_0010: call IntVec3 FromVector3(Vector3)
L_0015: stloc.0
L_0016: ldloc.0
L_0017: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0019: ldfld Verse.Pawn pawn
L_001e: callvirt Verse.Map get_Map()
L_0023: call System.Collections.Generic.List`1[Verse.Thing] GetThingList(IntVec3,
Verse.Map)
L_0028: callvirt Enumerator GetEnumerator()
L_002d: stloc.2
L_002e: br Label #2
L_0033: Label #16
L_0033: ldloca.s 2 (System.Collections.Generic.List`1+Enumerator[Verse.Thing])
L_0035: call Verse.Thing get_Current()
L_003a: stloc.1
L_003b: newobj Void .ctor()
L_0040: stloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_0042: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_0044: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0046: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434
<>f__ref$1076
L_004b: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_004d: ldloc.1
L_004e: stfld Verse.Thing t
L_0053: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_0055: ldfld Verse.Thing t
L_005a: ldfld Verse.ThingDef def
L_005f: ldfld RimWorld.IngestibleProperties ingestible
L_0064: brfalse Label #3
L_0069: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_006b: ldfld Verse.Pawn pawn
L_0070: callvirt Verse.RaceProperties get_RaceProps()
L_0075: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_0077: ldfld Verse.Thing t
L_007c: callvirt Boolean CanEverEat(Verse.Thing)
L_0081: brfalse Label #4
L_0086: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_0088: ldfld Verse.Thing t
L_008d: callvirt Boolean get_IngestibleNow()
L_0092: brfalse Label #5
L_0097: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_0099: ldfld Verse.Thing t
L_009e: ldfld Verse.ThingDef def
L_00a3: ldfld RimWorld.IngestibleProperties ingestible
L_00a8: ldfld System.String ingestCommandString
L_00ad: call Boolean NullOrEmpty(System.String)
L_00b2: brfalse Label #6
L_00b7: ldstr "ConsumeThing"
L_00bc: ldc.i4.1
L_00bd: newarr System.Object
L_00c2: dup
L_00c3: ldc.i4.0
L_00c4: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_00c6: ldfld Verse.Thing t
L_00cb: callvirt System.String get_LabelShort()
L_00d0: stelem.ref
L_00d1: call System.String Translate(System.String, System.Object[])
L_00d6: stloc.s 4 (System.String)
L_00d8: br Label #7
L_00dd: Label #6
L_00dd: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_00df: ldfld Verse.Thing t
L_00e4: ldfld Verse.ThingDef def
L_00e9: ldfld RimWorld.IngestibleProperties ingestible
L_00ee: ldfld System.String ingestCommandString
L_00f3: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_00f5: ldfld Verse.Thing t
L_00fa: callvirt System.String get_LabelShort()
L_00ff: call System.String Format(System.String, System.Object)
L_0104: stloc.s 4 (System.String)
L_0106: Label #7
L_0106: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_0108: ldfld Verse.Thing t
L_010d: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_010f: ldfld Verse.Pawn pawn
L_0114: call Boolean IsSociallyProper(Verse.Thing, Verse.Pawn)
L_0119: brtrue Label #8
L_011e: ldloc.s 4 (System.String)
L_0120: ldstr " ("
L_0125: ldstr "ReservedForPrisoners"
L_012a: call System.String Translate(System.String)
L_012f: ldstr ")"
L_0134: call System.String Concat(System.String, System.String, System.String,
System.String)
L_0139: stloc.s 4 (System.String)
L_013b: Label #8
L_013b: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_013d: ldfld Verse.Thing t
L_0142: ldfld Verse.ThingDef def
L_0147: callvirt Boolean get_IsPleasureDrug()
L_014c: brfalse Label #9
L_0151: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0153: ldfld Verse.Pawn pawn
L_0158: call Boolean IsTeetotaler(Verse.Pawn)
L_015d: brfalse Label #10
L_0162: ldloc.s 4 (System.String)
L_0164: ldstr " ("
L_0169: ldsfld RimWorld.TraitDef DrugDesire
L_016e: ldc.i4.m1
L_016f: callvirt RimWorld.TraitDegreeData DataAtDegree(Int32)
L_0174: ldfld System.String label
L_0179: ldstr ")"
L_017e: call System.String Concat(System.String, System.String, System.String,
System.String)
L_0183: ldnull
L_0184: ldc.i4.4
L_0185: ldnull
L_0186: ldnull
L_0187: ldc.r4 0
L_018c: ldnull
L_018d: ldnull
L_018e: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0193: stloc.3
L_0194: br Label #11
L_0199: Label #9
L_0199: Label #10
L_0199: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_019b: ldfld Verse.Pawn pawn
L_01a0: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_01a2: ldfld Verse.Thing t
L_01a7: call LocalTargetInfo op_Implicit(Verse.Thing)
L_01ac: ldc.i4.1
L_01ad: ldc.i4.3
L_01ae: ldc.i4.0
L_01af: ldc.i4.0
L_01b0: call Boolean CanReach(Verse.Pawn, LocalTargetInfo, PathEndMode, Danger,
Boolean, TraverseMode)
L_01b5: brtrue Label #12
L_01ba: ldloc.s 4 (System.String)
L_01bc: ldstr " ("
L_01c1: ldstr "NoPath"
L_01c6: call System.String Translate(System.String)
L_01cb: ldstr ")"
L_01d0: call System.String Concat(System.String, System.String, System.String,
System.String)
L_01d5: ldnull
L_01d6: ldc.i4.4
L_01d7: ldnull
L_01d8: ldnull
L_01d9: ldc.r4 0
L_01de: ldnull
L_01df: ldnull
L_01e0: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_01e5: stloc.3
L_01e6: br Label #13
L_01eb: Label #12
L_01eb: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_01ed: ldfld Verse.Thing t
L_01f2: isinst Verse.Corpse
L_01f7: brfalse Label #14
L_01fc: ldc.i4.2
L_01fd: br Label #15
L_0202: Label #14
L_0202: ldc.i4.4
L_0203: Label #15
L_0203: stloc.s 5 (Verse.MenuOptionPriority)
L_0205: ldloc.s 4 (System.String)
L_0207: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_0209: ldftn Void <>m__632()
L_020f: newobj Void .ctor(Object, IntPtr)
L_0214: ldloc.s 5 (Verse.MenuOptionPriority)
L_0216: ldnull
L_0217: ldnull
L_0218: ldc.r4 0
L_021d: ldnull
L_021e: ldnull
L_021f: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0224: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0226: ldfld Verse.Pawn pawn
L_022b: ldloc.s 35
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey433)
L_022d: ldfld Verse.Thing t
L_0232: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0237: ldstr "ReservedBy"
L_023c: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_0241: stloc.3
L_0242: Label #11
L_0242: Label #13
L_0242: ldarg.2
L_0243: ldloc.3
L_0244: callvirt Void Add(Verse.FloatMenuOption)
L_0249: Label #2
L_0249: Label #3
L_0249: Label #4
L_0249: Label #5
L_0249: ldloca.s 2 (System.Collections.Generic.List`1+Enumerator[Verse.Thing])
L_024b: call Boolean MoveNext()
L_0250: brtrue Label #16
L_0255: leave Label #17
L_025a: ldloc.2
L_025b: box System.Collections.Generic.List`1+Enumerator[Verse.Thing]
L_0260: callvirt Void Dispose()
L_0265: endfinally
L_0266: Label #17
L_0266: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0268: ldfld Verse.Pawn pawn
L_026d: ldfld Verse.Pawn_HealthTracker health
L_0272: ldfld Verse.PawnCapacitiesHandler capacities
L_0277: ldsfld Verse.PawnCapacityDef Manipulation
L_027c: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0281: brfalse Label #18
L_0286: ldarg.0
L_0287: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0289: ldfld Verse.Pawn pawn
L_028e: call RimWorld.TargetingParameters ForRescue(Verse.Pawn)
L_0293: ldc.i4.1
L_0294: call IEnumerable`1 TargetsAt(Vector3, RimWorld.TargetingParameters,
Boolean)
L_0299: callvirt IEnumerator`1 GetEnumerator()
L_029e: stloc.s 7 (System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_02a0: br Label #19
L_02a5: Label #34
L_02a5: ldloc.s 7 (System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_02a7: callvirt LocalTargetInfo get_Current()
L_02ac: stloc.s 6 (Verse.LocalTargetInfo)
L_02ae: newobj Void .ctor()
L_02b3: stloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_02b5: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_02b7: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_02b9: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434
<>f__ref$1076
L_02be: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_02c0: ldloca.s 6 (Verse.LocalTargetInfo)
L_02c2: call Verse.Thing get_Thing()
L_02c7: castclass Verse.Pawn
L_02cc: stfld Verse.Pawn victim
L_02d1: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_02d3: ldfld Verse.Pawn victim
L_02d8: call Boolean InBed(Verse.Pawn)
L_02dd: brtrue Label #20
L_02e2: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_02e4: ldfld Verse.Pawn pawn
L_02e9: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_02eb: ldfld Verse.Pawn victim
L_02f0: call LocalTargetInfo op_Implicit(Verse.Thing)
L_02f5: ldc.i4.1
L_02f6: ldc.i4.3
L_02f7: ldc.i4.1
L_02f8: ldc.i4.m1
L_02f9: ldnull
L_02fa: ldc.i4.1
L_02fb: call Boolean CanReserveAndReach(Verse.Pawn, LocalTargetInfo, PathEndMode,
Danger, Int32, Int32, Verse.ReservationLayerDef, Boolean)
L_0300: brtrue Label #21
L_0305: Label #20
L_0305: br Label #22
L_030a: Label #21
L_030a: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_030c: ldfld Verse.Pawn victim
L_0311: callvirt Boolean get_IsPrisonerOfColony()
L_0316: brtrue Label #23
L_031b: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_031d: ldfld Verse.Pawn victim
L_0322: callvirt Boolean get_InMentalState()
L_0327: brtrue Label #24
L_032c: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_032e: ldfld Verse.Pawn victim
L_0333: callvirt RimWorld.Faction get_Faction()
L_0338: call RimWorld.Faction get_OfPlayer()
L_033d: beq Label #25
L_0342: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_0344: ldfld Verse.Pawn victim
L_0349: callvirt RimWorld.Faction get_Faction()
L_034e: brfalse Label #26
L_0353: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_0355: ldfld Verse.Pawn victim
L_035a: callvirt RimWorld.Faction get_Faction()
L_035f: call RimWorld.Faction get_OfPlayer()
L_0364: call Boolean HostileTo(RimWorld.Faction, RimWorld.Faction)
L_0369: brtrue Label #27
L_036e: Label #25
L_036e: Label #26
L_036e: ldarg.2
L_036f: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_0371: ldfld Verse.Pawn victim
L_0376: stloc.s 37 (Verse.Pawn)
L_0378: ldstr "Rescue"
L_037d: ldc.i4.1
L_037e: newarr System.Object
L_0383: dup
L_0384: ldc.i4.0
L_0385: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_0387: ldfld Verse.Pawn victim
L_038c: callvirt System.String get_LabelCap()
L_0391: stelem.ref
L_0392: call System.String Translate(System.String, System.Object[])
L_0397: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_0399: ldftn Void <>m__633()
L_039f: newobj Void .ctor(Object, IntPtr)
L_03a4: ldc.i4.8
L_03a5: ldnull
L_03a6: ldloc.s 37 (Verse.Pawn)
L_03a8: ldc.r4 0
L_03ad: ldnull
L_03ae: ldnull
L_03af: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_03b4: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_03b6: ldfld Verse.Pawn pawn
L_03bb: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_03bd: ldfld Verse.Pawn victim
L_03c2: call LocalTargetInfo op_Implicit(Verse.Thing)
L_03c7: ldstr "ReservedBy"
L_03cc: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_03d1: callvirt Void Add(Verse.FloatMenuOption)
L_03d6: Label #23
L_03d6: Label #24
L_03d6: Label #27
L_03d6: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_03d8: ldfld Verse.Pawn victim
L_03dd: callvirt Verse.RaceProperties get_RaceProps()
L_03e2: callvirt Boolean get_Humanlike()
L_03e7: brfalse Label #28
L_03ec: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_03ee: ldfld Verse.Pawn victim
L_03f3: callvirt Boolean get_InMentalState()
L_03f8: brtrue Label #29
L_03fd: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_03ff: ldfld Verse.Pawn victim
L_0404: callvirt RimWorld.Faction get_Faction()
L_0409: call RimWorld.Faction get_OfPlayer()
L_040e: bne.un Label #30
L_0413: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_0415: ldfld Verse.Pawn victim
L_041a: callvirt Boolean get_Downed()
L_041f: brfalse Label #31
L_0424: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_0426: ldfld Verse.Pawn victim
L_042b: ldfld RimWorld.Pawn_GuiltTracker guilt
L_0430: callvirt Boolean get_IsGuilty()
L_0435: brtrue Label #32
L_043a: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_043c: ldfld Verse.Pawn victim
L_0441: callvirt Boolean get_IsPrisonerOfColony()
L_0446: brfalse Label #33
L_044b: Label #29
L_044b: Label #30
L_044b: Label #32
L_044b: ldarg.2
L_044c: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_044e: ldfld Verse.Pawn victim
L_0453: stloc.s 37 (Verse.Pawn)
L_0455: ldstr "Capture"
L_045a: ldc.i4.1
L_045b: newarr System.Object
L_0460: dup
L_0461: ldc.i4.0
L_0462: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_0464: ldfld Verse.Pawn victim
L_0469: callvirt System.String get_LabelCap()
L_046e: stelem.ref
L_046f: call System.String Translate(System.String, System.Object[])
L_0474: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_0476: ldftn Void <>m__634()
L_047c: newobj Void .ctor(Object, IntPtr)
L_0481: ldc.i4.8
L_0482: ldnull
L_0483: ldloc.s 37 (Verse.Pawn)
L_0485: ldc.r4 0
L_048a: ldnull
L_048b: ldnull
L_048c: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0491: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0493: ldfld Verse.Pawn pawn
L_0498: ldloc.s 36
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey435)
L_049a: ldfld Verse.Pawn victim
L_049f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_04a4: ldstr "ReservedBy"
L_04a9: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_04ae: callvirt Void Add(Verse.FloatMenuOption)
L_04b3: Label #19
L_04b3: Label #22
L_04b3: Label #28
L_04b3: Label #31
L_04b3: Label #33
L_04b3: ldloc.s 7 (System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_04b5: callvirt Boolean MoveNext()
L_04ba: brtrue Label #34
L_04bf: leave Label #35
L_04c4: ldloc.s 7 (System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_04c6: brtrue Label #36
L_04cb: endfinally
L_04cc: Label #36
L_04cc: ldloc.s 7 (System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_04ce: callvirt Void Dispose()
L_04d3: endfinally
L_04d4: Label #35
L_04d4: ldarg.0
L_04d5: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_04d7: ldfld Verse.Pawn pawn
L_04dc: call RimWorld.TargetingParameters ForRescue(Verse.Pawn)
L_04e1: ldc.i4.1
L_04e2: call IEnumerable`1 TargetsAt(Vector3, RimWorld.TargetingParameters,
Boolean)
L_04e7: callvirt IEnumerator`1 GetEnumerator()
L_04ec: stloc.s 9 (System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_04ee: br Label #37
L_04f3: Label #41
L_04f3: ldloc.s 9 (System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_04f5: callvirt LocalTargetInfo get_Current()
L_04fa: stloc.s 8 (Verse.LocalTargetInfo)
L_04fc: newobj Void .ctor()
L_0501: stloc.s 38
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey436)
L_0503: ldloc.s 8 (Verse.LocalTargetInfo)
L_0505: stloc.s 10 (Verse.LocalTargetInfo)
L_0507: ldloc.s 38
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey436)
L_0509: ldloca.s 10 (Verse.LocalTargetInfo)
L_050b: call Verse.Thing get_Thing()
L_0510: castclass Verse.Pawn
L_0515: stfld Verse.Pawn victim
L_051a: ldloc.s 38
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey436)
L_051c: ldfld Verse.Pawn victim
L_0521: callvirt Boolean get_Downed()
L_0526: brfalse Label #38
L_052b: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_052d: ldfld Verse.Pawn pawn
L_0532: ldloc.s 38
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey436)
L_0534: ldfld Verse.Pawn victim
L_0539: call LocalTargetInfo op_Implicit(Verse.Thing)
L_053e: ldc.i4.1
L_053f: ldc.i4.3
L_0540: ldc.i4.1
L_0541: ldc.i4.m1
L_0542: ldnull
L_0543: ldc.i4.1
L_0544: call Boolean CanReserveAndReach(Verse.Pawn, LocalTargetInfo, PathEndMode,
Danger, Int32, Int32, Verse.ReservationLayerDef, Boolean)
L_0549: brfalse Label #39
L_054e: ldloc.s 38
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey436)
L_0550: ldfld Verse.Pawn victim
L_0555: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0557: ldfld Verse.Pawn pawn
L_055c: ldc.i4.1
L_055d: call RimWorld.Building_CryptosleepCasket
FindCryptosleepCasketFor(Verse.Pawn, Verse.Pawn, Boolean)
L_0562: brfalse Label #40
L_0567: newobj Void .ctor()
L_056c: stloc.s 39
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey437)
L_056e: ldloc.s 39
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey437)
L_0570: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0572: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434
<>f__ref$1076
L_0577: ldloc.s 39
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey437)
L_0579: ldloc.s 38
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey436)
L_057b: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey436
<>f__ref$1078
L_0580: ldstr "CarryToCryptosleepCasket"
L_0585: ldc.i4.1
L_0586: newarr System.Object
L_058b: dup
L_058c: ldc.i4.0
L_058d: ldloca.s 10 (Verse.LocalTargetInfo)
L_058f: call Verse.Thing get_Thing()
L_0594: callvirt System.String get_LabelCap()
L_0599: stelem.ref
L_059a: call System.String Translate(System.String, System.Object[])
L_059f: stloc.s 11 (System.String)
L_05a1: ldloc.s 39
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey437)
L_05a3: ldsfld Verse.JobDef CarryToCryptosleepCasket
L_05a8: stfld Verse.JobDef jDef
L_05ad: ldloc.s 39
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey437)
L_05af: ldftn Void <>m__635()
L_05b5: newobj Void .ctor(Object, IntPtr)
L_05ba: stloc.s 12 (System.Action)
L_05bc: ldarg.2
L_05bd: ldloc.s 38
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey436)
L_05bf: ldfld Verse.Pawn victim
L_05c4: stloc.s 37 (Verse.Pawn)
L_05c6: ldloc.s 11 (System.String)
L_05c8: ldloc.s 12 (System.Action)
L_05ca: ldc.i4.4
L_05cb: ldnull
L_05cc: ldloc.s 37 (Verse.Pawn)
L_05ce: ldc.r4 0
L_05d3: ldnull
L_05d4: ldnull
L_05d5: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_05da: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_05dc: ldfld Verse.Pawn pawn
L_05e1: ldloc.s 38
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey436)
L_05e3: ldfld Verse.Pawn victim
L_05e8: call LocalTargetInfo op_Implicit(Verse.Thing)
L_05ed: ldstr "ReservedBy"
L_05f2: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_05f7: callvirt Void Add(Verse.FloatMenuOption)
L_05fc: Label #37
L_05fc: Label #38
L_05fc: Label #39
L_05fc: Label #40
L_05fc: ldloc.s 9 (System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_05fe: callvirt Boolean MoveNext()
L_0603: brtrue Label #41
L_0608: leave Label #42
L_060d: ldloc.s 9 (System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_060f: brtrue Label #43
L_0614: endfinally
L_0615: Label #43
L_0615: ldloc.s 9 (System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_0617: callvirt Void Dispose()
L_061c: endfinally
L_061d: Label #18
L_061d: Label #42
L_061d: ldarg.0
L_061e: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0620: ldfld Verse.Pawn pawn
L_0625: call RimWorld.TargetingParameters ForStrip(Verse.Pawn)
L_062a: ldc.i4.1
L_062b: call IEnumerable`1 TargetsAt(Vector3, RimWorld.TargetingParameters,
Boolean)
L_0630: callvirt IEnumerator`1 GetEnumerator()
L_0635: stloc.s 14
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_0637: br Label #44
L_063c: Label #47
L_063c: ldloc.s 14
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_063e: callvirt LocalTargetInfo get_Current()
L_0643: stloc.s 13 (Verse.LocalTargetInfo)
L_0645: newobj Void .ctor()
L_064a: stloc.s 40
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey438)
L_064c: ldloc.s 40
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey438)
L_064e: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0650: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434
<>f__ref$1076
L_0655: ldloc.s 40
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey438)
L_0657: ldloc.s 13 (Verse.LocalTargetInfo)
L_0659: stfld Verse.LocalTargetInfo stripTarg
L_065e: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0660: ldfld Verse.Pawn pawn
L_0665: ldloc.s 40
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey438)
L_0667: ldfld Verse.LocalTargetInfo stripTarg
L_066c: ldc.i4.3
L_066d: ldc.i4.3
L_066e: ldc.i4.0
L_066f: ldc.i4.0
L_0670: call Boolean CanReach(Verse.Pawn, LocalTargetInfo, PathEndMode, Danger,
Boolean, TraverseMode)
L_0675: brtrue Label #45
L_067a: ldstr "CannotStrip"
L_067f: ldc.i4.1
L_0680: newarr System.Object
L_0685: dup
L_0686: ldc.i4.0
L_0687: ldloc.s 40
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey438)
L_0689: ldflda Verse.LocalTargetInfo stripTarg
L_068e: call Verse.Thing get_Thing()
L_0693: callvirt System.String get_LabelCap()
L_0698: stelem.ref
L_0699: call System.String Translate(System.String, System.Object[])
L_069e: ldstr " ("
L_06a3: ldstr "NoPath"
L_06a8: call System.String Translate(System.String)
L_06ad: ldstr ")"
L_06b2: call System.String Concat(System.String, System.String, System.String,
System.String)
L_06b7: ldnull
L_06b8: ldc.i4.4
L_06b9: ldnull
L_06ba: ldnull
L_06bb: ldc.r4 0
L_06c0: ldnull
L_06c1: ldnull
L_06c2: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_06c7: stloc.s 15 (Verse.FloatMenuOption)
L_06c9: br Label #46
L_06ce: Label #45
L_06ce: ldstr "Strip"
L_06d3: ldc.i4.1
L_06d4: newarr System.Object
L_06d9: dup
L_06da: ldc.i4.0
L_06db: ldloc.s 40
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey438)
L_06dd: ldflda Verse.LocalTargetInfo stripTarg
L_06e2: call Verse.Thing get_Thing()
L_06e7: callvirt System.String get_LabelCap()
L_06ec: stelem.ref
L_06ed: call System.String Translate(System.String, System.Object[])
L_06f2: ldloc.s 40
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey438)
L_06f4: ldftn Void <>m__636()
L_06fa: newobj Void .ctor(Object, IntPtr)
L_06ff: ldc.i4.4
L_0700: ldnull
L_0701: ldnull
L_0702: ldc.r4 0
L_0707: ldnull
L_0708: ldnull
L_0709: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_070e: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0710: ldfld Verse.Pawn pawn
L_0715: ldloc.s 40
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey438)
L_0717: ldfld Verse.LocalTargetInfo stripTarg
L_071c: ldstr "ReservedBy"
L_0721: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_0726: stloc.s 15 (Verse.FloatMenuOption)
L_0728: Label #46
L_0728: ldarg.2
L_0729: ldloc.s 15 (Verse.FloatMenuOption)
L_072b: callvirt Void Add(Verse.FloatMenuOption)
L_0730: Label #44
L_0730: ldloc.s 14
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_0732: callvirt Boolean MoveNext()
L_0737: brtrue Label #47
L_073c: leave Label #48
L_0741: ldloc.s 14
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_0743: brtrue Label #49
L_0748: endfinally
L_0749: Label #49
L_0749: ldloc.s 14
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_074b: callvirt Void Dispose()
L_0750: endfinally
L_0751: Label #48
L_0751: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0753: ldfld Verse.Pawn pawn
L_0758: ldfld Verse.Pawn_EquipmentTracker equipment
L_075d: brfalse Label #50
L_0762: newobj Void .ctor()
L_0767: stloc.s 41
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey439)
L_0769: ldloc.s 41
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey439)
L_076b: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_076d: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434
<>f__ref$1076
L_0772: ldloc.s 41
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey439)
L_0774: ldnull
L_0775: stfld Verse.ThingWithComps equipment
L_077a: ldloc.0
L_077b: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_077d: ldfld Verse.Pawn pawn
L_0782: callvirt Verse.Map get_Map()
L_0787: call System.Collections.Generic.List`1[Verse.Thing] GetThingList(IntVec3,
Verse.Map)
L_078c: stloc.s 16 (System.Collections.Generic.List`1[Verse.Thing])
L_078e: ldc.i4.0
L_078f: stloc.s 17 (System.Int32)
L_0791: br Label #51
L_0796: Label #54
L_0796: ldloc.s 16 (System.Collections.Generic.List`1[Verse.Thing])
L_0798: ldloc.s 17 (System.Int32)
L_079a: callvirt Verse.Thing get_Item(Int32)
L_079f: call Verse.CompEquippable TryGetComp[CompEquippable](Verse.Thing)
L_07a4: brfalse Label #52
L_07a9: ldloc.s 41
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey439)
L_07ab: ldloc.s 16 (System.Collections.Generic.List`1[Verse.Thing])
L_07ad: ldloc.s 17 (System.Int32)
L_07af: callvirt Verse.Thing get_Item(Int32)
L_07b4: castclass Verse.ThingWithComps
L_07b9: stfld Verse.ThingWithComps equipment
L_07be: br Label #53
L_07c3: Label #52
L_07c3: ldloc.s 17 (System.Int32)
L_07c5: ldc.i4.1
L_07c6: add
L_07c7: stloc.s 17 (System.Int32)
L_07c9: Label #51
L_07c9: ldloc.s 17 (System.Int32)
L_07cb: ldloc.s 16 (System.Collections.Generic.List`1[Verse.Thing])
L_07cd: callvirt Int32 get_Count()
L_07d2: blt Label #54
L_07d7: Label #53
L_07d7: ldloc.s 41
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey439)
L_07d9: ldfld Verse.ThingWithComps equipment
L_07de: brfalse Label #55
L_07e3: ldloc.s 41
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey439)
L_07e5: ldfld Verse.ThingWithComps equipment
L_07ea: callvirt System.String get_LabelShort()
L_07ef: stloc.s 19 (System.String)
L_07f1: ldloc.s 41
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey439)
L_07f3: ldfld Verse.ThingWithComps equipment
L_07f8: ldfld Verse.ThingDef def
L_07fd: callvirt Boolean get_IsWeapon()
L_0802: brfalse Label #56
L_0807: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0809: ldfld Verse.Pawn pawn
L_080e: ldfld RimWorld.Pawn_StoryTracker story
L_0813: ldc.i4.8
L_0814: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_0819: brfalse Label #57
L_081e: ldstr "CannotEquip"
L_0823: ldc.i4.1
L_0824: newarr System.Object
L_0829: dup
L_082a: ldc.i4.0
L_082b: ldloc.s 19 (System.String)
L_082d: stelem.ref
L_082e: call System.String Translate(System.String, System.Object[])
L_0833: ldstr " ("
L_0838: ldstr "IsIncapableOfViolenceLower"
L_083d: ldc.i4.1
L_083e: newarr System.Object
L_0843: dup
L_0844: ldc.i4.0
L_0845: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0847: ldfld Verse.Pawn pawn
L_084c: callvirt System.String get_LabelShort()
L_0851: stelem.ref
L_0852: call System.String Translate(System.String, System.Object[])
L_0857: ldstr ")"
L_085c: call System.String Concat(System.String, System.String, System.String,
System.String)
L_0861: ldnull
L_0862: ldc.i4.4
L_0863: ldnull
L_0864: ldnull
L_0865: ldc.r4 0
L_086a: ldnull
L_086b: ldnull
L_086c: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0871: stloc.s 18 (Verse.FloatMenuOption)
L_0873: br Label #58
L_0878: Label #56
L_0878: Label #57
L_0878: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_087a: ldfld Verse.Pawn pawn
L_087f: ldloc.s 41
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey439)
L_0881: ldfld Verse.ThingWithComps equipment
L_0886: call LocalTargetInfo op_Implicit(Verse.Thing)
L_088b: ldc.i4.3
L_088c: ldc.i4.3
L_088d: ldc.i4.0
L_088e: ldc.i4.0
L_088f: call Boolean CanReach(Verse.Pawn, LocalTargetInfo, PathEndMode, Danger,
Boolean, TraverseMode)
L_0894: brtrue Label #59
L_0899: ldstr "CannotEquip"
L_089e: ldc.i4.1
L_089f: newarr System.Object
L_08a4: dup
L_08a5: ldc.i4.0
L_08a6: ldloc.s 19 (System.String)
L_08a8: stelem.ref
L_08a9: call System.String Translate(System.String, System.Object[])
L_08ae: ldstr " ("
L_08b3: ldstr "NoPath"
L_08b8: call System.String Translate(System.String)
L_08bd: ldstr ")"
L_08c2: call System.String Concat(System.String, System.String, System.String,
System.String)
L_08c7: ldnull
L_08c8: ldc.i4.4
L_08c9: ldnull
L_08ca: ldnull
L_08cb: ldc.r4 0
L_08d0: ldnull
L_08d1: ldnull
L_08d2: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_08d7: stloc.s 18 (Verse.FloatMenuOption)
L_08d9: br Label #60
L_08de: Label #59
L_08de: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_08e0: ldfld Verse.Pawn pawn
L_08e5: ldfld Verse.Pawn_HealthTracker health
L_08ea: ldfld Verse.PawnCapacitiesHandler capacities
L_08ef: ldsfld Verse.PawnCapacityDef Manipulation
L_08f4: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_08f9: brtrue Label #61
L_08fe: ldstr "CannotEquip"
L_0903: ldc.i4.1
L_0904: newarr System.Object
L_0909: dup
L_090a: ldc.i4.0
L_090b: ldloc.s 19 (System.String)
L_090d: stelem.ref
L_090e: call System.String Translate(System.String, System.Object[])
L_0913: ldstr " ("
L_0918: ldstr "Incapable"
L_091d: call System.String Translate(System.String)
L_0922: ldstr ")"
L_0927: call System.String Concat(System.String, System.String, System.String,
System.String)
L_092c: ldnull
L_092d: ldc.i4.4
L_092e: ldnull
L_092f: ldnull
L_0930: ldc.r4 0
L_0935: ldnull
L_0936: ldnull
L_0937: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_093c: stloc.s 18 (Verse.FloatMenuOption)
L_093e: br Label #62
L_0943: Label #61
L_0943: ldstr "Equip"
L_0948: ldc.i4.1
L_0949: newarr System.Object
L_094e: dup
L_094f: ldc.i4.0
L_0950: ldloc.s 19 (System.String)
L_0952: stelem.ref
L_0953: call System.String Translate(System.String, System.Object[])
L_0958: stloc.s 20 (System.String)
L_095a: ldloc.s 41
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey439)
L_095c: ldfld Verse.ThingWithComps equipment
L_0961: ldfld Verse.ThingDef def
L_0966: callvirt Boolean get_IsRangedWeapon()
L_096b: brfalse Label #63
L_0970: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0972: ldfld Verse.Pawn pawn
L_0977: ldfld RimWorld.Pawn_StoryTracker story
L_097c: brfalse Label #64
L_0981: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0983: ldfld Verse.Pawn pawn
L_0988: ldfld RimWorld.Pawn_StoryTracker story
L_098d: ldfld RimWorld.TraitSet traits
L_0992: ldsfld RimWorld.TraitDef Brawler
L_0997: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_099c: brfalse Label #65
L_09a1: ldloc.s 20 (System.String)
L_09a3: ldstr " "
L_09a8: ldstr "EquipWarningBrawler"
L_09ad: call System.String Translate(System.String)
L_09b2: call System.String Concat(System.String, System.String, System.String)
L_09b7: stloc.s 20 (System.String)
L_09b9: Label #63
L_09b9: Label #64
L_09b9: Label #65
L_09b9: ldloc.s 20 (System.String)
L_09bb: ldloc.s 41
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey439)
L_09bd: ldftn Void <>m__637()
L_09c3: newobj Void .ctor(Object, IntPtr)
L_09c8: ldc.i4.5
L_09c9: ldnull
L_09ca: ldnull
L_09cb: ldc.r4 0
L_09d0: ldnull
L_09d1: ldnull
L_09d2: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_09d7: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_09d9: ldfld Verse.Pawn pawn
L_09de: ldloc.s 41
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey439)
L_09e0: ldfld Verse.ThingWithComps equipment
L_09e5: call LocalTargetInfo op_Implicit(Verse.Thing)
L_09ea: ldstr "ReservedBy"
L_09ef: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_09f4: stloc.s 18 (Verse.FloatMenuOption)
L_09f6: Label #58
L_09f6: Label #60
L_09f6: Label #62
L_09f6: ldarg.2
L_09f7: ldloc.s 18 (Verse.FloatMenuOption)
L_09f9: callvirt Void Add(Verse.FloatMenuOption)
L_09fe: Label #50
L_09fe: Label #55
L_09fe: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0a00: ldfld Verse.Pawn pawn
L_0a05: ldfld RimWorld.Pawn_ApparelTracker apparel
L_0a0a: brfalse Label #66
L_0a0f: newobj Void .ctor()
L_0a14: stloc.s 42
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43A)
L_0a16: ldloc.s 42
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43A)
L_0a18: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0a1a: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434
<>f__ref$1076
L_0a1f: ldloc.s 42
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43A)
L_0a21: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0a23: ldfld Verse.Pawn pawn
L_0a28: callvirt Verse.Map get_Map()
L_0a2d: ldfld Verse.ThingGrid thingGrid
L_0a32: ldloc.0
L_0a33: callvirt RimWorld.Apparel ThingAt[Apparel](IntVec3)
L_0a38: stfld RimWorld.Apparel apparel
L_0a3d: ldloc.s 42
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43A)
L_0a3f: ldfld RimWorld.Apparel apparel
L_0a44: brfalse Label #67
L_0a49: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0a4b: ldfld Verse.Pawn pawn
L_0a50: ldloc.s 42
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43A)
L_0a52: ldfld RimWorld.Apparel apparel
L_0a57: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0a5c: ldc.i4.3
L_0a5d: ldc.i4.3
L_0a5e: ldc.i4.0
L_0a5f: ldc.i4.0
L_0a60: call Boolean CanReach(Verse.Pawn, LocalTargetInfo, PathEndMode, Danger,
Boolean, TraverseMode)
L_0a65: brtrue Label #68
L_0a6a: ldstr "CannotWear"
L_0a6f: ldc.i4.1
L_0a70: newarr System.Object
L_0a75: dup
L_0a76: ldc.i4.0
L_0a77: ldloc.s 42
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43A)
L_0a79: ldfld RimWorld.Apparel apparel
L_0a7e: callvirt System.String get_Label()
L_0a83: stelem.ref
L_0a84: call System.String Translate(System.String, System.Object[])
L_0a89: ldstr " ("
L_0a8e: ldstr "NoPath"
L_0a93: call System.String Translate(System.String)
L_0a98: ldstr ")"
L_0a9d: call System.String Concat(System.String, System.String, System.String,
System.String)
L_0aa2: ldnull
L_0aa3: ldc.i4.4
L_0aa4: ldnull
L_0aa5: ldnull
L_0aa6: ldc.r4 0
L_0aab: ldnull
L_0aac: ldnull
L_0aad: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0ab2: stloc.s 21 (Verse.FloatMenuOption)
L_0ab4: br Label #69
L_0ab9: Label #68
L_0ab9: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0abb: ldfld Verse.Pawn pawn
L_0ac0: ldloc.s 42
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43A)
L_0ac2: ldfld RimWorld.Apparel apparel
L_0ac7: ldfld Verse.ThingDef def
L_0acc: call Boolean HasPartsToWear(Verse.Pawn, Verse.ThingDef)
L_0ad1: brtrue Label #70
L_0ad6: ldstr "CannotWear"
L_0adb: ldc.i4.1
L_0adc: newarr System.Object
L_0ae1: dup
L_0ae2: ldc.i4.0
L_0ae3: ldloc.s 42
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43A)
L_0ae5: ldfld RimWorld.Apparel apparel
L_0aea: callvirt System.String get_Label()
L_0aef: stelem.ref
L_0af0: call System.String Translate(System.String, System.Object[])
L_0af5: ldstr " ("
L_0afa: ldstr "CannotWearBecauseOfMissingBodyParts"
L_0aff: call System.String Translate(System.String)
L_0b04: ldstr ")"
L_0b09: call System.String Concat(System.String, System.String, System.String,
System.String)
L_0b0e: ldnull
L_0b0f: ldc.i4.4
L_0b10: ldnull
L_0b11: ldnull
L_0b12: ldc.r4 0
L_0b17: ldnull
L_0b18: ldnull
L_0b19: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0b1e: stloc.s 21 (Verse.FloatMenuOption)
L_0b20: br Label #71
L_0b25: Label #70
L_0b25: ldstr "ForceWear"
L_0b2a: ldc.i4.1
L_0b2b: newarr System.Object
L_0b30: dup
L_0b31: ldc.i4.0
L_0b32: ldloc.s 42
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43A)
L_0b34: ldfld RimWorld.Apparel apparel
L_0b39: callvirt System.String get_LabelShort()
L_0b3e: stelem.ref
L_0b3f: call System.String Translate(System.String, System.Object[])
L_0b44: ldloc.s 42
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43A)
L_0b46: ldftn Void <>m__638()
L_0b4c: newobj Void .ctor(Object, IntPtr)
L_0b51: ldc.i4.5
L_0b52: ldnull
L_0b53: ldnull
L_0b54: ldc.r4 0
L_0b59: ldnull
L_0b5a: ldnull
L_0b5b: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0b60: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0b62: ldfld Verse.Pawn pawn
L_0b67: ldloc.s 42
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43A)
L_0b69: ldfld RimWorld.Apparel apparel
L_0b6e: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0b73: ldstr "ReservedBy"
L_0b78: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_0b7d: stloc.s 21 (Verse.FloatMenuOption)
L_0b7f: Label #69
L_0b7f: Label #71
L_0b7f: ldarg.2
L_0b80: ldloc.s 21 (Verse.FloatMenuOption)
L_0b82: callvirt Void Add(Verse.FloatMenuOption)
L_0b87: Label #66
L_0b87: Label #67
L_0b87: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0b89: ldfld Verse.Pawn pawn
L_0b8e: callvirt Verse.Map get_Map()
L_0b93: callvirt Boolean get_IsPlayerHome()
L_0b98: brtrue Label #72
L_0b9d: newobj Void .ctor()
L_0ba2: stloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0ba4: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0ba6: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0ba8: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434
<>f__ref$1076
L_0bad: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0baf: ldloc.0
L_0bb0: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0bb2: ldfld Verse.Pawn pawn
L_0bb7: callvirt Verse.Map get_Map()
L_0bbc: call Verse.Thing GetFirstItem(IntVec3, Verse.Map)
L_0bc1: stfld Verse.Thing item
L_0bc6: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0bc8: ldfld Verse.Thing item
L_0bcd: brfalse Label #73
L_0bd2: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0bd4: ldfld Verse.Thing item
L_0bd9: ldfld Verse.ThingDef def
L_0bde: callvirt Boolean get_EverHaulable()
L_0be3: brfalse Label #74
L_0be8: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0bea: ldfld Verse.Pawn pawn
L_0bef: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0bf1: ldfld Verse.Thing item
L_0bf6: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0bfb: ldc.i4.3
L_0bfc: ldc.i4.3
L_0bfd: ldc.i4.0
L_0bfe: ldc.i4.0
L_0bff: call Boolean CanReach(Verse.Pawn, LocalTargetInfo, PathEndMode, Danger,
Boolean, TraverseMode)
L_0c04: brtrue Label #75
L_0c09: ldarg.2
L_0c0a: ldstr "CannotPickUp"
L_0c0f: ldc.i4.1
L_0c10: newarr System.Object
L_0c15: dup
L_0c16: ldc.i4.0
L_0c17: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0c19: ldfld Verse.Thing item
L_0c1e: callvirt System.String get_Label()
L_0c23: stelem.ref
L_0c24: call System.String Translate(System.String, System.Object[])
L_0c29: ldstr " ("
L_0c2e: ldstr "NoPath"
L_0c33: call System.String Translate(System.String)
L_0c38: ldstr ")"
L_0c3d: call System.String Concat(System.String, System.String, System.String,
System.String)
L_0c42: ldnull
L_0c43: ldc.i4.4
L_0c44: ldnull
L_0c45: ldnull
L_0c46: ldc.r4 0
L_0c4b: ldnull
L_0c4c: ldnull
L_0c4d: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0c52: callvirt Void Add(Verse.FloatMenuOption)
L_0c57: br Label #76
L_0c5c: Label #75
L_0c5c: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0c5e: ldfld Verse.Pawn pawn
L_0c63: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0c65: ldfld Verse.Thing item
L_0c6a: ldc.i4.1
L_0c6b: call Boolean WillBeOverEncumberedAfterPickingUp(Verse.Pawn, Verse.Thing,
Int32)
L_0c70: brfalse Label #77
L_0c75: ldarg.2
L_0c76: ldstr "CannotPickUp"
L_0c7b: ldc.i4.1
L_0c7c: newarr System.Object
L_0c81: dup
L_0c82: ldc.i4.0
L_0c83: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0c85: ldfld Verse.Thing item
L_0c8a: callvirt System.String get_Label()
L_0c8f: stelem.ref
L_0c90: call System.String Translate(System.String, System.Object[])
L_0c95: ldstr " ("
L_0c9a: ldstr "TooHeavy"
L_0c9f: call System.String Translate(System.String)
L_0ca4: ldstr ")"
L_0ca9: call System.String Concat(System.String, System.String, System.String,
System.String)
L_0cae: ldnull
L_0caf: ldc.i4.4
L_0cb0: ldnull
L_0cb1: ldnull
L_0cb2: ldc.r4 0
L_0cb7: ldnull
L_0cb8: ldnull
L_0cb9: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0cbe: callvirt Void Add(Verse.FloatMenuOption)
L_0cc3: br Label #78
L_0cc8: Label #77
L_0cc8: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0cca: ldfld Verse.Thing item
L_0ccf: ldfld System.Int32 stackCount
L_0cd4: ldc.i4.1
L_0cd5: bne.un Label #79
L_0cda: ldarg.2
L_0cdb: ldstr "PickUp"
L_0ce0: ldc.i4.1
L_0ce1: newarr System.Object
L_0ce6: dup
L_0ce7: ldc.i4.0
L_0ce8: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0cea: ldfld Verse.Thing item
L_0cef: callvirt System.String get_Label()
L_0cf4: stelem.ref
L_0cf5: call System.String Translate(System.String, System.Object[])
L_0cfa: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0cfc: ldftn Void <>m__639()
L_0d02: newobj Void .ctor(Object, IntPtr)
L_0d07: ldc.i4.5
L_0d08: ldnull
L_0d09: ldnull
L_0d0a: ldc.r4 0
L_0d0f: ldnull
L_0d10: ldnull
L_0d11: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0d16: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0d18: ldfld Verse.Pawn pawn
L_0d1d: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0d1f: ldfld Verse.Thing item
L_0d24: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0d29: ldstr "ReservedBy"
L_0d2e: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_0d33: callvirt Void Add(Verse.FloatMenuOption)
L_0d38: br Label #80
L_0d3d: Label #79
L_0d3d: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0d3f: ldfld Verse.Pawn pawn
L_0d44: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0d46: ldfld Verse.Thing item
L_0d4b: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0d4d: ldfld Verse.Thing item
L_0d52: ldfld System.Int32 stackCount
L_0d57: call Boolean WillBeOverEncumberedAfterPickingUp(Verse.Pawn, Verse.Thing,
Int32)
L_0d5c: brfalse Label #81
L_0d61: ldarg.2
L_0d62: ldstr "CannotPickUpAll"
L_0d67: ldc.i4.1
L_0d68: newarr System.Object
L_0d6d: dup
L_0d6e: ldc.i4.0
L_0d6f: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0d71: ldfld Verse.Thing item
L_0d76: callvirt System.String get_Label()
L_0d7b: stelem.ref
L_0d7c: call System.String Translate(System.String, System.Object[])
L_0d81: ldstr " ("
L_0d86: ldstr "TooHeavy"
L_0d8b: call System.String Translate(System.String)
L_0d90: ldstr ")"
L_0d95: call System.String Concat(System.String, System.String, System.String,
System.String)
L_0d9a: ldnull
L_0d9b: ldc.i4.4
L_0d9c: ldnull
L_0d9d: ldnull
L_0d9e: ldc.r4 0
L_0da3: ldnull
L_0da4: ldnull
L_0da5: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0daa: callvirt Void Add(Verse.FloatMenuOption)
L_0daf: br Label #82
L_0db4: Label #81
L_0db4: ldarg.2
L_0db5: ldstr "PickUpAll"
L_0dba: ldc.i4.1
L_0dbb: newarr System.Object
L_0dc0: dup
L_0dc1: ldc.i4.0
L_0dc2: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0dc4: ldfld Verse.Thing item
L_0dc9: callvirt System.String get_Label()
L_0dce: stelem.ref
L_0dcf: call System.String Translate(System.String, System.Object[])
L_0dd4: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0dd6: ldftn Void <>m__63A()
L_0ddc: newobj Void .ctor(Object, IntPtr)
L_0de1: ldc.i4.5
L_0de2: ldnull
L_0de3: ldnull
L_0de4: ldc.r4 0
L_0de9: ldnull
L_0dea: ldnull
L_0deb: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0df0: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0df2: ldfld Verse.Pawn pawn
L_0df7: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0df9: ldfld Verse.Thing item
L_0dfe: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0e03: ldstr "ReservedBy"
L_0e08: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_0e0d: callvirt Void Add(Verse.FloatMenuOption)
L_0e12: Label #82
L_0e12: ldarg.2
L_0e13: ldstr "PickUpSome"
L_0e18: ldc.i4.1
L_0e19: newarr System.Object
L_0e1e: dup
L_0e1f: ldc.i4.0
L_0e20: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0e22: ldfld Verse.Thing item
L_0e27: callvirt System.String get_Label()
L_0e2c: stelem.ref
L_0e2d: call System.String Translate(System.String, System.Object[])
L_0e32: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0e34: ldftn Void <>m__63B()
L_0e3a: newobj Void .ctor(Object, IntPtr)
L_0e3f: ldc.i4.5
L_0e40: ldnull
L_0e41: ldnull
L_0e42: ldc.r4 0
L_0e47: ldnull
L_0e48: ldnull
L_0e49: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0e4e: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0e50: ldfld Verse.Pawn pawn
L_0e55: ldloc.s 43
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43B)
L_0e57: ldfld Verse.Thing item
L_0e5c: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0e61: ldstr "ReservedBy"
L_0e66: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_0e6b: callvirt Void Add(Verse.FloatMenuOption)
L_0e70: Label #72
L_0e70: Label #73
L_0e70: Label #74
L_0e70: Label #76
L_0e70: Label #78
L_0e70: Label #80
L_0e70: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0e72: ldfld Verse.Pawn pawn
L_0e77: callvirt Verse.Map get_Map()
L_0e7c: callvirt Boolean get_IsPlayerHome()
L_0e81: brtrue Label #83
L_0e86: newobj Void .ctor()
L_0e8b: stloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_0e8d: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_0e8f: ldloc.0
L_0e90: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0e92: ldfld Verse.Pawn pawn
L_0e97: callvirt Verse.Map get_Map()
L_0e9c: call Verse.Thing GetFirstItem(IntVec3, Verse.Map)
L_0ea1: stfld Verse.Thing item
L_0ea6: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_0ea8: ldfld Verse.Thing item
L_0ead: brfalse Label #84
L_0eb2: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_0eb4: ldfld Verse.Thing item
L_0eb9: ldfld Verse.ThingDef def
L_0ebe: callvirt Boolean get_EverHaulable()
L_0ec3: brfalse Label #85
L_0ec8: newobj Void .ctor()
L_0ecd: stloc.s 45
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43D)
L_0ecf: ldloc.s 45
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43D)
L_0ed1: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0ed3: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434
<>f__ref$1076
L_0ed8: ldloc.s 45
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43D)
L_0eda: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_0edc: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C
<>f__ref$1084
L_0ee1: ldloc.s 45
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43D)
L_0ee3: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0ee5: ldfld Verse.Pawn pawn
L_0eea: callvirt Verse.Map get_Map()
L_0eef: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0ef1: ldfld Verse.Pawn pawn
L_0ef6: callvirt RimWorld.Faction get_Faction()
L_0efb: call Verse.Pawn PackAnimalWithTheMostFreeSpace(Verse.Map, RimWorld.Faction)
L_0f00: stfld Verse.Pawn bestPackAnimal
L_0f05: ldloc.s 45
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43D)
L_0f07: ldfld Verse.Pawn bestPackAnimal
L_0f0c: brfalse Label #86
L_0f11: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_0f13: ldfld Verse.Pawn pawn
L_0f18: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_0f1a: ldfld Verse.Thing item
L_0f1f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0f24: ldc.i4.3
L_0f25: ldc.i4.3
L_0f26: ldc.i4.0
L_0f27: ldc.i4.0
L_0f28: call Boolean CanReach(Verse.Pawn, LocalTargetInfo, PathEndMode, Danger,
Boolean, TraverseMode)
L_0f2d: brtrue Label #87
L_0f32: ldarg.2
L_0f33: ldstr "CannotGiveToPackAnimal"
L_0f38: ldc.i4.1
L_0f39: newarr System.Object
L_0f3e: dup
L_0f3f: ldc.i4.0
L_0f40: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_0f42: ldfld Verse.Thing item
L_0f47: callvirt System.String get_Label()
L_0f4c: stelem.ref
L_0f4d: call System.String Translate(System.String, System.Object[])
L_0f52: ldstr " ("
L_0f57: ldstr "NoPath"
L_0f5c: call System.String Translate(System.String)
L_0f61: ldstr ")"
L_0f66: call System.String Concat(System.String, System.String, System.String,
System.String)
L_0f6b: ldnull
L_0f6c: ldc.i4.4
L_0f6d: ldnull
L_0f6e: ldnull
L_0f6f: ldc.r4 0
L_0f74: ldnull
L_0f75: ldnull
L_0f76: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0f7b: callvirt Void Add(Verse.FloatMenuOption)
L_0f80: br Label #88
L_0f85: Label #87
L_0f85: ldloc.s 45
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43D)
L_0f87: ldfld Verse.Pawn bestPackAnimal
L_0f8c: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_0f8e: ldfld Verse.Thing item
L_0f93: ldc.i4.1
L_0f94: call Boolean WillBeOverEncumberedAfterPickingUp(Verse.Pawn, Verse.Thing,
Int32)
L_0f99: brfalse Label #89
L_0f9e: ldarg.2
L_0f9f: ldstr "CannotGiveToPackAnimal"
L_0fa4: ldc.i4.1
L_0fa5: newarr System.Object
L_0faa: dup
L_0fab: ldc.i4.0
L_0fac: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_0fae: ldfld Verse.Thing item
L_0fb3: callvirt System.String get_Label()
L_0fb8: stelem.ref
L_0fb9: call System.String Translate(System.String, System.Object[])
L_0fbe: ldstr " ("
L_0fc3: ldstr "TooHeavy"
L_0fc8: call System.String Translate(System.String)
L_0fcd: ldstr ")"
L_0fd2: call System.String Concat(System.String, System.String, System.String,
System.String)
L_0fd7: ldnull
L_0fd8: ldc.i4.4
L_0fd9: ldnull
L_0fda: ldnull
L_0fdb: ldc.r4 0
L_0fe0: ldnull
L_0fe1: ldnull
L_0fe2: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_0fe7: callvirt Void Add(Verse.FloatMenuOption)
L_0fec: br Label #90
L_0ff1: Label #89
L_0ff1: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_0ff3: ldfld Verse.Thing item
L_0ff8: ldfld System.Int32 stackCount
L_0ffd: ldc.i4.1
L_0ffe: bne.un Label #91
L_1003: ldarg.2
L_1004: ldstr "GiveToPackAnimal"
L_1009: ldc.i4.1
L_100a: newarr System.Object
L_100f: dup
L_1010: ldc.i4.0
L_1011: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_1013: ldfld Verse.Thing item
L_1018: callvirt System.String get_Label()
L_101d: stelem.ref
L_101e: call System.String Translate(System.String, System.Object[])
L_1023: ldloc.s 45
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43D)
L_1025: ldftn Void <>m__63C()
L_102b: newobj Void .ctor(Object, IntPtr)
L_1030: ldc.i4.5
L_1031: ldnull
L_1032: ldnull
L_1033: ldc.r4 0
L_1038: ldnull
L_1039: ldnull
L_103a: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_103f: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_1041: ldfld Verse.Pawn pawn
L_1046: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_1048: ldfld Verse.Thing item
L_104d: call LocalTargetInfo op_Implicit(Verse.Thing)
L_1052: ldstr "ReservedBy"
L_1057: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_105c: callvirt Void Add(Verse.FloatMenuOption)
L_1061: br Label #92
L_1066: Label #91
L_1066: ldloc.s 45
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43D)
L_1068: ldfld Verse.Pawn bestPackAnimal
L_106d: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_106f: ldfld Verse.Thing item
L_1074: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_1076: ldfld Verse.Thing item
L_107b: ldfld System.Int32 stackCount
L_1080: call Boolean WillBeOverEncumberedAfterPickingUp(Verse.Pawn, Verse.Thing,
Int32)
L_1085: brfalse Label #93
L_108a: ldarg.2
L_108b: ldstr "CannotGiveToPackAnimalAll"
L_1090: ldc.i4.1
L_1091: newarr System.Object
L_1096: dup
L_1097: ldc.i4.0
L_1098: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_109a: ldfld Verse.Thing item
L_109f: callvirt System.String get_Label()
L_10a4: stelem.ref
L_10a5: call System.String Translate(System.String, System.Object[])
L_10aa: ldstr " ("
L_10af: ldstr "TooHeavy"
L_10b4: call System.String Translate(System.String)
L_10b9: ldstr ")"
L_10be: call System.String Concat(System.String, System.String, System.String,
System.String)
L_10c3: ldnull
L_10c4: ldc.i4.4
L_10c5: ldnull
L_10c6: ldnull
L_10c7: ldc.r4 0
L_10cc: ldnull
L_10cd: ldnull
L_10ce: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_10d3: callvirt Void Add(Verse.FloatMenuOption)
L_10d8: br Label #94
L_10dd: Label #93
L_10dd: ldarg.2
L_10de: ldstr "GiveToPackAnimalAll"
L_10e3: ldc.i4.1
L_10e4: newarr System.Object
L_10e9: dup
L_10ea: ldc.i4.0
L_10eb: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_10ed: ldfld Verse.Thing item
L_10f2: callvirt System.String get_Label()
L_10f7: stelem.ref
L_10f8: call System.String Translate(System.String, System.Object[])
L_10fd: ldloc.s 45
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43D)
L_10ff: ldftn Void <>m__63D()
L_1105: newobj Void .ctor(Object, IntPtr)
L_110a: ldc.i4.5
L_110b: ldnull
L_110c: ldnull
L_110d: ldc.r4 0
L_1112: ldnull
L_1113: ldnull
L_1114: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_1119: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_111b: ldfld Verse.Pawn pawn
L_1120: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_1122: ldfld Verse.Thing item
L_1127: call LocalTargetInfo op_Implicit(Verse.Thing)
L_112c: ldstr "ReservedBy"
L_1131: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_1136: callvirt Void Add(Verse.FloatMenuOption)
L_113b: Label #94
L_113b: ldarg.2
L_113c: ldstr "GiveToPackAnimalSome"
L_1141: ldc.i4.1
L_1142: newarr System.Object
L_1147: dup
L_1148: ldc.i4.0
L_1149: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_114b: ldfld Verse.Thing item
L_1150: callvirt System.String get_Label()
L_1155: stelem.ref
L_1156: call System.String Translate(System.String, System.Object[])
L_115b: ldloc.s 45
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43D)
L_115d: ldftn Void <>m__63E()
L_1163: newobj Void .ctor(Object, IntPtr)
L_1168: ldc.i4.5
L_1169: ldnull
L_116a: ldnull
L_116b: ldc.r4 0
L_1170: ldnull
L_1171: ldnull
L_1172: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_1177: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_1179: ldfld Verse.Pawn pawn
L_117e: ldloc.s 44
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43C)
L_1180: ldfld Verse.Thing item
L_1185: call LocalTargetInfo op_Implicit(Verse.Thing)
L_118a: ldstr "ReservedBy"
L_118f: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_1194: callvirt Void Add(Verse.FloatMenuOption)
L_1199: Label #83
L_1199: Label #84
L_1199: Label #85
L_1199: Label #86
L_1199: Label #88
L_1199: Label #90
L_1199: Label #92
L_1199: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_119b: ldfld Verse.Pawn pawn
L_11a0: callvirt Verse.Map get_Map()
L_11a5: callvirt Boolean get_IsPlayerHome()
L_11aa: brtrue Label #95
L_11af: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_11b1: ldfld Verse.Pawn pawn
L_11b6: callvirt Verse.Map get_Map()
L_11bb: ldfld Verse.ExitMapGrid exitMapGrid
L_11c0: callvirt Boolean get_MapUsesExitGrid()
L_11c5: brfalse Label #96
L_11ca: ldarg.0
L_11cb: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_11cd: ldfld Verse.Pawn pawn
L_11d2: call RimWorld.TargetingParameters ForRescue(Verse.Pawn)
L_11d7: ldc.i4.1
L_11d8: call IEnumerable`1 TargetsAt(Vector3, RimWorld.TargetingParameters,
Boolean)
L_11dd: callvirt IEnumerator`1 GetEnumerator()
L_11e2: stloc.s 23
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_11e4: br Label #97
L_11e9: Label #105
L_11e9: ldloc.s 23
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_11eb: callvirt LocalTargetInfo get_Current()
L_11f0: stloc.s 22 (Verse.LocalTargetInfo)
L_11f2: newobj Void .ctor()
L_11f7: stloc.s 46
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43E)
L_11f9: ldloc.s 46
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43E)
L_11fb: ldloca.s 22 (Verse.LocalTargetInfo)
L_11fd: call Verse.Thing get_Thing()
L_1202: castclass Verse.Pawn
L_1207: stfld Verse.Pawn p
L_120c: ldloc.s 46
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43E)
L_120e: ldfld Verse.Pawn p
L_1213: callvirt RimWorld.Faction get_Faction()
L_1218: call RimWorld.Faction get_OfPlayer()
L_121d: beq Label #98
L_1222: ldloc.s 46
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43E)
L_1224: ldfld Verse.Pawn p
L_1229: callvirt RimWorld.Faction get_HostFaction()
L_122e: call RimWorld.Faction get_OfPlayer()
L_1233: beq Label #99
L_1238: br Label #100
L_123d: Label #98
L_123d: Label #99
L_123d: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_123f: ldfld Verse.Pawn pawn
L_1244: ldloc.s 46
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43E)
L_1246: ldfld Verse.Pawn p
L_124b: call LocalTargetInfo op_Implicit(Verse.Thing)
L_1250: ldc.i4.3
L_1251: ldc.i4.3
L_1252: ldc.i4.0
L_1253: ldc.i4.0
L_1254: call Boolean CanReach(Verse.Pawn, LocalTargetInfo, PathEndMode, Danger,
Boolean, TraverseMode)
L_1259: brtrue Label #101
L_125e: ldarg.2
L_125f: ldstr "CannotCarryToExit"
L_1264: ldc.i4.1
L_1265: newarr System.Object
L_126a: dup
L_126b: ldc.i4.0
L_126c: ldloc.s 46
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43E)
L_126e: ldfld Verse.Pawn p
L_1273: callvirt System.String get_Label()
L_1278: stelem.ref
L_1279: call System.String Translate(System.String, System.Object[])
L_127e: ldstr " ("
L_1283: ldstr "NoPath"
L_1288: call System.String Translate(System.String)
L_128d: ldstr ")"
L_1292: call System.String Concat(System.String, System.String, System.String,
System.String)
L_1297: ldnull
L_1298: ldc.i4.4
L_1299: ldnull
L_129a: ldnull
L_129b: ldc.r4 0
L_12a0: ldnull
L_12a1: ldnull
L_12a2: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_12a7: callvirt Void Add(Verse.FloatMenuOption)
L_12ac: br Label #102
L_12b1: Label #101
L_12b1: newobj Void .ctor()
L_12b6: stloc.s 47
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43F)
L_12b8: ldloc.s 47
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43F)
L_12ba: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_12bc: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434
<>f__ref$1076
L_12c1: ldloc.s 47
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43F)
L_12c3: ldloc.s 46
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43E)
L_12c5: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43E
<>f__ref$1086
L_12ca: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_12cc: ldfld Verse.Pawn pawn
L_12d1: ldloc.s 47
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43F)
L_12d3: ldflda Verse.IntVec3 exitSpot
L_12d8: ldc.i4.0
L_12d9: call Boolean TryFindBestExitSpot(Verse.Pawn, IntVec3 ByRef, TraverseMode)
L_12de: brtrue Label #103
L_12e3: ldarg.2
L_12e4: ldstr "CannotCarryToExit"
L_12e9: ldc.i4.1
L_12ea: newarr System.Object
L_12ef: dup
L_12f0: ldc.i4.0
L_12f1: ldloc.s 46
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43E)
L_12f3: ldfld Verse.Pawn p
L_12f8: callvirt System.String get_Label()
L_12fd: stelem.ref
L_12fe: call System.String Translate(System.String, System.Object[])
L_1303: ldstr " ("
L_1308: ldstr "NoPath"
L_130d: call System.String Translate(System.String)
L_1312: ldstr ")"
L_1317: call System.String Concat(System.String, System.String, System.String,
System.String)
L_131c: ldnull
L_131d: ldc.i4.4
L_131e: ldnull
L_131f: ldnull
L_1320: ldc.r4 0
L_1325: ldnull
L_1326: ldnull
L_1327: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_132c: callvirt Void Add(Verse.FloatMenuOption)
L_1331: br Label #104
L_1336: Label #103
L_1336: ldarg.2
L_1337: ldstr "CarryToExit"
L_133c: ldc.i4.1
L_133d: newarr System.Object
L_1342: dup
L_1343: ldc.i4.0
L_1344: ldloc.s 46
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43E)
L_1346: ldfld Verse.Pawn p
L_134b: callvirt System.String get_Label()
L_1350: stelem.ref
L_1351: call System.String Translate(System.String, System.Object[])
L_1356: ldloc.s 47
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey43F)
L_1358: ldftn Void <>m__63F()
L_135e: newobj Void .ctor(Object, IntPtr)
L_1363: ldc.i4.5
L_1364: ldnull
L_1365: ldnull
L_1366: ldc.r4 0
L_136b: ldnull
L_136c: ldnull
L_136d: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_1372: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_1374: ldfld Verse.Pawn pawn
L_1379: ldloc.s 22 (Verse.LocalTargetInfo)
L_137b: ldstr "ReservedBy"
L_1380: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_1385: callvirt Void Add(Verse.FloatMenuOption)
L_138a: Label #97
L_138a: Label #100
L_138a: Label #102
L_138a: Label #104
L_138a: ldloc.s 23
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_138c: callvirt Boolean MoveNext()
L_1391: brtrue Label #105
L_1396: leave Label #106
L_139b: ldloc.s 23
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_139d: brtrue Label #107
L_13a2: endfinally
L_13a3: Label #107
L_13a3: ldloc.s 23
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_13a5: callvirt Void Dispose()
L_13aa: endfinally
L_13ab: Label #95
L_13ab: Label #96
L_13ab: Label #106
L_13ab: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_13ad: ldfld Verse.Pawn pawn
L_13b2: ldfld Verse.Pawn_EquipmentTracker equipment
L_13b7: brfalse Label #108
L_13bc: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_13be: ldfld Verse.Pawn pawn
L_13c3: ldfld Verse.Pawn_EquipmentTracker equipment
L_13c8: callvirt Verse.ThingWithComps get_Primary()
L_13cd: brfalse Label #109
L_13d2: ldarg.0
L_13d3: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_13d5: ldfld Verse.Pawn pawn
L_13da: call RimWorld.TargetingParameters ForSelf(Verse.Pawn)
L_13df: ldc.i4.1
L_13e0: call IEnumerable`1 TargetsAt(Vector3, RimWorld.TargetingParameters,
Boolean)
L_13e5: call Boolean Any[LocalTargetInfo](IEnumerable`1)
L_13ea: brfalse Label #110
L_13ef: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_13f1: ldftn Void <>m__640()
L_13f7: newobj Void .ctor(Object, IntPtr)
L_13fc: stloc.s 24 (System.Action)
L_13fe: ldarg.2
L_13ff: ldstr "Drop"
L_1404: ldc.i4.1
L_1405: newarr System.Object
L_140a: dup
L_140b: ldc.i4.0
L_140c: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_140e: ldfld Verse.Pawn pawn
L_1413: ldfld Verse.Pawn_EquipmentTracker equipment
L_1418: callvirt Verse.ThingWithComps get_Primary()
L_141d: callvirt System.String get_Label()
L_1422: stelem.ref
L_1423: call System.String Translate(System.String, System.Object[])
L_1428: ldloc.s 24 (System.Action)
L_142a: ldc.i4.4
L_142b: ldnull
L_142c: ldnull
L_142d: ldc.r4 0
L_1432: ldnull
L_1433: ldnull
L_1434: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_1439: callvirt Void Add(Verse.FloatMenuOption)
L_143e: Label #108
L_143e: Label #109
L_143e: Label #110
L_143e: ldarg.0
L_143f: call RimWorld.TargetingParameters ForTrade()
L_1444: ldc.i4.1
L_1445: call IEnumerable`1 TargetsAt(Vector3, RimWorld.TargetingParameters,
Boolean)
L_144a: callvirt IEnumerator`1 GetEnumerator()
L_144f: stloc.s 26
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_1451: br Label #111
L_1456: Label #115
L_1456: ldloc.s 26
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_1458: callvirt LocalTargetInfo get_Current()
L_145d: stloc.s 25 (Verse.LocalTargetInfo)
L_145f: ldloc.s 25 (Verse.LocalTargetInfo)
L_1461: stloc.s 27 (Verse.LocalTargetInfo)
L_1463: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_1465: ldfld Verse.Pawn pawn
L_146a: ldloc.s 27 (Verse.LocalTargetInfo)
L_146c: ldc.i4.1
L_146d: ldc.i4.3
L_146e: ldc.i4.0
L_146f: ldc.i4.0
L_1470: call Boolean CanReach(Verse.Pawn, LocalTargetInfo, PathEndMode, Danger,
Boolean, TraverseMode)
L_1475: brtrue Label #112
L_147a: ldarg.2
L_147b: ldstr "CannotTrade"
L_1480: call System.String Translate(System.String)
L_1485: ldstr " ("
L_148a: ldstr "NoPath"
L_148f: call System.String Translate(System.String)
L_1494: ldstr ")"
L_1499: call System.String Concat(System.String, System.String, System.String,
System.String)
L_149e: ldnull
L_149f: ldc.i4.4
L_14a0: ldnull
L_14a1: ldnull
L_14a2: ldc.r4 0
L_14a7: ldnull
L_14a8: ldnull
L_14a9: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_14ae: callvirt Void Add(Verse.FloatMenuOption)
L_14b3: br Label #113
L_14b8: Label #112
L_14b8: newobj Void .ctor()
L_14bd: stloc.s 48
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey440)
L_14bf: ldloc.s 48
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey440)
L_14c1: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_14c3: stfld RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434
<>f__ref$1076
L_14c8: ldloc.s 48
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey440)
L_14ca: ldloca.s 27 (Verse.LocalTargetInfo)
L_14cc: call Verse.Thing get_Thing()
L_14d1: castclass Verse.Pawn
L_14d6: stfld Verse.Pawn pTarg
L_14db: ldloc.s 48
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey440)
L_14dd: ldftn Void <>m__641()
L_14e3: newobj Void .ctor(Object, IntPtr)
L_14e8: stloc.s 28 (System.Action)
L_14ea: ldsfld System.String Empty
L_14ef: stloc.s 29 (System.String)
L_14f1: ldloc.s 48
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey440)
L_14f3: ldfld Verse.Pawn pTarg
L_14f8: callvirt RimWorld.Faction get_Faction()
L_14fd: brfalse Label #114
L_1502: ldstr " ("
L_1507: ldloc.s 48
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey440)
L_1509: ldfld Verse.Pawn pTarg
L_150e: callvirt RimWorld.Faction get_Faction()
L_1513: callvirt System.String get_Name()
L_1518: ldstr ")"
L_151d: call System.String Concat(System.String, System.String, System.String)
L_1522: stloc.s 29 (System.String)
L_1524: Label #114
L_1524: ldarg.2
L_1525: ldloca.s 27 (Verse.LocalTargetInfo)
L_1527: call Verse.Thing get_Thing()
L_152c: stloc.s 49 (Verse.Thing)
L_152e: ldstr "TradeWith"
L_1533: ldc.i4.1
L_1534: newarr System.Object
L_1539: dup
L_153a: ldc.i4.0
L_153b: ldloc.s 48
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey440)
L_153d: ldfld Verse.Pawn pTarg
L_1542: callvirt System.String get_LabelShort()
L_1547: ldstr ", "
L_154c: ldloc.s 48
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey440)
L_154e: ldfld Verse.Pawn pTarg
L_1553: callvirt RimWorld.TraderKindDef get_TraderKind()
L_1558: ldfld System.String label
L_155d: call System.String Concat(System.String, System.String, System.String)
L_1562: stelem.ref
L_1563: call System.String Translate(System.String, System.Object[])
L_1568: ldloc.s 29 (System.String)
L_156a: call System.String Concat(System.String, System.String)
L_156f: ldloc.s 28 (System.Action)
L_1571: ldc.i4.7
L_1572: ldnull
L_1573: ldloc.s 49 (Verse.Thing)
L_1575: ldc.r4 0
L_157a: ldnull
L_157b: ldnull
L_157c: newobj Void .ctor(String, Action, MenuOptionPriority, Action, Thing,
Single, Func`2, WorldObject)
L_1581: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_1583: ldfld Verse.Pawn pawn
L_1588: ldloc.s 48
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey440)
L_158a: ldfld Verse.Pawn pTarg
L_158f: call LocalTargetInfo op_Implicit(Verse.Thing)
L_1594: ldstr "ReservedBy"
L_1599: call Verse.FloatMenuOption DecoratePrioritizedTask(Verse.FloatMenuOption,
Verse.Pawn, LocalTargetInfo, System.String)
L_159e: callvirt Void Add(Verse.FloatMenuOption)
L_15a3: Label #111
L_15a3: Label #113
L_15a3: ldloc.s 26
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_15a5: callvirt Boolean MoveNext()
L_15aa: brtrue Label #115
L_15af: leave Label #116
L_15b4: ldloc.s 26
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_15b6: brtrue Label #117
L_15bb: endfinally
L_15bc: Label #117
L_15bc: ldloc.s 26
(System.Collections.Generic.IEnumerator`1[Verse.LocalTargetInfo])
L_15be: callvirt Void Dispose()
L_15c3: endfinally
L_15c4: Label #116
L_15c4: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_15c6: ldfld Verse.Pawn pawn
L_15cb: callvirt Verse.Map get_Map()
L_15d0: ldfld Verse.ThingGrid thingGrid
L_15d5: ldloc.0
L_15d6: callvirt IEnumerable`1 ThingsAt(IntVec3)
L_15db: callvirt IEnumerator`1 GetEnumerator()
L_15e0: stloc.s 31 (System.Collections.Generic.IEnumerator`1[Verse.Thing])
L_15e2: br Label #118
L_15e7: Label #123
L_15e7: ldloc.s 31 (System.Collections.Generic.IEnumerator`1[Verse.Thing])
L_15e9: callvirt Verse.Thing get_Current()
L_15ee: stloc.s 30 (Verse.Thing)
L_15f0: ldloc.s 30 (Verse.Thing)
L_15f2: ldloc.s 34
(RimWorld.FloatMenuMakerMap+<AddHumanlikeOrders>c__AnonStorey434)
L_15f4: ldfld Verse.Pawn pawn
L_15f9: callvirt IEnumerable`1 GetFloatMenuOptions(Verse.Pawn)
L_15fe: callvirt IEnumerator`1 GetEnumerator()
L_1603: stloc.s 33
(System.Collections.Generic.IEnumerator`1[Verse.FloatMenuOption])
L_1605: br Label #119
L_160a: Label #120
L_160a: ldloc.s 33
(System.Collections.Generic.IEnumerator`1[Verse.FloatMenuOption])
L_160c: callvirt Verse.FloatMenuOption get_Current()
L_1611: stloc.s 32 (Verse.FloatMenuOption)
L_1613: ldarg.2
L_1614: ldloc.s 32 (Verse.FloatMenuOption)
L_1616: callvirt Void Add(Verse.FloatMenuOption)
L_161b: Label #119
L_161b: ldloc.s 33
(System.Collections.Generic.IEnumerator`1[Verse.FloatMenuOption])
L_161d: callvirt Boolean MoveNext()
L_1622: brtrue Label #120
L_1627: leave Label #121
L_162c: ldloc.s 33
(System.Collections.Generic.IEnumerator`1[Verse.FloatMenuOption])
L_162e: brtrue Label #122
L_1633: endfinally
L_1634: Label #122
L_1634: ldloc.s 33
(System.Collections.Generic.IEnumerator`1[Verse.FloatMenuOption])
L_1636: callvirt Void Dispose()
L_163b: endfinally
L_163c: Label #118
L_163c: Label #121
L_163c: ldloc.s 31 (System.Collections.Generic.IEnumerator`1[Verse.Thing])
L_163e: callvirt Boolean MoveNext()
L_1643: brtrue Label #123
L_1648: leave Label #124
L_164d: ldloc.s 31 (System.Collections.Generic.IEnumerator`1[Verse.Thing])
L_164f: brtrue Label #125
L_1654: endfinally
L_1655: Label #125
L_1655: ldloc.s 31 (System.Collections.Generic.IEnumerator`1[Verse.Thing])
L_1657: callvirt Void Dispose()
L_165c: endfinally
L_165d: Label #124
L_165d: br Label #0
L_1662: Label #0
L_1662: ldarga 2
L_1668: ldarg 1
L_166e: ldarg 0
L_1674: call Void
AddHumanlikeOrdersPostfix(System.Collections.Generic.List`1[Verse.FloatMenuOption]
ByRef, Verse.Pawn, Vector3)
L_1679: ldarg 0
L_167f: ldarg 1
L_1685: ldarg 2
L_168b: call Void AddHumanlikeOrdersPostFix(Vector3, Verse.Pawn,
System.Collections.Generic.List`1[Verse.FloatMenuOption])
L_1690: ldarg 0
L_1696: ldarg 1
L_169c: ldarg 2
L_16a2: call Void AddHumanlikeOrders(Vector3, Verse.Pawn,
System.Collections.Generic.List`1[Verse.FloatMenuOption])
L_16a7: ret
DONE

PATCHING RimWorld.Verb_ShootOneUse Void SelfConsume()


L_0000: ldarg.0
L_0001: ldfld Verse.ThingWithComps ownerEquipment
L_0006: brfalse Label #2
L_000b: ldarg.0
L_000c: ldfld Verse.ThingWithComps ownerEquipment
L_0011: callvirt Boolean get_Destroyed()
L_0016: brtrue Label #3
L_001b: ldarg.0
L_001c: ldfld Verse.ThingWithComps ownerEquipment
L_0021: ldc.i4.0
L_0022: callvirt Void Destroy(DestroyMode)
L_0027: Label #2
L_0027: Label #3
L_0027: br Label #0
L_002c: Label #0
L_002c: ldarg.0
L_002d: call Void SelfConsume(RimWorld.Verb_ShootOneUse)
L_0032: ret
DONE

PATCHING RimWorld.Verb_MeleeAttack Boolean TryCastShot()


L_0000: Local var #0 System.Boolean
L_0000: Local var #1 Verse.Pawn
L_0000: Local var #2 Verse.Thing
L_0000: Local var #3 Verse.SoundDef
L_0000: Local var #4 Verse.Pawn
L_0000: Local var #5 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 5 (System.Boolean)
L_0007: ldarg.0
L_0008: call Verse.Pawn get_CasterPawn()
L_000d: stloc.1
L_000e: ldloc.1
L_000f: ldfld Verse.Pawn_StanceTracker stances
L_0014: callvirt Boolean get_FullBodyBusy()
L_0019: brfalse Label #2
L_001e: ldc.i4.0
L_001f: br Label #0
L_0024: Label #2
L_0024: ldarg.0
L_0025: ldflda Verse.LocalTargetInfo currentTarget
L_002a: call Verse.Thing get_Thing()
L_002f: stloc.2
L_0030: ldarg.0
L_0031: ldloc.2
L_0032: call LocalTargetInfo op_Implicit(Verse.Thing)
L_0037: call Boolean CanHitTarget(LocalTargetInfo)
L_003c: brtrue Label #3
L_0041: ldc.i4.4
L_0042: newarr System.Object
L_0047: dup
L_0048: ldc.i4.0
L_0049: ldloc.1
L_004a: stelem.ref
L_004b: dup
L_004c: ldc.i4.1
L_004d: ldstr " meleed "
L_0052: stelem.ref
L_0053: dup
L_0054: ldc.i4.2
L_0055: ldloc.2
L_0056: stelem.ref
L_0057: dup
L_0058: ldc.i4.3
L_0059: ldstr " from out of melee position."
L_005e: stelem.ref
L_005f: call System.String Concat(System.Object[])
L_0064: call Void Warning(System.String)
L_0069: Label #3
L_0069: ldloc.1
L_006a: callvirt Verse.Pawn_DrawTracker get_Drawer()
L_006f: ldfld Verse.PawnRotator rotator
L_0074: ldloc.2
L_0075: callvirt Vector3 get_DrawPos()
L_007a: callvirt Void Face(Vector3)
L_007f: ldarg.0
L_0080: ldarg.0
L_0081: ldfld Verse.LocalTargetInfo currentTarget
L_0086: call Boolean IsTargetImmobile(LocalTargetInfo)
L_008b: brtrue Label #4
L_0090: ldloc.1
L_0091: ldfld RimWorld.Pawn_SkillTracker skills
L_0096: brfalse Label #5
L_009b: ldloc.1
L_009c: ldfld RimWorld.Pawn_SkillTracker skills
L_00a1: ldsfld RimWorld.SkillDef Melee
L_00a6: ldc.r4 250
L_00ab: ldc.i4.0
L_00ac: callvirt Void Learn(RimWorld.SkillDef, Single, Boolean)
L_00b1: Label #4
L_00b1: Label #5
L_00b1: call Single get_Value()
L_00b6: ldarg.0
L_00b7: ldloc.2
L_00b8: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00bd: call Single GetNonMissChance(LocalTargetInfo)
L_00c2: bge.un Label #6
L_00c7: call Single get_Value()
L_00cc: ldarg.0
L_00cd: ldloc.2
L_00ce: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00d3: call Single GetDodgeChance(LocalTargetInfo)
L_00d8: ble.un Label #7
L_00dd: ldc.i4.1
L_00de: stloc.0
L_00df: ldarg.0
L_00e0: ldarg.0
L_00e1: ldfld Verse.LocalTargetInfo currentTarget
L_00e6: call Void ApplyMeleeDamageToTarget(LocalTargetInfo)
L_00eb: ldloc.2
L_00ec: ldfld Verse.ThingDef def
L_00f1: ldfld Verse.ThingCategory category
L_00f6: ldc.i4.4
L_00f7: bne.un Label #8
L_00fc: ldarg.0
L_00fd: call Verse.SoundDef SoundHitBuilding()
L_0102: stloc.3
L_0103: br Label #9
L_0108: Label #8
L_0108: ldarg.0
L_0109: call Verse.SoundDef SoundHitPawn()
L_010e: stloc.3
L_010f: Label #9
L_010f: br Label #10
L_0114: Label #7
L_0114: ldc.i4.0
L_0115: stloc.0
L_0116: ldarg.0
L_0117: call Verse.SoundDef SoundMiss()
L_011c: stloc.3
L_011d: ldloc.2
L_011e: callvirt Vector3 get_DrawPos()
L_0123: ldloc.2
L_0124: callvirt Verse.Map get_Map()
L_0129: ldstr "TextMote_Dodge"
L_012e: call System.String Translate(System.String)
L_0133: ldc.r4 1.9
L_0138: call Void ThrowText(Vector3, Verse.Map, System.String, Single)
L_013d: Label #10
L_013d: br Label #11
L_0142: Label #6
L_0142: ldc.i4.0
L_0143: stloc.0
L_0144: ldarg.0
L_0145: call Verse.SoundDef SoundMiss()
L_014a: stloc.3
L_014b: Label #11
L_014b: ldloc.3
L_014c: ldloc.2
L_014d: callvirt IntVec3 get_Position()
L_0152: ldloc.1
L_0153: callvirt Verse.Map get_Map()
L_0158: ldc.i4.0
L_0159: newobj Void .ctor(IntVec3, Map, Boolean)
L_015e: call SoundInfo op_Implicit(TargetInfo)
L_0163: call Void PlayOneShot(Verse.SoundDef, SoundInfo)
L_0168: ldloc.1
L_0169: callvirt Verse.Pawn_DrawTracker get_Drawer()
L_016e: ldloc.2
L_016f: callvirt Void Notify_MeleeAttackOn(Verse.Thing)
L_0174: ldloc.2
L_0175: isinst Verse.Pawn
L_017a: stloc.s 4 (Verse.Pawn)
L_017c: ldloc.s 4 (Verse.Pawn)
L_017e: brfalse Label #12
L_0183: ldloc.s 4 (Verse.Pawn)
L_0185: callvirt Boolean get_Dead()
L_018a: brtrue Label #13
L_018f: ldloc.s 4 (Verse.Pawn)
L_0191: ldfld Verse.Pawn_StanceTracker stances
L_0196: ldc.i4.s 95
L_0198: callvirt Void StaggerFor(Int32)
L_019d: ldloc.1
L_019e: callvirt Verse.MentalStateDef get_MentalStateDef()
L_01a3: ldsfld Verse.MentalStateDef SocialFighting
L_01a8: bne.un Label #14
L_01ad: ldloc.s 4 (Verse.Pawn)
L_01af: callvirt Verse.MentalStateDef get_MentalStateDef()
L_01b4: ldsfld Verse.MentalStateDef SocialFighting
L_01b9: beq Label #15
L_01be: Label #14
L_01be: ldloc.s 4 (Verse.Pawn)
L_01c0: ldfld Verse.AI.Pawn_MindState mindState
L_01c5: ldloc.1
L_01c6: stfld Verse.Pawn meleeThreat
L_01cb: ldloc.s 4 (Verse.Pawn)
L_01cd: ldfld Verse.AI.Pawn_MindState mindState
L_01d2: call Verse.TickManager get_TickManager()
L_01d7: callvirt Int32 get_TicksGame()
L_01dc: stfld System.Int32 lastMeleeThreatHarmTick
L_01e1: Label #12
L_01e1: Label #13
L_01e1: Label #15
L_01e1: ldloc.1
L_01e2: callvirt Verse.Pawn_DrawTracker get_Drawer()
L_01e7: ldfld Verse.PawnRotator rotator
L_01ec: ldloc.2
L_01ed: callvirt IntVec3 get_Position()
L_01f2: callvirt Void FaceCell(IntVec3)
L_01f7: ldloc.1
L_01f8: ldfld Verse.Pawn_CallTracker caller
L_01fd: brfalse Label #16
L_0202: ldloc.1
L_0203: ldfld Verse.Pawn_CallTracker caller
L_0208: callvirt Void Notify_DidMeleeAttack()
L_020d: Label #16
L_020d: ldloc.0
L_020e: br Label #0
L_0213: Label #0
L_0213: stloc 5 (System.Boolean)
L_0215: ldarg.0
L_0216: call Void TryCastShot(RimWorld.Verb_MeleeAttack)
L_021b: ldloc 5 (System.Boolean)
L_021d: ret
DONE

PATCHING RimWorld.InspectPaneUtility Void DoTabs(IInspectPane)


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Single
L_0000: Local var #2 System.Single
L_0000: Local var #3 System.Boolean
L_0000: Local var #4 Verse.InspectTabBase
L_0000: Local var #5
System.Collections.Generic.IEnumerator`1[[Verse.InspectTabBase, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #6 UnityEngine.Rect
L_0000: Local var #7 System.Boolean
L_0000: Local var #8 System.Exception
L_0000: ldarg.0
L_0001: callvirt Single get_PaneTopY()
L_0006: ldc.r4 30
L_000b: sub
L_000c: stloc.0
L_000d: ldc.r4 360
L_0012: stloc.1
L_0013: ldc.r4 0
L_0018: stloc.2
L_0019: ldc.i4.0
L_001a: stloc.3
L_001b: ldarg.0
L_001c: callvirt IEnumerable`1 get_CurTabs()
L_0021: callvirt IEnumerator`1 GetEnumerator()
L_0026: stloc.s 5 (System.Collections.Generic.IEnumerator`1[Verse.InspectTabBase])
L_0028: br Label #2
L_002d: Label #9
L_002d: ldloc.s 5 (System.Collections.Generic.IEnumerator`1[Verse.InspectTabBase])
L_002f: callvirt Verse.InspectTabBase get_Current()
L_0034: stloc.s 4 (Verse.InspectTabBase)
L_0036: ldloc.s 4 (Verse.InspectTabBase)
L_0038: callvirt Boolean get_IsVisible()
L_003d: brtrue Label #3
L_0042: br Label #4
L_0047: Label #3
L_0047: ldloca.s 6 (UnityEngine.Rect)
L_0049: ldloc.1
L_004a: ldloc.0
L_004b: ldc.r4 72
L_0050: ldc.r4 30
L_0055: call Void .ctor(Single, Single, Single, Single)
L_005a: ldloc.1
L_005b: stloc.2
L_005c: ldc.i4.1
L_005d: call Void set_Font(GameFont)
L_0062: ldloc.s 6 (UnityEngine.Rect)
L_0064: ldloc.s 4 (Verse.InspectTabBase)
L_0066: ldfld System.String labelKey
L_006b: call System.String Translate(System.String)
L_0070: ldc.i4.1
L_0071: ldc.i4.0
L_0072: ldc.i4.1
L_0073: call Boolean ButtonText(Rect, System.String, Boolean, Boolean, Boolean)
L_0078: brfalse Label #5
L_007d: ldloc.s 4 (Verse.InspectTabBase)
L_007f: ldarg.0
L_0080: call Void InterfaceToggleTab(Verse.InspectTabBase, IInspectPane)
L_0085: Label #5
L_0085: ldloc.s 4 (Verse.InspectTabBase)
L_0087: callvirt System.Type GetType()
L_008c: ldarg.0
L_008d: callvirt System.Type get_OpenTabType()
L_0092: ceq
L_0094: stloc.s 7 (System.Boolean)
L_0096: ldloc.s 7 (System.Boolean)
L_0098: brtrue Label #6
L_009d: ldloc.s 4 (Verse.InspectTabBase)
L_009f: callvirt System.String get_TutorHighlightTagClosed()
L_00a4: call Boolean NullOrEmpty(System.String)
L_00a9: brtrue Label #7
L_00ae: ldloc.s 6 (UnityEngine.Rect)
L_00b0: ldloc.s 4 (Verse.InspectTabBase)
L_00b2: callvirt System.String get_TutorHighlightTagClosed()
L_00b7: call Void HighlightOpportunity(Rect, System.String)
L_00bc: Label #6
L_00bc: Label #7
L_00bc: ldloc.s 7 (System.Boolean)
L_00be: brfalse Label #8
L_00c3: ldloc.s 4 (Verse.InspectTabBase)
L_00c5: callvirt Void DoTabGUI()
L_00ca: ldarg.0
L_00cb: ldc.r4 700
L_00d0: callvirt Void set_RecentHeight(Single)
L_00d5: ldc.i4.1
L_00d6: stloc.3
L_00d7: Label #8
L_00d7: ldloc.1
L_00d8: ldc.r4 72
L_00dd: sub
L_00de: stloc.1
L_00df: ldloc.1
L_00e0: ldc.r4 0
L_00e9: bge.un Label #15
L_00ee: ldc.r4 360
L_00f3: stloc.1
L_00f4: ldloc.0
L_00f5: ldc.r4 30
L_00fa: sub
L_00fb: stloc.0
L_00fc: Label #15
L_00fc: nop
L_00fd: Label #2
L_00fd: Label #4
L_00fd: ldloc.s 5 (System.Collections.Generic.IEnumerator`1[Verse.InspectTabBase])
L_00ff: callvirt Boolean MoveNext()
L_0104: brtrue Label #9
L_0109: leave Label #10
L_010e: ldloc.s 5 (System.Collections.Generic.IEnumerator`1[Verse.InspectTabBase])
L_0110: brtrue Label #11
L_0115: endfinally
L_0116: Label #11
L_0116: ldloc.s 5 (System.Collections.Generic.IEnumerator`1[Verse.InspectTabBase])
L_0118: callvirt Void Dispose()
L_011d: endfinally
L_011e: Label #10
L_011e: ldloc.3
L_011f: brfalse Label #12
L_0124: ldc.r4 0
L_0129: ldloc.0
L_012a: ldloc.2
L_012b: ldc.r4 30
L_0130: newobj Void .ctor(Single, Single, Single, Single)
L_0135: ldsfld UnityEngine.Texture2D InspectTabButtonFillTex
L_013a: call Void DrawTexture(Rect, UnityEngine.Texture)
L_013f: Label #12
L_013f: leave Label #13
L_0144: stloc.s 8 (System.Exception)
L_0146: ldloc.s 8 (System.Exception)
L_0148: callvirt System.String ToString()
L_014d: ldc.i4 742783
L_0152: call Void ErrorOnce(System.String, Int32)
L_0157: leave Label #14
L_015c: Label #13
L_015c: Label #14
L_015c: br Label #0
L_0161: Label #0
L_0161: ret
DONE

PATCHING RimWorld.InteractionUtility Boolean


CanReceiveRandomInteraction(Verse.Pawn)
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 CanReceiveInteraction(Verse.Pawn)
L_000c: brtrue Label #2
L_0011: ldc.i4.0
L_0012: br Label #0
L_0017: Label #2
L_0017: ldarg.0
L_0018: callvirt Verse.RaceProperties get_RaceProps()
L_001d: callvirt Boolean get_Humanlike()
L_0022: brfalse Label #3
L_0027: ldarg.0
L_0028: callvirt Boolean get_Downed()
L_002d: brtrue Label #4
L_0032: ldarg.0
L_0033: callvirt Boolean get_InAggroMentalState()
L_0038: brfalse Label #5
L_003d: Label #3
L_003d: Label #4
L_003d: ldc.i4.0
L_003e: br Label #0
L_0043: Label #5
L_0043: ldc.i4.1
L_0044: br Label #0
L_0049: Label #0
L_0049: stloc 0 (System.Boolean)
L_004a: ldloca 0 (System.Boolean)
L_004c: ldarg 0
L_0052: call Void PsychologyAddonsForCanReceive(Boolean ByRef, Verse.Pawn)
L_0057: ldloc 0 (System.Boolean)
L_0058: ret
DONE

PATCHING RimWorld.InteractionUtility Boolean


CanInitiateRandomInteraction(Verse.Pawn)
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 CanInitiateInteraction(Verse.Pawn)
L_000c: brtrue Label #2
L_0011: ldc.i4.0
L_0012: br Label #0
L_0017: Label #2
L_0017: ldarg.0
L_0018: callvirt Verse.RaceProperties get_RaceProps()
L_001d: callvirt Boolean get_Humanlike()
L_0022: brfalse Label #3
L_0027: ldarg.0
L_0028: callvirt Boolean get_Downed()
L_002d: brtrue Label #4
L_0032: ldarg.0
L_0033: callvirt Boolean get_InAggroMentalState()
L_0038: brfalse Label #5
L_003d: Label #3
L_003d: Label #4
L_003d: ldc.i4.0
L_003e: br Label #0
L_0043: Label #5
L_0043: ldc.i4.1
L_0044: br Label #0
L_0049: Label #0
L_0049: stloc 0 (System.Boolean)
L_004a: ldloca 0 (System.Boolean)
L_004c: ldarg 0
L_0052: call Void PsychologyAddonsForCanInitiate(Boolean ByRef, Verse.Pawn)
L_0057: ldloc 0 (System.Boolean)
L_0058: ret
DONE

PATCHING RimWorld.InteractionWorker_DeepTalk Single


RandomSelectionWeight(Verse.Pawn, Verse.Pawn)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Single
L_0000: ldc.r4 0
L_0005: stloc 1 (System.Single)
L_0006: ldarg.0
L_0007: ldarg 1
L_000d: ldarg 2
L_0013: call Boolean PsychologyException(RimWorld.InteractionWorker_DeepTalk,
Verse.Pawn, Verse.Pawn)
L_0018: brfalse Label #1
L_001d: ldc.r4 0.075
L_0022: stloc.0
L_0023: ldloc.0
L_0024: ldarg.0
L_0025: ldfld Verse.SimpleCurve CompatibilityFactorCurve
L_002a: ldarg.1
L_002b: ldfld RimWorld.Pawn_RelationsTracker relations
L_0030: ldarg.2
L_0031: callvirt Single CompatibilityWith(Verse.Pawn)
L_0036: callvirt Single Evaluate(Single)
L_003b: mul
L_003c: stloc.0
L_003d: ldloc.0
L_003e: br Label #0
L_0043: Label #0
L_0043: stloc 1 (System.Single)
L_0044: Label #1
L_0044: ldloc 1 (System.Single)
L_0045: ret
DONE

PATCHING RimWorld.NegativeInteractionUtility Single


NegativeInteractionChanceFactor(Verse.Pawn, Verse.Pawn)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Single
L_0000: ldc.r4 0
L_0005: stloc 1 (System.Single)
L_0006: ldarg.0
L_0007: ldfld RimWorld.Pawn_StoryTracker story
L_000c: ldfld RimWorld.TraitSet traits
L_0011: ldsfld RimWorld.TraitDef Kind
L_0016: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_001b: brfalse Label #2
L_0020: ldc.r4 0
L_0025: br Label #0
L_002a: Label #2
L_002a: ldc.r4 1
L_002f: stloc.0
L_0030: ldloc.0
L_0031: ldsfld Verse.SimpleCurve OpinionFactorCurve
L_0036: ldarg.0
L_0037: ldfld RimWorld.Pawn_RelationsTracker relations
L_003c: ldarg.1
L_003d: callvirt Int32 OpinionOf(Verse.Pawn)
L_0042: conv.r4
L_0043: callvirt Single Evaluate(Single)
L_0048: mul
L_0049: stloc.0
L_004a: ldloc.0
L_004b: ldsfld Verse.SimpleCurve CompatibilityFactorCurve
L_0050: ldarg.0
L_0051: ldfld RimWorld.Pawn_RelationsTracker relations
L_0056: ldarg.1
L_0057: callvirt Single CompatibilityWith(Verse.Pawn)
L_005c: callvirt Single Evaluate(Single)
L_0061: mul
L_0062: stloc.0
L_0063: ldarg.0
L_0064: ldfld RimWorld.Pawn_StoryTracker story
L_0069: ldfld RimWorld.TraitSet traits
L_006e: ldsfld RimWorld.TraitDef Abrasive
L_0073: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_0078: brfalse Label #3
L_007d: ldloc.0
L_007e: ldc.r4 2.3
L_0083: mul
L_0084: stloc.0
L_0085: Label #3
L_0085: ldloc.0
L_0086: br Label #0
L_008b: Label #0
L_008b: stloc 1 (System.Single)
L_008c: ldloca 1 (System.Single)
L_008e: ldarg 0
L_0094: ldarg 1
L_009a: call Void NewFormula(Single ByRef, Verse.Pawn, Verse.Pawn)
L_009f: ldloc 1 (System.Single)
L_00a0: ret
DONE

PATCHING RimWorld.Page_ConfigureStartingPawns Void DoWindowContents(Rect)


L_0000: Local var #0 UnityEngine.Rect
L_0000: Local var #1 UnityEngine.Rect
L_0000: Local var #2 UnityEngine.Rect
L_0000: Local var #3 UnityEngine.Rect
L_0000: Local var #4 UnityEngine.Rect
L_0000: Local var #5 UnityEngine.Rect
L_0000: Local var #6 UnityEngine.Rect
L_0000: Local var #7 UnityEngine.Vector2
L_0000: Local var #8 UnityEngine.Vector2
L_0000: Local var #9 UnityEngine.Vector2
L_0000: Local var #10 UnityEngine.Vector3
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: call Void DrawPageTitle(Rect)
L_0007: ldarg.0
L_0008: ldarg.1
L_0009: ldc.r4 30
L_000e: ldc.i4.0
L_000f: call Rect GetMainRect(Rect, Single, Boolean)
L_0014: stloc.0
L_0015: ldloc.0
L_0016: ldc.i4.1
L_0017: call Void DrawMenuSection(Rect, Boolean)
L_001c: ldloc.0
L_001d: call Verse.GameInitData get_GameInitData()
L_0022: ldfld System.Collections.Generic.List`1[Verse.Pawn] startingPawns
L_0027: ldarg.0
L_0028: ldftn Verse.TabRecord <DoWindowContents>m__612(Verse.Pawn)
L_002e: newobj Void .ctor(Object, IntPtr)
L_0033: call IEnumerable`1 Select[Pawn,TabRecord](IEnumerable`1,
System.Func`2[Verse.Pawn,Verse.TabRecord])
L_0038: call Verse.TabRecord DrawTabs(Rect, IEnumerable`1)
L_003d: pop
L_003e: ldloc.0
L_003f: ldc.r4 17
L_0044: call Rect ContractedBy(Rect, Single)
L_0049: stloc.1
L_004a: ldloc.1
L_004b: stloc.2
L_004c: ldloca.s 2 (UnityEngine.Rect)
L_004e: ldc.r4 100
L_0053: call Void set_width(Single)
L_0058: ldloca.s 2 (UnityEngine.Rect)
L_005a: call Single get_xMin()
L_005f: ldloca.s 2 (UnityEngine.Rect)
L_0061: call Single get_width()
L_0066: ldsfld UnityEngine.Vector2 PawnPortraitSize
L_006b: stloc.s 7 (UnityEngine.Vector2)
L_006d: ldloca.s 7 (UnityEngine.Vector2)
L_006f: ldfld System.Single x
L_0074: sub
L_0075: ldc.r4 2
L_007a: div
L_007b: add
L_007c: ldc.r4 10
L_0081: sub
L_0082: ldloca.s 2 (UnityEngine.Rect)
L_0084: call Single get_yMin()
L_0089: ldc.r4 20
L_008e: add
L_008f: ldsfld UnityEngine.Vector2 PawnPortraitSize
L_0094: stloc.s 8 (UnityEngine.Vector2)
L_0096: ldloca.s 8 (UnityEngine.Vector2)
L_0098: ldfld System.Single x
L_009d: ldsfld UnityEngine.Vector2 PawnPortraitSize
L_00a2: stloc.s 9 (UnityEngine.Vector2)
L_00a4: ldloca.s 9 (UnityEngine.Vector2)
L_00a6: ldfld System.Single y
L_00ab: newobj Void .ctor(Single, Single, Single, Single)
L_00b0: ldarg.0
L_00b1: ldfld Verse.Pawn curPawn
L_00b6: ldsfld UnityEngine.Vector2 PawnPortraitSize
L_00bb: ldloca.s 10 (UnityEngine.Vector3)
L_00bd: initobj UnityEngine.Vector3
L_00c3: ldloc.s 10 (UnityEngine.Vector3)
L_00c5: ldc.r4 1
L_00ca: call UnityEngine.RenderTexture Get(Verse.Pawn, Vector2, Vector3, Single)
L_00cf: call Void DrawTexture(Rect, UnityEngine.Texture)
L_00d4: ldloc.1
L_00d5: stloc.3
L_00d6: ldloca.s 3 (UnityEngine.Rect)
L_00d8: ldloca.s 2 (UnityEngine.Rect)
L_00da: call Single get_xMax()
L_00df: call Void set_xMin(Single)
L_00e4: ldloc.3
L_00e5: stloc.s 4 (UnityEngine.Rect)
L_00e7: ldloca.s 4 (UnityEngine.Rect)
L_00e9: ldc.r4 475
L_00ee: call Void set_width(Single)
L_00f3: ldloc.s 4 (UnityEngine.Rect)
L_00f5: ldarg.0
L_00f6: ldfld Verse.Pawn curPawn
L_00fb: ldarg.0
L_00fc: ldftn Void RandomizeCurPawn()
L_0102: newobj Void .ctor(Object, IntPtr)
L_0107: call Void DrawCharacterCard(Rect, Verse.Pawn, System.Action)
L_010c: ldloca.s 5 (UnityEngine.Rect)
L_010e: ldloca.s 4 (UnityEngine.Rect)
L_0110: call Single get_xMax()
L_0115: ldc.r4 5
L_011a: add
L_011b: ldloca.s 3 (UnityEngine.Rect)
L_011d: call Single get_y()
L_0122: ldc.r4 100
L_0127: add
L_0128: ldloca.s 3 (UnityEngine.Rect)
L_012a: call Single get_width()
L_012f: ldloca.s 4 (UnityEngine.Rect)
L_0131: call Single get_width()
L_0136: sub
L_0137: ldc.r4 5
L_013c: sub
L_013d: ldc.r4 150
L_0142: call Void .ctor(Single, Single, Single, Single)
L_0147: ldc.i4.2
L_0148: call Void set_Font(GameFont)
L_014d: ldloc.s 5 (UnityEngine.Rect)
L_014f: ldstr "Health"
L_0154: call System.String Translate(System.String)
L_0159: call Void Label(Rect, System.String)
L_015e: ldc.i4.1
L_015f: call Void set_Font(GameFont)
L_0164: ldloca.s 5 (UnityEngine.Rect)
L_0166: dup
L_0167: call Single get_yMin()
L_016c: ldc.r4 35
L_0171: add
L_0172: call Void set_yMin(Single)
L_0177: ldloc.s 5 (UnityEngine.Rect)
L_0179: ldarg.0
L_017a: ldfld Verse.Pawn curPawn
L_017f: ldc.i4.1
L_0180: call Void DrawHediffListing(Rect, Verse.Pawn, Boolean)
L_0185: ldloca.s 6 (UnityEngine.Rect)
L_0187: ldloca.s 5 (UnityEngine.Rect)
L_0189: call Single get_x()
L_018e: ldloca.s 5 (UnityEngine.Rect)
L_0190: call Single get_yMax()
L_0195: ldloca.s 5 (UnityEngine.Rect)
L_0197: call Single get_width()
L_019c: ldc.r4 150
L_01a1: call Void .ctor(Single, Single, Single, Single)
L_01a6: ldc.i4.2
L_01a7: call Void set_Font(GameFont)
L_01ac: ldloc.s 6 (UnityEngine.Rect)
L_01ae: ldstr "Relations"
L_01b3: call System.String Translate(System.String)
L_01b8: call Void Label(Rect, System.String)
L_01bd: ldc.i4.1
L_01be: call Void set_Font(GameFont)
L_01c3: ldloca.s 6 (UnityEngine.Rect)
L_01c5: dup
L_01c6: call Single get_yMin()
L_01cb: ldc.r4 35
L_01d0: add
L_01d1: call Void set_yMin(Single)
L_01d6: ldloc.s 6 (UnityEngine.Rect)
L_01d8: ldarg.0
L_01d9: ldfld Verse.Pawn curPawn
L_01de: call Void DrawRelationsAndOpinions(Rect, Verse.Pawn)
L_01e3: ldloca.s 11 (UnityEngine.Rect)
L_01e5: ldloca.s 6
L_01ea: call Single get_x()
L_01ef: ldloca.s 6
L_01f4: call Single get_yMax()
L_01f9: ldloca.s 6
L_01fe: call Single get_width()
L_0203: ldc.r4 180
L_0208: call Void .ctor(Single, Single, Single, Single)
L_020d: ldc.i4.2
L_020e: call Void set_Font(GameFont)
L_0213: ldloc.s 11 (UnityEngine.Rect)
L_0215: ldstr "TabPsyche"
L_021a: call System.String Translate(System.String)
L_021f: call Void Label(Rect, System.String)
L_0224: ldc.i4.1
L_0225: call Void set_Font(GameFont)
L_022a: ldloca.s 11 (UnityEngine.Rect)
L_022c: dup
L_022d: call Single get_yMin()
L_0232: ldc.r4 20
L_0237: add
L_0238: call Void set_yMin(Single)
L_023d: ldloc.s 11 (UnityEngine.Rect)
L_023f: ldarg.0
L_0240: ldfld Verse.Pawn curPawn
L_0245: call Void DrawPsycheMenuCard(Rect, Verse.Pawn)
L_024a: ldarg.0
L_024b: ldarg.1
L_024c: ldstr "Start"
L_0251: call System.String Translate(System.String)
L_0256: ldnull
L_0257: ldnull
L_0258: ldc.i4.1
L_0259: call Void DoBottomButtons(Rect, System.String, System.String,
System.Action, Boolean)
L_025e: br Label #0
L_0263: Label #0
L_0263: ldarg 1
L_0269: ldarg.0
L_026a: call Void DoWindowContentsPostfix(Rect,
RimWorld.Page_ConfigureStartingPawns)
L_026f: ret
DONE

PATCHING RimWorld.TraitSet Void GainTrait(RimWorld.Trait)


L_0000: ldarg 1
L_0006: ldarg.0
L_0007: call Boolean GainTraitPrefix(RimWorld.Trait, RimWorld.TraitSet)
L_000c: brfalse Label #1
L_0011: ldarga 0
L_0017: ldarg 1
L_001d: call Boolean KinseyException(RimWorld.TraitSet ByRef, RimWorld.Trait)
L_0022: brfalse Label #1
L_0027: ldarg.0
L_0028: ldarg.1
L_0029: ldfld RimWorld.TraitDef def
L_002e: call Boolean HasTrait(RimWorld.TraitDef)
L_0033: brfalse Label #2
L_0038: ldarg.0
L_0039: ldfld Verse.Pawn pawn
L_003e: ldstr " already has trait "
L_0043: ldarg.1
L_0044: ldfld RimWorld.TraitDef def
L_0049: call System.String Concat(System.Object, System.Object, System.Object)
L_004e: call Void Warning(System.String)
L_0053: br Label #0
L_0058: Label #2
L_0058: ldarg.0
L_0059: ldfld System.Collections.Generic.List`1[RimWorld.Trait] allTraits
L_005e: ldarg.1
L_005f: callvirt Void Add(RimWorld.Trait)
L_0064: ldarg.0
L_0065: ldfld Verse.Pawn pawn
L_006a: ldfld RimWorld.Pawn_WorkSettings workSettings
L_006f: brfalse Label #3
L_0074: ldarg.0
L_0075: ldfld Verse.Pawn pawn
L_007a: ldfld RimWorld.Pawn_WorkSettings workSettings
L_007f: callvirt Void Notify_GainedTrait()
L_0084: Label #3
L_0084: ldarg.0
L_0085: ldfld Verse.Pawn pawn
L_008a: ldfld RimWorld.Pawn_StoryTracker story
L_008f: callvirt Void Notify_TraitChanged()
L_0094: ldarg.0
L_0095: ldfld Verse.Pawn pawn
L_009a: ldfld RimWorld.Pawn_SkillTracker skills
L_009f: brfalse Label #4
L_00a4: ldarg.0
L_00a5: ldfld Verse.Pawn pawn
L_00aa: ldfld RimWorld.Pawn_SkillTracker skills
L_00af: callvirt Void Notify_SkillDisablesChanged()
L_00b4: Label #4
L_00b4: ldarg.0
L_00b5: ldfld Verse.Pawn pawn
L_00ba: callvirt Boolean get_Dead()
L_00bf: brtrue Label #5
L_00c4: ldarg.0
L_00c5: ldfld Verse.Pawn pawn
L_00ca: callvirt Verse.RaceProperties get_RaceProps()
L_00cf: callvirt Boolean get_Humanlike()
L_00d4: brfalse Label #6
L_00d9: ldarg.0
L_00da: ldfld Verse.Pawn pawn
L_00df: ldfld RimWorld.Pawn_NeedsTracker needs
L_00e4: ldfld RimWorld.Need_Mood mood
L_00e9: ldfld RimWorld.ThoughtHandler thoughts
L_00ee: ldfld RimWorld.SituationalThoughtHandler situational
L_00f3: callvirt Void Notify_SituationalThoughtsDirty()
L_00f8: Label #5
L_00f8: Label #6
L_00f8: br Label #0
L_00fd: Label #0
L_00fd: Label #1
L_00fd: ret
DONE

PATCHING RimWorld.InteractionWorker_MarriageProposal Single


AcceptanceChance(Verse.Pawn, Verse.Pawn)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Single
L_0000: ldc.r4 0
L_0005: stloc 1 (System.Single)
L_0006: ldarg.0
L_0007: ldloca 1 (System.Single)
L_0009: ldarg 1
L_000f: ldarg 2
L_0015: call Boolean
PsychologyException(RimWorld.InteractionWorker_MarriageProposal, Single ByRef,
Verse.Pawn, Verse.Pawn)
L_001a: brfalse Label #1
L_001f: ldc.r4 0.9
L_0024: stloc.0
L_0025: ldloc.0
L_0026: ldc.r4 -20
L_002b: ldc.r4 60
L_0030: ldc.r4 0
L_0035: ldc.r4 1
L_003a: ldarg.2
L_003b: ldfld RimWorld.Pawn_RelationsTracker relations
L_0040: ldarg.1
L_0041: callvirt Int32 OpinionOf(Verse.Pawn)
L_0046: conv.r4
L_0047: call Single LerpDouble(Single, Single, Single, Single, Single)
L_004c: call Single Clamp01(Single)
L_0051: mul
L_0052: stloc.0
L_0053: ldloc.0
L_0054: call Single Clamp01(Single)
L_0059: br Label #0
L_005e: Label #0
L_005e: stloc 1 (System.Single)
L_005f: Label #1
L_005f: ldloc 1 (System.Single)
L_0060: ret
DONE

PATCHING RimWorld.InteractionWorker_MarriageProposal Void Interacted(Verse.Pawn,


Verse.Pawn, System.Collections.Generic.List`1[Verse.RulePackDef])
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Boolean
L_0000: Local var #2 System.Boolean
L_0000: ldarg.0
L_0001: ldarg 1
L_0007: ldarg 2
L_000d: ldarg 3
L_0013: call Boolean NewInteracted(RimWorld.InteractionWorker_MarriageProposal,
Verse.Pawn, Verse.Pawn, System.Collections.Generic.List`1[Verse.RulePackDef])
L_0018: brfalse Label #1
L_001d: ldarg.0
L_001e: ldarg.1
L_001f: ldarg.2
L_0020: call Single AcceptanceChance(Verse.Pawn, Verse.Pawn)
L_0025: stloc.0
L_0026: call Single get_Value()
L_002b: ldloc.0
L_002c: clt
L_002e: stloc.1
L_002f: ldc.i4.0
L_0030: stloc.2
L_0031: ldloc.1
L_0032: brfalse Label #2
L_0037: ldarg.1
L_0038: ldfld RimWorld.Pawn_RelationsTracker relations
L_003d: ldsfld RimWorld.PawnRelationDef Lover
L_0042: ldarg.2
L_0043: callvirt Void RemoveDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_0048: ldarg.1
L_0049: ldfld RimWorld.Pawn_RelationsTracker relations
L_004e: ldsfld RimWorld.PawnRelationDef Fiance
L_0053: ldarg.2
L_0054: callvirt Void AddDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_0059: ldarg.1
L_005a: ldfld RimWorld.Pawn_NeedsTracker needs
L_005f: ldfld RimWorld.Need_Mood mood
L_0064: ldfld RimWorld.ThoughtHandler thoughts
L_0069: ldfld RimWorld.MemoryThoughtHandler memories
L_006e: ldsfld RimWorld.ThoughtDef RejectedMyProposal
L_0073: ldarg.2
L_0074: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0079: ldarg.2
L_007a: ldfld RimWorld.Pawn_NeedsTracker needs
L_007f: ldfld RimWorld.Need_Mood mood
L_0084: ldfld RimWorld.ThoughtHandler thoughts
L_0089: ldfld RimWorld.MemoryThoughtHandler memories
L_008e: ldsfld RimWorld.ThoughtDef RejectedMyProposal
L_0093: ldarg.1
L_0094: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0099: ldarg.1
L_009a: ldfld RimWorld.Pawn_NeedsTracker needs
L_009f: ldfld RimWorld.Need_Mood mood
L_00a4: ldfld RimWorld.ThoughtHandler thoughts
L_00a9: ldfld RimWorld.MemoryThoughtHandler memories
L_00ae: ldsfld RimWorld.ThoughtDef RejectedMyProposalMood
L_00b3: ldarg.2
L_00b4: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_00b9: ldarg.2
L_00ba: ldfld RimWorld.Pawn_NeedsTracker needs
L_00bf: ldfld RimWorld.Need_Mood mood
L_00c4: ldfld RimWorld.ThoughtHandler thoughts
L_00c9: ldfld RimWorld.MemoryThoughtHandler memories
L_00ce: ldsfld RimWorld.ThoughtDef RejectedMyProposalMood
L_00d3: ldarg.1
L_00d4: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_00d9: ldarg.1
L_00da: ldfld RimWorld.Pawn_NeedsTracker needs
L_00df: ldfld RimWorld.Need_Mood mood
L_00e4: ldfld RimWorld.ThoughtHandler thoughts
L_00e9: ldfld RimWorld.MemoryThoughtHandler memories
L_00ee: ldsfld RimWorld.ThoughtDef IRejectedTheirProposal
L_00f3: ldarg.2
L_00f4: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_00f9: ldarg.2
L_00fa: ldfld RimWorld.Pawn_NeedsTracker needs
L_00ff: ldfld RimWorld.Need_Mood mood
L_0104: ldfld RimWorld.ThoughtHandler thoughts
L_0109: ldfld RimWorld.MemoryThoughtHandler memories
L_010e: ldsfld RimWorld.ThoughtDef IRejectedTheirProposal
L_0113: ldarg.1
L_0114: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_0119: ldarg.3
L_011a: ldsfld Verse.RulePackDef Sentence_MarriageProposalAccepted
L_011f: callvirt Void Add(Verse.RulePackDef)
L_0124: br Label #3
L_0129: Label #2
L_0129: ldarg.1
L_012a: ldfld RimWorld.Pawn_NeedsTracker needs
L_012f: ldfld RimWorld.Need_Mood mood
L_0134: ldfld RimWorld.ThoughtHandler thoughts
L_0139: ldfld RimWorld.MemoryThoughtHandler memories
L_013e: ldsfld RimWorld.ThoughtDef RejectedMyProposal
L_0143: ldarg.2
L_0144: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_0149: ldarg.2
L_014a: ldfld RimWorld.Pawn_NeedsTracker needs
L_014f: ldfld RimWorld.Need_Mood mood
L_0154: ldfld RimWorld.ThoughtHandler thoughts
L_0159: ldfld RimWorld.MemoryThoughtHandler memories
L_015e: ldsfld RimWorld.ThoughtDef IRejectedTheirProposal
L_0163: ldarg.1
L_0164: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_0169: ldarg.3
L_016a: ldsfld Verse.RulePackDef Sentence_MarriageProposalRejected
L_016f: callvirt Void Add(Verse.RulePackDef)
L_0174: call Single get_Value()
L_0179: ldc.r4 0.4
L_017e: bge.un Label #4
L_0183: ldarg.1
L_0184: ldfld RimWorld.Pawn_RelationsTracker relations
L_0189: ldsfld RimWorld.PawnRelationDef Lover
L_018e: ldarg.2
L_018f: callvirt Void RemoveDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_0194: ldarg.1
L_0195: ldfld RimWorld.Pawn_RelationsTracker relations
L_019a: ldsfld RimWorld.PawnRelationDef ExLover
L_019f: ldarg.2
L_01a0: callvirt Void AddDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_01a5: ldc.i4.1
L_01a6: stloc.2
L_01a7: ldarg.3
L_01a8: ldsfld Verse.RulePackDef Sentence_MarriageProposalRejectedBrokeUp
L_01ad: callvirt Void Add(Verse.RulePackDef)
L_01b2: Label #3
L_01b2: Label #4
L_01b2: ldarg.1
L_01b3: callvirt Boolean get_IsColonist()
L_01b8: brtrue Label #5
L_01bd: ldarg.2
L_01be: callvirt Boolean get_IsColonist()
L_01c3: brfalse Label #6
L_01c8: Label #5
L_01c8: ldarg.0
L_01c9: ldarg.1
L_01ca: ldarg.2
L_01cb: ldloc.1
L_01cc: ldloc.2
L_01cd: call Void SendLetter(Verse.Pawn, Verse.Pawn, Boolean, Boolean)
L_01d2: Label #6
L_01d2: br Label #0
L_01d7: Label #0
L_01d7: Label #1
L_01d7: ret
DONE

PATCHING RimWorld.InteractionWorker_MarriageProposal Single


RandomSelectionWeight(Verse.Pawn, Verse.Pawn)
L_0000: Local var #0 RimWorld.DirectPawnRelation
L_0000: Local var #1 Verse.Pawn
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 System.Single
L_0000: Local var #4 System.Int32
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Single
L_0000: ldc.r4 0
L_0005: stloc 6 (System.Single)
L_0007: ldarg.1
L_0008: ldfld RimWorld.Pawn_RelationsTracker relations
L_000d: ldsfld RimWorld.PawnRelationDef Lover
L_0012: ldarg.2
L_0013: callvirt RimWorld.DirectPawnRelation
GetDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_0018: stloc.0
L_0019: ldloc.0
L_001a: brtrue Label #2
L_001f: ldc.r4 0
L_0024: br Label #0
L_0029: Label #2
L_0029: ldarg.2
L_002a: call Verse.Pawn GetSpouse(Verse.Pawn)
L_002f: stloc.1
L_0030: ldarg.1
L_0031: call Verse.Pawn GetSpouse(Verse.Pawn)
L_0036: stloc.2
L_0037: ldloc.1
L_0038: brfalse Label #3
L_003d: ldloc.1
L_003e: callvirt Boolean get_Dead()
L_0043: brfalse Label #4
L_0048: Label #3
L_0048: ldloc.2
L_0049: brfalse Label #5
L_004e: ldloc.2
L_004f: callvirt Boolean get_Dead()
L_0054: brtrue Label #6
L_0059: Label #4
L_0059: ldc.r4 0
L_005e: br Label #0
L_0063: Label #5
L_0063: Label #6
L_0063: ldc.r4 0.4
L_0068: stloc.3
L_0069: call Verse.TickManager get_TickManager()
L_006e: callvirt Int32 get_TicksGame()
L_0073: stloc.s 4 (System.Int32)
L_0075: ldloc.s 4 (System.Int32)
L_0077: ldloc.0
L_0078: ldfld System.Int32 startTicks
L_007d: sub
L_007e: conv.r4
L_007f: ldc.r4 60000
L_0084: div
L_0085: stloc.s 5 (System.Single)
L_0087: ldloc.3
L_0088: ldc.r4 0
L_008d: ldc.r4 60
L_0092: ldloc.s 5 (System.Single)
L_0094: call Single InverseLerp(Single, Single, Single)
L_0099: mul
L_009a: stloc.3
L_009b: ldloc.3
L_009c: ldc.r4 0
L_00a1: ldc.r4 60
L_00a6: ldarg.1
L_00a7: ldfld RimWorld.Pawn_RelationsTracker relations
L_00ac: ldarg.2
L_00ad: callvirt Int32 OpinionOf(Verse.Pawn)
L_00b2: conv.r4
L_00b3: call Single InverseLerp(Single, Single, Single)
L_00b8: mul
L_00b9: stloc.3
L_00ba: ldarg.2
L_00bb: ldfld RimWorld.Pawn_RelationsTracker relations
L_00c0: ldarg.1
L_00c1: callvirt Int32 OpinionOf(Verse.Pawn)
L_00c6: ldc.i4.0
L_00c7: bge Label #7
L_00cc: ldloc.3
L_00cd: ldc.r4 0.3
L_00d2: mul
L_00d3: stloc.3
L_00d4: Label #7
L_00d4: ldarg.1
L_00d5: ldfld Verse.Gender gender
L_00da: ldc.i4.2
L_00db: bne.un Label #8
L_00e0: ldloc.3
L_00e1: ldc.r4 0.2
L_00e6: mul
L_00e7: stloc.3
L_00e8: Label #8
L_00e8: ldloc.3
L_00e9: br Label #0
L_00ee: Label #0
L_00ee: stloc 6 (System.Single)
L_00f0: ldarg.0
L_00f1: ldloca 6 (System.Single)
L_00f3: ldarg 1
L_00f9: ldarg 2
L_00ff: call Void
_RandomSelectionWeight(RimWorld.InteractionWorker_MarriageProposal, Single ByRef,
Verse.Pawn, Verse.Pawn)
L_0104: ldloc 6 (System.Single)
L_0106: 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: ldarg.1
L_00cb: ldfld Verse.AI.Pawn_MindState mindState
L_00d0: ldc.i4.1
L_00d1: stfld System.Boolean awokeVoluntarily
L_00d6: ldloc.0
L_00d7: ldfld Verse.AI.Pawn_MindState mindState
L_00dc: ldc.i4.1
L_00dd: stfld System.Boolean awokeVoluntarily
L_00e2: ldsfld Verse.JobDef Lovin
L_00e7: ldloc.0
L_00e8: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00ed: ldarg.1
L_00ee: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_00f3: call LocalTargetInfo op_Implicit(Verse.Thing)
L_00f8: newobj Void .ctor(JobDef, LocalTargetInfo, LocalTargetInfo)
L_00fd: br Label #0
L_0102: Label #0
L_0102: stloc 1 (Verse.AI.Job)
L_0103: ldloca 1 (Verse.AI.Job)
L_0105: ldarg 1
L_010b: call Void CancelJob(Verse.AI.Job ByRef, Verse.Pawn)
L_0110: ldloc 1 (Verse.AI.Job)
L_0111: ret
DONE

PATCHING RimWorld.VoluntarilyJoinableLordsStarter Void Tick_TryStartParty()


L_0000: ldarg.0
L_0001: call Boolean
ExtraSocialiteParties(RimWorld.VoluntarilyJoinableLordsStarter)
L_0006: brfalse Label #1
L_000b: ldarg.0
L_000c: ldfld Verse.Map map
L_0011: callvirt Boolean get_IsPlayerHome()
L_0016: brtrue Label #2
L_001b: br Label #0
L_0020: Label #2
L_0020: call Verse.TickManager get_TickManager()
L_0025: callvirt Int32 get_TicksGame()
L_002a: ldc.i4 5000
L_002f: rem
L_0030: brtrue Label #3
L_0035: ldc.r4 40
L_003a: ldc.r4 60000
L_003f: ldc.r4 5000
L_0044: call Boolean MTBEventOccurs(Single, Single, Single)
L_0049: brfalse Label #4
L_004e: ldarg.0
L_004f: ldc.i4.1
L_0050: stfld System.Boolean startPartyASAP
L_0055: Label #4
L_0055: ldarg.0
L_0056: ldfld System.Boolean startPartyASAP
L_005b: brfalse Label #5
L_0060: call Verse.TickManager get_TickManager()
L_0065: callvirt Int32 get_TicksGame()
L_006a: ldarg.0
L_006b: ldfld System.Int32 lastLordStartTick
L_0070: sub
L_0071: ldc.i4 600000
L_0076: blt Label #6
L_007b: ldarg.0
L_007c: ldfld Verse.Map map
L_0081: call Boolean AcceptableGameConditionsToStartParty(Verse.Map)
L_0086: brfalse Label #7
L_008b: ldarg.0
L_008c: call Boolean TryStartParty()
L_0091: pop
L_0092: Label #3
L_0092: Label #5
L_0092: Label #6
L_0092: Label #7
L_0092: br Label #0
L_0097: Label #0
L_0097: Label #1
L_0097: ret
DONE

PATCHING RimWorld.ThoughtWorker_WantToSleepWithSpouseOrLover ThoughtState


CurrentStateInternal(Verse.Pawn)
L_0000: Local var #0 RimWorld.DirectPawnRelation
L_0000: ldarg.1
L_0001: ldc.i4.0
L_0002: call RimWorld.DirectPawnRelation
ExistingMostLikedLovePartnerRel(Verse.Pawn, Boolean)
L_0007: stloc.0
L_0008: ldloc.0
L_0009: brtrue Label #2
L_000e: ldc.i4.0
L_000f: call ThoughtState op_Implicit(Boolean)
L_0014: br Label #0
L_0019: Label #2
L_0019: ldloc.0
L_001a: ldfld Verse.Pawn otherPawn
L_001f: callvirt Boolean get_IsColonist()
L_0024: brfalse Label #3
L_0029: ldloc.0
L_002a: ldfld Verse.Pawn otherPawn
L_002f: call Boolean IsWorldPawn(Verse.Pawn)
L_0034: brtrue Label #4
L_0039: ldloc.0
L_003a: ldfld Verse.Pawn otherPawn
L_003f: ldfld RimWorld.Pawn_RelationsTracker relations
L_0044: ldfld System.Boolean everSeenByPlayer
L_0049: brtrue Label #5
L_004e: Label #3
L_004e: Label #4
L_004e: ldc.i4.0
L_004f: call ThoughtState op_Implicit(Boolean)
L_0054: br Label #0
L_0059: Label #5
L_0059: ldarg.1
L_005a: ldfld RimWorld.Pawn_Ownership ownership
L_005f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0064: brfalse Label #6
L_0069: ldarg.1
L_006a: ldfld RimWorld.Pawn_Ownership ownership
L_006f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0074: ldloc.0
L_0075: ldfld Verse.Pawn otherPawn
L_007a: ldfld RimWorld.Pawn_Ownership ownership
L_007f: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0084: bne.un Label #7
L_0089: ldc.i4.0
L_008a: call ThoughtState op_Implicit(Boolean)
L_008f: br Label #0
L_0094: Label #6
L_0094: Label #7
L_0094: ldarg.1
L_0095: ldfld RimWorld.Pawn_RelationsTracker relations
L_009a: ldloc.0
L_009b: ldfld Verse.Pawn otherPawn
L_00a0: callvirt Int32 OpinionOf(Verse.Pawn)
L_00a5: ldc.i4.0
L_00a6: bgt Label #8
L_00ab: ldc.i4.0
L_00ac: call ThoughtState op_Implicit(Boolean)
L_00b1: br Label #0
L_00b6: Label #8
L_00b6: ldc.i4.1
L_00b7: call ThoughtState op_Implicit(Boolean)
L_00bc: br Label #0
L_00c1: Label #0
L_00c1: ret
DONE

PATCHING RimWorld.ThoughtWorker_Hediff ThoughtState


CurrentStateInternal(Verse.Pawn)
L_0000: Local var #0 Verse.Hediff
L_0000: Local var #1 System.Int32
L_0000: Local var #2 RimWorld.ThoughtState
L_0000: ldloca 2 (RimWorld.ThoughtState)
L_0002: initobj RimWorld.ThoughtState
L_0008: ldarg.1
L_0009: ldfld Verse.Pawn_HealthTracker health
L_000e: ldfld Verse.HediffSet hediffSet
L_0013: ldarg.0
L_0014: ldfld RimWorld.ThoughtDef def
L_0019: ldfld Verse.HediffDef hediff
L_001e: ldc.i4.0
L_001f: callvirt Verse.Hediff GetFirstHediffOfDef(Verse.HediffDef, Boolean)
L_0024: stloc.0
L_0025: ldloc.0
L_0026: brfalse Label #2
L_002b: ldloc.0
L_002c: ldfld Verse.HediffDef def
L_0031: ldfld System.Collections.Generic.List`1[Verse.HediffStage] stages
L_0036: brtrue Label #3
L_003b: Label #2
L_003b: call ThoughtState get_Inactive()
L_0040: br Label #0
L_0045: Label #3
L_0045: ldc.i4.3
L_0046: newarr System.Int32
L_004b: dup
L_004c: ldc.i4.0
L_004d: ldloc.0
L_004e: callvirt Int32 get_CurStageIndex()
L_0053: stelem.i4
L_0054: dup
L_0055: ldc.i4.1
L_0056: ldloc.0
L_0057: ldfld Verse.HediffDef def
L_005c: ldfld System.Collections.Generic.List`1[Verse.HediffStage] stages
L_0061: callvirt Int32 get_Count()
L_0066: ldc.i4.1
L_0067: sub
L_0068: stelem.i4
L_0069: dup
L_006a: ldc.i4.2
L_006b: ldarg.0
L_006c: ldfld RimWorld.ThoughtDef def
L_0071: ldfld System.Collections.Generic.List`1[RimWorld.ThoughtStage] stages
L_0076: callvirt Int32 get_Count()
L_007b: ldc.i4.1
L_007c: sub
L_007d: stelem.i4
L_007e: call Int32 Min(System.Int32[])
L_0083: stloc.1
L_0084: ldloc.1
L_0085: call ThoughtState ActiveAtStage(Int32)
L_008a: br Label #0
L_008f: Label #0
L_008f: stloc 2 (RimWorld.ThoughtState)
L_0090: ldarg.0
L_0091: ldloca 2 (RimWorld.ThoughtState)
L_0093: ldarg 1
L_0099: call Void MethadoneHigh(RimWorld.ThoughtWorker_Hediff, ThoughtState ByRef,
Verse.Pawn)
L_009e: ldloc 2 (RimWorld.ThoughtState)
L_009f: ret
DONE

PATCHING RimWorld.ThoughtWorker_AlwaysActive ThoughtState


CurrentStateInternal(Verse.Pawn)
L_0000: Local var #0 RimWorld.ThoughtState
L_0000: ldloca 0 (RimWorld.ThoughtState)
L_0002: initobj RimWorld.ThoughtState
L_0008: ldc.i4.1
L_0009: call ThoughtState op_Implicit(Boolean)
L_000e: br Label #0
L_0013: Label #0
L_0013: stloc 0 (RimWorld.ThoughtState)
L_0014: ldloca 0 (RimWorld.ThoughtState)
L_0016: ldarg 1
L_001c: call Void AlwaysActiveDepression(ThoughtState ByRef, Verse.Pawn)
L_0021: ldloc 0 (RimWorld.ThoughtState)
L_0022: ret
DONE

PATCHING Verse.MentalStateWorker_BingingDrug Boolean StateCanOccur(Verse.Pawn)


L_0000: Local var #0 System.Collections.Generic.List`1[[RimWorld.ChemicalDef,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 2 (System.Boolean)
L_0006: ldarg.0
L_0007: ldarg.1
L_0008: call Boolean StateCanOccur(Verse.Pawn)
L_000d: brtrue Label #2
L_0012: ldc.i4.0
L_0013: br Label #0
L_0018: Label #2
L_0018: ldarg.1
L_0019: callvirt Boolean get_Spawned()
L_001e: brtrue Label #3
L_0023: ldc.i4.0
L_0024: br Label #0
L_0029: Label #3
L_0029: call System.Collections.Generic.List`1[RimWorld.ChemicalDef]
get_AllDefsListForReading()
L_002e: stloc.0
L_002f: ldc.i4.0
L_0030: stloc.1
L_0031: br Label #4
L_0036: Label #8
L_0036: ldarg.1
L_0037: ldloc.0
L_0038: ldloc.1
L_0039: callvirt RimWorld.ChemicalDef get_Item(Int32)
L_003e: ldarg.0
L_003f: ldfld Verse.MentalStateDef def
L_0044: ldfld RimWorld.DrugCategory drugCategory
L_0049: call Boolean CanBingeOnNow(Verse.Pawn, RimWorld.ChemicalDef, DrugCategory)
L_004e: brfalse Label #5
L_0053: ldc.i4.1
L_0054: br Label #0
L_0059: Label #5
L_0059: ldarg.0
L_005a: ldfld Verse.MentalStateDef def
L_005f: ldfld RimWorld.DrugCategory drugCategory
L_0064: ldc.i4.4
L_0065: bne.un Label #6
L_006a: ldarg.1
L_006b: ldloc.0
L_006c: ldloc.1
L_006d: callvirt RimWorld.ChemicalDef get_Item(Int32)
L_0072: ldc.i4.3
L_0073: call Boolean CanBingeOnNow(Verse.Pawn, RimWorld.ChemicalDef, DrugCategory)
L_0078: brfalse Label #7
L_007d: ldc.i4.1
L_007e: br Label #0
L_0083: Label #6
L_0083: Label #7
L_0083: ldloc.1
L_0084: ldc.i4.1
L_0085: add
L_0086: stloc.1
L_0087: Label #4
L_0087: ldloc.1
L_0088: ldloc.0
L_0089: callvirt Int32 get_Count()
L_008e: blt Label #8
L_0093: ldc.i4.0
L_0094: br Label #0
L_0099: Label #0
L_0099: stloc 2 (System.Boolean)
L_009a: ldloca 2 (System.Boolean)
L_009c: ldarg 1
L_00a2: call Void DrugFreeDisable(Boolean ByRef, Verse.Pawn)
L_00a7: ldloc 2 (System.Boolean)
L_00a8: ret
DONE

PATCHING RimWorld.InteractionWorker_RecruitAttempt Void DoRecruit(Verse.Pawn,


Verse.Pawn, Single, Boolean)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.String
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 System.Single
L_0000: ldarg.1
L_0001: call System.String LabelIndefinite(Verse.Pawn)
L_0006: stloc.1
L_0007: ldarg.1
L_0008: ldfld RimWorld.Pawn_GuestTracker guest
L_000d: brfalse Label #2
L_0012: ldarg.1
L_0013: ldfld RimWorld.Pawn_GuestTracker guest
L_0018: ldnull
L_0019: ldc.i4.0
L_001a: callvirt Void SetGuestStatus(RimWorld.Faction, Boolean)
L_001f: Label #2
L_001f: ldarg.1
L_0020: callvirt Verse.Name get_Name()
L_0025: ldnull
L_0026: ceq
L_0028: ldc.i4.0
L_0029: ceq
L_002b: stloc.2
L_002c: ldarg.1
L_002d: callvirt RimWorld.Faction get_Faction()
L_0032: ldarg.0
L_0033: callvirt RimWorld.Faction get_Faction()
L_0038: beq Label #3
L_003d: ldarg.1
L_003e: ldarg.0
L_003f: callvirt RimWorld.Faction get_Faction()
L_0044: ldarg.0
L_0045: callvirt Void SetFaction(RimWorld.Faction, Verse.Pawn)
L_004a: Label #3
L_004a: ldarg.1
L_004b: callvirt Verse.RaceProperties get_RaceProps()
L_0050: callvirt Boolean get_Humanlike()
L_0055: brfalse Label #4
L_005a: ldarg.3
L_005b: brfalse Label #5
L_0060: call Verse.LetterStack get_LetterStack()
L_0065: ldstr "LetterLabelMessageRecruitSuccess"
L_006a: call System.String Translate(System.String)
L_006f: ldstr "MessageRecruitSuccess"
L_0074: ldc.i4.3
L_0075: newarr System.Object
L_007a: dup
L_007b: ldc.i4.0
L_007c: ldarg.0
L_007d: stelem.ref
L_007e: dup
L_007f: ldc.i4.1
L_0080: ldarg.1
L_0081: stelem.ref
L_0082: dup
L_0083: ldc.i4.2
L_0084: ldarg.2
L_0085: call System.String ToStringPercent(Single)
L_008a: stelem.ref
L_008b: call System.String Translate(System.String, System.Object[])
L_0090: ldsfld Verse.LetterDef Good
L_0095: ldarg.1
L_0096: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_009b: ldnull
L_009c: callvirt Void ReceiveLetter(System.String, System.String, Verse.LetterDef,
GlobalTargetInfo, System.String)
L_00a1: Label #5
L_00a1: ldsfld RimWorld.TaleDef Recruited
L_00a6: ldc.i4.2
L_00a7: newarr System.Object
L_00ac: dup
L_00ad: ldc.i4.0
L_00ae: ldarg.0
L_00af: stelem.ref
L_00b0: dup
L_00b1: ldc.i4.1
L_00b2: ldarg.1
L_00b3: stelem.ref
L_00b4: call Void RecordTale(RimWorld.TaleDef, System.Object[])
L_00b9: ldarg.0
L_00ba: ldfld RimWorld.Pawn_RecordsTracker records
L_00bf: ldsfld RimWorld.RecordDef PrisonersRecruited
L_00c4: callvirt Void Increment(RimWorld.RecordDef)
L_00c9: ldarg.1
L_00ca: ldfld RimWorld.Pawn_NeedsTracker needs
L_00cf: ldfld RimWorld.Need_Mood mood
L_00d4: ldfld RimWorld.ThoughtHandler thoughts
L_00d9: ldfld RimWorld.MemoryThoughtHandler memories
L_00de: ldsfld RimWorld.ThoughtDef RecruitedMe
L_00e3: ldarg.0
L_00e4: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_00e9: br Label #6
L_00ee: Label #4
L_00ee: ldarg.3
L_00ef: brfalse Label #7
L_00f4: ldloc.2
L_00f5: brtrue Label #8
L_00fa: ldstr "MessageTameAndNameSuccess"
L_00ff: ldc.i4.4
L_0100: newarr System.Object
L_0105: dup
L_0106: ldc.i4.0
L_0107: ldarg.0
L_0108: callvirt System.String get_LabelShort()
L_010d: stelem.ref
L_010e: dup
L_010f: ldc.i4.1
L_0110: ldloc.1
L_0111: stelem.ref
L_0112: dup
L_0113: ldc.i4.2
L_0114: ldarg.2
L_0115: call System.String ToStringPercent(Single)
L_011a: stelem.ref
L_011b: dup
L_011c: ldc.i4.3
L_011d: ldarg.1
L_011e: callvirt Verse.Name get_Name()
L_0123: callvirt System.String get_ToStringFull()
L_0128: stelem.ref
L_0129: call System.String Translate(System.String, System.Object[])
L_012e: ldarg.1
L_012f: call System.String AdjustedFor(System.String, Verse.Pawn)
L_0134: ldarg.1
L_0135: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_013a: ldc.i4.3
L_013b: call Void Message(System.String, GlobalTargetInfo, MessageSound)
L_0140: br Label #9
L_0145: Label #8
L_0145: ldstr "MessageTameSuccess"
L_014a: ldc.i4.3
L_014b: newarr System.Object
L_0150: dup
L_0151: ldc.i4.0
L_0152: ldarg.0
L_0153: callvirt System.String get_LabelShort()
L_0158: stelem.ref
L_0159: dup
L_015a: ldc.i4.1
L_015b: ldloc.1
L_015c: stelem.ref
L_015d: dup
L_015e: ldc.i4.2
L_015f: ldarg.2
L_0160: call System.String ToStringPercent(Single)
L_0165: stelem.ref
L_0166: call System.String Translate(System.String, System.Object[])
L_016b: ldarg.1
L_016c: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_0171: ldc.i4.3
L_0172: call Void Message(System.String, GlobalTargetInfo, MessageSound)
L_0177: Label #9
L_0177: ldarg.0
L_0178: callvirt Vector3 get_DrawPos()
L_017d: ldarg.1
L_017e: callvirt Vector3 get_DrawPos()
L_0183: call Vector3 op_Addition(Vector3, Vector3)
L_0188: ldc.r4 2
L_018d: call Vector3 op_Division(Vector3, Single)
L_0192: ldarg.0
L_0193: callvirt Verse.Map get_Map()
L_0198: ldstr "TextMote_TameSuccess"
L_019d: ldc.i4.1
L_019e: newarr System.Object
L_01a3: dup
L_01a4: ldc.i4.0
L_01a5: ldarg.2
L_01a6: call System.String ToStringPercent(Single)
L_01ab: stelem.ref
L_01ac: call System.String Translate(System.String, System.Object[])
L_01b1: ldc.r4 8
L_01b6: call Void ThrowText(Vector3, Verse.Map, System.String, Single)
L_01bb: Label #7
L_01bb: ldarg.0
L_01bc: ldfld RimWorld.Pawn_RecordsTracker records
L_01c1: ldsfld RimWorld.RecordDef AnimalsTamed
L_01c6: callvirt Void Increment(RimWorld.RecordDef)
L_01cb: ldarg.0
L_01cc: ldarg.1
L_01cd: ldc.r4 0.01
L_01d2: call Boolean TryDevelopBondRelation(Verse.Pawn, Verse.Pawn, Single)
L_01d7: pop
L_01d8: ldc.r4 0.02
L_01dd: ldc.r4 1
L_01e2: ldarg.1
L_01e3: callvirt Verse.RaceProperties get_RaceProps()
L_01e8: ldfld System.Single wildness
L_01ed: call Single Lerp(Single, Single, Single)
L_01f2: stloc.3
L_01f3: call Single get_Value()
L_01f8: ldloc.3
L_01f9: bge.un Label #10
L_01fe: ldsfld RimWorld.TaleDef TamedAnimal
L_0203: ldc.i4.2
L_0204: newarr System.Object
L_0209: dup
L_020a: ldc.i4.0
L_020b: ldarg.0
L_020c: stelem.ref
L_020d: dup
L_020e: ldc.i4.1
L_020f: ldarg.1
L_0210: stelem.ref
L_0211: call Void RecordTale(RimWorld.TaleDef, System.Object[])
L_0216: Label #6
L_0216: Label #10
L_0216: ldarg.1
L_0217: ldfld Verse.Pawn_CallTracker caller
L_021c: brfalse Label #11
L_0221: ldarg.1
L_0222: ldfld Verse.Pawn_CallTracker caller
L_0227: callvirt Void DoCall()
L_022c: Label #11
L_022c: br Label #0
L_0231: Label #0
L_0231: ldarg 0
L_0237: ldarg 1
L_023d: call Void AddCapturedThoughts(Verse.Pawn, Verse.Pawn)
L_0242: ret
DONE

PATCHING RimWorld.Building_Grave Void Notify_CorpseBuried(Verse.Pawn)


L_0000: Local var #0 RimWorld.CompArt
L_0000: ldarg.0
L_0001: call RimWorld.CompArt GetComp[CompArt]()
L_0006: stloc.0
L_0007: ldloc.0
L_0008: brfalse Label #2
L_000d: ldloc.0
L_000e: callvirt Boolean get_Active()
L_0013: brtrue Label #3
L_0018: ldloc.0
L_0019: ldarg.1
L_001a: callvirt Void JustCreatedBy(Verse.Pawn)
L_001f: ldloc.0
L_0020: ldarg.0
L_0021: call Verse.Corpse get_Corpse()
L_0026: callvirt Verse.Pawn get_InnerPawn()
L_002b: callvirt Void InitializeArt(Verse.Thing)
L_0030: Label #2
L_0030: Label #3
L_0030: ldarg.0
L_0031: call Verse.Map get_Map()
L_0036: ldfld Verse.MapDrawer mapDrawer
L_003b: ldarg.0
L_003c: call IntVec3 get_Position()
L_0041: ldc.i4.5
L_0042: callvirt Void MapMeshDirty(IntVec3, MapMeshFlag)
L_0047: br Label #0
L_004c: Label #0
L_004c: ldarg.0
L_004d: ldarg 1
L_0053: call Void FillGraveThought(RimWorld.Building_Grave, Verse.Pawn)
L_0058: ret
DONE

PATCHING Verse.MentalBreaker Boolean TryDoRandomMoodCausedMentalBreak()


L_0000: Local var #0 Verse.MentalBreakDef
L_0000: Local var #1 RimWorld.Thought
L_0000: Local var #2 System.String
L_0000: Local var #3 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 3 (System.Boolean)
L_0006: ldarg.0
L_0007: call Boolean get_CanDoRandomMentalBreaks()
L_000c: brfalse Label #2
L_0011: ldarg.0
L_0012: ldfld Verse.Pawn pawn
L_0017: callvirt Boolean get_Downed()
L_001c: brtrue Label #3
L_0021: ldarg.0
L_0022: ldfld Verse.Pawn pawn
L_0027: call Boolean Awake(Verse.Pawn)
L_002c: brtrue Label #4
L_0031: Label #2
L_0031: Label #3
L_0031: ldc.i4.0
L_0032: br Label #0
L_0037: Label #4
L_0037: ldarg.0
L_0038: ldfld Verse.Pawn pawn
L_003d: callvirt RimWorld.Faction get_Faction()
L_0042: call RimWorld.Faction get_OfPlayer()
L_0047: beq Label #5
L_004c: ldarg.0
L_004d: call MentalBreakIntensity get_CurrentDesiredMoodBreakIntensity()
L_0052: brfalse Label #6
L_0057: ldc.i4.0
L_0058: br Label #0
L_005d: Label #5
L_005d: Label #6
L_005d: ldarg.0
L_005e: call IEnumerable`1 get_CurrentPossibleMoodBreaks()
L_0063: ldarg.0
L_0064: ldftn Single <TryDoRandomMoodCausedMentalBreak>m__7E1(Verse.MentalBreakDef)
L_006a: newobj Void .ctor(Object, IntPtr)
L_006f: ldloca.s 0 (Verse.MentalBreakDef)
L_0071: call Boolean TryRandomElementByWeight[MentalBreakDef](IEnumerable`1,
System.Func`2[Verse.MentalBreakDef,System.Single], Verse.MentalBreakDef ByRef)
L_0076: brtrue Label #7
L_007b: ldc.i4.0
L_007c: br Label #0
L_0081: Label #7
L_0081: ldarg.0
L_0082: call RimWorld.Thought RandomFinalStraw()
L_0087: stloc.1
L_0088: ldloc.1
L_0089: brfalse Label #8
L_008e: ldloc.1
L_008f: callvirt System.String get_LabelCap()
L_0094: br Label #9
L_0099: Label #8
L_0099: ldnull
L_009a: Label #9
L_009a: stloc.2
L_009b: ldarg.0
L_009c: ldfld Verse.Pawn pawn
L_00a1: ldfld Verse.AI.Pawn_MindState mindState
L_00a6: ldfld Verse.AI.MentalStateHandler mentalStateHandler
L_00ab: ldloc.0
L_00ac: ldfld Verse.MentalStateDef mentalState
L_00b1: ldloc.2
L_00b2: ldc.i4.0
L_00b3: ldc.i4.1
L_00b4: ldnull
L_00b5: callvirt Boolean TryStartMentalState(Verse.MentalStateDef, System.String,
Boolean, Boolean, Verse.Pawn)
L_00ba: pop
L_00bb: ldc.i4.1
L_00bc: br Label #0
L_00c1: Label #0
L_00c1: stloc 3 (System.Boolean)
L_00c2: ldarg.0
L_00c3: ldloca 3 (System.Boolean)
L_00c5: call Void AddAnxiety(Verse.MentalBreaker, Boolean ByRef)
L_00ca: ldloc 3 (System.Boolean)
L_00cb: ret
DONE

PATCHING Verse.Pawn Boolean CheckAcceptArrest(Verse.Pawn)


L_0000: Local var #0 System.Single
L_0000: ldarg.0
L_0001: ldfld Verse.Pawn_HealthTracker health
L_0006: callvirt Boolean get_Downed()
L_000b: brfalse Label #2
L_0010: ldc.i4.1
L_0011: br Label #0
L_0016: Label #2
L_0016: ldarg.0
L_0017: ldfld RimWorld.Pawn_StoryTracker story
L_001c: brfalse Label #3
L_0021: ldarg.0
L_0022: ldfld RimWorld.Pawn_StoryTracker story
L_0027: ldc.i4.8
L_0028: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_002d: brfalse Label #4
L_0032: ldc.i4.1
L_0033: br Label #0
L_0038: Label #3
L_0038: Label #4
L_0038: ldarg.0
L_0039: call RimWorld.Faction get_Faction()
L_003e: brfalse Label #5
L_0043: ldarg.0
L_0044: call RimWorld.Faction get_Faction()
L_0049: ldarg.1
L_004a: ldfld RimWorld.Faction factionInt
L_004f: beq Label #6
L_0054: ldarg.0
L_0055: call RimWorld.Faction get_Faction()
L_005a: ldarg.0
L_005b: ldarg.1
L_005c: callvirt RimWorld.Faction get_Faction()
L_0061: callvirt Void Notify_MemberCaptured(Verse.Pawn, RimWorld.Faction)
L_0066: Label #5
L_0066: Label #6
L_0066: ldarg.0
L_0067: ldarg.1
L_0068: callvirt Boolean NewArrestCheck(Verse.Pawn, Verse.Pawn)
L_006d: brfalse Label #7
L_0072: ldc.i4.1
L_0073: br Label #0
L_0078: Label #7
L_0078: ldstr "MessageRefusedArrest"
L_007d: ldc.i4.1
L_007e: newarr System.Object
L_0083: dup
L_0084: ldc.i4.0
L_0085: ldarg.0
L_0086: callvirt System.String get_LabelShort()
L_008b: stelem.ref
L_008c: call System.String Translate(System.String, System.Object[])
L_0091: ldarg.0
L_0092: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_0097: ldc.i4.5
L_0098: call Void Message(System.String, GlobalTargetInfo, MessageSound)
L_009d: ldarg.0
L_009e: call RimWorld.Faction get_Faction()
L_00a3: brfalse Label #8
L_00a8: ldarg.1
L_00a9: ldarg.0
L_00aa: call Boolean HostileTo(Verse.Thing, Verse.Thing)
L_00af: brtrue Label #9
L_00b4: Label #8
L_00b4: ldarg.0
L_00b5: ldfld Verse.AI.Pawn_MindState mindState
L_00ba: ldfld Verse.AI.MentalStateHandler mentalStateHandler
L_00bf: ldsfld Verse.MentalStateDef Berserk
L_00c4: ldnull
L_00c5: ldc.i4.0
L_00c6: ldc.i4.0
L_00c7: ldnull
L_00c8: callvirt Boolean TryStartMentalState(Verse.MentalStateDef, System.String,
Boolean, Boolean, Verse.Pawn)
L_00cd: pop
L_00ce: Label #9
L_00ce: ldc.i4.0
L_00cf: br Label #0
L_00d4: Label #0
L_00d4: ret
DONE

PATCHING Verse.Pawn Void PreTraded(TradeAction, Verse.Pawn, ITrader)


L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 System.Collections.Generic.IEnumerator`1[[Verse.Pawn,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.0
L_0001: ldarg.1
L_0002: ldarg.2
L_0003: ldarg.3
L_0004: call Void PreTraded(TradeAction, Verse.Pawn, ITrader)
L_0009: ldarg.0
L_000a: call Boolean get_SpawnedOrAnyParentSpawned()
L_000f: brfalse Label #2
L_0014: ldarg.0
L_0015: ldc.i4.0
L_0016: call Void DropAndForbidEverything(Boolean)
L_001b: Label #2
L_001b: ldarg.0
L_001c: ldfld RimWorld.Pawn_Ownership ownership
L_0021: brfalse Label #3
L_0026: ldarg.0
L_0027: ldfld RimWorld.Pawn_Ownership ownership
L_002c: callvirt Void UnclaimAll()
L_0031: Label #3
L_0031: ldarg.0
L_0032: ldfld RimWorld.Pawn_GuestTracker guest
L_0037: brfalse Label #4
L_003c: ldarg.0
L_003d: ldfld RimWorld.Pawn_GuestTracker guest
L_0042: ldnull
L_0043: ldc.i4.0
L_0044: callvirt Void SetGuestStatus(RimWorld.Faction, Boolean)
L_0049: Label #4
L_0049: ldarg.1
L_004a: ldc.i4.1
L_004b: bne.un Label #5
L_0050: ldarg.0
L_0051: call RimWorld.Faction get_OfPlayer()
L_0056: ldnull
L_0057: callvirt Void SetFaction(RimWorld.Faction, Verse.Pawn)
L_005c: br Label #6
L_0061: Label #5
L_0061: ldarg.1
L_0062: ldc.i4.2
L_0063: bne.un Label #7
L_0068: ldarg.0
L_0069: call Verse.RaceProperties get_RaceProps()
L_006e: callvirt Boolean get_Humanlike()
L_0073: brfalse Label #8
L_0078: ldsfld RimWorld.TaleDef SoldPrisoner
L_007d: ldc.i4.3
L_007e: newarr System.Object
L_0083: dup
L_0084: ldc.i4.0
L_0085: ldarg.2
L_0086: stelem.ref
L_0087: dup
L_0088: ldc.i4.1
L_0089: ldarg.0
L_008a: stelem.ref
L_008b: dup
L_008c: ldc.i4.2
L_008d: ldarg.3
L_008e: stelem.ref
L_008f: call Void RecordTale(RimWorld.TaleDef, System.Object[])
L_0094: Label #8
L_0094: ldarg.0
L_0095: call RimWorld.Faction get_Faction()
L_009a: brfalse Label #9
L_009f: ldarg.0
L_00a0: ldnull
L_00a1: ldnull
L_00a2: callvirt Void SetFaction(RimWorld.Faction, Verse.Pawn)
L_00a7: Label #9
L_00a7: ldarg.0
L_00a8: call Verse.RaceProperties get_RaceProps()
L_00ad: callvirt Boolean get_IsFlesh()
L_00b2: brfalse Label #10
L_00b7: ldarg.0
L_00b8: ldfld RimWorld.Pawn_RelationsTracker relations
L_00bd: ldarg.2
L_00be: callvirt Void Notify_PawnSold(Verse.Pawn)
L_00c3: Label #10
L_00c3: ldarg.0
L_00c4: call Verse.RaceProperties get_RaceProps()
L_00c9: callvirt Boolean get_Humanlike()
L_00ce: brfalse Label #11
L_00d3: call IEnumerable`1 get_AllMapsCaravansAndTravelingTransportPods()
L_00d8: ldsfld System.Func`2[Verse.Pawn,System.Boolean] <>f__am$cache2F
L_00dd: brtrue Label #12
L_00e2: ldnull
L_00e3: ldftn Boolean <PreTraded>m__8E0(Verse.Pawn)
L_00e9: newobj Void .ctor(Object, IntPtr)
L_00ee: stsfld System.Func`2[Verse.Pawn,System.Boolean] <>f__am$cache2F
L_00f3: Label #12
L_00f3: ldsfld System.Func`2[Verse.Pawn,System.Boolean] <>f__am$cache2F
L_00f8: call IEnumerable`1 Where[Pawn](IEnumerable`1,
System.Func`2[Verse.Pawn,System.Boolean])
L_00fd: callvirt IEnumerator`1 GetEnumerator()
L_0102: stloc.1
L_0103: br Label #13
L_0108: Label #14
L_0108: ldloc.1
L_0109: callvirt Verse.Pawn get_Current()
L_010e: stloc.0
L_010f: ldloc.0
L_0110: ldfld RimWorld.Pawn_NeedsTracker needs
L_0115: ldfld RimWorld.Need_Mood mood
L_011a: ldfld RimWorld.ThoughtHandler thoughts
L_011f: ldfld RimWorld.MemoryThoughtHandler memories
L_0124: ldsfld RimWorld.ThoughtDef KnowPrisonerSold
L_0129: ldnull
L_012a: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_012f: Label #13
L_012f: ldloc.1
L_0130: callvirt Boolean MoveNext()
L_0135: brtrue Label #14
L_013a: leave Label #15
L_013f: ldloc.1
L_0140: brtrue Label #16
L_0145: endfinally
L_0146: Label #16
L_0146: ldloc.1
L_0147: callvirt Void Dispose()
L_014c: endfinally
L_014d: Label #6
L_014d: Label #7
L_014d: Label #11
L_014d: Label #15
L_014d: ldarg.0
L_014e: ldc.i4.0
L_014f: call Void ClearMind(Boolean)
L_0154: ldarg.0
L_0155: ldc.i4.1
L_0156: call Void ClearReservations(Boolean)
L_015b: br Label #0
L_0160: Label #0
L_0160: ldarg.0
L_0161: ldarg 1
L_0167: ldarg 2
L_016d: ldarg 3
L_0173: call Void BleedingHeartThought(Verse.Pawn, TradeAction, Verse.Pawn,
ITrader)
L_0178: ret
DONE

PATCHING RimWorld.PawnComponentsUtility Void CreateInitialComponents(Verse.Pawn)


L_0000: ldarg.0
L_0001: ldarg.0
L_0002: newobj Void .ctor(Pawn)
L_0007: stfld Verse.Pawn_AgeTracker ageTracker
L_000c: ldarg.0
L_000d: ldarg.0
L_000e: newobj Void .ctor(Pawn)
L_0013: stfld Verse.Pawn_HealthTracker health
L_0018: ldarg.0
L_0019: ldarg.0
L_001a: newobj Void .ctor(Pawn)
L_001f: stfld RimWorld.Pawn_RecordsTracker records
L_0024: ldarg.0
L_0025: ldarg.0
L_0026: newobj Void .ctor(Pawn)
L_002b: stfld Verse.Pawn_InventoryTracker inventory
L_0030: ldarg.0
L_0031: ldarg.0
L_0032: newobj Void .ctor(Pawn)
L_0037: stfld RimWorld.Pawn_MeleeVerbs meleeVerbs
L_003c: ldarg.0
L_003d: ldarg.0
L_003e: newobj Void .ctor(IVerbOwner)
L_0043: stfld Verse.VerbTracker verbTracker
L_0048: ldarg.0
L_0049: ldarg.0
L_004a: newobj Void .ctor(Pawn)
L_004f: stfld Verse.Pawn_CarryTracker carryTracker
L_0054: ldarg.0
L_0055: ldarg.0
L_0056: newobj Void .ctor(Pawn)
L_005b: stfld RimWorld.Pawn_NeedsTracker needs
L_0060: ldarg.0
L_0061: ldarg.0
L_0062: newobj Void .ctor(Pawn)
L_0067: stfld Verse.AI.Pawn_MindState mindState
L_006c: ldarg.0
L_006d: callvirt Verse.RaceProperties get_RaceProps()
L_0072: callvirt Boolean get_ToolUser()
L_0077: brfalse Label #2
L_007c: ldarg.0
L_007d: ldarg.0
L_007e: newobj Void .ctor(Pawn)
L_0083: stfld Verse.Pawn_EquipmentTracker equipment
L_0088: ldarg.0
L_0089: ldarg.0
L_008a: newobj Void .ctor(Pawn)
L_008f: stfld RimWorld.Pawn_ApparelTracker apparel
L_0094: Label #2
L_0094: ldarg.0
L_0095: callvirt Verse.RaceProperties get_RaceProps()
L_009a: callvirt Boolean get_Humanlike()
L_009f: brfalse Label #3
L_00a4: ldarg.0
L_00a5: ldarg.0
L_00a6: newobj Void .ctor(Pawn)
L_00ab: stfld RimWorld.Pawn_Ownership ownership
L_00b0: ldarg.0
L_00b1: ldarg.0
L_00b2: newobj Void .ctor(Pawn)
L_00b7: stfld RimWorld.Pawn_SkillTracker skills
L_00bc: ldarg.0
L_00bd: ldarg.0
L_00be: newobj Void .ctor(Pawn)
L_00c3: stfld RimWorld.Pawn_StoryTracker story
L_00c8: ldarg.0
L_00c9: ldarg.0
L_00ca: newobj Void .ctor(Pawn)
L_00cf: stfld RimWorld.Pawn_GuestTracker guest
L_00d4: ldarg.0
L_00d5: newobj Void .ctor()
L_00da: stfld RimWorld.Pawn_GuiltTracker guilt
L_00df: ldarg.0
L_00e0: ldarg.0
L_00e1: newobj Void .ctor(Pawn)
L_00e6: stfld RimWorld.Pawn_WorkSettings workSettings
L_00eb: Label #3
L_00eb: ldarg.0
L_00ec: callvirt Verse.RaceProperties get_RaceProps()
L_00f1: callvirt Boolean get_IsFlesh()
L_00f6: brfalse Label #4
L_00fb: ldarg.0
L_00fc: ldarg.0
L_00fd: newobj Void .ctor(Pawn)
L_0102: stfld RimWorld.Pawn_RelationsTracker relations
L_0107: Label #4
L_0107: ldarg.0
L_0108: ldc.i4.0
L_0109: call Void AddAndRemoveDynamicComponents(Verse.Pawn, Boolean)
L_010e: br Label #0
L_0113: Label #0
L_0113: ldarg 0
L_0119: call Void CreatePsychologyComponents(Verse.Pawn)
L_011e: ret
DONE

PATCHING RimWorld.ChildRelationUtility Single ChanceOfBecomingChildOf(Verse.Pawn,


Verse.Pawn, Verse.Pawn, Nullable`1, Nullable`1, Nullable`1)
L_0000: Local var #0 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
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.Boolean
L_0000: Local var #4 System.Boolean
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Single
L_0000: Local var #7 System.Single
L_0000: Local var #8 System.Single
L_0000: Local var #9 System.Single
L_0000: Local var #10 System.Int32
L_0000: Local var #11 System.Single
L_0000: Local var #12 Verse.Pawn
L_0000: Local var #13 Verse.Pawn
L_0000: Local var #14 System.Single
L_0000: ldc.r4 0
L_0005: stloc 14 (System.Single)
L_0007: ldarg.1
L_0008: brfalse Label #2
L_000d: ldarg.1
L_000e: ldfld Verse.Gender gender
L_0013: ldc.i4.1
L_0014: beq Label #3
L_0019: ldstr "Tried to calculate chance for father with gender ""
L_001e: ldarg.1
L_001f: ldfld Verse.Gender gender
L_0024: box Verse.Gender
L_0029: ldstr ""."
L_002e: call System.String Concat(System.Object, System.Object, System.Object)
L_0033: call Void Warning(System.String)
L_0038: ldc.r4 0
L_003d: br Label #0
L_0042: Label #2
L_0042: Label #3
L_0042: ldarg.2
L_0043: brfalse Label #4
L_0048: ldarg.2
L_0049: ldfld Verse.Gender gender
L_004e: ldc.i4.2
L_004f: beq Label #5
L_0054: ldstr "Tried to calculate chance for mother with gender ""
L_0059: ldarg.2
L_005a: ldfld Verse.Gender gender
L_005f: box Verse.Gender
L_0064: ldstr ""."
L_0069: call System.String Concat(System.Object, System.Object, System.Object)
L_006e: call Void Warning(System.String)
L_0073: ldc.r4 0
L_0078: br Label #0
L_007d: Label #4
L_007d: Label #5
L_007d: ldarg.1
L_007e: brfalse Label #6
L_0083: ldarg.0
L_0084: call Verse.Pawn GetFather(Verse.Pawn)
L_0089: brfalse Label #7
L_008e: ldarg.0
L_008f: call Verse.Pawn GetFather(Verse.Pawn)
L_0094: ldarg.1
L_0095: beq Label #8
L_009a: ldc.r4 0
L_009f: br Label #0
L_00a4: Label #6
L_00a4: Label #7
L_00a4: Label #8
L_00a4: ldarg.2
L_00a5: brfalse Label #9
L_00aa: ldarg.0
L_00ab: call Verse.Pawn GetMother(Verse.Pawn)
L_00b0: brfalse Label #10
L_00b5: ldarg.0
L_00b6: call Verse.Pawn GetMother(Verse.Pawn)
L_00bb: ldarg.2
L_00bc: beq Label #11
L_00c1: ldc.r4 0
L_00c6: br Label #0
L_00cb: Label #9
L_00cb: Label #10
L_00cb: Label #11
L_00cb: ldarg.2
L_00cc: brfalse Label #12
L_00d1: ldarg.1
L_00d2: brfalse Label #13
L_00d7: ldarg.2
L_00d8: ldarg.1
L_00d9: call Boolean LovePartnerRelationExists(Verse.Pawn, Verse.Pawn)
L_00de: brtrue Label #14
L_00e3: ldarg.2
L_00e4: ldarg.1
L_00e5: call Boolean ExLovePartnerRelationExists(Verse.Pawn, Verse.Pawn)
L_00ea: brtrue Label #15
L_00ef: ldc.r4 0
L_00f4: br Label #0
L_00f9: Label #12
L_00f9: Label #13
L_00f9: Label #14
L_00f9: Label #15
L_00f9: ldarg.0
L_00fa: ldarg.3
L_00fb: call Nullable`1 GetMelanin(Verse.Pawn, Nullable`1)
L_0100: stloc.0
L_0101: ldarg.1
L_0102: ldarg.s 4
L_0104: call Nullable`1 GetMelanin(Verse.Pawn, Nullable`1)
L_0109: stloc.1
L_010a: ldarg.2
L_010b: ldarg.s 5
L_010d: call Nullable`1 GetMelanin(Verse.Pawn, Nullable`1)
L_0112: stloc.2
L_0113: ldarg.1
L_0114: brfalse Label #16
L_0119: ldarg.0
L_011a: call Verse.Pawn GetFather(Verse.Pawn)
L_011f: ldarg.1
L_0120: ceq
L_0122: ldc.i4.0
L_0123: ceq
L_0125: br Label #17
L_012a: Label #16
L_012a: ldc.i4.0
L_012b: Label #17
L_012b: stloc.3
L_012c: ldarg.2
L_012d: brfalse Label #18
L_0132: ldarg.0
L_0133: call Verse.Pawn GetMother(Verse.Pawn)
L_0138: ldarg.2
L_0139: ceq
L_013b: ldc.i4.0
L_013c: ceq
L_013e: br Label #19
L_0143: Label #18
L_0143: ldc.i4.0
L_0144: Label #19
L_0144: stloc.s 4 (System.Boolean)
L_0146: ldloc.0
L_0147: ldloc.1
L_0148: ldloc.2
L_0149: ldloc.3
L_014a: ldloc.s 4 (System.Boolean)
L_014c: call Single GetSkinColorFactor(Nullable`1, Nullable`1, Nullable`1, Boolean,
Boolean)
L_0151: stloc.s 5 (System.Single)
L_0153: ldloc.s 5 (System.Single)
L_0155: ldc.r4 0
L_015a: bgt.un Label #20
L_015f: ldc.r4 0
L_0164: br Label #0
L_0169: Label #20
L_0169: ldc.r4 1
L_016e: stloc.s 6 (System.Single)
L_0170: ldc.r4 1
L_0175: stloc.s 7 (System.Single)
L_0177: ldc.r4 1
L_017c: stloc.s 8 (System.Single)
L_017e: ldc.r4 1
L_0183: stloc.s 9 (System.Single)
L_0185: ldarg.1
L_0186: brfalse Label #21
L_018b: ldarg.0
L_018c: call Verse.Pawn GetFather(Verse.Pawn)
L_0191: brtrue Label #22
L_0196: ldarg.1
L_0197: ldarg.0
L_0198: ldc.r4 14
L_019d: ldc.r4 30
L_01a2: ldc.r4 50
L_01a7: call Single GetParentAgeFactor(Verse.Pawn, Verse.Pawn, Single, Single,
Single)
L_01ac: stloc.s 6 (System.Single)
L_01ae: ldloc.s 6 (System.Single)
L_01b0: ldc.r4 0
L_01b5: bne.un Label #23
L_01ba: ldc.r4 0
L_01bf: br Label #0
L_01c4: Label #23
L_01c4: ldarg.1
L_01c5: ldfld RimWorld.Pawn_StoryTracker story
L_01ca: ldfld RimWorld.TraitSet traits
L_01cf: ldsfld RimWorld.TraitDef Gay
L_01d4: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_01d9: brfalse Label #24
L_01de: ldc.r4 0.1
L_01e3: stloc.s 9 (System.Single)
L_01e5: Label #21
L_01e5: Label #22
L_01e5: Label #24
L_01e5: ldarg.2
L_01e6: brfalse Label #25
L_01eb: ldarg.0
L_01ec: call Verse.Pawn GetMother(Verse.Pawn)
L_01f1: brtrue Label #26
L_01f6: ldarg.2
L_01f7: ldarg.0
L_01f8: ldc.r4 16
L_01fd: ldc.r4 27
L_0202: ldc.r4 45
L_0207: call Single GetParentAgeFactor(Verse.Pawn, Verse.Pawn, Single, Single,
Single)
L_020c: stloc.s 7 (System.Single)
L_020e: ldloc.s 7 (System.Single)
L_0210: ldc.r4 0
L_0215: bne.un Label #27
L_021a: ldc.r4 0
L_021f: br Label #0
L_0224: Label #27
L_0224: ldarg.2
L_0225: call Int32 NumberOfChildrenFemaleWantsEver(Verse.Pawn)
L_022a: stloc.s 10 (System.Int32)
L_022c: ldarg.2
L_022d: ldfld RimWorld.Pawn_RelationsTracker relations
L_0232: callvirt Int32 get_ChildrenCount()
L_0237: ldloc.s 10 (System.Int32)
L_0239: blt Label #28
L_023e: ldc.r4 0
L_0243: br Label #0
L_0248: Label #28
L_0248: ldc.r4 1
L_024d: ldarg.2
L_024e: ldfld RimWorld.Pawn_RelationsTracker relations
L_0253: callvirt Int32 get_ChildrenCount()
L_0258: conv.r4
L_0259: ldloc.s 10 (System.Int32)
L_025b: conv.r4
L_025c: div
L_025d: sub
L_025e: stloc.s 8 (System.Single)
L_0260: ldarg.2
L_0261: ldfld RimWorld.Pawn_StoryTracker story
L_0266: ldfld RimWorld.TraitSet traits
L_026b: ldsfld RimWorld.TraitDef Gay
L_0270: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_0275: brfalse Label #29
L_027a: ldc.r4 0.1
L_027f: stloc.s 9 (System.Single)
L_0281: Label #25
L_0281: Label #26
L_0281: Label #29
L_0281: ldc.r4 1
L_0286: stloc.s 11 (System.Single)
L_0288: ldarg.2
L_0289: brfalse Label #30
L_028e: ldarg.2
L_028f: ldfld RimWorld.Pawn_RelationsTracker relations
L_0294: ldsfld RimWorld.PawnRelationDef Spouse
L_0299: ldnull
L_029a: callvirt Verse.Pawn GetFirstDirectRelationPawn(RimWorld.PawnRelationDef,
System.Predicate`1[Verse.Pawn])
L_029f: stloc.s 12 (Verse.Pawn)
L_02a1: ldloc.s 12 (Verse.Pawn)
L_02a3: brfalse Label #31
L_02a8: ldloc.s 12 (Verse.Pawn)
L_02aa: ldarg.1
L_02ab: beq Label #32
L_02b0: ldloc.s 11 (System.Single)
L_02b2: ldc.r4 0.15
L_02b7: mul
L_02b8: stloc.s 11 (System.Single)
L_02ba: Label #30
L_02ba: Label #31
L_02ba: Label #32
L_02ba: ldarg.1
L_02bb: brfalse Label #33
L_02c0: ldarg.1
L_02c1: ldfld RimWorld.Pawn_RelationsTracker relations
L_02c6: ldsfld RimWorld.PawnRelationDef Spouse
L_02cb: ldnull
L_02cc: callvirt Verse.Pawn GetFirstDirectRelationPawn(RimWorld.PawnRelationDef,
System.Predicate`1[Verse.Pawn])
L_02d1: stloc.s 13 (Verse.Pawn)
L_02d3: ldloc.s 13 (Verse.Pawn)
L_02d5: brfalse Label #34
L_02da: ldloc.s 13 (Verse.Pawn)
L_02dc: ldarg.2
L_02dd: beq Label #35
L_02e2: ldloc.s 11 (System.Single)
L_02e4: ldc.r4 0.15
L_02e9: mul
L_02ea: stloc.s 11 (System.Single)
L_02ec: Label #33
L_02ec: Label #34
L_02ec: Label #35
L_02ec: ldloc.s 5 (System.Single)
L_02ee: ldloc.s 6 (System.Single)
L_02f0: mul
L_02f1: ldloc.s 7 (System.Single)
L_02f3: mul
L_02f4: ldloc.s 8 (System.Single)
L_02f6: mul
L_02f7: ldloc.s 11 (System.Single)
L_02f9: mul
L_02fa: ldloc.s 9 (System.Single)
L_02fc: mul
L_02fd: br Label #0
L_0302: Label #0
L_0302: stloc 14 (System.Single)
L_0304: ldloca 14 (System.Single)
L_0306: ldarg 1
L_030c: ldarg 2
L_0312: ldarg 0
L_0318: call Void KinseyFactor(Single ByRef, Verse.Pawn, Verse.Pawn, Verse.Pawn)
L_031d: ldloc 14 (System.Single)
L_031f: ret
DONE

PATCHING RimWorld.FoodUtility
System.Collections.Generic.List`1[RimWorld.ThoughtDef]
ThoughtsFromIngesting(Verse.Pawn, Verse.Thing)
L_0000: Local var #0 Verse.ThingDef
L_0000: Local var #1 RimWorld.CompIngredients
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.ThingDef
L_0000: Local var #4 System.Collections.Generic.List`1[[RimWorld.ThoughtDef,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: ldnull
L_0001: stloc 4 (System.Collections.Generic.List`1[RimWorld.ThoughtDef])
L_0003: ldsfld System.Collections.Generic.List`1[RimWorld.ThoughtDef]
ingestThoughts
L_0008: callvirt Void Clear()
L_000d: ldarg.0
L_000e: ldfld RimWorld.Pawn_NeedsTracker needs
L_0013: brfalse Label #2
L_0018: ldarg.0
L_0019: ldfld RimWorld.Pawn_NeedsTracker needs
L_001e: ldfld RimWorld.Need_Mood mood
L_0023: brtrue Label #3
L_0028: Label #2
L_0028: ldsfld System.Collections.Generic.List`1[RimWorld.ThoughtDef]
ingestThoughts
L_002d: br Label #0
L_0032: Label #3
L_0032: ldarg.1
L_0033: ldfld Verse.ThingDef def
L_0038: stloc.0
L_0039: ldloc.0
L_003a: ldsfld Verse.ThingDef NutrientPasteDispenser
L_003f: bne.un Label #4
L_0044: ldsfld Verse.ThingDef MealNutrientPaste
L_0049: stloc.0
L_004a: Label #4
L_004a: ldarg.0
L_004b: ldfld RimWorld.Pawn_StoryTracker story
L_0050: ldfld RimWorld.TraitSet traits
L_0055: ldsfld RimWorld.TraitDef Ascetic
L_005a: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_005f: brtrue Label #5
L_0064: ldloc.0
L_0065: ldfld RimWorld.IngestibleProperties ingestible
L_006a: ldfld RimWorld.ThoughtDef tasteThought
L_006f: brfalse Label #6
L_0074: ldsfld System.Collections.Generic.List`1[RimWorld.ThoughtDef]
ingestThoughts
L_0079: ldloc.0
L_007a: ldfld RimWorld.IngestibleProperties ingestible
L_007f: ldfld RimWorld.ThoughtDef tasteThought
L_0084: callvirt Void Add(RimWorld.ThoughtDef)
L_0089: Label #5
L_0089: Label #6
L_0089: ldarg.1
L_008a: call RimWorld.CompIngredients TryGetComp[CompIngredients](Verse.Thing)
L_008f: stloc.1
L_0090: ldloc.0
L_0091: call Boolean IsHumanlikeMeat(Verse.ThingDef)
L_0096: brfalse Label #7
L_009b: ldarg.0
L_009c: callvirt Verse.RaceProperties get_RaceProps()
L_00a1: callvirt Boolean get_Humanlike()
L_00a6: brfalse Label #8
L_00ab: ldsfld System.Collections.Generic.List`1[RimWorld.ThoughtDef]
ingestThoughts
L_00b0: ldarg.0
L_00b1: ldfld RimWorld.Pawn_StoryTracker story
L_00b6: ldfld RimWorld.TraitSet traits
L_00bb: ldsfld RimWorld.TraitDef Cannibal
L_00c0: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00c5: brfalse Label #9
L_00ca: ldsfld RimWorld.ThoughtDef AteHumanlikeMeatDirectCannibal
L_00cf: br Label #10
L_00d4: Label #9
L_00d4: ldsfld RimWorld.ThoughtDef AteHumanlikeMeatDirect
L_00d9: Label #10
L_00d9: callvirt Void Add(RimWorld.ThoughtDef)
L_00de: br Label #11
L_00e3: Label #7
L_00e3: Label #8
L_00e3: ldloc.1
L_00e4: brfalse Label #12
L_00e9: ldc.i4.0
L_00ea: stloc.2
L_00eb: br Label #13
L_00f0: Label #21
L_00f0: ldloc.1
L_00f1: ldfld System.Collections.Generic.List`1[Verse.ThingDef] ingredients
L_00f6: ldloc.2
L_00f7: callvirt Verse.ThingDef get_Item(Int32)
L_00fc: stloc.3
L_00fd: ldloc.3
L_00fe: ldfld RimWorld.IngestibleProperties ingestible
L_0103: brfalse Label #14
L_0108: ldarg.0
L_0109: callvirt Verse.RaceProperties get_RaceProps()
L_010e: callvirt Boolean get_Humanlike()
L_0113: brfalse Label #15
L_0118: ldloc.3
L_0119: call Boolean IsHumanlikeMeat(Verse.ThingDef)
L_011e: brfalse Label #16
L_0123: ldsfld System.Collections.Generic.List`1[RimWorld.ThoughtDef]
ingestThoughts
L_0128: ldarg.0
L_0129: ldfld RimWorld.Pawn_StoryTracker story
L_012e: ldfld RimWorld.TraitSet traits
L_0133: ldsfld RimWorld.TraitDef Cannibal
L_0138: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_013d: brfalse Label #17
L_0142: ldsfld RimWorld.ThoughtDef AteHumanlikeMeatAsIngredientCannibal
L_0147: br Label #18
L_014c: Label #17
L_014c: ldsfld RimWorld.ThoughtDef AteHumanlikeMeatAsIngredient
L_0151: Label #18
L_0151: callvirt Void Add(RimWorld.ThoughtDef)
L_0156: br Label #19
L_015b: Label #15
L_015b: Label #16
L_015b: ldloc.3
L_015c: ldfld RimWorld.IngestibleProperties ingestible
L_0161: ldfld RimWorld.ThoughtDef specialThoughtAsIngredient
L_0166: brfalse Label #20
L_016b: ldsfld System.Collections.Generic.List`1[RimWorld.ThoughtDef]
ingestThoughts
L_0170: ldloc.3
L_0171: ldfld RimWorld.IngestibleProperties ingestible
L_0176: ldfld RimWorld.ThoughtDef specialThoughtAsIngredient
L_017b: callvirt Void Add(RimWorld.ThoughtDef)
L_0180: Label #14
L_0180: Label #19
L_0180: Label #20
L_0180: ldloc.2
L_0181: ldc.i4.1
L_0182: add
L_0183: stloc.2
L_0184: Label #13
L_0184: ldloc.2
L_0185: ldloc.1
L_0186: ldfld System.Collections.Generic.List`1[Verse.ThingDef] ingredients
L_018b: callvirt Int32 get_Count()
L_0190: blt Label #21
L_0195: br Label #22
L_019a: Label #12
L_019a: ldloc.0
L_019b: ldfld RimWorld.IngestibleProperties ingestible
L_01a0: ldfld RimWorld.ThoughtDef specialThoughtDirect
L_01a5: brfalse Label #23
L_01aa: ldsfld System.Collections.Generic.List`1[RimWorld.ThoughtDef]
ingestThoughts
L_01af: ldloc.0
L_01b0: ldfld RimWorld.IngestibleProperties ingestible
L_01b5: ldfld RimWorld.ThoughtDef specialThoughtDirect
L_01ba: callvirt Void Add(RimWorld.ThoughtDef)
L_01bf: Label #11
L_01bf: Label #22
L_01bf: Label #23
L_01bf: ldarg.1
L_01c0: call Boolean IsNotFresh(Verse.Thing)
L_01c5: brfalse Label #24
L_01ca: ldsfld System.Collections.Generic.List`1[RimWorld.ThoughtDef]
ingestThoughts
L_01cf: ldsfld RimWorld.ThoughtDef AteRottenFood
L_01d4: callvirt Void Add(RimWorld.ThoughtDef)
L_01d9: Label #24
L_01d9: ldsfld System.Collections.Generic.List`1[RimWorld.ThoughtDef]
ingestThoughts
L_01de: br Label #0
L_01e3: Label #0
L_01e3: stloc 4 (System.Collections.Generic.List`1[RimWorld.ThoughtDef])
L_01e5: ldarg 0
L_01eb: ldarg 1
L_01f1: ldloca 4 (System.Collections.Generic.List`1[RimWorld.ThoughtDef])
L_01f3: call Void ThoughtsFromIngestingPostfix(Verse.Pawn, Verse.Thing,
System.Collections.Generic.List`1[RimWorld.ThoughtDef] ByRef)
L_01f8: ldloca 4 (System.Collections.Generic.List`1[RimWorld.ThoughtDef])
L_01fa: call Void
AddPickyThoughtsPatch(System.Collections.Generic.List`1[RimWorld.ThoughtDef] ByRef)
L_01ff: ldloc 4 (System.Collections.Generic.List`1[RimWorld.ThoughtDef])
L_0201: ret
DONE

PATCHING RimWorld.InteractionWorker_Breakup Void Interacted(Verse.Pawn, Verse.Pawn,


System.Collections.Generic.List`1[Verse.RulePackDef])
L_0000: Local var #0 RimWorld.Thought
L_0000: Local var #1 Verse.Pawn
L_0000: Local var #2 System.Text.StringBuilder
L_0000: ldarg.0
L_0001: ldarg 1
L_0007: ldarg 2
L_000d: ldarg 3
L_0013: call Boolean NewInteracted(RimWorld.InteractionWorker_Breakup, Verse.Pawn,
Verse.Pawn, System.Collections.Generic.List`1[Verse.RulePackDef])
L_0018: brfalse Label #1
L_001d: ldarg.0
L_001e: ldarg.1
L_001f: ldarg.2
L_0020: call RimWorld.Thought RandomBreakupReason(Verse.Pawn, Verse.Pawn)
L_0025: stloc.0
L_0026: ldarg.1
L_0027: ldfld RimWorld.Pawn_RelationsTracker relations
L_002c: ldsfld RimWorld.PawnRelationDef Spouse
L_0031: ldarg.2
L_0032: callvirt Boolean DirectRelationExists(RimWorld.PawnRelationDef, Verse.Pawn)
L_0037: brfalse Label #2
L_003c: ldarg.1
L_003d: ldfld RimWorld.Pawn_RelationsTracker relations
L_0042: ldsfld RimWorld.PawnRelationDef Spouse
L_0047: ldarg.2
L_0048: callvirt Void RemoveDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_004d: ldarg.1
L_004e: ldfld RimWorld.Pawn_RelationsTracker relations
L_0053: ldsfld RimWorld.PawnRelationDef ExSpouse
L_0058: ldarg.2
L_0059: callvirt Void AddDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_005e: ldarg.2
L_005f: ldfld RimWorld.Pawn_NeedsTracker needs
L_0064: ldfld RimWorld.Need_Mood mood
L_0069: ldfld RimWorld.ThoughtHandler thoughts
L_006e: ldfld RimWorld.MemoryThoughtHandler memories
L_0073: ldsfld RimWorld.ThoughtDef DivorcedMe
L_0078: ldarg.1
L_0079: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_007e: ldarg.1
L_007f: ldfld RimWorld.Pawn_NeedsTracker needs
L_0084: ldfld RimWorld.Need_Mood mood
L_0089: ldfld RimWorld.ThoughtHandler thoughts
L_008e: ldfld RimWorld.MemoryThoughtHandler memories
L_0093: ldsfld RimWorld.ThoughtDef GotMarried
L_0098: callvirt Void RemoveMemoriesOfDef(RimWorld.ThoughtDef)
L_009d: ldarg.2
L_009e: ldfld RimWorld.Pawn_NeedsTracker needs
L_00a3: ldfld RimWorld.Need_Mood mood
L_00a8: ldfld RimWorld.ThoughtHandler thoughts
L_00ad: ldfld RimWorld.MemoryThoughtHandler memories
L_00b2: ldsfld RimWorld.ThoughtDef GotMarried
L_00b7: callvirt Void RemoveMemoriesOfDef(RimWorld.ThoughtDef)
L_00bc: ldarg.1
L_00bd: ldfld RimWorld.Pawn_NeedsTracker needs
L_00c2: ldfld RimWorld.Need_Mood mood
L_00c7: ldfld RimWorld.ThoughtHandler thoughts
L_00cc: ldfld RimWorld.MemoryThoughtHandler memories
L_00d1: ldsfld RimWorld.ThoughtDef HoneymoonPhase
L_00d6: ldarg.2
L_00d7: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_00dc: ldarg.2
L_00dd: ldfld RimWorld.Pawn_NeedsTracker needs
L_00e2: ldfld RimWorld.Need_Mood mood
L_00e7: ldfld RimWorld.ThoughtHandler thoughts
L_00ec: ldfld RimWorld.MemoryThoughtHandler memories
L_00f1: ldsfld RimWorld.ThoughtDef HoneymoonPhase
L_00f6: ldarg.1
L_00f7: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_00fc: br Label #3
L_0101: Label #2
L_0101: ldarg.1
L_0102: ldfld RimWorld.Pawn_RelationsTracker relations
L_0107: ldsfld RimWorld.PawnRelationDef Lover
L_010c: ldarg.2
L_010d: callvirt Boolean TryRemoveDirectRelation(RimWorld.PawnRelationDef,
Verse.Pawn)
L_0112: pop
L_0113: ldarg.1
L_0114: ldfld RimWorld.Pawn_RelationsTracker relations
L_0119: ldsfld RimWorld.PawnRelationDef Fiance
L_011e: ldarg.2
L_011f: callvirt Boolean TryRemoveDirectRelation(RimWorld.PawnRelationDef,
Verse.Pawn)
L_0124: pop
L_0125: ldarg.1
L_0126: ldfld RimWorld.Pawn_RelationsTracker relations
L_012b: ldsfld RimWorld.PawnRelationDef ExLover
L_0130: ldarg.2
L_0131: callvirt Void AddDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_0136: ldarg.2
L_0137: ldfld RimWorld.Pawn_NeedsTracker needs
L_013c: ldfld RimWorld.Need_Mood mood
L_0141: ldfld RimWorld.ThoughtHandler thoughts
L_0146: ldfld RimWorld.MemoryThoughtHandler memories
L_014b: ldsfld RimWorld.ThoughtDef BrokeUpWithMe
L_0150: ldarg.1
L_0151: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_0156: Label #3
L_0156: ldarg.1
L_0157: ldfld RimWorld.Pawn_Ownership ownership
L_015c: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0161: brfalse Label #4
L_0166: ldarg.1
L_0167: ldfld RimWorld.Pawn_Ownership ownership
L_016c: callvirt RimWorld.Building_Bed get_OwnedBed()
L_0171: ldarg.2
L_0172: ldfld RimWorld.Pawn_Ownership ownership
L_0177: callvirt RimWorld.Building_Bed get_OwnedBed()
L_017c: bne.un Label #5
L_0181: call Single get_Value()
L_0186: ldc.r4 0.5
L_018b: bge.un Label #6
L_0190: ldarg.1
L_0191: br Label #7
L_0196: Label #6
L_0196: ldarg.2
L_0197: Label #7
L_0197: stloc.1
L_0198: ldloc.1
L_0199: ldfld RimWorld.Pawn_Ownership ownership
L_019e: callvirt Void UnclaimBed()
L_01a3: Label #4
L_01a3: Label #5
L_01a3: ldsfld RimWorld.TaleDef Breakup
L_01a8: ldc.i4.2
L_01a9: newarr System.Object
L_01ae: dup
L_01af: ldc.i4.0
L_01b0: ldarg.1
L_01b1: stelem.ref
L_01b2: dup
L_01b3: ldc.i4.1
L_01b4: ldarg.2
L_01b5: stelem.ref
L_01b6: call Void RecordTale(RimWorld.TaleDef, System.Object[])
L_01bb: newobj Void .ctor()
L_01c0: stloc.2
L_01c1: ldloc.2
L_01c2: ldstr "LetterNoLongerLovers"
L_01c7: ldc.i4.2
L_01c8: newarr System.Object
L_01cd: dup
L_01ce: ldc.i4.0
L_01cf: ldarg.1
L_01d0: callvirt System.String get_LabelShort()
L_01d5: stelem.ref
L_01d6: dup
L_01d7: ldc.i4.1
L_01d8: ldarg.2
L_01d9: callvirt System.String get_LabelShort()
L_01de: stelem.ref
L_01df: call System.String Translate(System.String, System.Object[])
L_01e4: callvirt System.Text.StringBuilder AppendLine(System.String)
L_01e9: pop
L_01ea: ldloc.0
L_01eb: brfalse Label #8
L_01f0: ldloc.2
L_01f1: callvirt System.Text.StringBuilder AppendLine()
L_01f6: pop
L_01f7: ldloc.2
L_01f8: ldstr "FinalStraw"
L_01fd: ldc.i4.1
L_01fe: newarr System.Object
L_0203: dup
L_0204: ldc.i4.0
L_0205: ldloc.0
L_0206: callvirt RimWorld.ThoughtStage get_CurStage()
L_020b: ldfld System.String label
L_0210: stelem.ref
L_0211: call System.String Translate(System.String, System.Object[])
L_0216: callvirt System.Text.StringBuilder AppendLine(System.String)
L_021b: pop
L_021c: Label #8
L_021c: ldarg.1
L_021d: call Boolean ShouldSendNotificationAbout(Verse.Pawn)
L_0222: brtrue Label #9
L_0227: ldarg.2
L_0228: call Boolean ShouldSendNotificationAbout(Verse.Pawn)
L_022d: brfalse Label #10
L_0232: Label #9
L_0232: call Verse.LetterStack get_LetterStack()
L_0237: ldstr "LetterLabelBreakup"
L_023c: call System.String Translate(System.String)
L_0241: ldloc.2
L_0242: callvirt System.String ToString()
L_0247: ldsfld Verse.LetterDef BadNonUrgent
L_024c: ldarg.1
L_024d: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_0252: ldnull
L_0253: callvirt Void ReceiveLetter(System.String, System.String, Verse.LetterDef,
GlobalTargetInfo, System.String)
L_0258: Label #10
L_0258: br Label #0
L_025d: Label #0
L_025d: Label #1
L_025d: ret
DONE

PATCHING RimWorld.InteractionWorker_Breakup Single


RandomSelectionWeight(Verse.Pawn, Verse.Pawn)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Single
L_0000: Local var #2 System.Single
L_0000: ldc.r4 0
L_0005: stloc 2 (System.Single)
L_0006: ldarg.0
L_0007: ldloca 2 (System.Single)
L_0009: ldarg 1
L_000f: ldarg 2
L_0015: call Boolean NewSelectionWeight(RimWorld.InteractionWorker_Breakup, Single
ByRef, Verse.Pawn, Verse.Pawn)
L_001a: brfalse Label #1
L_001f: ldarg.1
L_0020: ldarg.2
L_0021: call Boolean LovePartnerRelationExists(Verse.Pawn, Verse.Pawn)
L_0026: brtrue Label #2
L_002b: ldc.r4 0
L_0030: br Label #0
L_0035: Label #2
L_0035: ldc.r4 100
L_003a: ldc.r4 -100
L_003f: ldarg.1
L_0040: ldfld RimWorld.Pawn_RelationsTracker relations
L_0045: ldarg.2
L_0046: callvirt Int32 OpinionOf(Verse.Pawn)
L_004b: conv.r4
L_004c: call Single InverseLerp(Single, Single, Single)
L_0051: stloc.0
L_0052: ldc.r4 1
L_0057: stloc.1
L_0058: ldarg.1
L_0059: ldfld RimWorld.Pawn_RelationsTracker relations
L_005e: ldsfld RimWorld.PawnRelationDef Spouse
L_0063: ldarg.2
L_0064: callvirt Boolean DirectRelationExists(RimWorld.PawnRelationDef, Verse.Pawn)
L_0069: brfalse Label #3
L_006e: ldc.r4 0.4
L_0073: stloc.1
L_0074: Label #3
L_0074: ldc.r4 0.02
L_0079: ldloc.0
L_007a: mul
L_007b: ldloc.1
L_007c: mul
L_007d: br Label #0
L_0082: Label #0
L_0082: stloc 2 (System.Single)
L_0083: Label #1
L_0083: ldloc 2 (System.Single)
L_0084: ret
DONE

PATCHING RimWorld.InteractionWorker_RomanceAttempt Void


BreakLoverAndFianceRelations(Verse.Pawn,
System.Collections.Generic.List`1[Verse.Pawn] ByRef)
L_0000: Local var #0 Verse.Pawn
L_0000: Local var #1 Verse.Pawn
L_0000: ldarg 1
L_0006: ldarg 2
L_000c: call Boolean BreakRelations(Verse.Pawn,
System.Collections.Generic.List`1[Verse.Pawn] ByRef)
L_0011: brfalse Label #1
L_0016: ldarg.2
L_0017: newobj Void .ctor()
L_001c: stind.ref
L_001d: Label #3
L_001d: Label #5
L_001d: Label #7
L_001d: ldarg.1
L_001e: ldfld RimWorld.Pawn_RelationsTracker relations
L_0023: ldsfld RimWorld.PawnRelationDef Lover
L_0028: ldnull
L_0029: callvirt Verse.Pawn GetFirstDirectRelationPawn(RimWorld.PawnRelationDef,
System.Predicate`1[Verse.Pawn])
L_002e: stloc.0
L_002f: ldloc.0
L_0030: brfalse Label #2
L_0035: ldarg.1
L_0036: ldfld RimWorld.Pawn_RelationsTracker relations
L_003b: ldsfld RimWorld.PawnRelationDef Lover
L_0040: ldloc.0
L_0041: callvirt Void RemoveDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_0046: ldarg.1
L_0047: ldfld RimWorld.Pawn_RelationsTracker relations
L_004c: ldsfld RimWorld.PawnRelationDef ExLover
L_0051: ldloc.0
L_0052: callvirt Void AddDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_0057: ldarg.2
L_0058: ldind.ref
L_0059: ldloc.0
L_005a: callvirt Void Add(Verse.Pawn)
L_005f: br Label #3
L_0064: Label #2
L_0064: ldarg.1
L_0065: ldfld RimWorld.Pawn_RelationsTracker relations
L_006a: ldsfld RimWorld.PawnRelationDef Fiance
L_006f: ldnull
L_0070: callvirt Verse.Pawn GetFirstDirectRelationPawn(RimWorld.PawnRelationDef,
System.Predicate`1[Verse.Pawn])
L_0075: stloc.1
L_0076: ldloc.1
L_0077: brfalse Label #4
L_007c: ldarg.1
L_007d: ldfld RimWorld.Pawn_RelationsTracker relations
L_0082: ldsfld RimWorld.PawnRelationDef Fiance
L_0087: ldloc.1
L_0088: callvirt Void RemoveDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_008d: ldarg.1
L_008e: ldfld RimWorld.Pawn_RelationsTracker relations
L_0093: ldsfld RimWorld.PawnRelationDef ExLover
L_0098: ldloc.1
L_0099: callvirt Void AddDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_009e: ldarg.2
L_009f: ldind.ref
L_00a0: ldloc.1
L_00a1: callvirt Void Add(Verse.Pawn)
L_00a6: br Label #5
L_00ab: Label #4
L_00ab: br Label #6
L_00b0: br Label #7
L_00b5: Label #6
L_00b5: br Label #0
L_00ba: Label #0
L_00ba: Label #1
L_00ba: ret
DONE

PATCHING RimWorld.InteractionWorker_RomanceAttempt Single


RandomSelectionWeight(Verse.Pawn, Verse.Pawn)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Single
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 System.Single
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Single
L_0000: Local var #7 System.Single
L_0000: Local var #8 System.Single
L_0000: Local var #9 System.Single
L_0000: ldc.r4 0
L_0005: stloc 9 (System.Single)
L_0007: ldarg.1
L_0008: ldarg.2
L_0009: call Boolean LovePartnerRelationExists(Verse.Pawn, Verse.Pawn)
L_000e: brfalse Label #2
L_0013: ldc.r4 0
L_0018: br Label #0
L_001d: Label #2
L_001d: ldarg.1
L_001e: ldfld RimWorld.Pawn_RelationsTracker relations
L_0023: ldarg.2
L_0024: callvirt Single SecondaryRomanceChanceFactor(Verse.Pawn)
L_0029: stloc.0
L_002a: ldloc.0
L_002b: ldc.r4 0.25
L_0030: bge.un Label #3
L_0035: ldc.r4 0
L_003a: br Label #0
L_003f: Label #3
L_003f: ldarg.1
L_0040: ldfld RimWorld.Pawn_RelationsTracker relations
L_0045: ldarg.2
L_0046: callvirt Int32 OpinionOf(Verse.Pawn)
L_004b: stloc.1
L_004c: ldloc.1
L_004d: ldc.i4.5
L_004e: bge Label #4
L_0053: ldc.r4 0
L_0058: br Label #0
L_005d: Label #4
L_005d: ldarg.2
L_005e: ldfld RimWorld.Pawn_RelationsTracker relations
L_0063: ldarg.1
L_0064: callvirt Int32 OpinionOf(Verse.Pawn)
L_0069: ldc.i4.5
L_006a: bge Label #5
L_006f: ldc.r4 0
L_0074: br Label #0
L_0079: Label #5
L_0079: ldc.r4 1
L_007e: stloc.2
L_007f: ldarg.1
L_0080: ldc.i4.0
L_0081: call Verse.Pawn ExistingMostLikedLovePartner(Verse.Pawn, Boolean)
L_0086: stloc.3
L_0087: ldloc.3
L_0088: brfalse Label #6
L_008d: ldarg.1
L_008e: ldfld RimWorld.Pawn_RelationsTracker relations
L_0093: ldloc.3
L_0094: callvirt Int32 OpinionOf(Verse.Pawn)
L_0099: conv.r4
L_009a: stloc.s 4 (System.Single)
L_009c: ldc.r4 50
L_00a1: ldc.r4 -50
L_00a6: ldloc.s 4 (System.Single)
L_00a8: call Single InverseLerp(Single, Single, Single)
L_00ad: stloc.2
L_00ae: Label #6
L_00ae: ldarg.1
L_00af: ldfld RimWorld.Pawn_StoryTracker story
L_00b4: ldfld RimWorld.TraitSet traits
L_00b9: ldsfld RimWorld.TraitDef Gay
L_00be: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00c3: brfalse Label #7
L_00c8: ldc.r4 1
L_00cd: br Label #8
L_00d2: Label #7
L_00d2: ldarg.1
L_00d3: ldfld Verse.Gender gender
L_00d8: ldc.i4.2
L_00d9: bne.un Label #9
L_00de: ldc.r4 0.15
L_00e3: br Label #10
L_00e8: Label #9
L_00e8: ldc.r4 1
L_00ed: Label #8
L_00ed: Label #10
L_00ed: stloc.s 5 (System.Single)
L_00ef: ldc.r4 0.25
L_00f4: ldc.r4 1
L_00f9: ldloc.0
L_00fa: call Single InverseLerp(Single, Single, Single)
L_00ff: stloc.s 6 (System.Single)
L_0101: ldc.r4 5
L_0106: ldc.r4 100
L_010b: ldloc.1
L_010c: conv.r4
L_010d: call Single InverseLerp(Single, Single, Single)
L_0112: stloc.s 7 (System.Single)
L_0114: ldarg.1
L_0115: ldfld Verse.Gender gender
L_011a: ldarg.2
L_011b: ldfld Verse.Gender gender
L_0120: bne.un Label #11
L_0125: ldarg.1
L_0126: ldfld RimWorld.Pawn_StoryTracker story
L_012b: ldfld RimWorld.TraitSet traits
L_0130: ldsfld RimWorld.TraitDef Gay
L_0135: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_013a: brfalse Label #12
L_013f: ldarg.2
L_0140: ldfld RimWorld.Pawn_StoryTracker story
L_0145: ldfld RimWorld.TraitSet traits
L_014a: ldsfld RimWorld.TraitDef Gay
L_014f: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_0154: brfalse Label #13
L_0159: ldc.r4 1
L_015e: stloc.s 8 (System.Single)
L_0160: br Label #14
L_0165: Label #12
L_0165: Label #13
L_0165: ldc.r4 0.15
L_016a: stloc.s 8 (System.Single)
L_016c: Label #14
L_016c: br Label #15
L_0171: Label #11
L_0171: ldarg.1
L_0172: ldfld RimWorld.Pawn_StoryTracker story
L_0177: ldfld RimWorld.TraitSet traits
L_017c: ldsfld RimWorld.TraitDef Gay
L_0181: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_0186: brtrue Label #16
L_018b: ldarg.2
L_018c: ldfld RimWorld.Pawn_StoryTracker story
L_0191: ldfld RimWorld.TraitSet traits
L_0196: ldsfld RimWorld.TraitDef Gay
L_019b: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_01a0: brtrue Label #17
L_01a5: ldc.r4 1
L_01aa: stloc.s 8 (System.Single)
L_01ac: br Label #18
L_01b1: Label #16
L_01b1: Label #17
L_01b1: ldc.r4 0.15
L_01b6: stloc.s 8 (System.Single)
L_01b8: Label #15
L_01b8: Label #18
L_01b8: ldc.r4 1.15
L_01bd: ldloc.s 5 (System.Single)
L_01bf: mul
L_01c0: ldloc.s 6 (System.Single)
L_01c2: mul
L_01c3: ldloc.s 7 (System.Single)
L_01c5: mul
L_01c6: ldloc.2
L_01c7: mul
L_01c8: ldloc.s 8 (System.Single)
L_01ca: mul
L_01cb: br Label #0
L_01d0: Label #0
L_01d0: stloc 9 (System.Single)
L_01d2: ldloca 9 (System.Single)
L_01d4: ldarg 1
L_01da: ldarg 2
L_01e0: call Void PsychologyException(Single ByRef, Verse.Pawn, Verse.Pawn)
L_01e5: ldloc 9 (System.Single)
L_01e7: ret
DONE

PATCHING RimWorld.InteractionWorker_RomanceAttempt Void Interacted(Verse.Pawn,


Verse.Pawn, System.Collections.Generic.List`1[Verse.RulePackDef])
L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.Pawn, Assembly-
CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Collections.Generic.List`1[[Verse.Pawn, Assembly-
CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 System.Int32
L_0000: ldarg 1
L_0006: ldarg 2
L_000c: call Boolean LearnSexuality(Verse.Pawn, Verse.Pawn)
L_0011: brfalse Label #1
L_0016: call Single get_Value()
L_001b: ldarg.0
L_001c: ldarg.1
L_001d: ldarg.2
L_001e: call Single SuccessChance(Verse.Pawn, Verse.Pawn)
L_0023: bge.un Label #2
L_0028: ldarg.0
L_0029: ldarg.1
L_002a: ldloca.s 0 (System.Collections.Generic.List`1[Verse.Pawn])
L_002c: call Void BreakLoverAndFianceRelations(Verse.Pawn,
System.Collections.Generic.List`1[Verse.Pawn] ByRef)
L_0031: ldarg.0
L_0032: ldarg.2
L_0033: ldloca.s 1 (System.Collections.Generic.List`1[Verse.Pawn])
L_0035: call Void BreakLoverAndFianceRelations(Verse.Pawn,
System.Collections.Generic.List`1[Verse.Pawn] ByRef)
L_003a: ldc.i4.0
L_003b: stloc.2
L_003c: br Label #3
L_0041: Label #4
L_0041: ldarg.0
L_0042: ldloc.0
L_0043: ldloc.2
L_0044: callvirt Verse.Pawn get_Item(Int32)
L_0049: ldarg.1
L_004a: call Void TryAddCheaterThought(Verse.Pawn, Verse.Pawn)
L_004f: ldloc.2
L_0050: ldc.i4.1
L_0051: add
L_0052: stloc.2
L_0053: Label #3
L_0053: ldloc.2
L_0054: ldloc.0
L_0055: callvirt Int32 get_Count()
L_005a: blt Label #4
L_005f: ldc.i4.0
L_0060: stloc.3
L_0061: br Label #5
L_0066: Label #6
L_0066: ldarg.0
L_0067: ldloc.1
L_0068: ldloc.3
L_0069: callvirt Verse.Pawn get_Item(Int32)
L_006e: ldarg.2
L_006f: call Void TryAddCheaterThought(Verse.Pawn, Verse.Pawn)
L_0074: ldloc.3
L_0075: ldc.i4.1
L_0076: add
L_0077: stloc.3
L_0078: Label #5
L_0078: ldloc.3
L_0079: ldloc.1
L_007a: callvirt Int32 get_Count()
L_007f: blt Label #6
L_0084: ldarg.1
L_0085: ldfld RimWorld.Pawn_RelationsTracker relations
L_008a: ldsfld RimWorld.PawnRelationDef ExLover
L_008f: ldarg.2
L_0090: callvirt Boolean TryRemoveDirectRelation(RimWorld.PawnRelationDef,
Verse.Pawn)
L_0095: pop
L_0096: ldarg.1
L_0097: ldfld RimWorld.Pawn_RelationsTracker relations
L_009c: ldsfld RimWorld.PawnRelationDef Lover
L_00a1: ldarg.2
L_00a2: callvirt Void AddDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_00a7: ldsfld RimWorld.TaleDef BecameLover
L_00ac: ldc.i4.2
L_00ad: newarr System.Object
L_00b2: dup
L_00b3: ldc.i4.0
L_00b4: ldarg.1
L_00b5: stelem.ref
L_00b6: dup
L_00b7: ldc.i4.1
L_00b8: ldarg.2
L_00b9: stelem.ref
L_00ba: call Void RecordTale(RimWorld.TaleDef, System.Object[])
L_00bf: ldarg.1
L_00c0: ldfld RimWorld.Pawn_NeedsTracker needs
L_00c5: ldfld RimWorld.Need_Mood mood
L_00ca: ldfld RimWorld.ThoughtHandler thoughts
L_00cf: ldfld RimWorld.MemoryThoughtHandler memories
L_00d4: ldsfld RimWorld.ThoughtDef BrokeUpWithMe
L_00d9: ldarg.2
L_00da: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_00df: ldarg.2
L_00e0: ldfld RimWorld.Pawn_NeedsTracker needs
L_00e5: ldfld RimWorld.Need_Mood mood
L_00ea: ldfld RimWorld.ThoughtHandler thoughts
L_00ef: ldfld RimWorld.MemoryThoughtHandler memories
L_00f4: ldsfld RimWorld.ThoughtDef BrokeUpWithMe
L_00f9: ldarg.1
L_00fa: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_00ff: ldarg.1
L_0100: ldfld RimWorld.Pawn_NeedsTracker needs
L_0105: ldfld RimWorld.Need_Mood mood
L_010a: ldfld RimWorld.ThoughtHandler thoughts
L_010f: ldfld RimWorld.MemoryThoughtHandler memories
L_0114: ldsfld RimWorld.ThoughtDef FailedRomanceAttemptOnMe
L_0119: ldarg.2
L_011a: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_011f: ldarg.1
L_0120: ldfld RimWorld.Pawn_NeedsTracker needs
L_0125: ldfld RimWorld.Need_Mood mood
L_012a: ldfld RimWorld.ThoughtHandler thoughts
L_012f: ldfld RimWorld.MemoryThoughtHandler memories
L_0134: ldsfld RimWorld.ThoughtDef FailedRomanceAttemptOnMeLowOpinionMood
L_0139: ldarg.2
L_013a: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_013f: ldarg.2
L_0140: ldfld RimWorld.Pawn_NeedsTracker needs
L_0145: ldfld RimWorld.Need_Mood mood
L_014a: ldfld RimWorld.ThoughtHandler thoughts
L_014f: ldfld RimWorld.MemoryThoughtHandler memories
L_0154: ldsfld RimWorld.ThoughtDef FailedRomanceAttemptOnMe
L_0159: ldarg.1
L_015a: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_015f: ldarg.2
L_0160: ldfld RimWorld.Pawn_NeedsTracker needs
L_0165: ldfld RimWorld.Need_Mood mood
L_016a: ldfld RimWorld.ThoughtHandler thoughts
L_016f: ldfld RimWorld.MemoryThoughtHandler memories
L_0174: ldsfld RimWorld.ThoughtDef FailedRomanceAttemptOnMeLowOpinionMood
L_0179: ldarg.1
L_017a: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_017f: ldarg.1
L_0180: callvirt Boolean get_IsColonist()
L_0185: brtrue Label #7
L_018a: ldarg.2
L_018b: callvirt Boolean get_IsColonist()
L_0190: brfalse Label #8
L_0195: Label #7
L_0195: ldarg.0
L_0196: ldarg.1
L_0197: ldarg.2
L_0198: ldloc.0
L_0199: ldloc.1
L_019a: call Void SendNewLoversLetter(Verse.Pawn, Verse.Pawn,
System.Collections.Generic.List`1[Verse.Pawn],
System.Collections.Generic.List`1[Verse.Pawn])
L_019f: Label #8
L_019f: ldarg.3
L_01a0: ldsfld Verse.RulePackDef Sentence_RomanceAttemptAccepted
L_01a5: callvirt Void Add(Verse.RulePackDef)
L_01aa: ldarg.1
L_01ab: ldarg.2
L_01ac: call Void TryToShareBed(Verse.Pawn, Verse.Pawn)
L_01b1: br Label #9
L_01b6: Label #2
L_01b6: ldarg.1
L_01b7: ldfld RimWorld.Pawn_NeedsTracker needs
L_01bc: ldfld RimWorld.Need_Mood mood
L_01c1: ldfld RimWorld.ThoughtHandler thoughts
L_01c6: ldfld RimWorld.MemoryThoughtHandler memories
L_01cb: ldsfld RimWorld.ThoughtDef RebuffedMyRomanceAttempt
L_01d0: ldarg.2
L_01d1: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_01d6: ldarg.2
L_01d7: ldfld RimWorld.Pawn_NeedsTracker needs
L_01dc: ldfld RimWorld.Need_Mood mood
L_01e1: ldfld RimWorld.ThoughtHandler thoughts
L_01e6: ldfld RimWorld.MemoryThoughtHandler memories
L_01eb: ldsfld RimWorld.ThoughtDef FailedRomanceAttemptOnMe
L_01f0: ldarg.1
L_01f1: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_01f6: ldarg.2
L_01f7: ldfld RimWorld.Pawn_RelationsTracker relations
L_01fc: ldarg.1
L_01fd: callvirt Int32 OpinionOf(Verse.Pawn)
L_0202: ldc.i4.0
L_0203: bgt Label #10
L_0208: ldarg.2
L_0209: ldfld RimWorld.Pawn_NeedsTracker needs
L_020e: ldfld RimWorld.Need_Mood mood
L_0213: ldfld RimWorld.ThoughtHandler thoughts
L_0218: ldfld RimWorld.MemoryThoughtHandler memories
L_021d: ldsfld RimWorld.ThoughtDef FailedRomanceAttemptOnMeLowOpinionMood
L_0222: ldarg.1
L_0223: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_0228: Label #10
L_0228: ldarg.3
L_0229: ldsfld Verse.RulePackDef Sentence_RomanceAttemptRejected
L_022e: callvirt Void Add(Verse.RulePackDef)
L_0233: Label #9
L_0233: br Label #0
L_0238: Label #0
L_0238: Label #1
L_0238: ret
DONE
PATCHING RimWorld.InteractionWorker_RomanceAttempt Void Interacted(Verse.Pawn,
Verse.Pawn, System.Collections.Generic.List`1[Verse.RulePackDef])
L_0000: Local var #0 System.Collections.Generic.List`1[[Verse.Pawn, Assembly-
CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Collections.Generic.List`1[[Verse.Pawn, Assembly-
CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #2 System.Int32
L_0000: Local var #3 System.Int32
L_0000: ldarg 1
L_0006: ldarg 2
L_000c: call Boolean LearnSexuality(Verse.Pawn, Verse.Pawn)
L_0011: brfalse Label #1
L_0016: call Single get_Value()
L_001b: ldarg.0
L_001c: ldarg.1
L_001d: ldarg.2
L_001e: call Single SuccessChance(Verse.Pawn, Verse.Pawn)
L_0023: bge.un Label #2
L_0028: ldarg.0
L_0029: ldarg.1
L_002a: ldloca.s 0 (System.Collections.Generic.List`1[Verse.Pawn])
L_002c: call Void BreakLoverAndFianceRelations(Verse.Pawn,
System.Collections.Generic.List`1[Verse.Pawn] ByRef)
L_0031: ldarg.0
L_0032: ldarg.2
L_0033: ldloca.s 1 (System.Collections.Generic.List`1[Verse.Pawn])
L_0035: call Void BreakLoverAndFianceRelations(Verse.Pawn,
System.Collections.Generic.List`1[Verse.Pawn] ByRef)
L_003a: ldc.i4.0
L_003b: stloc.2
L_003c: br Label #3
L_0041: Label #4
L_0041: ldarg.0
L_0042: ldloc.0
L_0043: ldloc.2
L_0044: callvirt Verse.Pawn get_Item(Int32)
L_0049: ldarg.1
L_004a: call Void TryAddCheaterThought(Verse.Pawn, Verse.Pawn)
L_004f: ldloc.2
L_0050: ldc.i4.1
L_0051: add
L_0052: stloc.2
L_0053: Label #3
L_0053: ldloc.2
L_0054: ldloc.0
L_0055: callvirt Int32 get_Count()
L_005a: blt Label #4
L_005f: ldc.i4.0
L_0060: stloc.3
L_0061: br Label #5
L_0066: Label #6
L_0066: ldarg.0
L_0067: ldloc.1
L_0068: ldloc.3
L_0069: callvirt Verse.Pawn get_Item(Int32)
L_006e: ldarg.2
L_006f: call Void TryAddCheaterThought(Verse.Pawn, Verse.Pawn)
L_0074: ldloc.3
L_0075: ldc.i4.1
L_0076: add
L_0077: stloc.3
L_0078: Label #5
L_0078: ldloc.3
L_0079: ldloc.1
L_007a: callvirt Int32 get_Count()
L_007f: blt Label #6
L_0084: ldarg.1
L_0085: ldfld RimWorld.Pawn_RelationsTracker relations
L_008a: ldsfld RimWorld.PawnRelationDef ExLover
L_008f: ldarg.2
L_0090: callvirt Boolean TryRemoveDirectRelation(RimWorld.PawnRelationDef,
Verse.Pawn)
L_0095: pop
L_0096: ldarg.1
L_0097: ldfld RimWorld.Pawn_RelationsTracker relations
L_009c: ldsfld RimWorld.PawnRelationDef Lover
L_00a1: ldarg.2
L_00a2: callvirt Void AddDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_00a7: ldsfld RimWorld.TaleDef BecameLover
L_00ac: ldc.i4.2
L_00ad: newarr System.Object
L_00b2: dup
L_00b3: ldc.i4.0
L_00b4: ldarg.1
L_00b5: stelem.ref
L_00b6: dup
L_00b7: ldc.i4.1
L_00b8: ldarg.2
L_00b9: stelem.ref
L_00ba: call Void RecordTale(RimWorld.TaleDef, System.Object[])
L_00bf: ldarg.1
L_00c0: ldfld RimWorld.Pawn_NeedsTracker needs
L_00c5: ldfld RimWorld.Need_Mood mood
L_00ca: ldfld RimWorld.ThoughtHandler thoughts
L_00cf: ldfld RimWorld.MemoryThoughtHandler memories
L_00d4: ldsfld RimWorld.ThoughtDef BrokeUpWithMe
L_00d9: ldarg.2
L_00da: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_00df: ldarg.2
L_00e0: ldfld RimWorld.Pawn_NeedsTracker needs
L_00e5: ldfld RimWorld.Need_Mood mood
L_00ea: ldfld RimWorld.ThoughtHandler thoughts
L_00ef: ldfld RimWorld.MemoryThoughtHandler memories
L_00f4: ldsfld RimWorld.ThoughtDef BrokeUpWithMe
L_00f9: ldarg.1
L_00fa: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_00ff: ldarg.1
L_0100: ldfld RimWorld.Pawn_NeedsTracker needs
L_0105: ldfld RimWorld.Need_Mood mood
L_010a: ldfld RimWorld.ThoughtHandler thoughts
L_010f: ldfld RimWorld.MemoryThoughtHandler memories
L_0114: ldsfld RimWorld.ThoughtDef FailedRomanceAttemptOnMe
L_0119: ldarg.2
L_011a: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_011f: ldarg.1
L_0120: ldfld RimWorld.Pawn_NeedsTracker needs
L_0125: ldfld RimWorld.Need_Mood mood
L_012a: ldfld RimWorld.ThoughtHandler thoughts
L_012f: ldfld RimWorld.MemoryThoughtHandler memories
L_0134: ldsfld RimWorld.ThoughtDef FailedRomanceAttemptOnMeLowOpinionMood
L_0139: ldarg.2
L_013a: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_013f: ldarg.2
L_0140: ldfld RimWorld.Pawn_NeedsTracker needs
L_0145: ldfld RimWorld.Need_Mood mood
L_014a: ldfld RimWorld.ThoughtHandler thoughts
L_014f: ldfld RimWorld.MemoryThoughtHandler memories
L_0154: ldsfld RimWorld.ThoughtDef FailedRomanceAttemptOnMe
L_0159: ldarg.1
L_015a: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_015f: ldarg.2
L_0160: ldfld RimWorld.Pawn_NeedsTracker needs
L_0165: ldfld RimWorld.Need_Mood mood
L_016a: ldfld RimWorld.ThoughtHandler thoughts
L_016f: ldfld RimWorld.MemoryThoughtHandler memories
L_0174: ldsfld RimWorld.ThoughtDef FailedRomanceAttemptOnMeLowOpinionMood
L_0179: ldarg.1
L_017a: callvirt Void RemoveMemoriesOfDefWhereOtherPawnIs(RimWorld.ThoughtDef,
Verse.Pawn)
L_017f: ldarg.1
L_0180: callvirt Boolean get_IsColonist()
L_0185: brtrue Label #7
L_018a: ldarg.2
L_018b: callvirt Boolean get_IsColonist()
L_0190: brfalse Label #8
L_0195: Label #7
L_0195: ldarg.0
L_0196: ldarg.1
L_0197: ldarg.2
L_0198: ldloc.0
L_0199: ldloc.1
L_019a: call Void SendNewLoversLetter(Verse.Pawn, Verse.Pawn,
System.Collections.Generic.List`1[Verse.Pawn],
System.Collections.Generic.List`1[Verse.Pawn])
L_019f: Label #8
L_019f: ldarg.3
L_01a0: ldsfld Verse.RulePackDef Sentence_RomanceAttemptAccepted
L_01a5: callvirt Void Add(Verse.RulePackDef)
L_01aa: ldarg.1
L_01ab: ldarg.2
L_01ac: call Void TryToShareBed(Verse.Pawn, Verse.Pawn)
L_01b1: br Label #9
L_01b6: Label #2
L_01b6: ldarg.1
L_01b7: ldfld RimWorld.Pawn_NeedsTracker needs
L_01bc: ldfld RimWorld.Need_Mood mood
L_01c1: ldfld RimWorld.ThoughtHandler thoughts
L_01c6: ldfld RimWorld.MemoryThoughtHandler memories
L_01cb: ldsfld RimWorld.ThoughtDef RebuffedMyRomanceAttempt
L_01d0: ldarg.2
L_01d1: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_01d6: ldarg.2
L_01d7: ldfld RimWorld.Pawn_NeedsTracker needs
L_01dc: ldfld RimWorld.Need_Mood mood
L_01e1: ldfld RimWorld.ThoughtHandler thoughts
L_01e6: ldfld RimWorld.MemoryThoughtHandler memories
L_01eb: ldsfld RimWorld.ThoughtDef FailedRomanceAttemptOnMe
L_01f0: ldarg.1
L_01f1: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_01f6: ldarg.2
L_01f7: ldfld RimWorld.Pawn_RelationsTracker relations
L_01fc: ldarg.1
L_01fd: callvirt Int32 OpinionOf(Verse.Pawn)
L_0202: ldc.i4.0
L_0203: bgt Label #10
L_0208: ldarg.2
L_0209: ldfld RimWorld.Pawn_NeedsTracker needs
L_020e: ldfld RimWorld.Need_Mood mood
L_0213: ldfld RimWorld.ThoughtHandler thoughts
L_0218: ldfld RimWorld.MemoryThoughtHandler memories
L_021d: ldsfld RimWorld.ThoughtDef FailedRomanceAttemptOnMeLowOpinionMood
L_0222: ldarg.1
L_0223: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_0228: Label #10
L_0228: ldarg.3
L_0229: ldsfld Verse.RulePackDef Sentence_RomanceAttemptRejected
L_022e: callvirt Void Add(Verse.RulePackDef)
L_0233: Label #9
L_0233: br Label #0
L_0238: Label #0
L_0238: Label #1
L_0238: ldarg.0
L_0239: ldarg 1
L_023f: ldarg 2
L_0245: ldarg 3
L_024b: call Void HandleNewThoughts(RimWorld.InteractionWorker_RomanceAttempt,
Verse.Pawn, Verse.Pawn, System.Collections.Generic.List`1[Verse.RulePackDef])
L_0250: ret
DONE

PATCHING RimWorld.InteractionWorker_RomanceAttempt Single SuccessChance(Verse.Pawn,


Verse.Pawn)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Single
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 System.Single
L_0000: ldc.r4 0
L_0005: stloc 3 (System.Single)
L_0006: ldc.r4 0.6
L_000b: stloc.0
L_000c: ldloc.0
L_000d: ldarg.2
L_000e: ldfld RimWorld.Pawn_RelationsTracker relations
L_0013: ldarg.1
L_0014: callvirt Single SecondaryRomanceChanceFactor(Verse.Pawn)
L_0019: mul
L_001a: stloc.0
L_001b: ldloc.0
L_001c: ldc.r4 5
L_0021: ldc.r4 100
L_0026: ldarg.2
L_0027: ldfld RimWorld.Pawn_RelationsTracker relations
L_002c: ldarg.1
L_002d: callvirt Int32 OpinionOf(Verse.Pawn)
L_0032: conv.r4
L_0033: call Single InverseLerp(Single, Single, Single)
L_0038: mul
L_0039: stloc.0
L_003a: ldc.r4 1
L_003f: stloc.1
L_0040: ldnull
L_0041: stloc.2
L_0042: ldarg.2
L_0043: ldfld RimWorld.Pawn_RelationsTracker relations
L_0048: ldsfld RimWorld.PawnRelationDef Lover
L_004d: ldsfld System.Predicate`1[Verse.Pawn] <>f__am$cache0
L_0052: brtrue Label #2
L_0057: ldnull
L_0058: ldftn Boolean <SuccessChance>m__32C(Verse.Pawn)
L_005e: newobj Void .ctor(Object, IntPtr)
L_0063: stsfld System.Predicate`1[Verse.Pawn] <>f__am$cache0
L_0068: Label #2
L_0068: ldsfld System.Predicate`1[Verse.Pawn] <>f__am$cache0
L_006d: callvirt Verse.Pawn GetFirstDirectRelationPawn(RimWorld.PawnRelationDef,
System.Predicate`1[Verse.Pawn])
L_0072: brfalse Label #3
L_0077: ldarg.2
L_0078: ldfld RimWorld.Pawn_RelationsTracker relations
L_007d: ldsfld RimWorld.PawnRelationDef Lover
L_0082: ldnull
L_0083: callvirt Verse.Pawn GetFirstDirectRelationPawn(RimWorld.PawnRelationDef,
System.Predicate`1[Verse.Pawn])
L_0088: stloc.2
L_0089: ldc.r4 0.6
L_008e: stloc.1
L_008f: br Label #4
L_0094: Label #3
L_0094: ldarg.2
L_0095: ldfld RimWorld.Pawn_RelationsTracker relations
L_009a: ldsfld RimWorld.PawnRelationDef Fiance
L_009f: ldsfld System.Predicate`1[Verse.Pawn] <>f__am$cache1
L_00a4: brtrue Label #5
L_00a9: ldnull
L_00aa: ldftn Boolean <SuccessChance>m__32D(Verse.Pawn)
L_00b0: newobj Void .ctor(Object, IntPtr)
L_00b5: stsfld System.Predicate`1[Verse.Pawn] <>f__am$cache1
L_00ba: Label #5
L_00ba: ldsfld System.Predicate`1[Verse.Pawn] <>f__am$cache1
L_00bf: callvirt Verse.Pawn GetFirstDirectRelationPawn(RimWorld.PawnRelationDef,
System.Predicate`1[Verse.Pawn])
L_00c4: brfalse Label #6
L_00c9: ldarg.2
L_00ca: ldfld RimWorld.Pawn_RelationsTracker relations
L_00cf: ldsfld RimWorld.PawnRelationDef Fiance
L_00d4: ldnull
L_00d5: callvirt Verse.Pawn GetFirstDirectRelationPawn(RimWorld.PawnRelationDef,
System.Predicate`1[Verse.Pawn])
L_00da: stloc.2
L_00db: ldc.r4 0.1
L_00e0: stloc.1
L_00e1: br Label #7
L_00e6: Label #6
L_00e6: ldarg.2
L_00e7: call Verse.Pawn GetSpouse(Verse.Pawn)
L_00ec: brfalse Label #8
L_00f1: ldarg.2
L_00f2: call Verse.Pawn GetSpouse(Verse.Pawn)
L_00f7: callvirt Boolean get_Dead()
L_00fc: brtrue Label #9
L_0101: ldarg.2
L_0102: call Verse.Pawn GetSpouse(Verse.Pawn)
L_0107: stloc.2
L_0108: ldc.r4 0.3
L_010d: stloc.1
L_010e: Label #4
L_010e: Label #7
L_010e: Label #8
L_010e: Label #9
L_010e: ldloc.2
L_010f: brfalse Label #10
L_0114: ldloc.1
L_0115: ldc.r4 100
L_011a: ldc.r4 0
L_011f: ldarg.2
L_0120: ldfld RimWorld.Pawn_RelationsTracker relations
L_0125: ldloc.2
L_0126: callvirt Int32 OpinionOf(Verse.Pawn)
L_012b: conv.r4
L_012c: call Single InverseLerp(Single, Single, Single)
L_0131: mul
L_0132: stloc.1
L_0133: ldloc.1
L_0134: ldc.r4 1
L_0139: ldarg.2
L_013a: ldfld RimWorld.Pawn_RelationsTracker relations
L_013f: ldloc.2
L_0140: callvirt Single SecondaryRomanceChanceFactor(Verse.Pawn)
L_0145: sub
L_0146: call Single Clamp01(Single)
L_014b: mul
L_014c: stloc.1
L_014d: Label #10
L_014d: ldloc.0
L_014e: ldloc.1
L_014f: mul
L_0150: stloc.0
L_0151: ldloc.0
L_0152: call Single Clamp01(Single)
L_0157: br Label #0
L_015c: Label #0
L_015c: stloc 3 (System.Single)
L_015d: ldloca 3 (System.Single)
L_015f: ldarg 1
L_0165: ldarg 2
L_016b: call Void NewSuccessChance(Single ByRef, Verse.Pawn, Verse.Pawn)
L_0170: ldloc 3 (System.Single)
L_0171: ret
DONE
PATCHING RimWorld.InteractionWorker_RomanceAttempt Void
TryAddCheaterThought(Verse.Pawn, Verse.Pawn)
L_0000: ldarg.1
L_0001: callvirt Boolean get_Dead()
L_0006: brfalse Label #2
L_000b: br Label #0
L_0010: Label #2
L_0010: ldarg.1
L_0011: ldfld RimWorld.Pawn_NeedsTracker needs
L_0016: ldfld RimWorld.Need_Mood mood
L_001b: ldfld RimWorld.ThoughtHandler thoughts
L_0020: ldfld RimWorld.MemoryThoughtHandler memories
L_0025: ldsfld RimWorld.ThoughtDef CheatedOnMe
L_002a: ldarg.2
L_002b: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_0030: br Label #0
L_0035: Label #0
L_0035: ldarg 1
L_003b: ldarg 2
L_0041: call Void AddCodependentThought(Verse.Pawn, Verse.Pawn)
L_0046: ret
DONE

PATCHING RimWorld.LovePartnerRelationUtility Single


LovePartnerRelationGenerationChance(Verse.Pawn, Verse.Pawn, PawnGenerationRequest,
Boolean)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Int32
L_0000: Local var #2
System.Collections.Generic.List`1[[RimWorld.DirectPawnRelation, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Single
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Single
L_0000: Local var #7 System.Single
L_0000: Local var #8 System.Single
L_0000: Local var #9 System.Single
L_0000: Local var #10 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #11 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #12 System.Single
L_0000: ldc.r4 0
L_0005: stloc 12 (System.Single)
L_0007: ldarg.0
L_0008: ldfld Verse.Pawn_AgeTracker ageTracker
L_000d: callvirt Single get_AgeBiologicalYearsFloat()
L_0012: ldc.r4 14
L_0017: bge.un Label #2
L_001c: ldc.r4 0
L_0021: br Label #0
L_0026: Label #2
L_0026: ldarg.1
L_0027: ldfld Verse.Pawn_AgeTracker ageTracker
L_002c: callvirt Single get_AgeBiologicalYearsFloat()
L_0031: ldc.r4 14
L_0036: bge.un Label #3
L_003b: ldc.r4 0
L_0040: br Label #0
L_0045: Label #3
L_0045: ldarg.0
L_0046: ldfld Verse.Gender gender
L_004b: ldarg.1
L_004c: ldfld Verse.Gender gender
L_0051: bne.un Label #4
L_0056: ldarg.1
L_0057: ldfld RimWorld.Pawn_StoryTracker story
L_005c: ldfld RimWorld.TraitSet traits
L_0061: ldsfld RimWorld.TraitDef Gay
L_0066: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_006b: brfalse Label #5
L_0070: ldarga.s 2
L_0072: call Boolean get_AllowGay()
L_0077: brtrue Label #6
L_007c: Label #5
L_007c: ldc.r4 0
L_0081: br Label #0
L_0086: Label #4
L_0086: Label #6
L_0086: ldarg.0
L_0087: ldfld Verse.Gender gender
L_008c: ldarg.1
L_008d: ldfld Verse.Gender gender
L_0092: beq Label #7
L_0097: ldarg.1
L_0098: ldfld RimWorld.Pawn_StoryTracker story
L_009d: ldfld RimWorld.TraitSet traits
L_00a2: ldsfld RimWorld.TraitDef Gay
L_00a7: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00ac: brfalse Label #8
L_00b1: ldc.r4 0
L_00b6: br Label #0
L_00bb: Label #7
L_00bb: Label #8
L_00bb: ldc.r4 1
L_00c0: stloc.0
L_00c1: ldarg.3
L_00c2: brfalse Label #9
L_00c7: ldc.i4.0
L_00c8: stloc.1
L_00c9: ldarg.1
L_00ca: ldfld RimWorld.Pawn_RelationsTracker relations
L_00cf: callvirt System.Collections.Generic.List`1[RimWorld.DirectPawnRelation]
get_DirectRelations()
L_00d4: stloc.2
L_00d5: ldc.i4.0
L_00d6: stloc.3
L_00d7: br Label #10
L_00dc: Label #12
L_00dc: ldloc.2
L_00dd: ldloc.3
L_00de: callvirt RimWorld.DirectPawnRelation get_Item(Int32)
L_00e3: ldfld RimWorld.PawnRelationDef def
L_00e8: call Boolean IsExLovePartnerRelation(RimWorld.PawnRelationDef)
L_00ed: brfalse Label #11
L_00f2: ldloc.1
L_00f3: ldc.i4.1
L_00f4: add
L_00f5: stloc.1
L_00f6: Label #11
L_00f6: ldloc.3
L_00f7: ldc.i4.1
L_00f8: add
L_00f9: stloc.3
L_00fa: Label #10
L_00fa: ldloc.3
L_00fb: ldloc.2
L_00fc: callvirt Int32 get_Count()
L_0101: blt Label #12
L_0106: ldc.r4 0.2
L_010b: ldloc.1
L_010c: conv.r4
L_010d: call Single Pow(Single, Single)
L_0112: stloc.0
L_0113: br Label #13
L_0118: Label #9
L_0118: ldarg.1
L_0119: call Boolean HasAnyLovePartner(Verse.Pawn)
L_011e: brfalse Label #14
L_0123: ldc.r4 0
L_0128: br Label #0
L_012d: Label #13
L_012d: Label #14
L_012d: ldarg.0
L_012e: ldfld Verse.Gender gender
L_0133: ldarg.1
L_0134: ldfld Verse.Gender gender
L_0139: bne.un Label #15
L_013e: ldc.r4 0.01
L_0143: br Label #16
L_0148: Label #15
L_0148: ldc.r4 1
L_014d: Label #16
L_014d: stloc.s 4 (System.Single)
L_014f: ldarg.0
L_0150: call Single GetGenerationChanceAgeFactor(Verse.Pawn)
L_0155: stloc.s 5 (System.Single)
L_0157: ldarg.1
L_0158: call Single GetGenerationChanceAgeFactor(Verse.Pawn)
L_015d: stloc.s 6 (System.Single)
L_015f: ldarg.0
L_0160: ldarg.1
L_0161: ldarg.3
L_0162: call Single GetGenerationChanceAgeGapFactor(Verse.Pawn, Verse.Pawn,
Boolean)
L_0167: stloc.s 7 (System.Single)
L_0169: ldc.r4 1
L_016e: stloc.s 8 (System.Single)
L_0170: ldarg.0
L_0171: ldarg.1
L_0172: call IEnumerable`1 GetRelations(Verse.Pawn, Verse.Pawn)
L_0177: ldsfld System.Func`2[RimWorld.PawnRelationDef,System.Boolean]
<>f__am$cache0
L_017c: brtrue Label #17
L_0181: ldnull
L_0182: ldftn Boolean
<LovePartnerRelationGenerationChance>m__332(RimWorld.PawnRelationDef)
L_0188: newobj Void .ctor(Object, IntPtr)
L_018d: stsfld System.Func`2[RimWorld.PawnRelationDef,System.Boolean]
<>f__am$cache0
L_0192: Label #17
L_0192: ldsfld System.Func`2[RimWorld.PawnRelationDef,System.Boolean]
<>f__am$cache0
L_0197: call Boolean Any[PawnRelationDef](IEnumerable`1,
System.Func`2[RimWorld.PawnRelationDef,System.Boolean])
L_019c: brfalse Label #18
L_01a1: ldc.r4 0.01
L_01a6: stloc.s 8 (System.Single)
L_01a8: Label #18
L_01a8: ldc.r4 1
L_01ad: stloc.s 9 (System.Single)
L_01af: ldarga.s 2
L_01b1: call Nullable`1 get_FixedMelanin()
L_01b6: stloc.s 10 (System.Nullable`1[System.Single])
L_01b8: ldloca.s 10 (System.Nullable`1[System.Single])
L_01ba: call Boolean get_HasValue()
L_01bf: brfalse Label #19
L_01c4: ldarga.s 2
L_01c6: call Nullable`1 get_FixedMelanin()
L_01cb: stloc.s 11 (System.Nullable`1[System.Single])
L_01cd: ldloca.s 11 (System.Nullable`1[System.Single])
L_01cf: call Single get_Value()
L_01d4: ldarg.1
L_01d5: ldfld RimWorld.Pawn_StoryTracker story
L_01da: ldfld System.Single melanin
L_01df: call Single GetMelaninSimilarityFactor(Single, Single)
L_01e4: stloc.s 9 (System.Single)
L_01e6: br Label #20
L_01eb: Label #19
L_01eb: ldarg.1
L_01ec: ldfld RimWorld.Pawn_StoryTracker story
L_01f1: ldfld System.Single melanin
L_01f6: call Single GetMelaninCommonalityFactor(Single)
L_01fb: stloc.s 9 (System.Single)
L_01fd: Label #20
L_01fd: ldloc.0
L_01fe: ldloc.s 5 (System.Single)
L_0200: mul
L_0201: ldloc.s 6 (System.Single)
L_0203: mul
L_0204: ldloc.s 7 (System.Single)
L_0206: mul
L_0207: ldloc.s 4 (System.Single)
L_0209: mul
L_020a: ldloc.s 9 (System.Single)
L_020c: mul
L_020d: ldloc.s 8 (System.Single)
L_020f: mul
L_0210: br Label #0
L_0215: Label #0
L_0215: stloc 12 (System.Single)
L_0217: ldloca 12 (System.Single)
L_0219: ldarg 0
L_021f: ldarg 1
L_0225: ldarg 2
L_022b: ldarg 3
L_0231: call Void PsychologyFormula(Single ByRef, Verse.Pawn, Verse.Pawn,
PawnGenerationRequest, Boolean)
L_0236: ldloc 12 (System.Single)
L_0238: ret
DONE

PATCHING RimWorld.LovePartnerRelationUtility Void


ChangeSpouseRelationsToExSpouse(Verse.Pawn)
L_0000: Local var #0 Verse.Pawn
L_0000: ldarg 0
L_0006: call Boolean PolygamousException(Verse.Pawn)
L_000b: brfalse Label #1
L_0010: Label #4
L_0010: ldarg.0
L_0011: ldfld RimWorld.Pawn_RelationsTracker relations
L_0016: ldsfld RimWorld.PawnRelationDef Spouse
L_001b: ldnull
L_001c: callvirt Verse.Pawn GetFirstDirectRelationPawn(RimWorld.PawnRelationDef,
System.Predicate`1[Verse.Pawn])
L_0021: stloc.0
L_0022: ldloc.0
L_0023: brtrue Label #2
L_0028: br Label #3
L_002d: Label #2
L_002d: ldarg.0
L_002e: ldfld RimWorld.Pawn_RelationsTracker relations
L_0033: ldsfld RimWorld.PawnRelationDef Spouse
L_0038: ldloc.0
L_0039: callvirt Void RemoveDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_003e: ldarg.0
L_003f: ldfld RimWorld.Pawn_RelationsTracker relations
L_0044: ldsfld RimWorld.PawnRelationDef ExSpouse
L_0049: ldloc.0
L_004a: callvirt Void AddDirectRelation(RimWorld.PawnRelationDef, Verse.Pawn)
L_004f: br Label #4
L_0054: Label #3
L_0054: br Label #0
L_0059: Label #0
L_0059: Label #1
L_0059: ret
DONE

PATCHING Verse.PawnGenerator Void GenerateTraits(Verse.Pawn, PawnGenerationRequest)


L_0000: Local var #0 System.Collections.Generic.List`1[[RimWorld.TraitEntry,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #1 System.Int32
L_0000: Local var #2 RimWorld.TraitEntry
L_0000: Local var #3 System.Collections.Generic.List`1[[RimWorld.TraitEntry,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #4 System.Int32
L_0000: Local var #5 RimWorld.TraitEntry
L_0000: Local var #6 System.Int32
L_0000: Local var #7 RimWorld.Trait
L_0000: Local var #8 System.Int32
L_0000: Local var #9 RimWorld.Trait
L_0000: Local var #10 System.Single
L_0000: Local var #11 Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548
L_0000: Local var #12 Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549
L_0000: ldarga 0
L_0006: ldarg 1
L_000c: call Boolean KinseyException(Verse.Pawn ByRef, PawnGenerationRequest)
L_0011: brfalse Label #1
L_0016: ldarg 0
L_001c: call Void GenerateTraitsPrefix(Verse.Pawn)
L_0021: newobj Void .ctor()
L_0026: stloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0028: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_002a: ldarg.0
L_002b: stfld Verse.Pawn pawn
L_0030: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0032: ldfld Verse.Pawn pawn
L_0037: ldfld RimWorld.Pawn_StoryTracker story
L_003c: brtrue Label #2
L_0041: br Label #0
L_0046: Label #2
L_0046: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0048: ldfld Verse.Pawn pawn
L_004d: ldfld RimWorld.Pawn_StoryTracker story
L_0052: ldfld RimWorld.Backstory childhood
L_0057: ldfld System.Collections.Generic.List`1[RimWorld.TraitEntry] forcedTraits
L_005c: brfalse Label #3
L_0061: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0063: ldfld Verse.Pawn pawn
L_0068: ldfld RimWorld.Pawn_StoryTracker story
L_006d: ldfld RimWorld.Backstory childhood
L_0072: ldfld System.Collections.Generic.List`1[RimWorld.TraitEntry] forcedTraits
L_0077: stloc.0
L_0078: ldc.i4.0
L_0079: stloc.1
L_007a: br Label #4
L_007f: Label #8
L_007f: ldloc.0
L_0080: ldloc.1
L_0081: callvirt RimWorld.TraitEntry get_Item(Int32)
L_0086: stloc.2
L_0087: ldloc.2
L_0088: ldfld RimWorld.TraitDef def
L_008d: brtrue Label #5
L_0092: ldstr "Null forced trait def on "
L_0097: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0099: ldfld Verse.Pawn pawn
L_009e: ldfld RimWorld.Pawn_StoryTracker story
L_00a3: ldfld RimWorld.Backstory childhood
L_00a8: call System.String Concat(System.Object, System.Object)
L_00ad: call Void Error(System.String)
L_00b2: br Label #6
L_00b7: Label #5
L_00b7: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_00b9: ldfld Verse.Pawn pawn
L_00be: ldfld RimWorld.Pawn_StoryTracker story
L_00c3: ldfld RimWorld.TraitSet traits
L_00c8: ldloc.2
L_00c9: ldfld RimWorld.TraitDef def
L_00ce: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_00d3: brtrue Label #7
L_00d8: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_00da: ldfld Verse.Pawn pawn
L_00df: ldfld RimWorld.Pawn_StoryTracker story
L_00e4: ldfld RimWorld.TraitSet traits
L_00e9: ldloc.2
L_00ea: ldfld RimWorld.TraitDef def
L_00ef: ldloc.2
L_00f0: ldfld System.Int32 degree
L_00f5: ldc.i4.0
L_00f6: newobj Void .ctor(TraitDef, Int32, Boolean)
L_00fb: callvirt Void GainTrait(RimWorld.Trait)
L_0100: Label #6
L_0100: Label #7
L_0100: ldloc.1
L_0101: ldc.i4.1
L_0102: add
L_0103: stloc.1
L_0104: Label #4
L_0104: ldloc.1
L_0105: ldloc.0
L_0106: callvirt Int32 get_Count()
L_010b: blt Label #8
L_0110: Label #3
L_0110: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0112: ldfld Verse.Pawn pawn
L_0117: ldfld RimWorld.Pawn_StoryTracker story
L_011c: ldfld RimWorld.Backstory adulthood
L_0121: brfalse Label #9
L_0126: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0128: ldfld Verse.Pawn pawn
L_012d: ldfld RimWorld.Pawn_StoryTracker story
L_0132: ldfld RimWorld.Backstory adulthood
L_0137: ldfld System.Collections.Generic.List`1[RimWorld.TraitEntry] forcedTraits
L_013c: brfalse Label #10
L_0141: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0143: ldfld Verse.Pawn pawn
L_0148: ldfld RimWorld.Pawn_StoryTracker story
L_014d: ldfld RimWorld.Backstory adulthood
L_0152: ldfld System.Collections.Generic.List`1[RimWorld.TraitEntry] forcedTraits
L_0157: stloc.3
L_0158: ldc.i4.0
L_0159: stloc.s 4 (System.Int32)
L_015b: br Label #11
L_0160: Label #15
L_0160: ldloc.3
L_0161: ldloc.s 4 (System.Int32)
L_0163: callvirt RimWorld.TraitEntry get_Item(Int32)
L_0168: stloc.s 5 (RimWorld.TraitEntry)
L_016a: ldloc.s 5 (RimWorld.TraitEntry)
L_016c: ldfld RimWorld.TraitDef def
L_0171: brtrue Label #12
L_0176: ldstr "Null forced trait def on "
L_017b: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_017d: ldfld Verse.Pawn pawn
L_0182: ldfld RimWorld.Pawn_StoryTracker story
L_0187: ldfld RimWorld.Backstory adulthood
L_018c: call System.String Concat(System.Object, System.Object)
L_0191: call Void Error(System.String)
L_0196: br Label #13
L_019b: Label #12
L_019b: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_019d: ldfld Verse.Pawn pawn
L_01a2: ldfld RimWorld.Pawn_StoryTracker story
L_01a7: ldfld RimWorld.TraitSet traits
L_01ac: ldloc.s 5 (RimWorld.TraitEntry)
L_01ae: ldfld RimWorld.TraitDef def
L_01b3: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_01b8: brtrue Label #14
L_01bd: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_01bf: ldfld Verse.Pawn pawn
L_01c4: ldfld RimWorld.Pawn_StoryTracker story
L_01c9: ldfld RimWorld.TraitSet traits
L_01ce: ldloc.s 5 (RimWorld.TraitEntry)
L_01d0: ldfld RimWorld.TraitDef def
L_01d5: ldloc.s 5 (RimWorld.TraitEntry)
L_01d7: ldfld System.Int32 degree
L_01dc: ldc.i4.0
L_01dd: newobj Void .ctor(TraitDef, Int32, Boolean)
L_01e2: callvirt Void GainTrait(RimWorld.Trait)
L_01e7: Label #13
L_01e7: Label #14
L_01e7: ldloc.s 4 (System.Int32)
L_01e9: ldc.i4.1
L_01ea: add
L_01eb: stloc.s 4 (System.Int32)
L_01ed: Label #11
L_01ed: ldloc.s 4 (System.Int32)
L_01ef: ldloc.3
L_01f0: callvirt Int32 get_Count()
L_01f5: blt Label #15
L_01fa: Label #9
L_01fa: Label #10
L_01fa: ldc.i4.2
L_01fb: ldc.i4.3
L_01fc: call Int32 RangeInclusive(Int32, Int32)
L_0201: stloc.s 6 (System.Int32)
L_0203: ldarga.s 1
L_0205: call Boolean get_AllowGay()
L_020a: brfalse Label #16
L_020f: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0211: ldfld Verse.Pawn pawn
L_0216: call Boolean HasAnyLovePartnerOfTheSameGender(Verse.Pawn)
L_021b: brtrue Label #17
L_0220: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0222: ldfld Verse.Pawn pawn
L_0227: call Boolean HasAnyExLovePartnerOfTheSameGender(Verse.Pawn)
L_022c: brfalse Label #18
L_0231: Label #17
L_0231: ldsfld RimWorld.TraitDef Gay
L_0236: ldsfld RimWorld.TraitDef Gay
L_023b: call Int32 RandomTraitDegree(RimWorld.TraitDef)
L_0240: ldc.i4.0
L_0241: newobj Void .ctor(TraitDef, Int32, Boolean)
L_0246: stloc.s 7 (RimWorld.Trait)
L_0248: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_024a: ldfld Verse.Pawn pawn
L_024f: ldfld RimWorld.Pawn_StoryTracker story
L_0254: ldfld RimWorld.TraitSet traits
L_0259: ldloc.s 7 (RimWorld.Trait)
L_025b: callvirt Void GainTrait(RimWorld.Trait)
L_0260: Label #16
L_0260: Label #18
L_0260: br Label #19
L_0265: Label #50
L_0265: newobj Void .ctor()
L_026a: stloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_026c: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_026e: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0270: stfld Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548 <>f__ref$1352
L_0275: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_0277: ldarg.0
L_0278: call RimWorld.TraitDef GenerateTraitsValidator(Verse.Pawn)
L_027d: stfld RimWorld.TraitDef newTraitDef
L_0282: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0284: ldfld Verse.Pawn pawn
L_0289: ldfld RimWorld.Pawn_StoryTracker story
L_028e: ldfld RimWorld.TraitSet traits
L_0293: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_0295: ldfld RimWorld.TraitDef newTraitDef
L_029a: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_029f: brfalse Label #20
L_02a4: br Label #21
L_02a9: Label #20
L_02a9: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_02ab: ldfld RimWorld.TraitDef newTraitDef
L_02b0: ldsfld RimWorld.TraitDef Gay
L_02b5: bne.un Label #22
L_02ba: ldarga.s 1
L_02bc: call Boolean get_AllowGay()
L_02c1: brtrue Label #23
L_02c6: br Label #24
L_02cb: Label #23
L_02cb: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_02cd: ldfld Verse.Pawn pawn
L_02d2: call Boolean HasAnyLovePartnerOfTheOppositeGender(Verse.Pawn)
L_02d7: brtrue Label #25
L_02dc: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_02de: ldfld Verse.Pawn pawn
L_02e3: call Boolean HasAnyExLovePartnerOfTheOppositeGender(Verse.Pawn)
L_02e8: brfalse Label #26
L_02ed: Label #25
L_02ed: br Label #27
L_02f2: Label #22
L_02f2: Label #26
L_02f2: ldarga.s 1
L_02f4: call RimWorld.Faction get_Faction()
L_02f9: brfalse Label #28
L_02fe: call RimWorld.Faction get_OfPlayerSilentFail()
L_0303: brfalse Label #29
L_0308: ldarga.s 1
L_030a: call RimWorld.Faction get_Faction()
L_030f: call RimWorld.Faction get_OfPlayer()
L_0314: call Boolean HostileTo(RimWorld.Faction, RimWorld.Faction)
L_0319: brfalse Label #30
L_031e: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_0320: ldfld RimWorld.TraitDef newTraitDef
L_0325: ldfld System.Boolean allowOnHostileSpawn
L_032a: brtrue Label #31
L_032f: br Label #32
L_0334: Label #28
L_0334: Label #29
L_0334: Label #30
L_0334: Label #31
L_0334: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0336: ldfld Verse.Pawn pawn
L_033b: ldfld RimWorld.Pawn_StoryTracker story
L_0340: ldfld RimWorld.TraitSet traits
L_0345: ldfld System.Collections.Generic.List`1[RimWorld.Trait] allTraits
L_034a: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_034c: ldftn Boolean <>m__8E9(RimWorld.Trait)
L_0352: newobj Void .ctor(Object, IntPtr)
L_0357: call Boolean Any[Trait](System.Collections.Generic.List`1[RimWorld.Trait],
System.Predicate`1[RimWorld.Trait])
L_035c: brtrue Label #33
L_0361: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_0363: ldfld RimWorld.TraitDef newTraitDef
L_0368: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef]
conflictingTraits
L_036d: brfalse Label #34
L_0372: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_0374: ldfld RimWorld.TraitDef newTraitDef
L_0379: ldfld System.Collections.Generic.List`1[RimWorld.TraitDef]
conflictingTraits
L_037e: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_0380: ldftn Boolean <>m__8EA(RimWorld.TraitDef)
L_0386: newobj Void .ctor(Object, IntPtr)
L_038b: call Boolean Any[TraitDef]
(System.Collections.Generic.List`1[RimWorld.TraitDef],
System.Predicate`1[RimWorld.TraitDef])
L_0390: brfalse Label #35
L_0395: Label #33
L_0395: br Label #36
L_039a: Label #34
L_039a: Label #35
L_039a: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_039c: ldfld RimWorld.TraitDef newTraitDef
L_03a1: ldfld System.Collections.Generic.List`1[Verse.WorkTypeDef]
requiredWorkTypes
L_03a6: brfalse Label #37
L_03ab: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_03ad: ldfld Verse.Pawn pawn
L_03b2: ldfld RimWorld.Pawn_StoryTracker story
L_03b7: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_03b9: ldfld RimWorld.TraitDef newTraitDef
L_03be: ldfld System.Collections.Generic.List`1[Verse.WorkTypeDef]
requiredWorkTypes
L_03c3: callvirt Boolean
OneOfWorkTypesIsDisabled(System.Collections.Generic.List`1[Verse.WorkTypeDef])
L_03c8: brfalse Label #38
L_03cd: br Label #39
L_03d2: Label #37
L_03d2: Label #38
L_03d2: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_03d4: ldfld Verse.Pawn pawn
L_03d9: ldfld RimWorld.Pawn_StoryTracker story
L_03de: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_03e0: ldfld RimWorld.TraitDef newTraitDef
L_03e5: ldfld Verse.WorkTags requiredWorkTags
L_03ea: callvirt Boolean WorkTagIsDisabled(WorkTags)
L_03ef: brfalse Label #40
L_03f4: br Label #41
L_03f9: Label #40
L_03f9: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_03fb: ldfld RimWorld.TraitDef newTraitDef
L_0400: call Int32 RandomTraitDegree(RimWorld.TraitDef)
L_0405: stloc.s 8 (System.Int32)
L_0407: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0409: ldfld Verse.Pawn pawn
L_040e: ldfld RimWorld.Pawn_StoryTracker story
L_0413: ldfld RimWorld.Backstory childhood
L_0418: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_041a: ldfld RimWorld.TraitDef newTraitDef
L_041f: ldloc.s 8 (System.Int32)
L_0421: callvirt Boolean DisallowsTrait(RimWorld.TraitDef, Int32)
L_0426: brtrue Label #42
L_042b: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_042d: ldfld Verse.Pawn pawn
L_0432: ldfld RimWorld.Pawn_StoryTracker story
L_0437: ldfld RimWorld.Backstory adulthood
L_043c: brfalse Label #43
L_0441: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0443: ldfld Verse.Pawn pawn
L_0448: ldfld RimWorld.Pawn_StoryTracker story
L_044d: ldfld RimWorld.Backstory adulthood
L_0452: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_0454: ldfld RimWorld.TraitDef newTraitDef
L_0459: ldloc.s 8 (System.Int32)
L_045b: callvirt Boolean DisallowsTrait(RimWorld.TraitDef, Int32)
L_0460: brfalse Label #44
L_0465: Label #42
L_0465: br Label #45
L_046a: Label #43
L_046a: Label #44
L_046a: ldloc.s 12 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey549)
L_046c: ldfld RimWorld.TraitDef newTraitDef
L_0471: ldloc.s 8 (System.Int32)
L_0473: ldc.i4.0
L_0474: newobj Void .ctor(TraitDef, Int32, Boolean)
L_0479: stloc.s 9 (RimWorld.Trait)
L_047b: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_047d: ldfld Verse.Pawn pawn
L_0482: ldfld Verse.AI.Pawn_MindState mindState
L_0487: brfalse Label #46
L_048c: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_048e: ldfld Verse.Pawn pawn
L_0493: ldfld Verse.AI.Pawn_MindState mindState
L_0498: ldfld Verse.MentalBreaker mentalBreaker
L_049d: brfalse Label #47
L_04a2: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_04a4: ldfld Verse.Pawn pawn
L_04a9: ldfld Verse.AI.Pawn_MindState mindState
L_04ae: ldfld Verse.MentalBreaker mentalBreaker
L_04b3: callvirt Single get_BreakThresholdExtreme()
L_04b8: stloc.s 10 (System.Single)
L_04ba: ldloc.s 10 (System.Single)
L_04bc: ldloc.s 9 (RimWorld.Trait)
L_04be: ldsfld RimWorld.StatDef MentalBreakThreshold
L_04c3: callvirt Single OffsetOfStat(RimWorld.StatDef)
L_04c8: add
L_04c9: stloc.s 10 (System.Single)
L_04cb: ldloc.s 10 (System.Single)
L_04cd: ldloc.s 9 (RimWorld.Trait)
L_04cf: ldsfld RimWorld.StatDef MentalBreakThreshold
L_04d4: callvirt Single MultiplierOfStat(RimWorld.StatDef)
L_04d9: mul
L_04da: stloc.s 10 (System.Single)
L_04dc: ldloc.s 10 (System.Single)
L_04de: ldc.r4 40
L_04e3: ble.un Label #48
L_04e8: br Label #49
L_04ed: Label #46
L_04ed: Label #47
L_04ed: Label #48
L_04ed: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_04ef: ldfld Verse.Pawn pawn
L_04f4: ldfld RimWorld.Pawn_StoryTracker story
L_04f9: ldfld RimWorld.TraitSet traits
L_04fe: ldloc.s 9 (RimWorld.Trait)
L_0500: callvirt Void GainTrait(RimWorld.Trait)
L_0505: Label #19
L_0505: Label #21
L_0505: Label #24
L_0505: Label #27
L_0505: Label #32
L_0505: Label #36
L_0505: Label #39
L_0505: Label #41
L_0505: Label #45
L_0505: Label #49
L_0505: ldloc.s 11 (Verse.PawnGenerator+<GenerateTraits>c__AnonStorey548)
L_0507: ldfld Verse.Pawn pawn
L_050c: ldfld RimWorld.Pawn_StoryTracker story
L_0511: ldfld RimWorld.TraitSet traits
L_0516: ldfld System.Collections.Generic.List`1[RimWorld.Trait] allTraits
L_051b: callvirt Int32 get_Count()
L_0520: ldloc.s 6 (System.Int32)
L_0522: blt Label #50
L_0527: br Label #0
L_052c: Label #0
L_052c: Label #1
L_052c: ret
DONE

PATCHING RimWorld.PawnObserver Void ObserveSurroundingThings()


L_0000: Local var #0 Verse.RoomGroup
L_0000: Local var #1 Verse.Map
L_0000: Local var #2 System.Int32
L_0000: Local var #3 Verse.IntVec3
L_0000: Local var #4 System.Collections.Generic.List`1[[Verse.Thing, Assembly-
CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #5 System.Int32
L_0000: Local var #6 RimWorld.IThoughtGiver
L_0000: Local var #7 RimWorld.Thought_Memory
L_0000: ldarg.0
L_0001: ldfld Verse.Pawn pawn
L_0006: ldfld Verse.Pawn_HealthTracker health
L_000b: ldfld Verse.PawnCapacitiesHandler capacities
L_0010: ldsfld Verse.PawnCapacityDef Sight
L_0015: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_001a: brtrue Label #2
L_001f: br Label #0
L_0024: Label #2
L_0024: ldarg.0
L_0025: ldfld Verse.Pawn pawn
L_002a: call Verse.RoomGroup GetRoomGroup(Verse.Thing)
L_002f: stloc.0
L_0030: ldarg.0
L_0031: ldfld Verse.Pawn pawn
L_0036: callvirt Verse.Map get_Map()
L_003b: stloc.1
L_003c: ldc.i4.0
L_003d: stloc.2
L_003e: br Label #3
L_0043: Label #14
L_0043: ldarg.0
L_0044: ldfld Verse.Pawn pawn
L_0049: callvirt IntVec3 get_Position()
L_004e: ldsfld Verse.IntVec3[] RadialPattern
L_0053: ldloc.2
L_0054: ldelema Verse.IntVec3
L_0059: ldobj Verse.IntVec3
L_005e: call IntVec3 op_Addition(IntVec3, IntVec3)
L_0063: stloc.3
L_0064: ldloc.3
L_0065: ldloc.1
L_0066: call Boolean InBounds(IntVec3, Verse.Map)
L_006b: brtrue Label #4
L_0070: br Label #5
L_0075: Label #4
L_0075: ldloc.3
L_0076: ldloc.1
L_0077: call Verse.RoomGroup GetRoomGroup(IntVec3, Verse.Map)
L_007c: ldloc.0
L_007d: beq Label #6
L_0082: br Label #7
L_0087: Label #6
L_0087: ldloc.3
L_0088: ldarg.0
L_0089: ldfld Verse.Pawn pawn
L_008e: callvirt IntVec3 get_Position()
L_0093: ldloc.1
L_0094: ldc.i4.1
L_0095: ldnull
L_0096: ldc.i4.0
L_0097: ldc.i4.0
L_0098: call Boolean LineOfSight(IntVec3, IntVec3, Verse.Map, Boolean,
System.Func`2[Verse.IntVec3,System.Boolean], Int32, Int32)
L_009d: brtrue Label #8
L_00a2: br Label #9
L_00a7: Label #8
L_00a7: ldloc.3
L_00a8: ldloc.1
L_00a9: call System.Collections.Generic.List`1[Verse.Thing] GetThingList(IntVec3,
Verse.Map)
L_00ae: stloc.s 4 (System.Collections.Generic.List`1[Verse.Thing])
L_00b0: ldc.i4.0
L_00b1: stloc.s 5 (System.Int32)
L_00b3: br Label #10
L_00b8: Label #13
L_00b8: ldloc.s 4 (System.Collections.Generic.List`1[Verse.Thing])
L_00ba: ldloc.s 5 (System.Int32)
L_00bc: callvirt Verse.Thing get_Item(Int32)
L_00c1: isinst RimWorld.IThoughtGiver
L_00c6: stloc.s 6 (RimWorld.IThoughtGiver)
L_00c8: ldloc.s 6 (RimWorld.IThoughtGiver)
L_00ca: brfalse Label #11
L_00cf: ldloc.s 6 (RimWorld.IThoughtGiver)
L_00d1: callvirt RimWorld.Thought_Memory GiveObservedThought()
L_00d6: stloc.s 7 (RimWorld.Thought_Memory)
L_00d8: ldloc.s 7 (RimWorld.Thought_Memory)
L_00da: brfalse Label #12
L_00df: ldarg.0
L_00e0: ldfld Verse.Pawn pawn
L_00e5: ldfld RimWorld.Pawn_NeedsTracker needs
L_00ea: ldfld RimWorld.Need_Mood mood
L_00ef: ldfld RimWorld.ThoughtHandler thoughts
L_00f4: ldfld RimWorld.MemoryThoughtHandler memories
L_00f9: ldloc.s 7 (RimWorld.Thought_Memory)
L_00fb: ldnull
L_00fc: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_0101: Label #11
L_0101: Label #12
L_0101: ldloc.s 5 (System.Int32)
L_0103: ldc.i4.1
L_0104: add
L_0105: stloc.s 5 (System.Int32)
L_0107: Label #10
L_0107: ldloc.s 5 (System.Int32)
L_0109: ldloc.s 4 (System.Collections.Generic.List`1[Verse.Thing])
L_010b: callvirt Int32 get_Count()
L_0110: blt Label #13
L_0115: Label #5
L_0115: Label #7
L_0115: Label #9
L_0115: ldloc.2
L_0116: ldc.i4.1
L_0117: add
L_0118: stloc.2
L_0119: Label #3
L_0119: ldloc.2
L_011a: conv.r4
L_011b: ldc.r4 100
L_0120: blt Label #14
L_0125: br Label #0
L_012a: Label #0
L_012a: ldarg.0
L_012b: call Void DesensitizeViaCorpse(RimWorld.PawnObserver)
L_0130: ret
DONE

PATCHING RimWorld.PawnRelationWorker_Sibling Verse.Pawn GenerateParent(Verse.Pawn,


Verse.Pawn, Gender, PawnGenerationRequest, Boolean)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Single
L_0000: Local var #2 System.Single
L_0000: Local var #3 System.Single
L_0000: Local var #4 System.Single
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Single
L_0000: Local var #7 System.Single
L_0000: Local var #8 System.Single
L_0000: Local var #9 System.Single
L_0000: Local var #10 System.Single
L_0000: Local var #11 System.String
L_0000: Local var #12 System.Boolean
L_0000: Local var #13 RimWorld.Faction
L_0000: Local var #14 System.Boolean
L_0000: Local var #15 Verse.PawnGenerationRequest
L_0000: Local var #16 Verse.Pawn
L_0000: Local var #17 System.Nullable`1[[Verse.Gender, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #18 System.Nullable`1[[System.Single, mscorlib, Version=2.0.0.0,
Culture=neutral, PublicKeyToken=b77a5c561934e089]]
L_0000: Local var #19 System.String
L_0000: Local var #20 Verse.Pawn
L_0000: ldnull
L_0001: stloc 20 (Verse.Pawn)
L_0003: ldloca 20 (Verse.Pawn)
L_0005: ldarg 0
L_000b: ldarg 1
L_0011: ldarg 2
L_0017: ldarg 3
L_001d: ldarg 4
L_0023: call Boolean KinseyException(Verse.Pawn ByRef, Verse.Pawn, Verse.Pawn,
Gender, PawnGenerationRequest, Boolean)
L_0028: brfalse Label #1
L_002d: ldarg.0
L_002e: ldfld Verse.Pawn_AgeTracker ageTracker
L_0033: callvirt Single get_AgeChronologicalYearsFloat()
L_0038: stloc.0
L_0039: ldarg.1
L_003a: ldfld Verse.Pawn_AgeTracker ageTracker
L_003f: callvirt Single get_AgeChronologicalYearsFloat()
L_0044: stloc.1
L_0045: ldarg.2
L_0046: ldc.i4.1
L_0047: bne.un Label #2
L_004c: ldc.r4 14
L_0051: br Label #3
L_0056: Label #2
L_0056: ldc.r4 16
L_005b: Label #3
L_005b: stloc.2
L_005c: ldarg.2
L_005d: ldc.i4.1
L_005e: bne.un Label #4
L_0063: ldc.r4 50
L_0068: br Label #5
L_006d: Label #4
L_006d: ldc.r4 45
L_0072: Label #5
L_0072: stloc.3
L_0073: ldarg.2
L_0074: ldc.i4.1
L_0075: bne.un Label #6
L_007a: ldc.r4 30
L_007f: br Label #7
L_0084: Label #6
L_0084: ldc.r4 27
L_0089: Label #7
L_0089: stloc.s 4 (System.Single)
L_008b: ldloc.0
L_008c: ldloc.1
L_008d: call Single Max(Single, Single)
L_0092: ldloc.2
L_0093: add
L_0094: stloc.s 5 (System.Single)
L_0096: ldloc.s 5 (System.Single)
L_0098: ldloc.3
L_0099: ldloc.2
L_009a: sub
L_009b: add
L_009c: stloc.s 6 (System.Single)
L_009e: ldloc.s 5 (System.Single)
L_00a0: ldloc.s 4 (System.Single)
L_00a2: ldloc.2
L_00a3: sub
L_00a4: add
L_00a5: stloc.s 7 (System.Single)
L_00a7: ldloc.s 5 (System.Single)
L_00a9: ldloc.s 6 (System.Single)
L_00ab: ldloc.s 7 (System.Single)
L_00ad: ldloc.2
L_00ae: ldarg.0
L_00af: ldarg.1
L_00b0: ldarg.3
L_00b1: ldloca.s 8 (System.Single)
L_00b3: ldloca.s 9 (System.Single)
L_00b5: ldloca.s 10 (System.Single)
L_00b7: ldloca.s 11 (System.String)
L_00b9: call Void GenerateParentParams(Single, Single, Single, Single, Verse.Pawn,
Verse.Pawn, PawnGenerationRequest, Single ByRef, Single ByRef, Single ByRef,
System.String ByRef)
L_00be: ldc.i4.1
L_00bf: stloc.s 12 (System.Boolean)
L_00c1: ldarg.s 4
L_00c3: brfalse Label #8
L_00c8: ldloc.s 11 (System.String)
L_00ca: call Boolean NullOrEmpty(System.String)
L_00cf: brfalse Label #9
L_00d4: call Single get_Value()
L_00d9: ldc.r4 0.8
L_00de: bge.un Label #10
L_00e3: ldarg.2
L_00e4: ldc.i4.1
L_00e5: bne.un Label #11
L_00ea: ldarg.1
L_00eb: call Verse.Pawn GetMother(Verse.Pawn)
L_00f0: brfalse Label #12
L_00f5: ldarg.1
L_00f6: call Verse.Pawn GetMother(Verse.Pawn)
L_00fb: ldfld RimWorld.Pawn_StoryTracker story
L_0100: ldfld RimWorld.TraitSet traits
L_0105: ldsfld RimWorld.TraitDef Gay
L_010a: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_010f: brtrue Label #13
L_0114: ldarg.1
L_0115: call Verse.Pawn GetMother(Verse.Pawn)
L_011a: callvirt Verse.Name get_Name()
L_011f: castclass Verse.NameTriple
L_0124: callvirt System.String get_Last()
L_0129: stloc.s 11 (System.String)
L_012b: ldc.i4.0
L_012c: stloc.s 12 (System.Boolean)
L_012e: br Label #14
L_0133: Label #11
L_0133: Label #12
L_0133: Label #13
L_0133: ldarg.2
L_0134: ldc.i4.2
L_0135: bne.un Label #15
L_013a: ldarg.1
L_013b: call Verse.Pawn GetFather(Verse.Pawn)
L_0140: brfalse Label #16
L_0145: ldarg.1
L_0146: call Verse.Pawn GetFather(Verse.Pawn)
L_014b: ldfld RimWorld.Pawn_StoryTracker story
L_0150: ldfld RimWorld.TraitSet traits
L_0155: ldsfld RimWorld.TraitDef Gay
L_015a: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_015f: brtrue Label #17
L_0164: ldarg.1
L_0165: call Verse.Pawn GetFather(Verse.Pawn)
L_016a: callvirt Verse.Name get_Name()
L_016f: castclass Verse.NameTriple
L_0174: callvirt System.String get_Last()
L_0179: stloc.s 11 (System.String)
L_017b: ldc.i4.0
L_017c: stloc.s 12 (System.Boolean)
L_017e: Label #8
L_017e: Label #9
L_017e: Label #10
L_017e: Label #14
L_017e: Label #15
L_017e: Label #16
L_017e: Label #17
L_017e: ldarg.1
L_017f: callvirt RimWorld.Faction get_Faction()
L_0184: stloc.s 13 (RimWorld.Faction)
L_0186: ldloc.s 13 (RimWorld.Faction)
L_0188: brfalse Label #18
L_018d: ldloc.s 13 (RimWorld.Faction)
L_018f: callvirt Boolean get_IsPlayer()
L_0194: brfalse Label #19
L_0199: Label #18
L_0199: ldloc.s 13 (RimWorld.Faction)
L_019b: brfalse Label #20
L_01a0: ldloc.s 13 (RimWorld.Faction)
L_01a2: ldfld RimWorld.FactionDef def
L_01a7: ldfld RimWorld.TechLevel techLevel
L_01ac: ldc.i4.3
L_01ad: clt
L_01af: ldc.i4.0
L_01b0: ceq
L_01b2: br Label #21
L_01b7: Label #20
L_01b7: ldc.i4.0
L_01b8: Label #21
L_01b8: stloc.s 14 (System.Boolean)
L_01ba: call RimWorld.FactionManager get_FactionManager()
L_01bf: ldloca.s 13 (RimWorld.Faction)
L_01c1: ldloc.s 14 (System.Boolean)
L_01c3: ldc.i4.1
L_01c4: callvirt Boolean TryGetRandomNonColonyHumanlikeFaction(RimWorld.Faction
ByRef, Boolean, Boolean)
L_01c9: pop
L_01ca: Label #19
L_01ca: ldloca.s 15 (Verse.PawnGenerationRequest)
L_01cc: ldarg.2
L_01cd: newobj Void .ctor(Gender)
L_01d2: stloc.s 17 (System.Nullable`1[Verse.Gender])
L_01d4: ldloc.s 10 (System.Single)
L_01d6: newobj Void .ctor(Single)
L_01db: stloc.s 18 (System.Nullable`1[System.Single])
L_01dd: ldloc.s 11 (System.String)
L_01df: stloc.s 19 (System.String)
L_01e1: ldarg.1
L_01e2: ldfld Verse.PawnKindDef kindDef
L_01e7: ldloc.s 13 (RimWorld.Faction)
L_01e9: ldc.i4.2
L_01ea: ldc.i4.m1
L_01eb: ldc.i4.1
L_01ec: ldc.i4.0
L_01ed: ldc.i4.1
L_01ee: ldc.i4.1
L_01ef: ldc.i4.0
L_01f0: ldc.i4.0
L_01f1: ldc.r4 1
L_01f6: ldc.i4.0
L_01f7: ldloc.s 12 (System.Boolean)
L_01f9: ldc.i4.1
L_01fa: ldc.i4.0
L_01fb: ldc.i4.0
L_01fc: ldnull
L_01fd: ldloc.s 8 (System.Single)
L_01ff: newobj Void .ctor(Single)
L_0204: ldloc.s 9 (System.Single)
L_0206: newobj Void .ctor(Single)
L_020b: ldloc.s 17 (System.Nullable`1[Verse.Gender])
L_020d: ldloc.s 18 (System.Nullable`1[System.Single])
L_020f: ldloc.s 19 (System.String)
L_0211: call Void .ctor(PawnKindDef, Faction, PawnGenerationContext, Int32,
Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Single, Boolean, Boolean,
Boolean, Boolean, Boolean, Predicate`1, Nullable`1, Nullable`1, Nullable`1,
Nullable`1, String)
L_0216: ldloc.s 15 (Verse.PawnGenerationRequest)
L_0218: call Verse.Pawn GeneratePawn(PawnGenerationRequest)
L_021d: stloc.s 16 (Verse.Pawn)
L_021f: call RimWorld.Planet.WorldPawns get_WorldPawns()
L_0224: ldloc.s 16 (Verse.Pawn)
L_0226: callvirt Boolean Contains(Verse.Pawn)
L_022b: brtrue Label #22
L_0230: call RimWorld.Planet.WorldPawns get_WorldPawns()
L_0235: ldloc.s 16 (Verse.Pawn)
L_0237: ldc.i4.1
L_0238: callvirt Void PassToWorld(Verse.Pawn, PawnDiscardDecideMode)
L_023d: Label #22
L_023d: ldloc.s 16 (Verse.Pawn)
L_023f: br Label #0
L_0244: Label #0
L_0244: stloc 20 (Verse.Pawn)
L_0246: Label #1
L_0246: ldloc 20 (Verse.Pawn)
L_0248: ret
DONE

PATCHING Verse.AI.Pawn_JobTracker Void EndCurrentJob(JobCondition, Boolean)


L_0000: Local var #0 Verse.AI.Job
L_0000: Local var #1 System.Int32
L_0000: Local var #2 System.Nullable`1[[Verse.AI.JobTag, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #3 System.Nullable`1[[Verse.AI.JobTag, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.0
L_0001: call Boolean HeavySleeperTrait(Verse.AI.Pawn_JobTracker)
L_0006: brfalse Label #1
L_000b: ldarg.0
L_000c: ldfld System.Boolean debugLog
L_0011: brfalse Label #2
L_0016: ldarg.0
L_0017: ldc.i4.6
L_0018: newarr System.Object
L_001d: dup
L_001e: ldc.i4.0
L_001f: ldstr "EndCurrentJob "
L_0024: stelem.ref
L_0025: dup
L_0026: ldc.i4.1
L_0027: ldarg.0
L_0028: ldfld Verse.AI.Job curJob
L_002d: brfalse Label #3
L_0032: ldarg.0
L_0033: ldfld Verse.AI.Job curJob
L_0038: callvirt System.String ToString()
L_003d: br Label #4
L_0042: Label #3
L_0042: ldstr "null"
L_0047: Label #4
L_0047: stelem.ref
L_0048: dup
L_0049: ldc.i4.2
L_004a: ldstr " condition="
L_004f: stelem.ref
L_0050: dup
L_0051: ldc.i4.3
L_0052: ldarg.1
L_0053: box Verse.AI.JobCondition
L_0058: stelem.ref
L_0059: dup
L_005a: ldc.i4.4
L_005b: ldstr " curToil="
L_0060: stelem.ref
L_0061: dup
L_0062: ldc.i4.5
L_0063: ldarg.0
L_0064: ldfld Verse.AI.JobDriver curDriver
L_0069: brfalse Label #5
L_006e: ldarg.0
L_006f: ldfld Verse.AI.JobDriver curDriver
L_0074: callvirt Int32 get_CurToilIndex()
L_0079: stloc.1
L_007a: ldloca.s 1 (System.Int32)
L_007c: call System.String ToString()
L_0081: br Label #6
L_0086: Label #5
L_0086: ldstr "null_driver"
L_008b: Label #6
L_008b: stelem.ref
L_008c: call System.String Concat(System.Object[])
L_0091: call Void DebugLogEvent(System.String)
L_0096: Label #2
L_0096: ldarg.0
L_0097: ldfld Verse.AI.Job curJob
L_009c: stloc.0
L_009d: ldarg.0
L_009e: ldarg.1
L_009f: ldc.i4.1
L_00a0: ldc.i4.1
L_00a1: call Void CleanupCurrentJob(JobCondition, Boolean, Boolean)
L_00a6: ldarg.2
L_00a7: brfalse Label #7
L_00ac: ldarg.1
L_00ad: ldc.i4.7
L_00ae: beq Label #8
L_00b3: ldarg.1
L_00b4: ldc.i4.6
L_00b5: bne.un Label #9
L_00ba: Label #8
L_00ba: ldarg.0
L_00bb: ldsfld Verse.JobDef Wait
L_00c0: ldc.i4 250
L_00c5: ldc.i4.0
L_00c6: newobj Void .ctor(JobDef, Int32, Boolean)
L_00cb: ldc.i4.0
L_00cc: ldnull
L_00cd: ldc.i4.0
L_00ce: ldc.i4.1
L_00cf: ldnull
L_00d0: ldloca.s 2 (System.Nullable`1[Verse.AI.JobTag])
L_00d2: initobj System.Nullable`1[Verse.AI.JobTag]
L_00d8: ldloc.2
L_00d9: call Void StartJob(Verse.AI.Job, JobCondition, Verse.AI.ThinkNode, Boolean,
Boolean, Verse.ThinkTreeDef, Nullable`1)
L_00de: br Label #0
L_00e3: Label #9
L_00e3: ldarg.1
L_00e4: ldc.i4.2
L_00e5: bne.un Label #10
L_00ea: ldloc.0
L_00eb: brfalse Label #11
L_00f0: ldloc.0
L_00f1: ldfld Verse.JobDef def
L_00f6: ldsfld Verse.JobDef WaitMaintainPosture
L_00fb: beq Label #12
L_0100: ldarg.0
L_0101: ldfld Verse.Pawn pawn
L_0106: ldfld Verse.AI.Pawn_PathFollower pather
L_010b: callvirt Boolean get_Moving()
L_0110: brtrue Label #13
L_0115: ldarg.0
L_0116: ldsfld Verse.JobDef WaitMaintainPosture
L_011b: ldc.i4.1
L_011c: ldc.i4.0
L_011d: newobj Void .ctor(JobDef, Int32, Boolean)
L_0122: ldc.i4.0
L_0123: ldnull
L_0124: ldc.i4.0
L_0125: ldc.i4.0
L_0126: ldnull
L_0127: ldloca.s 3 (System.Nullable`1[Verse.AI.JobTag])
L_0129: initobj System.Nullable`1[Verse.AI.JobTag]
L_012f: ldloc.3
L_0130: call Void StartJob(Verse.AI.Job, JobCondition, Verse.AI.ThinkNode, Boolean,
Boolean, Verse.ThinkTreeDef, Nullable`1)
L_0135: br Label #14
L_013a: Label #10
L_013a: Label #11
L_013a: Label #12
L_013a: Label #13
L_013a: ldarg.0
L_013b: call Void TryFindAndStartJob()
L_0140: Label #7
L_0140: Label #14
L_0140: br Label #0
L_0145: Label #0
L_0145: Label #1
L_0145: ret
DONE

PATCHING RimWorld.PawnDiedOrDownedThoughtsUtility Void


AppendThoughts_ForHumanlike(Verse.Pawn, Nullable`1, PawnDiedOrDownedThoughtsKind,
System.Collections.Generic.List`1[RimWorld.IndividualThoughtToAdd],
System.Collections.Generic.List`1[RimWorld.ThoughtDef])
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Boolean
L_0000: Local var #2 System.Boolean
L_0000: Local var #3 Verse.Pawn
L_0000: Local var #4 Verse.Pawn
L_0000: Local var #5 System.Collections.Generic.IEnumerator`1[[Verse.Pawn,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #6 System.Boolean
L_0000: Local var #7 Verse.DamageInfo
L_0000: Local var #8 Verse.DamageInfo
L_0000: Local var #9 Verse.DamageInfo
L_0000: Local var #10 Verse.DamageInfo
L_0000: Local var #11 Verse.DamageInfo
L_0000: ldarga.s 1
L_0002: call Boolean get_HasValue()
L_0007: brfalse Label #2
L_000c: ldarga.s 1
L_000e: call DamageInfo get_Value()
L_0013: stloc.s 7 (Verse.DamageInfo)
L_0015: ldloca.s 7 (Verse.DamageInfo)
L_0017: call Verse.DamageDef get_Def()
L_001c: ldfld System.Boolean execution
L_0021: br Label #3
L_0026: Label #2
L_0026: ldc.i4.0
L_0027: Label #3
L_0027: stloc.0
L_0028: ldarg.0
L_0029: callvirt Boolean get_IsPrisonerOfColony()
L_002e: brfalse Label #4
L_0033: ldarg.0
L_0034: ldfld RimWorld.Pawn_GuiltTracker guilt
L_0039: callvirt Boolean get_IsGuilty()
L_003e: brtrue Label #5
L_0043: ldarg.0
L_0044: callvirt Boolean get_InAggroMentalState()
L_0049: ldc.i4.0
L_004a: ceq
L_004c: br Label #6
L_0051: Label #4
L_0051: Label #5
L_0051: ldc.i4.0
L_0052: Label #6
L_0052: stloc.1
L_0053: ldarga.s 1
L_0055: call Boolean get_HasValue()
L_005a: brfalse Label #7
L_005f: ldarga.s 1
L_0061: call DamageInfo get_Value()
L_0066: stloc.s 8 (Verse.DamageInfo)
L_0068: ldloca.s 8 (Verse.DamageInfo)
L_006a: call Verse.DamageDef get_Def()
L_006f: ldfld System.Boolean externalViolence
L_0074: brfalse Label #8
L_0079: ldarga.s 1
L_007b: call DamageInfo get_Value()
L_0080: stloc.s 9 (Verse.DamageInfo)
L_0082: ldloca.s 9 (Verse.DamageInfo)
L_0084: call Verse.Thing get_Instigator()
L_0089: brfalse Label #9
L_008e: ldarga.s 1
L_0090: call DamageInfo get_Value()
L_0095: stloc.s 10 (Verse.DamageInfo)
L_0097: ldloca.s 10 (Verse.DamageInfo)
L_0099: call Verse.Thing get_Instigator()
L_009e: isinst Verse.Pawn
L_00a3: ldnull
L_00a4: cgt.un
L_00a6: br Label #10
L_00ab: Label #7
L_00ab: Label #8
L_00ab: Label #9
L_00ab: ldc.i4.0
L_00ac: Label #10
L_00ac: stloc.2
L_00ad: ldloc.2
L_00ae: brfalse Label #11
L_00b3: ldarga.s 1
L_00b5: call DamageInfo get_Value()
L_00ba: stloc.s 11 (Verse.DamageInfo)
L_00bc: ldloca.s 11 (Verse.DamageInfo)
L_00be: call Verse.Thing get_Instigator()
L_00c3: castclass Verse.Pawn
L_00c8: stloc.3
L_00c9: ldloc.3
L_00ca: callvirt Boolean get_Dead()
L_00cf: brtrue Label #12
L_00d4: ldloc.3
L_00d5: ldfld RimWorld.Pawn_NeedsTracker needs
L_00da: ldfld RimWorld.Need_Mood mood
L_00df: brfalse Label #13
L_00e4: ldloc.3
L_00e5: ldfld RimWorld.Pawn_StoryTracker story
L_00ea: brfalse Label #14
L_00ef: ldloc.3
L_00f0: ldarg.0
L_00f1: beq Label #15
L_00f6: ldarg.2
L_00f7: brtrue Label #16
L_00fc: ldarg.3
L_00fd: ldsfld RimWorld.ThoughtDef KilledHumanlikeBloodlust
L_0102: ldloc.3
L_0103: ldnull
L_0104: ldc.r4 1
L_0109: ldc.r4 1
L_010e: newobj Void .ctor(ThoughtDef, Pawn, Pawn, Single, Single)
L_0113: callvirt Void Add(IndividualThoughtToAdd)
L_0118: Label #16
L_0118: ldarg.2
L_0119: brtrue Label #17
L_011e: ldarg.0
L_011f: ldloc.3
L_0120: call Boolean HostileTo(Verse.Thing, Verse.Thing)
L_0125: brfalse Label #18
L_012a: ldarg.0
L_012b: callvirt RimWorld.Faction get_Faction()
L_0130: brfalse Label #19
L_0135: ldarg.0
L_0136: call Boolean IsFactionLeader(Verse.Pawn)
L_013b: brfalse Label #20
L_0140: ldarg.0
L_0141: callvirt RimWorld.Faction get_Faction()
L_0146: ldloc.3
L_0147: callvirt RimWorld.Faction get_Faction()
L_014c: call Boolean HostileTo(RimWorld.Faction, RimWorld.Faction)
L_0151: brfalse Label #21
L_0156: ldarg.3
L_0157: ldsfld RimWorld.ThoughtDef DefeatedHostileFactionLeader
L_015c: ldloc.3
L_015d: ldarg.0
L_015e: ldc.r4 1
L_0163: ldc.r4 1
L_0168: newobj Void .ctor(ThoughtDef, Pawn, Pawn, Single, Single)
L_016d: callvirt Void Add(IndividualThoughtToAdd)
L_0172: Label #19
L_0172: Label #20
L_0172: Label #21
L_0172: ldarg.0
L_0173: ldfld Verse.PawnKindDef kindDef
L_0178: ldfld System.Single combatPower
L_017d: ldc.r4 250
L_0182: ble.un Label #22
L_0187: ldarg.3
L_0188: ldsfld RimWorld.ThoughtDef DefeatedMajorEnemy
L_018d: ldloc.3
L_018e: ldarg.0
L_018f: ldc.r4 1
L_0194: ldc.r4 1
L_0199: newobj Void .ctor(ThoughtDef, Pawn, Pawn, Single, Single)
L_019e: callvirt Void Add(IndividualThoughtToAdd)
L_01a3: Label #11
L_01a3: Label #12
L_01a3: Label #13
L_01a3: Label #14
L_01a3: Label #15
L_01a3: Label #17
L_01a3: Label #18
L_01a3: Label #22
L_01a3: ldarg.2
L_01a4: brtrue Label #23
L_01a9: ldloc.0
L_01aa: brtrue Label #24
L_01af: call IEnumerable`1 get_AllMapsCaravansAndTravelingTransportPods()
L_01b4: callvirt IEnumerator`1 GetEnumerator()
L_01b9: stloc.s 5 (System.Collections.Generic.IEnumerator`1[Verse.Pawn])
L_01bb: br Label #25
L_01c0: Label #45
L_01c0: ldloc.s 5 (System.Collections.Generic.IEnumerator`1[Verse.Pawn])
L_01c2: callvirt Verse.Pawn get_Current()
L_01c7: stloc.s 4 (Verse.Pawn)
L_01c9: ldloc.s 4 (Verse.Pawn)
L_01cb: ldarg.0
L_01cc: beq Label #26
L_01d1: ldloc.s 4 (Verse.Pawn)
L_01d3: ldfld RimWorld.Pawn_NeedsTracker needs
L_01d8: ldfld RimWorld.Need_Mood mood
L_01dd: brtrue Label #27
L_01e2: Label #26
L_01e2: br Label #28
L_01e7: Label #27
L_01e7: ldloc.s 4 (Verse.Pawn)
L_01e9: callvirt Verse.MentalStateDef get_MentalStateDef()
L_01ee: ldsfld Verse.MentalStateDef SocialFighting
L_01f3: bne.un Label #29
L_01f8: ldloc.s 4 (Verse.Pawn)
L_01fa: callvirt Verse.AI.MentalState get_MentalState()
L_01ff: castclass Verse.AI.MentalState_SocialFighting
L_0204: ldfld Verse.Pawn otherPawn
L_0209: ldarg.0
L_020a: ceq
L_020c: br Label #30
L_0211: Label #29
L_0211: ldc.i4.0
L_0212: Label #30
L_0212: stloc.s 6 (System.Boolean)
L_0214: ldloc.s 6 (System.Boolean)
L_0216: brtrue Label #31
L_021b: ldloc.s 4 (Verse.Pawn)
L_021d: ldarg.0
L_021e: call Boolean Witnessed(Verse.Pawn, Verse.Pawn)
L_0223: brfalse Label #32
L_0228: ldloc.s 4 (Verse.Pawn)
L_022a: callvirt RimWorld.Faction get_Faction()
L_022f: ldarg.0
L_0230: callvirt RimWorld.Faction get_Faction()
L_0235: bne.un Label #33
L_023a: ldarg.3
L_023b: ldsfld RimWorld.ThoughtDef WitnessedDeathAlly
L_0240: ldloc.s 4 (Verse.Pawn)
L_0242: ldnull
L_0243: ldc.r4 1
L_0248: ldc.r4 1
L_024d: newobj Void .ctor(ThoughtDef, Pawn, Pawn, Single, Single)
L_0252: callvirt Void Add(IndividualThoughtToAdd)
L_0257: br Label #34
L_025c: Label #33
L_025c: ldarg.0
L_025d: callvirt RimWorld.Faction get_Faction()
L_0262: brfalse Label #35
L_0267: ldarg.0
L_0268: callvirt RimWorld.Faction get_Faction()
L_026d: ldloc.s 4 (Verse.Pawn)
L_026f: callvirt RimWorld.Faction get_Faction()
L_0274: call Boolean HostileTo(RimWorld.Faction, RimWorld.Faction)
L_0279: brtrue Label #36
L_027e: Label #35
L_027e: ldarg.3
L_027f: ldsfld RimWorld.ThoughtDef WitnessedDeathNonAlly
L_0284: ldloc.s 4 (Verse.Pawn)
L_0286: ldnull
L_0287: ldc.r4 1
L_028c: ldc.r4 1
L_0291: newobj Void .ctor(ThoughtDef, Pawn, Pawn, Single, Single)
L_0296: callvirt Void Add(IndividualThoughtToAdd)
L_029b: Label #34
L_029b: Label #36
L_029b: ldloc.s 4 (Verse.Pawn)
L_029d: ldfld RimWorld.Pawn_RelationsTracker relations
L_02a2: callvirt IEnumerable`1 get_FamilyByBlood()
L_02a7: ldarg.0
L_02a8: call Boolean Contains[Pawn](IEnumerable`1, Verse.Pawn)
L_02ad: brfalse Label #37
L_02b2: ldarg.3
L_02b3: ldsfld RimWorld.ThoughtDef WitnessedDeathFamily
L_02b8: ldloc.s 4 (Verse.Pawn)
L_02ba: ldnull
L_02bb: ldc.r4 1
L_02c0: ldc.r4 1
L_02c5: newobj Void .ctor(ThoughtDef, Pawn, Pawn, Single, Single)
L_02ca: callvirt Void Add(IndividualThoughtToAdd)
L_02cf: Label #37
L_02cf: ldarg.3
L_02d0: ldsfld RimWorld.ThoughtDef WitnessedDeathBloodlust
L_02d5: ldloc.s 4 (Verse.Pawn)
L_02d7: ldnull
L_02d8: ldc.r4 1
L_02dd: ldc.r4 1
L_02e2: newobj Void .ctor(ThoughtDef, Pawn, Pawn, Single, Single)
L_02e7: callvirt Void Add(IndividualThoughtToAdd)
L_02ec: br Label #38
L_02f1: Label #32
L_02f1: ldarg.0
L_02f2: callvirt RimWorld.Faction get_Faction()
L_02f7: call RimWorld.Faction get_OfPlayer()
L_02fc: bne.un Label #39
L_0301: ldarg.0
L_0302: callvirt RimWorld.Faction get_Faction()
L_0307: ldloc.s 4 (Verse.Pawn)
L_0309: callvirt RimWorld.Faction get_Faction()
L_030e: bne.un Label #40
L_0313: ldarg.0
L_0314: callvirt RimWorld.Faction get_HostFaction()
L_0319: ldloc.s 4 (Verse.Pawn)
L_031b: callvirt RimWorld.Faction get_Faction()
L_0320: beq Label #41
L_0325: ldarg.3
L_0326: ldsfld RimWorld.ThoughtDef KnowColonistDied
L_032b: ldloc.s 4 (Verse.Pawn)
L_032d: ldnull
L_032e: ldc.r4 1
L_0333: ldc.r4 1
L_0338: newobj Void .ctor(ThoughtDef, Pawn, Pawn, Single, Single)
L_033d: callvirt Void Add(IndividualThoughtToAdd)
L_0342: Label #38
L_0342: Label #39
L_0342: Label #40
L_0342: Label #41
L_0342: ldloc.1
L_0343: brfalse Label #42
L_0348: ldloc.s 4 (Verse.Pawn)
L_034a: callvirt RimWorld.Faction get_Faction()
L_034f: call RimWorld.Faction get_OfPlayer()
L_0354: bne.un Label #43
L_0359: ldloc.s 4 (Verse.Pawn)
L_035b: callvirt Boolean get_IsPrisoner()
L_0360: brtrue Label #44
L_0365: ldarg.3
L_0366: ldsfld RimWorld.ThoughtDef KnowPrisonerDiedInnocent
L_036b: ldloc.s 4 (Verse.Pawn)
L_036d: ldnull
L_036e: ldc.r4 1
L_0373: ldc.r4 1
L_0378: newobj Void .ctor(ThoughtDef, Pawn, Pawn, Single, Single)
L_037d: callvirt Void Add(IndividualThoughtToAdd)
L_0382: Label #25
L_0382: Label #28
L_0382: Label #31
L_0382: Label #42
L_0382: Label #43
L_0382: Label #44
L_0382: ldloc.s 5 (System.Collections.Generic.IEnumerator`1[Verse.Pawn])
L_0384: callvirt Boolean MoveNext()
L_0389: brtrue Label #45
L_038e: leave Label #46
L_0393: ldloc.s 5 (System.Collections.Generic.IEnumerator`1[Verse.Pawn])
L_0395: brtrue Label #47
L_039a: endfinally
L_039b: Label #47
L_039b: ldloc.s 5 (System.Collections.Generic.IEnumerator`1[Verse.Pawn])
L_039d: callvirt Void Dispose()
L_03a2: endfinally
L_03a3: Label #23
L_03a3: Label #24
L_03a3: Label #46
L_03a3: ldarg.2
L_03a4: ldc.i4.1
L_03a5: bne.un Label #48
L_03aa: ldarg.0
L_03ab: callvirt Boolean get_IsColonist()
L_03b0: brfalse Label #49
L_03b5: ldarg.s 4
L_03b7: ldsfld RimWorld.ThoughtDef ColonistAbandoned
L_03bc: callvirt Void Add(RimWorld.ThoughtDef)
L_03c1: Label #48
L_03c1: Label #49
L_03c1: ldarg.2
L_03c2: ldc.i4.2
L_03c3: bne.un Label #50
L_03c8: ldarg.0
L_03c9: callvirt Boolean get_IsColonist()
L_03ce: brfalse Label #51
L_03d3: ldarg.s 4
L_03d5: ldsfld RimWorld.ThoughtDef ColonistAbandonedToDie
L_03da: callvirt Void Add(RimWorld.ThoughtDef)
L_03df: br Label #52
L_03e4: Label #51
L_03e4: ldarg.0
L_03e5: callvirt Boolean get_IsPrisonerOfColony()
L_03ea: brfalse Label #53
L_03ef: ldarg.s 4
L_03f1: ldsfld RimWorld.ThoughtDef PrisonerAbandonedToDie
L_03f6: callvirt Void Add(RimWorld.ThoughtDef)
L_03fb: Label #50
L_03fb: Label #52
L_03fb: Label #53
L_03fb: br Label #0
L_0400: Label #0
L_0400: ldarg 0
L_0406: ldarg 1
L_040c: ldarg 2
L_0412: ldarga 3
L_0418: ldarga 4
L_041e: call Void AppendPsychologyThoughts(Verse.Pawn, Nullable`1,
PawnDiedOrDownedThoughtsKind,
System.Collections.Generic.List`1[RimWorld.IndividualThoughtToAdd] ByRef,
System.Collections.Generic.List`1[RimWorld.ThoughtDef] ByRef)
L_0423: ret
DONE

PATCHING RimWorld.ThoughtWorker_CreepyBreathing ThoughtState


CurrentSocialStateInternal(Verse.Pawn, Verse.Pawn)
L_0000: Local var #0 RimWorld.ThoughtState
L_0000: ldloca 0 (RimWorld.ThoughtState)
L_0002: initobj RimWorld.ThoughtState
L_0008: ldarg.2
L_0009: callvirt Verse.RaceProperties get_RaceProps()
L_000e: callvirt Boolean get_Humanlike()
L_0013: brfalse Label #2
L_0018: ldarg.1
L_0019: ldarg.2
L_001a: call Boolean PawnsKnowEachOther(Verse.Pawn, Verse.Pawn)
L_001f: brtrue Label #3
L_0024: Label #2
L_0024: ldc.i4.0
L_0025: call ThoughtState op_Implicit(Boolean)
L_002a: br Label #0
L_002f: Label #3
L_002f: ldarg.2
L_0030: ldfld RimWorld.Pawn_StoryTracker story
L_0035: ldfld RimWorld.TraitSet traits
L_003a: ldsfld RimWorld.TraitDef CreepyBreathing
L_003f: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_0044: brtrue Label #4
L_0049: ldc.i4.0
L_004a: call ThoughtState op_Implicit(Boolean)
L_004f: br Label #0
L_0054: Label #4
L_0054: ldarg.1
L_0055: ldfld Verse.Pawn_HealthTracker health
L_005a: ldfld Verse.PawnCapacitiesHandler capacities
L_005f: ldsfld Verse.PawnCapacityDef Hearing
L_0064: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0069: brtrue Label #5
L_006e: ldc.i4.0
L_006f: call ThoughtState op_Implicit(Boolean)
L_0074: br Label #0
L_0079: Label #5
L_0079: ldc.i4.1
L_007a: call ThoughtState op_Implicit(Boolean)
L_007f: br Label #0
L_0084: Label #0
L_0084: stloc 0 (RimWorld.ThoughtState)
L_0085: ldloca 0 (RimWorld.ThoughtState)
L_0087: ldarg 1
L_008d: call Void Disable(Boolean ByRef, Verse.Pawn)
L_0092: ldloc 0 (RimWorld.ThoughtState)
L_0093: ret
DONE

PATCHING RimWorld.ThoughtWorker_AnnoyingVoice ThoughtState


CurrentSocialStateInternal(Verse.Pawn, Verse.Pawn)
L_0000: Local var #0 RimWorld.ThoughtState
L_0000: ldloca 0 (RimWorld.ThoughtState)
L_0002: initobj RimWorld.ThoughtState
L_0008: ldarg.2
L_0009: callvirt Verse.RaceProperties get_RaceProps()
L_000e: callvirt Boolean get_Humanlike()
L_0013: brfalse Label #2
L_0018: ldarg.1
L_0019: ldarg.2
L_001a: call Boolean PawnsKnowEachOther(Verse.Pawn, Verse.Pawn)
L_001f: brtrue Label #3
L_0024: Label #2
L_0024: ldc.i4.0
L_0025: call ThoughtState op_Implicit(Boolean)
L_002a: br Label #0
L_002f: Label #3
L_002f: ldarg.2
L_0030: ldfld RimWorld.Pawn_StoryTracker story
L_0035: ldfld RimWorld.TraitSet traits
L_003a: ldsfld RimWorld.TraitDef AnnoyingVoice
L_003f: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_0044: brtrue Label #4
L_0049: ldc.i4.0
L_004a: call ThoughtState op_Implicit(Boolean)
L_004f: br Label #0
L_0054: Label #4
L_0054: ldarg.1
L_0055: ldfld Verse.Pawn_HealthTracker health
L_005a: ldfld Verse.PawnCapacitiesHandler capacities
L_005f: ldsfld Verse.PawnCapacityDef Hearing
L_0064: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0069: brtrue Label #5
L_006e: ldc.i4.0
L_006f: call ThoughtState op_Implicit(Boolean)
L_0074: br Label #0
L_0079: Label #5
L_0079: ldc.i4.1
L_007a: call ThoughtState op_Implicit(Boolean)
L_007f: br Label #0
L_0084: Label #0
L_0084: stloc 0 (RimWorld.ThoughtState)
L_0085: ldloca 0 (RimWorld.ThoughtState)
L_0087: ldarg 1
L_008d: call Void Disable(Boolean ByRef, Verse.Pawn)
L_0092: ldloc 0 (RimWorld.ThoughtState)
L_0093: ret
DONE

PATCHING RimWorld.ThoughtWorker_Ugly ThoughtState


CurrentSocialStateInternal(Verse.Pawn, Verse.Pawn)
L_0000: Local var #0 System.Int32
L_0000: Local var #1 RimWorld.ThoughtState
L_0000: ldloca 1 (RimWorld.ThoughtState)
L_0002: initobj RimWorld.ThoughtState
L_0008: ldarg.2
L_0009: callvirt Verse.RaceProperties get_RaceProps()
L_000e: callvirt Boolean get_Humanlike()
L_0013: brfalse Label #2
L_0018: ldarg.1
L_0019: ldarg.2
L_001a: call Boolean PawnsKnowEachOther(Verse.Pawn, Verse.Pawn)
L_001f: brtrue Label #3
L_0024: Label #2
L_0024: ldc.i4.0
L_0025: call ThoughtState op_Implicit(Boolean)
L_002a: br Label #0
L_002f: Label #3
L_002f: ldarg.1
L_0030: ldfld Verse.Pawn_HealthTracker health
L_0035: ldfld Verse.PawnCapacitiesHandler capacities
L_003a: ldsfld Verse.PawnCapacityDef Sight
L_003f: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0044: brtrue Label #4
L_0049: ldc.i4.0
L_004a: call ThoughtState op_Implicit(Boolean)
L_004f: br Label #0
L_0054: Label #4
L_0054: ldarg.2
L_0055: ldfld RimWorld.Pawn_StoryTracker story
L_005a: ldfld RimWorld.TraitSet traits
L_005f: ldsfld RimWorld.TraitDef Beauty
L_0064: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_0069: stloc.0
L_006a: ldloc.0
L_006b: ldc.i4.m1
L_006c: bne.un Label #5
L_0071: ldc.i4.0
L_0072: call ThoughtState ActiveAtStage(Int32)
L_0077: br Label #0
L_007c: Label #5
L_007c: ldloc.0
L_007d: ldc.i4.s -2
L_007f: bne.un Label #6
L_0084: ldc.i4.1
L_0085: call ThoughtState ActiveAtStage(Int32)
L_008a: br Label #0
L_008f: Label #6
L_008f: ldc.i4.0
L_0090: call ThoughtState op_Implicit(Boolean)
L_0095: br Label #0
L_009a: Label #0
L_009a: stloc 1 (RimWorld.ThoughtState)
L_009b: ldloca 1 (RimWorld.ThoughtState)
L_009d: ldarg 1
L_00a3: ldarg 2
L_00a9: call Void Disable(ThoughtState ByRef, Verse.Pawn, Verse.Pawn)
L_00ae: ldloc 1 (RimWorld.ThoughtState)
L_00af: ret
DONE

PATCHING RimWorld.ThoughtWorker_Pretty ThoughtState


CurrentSocialStateInternal(Verse.Pawn, Verse.Pawn)
L_0000: Local var #0 System.Int32
L_0000: Local var #1 RimWorld.ThoughtState
L_0000: ldloca 1 (RimWorld.ThoughtState)
L_0002: initobj RimWorld.ThoughtState
L_0008: ldarg.2
L_0009: callvirt Verse.RaceProperties get_RaceProps()
L_000e: callvirt Boolean get_Humanlike()
L_0013: brfalse Label #2
L_0018: ldarg.1
L_0019: ldarg.2
L_001a: call Boolean PawnsKnowEachOther(Verse.Pawn, Verse.Pawn)
L_001f: brtrue Label #3
L_0024: Label #2
L_0024: ldc.i4.0
L_0025: call ThoughtState op_Implicit(Boolean)
L_002a: br Label #0
L_002f: Label #3
L_002f: ldarg.2
L_0030: call Boolean IsDisfigured(Verse.Pawn)
L_0035: brfalse Label #4
L_003a: ldc.i4.0
L_003b: call ThoughtState op_Implicit(Boolean)
L_0040: br Label #0
L_0045: Label #4
L_0045: ldarg.1
L_0046: ldfld Verse.Pawn_HealthTracker health
L_004b: ldfld Verse.PawnCapacitiesHandler capacities
L_0050: ldsfld Verse.PawnCapacityDef Sight
L_0055: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_005a: brtrue Label #5
L_005f: ldc.i4.0
L_0060: call ThoughtState op_Implicit(Boolean)
L_0065: br Label #0
L_006a: Label #5
L_006a: ldarg.2
L_006b: ldfld RimWorld.Pawn_StoryTracker story
L_0070: ldfld RimWorld.TraitSet traits
L_0075: ldsfld RimWorld.TraitDef Beauty
L_007a: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_007f: stloc.0
L_0080: ldloc.0
L_0081: ldc.i4.1
L_0082: bne.un Label #6
L_0087: ldc.i4.0
L_0088: call ThoughtState ActiveAtStage(Int32)
L_008d: br Label #0
L_0092: Label #6
L_0092: ldloc.0
L_0093: ldc.i4.2
L_0094: bne.un Label #7
L_0099: ldc.i4.1
L_009a: call ThoughtState ActiveAtStage(Int32)
L_009f: br Label #0
L_00a4: Label #7
L_00a4: ldc.i4.0
L_00a5: call ThoughtState op_Implicit(Boolean)
L_00aa: br Label #0
L_00af: Label #0
L_00af: stloc 1 (RimWorld.ThoughtState)
L_00b0: ldloca 1 (RimWorld.ThoughtState)
L_00b2: ldarg 1
L_00b8: ldarg 2
L_00be: call Void Disable(ThoughtState ByRef, Verse.Pawn, Verse.Pawn)
L_00c3: ldloc 1 (RimWorld.ThoughtState)
L_00c4: ret
DONE

PATCHING RimWorld.ThoughtWorker_Disfigured ThoughtState


CurrentSocialStateInternal(Verse.Pawn, Verse.Pawn)
L_0000: Local var #0 RimWorld.ThoughtState
L_0000: ldloca 0 (RimWorld.ThoughtState)
L_0002: initobj RimWorld.ThoughtState
L_0008: ldarg.2
L_0009: callvirt Verse.RaceProperties get_RaceProps()
L_000e: callvirt Boolean get_Humanlike()
L_0013: brfalse Label #2
L_0018: ldarg.2
L_0019: callvirt Boolean get_Dead()
L_001e: brfalse Label #3
L_0023: Label #2
L_0023: ldc.i4.0
L_0024: call ThoughtState op_Implicit(Boolean)
L_0029: br Label #0
L_002e: Label #3
L_002e: ldarg.1
L_002f: ldarg.2
L_0030: call Boolean PawnsKnowEachOther(Verse.Pawn, Verse.Pawn)
L_0035: brtrue Label #4
L_003a: ldc.i4.0
L_003b: call ThoughtState op_Implicit(Boolean)
L_0040: br Label #0
L_0045: Label #4
L_0045: ldarg.2
L_0046: call Boolean IsDisfigured(Verse.Pawn)
L_004b: brtrue Label #5
L_0050: ldc.i4.0
L_0051: call ThoughtState op_Implicit(Boolean)
L_0056: br Label #0
L_005b: Label #5
L_005b: ldarg.1
L_005c: ldfld Verse.Pawn_HealthTracker health
L_0061: ldfld Verse.PawnCapacitiesHandler capacities
L_0066: ldsfld Verse.PawnCapacityDef Sight
L_006b: callvirt Boolean CapableOf(Verse.PawnCapacityDef)
L_0070: brtrue Label #6
L_0075: ldc.i4.0
L_0076: call ThoughtState op_Implicit(Boolean)
L_007b: br Label #0
L_0080: Label #6
L_0080: ldc.i4.1
L_0081: call ThoughtState op_Implicit(Boolean)
L_0086: br Label #0
L_008b: Label #0
L_008b: stloc 0 (RimWorld.ThoughtState)
L_008c: ldloca 0 (RimWorld.ThoughtState)
L_008e: ldarg 1
L_0094: call Void Disable(Boolean ByRef, Verse.Pawn)
L_0099: ldloc 0 (RimWorld.ThoughtState)
L_009a: ret
DONE

PATCHING RimWorld.ThoughtWorker_CabinFever ThoughtState


CurrentStateInternal(Verse.Pawn)
L_0000: Local var #0 System.Single
L_0000: ldarg.1
L_0001: callvirt Boolean get_Downed()
L_0006: brfalse Label #2
L_000b: call ThoughtState get_Inactive()
L_0010: br Label #0
L_0015: Label #2
L_0015: ldarg.1
L_0016: callvirt RimWorld.Faction get_HostFaction()
L_001b: brfalse Label #3
L_0020: call ThoughtState get_Inactive()
L_0025: br Label #0
L_002a: Label #3
L_002a: ldarg.1
L_002b: ldfld RimWorld.Pawn_NeedsTracker needs
L_0030: ldfld RimWorld.Need_Mood mood
L_0035: ldfld RimWorld.PawnRecentMemory recentMemory
L_003a: callvirt Int32 get_TicksSinceOutdoors()
L_003f: conv.r4
L_0040: ldc.r4 60000
L_0045: div
L_0046: stloc.0
L_0047: ldloc.0
L_0048: ldc.r4 2.5
L_004d: ldarg.1
L_004e: ldc.r4 1
L_0053: ldc.r4 0
L_0058: callvirt Single HasOutdoorsyTraitVal(Verse.Pawn, Single, Single)
L_005d: sub
L_005e: bge.un Label #4
L_0063: call ThoughtState get_Inactive()
L_0068: br Label #0
L_006d: Label #4
L_006d: ldloc.0
L_006e: ldc.r4 7.5
L_0073: ldarg.1
L_0074: ldc.r4 2.5
L_0079: ldc.r4 0
L_007e: callvirt Single HasOutdoorsyTraitVal(Verse.Pawn, Single, Single)
L_0083: sub
L_0084: bge.un Label #5
L_0089: ldc.i4.0
L_008a: call ThoughtState ActiveAtStage(Int32)
L_008f: br Label #0
L_0094: Label #5
L_0094: ldc.i4.1
L_0095: call ThoughtState ActiveAtStage(Int32)
L_009a: br Label #0
L_009f: Label #0
L_009f: ret
DONE

PATCHING RimWorld.RecordsUtility Void Notify_BillDone(Verse.Pawn,


System.Collections.Generic.List`1[Verse.Thing])
L_0000: Local var #0 System.Int32
L_0000: ldc.i4.0
L_0001: stloc.0
L_0002: br Label #2
L_0007: Label #7
L_0007: ldarg.1
L_0008: ldloc.0
L_0009: callvirt Verse.Thing get_Item(Int32)
L_000e: ldfld Verse.ThingDef def
L_0013: callvirt Boolean get_IsNutritionGivingIngestible()
L_0018: brfalse Label #3
L_001d: ldarg.1
L_001e: ldloc.0
L_001f: callvirt Verse.Thing get_Item(Int32)
L_0024: ldfld Verse.ThingDef def
L_0029: ldfld RimWorld.IngestibleProperties ingestible
L_002e: ldfld RimWorld.FoodPreferability preferability
L_0033: ldc.i4.5
L_0034: blt Label #4
L_0039: ldarg.0
L_003a: ldfld RimWorld.Pawn_RecordsTracker records
L_003f: ldsfld RimWorld.RecordDef MealsCooked
L_0044: callvirt Void Increment(RimWorld.RecordDef)
L_0049: br Label #5
L_004e: Label #3
L_004e: Label #4
L_004e: ldarg.1
L_004f: ldloc.0
L_0050: callvirt Verse.Thing get_Item(Int32)
L_0055: call Boolean ShouldIncrementThingsCrafted(Verse.Thing)
L_005a: brfalse Label #6
L_005f: ldarg.0
L_0060: ldfld RimWorld.Pawn_RecordsTracker records
L_0065: ldsfld RimWorld.RecordDef ThingsCrafted
L_006a: callvirt Void Increment(RimWorld.RecordDef)
L_006f: Label #5
L_006f: Label #6
L_006f: ldloc.0
L_0070: ldc.i4.1
L_0071: add
L_0072: stloc.0
L_0073: Label #2
L_0073: ldloc.0
L_0074: ldarg.1
L_0075: callvirt Int32 get_Count()
L_007a: blt Label #7
L_007f: br Label #0
L_0084: Label #0
L_0084: ldarg 0
L_008a: ldarg 1
L_0090: call Void BleedingHeartThought(Verse.Pawn,
System.Collections.Generic.List`1[Verse.Thing])
L_0095: ret
DONE

PATCHING RimWorld.Need_Rest Void NeedInterval()


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Nullable`1[[Verse.AI.JobTag, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.0
L_0001: call Boolean get_IsFrozen()
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: call Boolean get_Resting()
L_0011: brfalse Label #3
L_0016: ldarg.0
L_0017: dup
L_0018: callvirt Single get_CurLevel()
L_001d: ldc.r4 0.005714286
L_0022: ldarg.0
L_0023: ldfld System.Single lastRestEffectiveness
L_0028: mul
L_0029: add
L_002a: callvirt Void set_CurLevel(Single)
L_002f: br Label #4
L_0034: Label #3
L_0034: ldarg.0
L_0035: dup
L_0036: callvirt Single get_CurLevel()
L_003b: ldarg.0
L_003c: call Single get_RestFallPerTick()
L_0041: ldc.r4 150
L_0046: mul
L_0047: sub
L_0048: callvirt Void set_CurLevel(Single)
L_004d: Label #2
L_004d: Label #4
L_004d: ldarg.0
L_004e: callvirt Single get_CurLevel()
L_0053: ldc.r4 0.0001
L_0058: bge.un Label #5
L_005d: ldarg.0
L_005e: dup
L_005f: ldfld System.Int32 ticksAtZero
L_0064: ldc.i4 150
L_0069: add
L_006a: stfld System.Int32 ticksAtZero
L_006f: br Label #6
L_0074: Label #5
L_0074: ldarg.0
L_0075: ldc.i4.0
L_0076: stfld System.Int32 ticksAtZero
L_007b: Label #6
L_007b: ldarg.0
L_007c: ldfld System.Int32 ticksAtZero
L_0081: ldc.i4 1000
L_0086: ble Label #7
L_008b: ldarg.0
L_008c: ldfld Verse.Pawn pawn
L_0091: callvirt Boolean get_Spawned()
L_0096: brfalse Label #8
L_009b: ldarg.0
L_009c: ldfld System.Int32 ticksAtZero
L_00a1: ldc.i4 15000
L_00a6: bge Label #9
L_00ab: ldc.r4 0.25
L_00b0: stloc.0
L_00b1: br Label #10
L_00b6: Label #9
L_00b6: ldarg.0
L_00b7: ldfld System.Int32 ticksAtZero
L_00bc: ldc.i4 30000
L_00c1: bge Label #11
L_00c6: ldc.r4 0.125
L_00cb: stloc.0
L_00cc: br Label #12
L_00d1: Label #11
L_00d1: ldarg.0
L_00d2: ldfld System.Int32 ticksAtZero
L_00d7: ldc.i4 45000
L_00dc: bge Label #13
L_00e1: ldc.r4 0.08333334
L_00e6: stloc.0
L_00e7: br Label #14
L_00ec: Label #13
L_00ec: ldc.r4 0.0625
L_00f1: stloc.0
L_00f2: Label #10
L_00f2: Label #12
L_00f2: Label #14
L_00f2: ldloc.0
L_00f3: ldc.r4 60000
L_00f8: ldc.r4 150
L_00fd: call Boolean MTBEventOccurs(Single, Single, Single)
L_0102: brfalse Label #15
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld Verse.AI.Pawn_JobTracker jobs
L_0112: ldsfld Verse.JobDef LayDown
L_0117: ldarg.0
L_0118: ldfld Verse.Pawn pawn
L_011d: callvirt IntVec3 get_Position()
L_0122: call LocalTargetInfo op_Implicit(IntVec3)
L_0127: newobj Void .ctor(JobDef, LocalTargetInfo)
L_012c: ldc.i4.5
L_012d: ldnull
L_012e: ldc.i4.0
L_012f: ldc.i4.1
L_0130: ldnull
L_0131: ldloca.s 1 (System.Nullable`1[Verse.AI.JobTag])
L_0133: initobj System.Nullable`1[Verse.AI.JobTag]
L_0139: ldloc.1
L_013a: callvirt Void StartJob(Verse.AI.Job, JobCondition, Verse.AI.ThinkNode,
Boolean, Boolean, Verse.ThinkTreeDef, Nullable`1)
L_013f: ldarg.0
L_0140: ldfld Verse.Pawn pawn
L_0145: call Boolean ShouldSendNotificationAbout(Verse.Pawn)
L_014a: brfalse Label #16
L_014f: ldstr "MessageInvoluntarySleep"
L_0154: ldc.i4.1
L_0155: newarr System.Object
L_015a: dup
L_015b: ldc.i4.0
L_015c: ldarg.0
L_015d: ldfld Verse.Pawn pawn
L_0162: callvirt System.String get_LabelShort()
L_0167: stelem.ref
L_0168: call System.String Translate(System.String, System.Object[])
L_016d: ldarg.0
L_016e: ldfld Verse.Pawn pawn
L_0173: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_0178: ldc.i4.4
L_0179: call Void Message(System.String, GlobalTargetInfo, MessageSound)
L_017e: Label #7
L_017e: Label #8
L_017e: Label #15
L_017e: Label #16
L_017e: br Label #0
L_0183: Label #0
L_0183: ldarg.0
L_0184: call Void CauseDream(RimWorld.Need_Rest)
L_0189: ret
DONE

PATCHING RimWorld.Need_Rest Void NeedInterval()


L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Nullable`1[[Verse.AI.JobTag, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.0
L_0001: call Boolean get_IsFrozen()
L_0006: brtrue Label #2
L_000b: ldarg.0
L_000c: call Boolean get_Resting()
L_0011: brfalse Label #3
L_0016: ldarg.0
L_0017: dup
L_0018: callvirt Single get_CurLevel()
L_001d: ldc.r4 0.005714286
L_0022: ldarg.0
L_0023: ldfld System.Single lastRestEffectiveness
L_0028: mul
L_0029: add
L_002a: callvirt Void set_CurLevel(Single)
L_002f: br Label #4
L_0034: Label #3
L_0034: ldarg.0
L_0035: dup
L_0036: callvirt Single get_CurLevel()
L_003b: ldarg.0
L_003c: call Single get_RestFallPerTick()
L_0041: ldc.r4 150
L_0046: mul
L_0047: sub
L_0048: callvirt Void set_CurLevel(Single)
L_004d: Label #2
L_004d: Label #4
L_004d: ldarg.0
L_004e: callvirt Single get_CurLevel()
L_0053: ldc.r4 0.0001
L_0058: bge.un Label #5
L_005d: ldarg.0
L_005e: dup
L_005f: ldfld System.Int32 ticksAtZero
L_0064: ldc.i4 150
L_0069: add
L_006a: stfld System.Int32 ticksAtZero
L_006f: br Label #6
L_0074: Label #5
L_0074: ldarg.0
L_0075: ldc.i4.0
L_0076: stfld System.Int32 ticksAtZero
L_007b: Label #6
L_007b: ldarg.0
L_007c: ldfld System.Int32 ticksAtZero
L_0081: ldc.i4 1000
L_0086: ble Label #7
L_008b: ldarg.0
L_008c: ldfld Verse.Pawn pawn
L_0091: callvirt Boolean get_Spawned()
L_0096: brfalse Label #8
L_009b: ldarg.0
L_009c: ldfld System.Int32 ticksAtZero
L_00a1: ldc.i4 15000
L_00a6: bge Label #9
L_00ab: ldc.r4 0.25
L_00b0: stloc.0
L_00b1: br Label #10
L_00b6: Label #9
L_00b6: ldarg.0
L_00b7: ldfld System.Int32 ticksAtZero
L_00bc: ldc.i4 30000
L_00c1: bge Label #11
L_00c6: ldc.r4 0.125
L_00cb: stloc.0
L_00cc: br Label #12
L_00d1: Label #11
L_00d1: ldarg.0
L_00d2: ldfld System.Int32 ticksAtZero
L_00d7: ldc.i4 45000
L_00dc: bge Label #13
L_00e1: ldc.r4 0.08333334
L_00e6: stloc.0
L_00e7: br Label #14
L_00ec: Label #13
L_00ec: ldc.r4 0.0625
L_00f1: stloc.0
L_00f2: Label #10
L_00f2: Label #12
L_00f2: Label #14
L_00f2: ldloc.0
L_00f3: ldc.r4 60000
L_00f8: ldc.r4 150
L_00fd: call Boolean MTBEventOccurs(Single, Single, Single)
L_0102: brfalse Label #15
L_0107: ldarg.0
L_0108: ldfld Verse.Pawn pawn
L_010d: ldfld Verse.AI.Pawn_JobTracker jobs
L_0112: ldsfld Verse.JobDef LayDown
L_0117: ldarg.0
L_0118: ldfld Verse.Pawn pawn
L_011d: callvirt IntVec3 get_Position()
L_0122: call LocalTargetInfo op_Implicit(IntVec3)
L_0127: newobj Void .ctor(JobDef, LocalTargetInfo)
L_012c: ldc.i4.5
L_012d: ldnull
L_012e: ldc.i4.0
L_012f: ldc.i4.1
L_0130: ldnull
L_0131: ldloca.s 1 (System.Nullable`1[Verse.AI.JobTag])
L_0133: initobj System.Nullable`1[Verse.AI.JobTag]
L_0139: ldloc.1
L_013a: callvirt Void StartJob(Verse.AI.Job, JobCondition, Verse.AI.ThinkNode,
Boolean, Boolean, Verse.ThinkTreeDef, Nullable`1)
L_013f: ldarg.0
L_0140: ldfld Verse.Pawn pawn
L_0145: call Boolean ShouldSendNotificationAbout(Verse.Pawn)
L_014a: brfalse Label #16
L_014f: ldstr "MessageInvoluntarySleep"
L_0154: ldc.i4.1
L_0155: newarr System.Object
L_015a: dup
L_015b: ldc.i4.0
L_015c: ldarg.0
L_015d: ldfld Verse.Pawn pawn
L_0162: callvirt System.String get_LabelShort()
L_0167: stelem.ref
L_0168: call System.String Translate(System.String, System.Object[])
L_016d: ldarg.0
L_016e: ldfld Verse.Pawn pawn
L_0173: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_0178: ldc.i4.4
L_0179: call Void Message(System.String, GlobalTargetInfo, MessageSound)
L_017e: Label #7
L_017e: Label #8
L_017e: Label #15
L_017e: Label #16
L_017e: br Label #0
L_0183: Label #0
L_0183: ldarg.0
L_0184: call Void CauseDream(RimWorld.Need_Rest)
L_0189: ldarg.0
L_018a: call Void MakeInsomniacLessRestful(RimWorld.Need_Rest)
L_018f: ret
DONE

PATCHING RimWorld.Pawn_RelationsTracker Void Notify_RescuedBy(Verse.Pawn)


L_0000: ldarg.1
L_0001: callvirt Verse.RaceProperties get_RaceProps()
L_0006: callvirt Boolean get_Humanlike()
L_000b: brfalse Label #2
L_0010: ldarg.0
L_0011: ldfld System.Boolean canGetRescuedThought
L_0016: brfalse Label #3
L_001b: ldarg.0
L_001c: ldfld Verse.Pawn pawn
L_0021: ldfld RimWorld.Pawn_NeedsTracker needs
L_0026: ldfld RimWorld.Need_Mood mood
L_002b: ldfld RimWorld.ThoughtHandler thoughts
L_0030: ldfld RimWorld.MemoryThoughtHandler memories
L_0035: ldsfld RimWorld.ThoughtDef RescuedMe
L_003a: ldarg.1
L_003b: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_0040: ldarg.0
L_0041: ldc.i4.0
L_0042: stfld System.Boolean canGetRescuedThought
L_0047: Label #2
L_0047: Label #3
L_0047: br Label #0
L_004c: Label #0
L_004c: ldarg.0
L_004d: call Void Postfix(RimWorld.Pawn_RelationsTracker)
L_0052: ldarg.0
L_0053: ldarg 1
L_0059: call Void AddBleedingHeartThought(RimWorld.Pawn_RelationsTracker,
Verse.Pawn)
L_005e: ret
DONE

PATCHING RimWorld.Pawn_RelationsTracker Single


SecondaryRomanceChanceFactor(Verse.Pawn)
L_0000: Local var #0 System.Boolean
L_0000: Local var #1 System.Single
L_0000: Local var #2 System.Single
L_0000: Local var #3 System.Single
L_0000: Local var #4 System.Single
L_0000: Local var #5 System.Single
L_0000: Local var #6 System.Single
L_0000: Local var #7 System.Single
L_0000: Local var #8 RimWorld.PawnRelationDef
L_0000: Local var #9
System.Collections.Generic.IEnumerator`1[[RimWorld.PawnRelationDef, Assembly-
CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #10 System.Int32
L_0000: Local var #11 System.Single
L_0000: Local var #12 System.Single
L_0000: Local var #13 System.Single
L_0000: Local var #14 System.Single
L_0000: Local var #15 System.Single
L_0000: ldc.r4 0
L_0005: stloc 15 (System.Single)
L_0007: ldarg.0
L_0008: ldfld Verse.Pawn pawn
L_000d: callvirt Verse.RaceProperties get_RaceProps()
L_0012: callvirt Boolean get_Humanlike()
L_0017: ldarg.1
L_0018: callvirt Verse.RaceProperties get_RaceProps()
L_001d: callvirt Boolean get_Humanlike()
L_0022: bne.un Label #2
L_0027: ldarg.0
L_0028: ldfld Verse.Pawn pawn
L_002d: ldarg.1
L_002e: bne.un Label #3
L_0033: Label #2
L_0033: ldc.r4 0
L_0038: br Label #0
L_003d: Label #3
L_003d: ldarg.0
L_003e: ldfld Verse.Pawn pawn
L_0043: ldfld System.Int32 thingIDNumber
L_0048: ldc.i4 3273711
L_004d: xor
L_004e: call Single ValueSeeded(Int32)
L_0053: ldc.r4 0.015
L_0058: clt
L_005a: stloc.0
L_005b: ldloc.0
L_005c: brtrue Label #4
L_0061: ldarg.0
L_0062: ldfld Verse.Pawn pawn
L_0067: callvirt Verse.RaceProperties get_RaceProps()
L_006c: callvirt Boolean get_Humanlike()
L_0071: brfalse Label #5
L_0076: ldarg.0
L_0077: ldfld Verse.Pawn pawn
L_007c: ldfld RimWorld.Pawn_StoryTracker story
L_0081: ldfld RimWorld.TraitSet traits
L_0086: ldsfld RimWorld.TraitDef Gay
L_008b: callvirt Boolean HasTrait(RimWorld.TraitDef)
L_0090: brfalse Label #6
L_0095: ldarg.1
L_0096: ldfld Verse.Gender gender
L_009b: ldarg.0
L_009c: ldfld Verse.Pawn pawn
L_00a1: ldfld Verse.Gender gender
L_00a6: beq Label #7
L_00ab: ldc.r4 0
L_00b0: br Label #0
L_00b5: Label #7
L_00b5: br Label #8
L_00ba: Label #5
L_00ba: Label #6
L_00ba: ldarg.1
L_00bb: ldfld Verse.Gender gender
L_00c0: ldarg.0
L_00c1: ldfld Verse.Pawn pawn
L_00c6: ldfld Verse.Gender gender
L_00cb: bne.un Label #9
L_00d0: ldc.r4 0
L_00d5: br Label #0
L_00da: Label #4
L_00da: Label #8
L_00da: Label #9
L_00da: ldarg.0
L_00db: ldfld Verse.Pawn pawn
L_00e0: ldfld Verse.Pawn_AgeTracker ageTracker
L_00e5: callvirt Single get_AgeBiologicalYearsFloat()
L_00ea: stloc.1
L_00eb: ldarg.1
L_00ec: ldfld Verse.Pawn_AgeTracker ageTracker
L_00f1: callvirt Single get_AgeBiologicalYearsFloat()
L_00f6: stloc.2
L_00f7: ldc.r4 1
L_00fc: stloc.3
L_00fd: ldarg.0
L_00fe: ldfld Verse.Pawn pawn
L_0103: ldfld Verse.Gender gender
L_0108: ldc.i4.1
L_0109: bne.un Label #10
L_010e: ldloc.2
L_010f: ldc.r4 16
L_0114: bge.un Label #11
L_0119: ldc.r4 0
L_011e: br Label #0
L_0123: Label #11
L_0123: ldc.r4 16
L_0128: ldloc.1
L_0129: ldc.r4 30
L_012e: sub
L_012f: call Single Max(Single, Single)
L_0134: stloc.s 4 (System.Single)
L_0136: ldc.r4 20
L_013b: ldloc.1
L_013c: ldc.r4 10
L_0141: sub
L_0142: call Single Max(Single, Single)
L_0147: stloc.s 5 (System.Single)
L_0149: ldc.r4 0.15
L_014e: ldloc.s 4 (System.Single)
L_0150: ldloc.s 5 (System.Single)
L_0152: ldloc.1
L_0153: ldloc.1
L_0154: ldc.r4 10
L_0159: add
L_015a: ldc.r4 0.15
L_015f: ldloc.2
L_0160: call Single FlatHill(Single, Single, Single, Single, Single, Single,
Single)
L_0165: stloc.3
L_0166: br Label #12
L_016b: Label #10
L_016b: ldarg.0
L_016c: ldfld Verse.Pawn pawn
L_0171: ldfld Verse.Gender gender
L_0176: ldc.i4.2
L_0177: bne.un Label #13
L_017c: ldloc.2
L_017d: ldc.r4 16
L_0182: bge.un Label #14
L_0187: ldc.r4 0
L_018c: br Label #0
L_0191: Label #14
L_0191: ldloc.2
L_0192: ldloc.1
L_0193: ldc.r4 10
L_0198: sub
L_0199: bge.un Label #15
L_019e: ldc.r4 0.15
L_01a3: br Label #0
L_01a8: Label #15
L_01a8: ldloc.2
L_01a9: ldloc.1
L_01aa: ldc.r4 3
L_01af: sub
L_01b0: bge.un Label #16
L_01b5: ldloc.1
L_01b6: ldc.r4 10
L_01bb: sub
L_01bc: ldloc.1
L_01bd: ldc.r4 3
L_01c2: sub
L_01c3: ldloc.2
L_01c4: call Single InverseLerp(Single, Single, Single)
L_01c9: ldc.r4 0.3
L_01ce: mul
L_01cf: stloc.3
L_01d0: br Label #17
L_01d5: Label #16
L_01d5: ldc.r4 0.3
L_01da: ldloc.1
L_01db: ldc.r4 3
L_01e0: sub
L_01e1: ldloc.1
L_01e2: ldloc.1
L_01e3: ldc.r4 10
L_01e8: add
L_01e9: ldloc.1
L_01ea: ldc.r4 30
L_01ef: add
L_01f0: ldc.r4 0.15
L_01f5: ldloc.2
L_01f6: call Single FlatHill(Single, Single, Single, Single, Single, Single,
Single)
L_01fb: stloc.3
L_01fc: Label #12
L_01fc: Label #13
L_01fc: Label #17
L_01fc: ldc.r4 1
L_0201: stloc.s 6 (System.Single)
L_0203: ldloc.s 6 (System.Single)
L_0205: ldc.r4 0.2
L_020a: ldc.r4 1
L_020f: ldarg.1
L_0210: ldfld Verse.Pawn_HealthTracker health
L_0215: ldfld Verse.PawnCapacitiesHandler capacities
L_021a: ldsfld Verse.PawnCapacityDef Talking
L_021f: callvirt Single GetLevel(Verse.PawnCapacityDef)
L_0224: call Single Lerp(Single, Single, Single)
L_0229: mul
L_022a: stloc.s 6 (System.Single)
L_022c: ldloc.s 6 (System.Single)
L_022e: ldc.r4 0.2
L_0233: ldc.r4 1
L_0238: ldarg.1
L_0239: ldfld Verse.Pawn_HealthTracker health
L_023e: ldfld Verse.PawnCapacitiesHandler capacities
L_0243: ldsfld Verse.PawnCapacityDef Manipulation
L_0248: callvirt Single GetLevel(Verse.PawnCapacityDef)
L_024d: call Single Lerp(Single, Single, Single)
L_0252: mul
L_0253: stloc.s 6 (System.Single)
L_0255: ldloc.s 6 (System.Single)
L_0257: ldc.r4 0.2
L_025c: ldc.r4 1
L_0261: ldarg.1
L_0262: ldfld Verse.Pawn_HealthTracker health
L_0267: ldfld Verse.PawnCapacitiesHandler capacities
L_026c: ldsfld Verse.PawnCapacityDef Moving
L_0271: callvirt Single GetLevel(Verse.PawnCapacityDef)
L_0276: call Single Lerp(Single, Single, Single)
L_027b: mul
L_027c: stloc.s 6 (System.Single)
L_027e: ldc.r4 1
L_0283: stloc.s 7 (System.Single)
L_0285: ldarg.0
L_0286: ldfld Verse.Pawn pawn
L_028b: ldarg.1
L_028c: call IEnumerable`1 GetRelations(Verse.Pawn, Verse.Pawn)
L_0291: callvirt IEnumerator`1 GetEnumerator()
L_0296: stloc.s 9
(System.Collections.Generic.IEnumerator`1[RimWorld.PawnRelationDef])
L_0298: br Label #18
L_029d: Label #19
L_029d: ldloc.s 9
(System.Collections.Generic.IEnumerator`1[RimWorld.PawnRelationDef])
L_029f: callvirt RimWorld.PawnRelationDef get_Current()
L_02a4: stloc.s 8 (RimWorld.PawnRelationDef)
L_02a6: ldloc.s 7 (System.Single)
L_02a8: ldloc.s 8 (RimWorld.PawnRelationDef)
L_02aa: ldfld System.Single attractionFactor
L_02af: mul
L_02b0: stloc.s 7 (System.Single)
L_02b2: Label #18
L_02b2: ldloc.s 9
(System.Collections.Generic.IEnumerator`1[RimWorld.PawnRelationDef])
L_02b4: callvirt Boolean MoveNext()
L_02b9: brtrue Label #19
L_02be: leave Label #20
L_02c3: ldloc.s 9
(System.Collections.Generic.IEnumerator`1[RimWorld.PawnRelationDef])
L_02c5: brtrue Label #21
L_02ca: endfinally
L_02cb: Label #21
L_02cb: ldloc.s 9
(System.Collections.Generic.IEnumerator`1[RimWorld.PawnRelationDef])
L_02cd: callvirt Void Dispose()
L_02d2: endfinally
L_02d3: Label #20
L_02d3: ldc.i4.0
L_02d4: stloc.s 10 (System.Int32)
L_02d6: ldarg.1
L_02d7: callvirt Verse.RaceProperties get_RaceProps()
L_02dc: callvirt Boolean get_Humanlike()
L_02e1: brfalse Label #22
L_02e6: ldarg.1
L_02e7: ldfld RimWorld.Pawn_StoryTracker story
L_02ec: ldfld RimWorld.TraitSet traits
L_02f1: ldsfld RimWorld.TraitDef Beauty
L_02f6: callvirt Int32 DegreeOfTrait(RimWorld.TraitDef)
L_02fb: stloc.s 10 (System.Int32)
L_02fd: Label #22
L_02fd: ldc.r4 1
L_0302: stloc.s 11 (System.Single)
L_0304: ldloc.s 10 (System.Int32)
L_0306: ldc.i4.0
L_0307: bge Label #23
L_030c: ldc.r4 0.3
L_0311: stloc.s 11 (System.Single)
L_0313: br Label #24
L_0318: Label #23
L_0318: ldloc.s 10 (System.Int32)
L_031a: ldc.i4.0
L_031b: ble Label #25
L_0320: ldc.r4 2.3
L_0325: stloc.s 11 (System.Single)
L_0327: Label #24
L_0327: Label #25
L_0327: ldc.r4 15
L_032c: ldc.r4 18
L_0331: ldloc.1
L_0332: call Single InverseLerp(Single, Single, Single)
L_0337: stloc.s 12 (System.Single)
L_0339: ldc.r4 15
L_033e: ldc.r4 18
L_0343: ldloc.2
L_0344: call Single InverseLerp(Single, Single, Single)
L_0349: stloc.s 13 (System.Single)
L_034b: ldloc.3
L_034c: ldloc.s 6 (System.Single)
L_034e: mul
L_034f: ldloc.s 7 (System.Single)
L_0351: mul
L_0352: ldloc.s 12 (System.Single)
L_0354: mul
L_0355: ldloc.s 13 (System.Single)
L_0357: mul
L_0358: ldloc.s 11 (System.Single)
L_035a: mul
L_035b: stloc.s 14 (System.Single)
L_035d: ldloc.s 14 (System.Single)
L_035f: br Label #0
L_0364: Label #0
L_0364: stloc 15 (System.Single)
L_0366: ldarg.0
L_0367: ldloca 15 (System.Single)
L_0369: ldarg 1
L_036f: call Void PsychologyFormula(RimWorld.Pawn_RelationsTracker, Single ByRef,
Verse.Pawn)
L_0374: ldloc 15 (System.Single)
L_0376: ret
DONE

PATCHING RimWorld.JobGiver_GetRest Single GetPriority(Verse.Pawn)


L_0000: Local var #0 RimWorld.Need_Rest
L_0000: Local var #1 Verse.AI.Group.Lord
L_0000: Local var #2 RimWorld.TimeAssignmentDef
L_0000: Local var #3 System.Int32
L_0000: Local var #4 System.Single
L_0000: Local var #5 System.Single
L_0000: ldc.r4 0
L_0005: stloc 5 (System.Single)
L_0007: ldarg.1
L_0008: ldfld RimWorld.Pawn_NeedsTracker needs
L_000d: ldfld RimWorld.Need_Rest rest
L_0012: stloc.0
L_0013: ldloc.0
L_0014: brtrue Label #2
L_0019: ldc.r4 0
L_001e: br Label #0
L_0023: Label #2
L_0023: ldloc.0
L_0024: callvirt RestCategory get_CurCategory()
L_0029: ldarg.0
L_002a: ldfld RimWorld.RestCategory minCategory
L_002f: bge Label #3
L_0034: ldc.r4 0
L_0039: br Label #0
L_003e: Label #3
L_003e: call Verse.TickManager get_TickManager()
L_0043: callvirt Int32 get_TicksGame()
L_0048: ldarg.1
L_0049: ldfld Verse.AI.Pawn_MindState mindState
L_004e: ldfld System.Int32 canSleepTick
L_0053: bge Label #4
L_0058: ldc.r4 0
L_005d: br Label #0
L_0062: Label #4
L_0062: ldarg.1
L_0063: call Verse.AI.Group.Lord GetLord(Verse.Pawn)
L_0068: stloc.1
L_0069: ldloc.1
L_006a: brfalse Label #5
L_006f: ldloc.1
L_0070: callvirt Verse.AI.Group.LordToil get_CurLordToil()
L_0075: callvirt Boolean get_AllowSatisfyLongNeeds()
L_007a: brtrue Label #6
L_007f: ldc.r4 0
L_0084: br Label #0
L_0089: Label #5
L_0089: Label #6
L_0089: ldarg.1
L_008a: callvirt Verse.RaceProperties get_RaceProps()
L_008f: callvirt Boolean get_Humanlike()
L_0094: brfalse Label #7
L_0099: ldarg.1
L_009a: ldfld RimWorld.Pawn_TimetableTracker timetable
L_009f: brtrue Label #8
L_00a4: ldsfld RimWorld.TimeAssignmentDef Anything
L_00a9: br Label #9
L_00ae: Label #8
L_00ae: ldarg.1
L_00af: ldfld RimWorld.Pawn_TimetableTracker timetable
L_00b4: callvirt RimWorld.TimeAssignmentDef get_CurrentAssignment()
L_00b9: Label #9
L_00b9: stloc.2
L_00ba: br Label #10
L_00bf: Label #7
L_00bf: ldarg.1
L_00c0: call Int32 HourOfDay(Verse.Thing)
L_00c5: stloc.3
L_00c6: ldloc.3
L_00c7: ldc.i4.7
L_00c8: blt Label #11
L_00cd: ldloc.3
L_00ce: ldc.i4.s 21
L_00d0: ble Label #12
L_00d5: Label #11
L_00d5: ldsfld RimWorld.TimeAssignmentDef Sleep
L_00da: stloc.2
L_00db: br Label #13
L_00e0: Label #12
L_00e0: ldsfld RimWorld.TimeAssignmentDef Anything
L_00e5: stloc.2
L_00e6: Label #10
L_00e6: Label #13
L_00e6: ldloc.0
L_00e7: callvirt Single get_CurLevel()
L_00ec: stloc.s 4 (System.Single)
L_00ee: ldloc.2
L_00ef: ldsfld RimWorld.TimeAssignmentDef Anything
L_00f4: bne.un Label #14
L_00f9: ldloc.s 4 (System.Single)
L_00fb: ldc.r4 0.3
L_0100: bge.un Label #15
L_0105: ldc.r4 8
L_010a: br Label #0
L_010f: Label #15
L_010f: ldc.r4 0
L_0114: br Label #0
L_0119: Label #14
L_0119: ldloc.2
L_011a: ldsfld RimWorld.TimeAssignmentDef Work
L_011f: bne.un Label #16
L_0124: ldc.r4 0
L_0129: br Label #0
L_012e: Label #16
L_012e: ldloc.2
L_012f: ldsfld RimWorld.TimeAssignmentDef Joy
L_0134: bne.un Label #17
L_0139: ldloc.s 4 (System.Single)
L_013b: ldc.r4 0.3
L_0140: bge.un Label #18
L_0145: ldc.r4 8
L_014a: br Label #0
L_014f: Label #18
L_014f: ldc.r4 0
L_0154: br Label #0
L_0159: Label #17
L_0159: ldloc.2
L_015a: ldsfld RimWorld.TimeAssignmentDef Sleep
L_015f: bne.un Label #19
L_0164: ldloc.s 4 (System.Single)
L_0166: ldarg.1
L_0167: call Single FallAsleepMaxLevel(Verse.Pawn)
L_016c: bge.un Label #20
L_0171: ldc.r4 8
L_0176: br Label #0
L_017b: Label #20
L_017b: ldc.r4 0
L_0180: br Label #0
L_0185: Label #19
L_0185: newobj Void .ctor()
L_018a: throw
L_018b: Label #0
L_018b: stloc 5 (System.Single)
L_018d: ldloca 5 (System.Single)
L_018f: ldarg 1
L_0195: call Void InsomniacPriority(Single ByRef, Verse.Pawn)
L_019a: ldloc 5 (System.Single)
L_019c: ret
DONE

PATCHING RimWorld.Recipe_InstallArtificialBodyPart Void ApplyOnPawn(Verse.Pawn,


Verse.BodyPartRecord, Verse.Pawn, System.Collections.Generic.List`1[Verse.Thing])
L_0000: Local var #0 System.Nullable`1[[Verse.DamageInfo, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg 1
L_0006: ldarg 3
L_000c: call Void BleedingHeartThought(Verse.Pawn, Verse.Pawn)
L_0011: ldarg.3
L_0012: brfalse Label #2
L_0017: ldarg.0
L_0018: ldarg.3
L_0019: ldarg.1
L_001a: ldarg.s 4
L_001c: ldarg.2
L_001d: call Boolean CheckSurgeryFail(Verse.Pawn, Verse.Pawn,
System.Collections.Generic.List`1[Verse.Thing], Verse.BodyPartRecord)
L_0022: brfalse Label #3
L_0027: br Label #0
L_002c: Label #3
L_002c: ldsfld RimWorld.TaleDef DidSurgery
L_0031: ldc.i4.2
L_0032: newarr System.Object
L_0037: dup
L_0038: ldc.i4.0
L_0039: ldarg.3
L_003a: stelem.ref
L_003b: dup
L_003c: ldc.i4.1
L_003d: ldarg.1
L_003e: stelem.ref
L_003f: call Void RecordTale(RimWorld.TaleDef, System.Object[])
L_0044: ldarg.1
L_0045: ldarg.2
L_0046: ldarg.3
L_0047: callvirt IntVec3 get_Position()
L_004c: ldarg.3
L_004d: callvirt Verse.Map get_Map()
L_0052: call Void RestorePartAndSpawnAllPreviousParts(Verse.Pawn,
Verse.BodyPartRecord, IntVec3, Verse.Map)
L_0057: br Label #4
L_005c: Label #2
L_005c: ldarg.1
L_005d: callvirt Verse.Map get_Map()
L_0062: brfalse Label #5
L_0067: ldarg.1
L_0068: ldarg.2
L_0069: ldarg.1
L_006a: callvirt IntVec3 get_Position()
L_006f: ldarg.1
L_0070: callvirt Verse.Map get_Map()
L_0075: call Void RestorePartAndSpawnAllPreviousParts(Verse.Pawn,
Verse.BodyPartRecord, IntVec3, Verse.Map)
L_007a: br Label #6
L_007f: Label #5
L_007f: ldarg.1
L_0080: ldfld Verse.Pawn_HealthTracker health
L_0085: ldarg.2
L_0086: ldnull
L_0087: ldc.i4.1
L_0088: callvirt Void RestorePart(Verse.BodyPartRecord, Verse.Hediff, Boolean)
L_008d: Label #4
L_008d: Label #6
L_008d: ldarg.1
L_008e: ldfld Verse.Pawn_HealthTracker health
L_0093: ldarg.0
L_0094: ldfld Verse.RecipeDef recipe
L_0099: ldfld Verse.HediffDef addsHediff
L_009e: ldarg.2
L_009f: ldloca.s 0 (System.Nullable`1[Verse.DamageInfo])
L_00a1: initobj System.Nullable`1[Verse.DamageInfo]
L_00a7: ldloc.0
L_00a8: callvirt Void AddHediff(Verse.HediffDef, Verse.BodyPartRecord, Nullable`1)
L_00ad: br Label #0
L_00b2: Label #0
L_00b2: ret
DONE

PATCHING RimWorld.Recipe_InstallImplant Void ApplyOnPawn(Verse.Pawn,


Verse.BodyPartRecord, Verse.Pawn, System.Collections.Generic.List`1[Verse.Thing])
L_0000: Local var #0 System.Nullable`1[[Verse.DamageInfo, Assembly-CSharp,
Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg 1
L_0006: ldarg 3
L_000c: call Void BleedingHeartThought(Verse.Pawn, Verse.Pawn)
L_0011: ldarg.3
L_0012: brfalse Label #2
L_0017: ldarg.0
L_0018: ldarg.3
L_0019: ldarg.1
L_001a: ldarg.s 4
L_001c: ldarg.2
L_001d: call Boolean CheckSurgeryFail(Verse.Pawn, Verse.Pawn,
System.Collections.Generic.List`1[Verse.Thing], Verse.BodyPartRecord)
L_0022: brfalse Label #3
L_0027: br Label #0
L_002c: Label #3
L_002c: ldsfld RimWorld.TaleDef DidSurgery
L_0031: ldc.i4.2
L_0032: newarr System.Object
L_0037: dup
L_0038: ldc.i4.0
L_0039: ldarg.3
L_003a: stelem.ref
L_003b: dup
L_003c: ldc.i4.1
L_003d: ldarg.1
L_003e: stelem.ref
L_003f: call Void RecordTale(RimWorld.TaleDef, System.Object[])
L_0044: Label #2
L_0044: ldarg.1
L_0045: ldfld Verse.Pawn_HealthTracker health
L_004a: ldarg.0
L_004b: ldfld Verse.RecipeDef recipe
L_0050: ldfld Verse.HediffDef addsHediff
L_0055: ldarg.2
L_0056: ldloca.s 0 (System.Nullable`1[Verse.DamageInfo])
L_0058: initobj System.Nullable`1[Verse.DamageInfo]
L_005e: ldloc.0
L_005f: callvirt Void AddHediff(Verse.HediffDef, Verse.BodyPartRecord, Nullable`1)
L_0064: br Label #0
L_0069: Label #0
L_0069: ret
DONE
PATCHING RimWorld.Recipe_InstallNaturalBodyPart Void ApplyOnPawn(Verse.Pawn,
Verse.BodyPartRecord, Verse.Pawn, System.Collections.Generic.List`1[Verse.Thing])
L_0000: ldarg 1
L_0006: ldarg 3
L_000c: call Void BleedingHeartThought(Verse.Pawn, Verse.Pawn)
L_0011: ldarg.3
L_0012: brfalse Label #2
L_0017: ldarg.0
L_0018: ldarg.3
L_0019: ldarg.1
L_001a: ldarg.s 4
L_001c: ldarg.2
L_001d: call Boolean CheckSurgeryFail(Verse.Pawn, Verse.Pawn,
System.Collections.Generic.List`1[Verse.Thing], Verse.BodyPartRecord)
L_0022: brfalse Label #3
L_0027: br Label #0
L_002c: Label #3
L_002c: ldsfld RimWorld.TaleDef DidSurgery
L_0031: ldc.i4.2
L_0032: newarr System.Object
L_0037: dup
L_0038: ldc.i4.0
L_0039: ldarg.3
L_003a: stelem.ref
L_003b: dup
L_003c: ldc.i4.1
L_003d: ldarg.1
L_003e: stelem.ref
L_003f: call Void RecordTale(RimWorld.TaleDef, System.Object[])
L_0044: ldarg.1
L_0045: ldarg.2
L_0046: ldarg.3
L_0047: callvirt IntVec3 get_Position()
L_004c: ldarg.3
L_004d: callvirt Verse.Map get_Map()
L_0052: call Void RestorePartAndSpawnAllPreviousParts(Verse.Pawn,
Verse.BodyPartRecord, IntVec3, Verse.Map)
L_0057: Label #2
L_0057: br Label #0
L_005c: Label #0
L_005c: ret
DONE

PATCHING RimWorld.Recipe_Surgery Boolean CheckSurgeryFail(Verse.Pawn, Verse.Pawn,


System.Collections.Generic.List`1[Verse.Thing], Verse.BodyPartRecord)
L_0000: Local var #0 System.Single
L_0000: Local var #1 Verse.Room
L_0000: Local var #2 System.Int32
L_0000: Local var #3 System.Boolean
L_0000: ldc.i4 0
L_0005: stloc 3 (System.Boolean)
L_0006: ldc.r4 1
L_000b: stloc.0
L_000c: ldloc.0
L_000d: ldarg.1
L_000e: ldarg.2
L_000f: callvirt Verse.RaceProperties get_RaceProps()
L_0014: callvirt Boolean get_IsMechanoid()
L_0019: brfalse Label #2
L_001e: ldsfld RimWorld.StatDef MechanoidOperationSuccessChance
L_0023: br Label #3
L_0028: Label #2
L_0028: ldsfld RimWorld.StatDef MedicalSurgerySuccessChance
L_002d: Label #3
L_002d: ldc.i4.1
L_002e: call Single GetStatValue(Verse.Thing, RimWorld.StatDef, Boolean)
L_0033: mul
L_0034: stloc.0
L_0035: ldarg.1
L_0036: ldc.i4.6
L_0037: call Verse.Room GetRoom(Verse.Thing, RegionType)
L_003c: stloc.1
L_003d: ldloc.1
L_003e: brfalse Label #4
L_0043: ldarg.2
L_0044: callvirt Verse.RaceProperties get_RaceProps()
L_0049: callvirt Boolean get_IsMechanoid()
L_004e: brtrue Label #5
L_0053: ldloc.0
L_0054: ldloc.1
L_0055: ldsfld Verse.RoomStatDef SurgerySuccessChanceFactor
L_005a: callvirt Single GetStat(Verse.RoomStatDef)
L_005f: mul
L_0060: stloc.0
L_0061: Label #4
L_0061: Label #5
L_0061: ldloc.0
L_0062: ldarg.0
L_0063: ldarg.3
L_0064: call Single
GetAverageMedicalPotency(System.Collections.Generic.List`1[Verse.Thing])
L_0069: mul
L_006a: stloc.0
L_006b: ldloc.0
L_006c: ldarg.0
L_006d: ldfld Verse.RecipeDef recipe
L_0072: ldfld System.Single surgerySuccessChanceFactor
L_0077: mul
L_0078: stloc.0
L_0079: call Single get_Value()
L_007e: ldloc.0
L_007f: ble.un Label #6
L_0084: call Single get_Value()
L_0089: ldarg.0
L_008a: ldfld Verse.RecipeDef recipe
L_008f: ldfld System.Single deathOnFailedSurgeryChance
L_0094: bge.un Label #7
L_0099: ldc.i4.0
L_009a: stloc.2
L_009b: br Label #8
L_00a0: Label #11
L_00a0: ldarg.2
L_00a1: call Void GiveInjuriesOperationFailureRidiculous(Verse.Pawn)
L_00a6: ldloc.2
L_00a7: ldc.i4.1
L_00a8: add
L_00a9: stloc.2
L_00aa: ldloc.2
L_00ab: ldc.i4 300
L_00b0: ble Label #9
L_00b5: ldstr "Could not kill patient."
L_00ba: call Void Error(System.String)
L_00bf: br Label #10
L_00c4: Label #8
L_00c4: Label #9
L_00c4: ldarg.2
L_00c5: callvirt Boolean get_Dead()
L_00ca: brfalse Label #11
L_00cf: Label #10
L_00cf: br Label #12
L_00d4: Label #7
L_00d4: call Single get_Value()
L_00d9: ldc.r4 0.5
L_00de: bge.un Label #13
L_00e3: call Single get_Value()
L_00e8: ldc.r4 0.1
L_00ed: bge.un Label #14
L_00f2: ldstr "MessageMedicalOperationFailureRidiculous"
L_00f7: ldc.i4.2
L_00f8: newarr System.Object
L_00fd: dup
L_00fe: ldc.i4.0
L_00ff: ldarg.1
L_0100: callvirt System.String get_LabelShort()
L_0105: stelem.ref
L_0106: dup
L_0107: ldc.i4.1
L_0108: ldarg.2
L_0109: callvirt System.String get_LabelShort()
L_010e: stelem.ref
L_010f: call System.String Translate(System.String, System.Object[])
L_0114: ldarg.2
L_0115: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_011a: ldc.i4.5
L_011b: call Void Message(System.String, GlobalTargetInfo, MessageSound)
L_0120: ldarg.2
L_0121: call Void GiveInjuriesOperationFailureRidiculous(Verse.Pawn)
L_0126: br Label #15
L_012b: Label #14
L_012b: ldstr "MessageMedicalOperationFailureCatastrophic"
L_0130: ldc.i4.2
L_0131: newarr System.Object
L_0136: dup
L_0137: ldc.i4.0
L_0138: ldarg.1
L_0139: callvirt System.String get_LabelShort()
L_013e: stelem.ref
L_013f: dup
L_0140: ldc.i4.1
L_0141: ldarg.2
L_0142: callvirt System.String get_LabelShort()
L_0147: stelem.ref
L_0148: call System.String Translate(System.String, System.Object[])
L_014d: ldarg.2
L_014e: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_0153: ldc.i4.5
L_0154: call Void Message(System.String, GlobalTargetInfo, MessageSound)
L_0159: ldarg.2
L_015a: ldarg.s 4
L_015c: call Void GiveInjuriesOperationFailureCatastrophic(Verse.Pawn,
Verse.BodyPartRecord)
L_0161: Label #15
L_0161: br Label #16
L_0166: Label #13
L_0166: ldstr "MessageMedicalOperationFailureMinor"
L_016b: ldc.i4.2
L_016c: newarr System.Object
L_0171: dup
L_0172: ldc.i4.0
L_0173: ldarg.1
L_0174: callvirt System.String get_LabelShort()
L_0179: stelem.ref
L_017a: dup
L_017b: ldc.i4.1
L_017c: ldarg.2
L_017d: callvirt System.String get_LabelShort()
L_0182: stelem.ref
L_0183: call System.String Translate(System.String, System.Object[])
L_0188: ldarg.2
L_0189: call GlobalTargetInfo op_Implicit(Verse.Thing)
L_018e: ldc.i4.4
L_018f: call Void Message(System.String, GlobalTargetInfo, MessageSound)
L_0194: ldarg.2
L_0195: ldarg.s 4
L_0197: call Void GiveInjuriesOperationFailureMinor(Verse.Pawn,
Verse.BodyPartRecord)
L_019c: Label #12
L_019c: Label #16
L_019c: ldarg.2
L_019d: callvirt Boolean get_Dead()
L_01a2: brtrue Label #17
L_01a7: ldarg.0
L_01a8: ldarg.2
L_01a9: ldarg.1
L_01aa: call Void TryGainBotchedSurgeryThought(Verse.Pawn, Verse.Pawn)
L_01af: Label #17
L_01af: ldc.i4.1
L_01b0: br Label #0
L_01b5: Label #6
L_01b5: ldc.i4.0
L_01b6: br Label #0
L_01bb: Label #0
L_01bb: stloc 3 (System.Boolean)
L_01bc: ldloc 3 (System.Boolean)
L_01bd: ldarg 1
L_01c3: ldarg 2
L_01c9: call Void BleedingHeartThought(Boolean, Verse.Pawn, Verse.Pawn)
L_01ce: ldloc 3 (System.Boolean)
L_01cf: ret
DONE

PATCHING RimWorld.TendUtility Void DoTend(Verse.Pawn, Verse.Pawn,


RimWorld.Medicine)
L_0000: Local var #0 System.Single
L_0000: Local var #1 System.Single
L_0000: Local var #2 RimWorld.Building_Bed
L_0000: Local var #3 System.Int32
L_0000: ldarg.1
L_0001: ldfld Verse.Pawn_HealthTracker health
L_0006: ldc.i4.0
L_0007: callvirt Boolean HasHediffsNeedingTend(Boolean)
L_000c: brtrue Label #2
L_0011: br Label #0
L_0016: Label #2
L_0016: ldarg.2
L_0017: brfalse Label #3
L_001c: ldarg.2
L_001d: callvirt Boolean get_Destroyed()
L_0022: brfalse Label #4
L_0027: ldstr "Tried to use destroyed medicine."
L_002c: call Void Warning(System.String)
L_0031: ldnull
L_0032: starg.s 2
L_0034: Label #3
L_0034: Label #4
L_0034: ldarg.2
L_0035: brfalse Label #5
L_003a: ldarg.2
L_003b: ldfld Verse.ThingDef def
L_0040: ldsfld RimWorld.StatDef MedicalPotency
L_0045: ldnull
L_0046: call Single GetStatValueAbstract(Verse.BuildableDef, RimWorld.StatDef,
Verse.ThingDef)
L_004b: br Label #6
L_0050: Label #5
L_0050: ldc.r4 0.3
L_0055: Label #6
L_0055: stloc.0
L_0056: ldarg.0
L_0057: brfalse Label #7
L_005c: ldarg.0
L_005d: ldsfld RimWorld.StatDef MedicalTendQuality
L_0062: ldc.i4.1
L_0063: call Single GetStatValue(Verse.Thing, RimWorld.StatDef, Boolean)
L_0068: stloc.1
L_0069: br Label #8
L_006e: Label #7
L_006e: ldc.r4 0.75
L_0073: stloc.1
L_0074: Label #8
L_0074: ldloc.1
L_0075: ldloc.0
L_0076: mul
L_0077: stloc.1
L_0078: ldarg.1
L_0079: call RimWorld.Building_Bed CurrentBed(Verse.Pawn)
L_007e: stloc.2
L_007f: ldloc.2
L_0080: brfalse Label #9
L_0085: ldloc.1
L_0086: ldloc.2
L_0087: ldsfld RimWorld.StatDef MedicalTendQualityOffset
L_008c: ldc.i4.1
L_008d: call Single GetStatValue(Verse.Thing, RimWorld.StatDef, Boolean)
L_0092: add
L_0093: stloc.1
L_0094: Label #9
L_0094: ldarg.0
L_0095: ldarg.1
L_0096: bne.un Label #10
L_009b: ldloc.1
L_009c: ldc.r4 0.7
L_00a1: mul
L_00a2: stloc.1
L_00a3: Label #10
L_00a3: ldloc.1
L_00a4: call Single Clamp01(Single)
L_00a9: stloc.1
L_00aa: ldarg.1
L_00ab: ldarg.2
L_00ac: ldnull
L_00ad: ceq
L_00af: ldc.i4.0
L_00b0: ceq
L_00b2: ldsfld System.Collections.Generic.List`1[Verse.Hediff] tmpHediffsToTend
L_00b7: ldnull
L_00b8: call Void GetOptimalHediffsToTendWithSingleTreatment(Verse.Pawn, Boolean,
System.Collections.Generic.List`1[Verse.Hediff],
System.Collections.Generic.List`1[Verse.Hediff])
L_00bd: ldc.i4.0
L_00be: stloc.3
L_00bf: br Label #11
L_00c4: Label #12
L_00c4: ldsfld System.Collections.Generic.List`1[Verse.Hediff] tmpHediffsToTend
L_00c9: ldloc.3
L_00ca: callvirt Verse.Hediff get_Item(Int32)
L_00cf: ldloc.1
L_00d0: ldloc.3
L_00d1: callvirt Void Tended(Single, Int32)
L_00d6: ldloc.3
L_00d7: ldc.i4.1
L_00d8: add
L_00d9: stloc.3
L_00da: Label #11
L_00da: ldloc.3
L_00db: ldsfld System.Collections.Generic.List`1[Verse.Hediff] tmpHediffsToTend
L_00e0: callvirt Int32 get_Count()
L_00e5: blt Label #12
L_00ea: ldarg.0
L_00eb: brfalse Label #13
L_00f0: ldarg.0
L_00f1: callvirt RimWorld.Faction get_Faction()
L_00f6: brfalse Label #14
L_00fb: ldarg.1
L_00fc: callvirt RimWorld.Faction get_HostFaction()
L_0101: brtrue Label #15
L_0106: ldarg.1
L_0107: callvirt RimWorld.Faction get_Faction()
L_010c: brfalse Label #16
L_0111: ldarg.1
L_0112: callvirt RimWorld.Faction get_Faction()
L_0117: ldarg.0
L_0118: callvirt RimWorld.Faction get_Faction()
L_011d: beq Label #17
L_0122: ldarg.1
L_0123: callvirt RimWorld.Faction get_Faction()
L_0128: ldarg.0
L_0129: callvirt RimWorld.Faction get_Faction()
L_012e: ldc.r4 0.3
L_0133: callvirt Boolean AffectGoodwillWith(RimWorld.Faction, Single)
L_0138: pop
L_0139: Label #13
L_0139: Label #14
L_0139: Label #15
L_0139: Label #16
L_0139: Label #17
L_0139: ldarg.0
L_013a: brfalse Label #18
L_013f: ldarg.0
L_0140: callvirt Verse.RaceProperties get_RaceProps()
L_0145: callvirt Boolean get_Humanlike()
L_014a: brfalse Label #19
L_014f: ldarg.1
L_0150: callvirt Verse.RaceProperties get_RaceProps()
L_0155: callvirt Boolean get_Animal()
L_015a: brfalse Label #20
L_015f: ldarg.0
L_0160: ldarg.1
L_0161: ldc.r4 0.004
L_0166: call Boolean TryDevelopBondRelation(Verse.Pawn, Verse.Pawn, Single)
L_016b: brfalse Label #21
L_0170: ldarg.0
L_0171: callvirt RimWorld.Faction get_Faction()
L_0176: brfalse Label #22
L_017b: ldarg.0
L_017c: callvirt RimWorld.Faction get_Faction()
L_0181: ldarg.1
L_0182: callvirt RimWorld.Faction get_Faction()
L_0187: beq Label #23
L_018c: ldarg.0
L_018d: ldarg.1
L_018e: ldc.r4 1
L_0193: ldc.i4.0
L_0194: call Void DoRecruit(Verse.Pawn, Verse.Pawn, Single, Boolean)
L_0199: Label #18
L_0199: Label #19
L_0199: Label #20
L_0199: Label #21
L_0199: Label #22
L_0199: Label #23
L_0199: ldarg.1
L_019a: ldfld RimWorld.Pawn_RecordsTracker records
L_019f: ldsfld RimWorld.RecordDef TimesTendedTo
L_01a4: callvirt Void Increment(RimWorld.RecordDef)
L_01a9: ldarg.0
L_01aa: brfalse Label #24
L_01af: ldarg.0
L_01b0: ldfld RimWorld.Pawn_RecordsTracker records
L_01b5: ldsfld RimWorld.RecordDef TimesTendedOther
L_01ba: callvirt Void Increment(RimWorld.RecordDef)
L_01bf: Label #24
L_01bf: ldarg.2
L_01c0: brfalse Label #25
L_01c5: ldarg.1
L_01c6: callvirt Boolean get_Spawned()
L_01cb: brtrue Label #26
L_01d0: ldarg.0
L_01d1: brfalse Label #27
L_01d6: ldarg.0
L_01d7: callvirt Boolean get_Spawned()
L_01dc: brfalse Label #28
L_01e1: Label #26
L_01e1: ldloc.0
L_01e2: ldsfld Verse.ThingDef Medicine
L_01e7: ldsfld RimWorld.StatDef MedicalPotency
L_01ec: ldnull
L_01ed: call Single GetStatValueAbstract(Verse.BuildableDef, RimWorld.StatDef,
Verse.ThingDef)
L_01f2: ble.un Label #29
L_01f7: ldsfld Verse.SoundDef TechMedicineUsed
L_01fc: ldarg.1
L_01fd: callvirt IntVec3 get_Position()
L_0202: ldarg.1
L_0203: callvirt Verse.Map get_Map()
L_0208: ldc.i4.0
L_0209: newobj Void .ctor(IntVec3, Map, Boolean)
L_020e: call SoundInfo op_Implicit(TargetInfo)
L_0213: call Void PlayOneShot(Verse.SoundDef, SoundInfo)
L_0218: Label #27
L_0218: Label #28
L_0218: Label #29
L_0218: ldarg.2
L_0219: ldfld System.Int32 stackCount
L_021e: ldc.i4.1
L_021f: ble Label #30
L_0224: ldarg.2
L_0225: dup
L_0226: ldfld System.Int32 stackCount
L_022b: ldc.i4.1
L_022c: sub
L_022d: stfld System.Int32 stackCount
L_0232: br Label #31
L_0237: Label #30
L_0237: ldarg.2
L_0238: callvirt Boolean get_Destroyed()
L_023d: brtrue Label #32
L_0242: ldarg.2
L_0243: ldc.i4.0
L_0244: callvirt Void Destroy(DestroyMode)
L_0249: Label #25
L_0249: Label #31
L_0249: Label #32
L_0249: br Label #0
L_024e: Label #0
L_024e: ldarg 0
L_0254: ldarg 1
L_025a: call Void BleedingHeartThought(Verse.Pawn, Verse.Pawn)
L_025f: ret
DONE

PATCHING RimWorld.ThoughtUtility Void GiveThoughtsForPawnExecuted(Verse.Pawn,


PawnExecutionKind)
L_0000: Local var #0 System.Int32
L_0000: Local var #1 RimWorld.ThoughtDef
L_0000: Local var #2 Verse.Pawn
L_0000: Local var #3 System.Collections.Generic.IEnumerator`1[[Verse.Pawn,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: Local var #4 RimWorld.PawnExecutionKind
L_0000: ldarg.0
L_0001: callvirt Verse.RaceProperties get_RaceProps()
L_0006: callvirt Boolean get_Humanlike()
L_000b: brtrue Label #2
L_0010: br Label #0
L_0015: Label #2
L_0015: ldc.i4.1
L_0016: stloc.0
L_0017: ldarg.0
L_0018: ldfld RimWorld.Pawn_GuiltTracker guilt
L_001d: callvirt Boolean get_IsGuilty()
L_0022: brfalse Label #3
L_0027: ldc.i4.0
L_0028: stloc.0
L_0029: br Label #4
L_002e: Label #3
L_002e: ldarg.1
L_002f: stloc.s 4 (RimWorld.PawnExecutionKind)
L_0031: ldloc.s 4 (RimWorld.PawnExecutionKind)
L_0033: switch Labels #5 #6 #7
L_0044: br Label #8
L_0049: Label #6
L_0049: ldc.i4.1
L_004a: stloc.0
L_004b: br Label #9
L_0050: Label #5
L_0050: ldc.i4.2
L_0051: stloc.0
L_0052: br Label #10
L_0057: Label #7
L_0057: ldc.i4.3
L_0058: stloc.0
L_0059: br Label #11
L_005e: Label #4
L_005e: Label #8
L_005e: Label #9
L_005e: Label #10
L_005e: Label #11
L_005e: ldarg.0
L_005f: callvirt Boolean get_IsColonist()
L_0064: brfalse Label #12
L_0069: ldsfld RimWorld.ThoughtDef KnowColonistExecuted
L_006e: stloc.1
L_006f: br Label #13
L_0074: Label #12
L_0074: ldsfld RimWorld.ThoughtDef KnowGuestExecuted
L_0079: stloc.1
L_007a: Label #13
L_007a: call IEnumerable`1 get_AllMapsCaravansAndTravelingTransportPods()
L_007f: ldsfld System.Func`2[Verse.Pawn,System.Boolean] <>f__am$cache4
L_0084: brtrue Label #14
L_0089: ldnull
L_008a: ldftn Boolean <GiveThoughtsForPawnExecuted>m__75A(Verse.Pawn)
L_0090: newobj Void .ctor(Object, IntPtr)
L_0095: stsfld System.Func`2[Verse.Pawn,System.Boolean] <>f__am$cache4
L_009a: Label #14
L_009a: ldsfld System.Func`2[Verse.Pawn,System.Boolean] <>f__am$cache4
L_009f: call IEnumerable`1 Where[Pawn](IEnumerable`1,
System.Func`2[Verse.Pawn,System.Boolean])
L_00a4: callvirt IEnumerator`1 GetEnumerator()
L_00a9: stloc.3
L_00aa: br Label #15
L_00af: Label #16
L_00af: ldloc.3
L_00b0: callvirt Verse.Pawn get_Current()
L_00b5: stloc.2
L_00b6: ldloc.2
L_00b7: ldfld RimWorld.Pawn_NeedsTracker needs
L_00bc: ldfld RimWorld.Need_Mood mood
L_00c1: ldfld RimWorld.ThoughtHandler thoughts
L_00c6: ldfld RimWorld.MemoryThoughtHandler memories
L_00cb: ldloc.1
L_00cc: ldloc.0
L_00cd: call RimWorld.Thought_Memory MakeThought(RimWorld.ThoughtDef, Int32)
L_00d2: ldnull
L_00d3: callvirt Void TryGainMemory(RimWorld.Thought_Memory, Verse.Pawn)
L_00d8: Label #15
L_00d8: ldloc.3
L_00d9: callvirt Boolean MoveNext()
L_00de: brtrue Label #16
L_00e3: leave Label #17
L_00e8: ldloc.3
L_00e9: brtrue Label #18
L_00ee: endfinally
L_00ef: Label #18
L_00ef: ldloc.3
L_00f0: callvirt Void Dispose()
L_00f5: endfinally
L_00f6: Label #17
L_00f6: br Label #0
L_00fb: Label #0
L_00fb: ldarg 0
L_0101: ldarg 1
L_0107: call Void BleedingHeartThoughts(Verse.Pawn, PawnExecutionKind)
L_010c: ret
DONE

PATCHING RimWorld.ThoughtUtility Void GiveThoughtsForPawnOrganHarvested(Verse.Pawn)


L_0000: Local var #0 RimWorld.ThoughtDef
L_0000: Local var #1 Verse.Pawn
L_0000: Local var #2 System.Collections.Generic.IEnumerator`1[[Verse.Pawn,
Assembly-CSharp, Version=0.17.6362.34649, Culture=neutral, PublicKeyToken=null]]
L_0000: ldarg.0
L_0001: callvirt Verse.RaceProperties get_RaceProps()
L_0006: callvirt Boolean get_Humanlike()
L_000b: brtrue Label #2
L_0010: br Label #0
L_0015: Label #2
L_0015: ldnull
L_0016: stloc.0
L_0017: ldarg.0
L_0018: callvirt Boolean get_IsColonist()
L_001d: brfalse Label #3
L_0022: ldsfld RimWorld.ThoughtDef KnowColonistOrganHarvested
L_0027: stloc.0
L_0028: br Label #4
L_002d: Label #3
L_002d: ldarg.0
L_002e: callvirt RimWorld.Faction get_HostFaction()
L_0033: call RimWorld.Faction get_OfPlayer()
L_0038: bne.un Label #5
L_003d: ldsfld RimWorld.ThoughtDef KnowGuestOrganHarvested
L_0042: stloc.0
L_0043: Label #4
L_0043: Label #5
L_0043: call IEnumerable`1 get_AllMapsCaravansAndTravelingTransportPods()
L_0048: ldsfld System.Func`2[Verse.Pawn,System.Boolean] <>f__am$cache5
L_004d: brtrue Label #6
L_0052: ldnull
L_0053: ldftn Boolean <GiveThoughtsForPawnOrganHarvested>m__75B(Verse.Pawn)
L_0059: newobj Void .ctor(Object, IntPtr)
L_005e: stsfld System.Func`2[Verse.Pawn,System.Boolean] <>f__am$cache5
L_0063: Label #6
L_0063: ldsfld System.Func`2[Verse.Pawn,System.Boolean] <>f__am$cache5
L_0068: call IEnumerable`1 Where[Pawn](IEnumerable`1,
System.Func`2[Verse.Pawn,System.Boolean])
L_006d: callvirt IEnumerator`1 GetEnumerator()
L_0072: stloc.2
L_0073: br Label #7
L_0078: Label #11
L_0078: ldloc.2
L_0079: callvirt Verse.Pawn get_Current()
L_007e: stloc.1
L_007f: ldloc.1
L_0080: ldarg.0
L_0081: bne.un Label #8
L_0086: ldloc.1
L_0087: ldfld RimWorld.Pawn_NeedsTracker needs
L_008c: ldfld RimWorld.Need_Mood mood
L_0091: ldfld RimWorld.ThoughtHandler thoughts
L_0096: ldfld RimWorld.MemoryThoughtHandler memories
L_009b: ldsfld RimWorld.ThoughtDef MyOrganHarvested
L_00a0: ldnull
L_00a1: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_00a6: br Label #9
L_00ab: Label #8
L_00ab: ldloc.0
L_00ac: brfalse Label #10
L_00b1: ldloc.1
L_00b2: ldfld RimWorld.Pawn_NeedsTracker needs
L_00b7: ldfld RimWorld.Need_Mood mood
L_00bc: ldfld RimWorld.ThoughtHandler thoughts
L_00c1: ldfld RimWorld.MemoryThoughtHandler memories
L_00c6: ldloc.0
L_00c7: ldnull
L_00c8: callvirt Void TryGainMemory(RimWorld.ThoughtDef, Verse.Pawn)
L_00cd: Label #7
L_00cd: Label #9
L_00cd: Label #10
L_00cd: ldloc.2
L_00ce: callvirt Boolean MoveNext()
L_00d3: brtrue Label #11
L_00d8: leave Label #12
L_00dd: ldloc.2
L_00de: brtrue Label #13
L_00e3: endfinally
L_00e4: Label #13
L_00e4: ldloc.2
L_00e5: callvirt Void Dispose()
L_00ea: endfinally
L_00eb: Label #12
L_00eb: br Label #0
L_00f0: Label #0
L_00f0: ldarg 0
L_00f6: call Void BleedingHeartThoughts(Verse.Pawn)
L_00fb: ret
DONE

You might also like