Last active
July 15, 2019 20:30
-
-
Save notfood/91717fa1ed6abd392cb4286897034abd to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
.class private auto ansi beforefieldinit Battlemounts.Utilities.EnemyMountUtility | |
extends [mscorlib]System.Object | |
{ | |
// Methods | |
.method public hidebysig static | |
void mountAnimals ( | |
class [mscorlib]System.Collections.Generic.List`1<class ['Assembly-CSharp']Verse.Pawn>& list, | |
class ['Assembly-CSharp']RimWorld.IncidentParms parms | |
) cil managed | |
{ | |
// Method begins at RVA 0x2050 | |
// Code size 211 (0xd3) | |
.maxstack 7 | |
.locals init ( | |
[0] bool, | |
[1] valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator<class ['Assembly-CSharp']Verse.Pawn>, | |
[2] class ['Assembly-CSharp']Verse.Pawn, | |
[3] bool | |
) | |
IL_0000: nop | |
IL_0001: ldarg.0 | |
IL_0002: ldind.ref | |
IL_0003: callvirt instance int32 class [mscorlib]System.Collections.Generic.List`1<class ['Assembly-CSharp']Verse.Pawn>::get_Count() | |
IL_0008: brfalse.s IL_0043 | |
IL_000a: ldarg.1 | |
IL_000b: ldfld class ['Assembly-CSharp']RimWorld.PawnsArrivalModeDef ['Assembly-CSharp']RimWorld.IncidentParms::raidArrivalMode | |
IL_0010: brfalse.s IL_001f | |
IL_0012: ldarg.1 | |
IL_0013: ldfld class ['Assembly-CSharp']RimWorld.PawnsArrivalModeDef ['Assembly-CSharp']RimWorld.IncidentParms::raidArrivalMode | |
IL_0018: ldsfld class ['Assembly-CSharp']RimWorld.PawnsArrivalModeDef ['Assembly-CSharp']RimWorld.PawnsArrivalModeDefOf::EdgeWalkIn | |
IL_001d: bne.un.s IL_0043 | |
IL_001f: ldarg.1 | |
IL_0020: ldfld class ['Assembly-CSharp']RimWorld.RaidStrategyDef ['Assembly-CSharp']RimWorld.IncidentParms::raidStrategy | |
IL_0025: brfalse.s IL_0040 | |
IL_0027: ldarg.1 | |
IL_0028: ldfld class ['Assembly-CSharp']RimWorld.RaidStrategyDef ['Assembly-CSharp']RimWorld.IncidentParms::raidStrategy | |
IL_002d: ldfld class [mscorlib]System.Type ['Assembly-CSharp']RimWorld.RaidStrategyDef::workerClass | |
IL_0032: ldtoken ['Assembly-CSharp']RimWorld.RaidStrategyWorker_Siege | |
IL_0037: call class [mscorlib]System.Type [mscorlib]System.Type::GetTypeFromHandle(valuetype [mscorlib]System.RuntimeTypeHandle) | |
IL_003c: ceq | |
IL_003e: br.s IL_0041 | |
IL_0040: ldc.i4.0 | |
IL_0041: br.s IL_0044 | |
IL_0043: ldc.i4.1 | |
IL_0044: stloc.0 | |
IL_0045: ldloc.0 | |
IL_0046: brfalse.s IL_004e | |
IL_0048: nop | |
IL_0049: br IL_00d2 | |
IL_004e: ldarg.0 | |
IL_004f: ldarg.1 | |
IL_0050: ldsfld class [HugsLib]HugsLib.Settings.SettingHandle`1<int32> BattleMounts.Base::inBiomeWeight | |
IL_0055: call !0 class [HugsLib]HugsLib.Settings.SettingHandle`1<int32>::op_Implicit(class [HugsLib]HugsLib.Settings.SettingHandle`1<!0>) | |
IL_005a: ldsfld class [HugsLib]HugsLib.Settings.SettingHandle`1<int32> BattleMounts.Base::outBiomeWeight | |
IL_005f: call !0 class [HugsLib]HugsLib.Settings.SettingHandle`1<int32>::op_Implicit(class [HugsLib]HugsLib.Settings.SettingHandle`1<!0>) | |
IL_0064: ldsfld class [HugsLib]HugsLib.Settings.SettingHandle`1<int32> BattleMounts.Base::nonWildWeight | |
IL_0069: call !0 class [HugsLib]HugsLib.Settings.SettingHandle`1<int32>::op_Implicit(class [HugsLib]HugsLib.Settings.SettingHandle`1<!0>) | |
IL_006e: ldsfld class [HugsLib]HugsLib.Settings.SettingHandle`1<int32> BattleMounts.Base::enemyMountChance | |
IL_0073: call !0 class [HugsLib]HugsLib.Settings.SettingHandle`1<int32>::op_Implicit(class [HugsLib]HugsLib.Settings.SettingHandle`1<!0>) | |
IL_0078: ldsfld class [HugsLib]HugsLib.Settings.SettingHandle`1<int32> BattleMounts.Base::enemyMountChanceTribal | |
IL_007d: call !0 class [HugsLib]HugsLib.Settings.SettingHandle`1<int32>::op_Implicit(class [HugsLib]HugsLib.Settings.SettingHandle`1<!0>) | |
IL_0082: call bool [GiddyUpCore]GiddyUpCore.Utilities.NPCMountUtility::generateMounts(class [mscorlib]System.Collections.Generic.List`1<class ['Assembly-CSharp']Verse.Pawn>&, class ['Assembly-CSharp']RimWorld.IncidentParms, int32, int32, int32, int32, int32) | |
IL_0087: pop | |
IL_0088: nop | |
IL_0089: ldarg.0 | |
IL_008a: ldind.ref | |
IL_008b: callvirt instance valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator<!0> class [mscorlib]System.Collections.Generic.List`1<class ['Assembly-CSharp']Verse.Pawn>::GetEnumerator() | |
IL_0090: stloc.1 | |
.try | |
{ | |
IL_0091: br.s IL_00b8 | |
// loop start (head: IL_00b8) | |
IL_0093: ldloca.s 1 | |
IL_0095: call instance !0 valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator<class ['Assembly-CSharp']Verse.Pawn>::get_Current() | |
IL_009a: stloc.2 | |
IL_009b: nop | |
IL_009c: ldloc.2 | |
IL_009d: ldfld class ['Assembly-CSharp']Verse.Pawn_EquipmentTracker ['Assembly-CSharp']Verse.Pawn::equipment | |
IL_00a2: ldnull | |
IL_00a3: ceq | |
IL_00a5: stloc.3 | |
IL_00a6: ldloc.3 | |
IL_00a7: brfalse.s IL_00b7 | |
IL_00a9: nop | |
IL_00aa: ldloc.2 | |
IL_00ab: ldloc.2 | |
IL_00ac: newobj instance void ['Assembly-CSharp']Verse.Pawn_EquipmentTracker::.ctor(class ['Assembly-CSharp']Verse.Pawn) | |
IL_00b1: stfld class ['Assembly-CSharp']Verse.Pawn_EquipmentTracker ['Assembly-CSharp']Verse.Pawn::equipment | |
IL_00b6: nop | |
IL_00b7: nop | |
IL_00b8: ldloca.s 1 | |
IL_00ba: call instance bool valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator<class ['Assembly-CSharp']Verse.Pawn>::MoveNext() | |
IL_00bf: brtrue.s IL_0093 | |
// end loop | |
IL_00c1: leave.s IL_00d2 | |
} // end .try | |
finally | |
{ | |
IL_00c3: ldloca.s 1 | |
IL_00c5: constrained. valuetype [mscorlib]System.Collections.Generic.List`1/Enumerator<class ['Assembly-CSharp']Verse.Pawn> | |
IL_00cb: callvirt instance void [mscorlib]System.IDisposable::Dispose() | |
IL_00d0: nop | |
IL_00d1: endfinally | |
} // end handler | |
IL_00d2: ret | |
} // end of method EnemyMountUtility::mountAnimals | |
.method public hidebysig specialname rtspecialname | |
instance void .ctor () cil managed | |
{ | |
// Method begins at RVA 0x2140 | |
// Code size 8 (0x8) | |
.maxstack 8 | |
IL_0000: ldarg.0 | |
IL_0001: call instance void [mscorlib]System.Object::.ctor() | |
IL_0006: nop | |
IL_0007: ret | |
} // end of method EnemyMountUtility::.ctor | |
} // end of class Battlemounts.Utilities.EnemyMountUtility |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
### Patch Battlemounts.Utilities.EnemyMountUtility, Void mountAnimals(System.Collections.Generic.List`1[Verse.Pawn] ByRef, RimWorld.IncidentParms) | |
L_0000: Local var 0: System.Boolean | |
L_0000: Local var 1: System.Collections.Generic.List`1+Enumerator[[Verse.Pawn, Assembly-CSharp, Version=1.0.7087.21901, Culture=neutral, PublicKeyToken=null]] | |
L_0000: Local var 2: Verse.Pawn | |
L_0000: Local var 3: System.Boolean | |
L_0000: ldstr "Battlemounts.Utilities.EnemyMountUtility" | |
L_0005: ldc.i4 100663297 | |
L_000a: ldnull | |
L_000b: ldc.i4 2 | |
L_0010: newarr System.Object | |
L_0015: dup | |
L_0016: ldc.i4 0 | |
L_001b: ldarg 0 | |
L_0021: stelem.ref | |
L_0022: dup | |
L_0023: ldc.i4 1 | |
L_0028: ldarg 1 | |
L_002e: stelem.ref | |
L_002f: call Boolean General(System.String, Int32, System.Object, System.Object[]) | |
L_0034: brtrue Label13 | |
L_0039: br Label14 | |
L_003e: Label13 | |
L_003e: nop | |
L_003f: ldarg.0 | |
L_0040: ldind.ref | |
L_0041: callvirt Int32 get_Count() | |
L_0046: brfalse Label1 | |
L_004b: ldarg.1 | |
L_004c: ldfld RimWorld.PawnsArrivalModeDef raidArrivalMode | |
L_0051: brfalse Label2 | |
L_0056: ldarg.1 | |
L_0057: ldfld RimWorld.PawnsArrivalModeDef raidArrivalMode | |
L_005c: ldsfld RimWorld.PawnsArrivalModeDef EdgeWalkIn | |
L_0061: bne.un Label3 | |
L_0066: Label2 | |
L_0066: ldarg.1 | |
L_0067: ldfld RimWorld.RaidStrategyDef raidStrategy | |
L_006c: brfalse Label4 | |
L_0071: ldarg.1 | |
L_0072: ldfld RimWorld.RaidStrategyDef raidStrategy | |
L_0077: ldfld System.Type workerClass | |
L_007c: ldtoken RimWorld.RaidStrategyWorker_Siege | |
L_0081: call System.Type GetTypeFromHandle(RuntimeTypeHandle) | |
L_0086: ceq | |
L_0088: br Label5 | |
L_008d: Label4 | |
L_008d: ldc.i4.0 | |
L_008e: Label5 | |
L_008e: br Label6 | |
L_0093: Label1 | |
L_0093: Label3 | |
L_0093: ldc.i4.1 | |
L_0094: Label6 | |
L_0094: stloc.0 | |
L_0095: ldloc.0 | |
L_0096: brfalse Label7 | |
L_009b: nop | |
L_009c: br Label8 | |
L_00a1: Label7 | |
L_00a1: ldarg.0 | |
L_00a2: ldarg.1 | |
L_00a3: ldsfld HugsLib.Settings.SettingHandle`1[System.Int32] inBiomeWeight | |
L_00a8: call Int32 op_Implicit(HugsLib.Settings.SettingHandle`1[System.Int32]) | |
L_00ad: ldsfld HugsLib.Settings.SettingHandle`1[System.Int32] outBiomeWeight | |
L_00b2: call Int32 op_Implicit(HugsLib.Settings.SettingHandle`1[System.Int32]) | |
L_00b7: ldsfld HugsLib.Settings.SettingHandle`1[System.Int32] nonWildWeight | |
L_00bc: call Int32 op_Implicit(HugsLib.Settings.SettingHandle`1[System.Int32]) | |
L_00c1: ldsfld HugsLib.Settings.SettingHandle`1[System.Int32] enemyMountChance | |
L_00c6: call Int32 op_Implicit(HugsLib.Settings.SettingHandle`1[System.Int32]) | |
L_00cb: ldsfld HugsLib.Settings.SettingHandle`1[System.Int32] enemyMountChanceTribal | |
L_00d0: call Int32 op_Implicit(HugsLib.Settings.SettingHandle`1[System.Int32]) | |
L_00d5: call Boolean generateMounts(System.Collections.Generic.List`1[Verse.Pawn] ByRef, RimWorld.IncidentParms, Int32, Int32, Int32, Int32, Int32) | |
L_00da: pop | |
L_00db: nop | |
L_00dc: ldarg.0 | |
L_00dd: ldind.ref | |
L_00de: callvirt Enumerator GetEnumerator() | |
L_00e3: stloc.1 | |
.try | |
{ | |
L_00e4: br Label9 | |
L_00e9: Label11 | |
L_00e9: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Pawn]) | |
L_00eb: call Verse.Pawn get_Current() | |
L_00f0: stloc.2 | |
L_00f1: nop | |
L_00f2: ldloc.2 | |
L_00f3: ldfld Verse.Pawn_EquipmentTracker equipment | |
L_00f8: ldnull | |
L_00f9: ceq | |
L_00fb: stloc.3 | |
L_00fc: ldloc.3 | |
L_00fd: brfalse Label10 | |
L_0102: nop | |
L_0103: ldloc.2 | |
L_0104: ldloc.2 | |
L_0105: newobj Void .ctor(Pawn) | |
L_010a: stfld Verse.Pawn_EquipmentTracker equipment | |
L_010f: nop | |
L_0110: Label10 | |
L_0110: nop | |
L_0111: Label9 | |
L_0111: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Pawn]) | |
L_0113: call Boolean MoveNext() | |
L_0118: brtrue Label11 | |
L_011d: leave Label12 | |
L_0122: leave (autogenerated) | |
} // end try | |
.finally | |
{ | |
L_0127: ldloca.s 1 (System.Collections.Generic.List`1+Enumerator[Verse.Pawn]) | |
L_0129: constrained. System.Collections.Generic.List`1+Enumerator[Verse.Pawn] | |
L_012f: callvirt Void Dispose() | |
L_0134: nop | |
L_0135: endfinally | |
L_0136: leave (autogenerated) | |
} // end handler | |
L_0137: Label8 | |
L_0137: Label12 | |
L_0137: Label14 | |
L_0137: ret | |
DONE |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment