.method public hidebysig virtual instance bool actionWhenPurchased ( string shopId ) cil managed { // Method begins at RVA 0xffe8c // Header size: 12 // Code size: 389 (0x185) .maxstack 3 .locals init ( [0] class StardewValley.Tool, [1] string previousToolId, [2] class StardewValley.Item oldItem, [3] class StardewValley.Tool oldTool, [4] valuetype [System.Runtime]System.Nullable`1, [5] int32 ) IL_0000: ldarg.1 IL_0001: ldstr "ClintUpgrade" IL_0006: call bool [System.Runtime]System.String::op_Equality(string, string) IL_000b: brfalse IL_017d IL_0010: call class StardewValley.Farmer StardewValley.Game1::get_player() IL_0015: ldfld class Netcode.NetRef`1 StardewValley.Farmer::toolBeingUpgraded IL_001a: callvirt instance !0 class Netcode.NetFieldBase`2>::get_Value() IL_001f: brtrue IL_017d IL_0024: ldarg.0 IL_0025: stloc.0 IL_0026: ldloc.0 IL_0027: isinst StardewValley.Tools.Axe IL_002c: brtrue.s IL_005e IL_002e: ldloc.0 IL_002f: isinst StardewValley.Tools.Pickaxe IL_0034: brtrue.s IL_005e IL_0036: ldloc.0 IL_0037: isinst StardewValley.Tools.Hoe IL_003c: brtrue.s IL_005e IL_003e: ldloc.0 IL_003f: isinst StardewValley.Tools.WateringCan IL_0044: brtrue.s IL_005e IL_0046: ldloc.0 IL_0047: isinst StardewValley.Tools.Pan IL_004c: brtrue.s IL_005e IL_004e: ldloc.0 IL_004f: isinst StardewValley.Tools.GenericTool IL_0054: brtrue IL_010c IL_0059: br IL_017d IL_005e: ldarg.0 IL_005f: call instance class [StardewValley.GameData]StardewValley.GameData.Tools.ToolData StardewValley.Tool::GetToolData() IL_0064: call class StardewValley.Farmer StardewValley.Game1::get_player() IL_0069: call class [StardewValley.GameData]StardewValley.GameData.Tools.ToolUpgradeData StardewValley.Internal.ShopBuilder::GetToolUpgradeData(class [StardewValley.GameData]StardewValley.GameData.Tools.ToolData, class StardewValley.Farmer) IL_006e: dup IL_006f: brtrue.s IL_0075 IL_0071: pop IL_0072: ldnull IL_0073: br.s IL_007a IL_0075: ldfld string [StardewValley.GameData]StardewValley.GameData.Tools.ToolUpgradeData::RequireToolId IL_007a: stloc.1 IL_007b: ldloc.1 IL_007c: brfalse.s IL_00b0 IL_007e: call class StardewValley.Farmer StardewValley.Game1::get_player() IL_0083: callvirt instance class StardewValley.Inventories.Inventory StardewValley.Farmer::get_Items() IL_0088: ldloc.1 IL_0089: callvirt instance class [System.Runtime]System.Collections.Generic.IEnumerable`1 StardewValley.Inventories.Inventory::GetById(string) IL_008e: call !!0 [System.Linq]System.Linq.Enumerable::FirstOrDefault(class [System.Runtime]System.Collections.Generic.IEnumerable`1) IL_0093: stloc.2 IL_0094: call class StardewValley.Farmer StardewValley.Game1::get_player() IL_0099: ldloc.2 IL_009a: callvirt instance void StardewValley.Farmer::removeItemFromInventory(class StardewValley.Item) IL_009f: ldloc.2 IL_00a0: isinst StardewValley.Tool IL_00a5: stloc.3 IL_00a6: ldloc.3 IL_00a7: brfalse.s IL_00b0 IL_00a9: ldarg.0 IL_00aa: ldloc.3 IL_00ab: callvirt instance void StardewValley.Tool::UpgradeFrom(class StardewValley.Tool) IL_00b0: call class StardewValley.Farmer StardewValley.Game1::get_player() IL_00b5: ldfld class Netcode.NetRef`1 StardewValley.Farmer::toolBeingUpgraded IL_00ba: ldarg.0 IL_00bb: call instance class StardewValley.Item StardewValley.Item::getOne() IL_00c0: castclass StardewValley.Tool IL_00c5: callvirt instance void class Netcode.NetFieldBase`2>::set_Value(!0) IL_00ca: call class StardewValley.Farmer StardewValley.Game1::get_player() IL_00cf: ldfld class Netcode.NetInt StardewValley.Farmer::daysLeftForToolUpgrade IL_00d4: ldc.i4.2 IL_00d5: callvirt instance void class Netcode.NetFieldBase`2::set_Value(!0) IL_00da: ldstr "parry" IL_00df: ldloca.s 4 IL_00e1: initobj valuetype [System.Runtime]System.Nullable`1 IL_00e7: ldloc.s 4 IL_00e9: call bool StardewValley.Game1::playSound(string, valuetype [System.Runtime]System.Nullable`1) IL_00ee: pop IL_00ef: call void StardewValley.Game1::exitActiveMenu() IL_00f4: ldstr "Clint" IL_00f9: ldc.i4.1 IL_00fa: ldc.i4.0 IL_00fb: call class StardewValley.NPC StardewValley.Game1::getCharacterFromName(string, bool, bool) IL_0100: ldstr "Strings\\StringsFromCSFiles:Tool.cs.14317" IL_0105: call void StardewValley.Game1::DrawDialogue(class StardewValley.NPC, string) IL_010a: ldc.i4.1 IL_010b: ret IL_010c: ldarg.0 IL_010d: ldfld class Netcode.NetInt StardewValley.Tool::indexOfMenuItemView IL_0112: callvirt instance !0 class Netcode.NetFieldBase`2::get_Value() IL_0117: stloc.s 5 IL_0119: ldloc.s 5 IL_011b: ldc.i4.s 13 IL_011d: sub IL_011e: ldc.i4.3 IL_011f: bgt.un.s IL_017d IL_0121: call class StardewValley.Farmer StardewValley.Game1::get_player() IL_0126: ldfld class Netcode.NetRef`1 StardewValley.Farmer::toolBeingUpgraded IL_012b: ldarg.0 IL_012c: call instance class StardewValley.Item StardewValley.Item::getOne() IL_0131: castclass StardewValley.Tool IL_0136: callvirt instance void class Netcode.NetFieldBase`2>::set_Value(!0) IL_013b: call class StardewValley.Farmer StardewValley.Game1::get_player() IL_0140: ldfld class Netcode.NetInt StardewValley.Farmer::daysLeftForToolUpgrade IL_0145: ldc.i4.2 IL_0146: callvirt instance void class Netcode.NetFieldBase`2::set_Value(!0) IL_014b: ldstr "parry" IL_0150: ldloca.s 4 IL_0152: initobj valuetype [System.Runtime]System.Nullable`1 IL_0158: ldloc.s 4 IL_015a: call bool StardewValley.Game1::playSound(string, valuetype [System.Runtime]System.Nullable`1) IL_015f: pop IL_0160: call void StardewValley.Game1::exitActiveMenu() IL_0165: ldstr "Clint" IL_016a: ldc.i4.1 IL_016b: ldc.i4.0 IL_016c: call class StardewValley.NPC StardewValley.Game1::getCharacterFromName(string, bool, bool) IL_0171: ldstr "Strings\\StringsFromCSFiles:Tool.cs.14317" IL_0176: call void StardewValley.Game1::DrawDialogue(class StardewValley.NPC, string) IL_017b: ldc.i4.1 IL_017c: ret IL_017d: ldarg.0 IL_017e: ldarg.1 IL_017f: call instance bool StardewValley.Item::actionWhenPurchased(string) IL_0184: ret } // end of method Tool::actionWhenPurchased