Sei sulla pagina 1di 7

[07Apr2023 - 18:17:39]

// ILCursor: Terraria.Player::QuickStackAllChests

// Arguments:
[0] Terraria.Player this

// Locals:
[0] System.Collections.Generic.List`1<System.Int32> V_0
[1] System.Int32 V_1
[2] System.Int32 V_2
[3] System.Int32 V_3
[4] System.Boolean V_4
[5] System.Int32 V_5
[6] System.Int32 V_6
[7] System.Int32 V_7
[8] System.Int32 V_8
[9] System.Int32 V_9
[10] System.Int32 V_10
[11] Terraria.Tile V_11
[12] Microsoft.Xna.Framework.Vector2 V_12
[13] System.Int32 V_13
[14] System.Int32 V_14
[15] System.Int32 V_15
[16] System.Int32 V_16
[17] System.Int32 V_17

// Body:
IL_00000: ldarg.0
IL_00001: call System.Boolean Terraria.Player::HasLockedInventory()
IL_00006: brfalse.s IL_00009
IL_00008: ret
IL_00009: ldarg.0
IL_0000A: call System.Collections.Generic.List`1<System.Int32>
Terraria.Player::GetNearbyContainerProjectilesList()
IL_0000F: stloc.0
IL_00010: ldc.i4.0
IL_00011: stloc.s V_5
IL_00013: br.s IL_0004F
IL_00015: ldsfld Terraria.Projectile[] Terraria.Main::projectile
IL_0001A: ldloc.0
IL_0001B: ldloc.s V_5
IL_0001D: callvirt T
System.Collections.Generic.List`1<System.Int32>::get_Item(System.Int32)
IL_00022: ldelem.ref
IL_00023: ldloca.s V_6
IL_00025: callvirt System.Boolean
Terraria.Projectile::TryGetContainerIndex(System.Int32&)
IL_0002A: brfalse.s IL_00049
IL_0002C: ldarg.0
IL_0002D: ldfld System.Int32 Terraria.Player::chest
IL_00032: stloc.s V_7
IL_00034: ldarg.0
IL_00035: ldloc.s V_6
IL_00037: stfld System.Int32 Terraria.Player::chest
IL_0003C: call System.Void Terraria.UI.ChestUI::QuickStack()
IL_00041: ldarg.0
IL_00042: ldloc.s V_7
IL_00044: stfld System.Int32 Terraria.Player::chest
IL_00049: ldloc.s V_5
IL_0004B: ldc.i4.1
IL_0004C: add
IL_0004D: stloc.s V_5
IL_0004F: ldloc.s V_5
IL_00051: ldloc.0
IL_00052: callvirt System.Int32
System.Collections.Generic.List`1<System.Int32>::get_Count()
IL_00057: blt.s IL_00015
IL_00059: ldc.i4.s 17
IL_0005B: stloc.1
IL_0005C: ldarg.0
IL_0005D: call Microsoft.Xna.Framework.Vector2
Terraria.Entity::get_Center()
IL_00062: ldfld System.Single Microsoft.Xna.Framework.Vector2::X
IL_00067: ldc.r4 16
IL_0006C: div
IL_0006D: conv.i4
IL_0006E: stloc.2
IL_0006F: ldarg.0
IL_00070: call Microsoft.Xna.Framework.Vector2
Terraria.Entity::get_Center()
IL_00075: ldfld System.Single Microsoft.Xna.Framework.Vector2::Y
IL_0007A: ldc.r4 16
IL_0007F: div
IL_00080: conv.i4
IL_00081: stloc.3
IL_00082: ldloc.2
IL_00083: ldloc.1
IL_00084: sub
IL_00085: stloc.s V_8
IL_00087: br IL_001B5
IL_0008C: ldloc.s V_8
IL_0008E: ldc.i4.0
IL_0008F: blt IL_001AF
IL_00094: ldloc.s V_8
IL_00096: ldsfld System.Int32 Terraria.Main::maxTilesX
IL_0009B: bge IL_001AF
IL_000A0: ldloc.3
IL_000A1: ldloc.1
IL_000A2: sub
IL_000A3: stloc.s V_9
IL_000A5: br IL_001A5
IL_000AA: ldloc.s V_9
IL_000AC: ldc.i4.0
IL_000AD: blt IL_0019F
IL_000B2: ldloc.s V_9
IL_000B4: ldsfld System.Int32 Terraria.Main::maxTilesY
IL_000B9: bge IL_0019F
IL_000BE: ldc.i4.0
IL_000BF: stloc.s V_10
IL_000C1: ldsflda Terraria.Tilemap Terraria.Main::tile
IL_000C6: ldloc.s V_8
IL_000C8: ldloc.s V_9
IL_000CA: call Terraria.Tile
Terraria.Tilemap::get_Item(System.Int32,System.Int32)
IL_000CF: stloc.s V_11
IL_000D1: ldloca.s V_11
IL_000D3: call System.UInt16& Terraria.Tile::get_type()
IL_000D8: ldind.u2
IL_000D9: ldc.i4.s 29
IL_000DB: bne.un.s IL_000E3
IL_000DD: ldc.i4.s -2
IL_000DF: stloc.s V_10
IL_000E1: br.s IL_0014D
IL_000E3: ldsflda Terraria.Tilemap Terraria.Main::tile
IL_000E8: ldloc.s V_8
IL_000EA: ldloc.s V_9
IL_000EC: call Terraria.Tile
Terraria.Tilemap::get_Item(System.Int32,System.Int32)
IL_000F1: stloc.s V_11
IL_000F3: ldloca.s V_11
IL_000F5: call System.UInt16& Terraria.Tile::get_type()
IL_000FA: ldind.u2
IL_000FB: ldc.i4.s 97
IL_000FD: bne.un.s IL_00105
IL_000FF: ldc.i4.s -3
IL_00101: stloc.s V_10
IL_00103: br.s IL_0014D
IL_00105: ldsflda Terraria.Tilemap Terraria.Main::tile
IL_0010A: ldloc.s V_8
IL_0010C: ldloc.s V_9
IL_0010E: call Terraria.Tile
Terraria.Tilemap::get_Item(System.Int32,System.Int32)
IL_00113: stloc.s V_11
IL_00115: ldloca.s V_11
IL_00117: call System.UInt16& Terraria.Tile::get_type()
IL_0011C: ldind.u2
IL_0011D: ldc.i4 463
IL_00122: bne.un.s IL_0012A
IL_00124: ldc.i4.s -4
IL_00126: stloc.s V_10
IL_00128: br.s IL_0014D
IL_0012A: ldsflda Terraria.Tilemap Terraria.Main::tile
IL_0012F: ldloc.s V_8
IL_00131: ldloc.s V_9
IL_00133: call Terraria.Tile
Terraria.Tilemap::get_Item(System.Int32,System.Int32)
IL_00138: stloc.s V_11
IL_0013A: ldloca.s V_11
IL_0013C: call System.UInt16& Terraria.Tile::get_type()
IL_00141: ldind.u2
IL_00142: ldc.i4 491
IL_00147: bne.un.s IL_0014D
IL_00149: ldc.i4.s -5
IL_0014B: stloc.s V_10
IL_0014D: ldloc.s V_10
IL_0014F: ldc.i4.0
IL_00150: bge.s IL_0019F
IL_00152: ldloc.s V_8
IL_00154: ldc.i4.s 16
IL_00156: mul
IL_00157: ldc.i4.8
IL_00158: add
IL_00159: conv.r4
IL_0015A: ldloc.s V_9
IL_0015C: ldc.i4.s 16
IL_0015E: mul
IL_0015F: ldc.i4.8
IL_00160: add
IL_00161: conv.r4
IL_00162: newobj System.Void
Microsoft.Xna.Framework.Vector2::.ctor(System.Single,System.Single)
IL_00167: ldarg.0
IL_00168: call Microsoft.Xna.Framework.Vector2
Terraria.Entity::get_Center()
IL_0016D: call Microsoft.Xna.Framework.Vector2
Microsoft.Xna.Framework.Vector2::op_Subtraction(Microsoft.Xna.Framework.Vector2,Mic
rosoft.Xna.Framework.Vector2)
IL_00172: stloc.s V_12
IL_00174: ldloca.s V_12
IL_00176: call System.Single Microsoft.Xna.Framework.Vector2::Length()
IL_0017B: ldc.r4 250
IL_00180: bge.un.s IL_0019F
IL_00182: ldarg.0
IL_00183: ldfld System.Int32 Terraria.Player::chest
IL_00188: stloc.s V_13
IL_0018A: ldarg.0
IL_0018B: ldloc.s V_10
IL_0018D: stfld System.Int32 Terraria.Player::chest
IL_00192: call System.Void Terraria.UI.ChestUI::QuickStack()
IL_00197: ldarg.0
IL_00198: ldloc.s V_13
IL_0019A: stfld System.Int32 Terraria.Player::chest
IL_0019F: ldloc.s V_9
IL_001A1: ldc.i4.1
IL_001A2: add
IL_001A3: stloc.s V_9
IL_001A5: ldloc.s V_9
IL_001A7: ldloc.3
IL_001A8: ldloc.1
IL_001A9: add
IL_001AA: ble IL_000AA
IL_001AF: ldloc.s V_8
IL_001B1: ldc.i4.1
IL_001B2: add
IL_001B3: stloc.s V_8
IL_001B5: ldloc.s V_8
IL_001B7: ldloc.2
IL_001B8: ldloc.1
IL_001B9: add
IL_001BA: ble IL_0008C
IL_001BF: ldsfld System.Int32 Terraria.Main::netMode
IL_001C4: ldc.i4.1
IL_001C5: bne.un IL_00279
IL_001CA: ldc.i4.s 10
IL_001CC: stloc.s V_14
IL_001CE: br IL_0026F
IL_001D3: ldarg.0
IL_001D4: ldfld Terraria.Item[] Terraria.Player::inventory
IL_001D9: ldloc.s V_14
IL_001DB: ldelem.ref
IL_001DC: ldfld System.Int32 Terraria.Item::type
IL_001E1: ldc.i4.0
IL_001E2: ble IL_00269
IL_001E7: ldarg.0
IL_001E8: ldfld Terraria.Item[] Terraria.Player::inventory
IL_001ED: ldloc.s V_14
IL_001EF: ldelem.ref
IL_001F0: ldfld System.Int32 Terraria.Item::stack
IL_001F5: ldc.i4.0
IL_001F6: ble.s IL_00269
IL_001F8: ldarg.0
IL_001F9: ldfld Terraria.Item[] Terraria.Player::inventory
IL_001FE: ldloc.s V_14
IL_00200: ldelem.ref
IL_00201: ldfld System.Boolean Terraria.Item::favorited
IL_00206: brtrue.s IL_00269
IL_00208: ldarg.0
IL_00209: ldfld Terraria.Item[] Terraria.Player::inventory
IL_0020E: ldloc.s V_14
IL_00210: ldelem.ref
IL_00211: callvirt System.Boolean Terraria.Item::get_IsACoin()
IL_00216: brtrue.s IL_00269
IL_00218: ldc.i4.5
IL_00219: ldc.i4.m1
IL_0021A: ldc.i4.m1
IL_0021B: ldnull
IL_0021C: ldarg.0
IL_0021D: ldfld System.Int32 Terraria.Entity::whoAmI
IL_00222: ldloc.s V_14
IL_00224: conv.r4
IL_00225: ldarg.0
IL_00226: ldfld Terraria.Item[] Terraria.Player::inventory
IL_0022B: ldloc.s V_14
IL_0022D: ldelem.ref
IL_0022E: ldfld System.Int32 Terraria.Item::prefix
IL_00233: conv.r4
IL_00234: ldc.r4 0
IL_00239: ldc.i4.0
IL_0023A: ldc.i4.0
IL_0023B: ldc.i4.0
IL_0023C: call System.Void
Terraria.NetMessage::SendData(System.Int32,System.Int32,System.Int32,Terraria.Local
ization.NetworkText,System.Int32,System.Single,System.Single,System.Single,System.I
nt32,System.Int32,System.Int32)
IL_00241: ldc.i4.s 85
IL_00243: ldc.i4.m1
IL_00244: ldc.i4.m1
IL_00245: ldnull
IL_00246: ldloc.s V_14
IL_00248: ldc.r4 0
IL_0024D: ldc.r4 0
IL_00252: ldc.r4 0
IL_00257: ldc.i4.0
IL_00258: ldc.i4.0
IL_00259: ldc.i4.0
IL_0025A: call System.Void
Terraria.NetMessage::SendData(System.Int32,System.Int32,System.Int32,Terraria.Local
ization.NetworkText,System.Int32,System.Single,System.Single,System.Single,System.I
nt32,System.Int32,System.Int32)
IL_0025F: ldarg.0
IL_00260: ldfld System.Boolean[] Terraria.Player::inventoryChestStack
IL_00265: ldloc.s V_14
IL_00267: ldc.i4.1
IL_00268: stelem.i1
IL_00269: ldloc.s V_14
IL_0026B: ldc.i4.1
IL_0026C: add
IL_0026D: stloc.s V_14
IL_0026F: ldloc.s V_14
IL_00271: ldc.i4.s 50
IL_00273: blt IL_001D3
IL_00278: ret
IL_00279: ldc.i4.0
IL_0027A: stloc.s V_4
IL_0027C: ldc.i4.s 10
IL_0027E: stloc.s V_15
IL_00280: br IL_00337
IL_00285: ldarg.0
IL_00286: ldfld Terraria.Item[] Terraria.Player::inventory
IL_0028B: ldloc.s V_15
IL_0028D: ldelem.ref
IL_0028E: ldfld System.Int32 Terraria.Item::type
IL_00293: ldc.i4.0
IL_00294: ble IL_00331
IL_00299: ldarg.0
IL_0029A: ldfld Terraria.Item[] Terraria.Player::inventory
IL_0029F: ldloc.s V_15
IL_002A1: ldelem.ref
IL_002A2: ldfld System.Int32 Terraria.Item::stack
IL_002A7: ldc.i4.0
IL_002A8: ble IL_00331
IL_002AD: ldarg.0
IL_002AE: ldfld Terraria.Item[] Terraria.Player::inventory
IL_002B3: ldloc.s V_15
IL_002B5: ldelem.ref
IL_002B6: ldfld System.Boolean Terraria.Item::favorited
IL_002BB: brtrue.s IL_00331
IL_002BD: ldarg.0
IL_002BE: ldfld Terraria.Item[] Terraria.Player::inventory
IL_002C3: ldloc.s V_15
IL_002C5: ldelem.ref
IL_002C6: callvirt System.Boolean Terraria.Item::get_IsACoin()
IL_002CB: brtrue.s IL_00331
IL_002CD: ldarg.0
IL_002CE: ldfld Terraria.Item[] Terraria.Player::inventory
IL_002D3: ldloc.s V_15
IL_002D5: ldelem.ref
IL_002D6: ldfld System.Int32 Terraria.Item::type
IL_002DB: stloc.s V_16
IL_002DD: ldarg.0
IL_002DE: ldfld Terraria.Item[] Terraria.Player::inventory
IL_002E3: ldloc.s V_15
IL_002E5: ldelem.ref
IL_002E6: ldfld System.Int32 Terraria.Item::stack
IL_002EB: stloc.s V_17
IL_002ED: ldarg.0
IL_002EE: ldfld Terraria.Item[] Terraria.Player::inventory
IL_002F3: ldloc.s V_15
IL_002F5: ldarg.0
IL_002F6: ldfld Terraria.Item[] Terraria.Player::inventory
IL_002FB: ldloc.s V_15
IL_002FD: ldelem.ref
IL_002FE: ldarg.0
IL_002FF: call Microsoft.Xna.Framework.Vector2
Terraria.Entity::get_Center()
IL_00304: call Terraria.Item
Terraria.Chest::PutItemInNearbyChest(Terraria.Item,Microsoft.Xna.Framework.Vector2)
IL_00309: stelem.ref
IL_0030A: ldarg.0
IL_0030B: ldfld Terraria.Item[] Terraria.Player::inventory
IL_00310: ldloc.s V_15
IL_00312: ldelem.ref
IL_00313: ldfld System.Int32 Terraria.Item::type
IL_00318: ldloc.s V_16
IL_0031A: bne.un.s IL_0032E
IL_0031C: ldarg.0
IL_0031D: ldfld Terraria.Item[] Terraria.Player::inventory
IL_00322: ldloc.s V_15
IL_00324: ldelem.ref
IL_00325: ldfld System.Int32 Terraria.Item::stack
IL_0032A: ldloc.s V_17
IL_0032C: beq.s IL_00331
IL_0032E: ldc.i4.1
IL_0032F: stloc.s V_4
IL_00331: ldloc.s V_15
IL_00333: ldc.i4.1
IL_00334: add
IL_00335: stloc.s V_15
IL_00337: ldloc.s V_15
IL_00339: ldc.i4.s 50
IL_0033B: blt IL_00285
IL_00340: ldarg.0
IL_00341: ldloca V_4
IL_00345: ldc.i4 0
IL_0034A: call T
MonoMod.Cil.RuntimeILReferenceBag/InnerBag`1<<>A{00000004}`2<Terraria.Player,System
.Boolean>>::Get(System.Int32)
IL_0034F: call Void MMIL:Invoke<<>A{00000004}`2[[Terraria.Player,
tModLoader, Version=1.4.3.6, Culture=neutral, PublicKeyToken=null],[System.Boolean,
System.Private.CoreLib, Version=6.0.0.0, Culture=neutral,
PublicKeyToken=7cec85d7bea7798e]]>(Terraria.Player, Boolean ByRef,
<>A{00000004}`2[Terraria.Player,System.Boolean])
IL_00354: ldloc.s V_4
IL_00356: brfalse.s IL_0036C
IL_00358: ldc.i4.7
IL_00359: ldc.i4.m1
IL_0035A: ldc.i4.m1
IL_0035B: ldc.i4.1
IL_0035C: ldc.r4 1
IL_00361: ldc.r4 0
IL_00366: call Microsoft.Xna.Framework.Audio.SoundEffectInstance
Terraria.Audio.SoundEngine::PlaySound(System.Int32,System.Int32,System.Int32,System
.Int32,System.Single,System.Single)
IL_0036B: pop
IL_0036C: ret

Potrebbero piacerti anche