Professional Documents
Culture Documents
Harmony Log
Harmony Log
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
"
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.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