Guest User

Harmony Log File

a guest
Dec 2nd, 2023
10
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 125.36 KB | Gaming | 0 0
  1. ### Harmony id=rimworld.aelanna.arimreborn.core, version=2.2.2.0, location=D:\SteamLibrary\steamapps\common\data-000002DAA1B43DD0, env/clr=4.0.30319.42000, platform=Win32NT, ptrsize:runtime/env=8/Bits64, Windows
  2. ### Started from static System.Void ARimReborn.HarmonyPatches::.cctor(), location D:\SteamLibrary\steamapps\common\data-000002DAA1CAC820
  3. ### At 2023-12-03 12.43.46
  4. ### Patch: virtual System.Void Verse.UIRoot_Entry::Init()
  5. ### Replacement: static System.Void Verse.UIRoot_Entry::Verse.UIRoot_Entry.Init_Patch1(Verse.UIRoot_Entry this)
  6. IL_0000: Local var 0: Verse.Dialog_MessageBox
  7. IL_0000: // start original
  8. IL_0000: ldarg.0
  9. IL_0001: call virtual System.Void Verse.UIRoot::Init()
  10. IL_0006: newobj System.Void RimWorld.UI_BackgroundMain::.ctor()
  11. IL_000B: stsfld Verse.UIMenuBackground Verse.UIMenuBackgroundManager::background
  12. IL_0010: call static System.Void RimWorld.MainMenuDrawer::Init()
  13. IL_0015: call static System.Boolean Verse.QuickStarter::CheckQuickStart()
  14. IL_001A: pop
  15. IL_001B: call static System.Void RimWorld.VersionUpdateDialogMaker::CreateVersionUpdateDialogIfNecessary()
  16. IL_0020: call static System.Boolean Verse.Steam.SteamManager::get_Initialized()
  17. IL_0025: brtrue => Label0
  18. IL_002A: ldstr "SteamClientMissing"
  19. IL_002F: call static Verse.TaggedString Verse.Translator::Translate(System.String key)
  20. IL_0034: call static System.String Verse.TaggedString::op_Implicit(Verse.TaggedString taggedString)
  21. IL_0039: call static Verse.TaggedString Verse.TaggedString::op_Implicit(System.String str)
  22. IL_003E: ldstr "Quit"
  23. IL_0043: call static Verse.TaggedString Verse.Translator::Translate(System.String key)
  24. IL_0048: call static System.String Verse.TaggedString::op_Implicit(Verse.TaggedString taggedString)
  25. IL_004D: ldsfld System.Action Verse.<>c::<>9__2_0
  26. IL_0052: dup
  27. IL_0053: brtrue => Label1
  28. IL_0058: pop
  29. IL_0059: ldsfld Verse.<>c Verse.<>c::<>9
  30. IL_005E: ldftn System.Void Verse.<>c::<Init>b__2_0()
  31. IL_0064: newobj System.Void System.Action::.ctor(System.Object object, System.IntPtr method)
  32. IL_0069: dup
  33. IL_006A: stsfld System.Action Verse.<>c::<>9__2_0
  34. IL_006F: Label1
  35. IL_006F: ldstr "Ignore"
  36. IL_0074: call static Verse.TaggedString Verse.Translator::Translate(System.String key)
  37. IL_0079: call static System.String Verse.TaggedString::op_Implicit(Verse.TaggedString taggedString)
  38. IL_007E: ldnull
  39. IL_007F: ldnull
  40. IL_0080: ldc.i4.0
  41. IL_0081: ldnull
  42. IL_0082: ldnull
  43. IL_0083: ldc.i4.1
  44. IL_0084: newobj System.Void Verse.Dialog_MessageBox::.ctor(Verse.TaggedString text, System.String buttonAText, System.Action buttonAAction, System.String buttonBText, System.Action buttonBAction, System.String title, System.Boolean buttonADestructive, System.Action acceptAction, System.Action cancelAction, Verse.WindowLayer layer)
  45. IL_0089: stloc.0
  46. IL_008A: call static Verse.WindowStack Verse.Find::get_WindowStack()
  47. IL_008F: ldloc.0
  48. IL_0090: callvirt System.Void Verse.WindowStack::Add(Verse.Window window)
  49. IL_0095: // end original
  50. IL_0095: Label0
  51. IL_0095: call static System.Void ARimReborn.HarmonyPatches::UIRootEntryInit_Prefix()
  52. IL_009A: ret
  53. DONE
  54.  
  55. ### Patch: System.Void RimWorld.CompIngredients::RegisterIngredient(Verse.ThingDef def)
  56. ### Replacement: static System.Void RimWorld.CompIngredients::RimWorld.CompIngredients.RegisterIngredient_Patch1(RimWorld.CompIngredients this, Verse.ThingDef def)
  57. IL_0000: Local var 0: System.Boolean
  58. IL_0000: ldc.i4 0
  59. IL_0005: stloc 0 (System.Boolean)
  60. IL_0009: ldc.i4.1
  61. IL_000A: stloc 0 (System.Boolean)
  62. IL_000E: ldloc 0 (System.Boolean)
  63. IL_0012: brfalse => Label1
  64. IL_0017: ldarg 1
  65. IL_001B: call static System.Boolean ARimReborn.HarmonyPatches::CompIngredientsRegisterIngredient_Prefix(Verse.ThingDef def)
  66. IL_0020: stloc 0 (System.Boolean)
  67. IL_0024: Label1
  68. IL_0024: nop
  69. IL_0025: ldloc 0 (System.Boolean)
  70. IL_0029: brfalse => Label0
  71. IL_002E: // start original
  72. IL_002E: ldarg.0
  73. IL_002F: ldfld System.Collections.Generic.List`1<Verse.ThingDef> RimWorld.CompIngredients::ingredients
  74. IL_0034: ldarg.1
  75. IL_0035: callvirt virtual System.Boolean System.Collections.Generic.List`1<Verse.ThingDef>::Contains(Verse.ThingDef item)
  76. IL_003A: brtrue => Label2
  77. IL_003F: ldarg.0
  78. IL_0040: ldfld System.Collections.Generic.List`1<Verse.ThingDef> RimWorld.CompIngredients::ingredients
  79. IL_0045: ldarg.1
  80. IL_0046: callvirt virtual System.Void System.Collections.Generic.List`1<Verse.ThingDef>::Add(Verse.ThingDef item)
  81. IL_004B: ldarg.0
  82. IL_004C: ldnull
  83. IL_004D: stfld System.Collections.Generic.List`1<System.String> RimWorld.CompIngredients::cachedMergeCompatibilityTags
  84. IL_0052: // end original
  85. IL_0052: Label2
  86. IL_0052: Label0
  87. IL_0052: ret
  88. DONE
  89.  
  90. ### Patch: virtual System.Void RimWorld.WeatherEvent_LightningStrike::FireEvent()
  91. ### Replacement: static System.Void RimWorld.WeatherEvent_LightningStrike::RimWorld.WeatherEvent_LightningStrike.FireEvent_Patch1(RimWorld.WeatherEvent_LightningStrike this)
  92. IL_0000: Local var 0: System.Boolean
  93. IL_0000: ldc.i4 0
  94. IL_0005: stloc 0 (System.Boolean)
  95. IL_0009: ldc.i4.1
  96. IL_000A: stloc 0 (System.Boolean)
  97. IL_000E: ldloc 0 (System.Boolean)
  98. IL_0012: brfalse => Label1
  99. IL_0017: ldarg.0
  100. IL_0018: ldfld Verse.Map Verse.WeatherEvent::map
  101. IL_001D: ldarg.0
  102. IL_001E: ldflda Verse.IntVec3 RimWorld.WeatherEvent_LightningStrike::strikeLoc
  103. IL_0023: ldarg.0
  104. IL_0024: ldflda UnityEngine.Mesh RimWorld.WeatherEvent_LightningStrike::boltMesh
  105. IL_0029: call static System.Boolean ARimReborn.HarmonyPatches::WeatherEventLightningStrikeFireEvent_Prefix(Verse.Map ___map, Verse.IntVec3& ___strikeLoc, UnityEngine.Mesh& ___boltMesh)
  106. IL_002E: stloc 0 (System.Boolean)
  107. IL_0032: Label1
  108. IL_0032: nop
  109. IL_0033: ldloc 0 (System.Boolean)
  110. IL_0037: brfalse => Label0
  111. IL_003C: // start original
  112. IL_003C: ldarg.0
  113. IL_003D: ldfld Verse.IntVec3 RimWorld.WeatherEvent_LightningStrike::strikeLoc
  114. IL_0042: ldarg.0
  115. IL_0043: ldfld Verse.Map Verse.WeatherEvent::map
  116. IL_0048: ldarg.0
  117. IL_0049: ldflda UnityEngine.Mesh RimWorld.WeatherEvent_LightningStrike::boltMesh
  118. IL_004E: call static System.Void RimWorld.WeatherEvent_LightningStrike::DoStrike(Verse.IntVec3 strikeLoc, Verse.Map map, UnityEngine.Mesh& boltMesh)
  119. IL_0053: // end original
  120. IL_0053: Label0
  121. IL_0053: ret
  122. DONE
  123.  
  124. ### Patch: System.Single Verse.VerbProperties::AdjustedMeleeDamageAmount(Verse.Tool tool, Verse.Pawn attacker, Verse.Thing equipment, Verse.HediffComp_VerbGiver hediffCompSource)
  125. ### Replacement: static System.Single Verse.VerbProperties::Verse.VerbProperties.AdjustedMeleeDamageAmount_Patch1(Verse.VerbProperties this, Verse.Tool tool, Verse.Pawn attacker, Verse.Thing equipment, Verse.HediffComp_VerbGiver hediffCompSource)
  126. IL_0000: Local var 0: System.Single
  127. IL_0000: Local var 1: System.Single
  128. IL_0000: ldc.r4 0
  129. IL_0005: stloc 1 (System.Single)
  130. IL_0009: // start original
  131. IL_0009: ldarg.0
  132. IL_000A: call System.Boolean Verse.VerbProperties::get_IsMeleeAttack()
  133. IL_000F: brtrue => Label0
  134. IL_0014: ldstr "Attempting to get melee damage for a non-melee verb {0}"
  135. IL_0019: ldarg.0
  136. IL_001A: call static System.String System.String::Format(System.String format, System.Object arg0)
  137. IL_001F: ldc.i4 26181238
  138. IL_0024: call static System.Void Verse.Log::ErrorOnce(System.String text, System.Int32 key)
  139. IL_0029: Label0
  140. IL_0029: ldarg.1
  141. IL_002A: brfalse => Label1
  142. IL_002F: ldarg.1
  143. IL_0030: ldarg.3
  144. IL_0031: ldarg.0
  145. IL_0032: ldfld Verse.DamageDef Verse.VerbProperties::meleeDamageDef
  146. IL_0037: callvirt System.Single Verse.Tool::AdjustedBaseMeleeDamageAmount(Verse.Thing ownerEquipment, Verse.DamageDef damageDef)
  147. IL_003C: stloc.0
  148. IL_003D: br => Label2
  149. IL_0042: Label1
  150. IL_0042: ldarg.0
  151. IL_0043: ldfld System.Int32 Verse.VerbProperties::meleeDamageBaseAmount
  152. IL_0048: conv.r4
  153. IL_0049: stloc.0
  154. IL_004A: Label2
  155. IL_004A: ldarg.2
  156. IL_004B: brfalse => Label3
  157. IL_0050: ldloc.0
  158. IL_0051: ldarg.0
  159. IL_0052: ldarg.1
  160. IL_0053: ldarg.2
  161. IL_0054: ldarg.s 4
  162. IL_0056: call System.Single Verse.VerbProperties::GetDamageFactorFor(Verse.Tool tool, Verse.Pawn attacker, Verse.HediffComp_VerbGiver hediffCompSource)
  163. IL_005B: mul
  164. IL_005C: stloc.0
  165. IL_005D: Label3
  166. IL_005D: ldloc.0
  167. IL_005E: // end original
  168. IL_005E: stloc 1 (System.Single)
  169. IL_0062: ldarg 2
  170. IL_0066: ldarg 3
  171. IL_006A: ldloca 1 (System.Single)
  172. IL_006E: call static System.Void ARimReborn.HarmonyPatches::VerbPropertiesAdjustedMeleeDamageAmount_Postfix(Verse.Pawn attacker, Verse.Thing equipment, System.Single& __result)
  173. IL_0073: ldloc 1 (System.Single)
  174. IL_0077: ret
  175. DONE
  176.  
  177. ### Patch: System.Single Verse.VerbProperties::AdjustedArmorPenetration(Verse.Tool tool, Verse.Pawn attacker, Verse.Thing equipment, Verse.HediffComp_VerbGiver hediffCompSource)
  178. ### Replacement: static System.Single Verse.VerbProperties::Verse.VerbProperties.AdjustedArmorPenetration_Patch1(Verse.VerbProperties this, Verse.Tool tool, Verse.Pawn attacker, Verse.Thing equipment, Verse.HediffComp_VerbGiver hediffCompSource)
  179. IL_0000: Local var 0: System.Single
  180. IL_0000: Local var 1: System.Single
  181. IL_0000: Local var 2: System.Single
  182. IL_0000: ldc.r4 0
  183. IL_0005: stloc 2 (System.Single)
  184. IL_0009: // start original
  185. IL_0009: ldarg.1
  186. IL_000A: brfalse => Label0
  187. IL_000F: ldarg.1
  188. IL_0010: ldfld System.Single Verse.Tool::armorPenetration
  189. IL_0015: stloc.0
  190. IL_0016: br => Label1
  191. IL_001B: Label0
  192. IL_001B: ldarg.0
  193. IL_001C: ldfld System.Single Verse.VerbProperties::meleeArmorPenetrationBase
  194. IL_0021: stloc.0
  195. IL_0022: Label1
  196. IL_0022: ldloc.0
  197. IL_0023: ldc.r4 0
  198. IL_0028: bge.un => Label2
  199. IL_002D: ldarg.0
  200. IL_002E: ldarg.1
  201. IL_002F: ldarg.2
  202. IL_0030: ldarg.3
  203. IL_0031: ldarg.s 4
  204. IL_0033: call System.Single Verse.VerbProperties::AdjustedMeleeDamageAmount(Verse.Tool tool, Verse.Pawn attacker, Verse.Thing equipment, Verse.HediffComp_VerbGiver hediffCompSource)
  205. IL_0038: ldc.r4 0.015
  206. IL_003D: mul
  207. IL_003E: stloc.0
  208. IL_003F: br => Label3
  209. IL_0044: Label2
  210. IL_0044: ldarg.3
  211. IL_0045: brfalse => Label4
  212. IL_004A: ldarg.3
  213. IL_004B: ldsfld RimWorld.StatDef RimWorld.StatDefOf::MeleeWeapon_DamageMultiplier
  214. IL_0050: ldc.i4.1
  215. IL_0051: ldc.i4.m1
  216. IL_0052: call static System.Single RimWorld.StatExtension::GetStatValue(Verse.Thing thing, RimWorld.StatDef stat, System.Boolean applyPostProcess, System.Int32 cacheStaleAfterTicks)
  217. IL_0057: stloc.1
  218. IL_0058: ldloc.0
  219. IL_0059: ldloc.1
  220. IL_005A: mul
  221. IL_005B: stloc.0
  222. IL_005C: Label3
  223. IL_005C: Label4
  224. IL_005C: ldloc.0
  225. IL_005D: // end original
  226. IL_005D: stloc 2 (System.Single)
  227. IL_0061: ldarg 2
  228. IL_0065: ldarg 3
  229. IL_0069: ldloca 2 (System.Single)
  230. IL_006D: call static System.Void ARimReborn.HarmonyPatches::VerbPropertiesAdjustedArmorPenetration_Postfix(Verse.Pawn attacker, Verse.Thing equipment, System.Single& __result)
  231. IL_0072: ldloc 2 (System.Single)
  232. IL_0076: ret
  233. DONE
  234.  
  235. ### Patch: static Verse.Name RimWorld.PawnBioAndNameGenerator::NameResolvedFrom(Verse.RulePackDef nameMaker, System.String forcedLastName, System.Boolean forceNoNick)
  236. ### Replacement: static Verse.Name RimWorld.PawnBioAndNameGenerator::RimWorld.PawnBioAndNameGenerator.NameResolvedFrom_Patch1(Verse.RulePackDef nameMaker, System.String forcedLastName, System.Boolean forceNoNick)
  237. IL_0000: Local var 0: Verse.Name
  238. IL_0000: Local var 1: System.Boolean
  239. IL_0000: ldnull
  240. IL_0001: stloc 0 (Verse.Name)
  241. IL_0005: ldc.i4 0
  242. IL_000A: stloc 1 (System.Boolean)
  243. IL_000E: ldc.i4.1
  244. IL_000F: stloc 1 (System.Boolean)
  245. IL_0013: ldloc 1 (System.Boolean)
  246. IL_0017: brfalse => Label1
  247. IL_001C: ldarg 0
  248. IL_0020: ldarga 1
  249. IL_0024: call static System.Void ARimReborn.HarmonyPatches::PawnBioAndNameGeneratorNameResolvedFrom_Prefix(Verse.RulePackDef nameMaker, System.String& forcedLastName)
  250. IL_0029: Label1
  251. IL_0029: nop
  252. IL_002A: ldloc 1 (System.Boolean)
  253. IL_002E: brfalse => Label0
  254. IL_0033: // start original
  255. IL_0033: ldarg.0
  256. IL_0034: ldsfld System.Predicate`1<System.String> RimWorld.<>c::<>9__24_0
  257. IL_0039: dup
  258. IL_003A: brtrue => Label2
  259. IL_003F: pop
  260. IL_0040: ldsfld RimWorld.<>c RimWorld.<>c::<>9
  261. IL_0045: ldftn System.Boolean RimWorld.<>c::<NameResolvedFrom>b__24_0(System.String x)
  262. IL_004B: newobj System.Void System.Predicate`1<System.String>::.ctor(System.Object object, System.IntPtr method)
  263. IL_0050: dup
  264. IL_0051: stsfld System.Predicate`1<System.String> RimWorld.<>c::<>9__24_0
  265. IL_0056: Label2
  266. IL_0056: ldc.i4.0
  267. IL_0057: ldnull
  268. IL_0058: ldnull
  269. IL_0059: call static System.String RimWorld.NameGenerator::GenerateName(Verse.RulePackDef rootPack, System.Predicate`1<System.String> validator, System.Boolean appendNumberIfNameUsed, System.String rootKeyword, System.String testPawnNameSymbol)
  270. IL_005E: ldarg.2
  271. IL_005F: call static Verse.NameTriple Verse.NameTriple::FromString(System.String rawName, System.Boolean forceNoNick)
  272. IL_0064: // end original
  273. IL_0064: stloc 0 (Verse.Name)
  274. IL_0068: Label0
  275. IL_0068: ldloc 0 (Verse.Name)
  276. IL_006C: ret
  277. DONE
  278.  
  279. ### Patch: static Verse.Name RimWorld.PawnBioAndNameGenerator::NameResolvedFrom(Verse.RulePackDef nameMaker, System.String forcedLastName, System.Boolean forceNoNick)
  280. ### Replacement: static Verse.Name RimWorld.PawnBioAndNameGenerator::RimWorld.PawnBioAndNameGenerator.NameResolvedFrom_Patch2(Verse.RulePackDef nameMaker, System.String forcedLastName, System.Boolean forceNoNick)
  281. IL_0000: Local var 0: Verse.Name
  282. IL_0000: Local var 1: System.Boolean
  283. IL_0000: ldnull
  284. IL_0001: stloc 0 (Verse.Name)
  285. IL_0005: ldc.i4 0
  286. IL_000A: stloc 1 (System.Boolean)
  287. IL_000E: ldc.i4.1
  288. IL_000F: stloc 1 (System.Boolean)
  289. IL_0013: ldloc 1 (System.Boolean)
  290. IL_0017: brfalse => Label1
  291. IL_001C: ldarg 0
  292. IL_0020: ldarga 1
  293. IL_0024: call static System.Void ARimReborn.HarmonyPatches::PawnBioAndNameGeneratorNameResolvedFrom_Prefix(Verse.RulePackDef nameMaker, System.String& forcedLastName)
  294. IL_0029: Label1
  295. IL_0029: nop
  296. IL_002A: ldloc 1 (System.Boolean)
  297. IL_002E: brfalse => Label0
  298. IL_0033: // start original
  299. IL_0033: ldarg.0
  300. IL_0034: ldsfld System.Predicate`1<System.String> RimWorld.<>c::<>9__24_0
  301. IL_0039: dup
  302. IL_003A: brtrue => Label2
  303. IL_003F: pop
  304. IL_0040: ldsfld RimWorld.<>c RimWorld.<>c::<>9
  305. IL_0045: ldftn System.Boolean RimWorld.<>c::<NameResolvedFrom>b__24_0(System.String x)
  306. IL_004B: newobj System.Void System.Predicate`1<System.String>::.ctor(System.Object object, System.IntPtr method)
  307. IL_0050: dup
  308. IL_0051: stsfld System.Predicate`1<System.String> RimWorld.<>c::<>9__24_0
  309. IL_0056: Label2
  310. IL_0056: ldc.i4.0
  311. IL_0057: ldnull
  312. IL_0058: ldnull
  313. IL_0059: call static System.String RimWorld.NameGenerator::GenerateName(Verse.RulePackDef rootPack, System.Predicate`1<System.String> validator, System.Boolean appendNumberIfNameUsed, System.String rootKeyword, System.String testPawnNameSymbol)
  314. IL_005E: ldarg.2
  315. IL_005F: call static Verse.NameTriple Verse.NameTriple::FromString(System.String rawName, System.Boolean forceNoNick)
  316. IL_0064: // end original
  317. IL_0064: stloc 0 (Verse.Name)
  318. IL_0068: Label0
  319. IL_0068: ldarg 0
  320. IL_006C: ldloca 0 (Verse.Name)
  321. IL_0070: call static System.Void ARimReborn.HarmonyPatches::PawnBioAndNameGeneratorNameResolvedFrom_Postfix(Verse.RulePackDef nameMaker, Verse.Name& __result)
  322. IL_0075: ldloc 0 (Verse.Name)
  323. IL_0079: ret
  324. DONE
  325.  
  326. ### Patch: virtual System.Void Verse.Pawn::ExposeData()
  327. ### Replacement: static System.Void Verse.Pawn::Verse.Pawn.ExposeData_Patch1(Verse.Pawn this)
  328. IL_0000: // start original
  329. IL_0000: ldarg.0
  330. IL_0001: call virtual System.Void Verse.ThingWithComps::ExposeData()
  331. IL_0006: ldarg.0
  332. IL_0007: ldflda Verse.PawnKindDef Verse.Pawn::kindDef
  333. IL_000C: ldstr "kindDef"
  334. IL_0011: call static System.Void Verse.Scribe_Defs::Look(Verse.PawnKindDef& value, System.String label)
  335. IL_0016: ldarg.0
  336. IL_0017: ldflda Verse.Gender Verse.Pawn::gender
  337. IL_001C: ldstr "gender"
  338. IL_0021: ldc.i4.1
  339. IL_0022: ldc.i4.0
  340. IL_0023: call static System.Void Verse.Scribe_Values::Look(Verse.Gender& value, System.String label, Verse.Gender defaultValue, System.Boolean forceSave)
  341. IL_0028: ldarg.0
  342. IL_0029: ldflda System.Int32 Verse.Pawn::becameWorldPawnTickAbs
  343. IL_002E: ldstr "becameWorldPawnTickAbs"
  344. IL_0033: ldc.i4.m1
  345. IL_0034: ldc.i4.0
  346. IL_0035: call static System.Void Verse.Scribe_Values::Look(System.Int32& value, System.String label, System.Int32 defaultValue, System.Boolean forceSave)
  347. IL_003A: ldarg.0
  348. IL_003B: ldflda System.Boolean Verse.Pawn::teleporting
  349. IL_0040: ldstr "teleporting"
  350. IL_0045: ldc.i4.0
  351. IL_0046: ldc.i4.0
  352. IL_0047: call static System.Void Verse.Scribe_Values::Look(System.Boolean& value, System.String label, System.Boolean defaultValue, System.Boolean forceSave)
  353. IL_004C: ldarg.0
  354. IL_004D: ldflda System.Int32 Verse.Pawn::showNamePromptOnTick
  355. IL_0052: ldstr "showNamePromptOnTick"
  356. IL_0057: ldc.i4.m1
  357. IL_0058: ldc.i4.0
  358. IL_0059: call static System.Void Verse.Scribe_Values::Look(System.Int32& value, System.String label, System.Int32 defaultValue, System.Boolean forceSave)
  359. IL_005E: ldarg.0
  360. IL_005F: ldflda System.Int32 Verse.Pawn::babyNamingDeadline
  361. IL_0064: ldstr "babyNamingDeadline"
  362. IL_0069: ldc.i4.m1
  363. IL_006A: ldc.i4.0
  364. IL_006B: call static System.Void Verse.Scribe_Values::Look(System.Int32& value, System.String label, System.Int32 defaultValue, System.Boolean forceSave)
  365. IL_0070: ldarg.0
  366. IL_0071: ldflda Verse.Name Verse.Pawn::nameInt
  367. IL_0076: ldstr "name"
  368. IL_007B: call static System.Object[] System.Array::Empty()
  369. IL_0080: call static System.Void Verse.Scribe_Deep::Look(Verse.Name& target, System.String label, System.Object[] ctorArgs)
  370. IL_0085: ldarg.0
  371. IL_0086: ldflda Verse.AI.Pawn_MindState Verse.Pawn::mindState
  372. IL_008B: ldstr "mindState"
  373. IL_0090: ldc.i4.1
  374. IL_0091: newarr System.Object
  375. IL_0096: dup
  376. IL_0097: ldc.i4.0
  377. IL_0098: ldarg.0
  378. IL_0099: stelem.ref
  379. IL_009A: call static System.Void Verse.Scribe_Deep::Look(Verse.AI.Pawn_MindState& target, System.String label, System.Object[] ctorArgs)
  380. IL_009F: ldarg.0
  381. IL_00A0: ldflda Verse.AI.Pawn_JobTracker Verse.Pawn::jobs
  382. IL_00A5: ldstr "jobs"
  383. IL_00AA: ldc.i4.1
  384. IL_00AB: newarr System.Object
  385. IL_00B0: dup
  386. IL_00B1: ldc.i4.0
  387. IL_00B2: ldarg.0
  388. IL_00B3: stelem.ref
  389. IL_00B4: call static System.Void Verse.Scribe_Deep::Look(Verse.AI.Pawn_JobTracker& target, System.String label, System.Object[] ctorArgs)
  390. IL_00B9: ldarg.0
  391. IL_00BA: ldflda Verse.Pawn_StanceTracker Verse.Pawn::stances
  392. IL_00BF: ldstr "stances"
  393. IL_00C4: ldc.i4.1
  394. IL_00C5: newarr System.Object
  395. IL_00CA: dup
  396. IL_00CB: ldc.i4.0
  397. IL_00CC: ldarg.0
  398. IL_00CD: stelem.ref
  399. IL_00CE: call static System.Void Verse.Scribe_Deep::Look(Verse.Pawn_StanceTracker& target, System.String label, System.Object[] ctorArgs)
  400. IL_00D3: ldarg.0
  401. IL_00D4: ldflda Verse.VerbTracker Verse.Pawn::verbTracker
  402. IL_00D9: ldstr "verbTracker"
  403. IL_00DE: ldc.i4.1
  404. IL_00DF: newarr System.Object
  405. IL_00E4: dup
  406. IL_00E5: ldc.i4.0
  407. IL_00E6: ldarg.0
  408. IL_00E7: stelem.ref
  409. IL_00E8: call static System.Void Verse.Scribe_Deep::Look(Verse.VerbTracker& target, System.String label, System.Object[] ctorArgs)
  410. IL_00ED: ldarg.0
  411. IL_00EE: ldflda RimWorld.Pawn_NativeVerbs Verse.Pawn::natives
  412. IL_00F3: ldstr "natives"
  413. IL_00F8: ldc.i4.1
  414. IL_00F9: newarr System.Object
  415. IL_00FE: dup
  416. IL_00FF: ldc.i4.0
  417. IL_0100: ldarg.0
  418. IL_0101: stelem.ref
  419. IL_0102: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_NativeVerbs& target, System.String label, System.Object[] ctorArgs)
  420. IL_0107: ldarg.0
  421. IL_0108: ldflda RimWorld.Pawn_MeleeVerbs Verse.Pawn::meleeVerbs
  422. IL_010D: ldstr "meleeVerbs"
  423. IL_0112: ldc.i4.1
  424. IL_0113: newarr System.Object
  425. IL_0118: dup
  426. IL_0119: ldc.i4.0
  427. IL_011A: ldarg.0
  428. IL_011B: stelem.ref
  429. IL_011C: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_MeleeVerbs& target, System.String label, System.Object[] ctorArgs)
  430. IL_0121: ldarg.0
  431. IL_0122: ldflda Verse.Pawn_RotationTracker Verse.Pawn::rotationTracker
  432. IL_0127: ldstr "rotationTracker"
  433. IL_012C: ldc.i4.1
  434. IL_012D: newarr System.Object
  435. IL_0132: dup
  436. IL_0133: ldc.i4.0
  437. IL_0134: ldarg.0
  438. IL_0135: stelem.ref
  439. IL_0136: call static System.Void Verse.Scribe_Deep::Look(Verse.Pawn_RotationTracker& target, System.String label, System.Object[] ctorArgs)
  440. IL_013B: ldarg.0
  441. IL_013C: ldflda Verse.AI.Pawn_PathFollower Verse.Pawn::pather
  442. IL_0141: ldstr "pather"
  443. IL_0146: ldc.i4.1
  444. IL_0147: newarr System.Object
  445. IL_014C: dup
  446. IL_014D: ldc.i4.0
  447. IL_014E: ldarg.0
  448. IL_014F: stelem.ref
  449. IL_0150: call static System.Void Verse.Scribe_Deep::Look(Verse.AI.Pawn_PathFollower& target, System.String label, System.Object[] ctorArgs)
  450. IL_0155: ldarg.0
  451. IL_0156: ldflda Verse.Pawn_CarryTracker Verse.Pawn::carryTracker
  452. IL_015B: ldstr "carryTracker"
  453. IL_0160: ldc.i4.1
  454. IL_0161: newarr System.Object
  455. IL_0166: dup
  456. IL_0167: ldc.i4.0
  457. IL_0168: ldarg.0
  458. IL_0169: stelem.ref
  459. IL_016A: call static System.Void Verse.Scribe_Deep::Look(Verse.Pawn_CarryTracker& target, System.String label, System.Object[] ctorArgs)
  460. IL_016F: ldarg.0
  461. IL_0170: ldflda RimWorld.Pawn_ApparelTracker Verse.Pawn::apparel
  462. IL_0175: ldstr "apparel"
  463. IL_017A: ldc.i4.1
  464. IL_017B: newarr System.Object
  465. IL_0180: dup
  466. IL_0181: ldc.i4.0
  467. IL_0182: ldarg.0
  468. IL_0183: stelem.ref
  469. IL_0184: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_ApparelTracker& target, System.String label, System.Object[] ctorArgs)
  470. IL_0189: ldarg.0
  471. IL_018A: ldflda RimWorld.Pawn_StoryTracker Verse.Pawn::story
  472. IL_018F: ldstr "story"
  473. IL_0194: ldc.i4.1
  474. IL_0195: newarr System.Object
  475. IL_019A: dup
  476. IL_019B: ldc.i4.0
  477. IL_019C: ldarg.0
  478. IL_019D: stelem.ref
  479. IL_019E: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_StoryTracker& target, System.String label, System.Object[] ctorArgs)
  480. IL_01A3: ldarg.0
  481. IL_01A4: ldflda Verse.Pawn_EquipmentTracker Verse.Pawn::equipment
  482. IL_01A9: ldstr "equipment"
  483. IL_01AE: ldc.i4.1
  484. IL_01AF: newarr System.Object
  485. IL_01B4: dup
  486. IL_01B5: ldc.i4.0
  487. IL_01B6: ldarg.0
  488. IL_01B7: stelem.ref
  489. IL_01B8: call static System.Void Verse.Scribe_Deep::Look(Verse.Pawn_EquipmentTracker& target, System.String label, System.Object[] ctorArgs)
  490. IL_01BD: ldarg.0
  491. IL_01BE: ldflda RimWorld.Pawn_DraftController Verse.Pawn::drafter
  492. IL_01C3: ldstr "drafter"
  493. IL_01C8: ldc.i4.1
  494. IL_01C9: newarr System.Object
  495. IL_01CE: dup
  496. IL_01CF: ldc.i4.0
  497. IL_01D0: ldarg.0
  498. IL_01D1: stelem.ref
  499. IL_01D2: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_DraftController& target, System.String label, System.Object[] ctorArgs)
  500. IL_01D7: ldarg.0
  501. IL_01D8: ldflda Verse.Pawn_AgeTracker Verse.Pawn::ageTracker
  502. IL_01DD: ldstr "ageTracker"
  503. IL_01E2: ldc.i4.1
  504. IL_01E3: newarr System.Object
  505. IL_01E8: dup
  506. IL_01E9: ldc.i4.0
  507. IL_01EA: ldarg.0
  508. IL_01EB: stelem.ref
  509. IL_01EC: call static System.Void Verse.Scribe_Deep::Look(Verse.Pawn_AgeTracker& target, System.String label, System.Object[] ctorArgs)
  510. IL_01F1: ldarg.0
  511. IL_01F2: ldflda Verse.Pawn_HealthTracker Verse.Pawn::health
  512. IL_01F7: ldstr "healthTracker"
  513. IL_01FC: ldc.i4.1
  514. IL_01FD: newarr System.Object
  515. IL_0202: dup
  516. IL_0203: ldc.i4.0
  517. IL_0204: ldarg.0
  518. IL_0205: stelem.ref
  519. IL_0206: call static System.Void Verse.Scribe_Deep::Look(Verse.Pawn_HealthTracker& target, System.String label, System.Object[] ctorArgs)
  520. IL_020B: ldarg.0
  521. IL_020C: ldflda RimWorld.Pawn_RecordsTracker Verse.Pawn::records
  522. IL_0211: ldstr "records"
  523. IL_0216: ldc.i4.1
  524. IL_0217: newarr System.Object
  525. IL_021C: dup
  526. IL_021D: ldc.i4.0
  527. IL_021E: ldarg.0
  528. IL_021F: stelem.ref
  529. IL_0220: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_RecordsTracker& target, System.String label, System.Object[] ctorArgs)
  530. IL_0225: ldarg.0
  531. IL_0226: ldflda Verse.Pawn_InventoryTracker Verse.Pawn::inventory
  532. IL_022B: ldstr "inventory"
  533. IL_0230: ldc.i4.1
  534. IL_0231: newarr System.Object
  535. IL_0236: dup
  536. IL_0237: ldc.i4.0
  537. IL_0238: ldarg.0
  538. IL_0239: stelem.ref
  539. IL_023A: call static System.Void Verse.Scribe_Deep::Look(Verse.Pawn_InventoryTracker& target, System.String label, System.Object[] ctorArgs)
  540. IL_023F: ldarg.0
  541. IL_0240: ldflda RimWorld.Pawn_FilthTracker Verse.Pawn::filth
  542. IL_0245: ldstr "filth"
  543. IL_024A: ldc.i4.1
  544. IL_024B: newarr System.Object
  545. IL_0250: dup
  546. IL_0251: ldc.i4.0
  547. IL_0252: ldarg.0
  548. IL_0253: stelem.ref
  549. IL_0254: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_FilthTracker& target, System.String label, System.Object[] ctorArgs)
  550. IL_0259: ldarg.0
  551. IL_025A: ldflda RimWorld.Pawn_RopeTracker Verse.Pawn::roping
  552. IL_025F: ldstr "roping"
  553. IL_0264: ldc.i4.1
  554. IL_0265: newarr System.Object
  555. IL_026A: dup
  556. IL_026B: ldc.i4.0
  557. IL_026C: ldarg.0
  558. IL_026D: stelem.ref
  559. IL_026E: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_RopeTracker& target, System.String label, System.Object[] ctorArgs)
  560. IL_0273: ldarg.0
  561. IL_0274: ldflda RimWorld.Pawn_NeedsTracker Verse.Pawn::needs
  562. IL_0279: ldstr "needs"
  563. IL_027E: ldc.i4.1
  564. IL_027F: newarr System.Object
  565. IL_0284: dup
  566. IL_0285: ldc.i4.0
  567. IL_0286: ldarg.0
  568. IL_0287: stelem.ref
  569. IL_0288: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_NeedsTracker& target, System.String label, System.Object[] ctorArgs)
  570. IL_028D: ldarg.0
  571. IL_028E: ldflda RimWorld.Pawn_GuestTracker Verse.Pawn::guest
  572. IL_0293: ldstr "guest"
  573. IL_0298: ldc.i4.1
  574. IL_0299: newarr System.Object
  575. IL_029E: dup
  576. IL_029F: ldc.i4.0
  577. IL_02A0: ldarg.0
  578. IL_02A1: stelem.ref
  579. IL_02A2: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_GuestTracker& target, System.String label, System.Object[] ctorArgs)
  580. IL_02A7: ldarg.0
  581. IL_02A8: ldflda RimWorld.Pawn_GuiltTracker Verse.Pawn::guilt
  582. IL_02AD: ldstr "guilt"
  583. IL_02B2: ldc.i4.1
  584. IL_02B3: newarr System.Object
  585. IL_02B8: dup
  586. IL_02B9: ldc.i4.0
  587. IL_02BA: ldarg.0
  588. IL_02BB: stelem.ref
  589. IL_02BC: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_GuiltTracker& target, System.String label, System.Object[] ctorArgs)
  590. IL_02C1: ldarg.0
  591. IL_02C2: ldflda RimWorld.Pawn_RoyaltyTracker Verse.Pawn::royalty
  592. IL_02C7: ldstr "royalty"
  593. IL_02CC: ldc.i4.1
  594. IL_02CD: newarr System.Object
  595. IL_02D2: dup
  596. IL_02D3: ldc.i4.0
  597. IL_02D4: ldarg.0
  598. IL_02D5: stelem.ref
  599. IL_02D6: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_RoyaltyTracker& target, System.String label, System.Object[] ctorArgs)
  600. IL_02DB: ldarg.0
  601. IL_02DC: ldflda RimWorld.Pawn_RelationsTracker Verse.Pawn::relations
  602. IL_02E1: ldstr "social"
  603. IL_02E6: ldc.i4.1
  604. IL_02E7: newarr System.Object
  605. IL_02EC: dup
  606. IL_02ED: ldc.i4.0
  607. IL_02EE: ldarg.0
  608. IL_02EF: stelem.ref
  609. IL_02F0: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_RelationsTracker& target, System.String label, System.Object[] ctorArgs)
  610. IL_02F5: ldarg.0
  611. IL_02F6: ldflda RimWorld.Pawn_PsychicEntropyTracker Verse.Pawn::psychicEntropy
  612. IL_02FB: ldstr "psychicEntropy"
  613. IL_0300: ldc.i4.1
  614. IL_0301: newarr System.Object
  615. IL_0306: dup
  616. IL_0307: ldc.i4.0
  617. IL_0308: ldarg.0
  618. IL_0309: stelem.ref
  619. IL_030A: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_PsychicEntropyTracker& target, System.String label, System.Object[] ctorArgs)
  620. IL_030F: ldarg.0
  621. IL_0310: ldflda RimWorld.Pawn_Ownership Verse.Pawn::ownership
  622. IL_0315: ldstr "ownership"
  623. IL_031A: ldc.i4.1
  624. IL_031B: newarr System.Object
  625. IL_0320: dup
  626. IL_0321: ldc.i4.0
  627. IL_0322: ldarg.0
  628. IL_0323: stelem.ref
  629. IL_0324: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_Ownership& target, System.String label, System.Object[] ctorArgs)
  630. IL_0329: ldarg.0
  631. IL_032A: ldflda RimWorld.Pawn_InteractionsTracker Verse.Pawn::interactions
  632. IL_032F: ldstr "interactions"
  633. IL_0334: ldc.i4.1
  634. IL_0335: newarr System.Object
  635. IL_033A: dup
  636. IL_033B: ldc.i4.0
  637. IL_033C: ldarg.0
  638. IL_033D: stelem.ref
  639. IL_033E: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_InteractionsTracker& target, System.String label, System.Object[] ctorArgs)
  640. IL_0343: ldarg.0
  641. IL_0344: ldflda RimWorld.Pawn_SkillTracker Verse.Pawn::skills
  642. IL_0349: ldstr "skills"
  643. IL_034E: ldc.i4.1
  644. IL_034F: newarr System.Object
  645. IL_0354: dup
  646. IL_0355: ldc.i4.0
  647. IL_0356: ldarg.0
  648. IL_0357: stelem.ref
  649. IL_0358: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_SkillTracker& target, System.String label, System.Object[] ctorArgs)
  650. IL_035D: ldarg.0
  651. IL_035E: ldflda RimWorld.Pawn_AbilityTracker Verse.Pawn::abilities
  652. IL_0363: ldstr "abilities"
  653. IL_0368: ldc.i4.1
  654. IL_0369: newarr System.Object
  655. IL_036E: dup
  656. IL_036F: ldc.i4.0
  657. IL_0370: ldarg.0
  658. IL_0371: stelem.ref
  659. IL_0372: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_AbilityTracker& target, System.String label, System.Object[] ctorArgs)
  660. IL_0377: ldarg.0
  661. IL_0378: ldflda RimWorld.Pawn_IdeoTracker Verse.Pawn::ideo
  662. IL_037D: ldstr "ideo"
  663. IL_0382: ldc.i4.1
  664. IL_0383: newarr System.Object
  665. IL_0388: dup
  666. IL_0389: ldc.i4.0
  667. IL_038A: ldarg.0
  668. IL_038B: stelem.ref
  669. IL_038C: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_IdeoTracker& target, System.String label, System.Object[] ctorArgs)
  670. IL_0391: ldarg.0
  671. IL_0392: ldflda RimWorld.Pawn_WorkSettings Verse.Pawn::workSettings
  672. IL_0397: ldstr "workSettings"
  673. IL_039C: ldc.i4.1
  674. IL_039D: newarr System.Object
  675. IL_03A2: dup
  676. IL_03A3: ldc.i4.0
  677. IL_03A4: ldarg.0
  678. IL_03A5: stelem.ref
  679. IL_03A6: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_WorkSettings& target, System.String label, System.Object[] ctorArgs)
  680. IL_03AB: ldarg.0
  681. IL_03AC: ldflda RimWorld.Pawn_TraderTracker Verse.Pawn::trader
  682. IL_03B1: ldstr "trader"
  683. IL_03B6: ldc.i4.1
  684. IL_03B7: newarr System.Object
  685. IL_03BC: dup
  686. IL_03BD: ldc.i4.0
  687. IL_03BE: ldarg.0
  688. IL_03BF: stelem.ref
  689. IL_03C0: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_TraderTracker& target, System.String label, System.Object[] ctorArgs)
  690. IL_03C5: ldarg.0
  691. IL_03C6: ldflda RimWorld.Pawn_OutfitTracker Verse.Pawn::outfits
  692. IL_03CB: ldstr "outfits"
  693. IL_03D0: ldc.i4.1
  694. IL_03D1: newarr System.Object
  695. IL_03D6: dup
  696. IL_03D7: ldc.i4.0
  697. IL_03D8: ldarg.0
  698. IL_03D9: stelem.ref
  699. IL_03DA: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_OutfitTracker& target, System.String label, System.Object[] ctorArgs)
  700. IL_03DF: ldarg.0
  701. IL_03E0: ldflda RimWorld.Pawn_DrugPolicyTracker Verse.Pawn::drugs
  702. IL_03E5: ldstr "drugs"
  703. IL_03EA: ldc.i4.1
  704. IL_03EB: newarr System.Object
  705. IL_03F0: dup
  706. IL_03F1: ldc.i4.0
  707. IL_03F2: ldarg.0
  708. IL_03F3: stelem.ref
  709. IL_03F4: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_DrugPolicyTracker& target, System.String label, System.Object[] ctorArgs)
  710. IL_03F9: ldarg.0
  711. IL_03FA: ldflda RimWorld.Pawn_FoodRestrictionTracker Verse.Pawn::foodRestriction
  712. IL_03FF: ldstr "foodRestriction"
  713. IL_0404: ldc.i4.1
  714. IL_0405: newarr System.Object
  715. IL_040A: dup
  716. IL_040B: ldc.i4.0
  717. IL_040C: ldarg.0
  718. IL_040D: stelem.ref
  719. IL_040E: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_FoodRestrictionTracker& target, System.String label, System.Object[] ctorArgs)
  720. IL_0413: ldarg.0
  721. IL_0414: ldflda RimWorld.Pawn_TimetableTracker Verse.Pawn::timetable
  722. IL_0419: ldstr "timetable"
  723. IL_041E: ldc.i4.1
  724. IL_041F: newarr System.Object
  725. IL_0424: dup
  726. IL_0425: ldc.i4.0
  727. IL_0426: ldarg.0
  728. IL_0427: stelem.ref
  729. IL_0428: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_TimetableTracker& target, System.String label, System.Object[] ctorArgs)
  730. IL_042D: ldarg.0
  731. IL_042E: ldflda RimWorld.Pawn_PlayerSettings Verse.Pawn::playerSettings
  732. IL_0433: ldstr "playerSettings"
  733. IL_0438: ldc.i4.1
  734. IL_0439: newarr System.Object
  735. IL_043E: dup
  736. IL_043F: ldc.i4.0
  737. IL_0440: ldarg.0
  738. IL_0441: stelem.ref
  739. IL_0442: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_PlayerSettings& target, System.String label, System.Object[] ctorArgs)
  740. IL_0447: ldarg.0
  741. IL_0448: ldflda RimWorld.Pawn_TrainingTracker Verse.Pawn::training
  742. IL_044D: ldstr "training"
  743. IL_0452: ldc.i4.1
  744. IL_0453: newarr System.Object
  745. IL_0458: dup
  746. IL_0459: ldc.i4.0
  747. IL_045A: ldarg.0
  748. IL_045B: stelem.ref
  749. IL_045C: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_TrainingTracker& target, System.String label, System.Object[] ctorArgs)
  750. IL_0461: ldarg.0
  751. IL_0462: ldflda RimWorld.Pawn_StyleTracker Verse.Pawn::style
  752. IL_0467: ldstr "style"
  753. IL_046C: ldc.i4.1
  754. IL_046D: newarr System.Object
  755. IL_0472: dup
  756. IL_0473: ldc.i4.0
  757. IL_0474: ldarg.0
  758. IL_0475: stelem.ref
  759. IL_0476: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_StyleTracker& target, System.String label, System.Object[] ctorArgs)
  760. IL_047B: ldarg.0
  761. IL_047C: ldflda RimWorld.Pawn_StyleObserverTracker Verse.Pawn::styleObserver
  762. IL_0481: ldstr "styleObserver"
  763. IL_0486: ldc.i4.1
  764. IL_0487: newarr System.Object
  765. IL_048C: dup
  766. IL_048D: ldc.i4.0
  767. IL_048E: ldarg.0
  768. IL_048F: stelem.ref
  769. IL_0490: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_StyleObserverTracker& target, System.String label, System.Object[] ctorArgs)
  770. IL_0495: ldarg.0
  771. IL_0496: ldflda RimWorld.Pawn_ConnectionsTracker Verse.Pawn::connections
  772. IL_049B: ldstr "connections"
  773. IL_04A0: ldc.i4.1
  774. IL_04A1: newarr System.Object
  775. IL_04A6: dup
  776. IL_04A7: ldc.i4.0
  777. IL_04A8: ldarg.0
  778. IL_04A9: stelem.ref
  779. IL_04AA: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_ConnectionsTracker& target, System.String label, System.Object[] ctorArgs)
  780. IL_04AF: ldarg.0
  781. IL_04B0: ldflda RimWorld.Pawn_InventoryStockTracker Verse.Pawn::inventoryStock
  782. IL_04B5: ldstr "inventoryStock"
  783. IL_04BA: ldc.i4.1
  784. IL_04BB: newarr System.Object
  785. IL_04C0: dup
  786. IL_04C1: ldc.i4.0
  787. IL_04C2: ldarg.0
  788. IL_04C3: stelem.ref
  789. IL_04C4: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_InventoryStockTracker& target, System.String label, System.Object[] ctorArgs)
  790. IL_04C9: ldarg.0
  791. IL_04CA: ldflda RimWorld.Pawn_SurroundingsTracker Verse.Pawn::surroundings
  792. IL_04CF: ldstr "treeSightings"
  793. IL_04D4: ldc.i4.1
  794. IL_04D5: newarr System.Object
  795. IL_04DA: dup
  796. IL_04DB: ldc.i4.0
  797. IL_04DC: ldarg.0
  798. IL_04DD: stelem.ref
  799. IL_04DE: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_SurroundingsTracker& target, System.String label, System.Object[] ctorArgs)
  800. IL_04E3: ldarg.0
  801. IL_04E4: ldflda Verse.AI.Pawn_Thinker Verse.Pawn::thinker
  802. IL_04E9: ldstr "thinker"
  803. IL_04EE: ldc.i4.1
  804. IL_04EF: newarr System.Object
  805. IL_04F4: dup
  806. IL_04F5: ldc.i4.0
  807. IL_04F6: ldarg.0
  808. IL_04F7: stelem.ref
  809. IL_04F8: call static System.Void Verse.Scribe_Deep::Look(Verse.AI.Pawn_Thinker& target, System.String label, System.Object[] ctorArgs)
  810. IL_04FD: ldarg.0
  811. IL_04FE: ldflda RimWorld.Pawn_MechanitorTracker Verse.Pawn::mechanitor
  812. IL_0503: ldstr "mechanitor"
  813. IL_0508: ldc.i4.1
  814. IL_0509: newarr System.Object
  815. IL_050E: dup
  816. IL_050F: ldc.i4.0
  817. IL_0510: ldarg.0
  818. IL_0511: stelem.ref
  819. IL_0512: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_MechanitorTracker& target, System.String label, System.Object[] ctorArgs)
  820. IL_0517: ldarg.0
  821. IL_0518: ldflda RimWorld.Pawn_GeneTracker Verse.Pawn::genes
  822. IL_051D: ldstr "genes"
  823. IL_0522: ldc.i4.1
  824. IL_0523: newarr System.Object
  825. IL_0528: dup
  826. IL_0529: ldc.i4.0
  827. IL_052A: ldarg.0
  828. IL_052B: stelem.ref
  829. IL_052C: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_GeneTracker& target, System.String label, System.Object[] ctorArgs)
  830. IL_0531: ldarg.0
  831. IL_0532: ldflda RimWorld.Pawn_LearningTracker Verse.Pawn::learning
  832. IL_0537: ldstr "learning"
  833. IL_053C: ldc.i4.1
  834. IL_053D: newarr System.Object
  835. IL_0542: dup
  836. IL_0543: ldc.i4.0
  837. IL_0544: ldarg.0
  838. IL_0545: stelem.ref
  839. IL_0546: call static System.Void Verse.Scribe_Deep::Look(RimWorld.Pawn_LearningTracker& target, System.String label, System.Object[] ctorArgs)
  840. IL_054B: ldarg.0
  841. IL_054C: call static System.Void Verse.BackCompatibility::PostExposeData(System.Object obj)
  842. IL_0551: // end original
  843. IL_0551: ldarga 0
  844. IL_0555: call static System.Void ARimReborn.HarmonyPatches::PawnExposeData_Postfix(Verse.Pawn& __instance)
  845. IL_055A: ret
  846. DONE
  847.  
  848. ### Patch: System.Void Verse.PawnRenderer::DrawHeadHair(UnityEngine.Vector3 rootLoc, UnityEngine.Vector3 headOffset, System.Single angle, Verse.Rot4 bodyFacing, Verse.Rot4 headFacing, Verse.RotDrawMode bodyDrawType, Verse.PawnRenderFlags flags, System.Boolean bodyDrawn)
  849. ### Replacement: static System.Void Verse.PawnRenderer::Verse.PawnRenderer.DrawHeadHair_Patch0(Verse.PawnRenderer this, UnityEngine.Vector3 rootLoc, UnityEngine.Vector3 headOffset, System.Single angle, Verse.Rot4 bodyFacing, Verse.Rot4 headFacing, Verse.RotDrawMode bodyDrawType, Verse.PawnRenderFlags flags, System.Boolean bodyDrawn)
  850. IL_0000: Local var 0: Verse.PawnRenderer/<>c__DisplayClass54_0
  851. IL_0000: Local var 1: System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>
  852. IL_0000: Local var 2: System.Boolean
  853. IL_0000: Local var 3: System.Boolean
  854. IL_0000: Local var 4: System.Boolean
  855. IL_0000: Local var 5: System.Boolean
  856. IL_0000: Local var 6: System.Boolean
  857. IL_0000: Local var 7: System.Int32
  858. IL_0000: Local var 8: UnityEngine.Vector3
  859. IL_0000: Local var 9: System.Collections.Generic.List`1/Enumerator<Verse.Hediff>
  860. IL_0000: Local var 10: Verse.Hediff
  861. IL_0000: Local var 11: Verse.GraphicData
  862. IL_0000: Local var 12: System.Boolean
  863. IL_0000: Local var 13: UnityEngine.Vector3
  864. IL_0000: Local var 14: UnityEngine.Mesh
  865. IL_0000: Local var 15: UnityEngine.Material
  866. IL_0000: Local var 16: System.Int32
  867. IL_0000: Local var 17: UnityEngine.Mesh
  868. IL_0000: Local var 18: UnityEngine.Material
  869. IL_0000: Local var 19: System.Int32
  870. IL_0000: // start original
  871. IL_0000: newobj System.Void Verse.<>c__DisplayClass54_0::.ctor()
  872. IL_0005: stloc.0
  873. IL_0006: ldloc.0
  874. IL_0007: ldarg.0
  875. IL_0008: stfld Verse.PawnRenderer Verse.<>c__DisplayClass54_0::<>4__this
  876. IL_000D: ldloc.0
  877. IL_000E: ldarg.s 5
  878. IL_0010: stfld Verse.Rot4 Verse.<>c__DisplayClass54_0::headFacing
  879. IL_0015: ldloc.0
  880. IL_0016: ldarg.s 4
  881. IL_0018: stfld Verse.Rot4 Verse.<>c__DisplayClass54_0::bodyFacing
  882. IL_001D: ldloc.0
  883. IL_001E: ldarg.s 7
  884. IL_0020: stfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  885. IL_0025: ldloc.0
  886. IL_0026: ldarg.1
  887. IL_0027: stfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::rootLoc
  888. IL_002C: ldloc.0
  889. IL_002D: ldarg.2
  890. IL_002E: stfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::headOffset
  891. IL_0033: ldloc.0
  892. IL_0034: ldarg.s 6
  893. IL_0036: stfld Verse.RotDrawMode Verse.<>c__DisplayClass54_0::bodyDrawType
  894. IL_003B: ldarg.0
  895. IL_003C: ldloc.0
  896. IL_003D: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  897. IL_0042: call System.Boolean Verse.PawnRenderer::ShellFullyCoversHead(Verse.PawnRenderFlags flags)
  898. IL_0047: ldarg.s 8
  899. IL_0049: and
  900. IL_004A: brfalse => Label0
  901. IL_004F: br => Label78
  902. IL_0054: Label0
  903. IL_0054: ldloc.0
  904. IL_0055: ldloc.0
  905. IL_0056: ldfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::rootLoc
  906. IL_005B: ldloc.0
  907. IL_005C: ldfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::headOffset
  908. IL_0061: call static UnityEngine.Vector3 UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
  909. IL_0066: stfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::onHeadLoc
  910. IL_006B: ldloc.0
  911. IL_006C: ldflda UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::onHeadLoc
  912. IL_0071: ldflda System.Single UnityEngine.Vector3::y
  913. IL_0076: dup
  914. IL_0077: ldind.r4
  915. IL_0078: ldc.r4 0.02895753
  916. IL_007D: add
  917. IL_007E: stind.r4
  918. IL_007F: ldarg.0
  919. IL_0080: ldfld Verse.PawnGraphicSet Verse.PawnRenderer::graphics
  920. IL_0085: ldfld System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord> Verse.PawnGraphicSet::apparelGraphics
  921. IL_008A: stloc.1
  922. IL_008B: ldloc.0
  923. IL_008C: ldarg.0
  924. IL_008D: ldfld Verse.PawnGraphicSet Verse.PawnRenderer::graphics
  925. IL_0092: ldfld System.Collections.Generic.List`1<Verse.GeneGraphicRecord> Verse.PawnGraphicSet::geneGraphics
  926. IL_0097: stfld System.Collections.Generic.List`1<Verse.GeneGraphicRecord> Verse.<>c__DisplayClass54_0::geneGraphics
  927. IL_009C: ldloc.0
  928. IL_009D: ldarg.3
  929. IL_009E: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
  930. IL_00A3: call static UnityEngine.Quaternion UnityEngine.Quaternion::AngleAxis(System.Single angle, UnityEngine.Vector3 axis)
  931. IL_00A8: stfld UnityEngine.Quaternion Verse.<>c__DisplayClass54_0::quat
  932. IL_00AD: ldarg.0
  933. IL_00AE: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  934. IL_00B3: callvirt Verse.DevelopmentalStage Verse.Pawn::get_DevelopmentalStage()
  935. IL_00B8: call static System.Boolean Verse.DevelopmentalStageExtensions::Baby(Verse.DevelopmentalStage developmentalStage)
  936. IL_00BD: brtrue => Label1
  937. IL_00C2: ldloc.0
  938. IL_00C3: ldfld Verse.RotDrawMode Verse.<>c__DisplayClass54_0::bodyDrawType
  939. IL_00C8: ldc.i4.2
  940. IL_00C9: beq => Label2
  941. IL_00CE: ldloc.0
  942. IL_00CF: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  943. IL_00D4: ldc.i4.2
  944. IL_00D5: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  945. IL_00DA: br => Label3
  946. IL_00DF: Label1
  947. IL_00DF: Label2
  948. IL_00DF: ldc.i4.1
  949. IL_00E0: Label3
  950. IL_00E0: dup
  951. IL_00E1: brfalse => Label4
  952. IL_00E6: ldarg.0
  953. IL_00E7: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  954. IL_00EC: ldfld RimWorld.Pawn_StoryTracker Verse.Pawn::story
  955. IL_00F1: dup
  956. IL_00F2: brtrue => Label5
  957. IL_00F7: pop
  958. IL_00F8: ldnull
  959. IL_00F9: br => Label6
  960. IL_00FE: Label5
  961. IL_00FE: ldfld RimWorld.HairDef RimWorld.Pawn_StoryTracker::hairDef
  962. IL_0103: Label6
  963. IL_0103: brfalse => Label7
  964. IL_0108: ldarg.0
  965. IL_0109: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  966. IL_010E: ldfld RimWorld.Pawn_StoryTracker Verse.Pawn::story
  967. IL_0113: ldfld RimWorld.HairDef RimWorld.Pawn_StoryTracker::hairDef
  968. IL_0118: ldfld System.Boolean RimWorld.StyleItemDef::noGraphic
  969. IL_011D: br => Label8
  970. IL_0122: Label4
  971. IL_0122: Label7
  972. IL_0122: ldc.i4.1
  973. IL_0123: Label8
  974. IL_0123: stloc.2
  975. IL_0124: brtrue => Label9
  976. IL_0129: ldloc.0
  977. IL_012A: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::bodyFacing
  978. IL_012F: ldsfld Verse.Rot4 Verse.Rot4::North
  979. IL_0134: call static System.Boolean Verse.Rot4::op_Inequality(Verse.Rot4 a, Verse.Rot4 b)
  980. IL_0139: brfalse => Label10
  981. IL_013E: ldarg.0
  982. IL_013F: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  983. IL_0144: callvirt Verse.DevelopmentalStage Verse.Pawn::get_DevelopmentalStage()
  984. IL_0149: call static System.Boolean Verse.DevelopmentalStageExtensions::Adult(Verse.DevelopmentalStage developmentalStage)
  985. IL_014E: brfalse => Label11
  986. IL_0153: ldarg.0
  987. IL_0154: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  988. IL_0159: ldfld RimWorld.Pawn_StyleTracker Verse.Pawn::style
  989. IL_015E: dup
  990. IL_015F: brtrue => Label12
  991. IL_0164: pop
  992. IL_0165: ldnull
  993. IL_0166: br => Label13
  994. IL_016B: Label12
  995. IL_016B: ldfld RimWorld.BeardDef RimWorld.Pawn_StyleTracker::beardDef
  996. IL_0170: Label13
  997. IL_0170: dup
  998. IL_0171: brtrue => Label14
  999. IL_0176: pop
  1000. IL_0177: ldsfld RimWorld.BeardDef RimWorld.BeardDefOf::NoBeard
  1001. IL_017C: Label14
  1002. IL_017C: ldsfld RimWorld.BeardDef RimWorld.BeardDefOf::NoBeard
  1003. IL_0181: ceq
  1004. IL_0183: ldc.i4.0
  1005. IL_0184: ceq
  1006. IL_0186: br => Label15
  1007. IL_018B: Label9
  1008. IL_018B: Label10
  1009. IL_018B: Label11
  1010. IL_018B: ldc.i4.0
  1011. IL_018C: Label15
  1012. IL_018C: stloc.3
  1013. IL_018D: ldloc.0
  1014. IL_018E: ldc.i4.0
  1015. IL_018F: stfld System.Boolean Verse.<>c__DisplayClass54_0::allFaceCovered
  1016. IL_0194: ldloc.0
  1017. IL_0195: ldc.i4.1
  1018. IL_0196: stfld System.Boolean Verse.<>c__DisplayClass54_0::drawEyes
  1019. IL_019B: ldloc.0
  1020. IL_019C: ldc.i4.0
  1021. IL_019D: stfld System.Boolean Verse.<>c__DisplayClass54_0::middleFaceCovered
  1022. IL_01A2: ldarg.0
  1023. IL_01A3: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1024. IL_01A8: call static RimWorld.Building_Bed RimWorld.RestUtility::CurrentBed(Verse.Pawn p)
  1025. IL_01AD: brfalse => Label16
  1026. IL_01B2: ldarg.0
  1027. IL_01B3: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1028. IL_01B8: call static RimWorld.Building_Bed RimWorld.RestUtility::CurrentBed(Verse.Pawn p)
  1029. IL_01BD: ldfld Verse.ThingDef Verse.Thing::def
  1030. IL_01C2: ldfld RimWorld.BuildingProperties Verse.ThingDef::building
  1031. IL_01C7: ldfld System.Boolean RimWorld.BuildingProperties::bed_showSleeperBody
  1032. IL_01CC: ldc.i4.0
  1033. IL_01CD: ceq
  1034. IL_01CF: br => Label17
  1035. IL_01D4: Label16
  1036. IL_01D4: ldc.i4.0
  1037. IL_01D5: Label17
  1038. IL_01D5: stloc.s 4 (System.Boolean)
  1039. IL_01D7: ldloc.0
  1040. IL_01D8: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1041. IL_01DD: ldc.i4.1
  1042. IL_01DE: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1043. IL_01E3: ldc.i4.0
  1044. IL_01E4: ceq
  1045. IL_01E6: ldloc.s 4 (System.Boolean)
  1046. IL_01E8: and
  1047. IL_01E9: stloc.s 5 (System.Boolean)
  1048. IL_01EB: ldloc.0
  1049. IL_01EC: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1050. IL_01F1: ldc.i4.s 32
  1051. IL_01F3: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1052. IL_01F8: brfalse => Label18
  1053. IL_01FD: ldloc.0
  1054. IL_01FE: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1055. IL_0203: ldc.i4.1
  1056. IL_0204: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1057. IL_0209: brfalse => Label19
  1058. IL_020E: call static System.Boolean Verse.Prefs::get_HatsOnlyOnMap()
  1059. IL_0213: brfalse => Label20
  1060. IL_0218: ldloc.0
  1061. IL_0219: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1062. IL_021E: ldc.i4 256
  1063. IL_0223: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1064. IL_0228: br => Label21
  1065. IL_022D: Label19
  1066. IL_022D: Label20
  1067. IL_022D: ldc.i4.1
  1068. IL_022E: br => Label22
  1069. IL_0233: Label18
  1070. IL_0233: ldc.i4.0
  1071. IL_0234: Label21
  1072. IL_0234: Label22
  1073. IL_0234: stloc.s 6 (System.Boolean)
  1074. IL_0236: ldarg.0
  1075. IL_0237: ldfld Verse.BodyPartRecord Verse.PawnRenderer::leftEyeCached
  1076. IL_023C: brtrue => Label23
  1077. IL_0241: ldarg.0
  1078. IL_0242: ldarg.0
  1079. IL_0243: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1080. IL_0248: call static Verse.BodyDef AlienRace.HarmonyPatches::ReplacedBody(Verse.Pawn pawn)
  1081. IL_024D: callvirt System.Collections.Generic.List`1<Verse.BodyPartRecord> Verse.BodyDef::get_AllParts()
  1082. IL_0252: ldsfld System.Predicate`1<Verse.BodyPartRecord> Verse.<>c::<>9__54_0
  1083. IL_0257: dup
  1084. IL_0258: brtrue => Label24
  1085. IL_025D: pop
  1086. IL_025E: ldsfld Verse.<>c Verse.<>c::<>9
  1087. IL_0263: ldftn System.Boolean Verse.<>c::<DrawHeadHair>b__54_0(Verse.BodyPartRecord p)
  1088. IL_0269: newobj System.Void System.Predicate`1<Verse.BodyPartRecord>::.ctor(System.Object object, System.IntPtr method)
  1089. IL_026E: dup
  1090. IL_026F: stsfld System.Predicate`1<Verse.BodyPartRecord> Verse.<>c::<>9__54_0
  1091. IL_0274: Label24
  1092. IL_0274: call static Verse.BodyPartRecord Verse.GenCollection::FirstOrDefault(System.Collections.Generic.List`1<Verse.BodyPartRecord> list, System.Predicate`1<Verse.BodyPartRecord> predicate)
  1093. IL_0279: stfld Verse.BodyPartRecord Verse.PawnRenderer::leftEyeCached
  1094. IL_027E: Label23
  1095. IL_027E: ldarg.0
  1096. IL_027F: ldfld Verse.BodyPartRecord Verse.PawnRenderer::rightEyeCached
  1097. IL_0284: brtrue => Label25
  1098. IL_0289: ldarg.0
  1099. IL_028A: ldarg.0
  1100. IL_028B: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1101. IL_0290: call static Verse.BodyDef AlienRace.HarmonyPatches::ReplacedBody(Verse.Pawn pawn)
  1102. IL_0295: callvirt System.Collections.Generic.List`1<Verse.BodyPartRecord> Verse.BodyDef::get_AllParts()
  1103. IL_029A: ldsfld System.Predicate`1<Verse.BodyPartRecord> Verse.<>c::<>9__54_1
  1104. IL_029F: dup
  1105. IL_02A0: brtrue => Label26
  1106. IL_02A5: pop
  1107. IL_02A6: ldsfld Verse.<>c Verse.<>c::<>9
  1108. IL_02AB: ldftn System.Boolean Verse.<>c::<DrawHeadHair>b__54_1(Verse.BodyPartRecord p)
  1109. IL_02B1: newobj System.Void System.Predicate`1<Verse.BodyPartRecord>::.ctor(System.Object object, System.IntPtr method)
  1110. IL_02B6: dup
  1111. IL_02B7: stsfld System.Predicate`1<Verse.BodyPartRecord> Verse.<>c::<>9__54_1
  1112. IL_02BC: Label26
  1113. IL_02BC: call static Verse.BodyPartRecord Verse.GenCollection::FirstOrDefault(System.Collections.Generic.List`1<Verse.BodyPartRecord> list, System.Predicate`1<Verse.BodyPartRecord> predicate)
  1114. IL_02C1: stfld Verse.BodyPartRecord Verse.PawnRenderer::rightEyeCached
  1115. IL_02C6: Label25
  1116. IL_02C6: ldloc.0
  1117. IL_02C7: ldarg.0
  1118. IL_02C8: ldfld Verse.BodyPartRecord Verse.PawnRenderer::leftEyeCached
  1119. IL_02CD: brfalse => Label27
  1120. IL_02D2: ldarg.0
  1121. IL_02D3: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1122. IL_02D8: ldfld Verse.Pawn_HealthTracker Verse.Pawn::health
  1123. IL_02DD: ldfld Verse.HediffSet Verse.Pawn_HealthTracker::hediffSet
  1124. IL_02E2: ldarg.0
  1125. IL_02E3: ldfld Verse.BodyPartRecord Verse.PawnRenderer::leftEyeCached
  1126. IL_02E8: callvirt System.Boolean Verse.HediffSet::PartIsMissing(Verse.BodyPartRecord part)
  1127. IL_02ED: ldc.i4.0
  1128. IL_02EE: ceq
  1129. IL_02F0: br => Label28
  1130. IL_02F5: Label27
  1131. IL_02F5: ldc.i4.0
  1132. IL_02F6: Label28
  1133. IL_02F6: stfld System.Boolean Verse.<>c__DisplayClass54_0::hasLeftEye
  1134. IL_02FB: ldloc.0
  1135. IL_02FC: ldarg.0
  1136. IL_02FD: ldfld Verse.BodyPartRecord Verse.PawnRenderer::rightEyeCached
  1137. IL_0302: brfalse => Label29
  1138. IL_0307: ldarg.0
  1139. IL_0308: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1140. IL_030D: ldfld Verse.Pawn_HealthTracker Verse.Pawn::health
  1141. IL_0312: ldfld Verse.HediffSet Verse.Pawn_HealthTracker::hediffSet
  1142. IL_0317: ldarg.0
  1143. IL_0318: ldfld Verse.BodyPartRecord Verse.PawnRenderer::rightEyeCached
  1144. IL_031D: callvirt System.Boolean Verse.HediffSet::PartIsMissing(Verse.BodyPartRecord part)
  1145. IL_0322: ldc.i4.0
  1146. IL_0323: ceq
  1147. IL_0325: br => Label30
  1148. IL_032A: Label29
  1149. IL_032A: ldc.i4.0
  1150. IL_032B: Label30
  1151. IL_032B: stfld System.Boolean Verse.<>c__DisplayClass54_0::hasRightEye
  1152. IL_0330: ldloc.s 6 (System.Boolean)
  1153. IL_0332: brfalse => Label31
  1154. IL_0337: ldc.i4.0
  1155. IL_0338: stloc.s 7 (System.Int32)
  1156. IL_033A: br => Label32
  1157. IL_033F: Label42
  1158. IL_033F: ldloc.s 5 (System.Boolean)
  1159. IL_0341: brfalse => Label33
  1160. IL_0346: ldloc.1
  1161. IL_0347: ldloc.s 7 (System.Int32)
  1162. IL_0349: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1163. IL_034E: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1164. IL_0353: ldfld Verse.ThingDef Verse.Thing::def
  1165. IL_0358: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1166. IL_035D: ldfld System.Boolean RimWorld.ApparelProperties::hatRenderedFrontOfFace
  1167. IL_0362: brfalse => Label34
  1168. IL_0367: Label33
  1169. IL_0367: ldloc.1
  1170. IL_0368: ldloc.s 7 (System.Int32)
  1171. IL_036A: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1172. IL_036F: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1173. IL_0374: ldfld Verse.ThingDef Verse.Thing::def
  1174. IL_0379: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1175. IL_037E: callvirt Verse.ApparelLayerDef RimWorld.ApparelProperties::get_LastLayer()
  1176. IL_0383: ldsfld Verse.ApparelLayerDef RimWorld.ApparelLayerDefOf::Overhead
  1177. IL_0388: beq => Label35
  1178. IL_038D: ldloc.1
  1179. IL_038E: ldloc.s 7 (System.Int32)
  1180. IL_0390: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1181. IL_0395: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1182. IL_039A: ldfld Verse.ThingDef Verse.Thing::def
  1183. IL_039F: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1184. IL_03A4: callvirt Verse.ApparelLayerDef RimWorld.ApparelProperties::get_LastLayer()
  1185. IL_03A9: ldsfld Verse.ApparelLayerDef RimWorld.ApparelLayerDefOf::EyeCover
  1186. IL_03AE: bne.un => Label36
  1187. IL_03B3: Label35
  1188. IL_03B3: ldloc.1
  1189. IL_03B4: ldloc.s 7 (System.Int32)
  1190. IL_03B6: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1191. IL_03BB: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1192. IL_03C0: ldfld Verse.ThingDef Verse.Thing::def
  1193. IL_03C5: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1194. IL_03CA: ldfld System.Collections.Generic.List`1<Verse.BodyPartGroupDef> RimWorld.ApparelProperties::bodyPartGroups
  1195. IL_03CF: ldsfld Verse.BodyPartGroupDef RimWorld.BodyPartGroupDefOf::FullHead
  1196. IL_03D4: callvirt virtual System.Boolean System.Collections.Generic.List`1<Verse.BodyPartGroupDef>::Contains(Verse.BodyPartGroupDef item)
  1197. IL_03D9: brfalse => Label37
  1198. IL_03DE: ldc.i4.0
  1199. IL_03DF: stloc.3
  1200. IL_03E0: ldloc.0
  1201. IL_03E1: ldc.i4.1
  1202. IL_03E2: stfld System.Boolean Verse.<>c__DisplayClass54_0::allFaceCovered
  1203. IL_03E7: ldloc.1
  1204. IL_03E8: ldloc.s 7 (System.Int32)
  1205. IL_03EA: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1206. IL_03EF: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1207. IL_03F4: ldfld Verse.ThingDef Verse.Thing::def
  1208. IL_03F9: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1209. IL_03FE: ldfld System.Collections.Generic.List`1<System.Int32> RimWorld.ApparelProperties::forceEyesVisibleForRotations
  1210. IL_0403: ldloc.0
  1211. IL_0404: ldflda Verse.Rot4 Verse.<>c__DisplayClass54_0::headFacing
  1212. IL_0409: call System.Int32 Verse.Rot4::get_AsInt()
  1213. IL_040E: callvirt virtual System.Boolean System.Collections.Generic.List`1<System.Int32>::Contains(System.Int32 item)
  1214. IL_0413: brtrue => Label38
  1215. IL_0418: ldloc.0
  1216. IL_0419: ldc.i4.0
  1217. IL_041A: stfld System.Boolean Verse.<>c__DisplayClass54_0::drawEyes
  1218. IL_041F: Label37
  1219. IL_041F: Label38
  1220. IL_041F: ldloc.1
  1221. IL_0420: ldloc.s 7 (System.Int32)
  1222. IL_0422: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1223. IL_0427: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1224. IL_042C: ldfld Verse.ThingDef Verse.Thing::def
  1225. IL_0431: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1226. IL_0436: ldfld System.Boolean RimWorld.ApparelProperties::hatRenderedFrontOfFace
  1227. IL_043B: brtrue => Label39
  1228. IL_0440: ldloc.1
  1229. IL_0441: ldloc.s 7 (System.Int32)
  1230. IL_0443: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1231. IL_0448: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1232. IL_044D: ldfld Verse.ThingDef Verse.Thing::def
  1233. IL_0452: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1234. IL_0457: ldfld System.Boolean RimWorld.ApparelProperties::forceRenderUnderHair
  1235. IL_045C: brtrue => Label40
  1236. IL_0461: ldloc.1
  1237. IL_0462: ldloc.s 7 (System.Int32)
  1238. IL_0464: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1239. IL_0469: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1240. IL_046E: isinst ARimReborn.Apparel_NonHairOccluding
  1241. IL_0473: brtrue => Label40
  1242. IL_0478: ldc.i4.0
  1243. IL_0479: stloc.2
  1244. IL_047A: Label39
  1245. IL_047A: Label40
  1246. IL_047A: ldloc.1
  1247. IL_047B: ldloc.s 7 (System.Int32)
  1248. IL_047D: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1249. IL_0482: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1250. IL_0487: ldfld Verse.ThingDef Verse.Thing::def
  1251. IL_048C: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1252. IL_0491: ldfld System.Boolean RimWorld.ApparelProperties::coversHeadMiddle
  1253. IL_0496: brfalse => Label41
  1254. IL_049B: ldloc.0
  1255. IL_049C: ldc.i4.1
  1256. IL_049D: stfld System.Boolean Verse.<>c__DisplayClass54_0::middleFaceCovered
  1257. IL_04A2: Label34
  1258. IL_04A2: Label36
  1259. IL_04A2: Label41
  1260. IL_04A2: ldloc.s 7 (System.Int32)
  1261. IL_04A4: ldc.i4.1
  1262. IL_04A5: add
  1263. IL_04A6: stloc.s 7 (System.Int32)
  1264. IL_04A8: Label32
  1265. IL_04A8: ldloc.s 7 (System.Int32)
  1266. IL_04AA: ldloc.1
  1267. IL_04AB: callvirt virtual System.Int32 System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Count()
  1268. IL_04B0: blt => Label42
  1269. IL_04B5: Label31
  1270. IL_04B5: ldloc.0
  1271. IL_04B6: ldc.i4.1
  1272. IL_04B7: callvirt System.Void Verse.<>c__DisplayClass54_0::<DrawHeadHair>g__TryDrawGenes|3(Verse.GeneDrawLayer layer)
  1273. IL_04BC: call static System.Boolean Verse.ModsConfig::get_IdeologyActive()
  1274. IL_04C1: brfalse => Label43
  1275. IL_04C6: ldarg.0
  1276. IL_04C7: ldfld Verse.PawnGraphicSet Verse.PawnRenderer::graphics
  1277. IL_04CC: ldfld Verse.Graphic Verse.PawnGraphicSet::faceTattooGraphic
  1278. IL_04D1: brfalse => Label44
  1279. IL_04D6: ldloc.0
  1280. IL_04D7: ldfld Verse.RotDrawMode Verse.<>c__DisplayClass54_0::bodyDrawType
  1281. IL_04DC: ldc.i4.2
  1282. IL_04DD: beq => Label45
  1283. IL_04E2: ldloc.0
  1284. IL_04E3: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1285. IL_04E8: ldc.i4.2
  1286. IL_04E9: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1287. IL_04EE: brtrue => Label46
  1288. IL_04F3: ldloc.0
  1289. IL_04F4: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::bodyFacing
  1290. IL_04F9: ldsfld Verse.Rot4 Verse.Rot4::North
  1291. IL_04FE: call static System.Boolean Verse.Rot4::op_Inequality(Verse.Rot4 a, Verse.Rot4 b)
  1292. IL_0503: brtrue => Label47
  1293. IL_0508: ldarg.0
  1294. IL_0509: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1295. IL_050E: ldfld RimWorld.Pawn_StyleTracker Verse.Pawn::style
  1296. IL_0513: callvirt RimWorld.TattooDef RimWorld.Pawn_StyleTracker::get_FaceTattoo()
  1297. IL_0518: ldfld System.Boolean RimWorld.TattooDef::visibleNorth
  1298. IL_051D: brfalse => Label48
  1299. IL_0522: Label47
  1300. IL_0522: ldloc.0
  1301. IL_0523: ldfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::rootLoc
  1302. IL_0528: ldloc.0
  1303. IL_0529: ldfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::headOffset
  1304. IL_052E: call static UnityEngine.Vector3 UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
  1305. IL_0533: stloc.s 8 (UnityEngine.Vector3)
  1306. IL_0535: ldloca.s 8 (UnityEngine.Vector3)
  1307. IL_0537: ldflda System.Single UnityEngine.Vector3::y
  1308. IL_053C: dup
  1309. IL_053D: ldind.r4
  1310. IL_053E: ldc.r4 0.02316602
  1311. IL_0543: add
  1312. IL_0544: stind.r4
  1313. IL_0545: ldloc.0
  1314. IL_0546: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::bodyFacing
  1315. IL_054B: ldsfld Verse.Rot4 Verse.Rot4::North
  1316. IL_0550: call static System.Boolean Verse.Rot4::op_Equality(Verse.Rot4 a, Verse.Rot4 b)
  1317. IL_0555: brfalse => Label49
  1318. IL_055A: ldloca.s 8 (UnityEngine.Vector3)
  1319. IL_055C: ldflda System.Single UnityEngine.Vector3::y
  1320. IL_0561: dup
  1321. IL_0562: ldind.r4
  1322. IL_0563: ldc.r4 0.001
  1323. IL_0568: sub
  1324. IL_0569: stind.r4
  1325. IL_056A: br => Label50
  1326. IL_056F: Label49
  1327. IL_056F: ldloca.s 8 (UnityEngine.Vector3)
  1328. IL_0571: ldflda System.Single UnityEngine.Vector3::y
  1329. IL_0576: dup
  1330. IL_0577: ldind.r4
  1331. IL_0578: ldc.r4 0.001
  1332. IL_057D: add
  1333. IL_057E: stind.r4
  1334. IL_057F: Label50
  1335. IL_057F: ldarg.0
  1336. IL_0580: ldfld Verse.PawnGraphicSet Verse.PawnRenderer::graphics
  1337. IL_0585: callvirt Verse.GraphicMeshSet Verse.PawnGraphicSet::get_HairMeshSet()
  1338. IL_058A: ldloc.0
  1339. IL_058B: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::headFacing
  1340. IL_0590: callvirt UnityEngine.Mesh Verse.GraphicMeshSet::MeshAt(Verse.Rot4 rot)
  1341. IL_0595: ldloc.s 8 (UnityEngine.Vector3)
  1342. IL_0597: ldloc.0
  1343. IL_0598: ldfld UnityEngine.Quaternion Verse.<>c__DisplayClass54_0::quat
  1344. IL_059D: ldarg.0
  1345. IL_059E: ldfld Verse.PawnGraphicSet Verse.PawnRenderer::graphics
  1346. IL_05A3: ldfld Verse.Graphic Verse.PawnGraphicSet::faceTattooGraphic
  1347. IL_05A8: ldloc.0
  1348. IL_05A9: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::headFacing
  1349. IL_05AE: ldnull
  1350. IL_05AF: callvirt virtual UnityEngine.Material Verse.Graphic::MatAt(Verse.Rot4 rot, Verse.Thing thing)
  1351. IL_05B4: ldloc.0
  1352. IL_05B5: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1353. IL_05BA: ldc.i4.8
  1354. IL_05BB: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1355. IL_05C0: call static System.Void Verse.GenDraw::DrawMeshNowOrLater(UnityEngine.Mesh mesh, UnityEngine.Vector3 loc, UnityEngine.Quaternion quat, UnityEngine.Material mat, System.Boolean drawNow)
  1356. IL_05C5: Label43
  1357. IL_05C5: Label44
  1358. IL_05C5: Label45
  1359. IL_05C5: Label46
  1360. IL_05C5: Label48
  1361. IL_05C5: ldloc.0
  1362. IL_05C6: ldc.i4.2
  1363. IL_05C7: callvirt System.Void Verse.<>c__DisplayClass54_0::<DrawHeadHair>g__TryDrawGenes|3(Verse.GeneDrawLayer layer)
  1364. IL_05CC: ldloc.0
  1365. IL_05CD: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::headFacing
  1366. IL_05D2: ldsfld Verse.Rot4 Verse.Rot4::North
  1367. IL_05D7: call static System.Boolean Verse.Rot4::op_Inequality(Verse.Rot4 a, Verse.Rot4 b)
  1368. IL_05DC: brfalse => Label51
  1369. IL_05E1: ldloc.0
  1370. IL_05E2: ldfld System.Boolean Verse.<>c__DisplayClass54_0::allFaceCovered
  1371. IL_05E7: ldc.i4.0
  1372. IL_05E8: ceq
  1373. IL_05EA: ldloc.0
  1374. IL_05EB: ldfld System.Boolean Verse.<>c__DisplayClass54_0::drawEyes
  1375. IL_05F0: or
  1376. IL_05F1: brfalse => Label52
  1377. IL_05F6: ldarg.0
  1378. IL_05F7: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1379. IL_05FC: ldfld Verse.Pawn_HealthTracker Verse.Pawn::health
  1380. IL_0601: ldfld Verse.HediffSet Verse.Pawn_HealthTracker::hediffSet
  1381. IL_0606: ldfld System.Collections.Generic.List`1<Verse.Hediff> Verse.HediffSet::hediffs
  1382. IL_060B: callvirt System.Collections.Generic.Enumerator<Verse.Hediff> System.Collections.Generic.List`1<Verse.Hediff>::GetEnumerator()
  1383. IL_0610: stloc.s 9 (System.Collections.Generic.List`1+Enumerator[Verse.Hediff])
  1384. .try
  1385. {
  1386. IL_0612: br => Label53
  1387. IL_0617: Label58
  1388. IL_0617: ldloca.s 9 (System.Collections.Generic.List`1+Enumerator[Verse.Hediff])
  1389. IL_0619: call virtual Verse.Hediff System.Collections.Generic.Enumerator<Verse.Hediff>::get_Current()
  1390. IL_061E: stloc.s 10 (Verse.Hediff)
  1391. IL_0620: ldloc.s 10 (Verse.Hediff)
  1392. IL_0622: ldfld Verse.HediffDef Verse.Hediff::def
  1393. IL_0627: ldfld Verse.GraphicData Verse.HediffDef::eyeGraphicSouth
  1394. IL_062C: brfalse => Label54
  1395. IL_0631: ldloc.s 10 (Verse.Hediff)
  1396. IL_0633: ldfld Verse.HediffDef Verse.Hediff::def
  1397. IL_0638: ldfld Verse.GraphicData Verse.HediffDef::eyeGraphicEast
  1398. IL_063D: brfalse => Label55
  1399. IL_0642: ldloc.0
  1400. IL_0643: ldflda Verse.Rot4 Verse.<>c__DisplayClass54_0::headFacing
  1401. IL_0648: call System.Boolean Verse.Rot4::get_IsHorizontal()
  1402. IL_064D: brtrue => Label56
  1403. IL_0652: ldloc.s 10 (Verse.Hediff)
  1404. IL_0654: ldfld Verse.HediffDef Verse.Hediff::def
  1405. IL_0659: ldfld Verse.GraphicData Verse.HediffDef::eyeGraphicSouth
  1406. IL_065E: br => Label57
  1407. IL_0663: Label56
  1408. IL_0663: ldloc.s 10 (Verse.Hediff)
  1409. IL_0665: ldfld Verse.HediffDef Verse.Hediff::def
  1410. IL_066A: ldfld Verse.GraphicData Verse.HediffDef::eyeGraphicEast
  1411. IL_066F: Label57
  1412. IL_066F: stloc.s 11 (Verse.GraphicData)
  1413. IL_0671: ldloc.s 10 (Verse.Hediff)
  1414. IL_0673: callvirt Verse.BodyPartRecord Verse.Hediff::get_Part()
  1415. IL_0678: ldfld System.String Verse.BodyPartRecord::woundAnchorTag
  1416. IL_067D: ldstr "LeftEye"
  1417. IL_0682: call static System.Boolean System.String::op_Equality(System.String a, System.String b)
  1418. IL_0687: stloc.s 12 (System.Boolean)
  1419. IL_0689: ldloc.0
  1420. IL_068A: ldloc.s 11 (Verse.GraphicData)
  1421. IL_068C: callvirt Verse.Graphic Verse.GraphicData::get_Graphic()
  1422. IL_0691: ldloc.s 10 (Verse.Hediff)
  1423. IL_0693: ldfld Verse.HediffDef Verse.Hediff::def
  1424. IL_0698: ldfld System.Single Verse.HediffDef::eyeGraphicScale
  1425. IL_069D: ldarg.0
  1426. IL_069E: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1427. IL_06A3: ldfld Verse.Pawn_AgeTracker Verse.Pawn::ageTracker
  1428. IL_06A8: callvirt RimWorld.LifeStageDef Verse.Pawn_AgeTracker::get_CurLifeStage()
  1429. IL_06AD: ldflda System.Nullable`1<System.Single> RimWorld.LifeStageDef::eyeSizeFactor
  1430. IL_06B2: ldc.r4 1
  1431. IL_06B7: call System.Single System.Nullable`1<System.Single>::GetValueOrDefault(System.Single defaultValue)
  1432. IL_06BC: mul
  1433. IL_06BD: ldc.r4 0.0014
  1434. IL_06C2: ldloc.s 12 (System.Boolean)
  1435. IL_06C4: ldloc.s 12 (System.Boolean)
  1436. IL_06C6: ldc.i4.0
  1437. IL_06C7: ceq
  1438. IL_06C9: callvirt System.Void Verse.<>c__DisplayClass54_0::<DrawHeadHair>g__DrawExtraEyeGraphic|6(Verse.Graphic graphic, System.Single scale, System.Single yOffset, System.Boolean drawLeft, System.Boolean drawRight)
  1439. IL_06CE: Label53
  1440. IL_06CE: Label54
  1441. IL_06CE: Label55
  1442. IL_06CE: ldloca.s 9 (System.Collections.Generic.List`1+Enumerator[Verse.Hediff])
  1443. IL_06D0: call virtual System.Boolean System.Collections.Generic.Enumerator<Verse.Hediff>::MoveNext()
  1444. IL_06D5: brtrue => Label58
  1445. IL_06DA: leave => Label59
  1446. IL_06DF: leave => (autogenerated)
  1447. } // end try
  1448. .finally
  1449. {
  1450. IL_06E4: ldloca.s 9 (System.Collections.Generic.List`1+Enumerator[Verse.Hediff])
  1451. IL_06E6: constrained. System.Collections.Generic.List`1+Enumerator[Verse.Hediff]
  1452. IL_06EC: callvirt abstract virtual System.Void System.IDisposable::Dispose()
  1453. IL_06F1: endfinally
  1454. IL_06F2: leave => (autogenerated)
  1455. } // end handler
  1456. IL_06F3: Label51
  1457. IL_06F3: Label52
  1458. IL_06F3: Label59
  1459. IL_06F3: ldloc.3
  1460. IL_06F4: brfalse => Label60
  1461. IL_06F9: ldloc.0
  1462. IL_06FA: ldfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::rootLoc
  1463. IL_06FF: ldloc.0
  1464. IL_0700: ldfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::headOffset
  1465. IL_0705: call static UnityEngine.Vector3 UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
  1466. IL_070A: ldloc.0
  1467. IL_070B: ldfld UnityEngine.Quaternion Verse.<>c__DisplayClass54_0::quat
  1468. IL_0710: ldarg.0
  1469. IL_0711: ldarg.0
  1470. IL_0712: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1471. IL_0717: ldfld RimWorld.Pawn_StyleTracker Verse.Pawn::style
  1472. IL_071C: ldfld RimWorld.BeardDef RimWorld.Pawn_StyleTracker::beardDef
  1473. IL_0721: ldarg.0
  1474. IL_0722: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1475. IL_0727: ldfld RimWorld.Pawn_StoryTracker Verse.Pawn::story
  1476. IL_072C: ldfld Verse.HeadTypeDef RimWorld.Pawn_StoryTracker::headType
  1477. IL_0731: ldloc.0
  1478. IL_0732: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::headFacing
  1479. IL_0737: call static UnityEngine.Vector3 UnityEngine.Vector3::get_zero()
  1480. IL_073C: call UnityEngine.Vector3 Verse.PawnRenderer::OffsetBeardLocationForHead(RimWorld.BeardDef beardDef, Verse.HeadTypeDef head, Verse.Rot4 headFacing, UnityEngine.Vector3 beardLoc)
  1481. IL_0741: call static UnityEngine.Vector3 UnityEngine.Quaternion::op_Multiply(UnityEngine.Quaternion rotation, UnityEngine.Vector3 point)
  1482. IL_0746: call static UnityEngine.Vector3 UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
  1483. IL_074B: stloc.s 13 (UnityEngine.Vector3)
  1484. IL_074D: ldarg.0
  1485. IL_074E: ldfld Verse.PawnGraphicSet Verse.PawnRenderer::graphics
  1486. IL_0753: callvirt Verse.GraphicMeshSet Verse.PawnGraphicSet::get_BeardMeshSet()
  1487. IL_0758: ldloc.0
  1488. IL_0759: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::headFacing
  1489. IL_075E: callvirt UnityEngine.Mesh Verse.GraphicMeshSet::MeshAt(Verse.Rot4 rot)
  1490. IL_0763: stloc.s 14 (UnityEngine.Mesh)
  1491. IL_0765: ldarg.0
  1492. IL_0766: ldfld Verse.PawnGraphicSet Verse.PawnRenderer::graphics
  1493. IL_076B: ldloc.0
  1494. IL_076C: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::headFacing
  1495. IL_0771: ldloc.0
  1496. IL_0772: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1497. IL_0777: ldc.i4.1
  1498. IL_0778: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1499. IL_077D: ldloc.0
  1500. IL_077E: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1501. IL_0783: ldc.i4.s 16
  1502. IL_0785: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1503. IL_078A: callvirt UnityEngine.Material Verse.PawnGraphicSet::BeardMatAt(Verse.Rot4 facing, System.Boolean portrait, System.Boolean cached)
  1504. IL_078F: stloc.s 15 (UnityEngine.Material)
  1505. IL_0791: ldloc.s 15 (UnityEngine.Material)
  1506. IL_0793: ldnull
  1507. IL_0794: call static System.Boolean UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
  1508. IL_0799: brfalse => Label61
  1509. IL_079E: ldloc.s 14 (UnityEngine.Mesh)
  1510. IL_07A0: ldloc.s 13 (UnityEngine.Vector3)
  1511. IL_07A2: ldloc.0
  1512. IL_07A3: ldfld UnityEngine.Quaternion Verse.<>c__DisplayClass54_0::quat
  1513. IL_07A8: ldloc.s 15 (UnityEngine.Material)
  1514. IL_07AA: ldloc.0
  1515. IL_07AB: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1516. IL_07B0: ldc.i4.8
  1517. IL_07B1: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1518. IL_07B6: call static System.Void Verse.GenDraw::DrawMeshNowOrLater(UnityEngine.Mesh mesh, UnityEngine.Vector3 loc, UnityEngine.Quaternion quat, UnityEngine.Material mat, System.Boolean drawNow)
  1519. IL_07BB: Label60
  1520. IL_07BB: Label61
  1521. IL_07BB: ldloc.s 6 (System.Boolean)
  1522. IL_07BD: brfalse => Label62
  1523. IL_07C2: ldc.i4.0
  1524. IL_07C3: stloc.s 16 (System.Int32)
  1525. IL_07C5: br => Label63
  1526. IL_07CA: Label67
  1527. IL_07CA: ldloc.s 5 (System.Boolean)
  1528. IL_07CC: brfalse => Label64
  1529. IL_07D1: ldloc.1
  1530. IL_07D2: ldloc.s 16 (System.Int32)
  1531. IL_07D4: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1532. IL_07D9: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1533. IL_07DE: ldfld Verse.ThingDef Verse.Thing::def
  1534. IL_07E3: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1535. IL_07E8: ldfld System.Boolean RimWorld.ApparelProperties::hatRenderedFrontOfFace
  1536. IL_07ED: brfalse => Label65
  1537. IL_07F2: Label64
  1538. IL_07F2: ldloc.1
  1539. IL_07F3: ldloc.s 16 (System.Int32)
  1540. IL_07F5: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1541. IL_07FA: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1542. IL_07FF: ldfld Verse.ThingDef Verse.Thing::def
  1543. IL_0804: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1544. IL_0809: ldfld System.Boolean RimWorld.ApparelProperties::forceRenderUnderHair
  1545. IL_080E: brfalse => Label66
  1546. IL_0813: ldloc.0
  1547. IL_0814: ldloc.1
  1548. IL_0815: ldloc.s 16 (System.Int32)
  1549. IL_0817: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1550. IL_081C: callvirt System.Void Verse.<>c__DisplayClass54_0::<DrawHeadHair>g__DrawApparel|2(RimWorld.ApparelGraphicRecord apparelRecord)
  1551. IL_0821: Label65
  1552. IL_0821: Label66
  1553. IL_0821: ldloc.s 16 (System.Int32)
  1554. IL_0823: ldc.i4.1
  1555. IL_0824: add
  1556. IL_0825: stloc.s 16 (System.Int32)
  1557. IL_0827: Label63
  1558. IL_0827: ldloc.s 16 (System.Int32)
  1559. IL_0829: ldloc.1
  1560. IL_082A: callvirt virtual System.Int32 System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Count()
  1561. IL_082F: blt => Label67
  1562. IL_0834: Label62
  1563. IL_0834: ldloc.2
  1564. IL_0835: brfalse => Label68
  1565. IL_083A: ldarg.0
  1566. IL_083B: ldfld Verse.PawnGraphicSet Verse.PawnRenderer::graphics
  1567. IL_0840: callvirt Verse.GraphicMeshSet Verse.PawnGraphicSet::get_HairMeshSet()
  1568. IL_0845: ldloc.0
  1569. IL_0846: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::headFacing
  1570. IL_084B: callvirt UnityEngine.Mesh Verse.GraphicMeshSet::MeshAt(Verse.Rot4 rot)
  1571. IL_0850: stloc.s 17 (UnityEngine.Mesh)
  1572. IL_0852: ldarg.0
  1573. IL_0853: ldfld Verse.PawnGraphicSet Verse.PawnRenderer::graphics
  1574. IL_0858: ldloc.0
  1575. IL_0859: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::headFacing
  1576. IL_085E: ldloc.0
  1577. IL_085F: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1578. IL_0864: ldc.i4.1
  1579. IL_0865: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1580. IL_086A: ldloc.0
  1581. IL_086B: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1582. IL_0870: ldc.i4.s 16
  1583. IL_0872: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1584. IL_0877: callvirt UnityEngine.Material Verse.PawnGraphicSet::HairMatAt(Verse.Rot4 facing, System.Boolean portrait, System.Boolean cached)
  1585. IL_087C: stloc.s 18 (UnityEngine.Material)
  1586. IL_087E: ldloc.s 18 (UnityEngine.Material)
  1587. IL_0880: ldnull
  1588. IL_0881: call static System.Boolean UnityEngine.Object::op_Inequality(UnityEngine.Object x, UnityEngine.Object y)
  1589. IL_0886: brfalse => Label69
  1590. IL_088B: ldloc.s 17 (UnityEngine.Mesh)
  1591. IL_088D: ldloc.0
  1592. IL_088E: ldfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::onHeadLoc
  1593. IL_0893: ldloc.0
  1594. IL_0894: ldfld UnityEngine.Quaternion Verse.<>c__DisplayClass54_0::quat
  1595. IL_0899: ldloc.s 18 (UnityEngine.Material)
  1596. IL_089B: ldloc.0
  1597. IL_089C: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1598. IL_08A1: ldc.i4.8
  1599. IL_08A2: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1600. IL_08A7: call static System.Void Verse.GenDraw::DrawMeshNowOrLater(UnityEngine.Mesh mesh, UnityEngine.Vector3 loc, UnityEngine.Quaternion quat, UnityEngine.Material mat, System.Boolean drawNow)
  1601. IL_08AC: Label68
  1602. IL_08AC: Label69
  1603. IL_08AC: ldloc.0
  1604. IL_08AD: ldc.i4.3
  1605. IL_08AE: callvirt System.Void Verse.<>c__DisplayClass54_0::<DrawHeadHair>g__TryDrawGenes|3(Verse.GeneDrawLayer layer)
  1606. IL_08B3: ldloc.s 6 (System.Boolean)
  1607. IL_08B5: brfalse => Label70
  1608. IL_08BA: ldc.i4.0
  1609. IL_08BB: stloc.s 19 (System.Int32)
  1610. IL_08BD: br => Label71
  1611. IL_08C2: Label77
  1612. IL_08C2: ldloc.s 5 (System.Boolean)
  1613. IL_08C4: brfalse => Label72
  1614. IL_08C9: ldloc.1
  1615. IL_08CA: ldloc.s 19 (System.Int32)
  1616. IL_08CC: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1617. IL_08D1: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1618. IL_08D6: ldfld Verse.ThingDef Verse.Thing::def
  1619. IL_08DB: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1620. IL_08E0: ldfld System.Boolean RimWorld.ApparelProperties::hatRenderedFrontOfFace
  1621. IL_08E5: brfalse => Label73
  1622. IL_08EA: Label72
  1623. IL_08EA: ldloc.1
  1624. IL_08EB: ldloc.s 19 (System.Int32)
  1625. IL_08ED: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1626. IL_08F2: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1627. IL_08F7: ldfld Verse.ThingDef Verse.Thing::def
  1628. IL_08FC: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1629. IL_0901: callvirt Verse.ApparelLayerDef RimWorld.ApparelProperties::get_LastLayer()
  1630. IL_0906: ldsfld Verse.ApparelLayerDef RimWorld.ApparelLayerDefOf::Overhead
  1631. IL_090B: beq => Label74
  1632. IL_0910: ldloc.1
  1633. IL_0911: ldloc.s 19 (System.Int32)
  1634. IL_0913: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1635. IL_0918: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1636. IL_091D: ldfld Verse.ThingDef Verse.Thing::def
  1637. IL_0922: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1638. IL_0927: callvirt Verse.ApparelLayerDef RimWorld.ApparelProperties::get_LastLayer()
  1639. IL_092C: ldsfld Verse.ApparelLayerDef RimWorld.ApparelLayerDefOf::EyeCover
  1640. IL_0931: bne.un => Label75
  1641. IL_0936: Label74
  1642. IL_0936: ldloc.1
  1643. IL_0937: ldloc.s 19 (System.Int32)
  1644. IL_0939: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1645. IL_093E: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1646. IL_0943: ldfld Verse.ThingDef Verse.Thing::def
  1647. IL_0948: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1648. IL_094D: ldfld System.Boolean RimWorld.ApparelProperties::forceRenderUnderHair
  1649. IL_0952: brtrue => Label76
  1650. IL_0957: ldloc.0
  1651. IL_0958: ldloc.1
  1652. IL_0959: ldloc.s 19 (System.Int32)
  1653. IL_095B: callvirt virtual RimWorld.ApparelGraphicRecord System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Item(System.Int32 index)
  1654. IL_0960: callvirt System.Void Verse.<>c__DisplayClass54_0::<DrawHeadHair>g__DrawApparel|2(RimWorld.ApparelGraphicRecord apparelRecord)
  1655. IL_0965: Label73
  1656. IL_0965: Label75
  1657. IL_0965: Label76
  1658. IL_0965: ldloc.s 19 (System.Int32)
  1659. IL_0967: ldc.i4.1
  1660. IL_0968: add
  1661. IL_0969: stloc.s 19 (System.Int32)
  1662. IL_096B: Label71
  1663. IL_096B: ldloc.s 19 (System.Int32)
  1664. IL_096D: ldloc.1
  1665. IL_096E: callvirt virtual System.Int32 System.Collections.Generic.List`1<RimWorld.ApparelGraphicRecord>::get_Count()
  1666. IL_0973: blt => Label77
  1667. IL_0978: Label70
  1668. IL_0978: ldloc.0
  1669. IL_0979: ldc.i4.4
  1670. IL_097A: callvirt System.Void Verse.<>c__DisplayClass54_0::<DrawHeadHair>g__TryDrawGenes|3(Verse.GeneDrawLayer layer)
  1671. IL_097F: // end original
  1672. IL_097F: Label78
  1673. IL_097F: ret
  1674. DONE
  1675.  
  1676. ### Patch: System.Void Verse.<>c__DisplayClass54_0::<DrawHeadHair>g__DrawApparel|2(RimWorld.ApparelGraphicRecord apparelRecord)
  1677. ### Replacement: static System.Void Verse.PawnRenderer+<>c__DisplayClass54_0::Verse.PawnRenderer+c__DisplayClass54_0.<DrawHeadHair>g__DrawApparel|2_Patch0(Verse.<>c__DisplayClass54_0 this, RimWorld.ApparelGraphicRecord apparelRecord)
  1678. IL_0000: Local var 0: UnityEngine.Mesh
  1679. IL_0000: Local var 1: UnityEngine.Material
  1680. IL_0000: Local var 2: UnityEngine.Material
  1681. IL_0000: Local var 3: UnityEngine.Vector3
  1682. IL_0000: // start original
  1683. IL_0000: ldarg.0
  1684. IL_0001: ldfld Verse.PawnRenderer Verse.<>c__DisplayClass54_0::<>4__this
  1685. IL_0006: ldfld Verse.PawnGraphicSet Verse.PawnRenderer::graphics
  1686. IL_000B: callvirt Verse.GraphicMeshSet Verse.PawnGraphicSet::get_HairMeshSet()
  1687. IL_0010: ldarg.0
  1688. IL_0011: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::headFacing
  1689. IL_0016: callvirt UnityEngine.Mesh Verse.GraphicMeshSet::MeshAt(Verse.Rot4 rot)
  1690. IL_001B: stloc.0
  1691. IL_001C: ldarg.1
  1692. IL_001D: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1693. IL_0022: ldfld Verse.ThingDef Verse.Thing::def
  1694. IL_0027: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1695. IL_002C: ldfld System.Boolean RimWorld.ApparelProperties::hatRenderedFrontOfFace
  1696. IL_0031: brtrue => Label0
  1697. IL_0036: ldarg.1
  1698. IL_0037: ldfld Verse.Graphic RimWorld.ApparelGraphicRecord::graphic
  1699. IL_003C: ldarg.0
  1700. IL_003D: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::bodyFacing
  1701. IL_0042: ldnull
  1702. IL_0043: callvirt virtual UnityEngine.Material Verse.Graphic::MatAt(Verse.Rot4 rot, Verse.Thing thing)
  1703. IL_0048: stloc.1
  1704. IL_0049: ldarg.0
  1705. IL_004A: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1706. IL_004F: ldc.i4.s 16
  1707. IL_0051: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1708. IL_0056: brtrue => Label1
  1709. IL_005B: ldarg.0
  1710. IL_005C: ldfld Verse.PawnRenderer Verse.<>c__DisplayClass54_0::<>4__this
  1711. IL_0061: ldloc.1
  1712. IL_0062: ldarg.0
  1713. IL_0063: ldfld Verse.PawnRenderer Verse.<>c__DisplayClass54_0::<>4__this
  1714. IL_0068: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1715. IL_006D: ldarg.0
  1716. IL_006E: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1717. IL_0073: ldc.i4.1
  1718. IL_0074: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1719. IL_0079: call UnityEngine.Material Verse.PawnRenderer::OverrideMaterialIfNeeded(UnityEngine.Material original, Verse.Pawn pawn, System.Boolean portrait)
  1720. IL_007E: br => Label2
  1721. IL_0083: Label1
  1722. IL_0083: ldloc.1
  1723. IL_0084: Label2
  1724. IL_0084: stloc.1
  1725. IL_0085: ldloc.0
  1726. IL_0086: ldarg.0
  1727. IL_0087: ldfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::onHeadLoc
  1728. IL_008C: ldarg.0
  1729. IL_008D: ldfld UnityEngine.Quaternion Verse.<>c__DisplayClass54_0::quat
  1730. IL_0092: ldloc.1
  1731. IL_0093: ldarg.0
  1732. IL_0094: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1733. IL_0099: ldc.i4.8
  1734. IL_009A: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1735. IL_009F: ldarg.1
  1736. IL_00A0: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1737. IL_00A5: call static System.Void ARimReborn.HarmonyPatches::DrawNonHairOccludingApparel(UnityEngine.Mesh mesh, UnityEngine.Vector3 position, UnityEngine.Quaternion quat, UnityEngine.Material material, System.Boolean drawNow, RimWorld.Apparel apparel)
  1738. IL_00AA: br => Label10
  1739. IL_00AF: Label0
  1740. IL_00AF: ldarg.1
  1741. IL_00B0: ldfld Verse.Graphic RimWorld.ApparelGraphicRecord::graphic
  1742. IL_00B5: ldarg.0
  1743. IL_00B6: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::bodyFacing
  1744. IL_00BB: ldnull
  1745. IL_00BC: callvirt virtual UnityEngine.Material Verse.Graphic::MatAt(Verse.Rot4 rot, Verse.Thing thing)
  1746. IL_00C1: stloc.2
  1747. IL_00C2: ldarg.0
  1748. IL_00C3: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1749. IL_00C8: ldc.i4.s 16
  1750. IL_00CA: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1751. IL_00CF: brtrue => Label3
  1752. IL_00D4: ldarg.0
  1753. IL_00D5: ldfld Verse.PawnRenderer Verse.<>c__DisplayClass54_0::<>4__this
  1754. IL_00DA: ldloc.2
  1755. IL_00DB: ldarg.0
  1756. IL_00DC: ldfld Verse.PawnRenderer Verse.<>c__DisplayClass54_0::<>4__this
  1757. IL_00E1: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1758. IL_00E6: ldarg.0
  1759. IL_00E7: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1760. IL_00EC: ldc.i4.1
  1761. IL_00ED: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1762. IL_00F2: call UnityEngine.Material Verse.PawnRenderer::OverrideMaterialIfNeeded(UnityEngine.Material original, Verse.Pawn pawn, System.Boolean portrait)
  1763. IL_00F7: br => Label4
  1764. IL_00FC: Label3
  1765. IL_00FC: ldloc.2
  1766. IL_00FD: Label4
  1767. IL_00FD: stloc.2
  1768. IL_00FE: ldarg.0
  1769. IL_00FF: ldfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::rootLoc
  1770. IL_0104: ldarg.0
  1771. IL_0105: ldfld UnityEngine.Vector3 Verse.<>c__DisplayClass54_0::headOffset
  1772. IL_010A: call static UnityEngine.Vector3 UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
  1773. IL_010F: stloc.3
  1774. IL_0110: ldarg.1
  1775. IL_0111: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1776. IL_0116: ldfld Verse.ThingDef Verse.Thing::def
  1777. IL_011B: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1778. IL_0120: ldfld System.Boolean RimWorld.ApparelProperties::hatRenderedBehindHead
  1779. IL_0125: brfalse => Label5
  1780. IL_012A: ldloca.s 3 (UnityEngine.Vector3)
  1781. IL_012C: ldflda System.Single UnityEngine.Vector3::y
  1782. IL_0131: dup
  1783. IL_0132: ldind.r4
  1784. IL_0133: ldc.r4 0.02216602
  1785. IL_0138: add
  1786. IL_0139: stind.r4
  1787. IL_013A: br => Label6
  1788. IL_013F: Label5
  1789. IL_013F: ldloca.s 3 (UnityEngine.Vector3)
  1790. IL_0141: ldflda System.Single UnityEngine.Vector3::y
  1791. IL_0146: dup
  1792. IL_0147: ldind.r4
  1793. IL_0148: ldarg.0
  1794. IL_0149: ldfld Verse.Rot4 Verse.<>c__DisplayClass54_0::bodyFacing
  1795. IL_014E: ldsfld Verse.Rot4 Verse.Rot4::North
  1796. IL_0153: call static System.Boolean Verse.Rot4::op_Equality(Verse.Rot4 a, Verse.Rot4 b)
  1797. IL_0158: brfalse => Label7
  1798. IL_015D: ldarg.1
  1799. IL_015E: ldfld RimWorld.Apparel RimWorld.ApparelGraphicRecord::sourceApparel
  1800. IL_0163: ldfld Verse.ThingDef Verse.Thing::def
  1801. IL_0168: ldfld RimWorld.ApparelProperties Verse.ThingDef::apparel
  1802. IL_016D: ldfld System.Boolean RimWorld.ApparelProperties::hatRenderedAboveBody
  1803. IL_0172: brfalse => Label8
  1804. IL_0177: Label7
  1805. IL_0177: ldc.r4 0.03185328
  1806. IL_017C: br => Label9
  1807. IL_0181: Label8
  1808. IL_0181: ldc.r4 0.002895753
  1809. IL_0186: Label9
  1810. IL_0186: add
  1811. IL_0187: stind.r4
  1812. IL_0188: Label6
  1813. IL_0188: ldloc.0
  1814. IL_0189: ldloc.3
  1815. IL_018A: ldarg.0
  1816. IL_018B: ldfld UnityEngine.Quaternion Verse.<>c__DisplayClass54_0::quat
  1817. IL_0190: ldloc.2
  1818. IL_0191: ldarg.0
  1819. IL_0192: ldfld Verse.PawnRenderFlags Verse.<>c__DisplayClass54_0::flags
  1820. IL_0197: ldc.i4.8
  1821. IL_0198: call static System.Boolean Verse.PawnRenderFlagsExtension::FlagSet(Verse.PawnRenderFlags flags, Verse.PawnRenderFlags flag)
  1822. IL_019D: call static System.Void Verse.GenDraw::DrawMeshNowOrLater(UnityEngine.Mesh mesh, UnityEngine.Vector3 loc, UnityEngine.Quaternion quat, UnityEngine.Material mat, System.Boolean drawNow)
  1823. IL_01A2: // end original
  1824. IL_01A2: Label10
  1825. IL_01A2: ret
  1826. DONE
  1827.  
  1828. ### Harmony id=rimworld.aelanna.eccentrictech.projectiles, version=2.2.2.0, location=D:\SteamLibrary\steamapps\common\data-000002DAA1B43DD0, env/clr=4.0.30319.42000, platform=Win32NT, ptrsize:runtime/env=8/Bits64, Windows
  1829. ### Started from static System.Void EccentricProjectiles.HarmonyPatches::.cctor(), location D:\SteamLibrary\steamapps\common\data-000002DAA2734DD0
  1830. ### At 2023-12-03 12.43.46
  1831. ### Patch: System.Collections.Generic.IEnumerable`1<Verse.Command> Verse.CompEquippable::GetVerbsCommands()
  1832. ### Replacement: static System.Collections.Generic.IEnumerable`1<Verse.Command> Verse.CompEquippable::Verse.CompEquippable.GetVerbsCommands_Patch1(Verse.CompEquippable this)
  1833. IL_0000: Local var 0: System.Collections.Generic.IEnumerable`1<Verse.Command>
  1834. IL_0000: ldnull
  1835. IL_0001: stloc 0 (System.Collections.Generic.IEnumerable`1[Verse.Command])
  1836. IL_0005: // start original
  1837. IL_0005: ldarg.0
  1838. IL_0006: ldfld Verse.VerbTracker Verse.CompEquippable::verbTracker
  1839. IL_000B: ldc.i4.0
  1840. IL_000C: callvirt System.Collections.Generic.IEnumerable`1<Verse.Command> Verse.VerbTracker::GetVerbsCommands(UnityEngine.KeyCode hotKey)
  1841. IL_0011: // end original
  1842. IL_0011: stloc 0 (System.Collections.Generic.IEnumerable`1[Verse.Command])
  1843. IL_0015: ldloc 0 (System.Collections.Generic.IEnumerable`1[Verse.Command])
  1844. IL_0019: ldarg.0
  1845. IL_001A: call static System.Collections.Generic.IEnumerable`1<Verse.Command> EccentricProjectiles.HarmonyPatches::VerbTrackerGetVerbsCommands_Postfix(System.Collections.Generic.IEnumerable`1<Verse.Command> __result, Verse.CompEquippable __instance)
  1846. IL_001F: ret
  1847. DONE
  1848.  
  1849. ### Patch: virtual System.Collections.Generic.IEnumerable`1<Verse.Gizmo> RimWorld.Building_TurretGun::GetGizmos()
  1850. ### Replacement: static System.Collections.Generic.IEnumerable`1<Verse.Gizmo> RimWorld.Building_TurretGun::RimWorld.Building_TurretGun.GetGizmos_Patch1(RimWorld.Building_TurretGun this)
  1851. IL_0000: Local var 0: System.Collections.Generic.IEnumerable`1<Verse.Gizmo>
  1852. IL_0000: ldnull
  1853. IL_0001: stloc 0 (System.Collections.Generic.IEnumerable`1[Verse.Gizmo])
  1854. IL_0005: // start original
  1855. IL_0005: ldc.i4.s -2
  1856. IL_0007: newobj System.Void RimWorld.<GetGizmos>d__69::.ctor(System.Int32 <>1__state)
  1857. IL_000C: dup
  1858. IL_000D: ldarg.0
  1859. IL_000E: stfld RimWorld.Building_TurretGun RimWorld.<GetGizmos>d__69::<>4__this
  1860. IL_0013: // end original
  1861. IL_0013: stloc 0 (System.Collections.Generic.IEnumerable`1[Verse.Gizmo])
  1862. IL_0017: ldloc 0 (System.Collections.Generic.IEnumerable`1[Verse.Gizmo])
  1863. IL_001B: ldarg.0
  1864. IL_001C: call static System.Collections.Generic.IEnumerable`1<Verse.Gizmo> EccentricProjectiles.HarmonyPatches::BuildingTurretGunGetGizmos_Postfix(System.Collections.Generic.IEnumerable`1<Verse.Gizmo> __result, RimWorld.Building_TurretGun __instance)
  1865. IL_0021: ret
  1866. DONE
  1867.  
  1868. ### Patch: static System.Void Verse.PawnGenerator::PostProcessGeneratedGear(Verse.Thing gear, Verse.Pawn pawn)
  1869. ### Replacement: static System.Void Verse.PawnGenerator::Verse.PawnGenerator.PostProcessGeneratedGear_Patch1(Verse.Thing gear, Verse.Pawn pawn)
  1870. IL_0000: Local var 0: RimWorld.CompQuality
  1871. IL_0000: Local var 1: RimWorld.QualityCategory
  1872. IL_0000: Local var 2: RimWorld.RoyalTitleDef
  1873. IL_0000: Local var 3: System.Single
  1874. IL_0000: Local var 4: System.Int32
  1875. IL_0000: // start original
  1876. IL_0000: ldarg.0
  1877. IL_0001: call static RimWorld.CompQuality Verse.ThingCompUtility::TryGetComp(Verse.Thing thing)
  1878. IL_0006: stloc.0
  1879. IL_0007: ldloc.0
  1880. IL_0008: brfalse => Label0
  1881. IL_000D: ldarg.1
  1882. IL_000E: ldfld Verse.PawnKindDef Verse.Pawn::kindDef
  1883. IL_0013: ldarg.0
  1884. IL_0014: ldfld Verse.ThingDef Verse.Thing::def
  1885. IL_0019: call static RimWorld.QualityCategory RimWorld.QualityUtility::GenerateQualityGeneratingPawn(Verse.PawnKindDef pawnKind, Verse.ThingDef forThing)
  1886. IL_001E: stloc.1
  1887. IL_001F: ldarg.1
  1888. IL_0020: ldfld RimWorld.Pawn_RoyaltyTracker Verse.Pawn::royalty
  1889. IL_0025: brfalse => Label1
  1890. IL_002A: ldarg.1
  1891. IL_002B: callvirt virtual RimWorld.Faction Verse.Thing::get_Faction()
  1892. IL_0030: brfalse => Label2
  1893. IL_0035: ldarg.1
  1894. IL_0036: ldfld RimWorld.Pawn_RoyaltyTracker Verse.Pawn::royalty
  1895. IL_003B: ldarg.1
  1896. IL_003C: callvirt virtual RimWorld.Faction Verse.Thing::get_Faction()
  1897. IL_0041: callvirt RimWorld.RoyalTitleDef RimWorld.Pawn_RoyaltyTracker::GetCurrentTitle(RimWorld.Faction faction)
  1898. IL_0046: stloc.2
  1899. IL_0047: ldloc.2
  1900. IL_0048: brfalse => Label3
  1901. IL_004D: ldloc.1
  1902. IL_004E: ldloc.2
  1903. IL_004F: ldfld RimWorld.QualityCategory RimWorld.RoyalTitleDef::requiredMinimumApparelQuality
  1904. IL_0054: ldc.i4.6
  1905. IL_0055: call static System.Int32 UnityEngine.Mathf::Clamp(System.Int32 value, System.Int32 min, System.Int32 max)
  1906. IL_005A: conv.u1
  1907. IL_005B: stloc.1
  1908. IL_005C: Label1
  1909. IL_005C: Label2
  1910. IL_005C: Label3
  1911. IL_005C: ldloc.0
  1912. IL_005D: ldloc.1
  1913. IL_005E: ldc.i4.0
  1914. IL_005F: callvirt System.Void RimWorld.CompQuality::SetQuality(RimWorld.QualityCategory q, RimWorld.ArtGenerationContext source)
  1915. IL_0064: Label0
  1916. IL_0064: ldarg.0
  1917. IL_0065: ldfld Verse.ThingDef Verse.Thing::def
  1918. IL_006A: ldfld System.Boolean Verse.ThingDef::useHitPoints
  1919. IL_006F: brfalse => Label4
  1920. IL_0074: ldarg.1
  1921. IL_0075: ldfld Verse.PawnKindDef Verse.Pawn::kindDef
  1922. IL_007A: ldflda Verse.FloatRange Verse.PawnKindDef::gearHealthRange
  1923. IL_007F: call System.Single Verse.FloatRange::get_RandomInRange()
  1924. IL_0084: stloc.3
  1925. IL_0085: ldloc.3
  1926. IL_0086: ldc.r4 1
  1927. IL_008B: bge.un => Label5
  1928. IL_0090: ldloc.3
  1929. IL_0091: ldarg.0
  1930. IL_0092: callvirt System.Int32 Verse.Thing::get_MaxHitPoints()
  1931. IL_0097: conv.r4
  1932. IL_0098: mul
  1933. IL_0099: call static System.Int32 UnityEngine.Mathf::RoundToInt(System.Single f)
  1934. IL_009E: stloc.s 4 (System.Int32)
  1935. IL_00A0: ldc.i4.1
  1936. IL_00A1: ldloc.s 4 (System.Int32)
  1937. IL_00A3: call static System.Int32 UnityEngine.Mathf::Max(System.Int32 a, System.Int32 b)
  1938. IL_00A8: stloc.s 4 (System.Int32)
  1939. IL_00AA: ldarg.0
  1940. IL_00AB: ldloc.s 4 (System.Int32)
  1941. IL_00AD: callvirt virtual System.Void Verse.Thing::set_HitPoints(System.Int32 value)
  1942. IL_00B2: // end original
  1943. IL_00B2: Label4
  1944. IL_00B2: Label5
  1945. IL_00B2: ldarg 0
  1946. IL_00B6: call static System.Void EccentricProjectiles.HarmonyPatches::PawnGeneratorPostProcessGeneratedGear_Postfix(Verse.Thing gear)
  1947. IL_00BB: ret
  1948. DONE
  1949.  
  1950. ### Patch: System.Void Verse.PawnRenderer::DrawEquipmentAiming(Verse.Thing eq, UnityEngine.Vector3 drawLoc, System.Single aimAngle)
  1951. ### Replacement: static System.Void Verse.PawnRenderer::Verse.PawnRenderer.DrawEquipmentAiming_Patch1(Verse.PawnRenderer this, Verse.Thing eq, UnityEngine.Vector3 drawLoc, System.Single aimAngle)
  1952. IL_0000: Local var 0: UnityEngine.Mesh
  1953. IL_0000: Local var 1: System.Single
  1954. IL_0000: Local var 2: Verse.CompEquippable
  1955. IL_0000: Local var 3: UnityEngine.Material
  1956. IL_0000: Local var 4: Verse.Graphic_StackCount
  1957. IL_0000: Local var 5: UnityEngine.Vector3
  1958. IL_0000: Local var 6: UnityEngine.Matrix4x4
  1959. IL_0000: Local var 7: UnityEngine.Vector3
  1960. IL_0000: Local var 8: System.Single
  1961. IL_0000: Local var 9: System.Boolean
  1962. IL_0000: ldc.i4 0
  1963. IL_0005: stloc 9 (System.Boolean)
  1964. IL_0009: ldc.i4.1
  1965. IL_000A: stloc 9 (System.Boolean)
  1966. IL_000E: ldloc 9 (System.Boolean)
  1967. IL_0012: brfalse => Label1
  1968. IL_0017: ldarg 1
  1969. IL_001B: ldarg 2
  1970. IL_001F: ldarg 3
  1971. IL_0023: ldarg.0
  1972. IL_0024: ldfld Verse.Pawn Verse.PawnRenderer::pawn
  1973. IL_0029: call static System.Boolean EccentricProjectiles.HarmonyPatches::PawnRendererDrawEquipmentAiming_Prefix(Verse.Thing eq, UnityEngine.Vector3 drawLoc, System.Single aimAngle, Verse.Pawn ___pawn)
  1974. IL_002E: stloc 9 (System.Boolean)
  1975. IL_0032: Label1
  1976. IL_0032: nop
  1977. IL_0033: ldloc 9 (System.Boolean)
  1978. IL_0037: brfalse => Label0
  1979. IL_003C: // start original
  1980. IL_003C: ldnull
  1981. IL_003D: stloc.0
  1982. IL_003E: ldarg.3
  1983. IL_003F: ldc.r4 90
  1984. IL_0044: sub
  1985. IL_0045: stloc.1
  1986. IL_0046: ldarg.3
  1987. IL_0047: ldc.r4 20
  1988. IL_004C: ble.un => Label2
  1989. IL_0051: ldarg.3
  1990. IL_0052: ldc.r4 160
  1991. IL_0057: bge.un => Label3
  1992. IL_005C: ldsfld UnityEngine.Mesh Verse.MeshPool::plane10
  1993. IL_0061: stloc.0
  1994. IL_0062: ldloc.1
  1995. IL_0063: ldarg.1
  1996. IL_0064: ldfld Verse.ThingDef Verse.Thing::def
  1997. IL_0069: ldfld System.Single Verse.ThingDef::equippedAngleOffset
  1998. IL_006E: add
  1999. IL_006F: stloc.1
  2000. IL_0070: br => Label4
  2001. IL_0075: Label2
  2002. IL_0075: Label3
  2003. IL_0075: ldarg.3
  2004. IL_0076: ldc.r4 200
  2005. IL_007B: ble.un => Label5
  2006. IL_0080: ldarg.3
  2007. IL_0081: ldc.r4 340
  2008. IL_0086: bge.un => Label6
  2009. IL_008B: ldsfld UnityEngine.Mesh Verse.MeshPool::plane10Flip
  2010. IL_0090: stloc.0
  2011. IL_0091: ldloc.1
  2012. IL_0092: ldc.r4 180
  2013. IL_0097: sub
  2014. IL_0098: stloc.1
  2015. IL_0099: ldloc.1
  2016. IL_009A: ldarg.1
  2017. IL_009B: ldfld Verse.ThingDef Verse.Thing::def
  2018. IL_00A0: ldfld System.Single Verse.ThingDef::equippedAngleOffset
  2019. IL_00A5: sub
  2020. IL_00A6: stloc.1
  2021. IL_00A7: br => Label7
  2022. IL_00AC: Label5
  2023. IL_00AC: Label6
  2024. IL_00AC: ldsfld UnityEngine.Mesh Verse.MeshPool::plane10
  2025. IL_00B1: stloc.0
  2026. IL_00B2: ldloc.1
  2027. IL_00B3: ldarg.1
  2028. IL_00B4: ldfld Verse.ThingDef Verse.Thing::def
  2029. IL_00B9: ldfld System.Single Verse.ThingDef::equippedAngleOffset
  2030. IL_00BE: add
  2031. IL_00BF: stloc.1
  2032. IL_00C0: Label4
  2033. IL_00C0: Label7
  2034. IL_00C0: ldloc.1
  2035. IL_00C1: ldc.r4 360
  2036. IL_00C6: rem
  2037. IL_00C7: stloc.1
  2038. IL_00C8: ldarg.1
  2039. IL_00C9: call static Verse.CompEquippable Verse.ThingCompUtility::TryGetComp(Verse.Thing thing)
  2040. IL_00CE: stloc.2
  2041. IL_00CF: ldloc.2
  2042. IL_00D0: brfalse => Label8
  2043. IL_00D5: ldarg.1
  2044. IL_00D6: ldfld Verse.ThingDef Verse.Thing::def
  2045. IL_00DB: ldloc.2
  2046. IL_00DC: callvirt System.Collections.Generic.List`1<Verse.Verb> Verse.CompEquippable::get_AllVerbs()
  2047. IL_00E1: call static Verse.Verb_LaunchProjectile RimWorld.EquipmentUtility::GetRecoilVerb(System.Collections.Generic.List`1<Verse.Verb> allWeaponVerbs)
  2048. IL_00E6: ldloca.s 7 (UnityEngine.Vector3)
  2049. IL_00E8: ldloca.s 8 (System.Single)
  2050. IL_00EA: ldarg.3
  2051. IL_00EB: call static System.Void RimWorld.EquipmentUtility::Recoil(Verse.ThingDef weaponDef, Verse.Verb_LaunchProjectile shootVerb, UnityEngine.Vector3& drawOffset, System.Single& angleOffset, System.Single aimAngle)
  2052. IL_00F0: ldarg.2
  2053. IL_00F1: ldloc.s 7 (UnityEngine.Vector3)
  2054. IL_00F3: call static UnityEngine.Vector3 UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
  2055. IL_00F8: starg.s 2
  2056. IL_00FA: ldloc.1
  2057. IL_00FB: ldloc.s 8 (System.Single)
  2058. IL_00FD: add
  2059. IL_00FE: stloc.1
  2060. IL_00FF: Label8
  2061. IL_00FF: ldnull
  2062. IL_0100: stloc.3
  2063. IL_0101: ldarg.1
  2064. IL_0102: callvirt virtual Verse.Graphic Verse.Thing::get_Graphic()
  2065. IL_0107: isinst Verse.Graphic_StackCount
  2066. IL_010C: stloc.s 4 (Verse.Graphic_StackCount)
  2067. IL_010E: ldloc.s 4 (Verse.Graphic_StackCount)
  2068. IL_0110: brfalse => Label9
  2069. IL_0115: ldloc.s 4 (Verse.Graphic_StackCount)
  2070. IL_0117: ldc.i4.1
  2071. IL_0118: ldarg.1
  2072. IL_0119: ldfld Verse.ThingDef Verse.Thing::def
  2073. IL_011E: callvirt Verse.Graphic Verse.Graphic_StackCount::SubGraphicForStackCount(System.Int32 stackCount, Verse.ThingDef def)
  2074. IL_0123: ldarg.1
  2075. IL_0124: callvirt virtual UnityEngine.Material Verse.Graphic::MatSingleFor(Verse.Thing thing)
  2076. IL_0129: stloc.3
  2077. IL_012A: br => Label10
  2078. IL_012F: Label9
  2079. IL_012F: ldarg.1
  2080. IL_0130: callvirt virtual Verse.Graphic Verse.Thing::get_Graphic()
  2081. IL_0135: ldarg.1
  2082. IL_0136: callvirt virtual UnityEngine.Material Verse.Graphic::MatSingleFor(Verse.Thing thing)
  2083. IL_013B: stloc.3
  2084. IL_013C: Label10
  2085. IL_013C: ldloca.s 5 (UnityEngine.Vector3)
  2086. IL_013E: ldarg.1
  2087. IL_013F: callvirt virtual Verse.Graphic Verse.Thing::get_Graphic()
  2088. IL_0144: ldflda UnityEngine.Vector2 Verse.Graphic::drawSize
  2089. IL_0149: ldfld System.Single UnityEngine.Vector2::x
  2090. IL_014E: ldc.r4 0
  2091. IL_0153: ldarg.1
  2092. IL_0154: callvirt virtual Verse.Graphic Verse.Thing::get_Graphic()
  2093. IL_0159: ldflda UnityEngine.Vector2 Verse.Graphic::drawSize
  2094. IL_015E: ldfld System.Single UnityEngine.Vector2::y
  2095. IL_0163: call System.Void UnityEngine.Vector3::.ctor(System.Single x, System.Single y, System.Single z)
  2096. IL_0168: ldarg.2
  2097. IL_0169: ldloc.1
  2098. IL_016A: call static UnityEngine.Vector3 UnityEngine.Vector3::get_up()
  2099. IL_016F: call static UnityEngine.Quaternion UnityEngine.Quaternion::AngleAxis(System.Single angle, UnityEngine.Vector3 axis)
  2100. IL_0174: ldloc.s 5 (UnityEngine.Vector3)
  2101. IL_0176: call static UnityEngine.Matrix4x4 UnityEngine.Matrix4x4::TRS(UnityEngine.Vector3 pos, UnityEngine.Quaternion q, UnityEngine.Vector3 s)
  2102. IL_017B: stloc.s 6 (UnityEngine.Matrix4x4)
  2103. IL_017D: ldloc.0
  2104. IL_017E: ldloc.s 6 (UnityEngine.Matrix4x4)
  2105. IL_0180: ldloc.3
  2106. IL_0181: ldc.i4.0
  2107. IL_0182: call static System.Void UnityEngine.Graphics::DrawMesh(UnityEngine.Mesh mesh, UnityEngine.Matrix4x4 matrix, UnityEngine.Material material, System.Int32 layer)
  2108. IL_0187: // end original
  2109. IL_0187: Label0
  2110. IL_0187: ret
  2111. DONE
  2112.  
  2113. ### Patch: System.Boolean Verse.Projectile::CheckForFreeInterceptBetween(UnityEngine.Vector3 lastExactPos, UnityEngine.Vector3 newExactPos)
  2114. ### Replacement: static System.Boolean Verse.Projectile::Verse.Projectile.CheckForFreeInterceptBetween_Patch0(Verse.Projectile this, UnityEngine.Vector3 lastExactPos, UnityEngine.Vector3 newExactPos)
  2115. IL_0000: Local var 0: System.Collections.Generic.List`1<Verse.Thing>
  2116. IL_0000: Local var 1: Verse.IntVec3
  2117. IL_0000: Local var 2: Verse.IntVec3
  2118. IL_0000: Local var 3: UnityEngine.Vector3
  2119. IL_0000: Local var 4: UnityEngine.Vector3
  2120. IL_0000: Local var 5: UnityEngine.Vector3
  2121. IL_0000: Local var 6: System.Int32
  2122. IL_0000: Local var 7: System.Int32
  2123. IL_0000: Local var 8: System.Int32
  2124. IL_0000: Local var 9: Verse.IntVec3
  2125. IL_0000: // start original
  2126. IL_0000: ldarg.1
  2127. IL_0001: ldarg.2
  2128. IL_0002: call static System.Boolean UnityEngine.Vector3::op_Equality(UnityEngine.Vector3 lhs, UnityEngine.Vector3 rhs)
  2129. IL_0007: brfalse => Label0
  2130. IL_000C: ldc.i4.0
  2131. IL_000D: br => Label14
  2132. IL_0012: Label0
  2133. IL_0012: ldarg.0
  2134. IL_0013: call virtual Verse.Map Verse.Thing::get_Map()
  2135. IL_0018: ldfld Verse.ListerThings Verse.Map::listerThings
  2136. IL_001D: ldc.i4.s 47
  2137. IL_001F: callvirt System.Collections.Generic.List`1<Verse.Thing> Verse.ListerThings::ThingsInGroup(Verse.ThingRequestGroup group)
  2138. IL_0024: stloc.0
  2139. IL_0025: ldc.i4.0
  2140. IL_0026: stloc.s 8 (System.Int32)
  2141. IL_0028: br => Label1
  2142. IL_002D: Label3
  2143. IL_002D: ldloc.0
  2144. IL_002E: ldloc.s 8 (System.Int32)
  2145. IL_0030: callvirt virtual Verse.Thing System.Collections.Generic.List`1<Verse.Thing>::get_Item(System.Int32 index)
  2146. IL_0035: call static RimWorld.CompProjectileInterceptor Verse.ThingCompUtility::TryGetComp(Verse.Thing thing)
  2147. IL_003A: ldarg.0
  2148. IL_003B: ldarg.1
  2149. IL_003C: ldarg.2
  2150. IL_003D: callvirt System.Boolean RimWorld.CompProjectileInterceptor::CheckIntercept(Verse.Projectile projectile, UnityEngine.Vector3 lastExactPos, UnityEngine.Vector3 newExactPos)
  2151. IL_0042: brfalse => Label2
  2152. IL_0047: ldarg.0
  2153. IL_0048: ldnull
  2154. IL_0049: ldc.i4.1
  2155. IL_004A: callvirt virtual System.Void Verse.Projectile::Impact(Verse.Thing hitThing, System.Boolean blockedByShield)
  2156. IL_004F: ldc.i4.1
  2157. IL_0050: br => Label15
  2158. IL_0055: Label2
  2159. IL_0055: ldloc.s 8 (System.Int32)
  2160. IL_0057: ldc.i4.1
  2161. IL_0058: add
  2162. IL_0059: stloc.s 8 (System.Int32)
  2163. IL_005B: Label1
  2164. IL_005B: ldloc.s 8 (System.Int32)
  2165. IL_005D: ldloc.0
  2166. IL_005E: callvirt virtual System.Int32 System.Collections.Generic.List`1<Verse.Thing>::get_Count()
  2167. IL_0063: blt => Label3
  2168. IL_0068: ldarg.0
  2169. IL_0069: ldarg.1
  2170. IL_006A: ldarg.2
  2171. IL_006B: call static System.Boolean EccentricProjectiles.HarmonyPatches::CheckIntercept(Verse.Projectile projectile, UnityEngine.Vector3 origin, UnityEngine.Vector3 destination)
  2172. IL_0070: brfalse => Label13
  2173. IL_0075: ldarg.0
  2174. IL_0076: ldnull
  2175. IL_0077: ldc.i4.1
  2176. IL_0078: callvirt virtual System.Void Verse.Projectile::Impact(Verse.Thing hitThing, System.Boolean blockedByShield)
  2177. IL_007D: ldc.i4.1
  2178. IL_007E: br => Label16
  2179. IL_0083: Label13
  2180. IL_0083: nop
  2181. IL_0084: ldarg.1
  2182. IL_0085: call static Verse.IntVec3 Verse.IntVec3Utility::ToIntVec3(UnityEngine.Vector3 vect)
  2183. IL_008A: stloc.1
  2184. IL_008B: ldarg.2
  2185. IL_008C: call static Verse.IntVec3 Verse.IntVec3Utility::ToIntVec3(UnityEngine.Vector3 vect)
  2186. IL_0091: stloc.2
  2187. IL_0092: ldloc.2
  2188. IL_0093: ldloc.1
  2189. IL_0094: call static System.Boolean Verse.IntVec3::op_Equality(Verse.IntVec3 a, Verse.IntVec3 b)
  2190. IL_0099: brfalse => Label4
  2191. IL_009E: ldc.i4.0
  2192. IL_009F: br => Label17
  2193. IL_00A4: Label4
  2194. IL_00A4: ldloc.1
  2195. IL_00A5: ldarg.0
  2196. IL_00A6: call virtual Verse.Map Verse.Thing::get_Map()
  2197. IL_00AB: call static System.Boolean Verse.GenGrid::InBounds(Verse.IntVec3 c, Verse.Map map)
  2198. IL_00B0: brfalse => Label5
  2199. IL_00B5: ldloc.2
  2200. IL_00B6: ldarg.0
  2201. IL_00B7: call virtual Verse.Map Verse.Thing::get_Map()
  2202. IL_00BC: call static System.Boolean Verse.GenGrid::InBounds(Verse.IntVec3 c, Verse.Map map)
  2203. IL_00C1: brtrue => Label6
  2204. IL_00C6: Label5
  2205. IL_00C6: ldc.i4.0
  2206. IL_00C7: br => Label18
  2207. IL_00CC: Label6
  2208. IL_00CC: ldloca.s 2 (Verse.IntVec3)
  2209. IL_00CE: ldloc.1
  2210. IL_00CF: call System.Boolean Verse.IntVec3::AdjacentToCardinal(Verse.IntVec3 other)
  2211. IL_00D4: brfalse => Label7
  2212. IL_00D9: ldarg.0
  2213. IL_00DA: ldloc.2
  2214. IL_00DB: call System.Boolean Verse.Projectile::CheckForFreeIntercept(Verse.IntVec3 c)
  2215. IL_00E0: br => Label19
  2216. IL_00E5: Label7
  2217. IL_00E5: ldarg.0
  2218. IL_00E6: ldfld UnityEngine.Vector3 Verse.Projectile::origin
  2219. IL_00EB: ldloc.2
  2220. IL_00EC: call static System.Single Verse.VerbUtility::InterceptChanceFactorFromDistance(UnityEngine.Vector3 origin, Verse.IntVec3 c)
  2221. IL_00F1: ldc.r4 0
  2222. IL_00F6: bgt.un => Label8
  2223. IL_00FB: ldc.i4.0
  2224. IL_00FC: br => Label20
  2225. IL_0101: Label8
  2226. IL_0101: ldarg.1
  2227. IL_0102: stloc.3
  2228. IL_0103: ldarg.2
  2229. IL_0104: ldarg.1
  2230. IL_0105: call static UnityEngine.Vector3 UnityEngine.Vector3::op_Subtraction(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
  2231. IL_010A: stloc.s 4 (UnityEngine.Vector3)
  2232. IL_010C: ldloca.s 4 (UnityEngine.Vector3)
  2233. IL_010E: call UnityEngine.Vector3 UnityEngine.Vector3::get_normalized()
  2234. IL_0113: ldc.r4 0.2
  2235. IL_0118: call static UnityEngine.Vector3 UnityEngine.Vector3::op_Multiply(UnityEngine.Vector3 a, System.Single d)
  2236. IL_011D: stloc.s 5 (UnityEngine.Vector3)
  2237. IL_011F: ldloc.s 4 (UnityEngine.Vector3)
  2238. IL_0121: call static System.Single Verse.GenGeo::MagnitudeHorizontal(UnityEngine.Vector3 v)
  2239. IL_0126: ldc.r4 0.2
  2240. IL_012B: div
  2241. IL_012C: conv.i4
  2242. IL_012D: stloc.s 6 (System.Int32)
  2243. IL_012F: ldsfld System.Collections.Generic.List`1<Verse.IntVec3> Verse.Projectile::checkedCells
  2244. IL_0134: callvirt virtual System.Void System.Collections.Generic.List`1<Verse.IntVec3>::Clear()
  2245. IL_0139: ldc.i4.0
  2246. IL_013A: stloc.s 7 (System.Int32)
  2247. IL_013C: Label12
  2248. IL_013C: ldloc.3
  2249. IL_013D: ldloc.s 5 (UnityEngine.Vector3)
  2250. IL_013F: call static UnityEngine.Vector3 UnityEngine.Vector3::op_Addition(UnityEngine.Vector3 a, UnityEngine.Vector3 b)
  2251. IL_0144: stloc.3
  2252. IL_0145: ldloc.3
  2253. IL_0146: call static Verse.IntVec3 Verse.IntVec3Utility::ToIntVec3(UnityEngine.Vector3 vect)
  2254. IL_014B: stloc.s 9 (Verse.IntVec3)
  2255. IL_014D: ldsfld System.Collections.Generic.List`1<Verse.IntVec3> Verse.Projectile::checkedCells
  2256. IL_0152: ldloc.s 9 (Verse.IntVec3)
  2257. IL_0154: callvirt virtual System.Boolean System.Collections.Generic.List`1<Verse.IntVec3>::Contains(Verse.IntVec3 item)
  2258. IL_0159: brtrue => Label9
  2259. IL_015E: ldarg.0
  2260. IL_015F: ldloc.s 9 (Verse.IntVec3)
  2261. IL_0161: call System.Boolean Verse.Projectile::CheckForFreeIntercept(Verse.IntVec3 c)
  2262. IL_0166: brfalse => Label10
  2263. IL_016B: ldc.i4.1
  2264. IL_016C: br => Label21
  2265. IL_0171: Label10
  2266. IL_0171: ldsfld System.Collections.Generic.List`1<Verse.IntVec3> Verse.Projectile::checkedCells
  2267. IL_0176: ldloc.s 9 (Verse.IntVec3)
  2268. IL_0178: callvirt virtual System.Void System.Collections.Generic.List`1<Verse.IntVec3>::Add(Verse.IntVec3 item)
  2269. IL_017D: Label9
  2270. IL_017D: ldloc.s 7 (System.Int32)
  2271. IL_017F: ldc.i4.1
  2272. IL_0180: add
  2273. IL_0181: stloc.s 7 (System.Int32)
  2274. IL_0183: ldloc.s 7 (System.Int32)
  2275. IL_0185: ldloc.s 6 (System.Int32)
  2276. IL_0187: ble => Label11
  2277. IL_018C: ldc.i4.0
  2278. IL_018D: br => Label22
  2279. IL_0192: Label11
  2280. IL_0192: ldloc.s 9 (Verse.IntVec3)
  2281. IL_0194: ldloc.2
  2282. IL_0195: call static System.Boolean Verse.IntVec3::op_Equality(Verse.IntVec3 a, Verse.IntVec3 b)
  2283. IL_019A: brfalse => Label12
  2284. IL_019F: ldc.i4.0
  2285. IL_01A0: // end original
  2286. IL_01A0: Label14
  2287. IL_01A0: Label15
  2288. IL_01A0: Label16
  2289. IL_01A0: Label17
  2290. IL_01A0: Label18
  2291. IL_01A0: Label19
  2292. IL_01A0: Label20
  2293. IL_01A0: Label21
  2294. IL_01A0: Label22
  2295. IL_01A0: ret
  2296. DONE
  2297.  
  2298. ### Patch: System.Void RimWorld.Bombardment::TryDoExplosion(RimWorld.BombardmentProjectile proj)
  2299. ### Replacement: static System.Void RimWorld.Bombardment::RimWorld.Bombardment.TryDoExplosion_Patch0(RimWorld.Bombardment this, RimWorld.BombardmentProjectile proj)
  2300. IL_0000: Local var 0: System.Collections.Generic.List`1<Verse.Thing>
  2301. IL_0000: Local var 1: System.Int32
  2302. IL_0000: Local var 2: Verse.ThingDef
  2303. IL_0000: Local var 3: System.Nullable`1<Verse.GasType>
  2304. IL_0000: Local var 4: System.Nullable`1<System.Single>
  2305. IL_0000: Local var 5: System.Nullable`1<Verse.FloatRange>
  2306. IL_0000: // start original
  2307. IL_0000: ldarg.0
  2308. IL_0001: call virtual Verse.Map Verse.Thing::get_Map()
  2309. IL_0006: ldfld Verse.ListerThings Verse.Map::listerThings
  2310. IL_000B: ldc.i4.s 47
  2311. IL_000D: callvirt System.Collections.Generic.List`1<Verse.Thing> Verse.ListerThings::ThingsInGroup(Verse.ThingRequestGroup group)
  2312. IL_0012: stloc.0
  2313. IL_0013: ldc.i4.0
  2314. IL_0014: stloc.1
  2315. IL_0015: br => Label0
  2316. IL_001A: Label2
  2317. IL_001A: ldloc.0
  2318. IL_001B: ldloc.1
  2319. IL_001C: callvirt virtual Verse.Thing System.Collections.Generic.List`1<Verse.Thing>::get_Item(System.Int32 index)
  2320. IL_0021: call static RimWorld.CompProjectileInterceptor Verse.ThingCompUtility::TryGetComp(Verse.Thing thing)
  2321. IL_0026: ldarg.0
  2322. IL_0027: ldarg.1
  2323. IL_0028: callvirt System.Boolean RimWorld.CompProjectileInterceptor::CheckBombardmentIntercept(RimWorld.Bombardment bombardment, RimWorld.BombardmentProjectile projectile)
  2324. IL_002D: brfalse => Label1
  2325. IL_0032: br => Label4
  2326. IL_0037: Label1
  2327. IL_0037: ldloc.1
  2328. IL_0038: ldc.i4.1
  2329. IL_0039: add
  2330. IL_003A: stloc.1
  2331. IL_003B: Label0
  2332. IL_003B: ldloc.1
  2333. IL_003C: ldloc.0
  2334. IL_003D: callvirt virtual System.Int32 System.Collections.Generic.List`1<Verse.Thing>::get_Count()
  2335. IL_0042: blt => Label2
  2336. IL_0047: ldarg.0
  2337. IL_0048: ldarg.1
  2338. IL_0049: call static System.Boolean EccentricProjectiles.HarmonyPatches::CheckInterceptBombardment(RimWorld.Bombardment bombardment, RimWorld.BombardmentProjectile projectile)
  2339. IL_004E: brfalse => Label3
  2340. IL_0053: br => Label5
  2341. IL_0058: Label3
  2342. IL_0058: nop
  2343. IL_0059: ldarg.1
  2344. IL_005A: ldfld Verse.IntVec3 RimWorld.BombardmentProjectile::targetCell
  2345. IL_005F: ldarg.0
  2346. IL_0060: call virtual Verse.Map Verse.Thing::get_Map()
  2347. IL_0065: ldarg.0
  2348. IL_0066: ldflda Verse.FloatRange RimWorld.Bombardment::explosionRadiusRange
  2349. IL_006B: call System.Single Verse.FloatRange::get_RandomInRange()
  2350. IL_0070: ldsfld Verse.DamageDef RimWorld.DamageDefOf::Bomb
  2351. IL_0075: ldarg.0
  2352. IL_0076: ldfld Verse.Thing RimWorld.OrbitalStrike::instigator
  2353. IL_007B: ldc.i4.m1
  2354. IL_007C: ldc.r4 -1
  2355. IL_0081: ldnull
  2356. IL_0082: ldarg.0
  2357. IL_0083: ldfld Verse.ThingDef Verse.Thing::def
  2358. IL_0088: stloc.2
  2359. IL_0089: ldarg.0
  2360. IL_008A: ldfld Verse.ThingDef RimWorld.OrbitalStrike::weaponDef
  2361. IL_008F: ldloc.2
  2362. IL_0090: ldnull
  2363. IL_0091: ldnull
  2364. IL_0092: ldc.r4 0
  2365. IL_0097: ldc.i4.1
  2366. IL_0098: ldloca.s 3 (System.Nullable`1[Verse.GasType])
  2367. IL_009A: initobj System.Nullable`1[Verse.GasType]
  2368. IL_00A0: ldloc.3
  2369. IL_00A1: ldc.i4.0
  2370. IL_00A2: ldnull
  2371. IL_00A3: ldc.r4 0
  2372. IL_00A8: ldc.i4.1
  2373. IL_00A9: ldc.r4 0
  2374. IL_00AE: ldc.i4.0
  2375. IL_00AF: ldloca.s 4 (System.Nullable`1[System.Single])
  2376. IL_00B1: initobj System.Nullable`1[System.Single]
  2377. IL_00B7: ldloc.s 4 (System.Nullable`1[System.Single])
  2378. IL_00B9: ldnull
  2379. IL_00BA: ldloca.s 5 (System.Nullable`1[Verse.FloatRange])
  2380. IL_00BC: initobj System.Nullable`1[Verse.FloatRange]
  2381. IL_00C2: ldloc.s 5 (System.Nullable`1[Verse.FloatRange])
  2382. IL_00C4: ldc.i4.1
  2383. IL_00C5: ldc.r4 1
  2384. IL_00CA: ldc.r4 0
  2385. IL_00CF: ldc.i4.1
  2386. IL_00D0: ldnull
  2387. IL_00D1: ldc.r4 1
  2388. IL_00D6: call static System.Void Verse.GenExplosion::DoExplosion(Verse.IntVec3 center, Verse.Map map, System.Single radius, Verse.DamageDef damType, Verse.Thing instigator, System.Int32 damAmount, System.Single armorPenetration, Verse.SoundDef explosionSound, Verse.ThingDef weapon, Verse.ThingDef projectile, Verse.Thing intendedTarget, Verse.ThingDef postExplosionSpawnThingDef, System.Single postExplosionSpawnChance, System.Int32 postExplosionSpawnThingCount, System.Nullable`1<Verse.GasType> postExplosionGasType, System.Boolean applyDamageToExplosionCellsNeighbors, Verse.ThingDef preExplosionSpawnThingDef, System.Single preExplosionSpawnChance, System.Int32 preExplosionSpawnThingCount, System.Single chanceToStartFire, System.Boolean damageFalloff, System.Nullable`1<System.Single> direction, System.Collections.Generic.List`1<Verse.Thing> ignoredThings, System.Nullable`1<Verse.FloatRange> affectedAngle, System.Boolean doVisualEffects, System.Single propagationSpeed, System.Single excludeRadius, System.Boolean doSoundEffects, Verse.ThingDef postExplosionSpawnThingDefWater, System.Single screenShakeFactor)
  2389. IL_00DB: // end original
  2390. IL_00DB: Label4
  2391. IL_00DB: Label5
  2392. IL_00DB: ret
  2393. DONE
  2394.  
  2395. ### Patch: virtual System.Void Verse.Pawn::SpawnSetup(Verse.Map map, System.Boolean respawningAfterLoad)
  2396. ### Replacement: static System.Void Verse.Pawn::Verse.Pawn.SpawnSetup_Patch1(Verse.Pawn this, Verse.Map map, System.Boolean respawningAfterLoad)
  2397. IL_0000: Local var 0: System.Exception
  2398. IL_0000: Local var 1: System.Int32
  2399. IL_0000: // start original
  2400. IL_0000: ldarg.0
  2401. IL_0001: call System.Boolean Verse.Pawn::get_Dead()
  2402. IL_0006: brfalse => Label0
  2403. IL_000B: ldstr "Tried to spawn Dead Pawn "
  2404. IL_0010: ldarg.0
  2405. IL_0011: call static System.String Verse.Gen::ToStringSafe(Verse.Pawn obj)
  2406. IL_0016: ldstr ". Replacing with corpse."
  2407. IL_001B: call static System.String System.String::Concat(System.String str0, System.String str1, System.String str2)
  2408. IL_0020: call static System.Void Verse.Log::Warning(System.String text)
  2409. IL_0025: ldarg.0
  2410. IL_0026: call Verse.RaceProperties Verse.Pawn::get_RaceProps()
  2411. IL_002B: ldfld Verse.ThingDef Verse.RaceProperties::corpseDef
  2412. IL_0030: ldnull
  2413. IL_0031: call static Verse.Thing Verse.ThingMaker::MakeThing(Verse.ThingDef def, Verse.ThingDef stuff)
  2414. IL_0036: castclass Verse.Corpse
  2415. IL_003B: dup
  2416. IL_003C: ldarg.0
  2417. IL_003D: callvirt System.Void Verse.Corpse::set_InnerPawn(Verse.Pawn value)
  2418. IL_0042: ldarg.0
  2419. IL_0043: call virtual Verse.IntVec3 Verse.Thing::get_Position()
  2420. IL_0048: ldarg.1
  2421. IL_0049: ldc.i4.0
  2422. IL_004A: call static Verse.Thing Verse.GenSpawn::Spawn(Verse.Thing newThing, Verse.IntVec3 loc, Verse.Map map, Verse.WipeMode wipeMode)
  2423. IL_004F: pop
  2424. IL_0050: br => Label24
  2425. IL_0055: Label0
  2426. IL_0055: ldarg.0
  2427. IL_0056: ldfld Verse.ThingDef Verse.Thing::def
  2428. IL_005B: brfalse => Label1
  2429. IL_0060: ldarg.0
  2430. IL_0061: ldfld Verse.PawnKindDef Verse.Pawn::kindDef
  2431. IL_0066: brtrue => Label2
  2432. IL_006B: Label1
  2433. IL_006B: ldstr "Tried to spawn pawn without def "
  2434. IL_0070: ldarg.0
  2435. IL_0071: call static System.String Verse.Gen::ToStringSafe(Verse.Pawn obj)
  2436. IL_0076: ldstr "."
  2437. IL_007B: call static System.String System.String::Concat(System.String str0, System.String str1, System.String str2)
  2438. IL_0080: call static System.Void Verse.Log::Warning(System.String text)
  2439. IL_0085: br => Label25
  2440. IL_008A: Label2
  2441. IL_008A: ldarg.0
  2442. IL_008B: ldarg.1
  2443. IL_008C: ldarg.2
  2444. IL_008D: call virtual System.Void Verse.ThingWithComps::SpawnSetup(Verse.Map map, System.Boolean respawningAfterLoad)
  2445. IL_0092: call static RimWorld.Planet.WorldPawns Verse.Find::get_WorldPawns()
  2446. IL_0097: ldarg.0
  2447. IL_0098: callvirt System.Boolean RimWorld.Planet.WorldPawns::Contains(Verse.Pawn p)
  2448. IL_009D: brfalse => Label3
  2449. IL_00A2: call static RimWorld.Planet.WorldPawns Verse.Find::get_WorldPawns()
  2450. IL_00A7: ldarg.0
  2451. IL_00A8: callvirt System.Void RimWorld.Planet.WorldPawns::RemovePawn(Verse.Pawn p)
  2452. IL_00AD: Label3
  2453. IL_00AD: ldarg.0
  2454. IL_00AE: call static System.Void RimWorld.PawnComponentsUtility::AddComponentsForSpawn(Verse.Pawn pawn)
  2455. IL_00B3: ldarg.0
  2456. IL_00B4: call static System.Boolean RimWorld.PawnUtility::InValidState(Verse.Pawn p)
  2457. IL_00B9: brtrue => Label4
  2458. IL_00BE: ldstr "Pawn "
  2459. IL_00C3: ldarg.0
  2460. IL_00C4: call static System.String Verse.Gen::ToStringSafe(Verse.Pawn obj)
  2461. IL_00C9: ldstr " spawned in invalid state. Destroying..."
  2462. IL_00CE: call static System.String System.String::Concat(System.String str0, System.String str1, System.String str2)
  2463. IL_00D3: call static System.Void Verse.Log::Error(System.String text)
  2464. .try
  2465. {
  2466. IL_00D8: ldarg.0
  2467. IL_00D9: ldc.i4.0
  2468. IL_00DA: callvirt abstract virtual System.Void Verse.Entity::DeSpawn(Verse.DestroyMode mode)
  2469. IL_00DF: leave => Label5
  2470. IL_00E4: leave => (autogenerated)
  2471. } // end try
  2472. .catch System.Exception
  2473. {
  2474. IL_00E9: stloc.0
  2475. IL_00EA: ldc.i4.4
  2476. IL_00EB: newarr System.Object
  2477. IL_00F0: dup
  2478. IL_00F1: ldc.i4.0
  2479. IL_00F2: ldstr "Tried to despawn "
  2480. IL_00F7: stelem.ref
  2481. IL_00F8: dup
  2482. IL_00F9: ldc.i4.1
  2483. IL_00FA: ldarg.0
  2484. IL_00FB: call static System.String Verse.Gen::ToStringSafe(Verse.Pawn obj)
  2485. IL_0100: stelem.ref
  2486. IL_0101: dup
  2487. IL_0102: ldc.i4.2
  2488. IL_0103: ldstr " because of the previous error but couldn\'t: "
  2489. IL_0108: stelem.ref
  2490. IL_0109: dup
  2491. IL_010A: ldc.i4.3
  2492. IL_010B: ldloc.0
  2493. IL_010C: stelem.ref
  2494. IL_010D: call static System.String System.String::Concat(System.Object[] args)
  2495. IL_0112: call static System.Void Verse.Log::Error(System.String text)
  2496. IL_0117: leave => Label6
  2497. IL_011C: leave => (autogenerated)
  2498. } // end handler
  2499. IL_0121: Label5
  2500. IL_0121: Label6
  2501. IL_0121: call static RimWorld.Planet.WorldPawns Verse.Find::get_WorldPawns()
  2502. IL_0126: ldarg.0
  2503. IL_0127: ldc.i4.2
  2504. IL_0128: callvirt System.Void RimWorld.Planet.WorldPawns::PassToWorld(Verse.Pawn pawn, RimWorld.Planet.PawnDiscardDecideMode discardMode)
  2505. IL_012D: br => Label30
  2506. IL_0132: Label4
  2507. IL_0132: ldarg.0
  2508. IL_0133: call Verse.Pawn_DrawTracker Verse.Pawn::get_Drawer()
  2509. IL_0138: callvirt System.Void Verse.Pawn_DrawTracker::Notify_Spawned()
  2510. IL_013D: ldarg.0
  2511. IL_013E: ldfld Verse.Pawn_RotationTracker Verse.Pawn::rotationTracker
  2512. IL_0143: callvirt System.Void Verse.Pawn_RotationTracker::Notify_Spawned()
  2513. IL_0148: ldarg.2
  2514. IL_0149: brtrue => Label7
  2515. IL_014E: ldarg.0
  2516. IL_014F: ldfld Verse.AI.Pawn_PathFollower Verse.Pawn::pather
  2517. IL_0154: callvirt System.Void Verse.AI.Pawn_PathFollower::ResetToCurrentPosition()
  2518. IL_0159: Label7
  2519. IL_0159: ldarg.0
  2520. IL_015A: call virtual Verse.Map Verse.Thing::get_Map()
  2521. IL_015F: ldfld Verse.MapPawns Verse.Map::mapPawns
  2522. IL_0164: ldarg.0
  2523. IL_0165: callvirt System.Void Verse.MapPawns::RegisterPawn(Verse.Pawn p)
  2524. IL_016A: ldarg.0
  2525. IL_016B: call virtual Verse.Map Verse.Thing::get_Map()
  2526. IL_0170: ldfld Verse.AutoSlaughterManager Verse.Map::autoSlaughterManager
  2527. IL_0175: callvirt System.Void Verse.AutoSlaughterManager::Notify_PawnSpawned()
  2528. IL_017A: ldarg.0
  2529. IL_017B: call Verse.RaceProperties Verse.Pawn::get_RaceProps()
  2530. IL_0180: callvirt System.Boolean Verse.RaceProperties::get_IsFlesh()
  2531. IL_0185: brfalse => Label8
  2532. IL_018A: ldarg.0
  2533. IL_018B: ldfld RimWorld.Pawn_RelationsTracker Verse.Pawn::relations
  2534. IL_0190: ldc.i4.1
  2535. IL_0191: stfld System.Boolean RimWorld.Pawn_RelationsTracker::everSeenByPlayer
  2536. IL_0196: Label8
  2537. IL_0196: ldarg.0
  2538. IL_0197: call static System.Void RimWorld.AddictionUtility::CheckDrugAddictionTeachOpportunity(Verse.Pawn pawn)
  2539. IL_019C: ldarg.0
  2540. IL_019D: ldfld RimWorld.Pawn_NeedsTracker Verse.Pawn::needs
  2541. IL_01A2: brfalse => Label9
  2542. IL_01A7: ldarg.0
  2543. IL_01A8: ldfld RimWorld.Pawn_NeedsTracker Verse.Pawn::needs
  2544. IL_01AD: ldfld RimWorld.Need_Mood RimWorld.Pawn_NeedsTracker::mood
  2545. IL_01B2: brfalse => Label10
  2546. IL_01B7: ldarg.0
  2547. IL_01B8: ldfld RimWorld.Pawn_NeedsTracker Verse.Pawn::needs
  2548. IL_01BD: ldfld RimWorld.Need_Mood RimWorld.Pawn_NeedsTracker::mood
  2549. IL_01C2: ldfld RimWorld.PawnRecentMemory RimWorld.Need_Mood::recentMemory
  2550. IL_01C7: brfalse => Label11
  2551. IL_01CC: ldarg.0
  2552. IL_01CD: ldfld RimWorld.Pawn_NeedsTracker Verse.Pawn::needs
  2553. IL_01D2: ldfld RimWorld.Need_Mood RimWorld.Pawn_NeedsTracker::mood
  2554. IL_01D7: ldfld RimWorld.PawnRecentMemory RimWorld.Need_Mood::recentMemory
  2555. IL_01DC: ldarg.2
  2556. IL_01DD: callvirt System.Void RimWorld.PawnRecentMemory::Notify_Spawned(System.Boolean respawningAfterLoad)
  2557. IL_01E2: Label9
  2558. IL_01E2: Label10
  2559. IL_01E2: Label11
  2560. IL_01E2: ldarg.0
  2561. IL_01E3: ldfld Verse.Pawn_EquipmentTracker Verse.Pawn::equipment
  2562. IL_01E8: brfalse => Label12
  2563. IL_01ED: ldarg.0
  2564. IL_01EE: ldfld Verse.Pawn_EquipmentTracker Verse.Pawn::equipment
  2565. IL_01F3: callvirt System.Void Verse.Pawn_EquipmentTracker::Notify_PawnSpawned()
  2566. IL_01F8: Label12
  2567. IL_01F8: ldarg.0
  2568. IL_01F9: ldfld RimWorld.Pawn_MechanitorTracker Verse.Pawn::mechanitor
  2569. IL_01FE: brfalse => Label13
  2570. IL_0203: ldarg.0
  2571. IL_0204: ldfld RimWorld.Pawn_MechanitorTracker Verse.Pawn::mechanitor
  2572. IL_0209: ldarg.2
  2573. IL_020A: callvirt System.Void RimWorld.Pawn_MechanitorTracker::Notify_PawnSpawned(System.Boolean respawningAfterLoad)
  2574. IL_020F: Label13
  2575. IL_020F: ldarg.0
  2576. IL_0210: call virtual RimWorld.Faction Verse.Thing::get_Faction()
  2577. IL_0215: call static RimWorld.Faction RimWorld.Faction::get_OfPlayer()
  2578. IL_021A: bne.un => Label14
  2579. IL_021F: ldarg.0
  2580. IL_0220: call RimWorld.Ideo Verse.Pawn::get_Ideo()
  2581. IL_0225: dup
  2582. IL_0226: brtrue => Label15
  2583. IL_022B: pop
  2584. IL_022C: br => Label16
  2585. IL_0231: Label15
  2586. IL_0231: call System.Int32 RimWorld.Ideo::RecacheColonistBelieverCount()
  2587. IL_0236: pop
  2588. IL_0237: Label14
  2589. IL_0237: Label16
  2590. IL_0237: ldarg.2
  2591. IL_0238: brtrue => Label17
  2592. IL_023D: call static RimWorld.GameEnder Verse.Find::get_GameEnder()
  2593. IL_0242: callvirt System.Void RimWorld.GameEnder::CheckOrUpdateGameOver()
  2594. IL_0247: ldarg.0
  2595. IL_0248: call virtual RimWorld.Faction Verse.Thing::get_Faction()
  2596. IL_024D: call static RimWorld.Faction RimWorld.Faction::get_OfPlayer()
  2597. IL_0252: bne.un => Label18
  2598. IL_0257: call static RimWorld.StoryWatcher Verse.Find::get_StoryWatcher()
  2599. IL_025C: ldfld RimWorld.StatsRecord RimWorld.StoryWatcher::statsRecord
  2600. IL_0261: callvirt System.Void RimWorld.StatsRecord::UpdateGreatestPopulation()
  2601. IL_0266: call static RimWorld.Planet.World Verse.Find::get_World()
  2602. IL_026B: callvirt virtual RimWorld.StoryState RimWorld.Planet.World::get_StoryState()
  2603. IL_0270: callvirt System.Void RimWorld.StoryState::RecordPopulationIncrease()
  2604. IL_0275: Label18
  2605. IL_0275: ldarg.0
  2606. IL_0276: call static System.Void RimWorld.PawnDiedOrDownedThoughtsUtility::RemoveDiedThoughts(Verse.Pawn pawn)
  2607. IL_027B: ldarg.0
  2608. IL_027C: call static System.Boolean RimWorld.QuestUtility::IsQuestLodger(Verse.Pawn p)
  2609. IL_0281: brfalse => Label19
  2610. IL_0286: ldarg.0
  2611. IL_0287: ldfld Verse.Pawn_HealthTracker Verse.Pawn::health
  2612. IL_028C: ldfld Verse.HediffSet Verse.Pawn_HealthTracker::hediffSet
  2613. IL_0291: ldfld System.Collections.Generic.List`1<Verse.Hediff> Verse.HediffSet::hediffs
  2614. IL_0296: callvirt virtual System.Int32 System.Collections.Generic.List`1<Verse.Hediff>::get_Count()
  2615. IL_029B: ldc.i4.1
  2616. IL_029C: sub
  2617. IL_029D: stloc.1
  2618. IL_029E: br => Label20
  2619. IL_02A3: Label22
  2620. IL_02A3: ldarg.0
  2621. IL_02A4: ldfld Verse.Pawn_HealthTracker Verse.Pawn::health
  2622. IL_02A9: ldfld Verse.HediffSet Verse.Pawn_HealthTracker::hediffSet
  2623. IL_02AE: ldfld System.Collections.Generic.List`1<Verse.Hediff> Verse.HediffSet::hediffs
  2624. IL_02B3: ldloc.1
  2625. IL_02B4: callvirt virtual Verse.Hediff System.Collections.Generic.List`1<Verse.Hediff>::get_Item(System.Int32 index)
  2626. IL_02B9: ldfld Verse.HediffDef Verse.Hediff::def
  2627. IL_02BE: ldfld System.Boolean Verse.HediffDef::removeOnQuestLodgers
  2628. IL_02C3: brfalse => Label21
  2629. IL_02C8: ldarg.0
  2630. IL_02C9: ldfld Verse.Pawn_HealthTracker Verse.Pawn::health
  2631. IL_02CE: ldarg.0
  2632. IL_02CF: ldfld Verse.Pawn_HealthTracker Verse.Pawn::health
  2633. IL_02D4: ldfld Verse.HediffSet Verse.Pawn_HealthTracker::hediffSet
  2634. IL_02D9: ldfld System.Collections.Generic.List`1<Verse.Hediff> Verse.HediffSet::hediffs
  2635. IL_02DE: ldloc.1
  2636. IL_02DF: callvirt virtual Verse.Hediff System.Collections.Generic.List`1<Verse.Hediff>::get_Item(System.Int32 index)
  2637. IL_02E4: callvirt System.Void Verse.Pawn_HealthTracker::RemoveHediff(Verse.Hediff hediff)
  2638. IL_02E9: Label21
  2639. IL_02E9: ldloc.1
  2640. IL_02EA: ldc.i4.1
  2641. IL_02EB: sub
  2642. IL_02EC: stloc.1
  2643. IL_02ED: Label20
  2644. IL_02ED: ldloc.1
  2645. IL_02EE: ldc.i4.0
  2646. IL_02EF: bge => Label22
  2647. IL_02F4: Label17
  2648. IL_02F4: Label19
  2649. IL_02F4: ldarg.0
  2650. IL_02F5: call Verse.RaceProperties Verse.Pawn::get_RaceProps()
  2651. IL_02FA: ldfld Verse.SoundDef Verse.RaceProperties::soundAmbience
  2652. IL_02FF: brfalse => Label23
  2653. IL_0304: ldarg.0
  2654. IL_0305: ldftn System.Void Verse.Pawn::<SpawnSetup>b__223_0()
  2655. IL_030B: newobj System.Void System.Action::.ctor(System.Object object, System.IntPtr method)
  2656. IL_0310: call static System.Void Verse.LongEventHandler::ExecuteWhenFinished(System.Action action)
  2657. IL_0315: // end original
  2658. IL_0315: Label23
  2659. IL_0315: Label24
  2660. IL_0315: Label25
  2661. IL_0315: Label30
  2662. IL_0315: ldarg.0
  2663. IL_0316: ldarg 1
  2664. IL_031A: call static System.Void EccentricProjectiles.HarmonyPatches::PawnSpawnSetup_Postfix(Verse.Pawn __instance, Verse.Map map)
  2665. IL_031F: ret
  2666. DONE
  2667.  
  2668. ### Patch: virtual System.Void Verse.Pawn::DeSpawn(Verse.DestroyMode mode)
  2669. ### Replacement: static System.Void Verse.Pawn::Verse.Pawn.DeSpawn_Patch1(Verse.Pawn this, Verse.DestroyMode mode)
  2670. IL_0000: Local var 0: Verse.Map
  2671. IL_0000: ldarg.0
  2672. IL_0001: call static System.Void EccentricProjectiles.HarmonyPatches::PawnDeSpawn_Prefix(Verse.Pawn __instance)
  2673. IL_0006: // start original
  2674. IL_0006: ldarg.0
  2675. IL_0007: call virtual Verse.Map Verse.Thing::get_Map()
  2676. IL_000C: stloc.0
  2677. IL_000D: ldarg.0
  2678. IL_000E: ldfld Verse.AI.Pawn_JobTracker Verse.Pawn::jobs
  2679. IL_0013: brfalse => Label0
  2680. IL_0018: ldarg.0
  2681. IL_0019: ldfld Verse.AI.Pawn_JobTracker Verse.Pawn::jobs
  2682. IL_001E: ldfld Verse.AI.Job Verse.AI.Pawn_JobTracker::curJob
  2683. IL_0023: brfalse => Label1
  2684. IL_0028: ldarg.0
  2685. IL_0029: ldfld Verse.AI.Pawn_JobTracker Verse.Pawn::jobs
  2686. IL_002E: ldc.i4.0
  2687. IL_002F: ldc.i4.1
  2688. IL_0030: callvirt System.Void Verse.AI.Pawn_JobTracker::StopAll(System.Boolean ifLayingKeepLaying, System.Boolean canReturnToPool)
  2689. IL_0035: Label0
  2690. IL_0035: Label1
  2691. IL_0035: ldarg.0
  2692. IL_0036: ldarg.1
  2693. IL_0037: call virtual System.Void Verse.ThingWithComps::DeSpawn(Verse.DestroyMode mode)
  2694. IL_003C: ldarg.0
  2695. IL_003D: ldfld Verse.AI.Pawn_PathFollower Verse.Pawn::pather
  2696. IL_0042: brfalse => Label2
  2697. IL_0047: ldarg.0
  2698. IL_0048: ldfld Verse.AI.Pawn_PathFollower Verse.Pawn::pather
  2699. IL_004D: callvirt System.Void Verse.AI.Pawn_PathFollower::StopDead()
  2700. IL_0052: Label2
  2701. IL_0052: ldarg.0
  2702. IL_0053: ldfld RimWorld.Pawn_RopeTracker Verse.Pawn::roping
  2703. IL_0058: dup
  2704. IL_0059: brtrue => Label3
  2705. IL_005E: pop
  2706. IL_005F: br => Label4
  2707. IL_0064: Label3
  2708. IL_0064: call System.Void RimWorld.Pawn_RopeTracker::Notify_DeSpawned()
  2709. IL_0069: Label4
  2710. IL_0069: ldarg.0
  2711. IL_006A: ldfld Verse.AI.Pawn_MindState Verse.Pawn::mindState
  2712. IL_006F: ldnull
  2713. IL_0070: stfld Verse.Thing Verse.AI.Pawn_MindState::droppedWeapon
  2714. IL_0075: ldarg.0
  2715. IL_0076: ldfld RimWorld.Pawn_NeedsTracker Verse.Pawn::needs
  2716. IL_007B: brfalse => Label5
  2717. IL_0080: ldarg.0
  2718. IL_0081: ldfld RimWorld.Pawn_NeedsTracker Verse.Pawn::needs
  2719. IL_0086: ldfld RimWorld.Need_Mood RimWorld.Pawn_NeedsTracker::mood
  2720. IL_008B: brfalse => Label6
  2721. IL_0090: ldarg.0
  2722. IL_0091: ldfld RimWorld.Pawn_NeedsTracker Verse.Pawn::needs
  2723. IL_0096: ldfld RimWorld.Need_Mood RimWorld.Pawn_NeedsTracker::mood
  2724. IL_009B: ldfld RimWorld.ThoughtHandler RimWorld.Need_Mood::thoughts
  2725. IL_00A0: ldfld RimWorld.SituationalThoughtHandler RimWorld.ThoughtHandler::situational
  2726. IL_00A5: callvirt System.Void RimWorld.SituationalThoughtHandler::Notify_SituationalThoughtsDirty()
  2727. IL_00AA: Label5
  2728. IL_00AA: Label6
  2729. IL_00AA: ldarg.0
  2730. IL_00AB: ldfld RimWorld.Pawn_MeleeVerbs Verse.Pawn::meleeVerbs
  2731. IL_00B0: brfalse => Label7
  2732. IL_00B5: ldarg.0
  2733. IL_00B6: ldfld RimWorld.Pawn_MeleeVerbs Verse.Pawn::meleeVerbs
  2734. IL_00BB: callvirt System.Void RimWorld.Pawn_MeleeVerbs::Notify_PawnDespawned()
  2735. IL_00C0: Label7
  2736. IL_00C0: ldarg.0
  2737. IL_00C1: ldfld RimWorld.Pawn_MechanitorTracker Verse.Pawn::mechanitor
  2738. IL_00C6: dup
  2739. IL_00C7: brtrue => Label8
  2740. IL_00CC: pop
  2741. IL_00CD: br => Label9
  2742. IL_00D2: Label8
  2743. IL_00D2: ldarg.1
  2744. IL_00D3: call System.Void RimWorld.Pawn_MechanitorTracker::Notify_DeSpawned(Verse.DestroyMode mode)
  2745. IL_00D8: Label9
  2746. IL_00D8: ldarg.0
  2747. IL_00D9: ldc.i4.0
  2748. IL_00DA: call System.Void Verse.Pawn::ClearAllReservations(System.Boolean releaseDestinationsOnlyIfObsolete)
  2749. IL_00DF: ldloc.0
  2750. IL_00E0: brfalse => Label10
  2751. IL_00E5: ldloc.0
  2752. IL_00E6: ldfld Verse.MapPawns Verse.Map::mapPawns
  2753. IL_00EB: ldarg.0
  2754. IL_00EC: callvirt System.Void Verse.MapPawns::DeRegisterPawn(Verse.Pawn p)
  2755. IL_00F1: ldloc.0
  2756. IL_00F2: ldfld Verse.AutoSlaughterManager Verse.Map::autoSlaughterManager
  2757. IL_00F7: callvirt System.Void Verse.AutoSlaughterManager::Notify_PawnDespawned()
  2758. IL_00FC: Label10
  2759. IL_00FC: ldarg.0
  2760. IL_00FD: call static System.Void RimWorld.PawnComponentsUtility::RemoveComponentsOnDespawned(Verse.Pawn pawn)
  2761. IL_0102: ldarg.0
  2762. IL_0103: ldfld Verse.Sound.Sustainer Verse.Pawn::sustainerAmbient
  2763. IL_0108: brfalse => Label11
  2764. IL_010D: ldarg.0
  2765. IL_010E: ldfld Verse.Sound.Sustainer Verse.Pawn::sustainerAmbient
  2766. IL_0113: callvirt System.Void Verse.Sound.Sustainer::End()
  2767. IL_0118: ldarg.0
  2768. IL_0119: ldnull
  2769. IL_011A: stfld Verse.Sound.Sustainer Verse.Pawn::sustainerAmbient
  2770. IL_011F: // end original
  2771. IL_011F: Label11
  2772. IL_011F: ret
  2773. DONE
  2774.  
  2775.  
Advertisement
Add Comment
Please, Sign In to add comment