terraria-cpp2il-methodrecon v1.4.4.9
Terraria mobile dump, with reconstructed method body. Dump with CallAnalysis: https://infinitynichto.github.io/terraria-cpp2il
Loading...
Searching...
No Matches
Item.cs
Go to the documentation of this file.
1using System;
2using System.IO;
10using Terraria.Enums;
14using Terraria.UI;
16
17namespace Terraria
18{
19 // Token: 0x020003EE RID: 1006
20 public class Item : Entity
21 {
22 // Token: 0x1700037F RID: 895
23 // (get) Token: 0x06001AF9 RID: 6905 RVA: 0x00072900 File Offset: 0x00070B00
24 public string Name
25 {
26 get
27 {
28 string nameOverride = this._nameOverride;
29 if (nameOverride != null)
30 {
31 return nameOverride;
32 }
33 return Lang.GetItemNameValue(this.type);
34 }
35 }
36
37 // Token: 0x17000380 RID: 896
38 // (get) Token: 0x06001AFA RID: 6906 RVA: 0x00072924 File Offset: 0x00070B24
39 public string HoverName
40 {
41 get
42 {
43 string text = this.AffixName();
44 int num = this.stack;
45 string text2;
46 return text + " (" + text2 + ")";
47 }
48 }
49
50 // Token: 0x06001AFB RID: 6907 RVA: 0x00072954 File Offset: 0x00070B54
51 public static void StartCachingType(int t)
52 {
53 if (!true)
54 {
55 }
56 }
57
58 // Token: 0x06001AFC RID: 6908 RVA: 0x00072964 File Offset: 0x00070B64
59 public static void DropCache(IEntitySource reason, Vector2 pos, Vector2 spread, int t, bool stopCaching = true)
60 {
61 if (!true)
62 {
63 }
64 if (32640 == 0)
65 {
66 }
67 }
68
69 // Token: 0x06001AFD RID: 6909 RVA: 0x000021DB File Offset: 0x000003DB
71 {
72 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
73 }
74
75 // Token: 0x06001AFE RID: 6910 RVA: 0x000021DB File Offset: 0x000003DB
77 {
78 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
79 }
80
81 // Token: 0x17000381 RID: 897
82 // (get) Token: 0x06001AFF RID: 6911 RVA: 0x0007297C File Offset: 0x00070B7C
83 public bool PaintOrCoating
84 {
85 get
86 {
87 return this.paint == 0 || true;
88 }
89 }
90
91 // Token: 0x17000382 RID: 898
92 // (get) Token: 0x06001B00 RID: 6912 RVA: 0x00072994 File Offset: 0x00070B94
94 {
95 get
96 {
97 return true;
98 }
99 }
100
101 // Token: 0x17000383 RID: 899
102 // (get) Token: 0x06001B01 RID: 6913 RVA: 0x000729A4 File Offset: 0x00070BA4
103 public int OriginalRarity
104 {
105 get
106 {
107 /*
108An exception occurred when decompiling this method (06001B01)
109
110ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.Item::get_OriginalRarity()
111
112 ---> System.Exception: Basic block has to end with unconditional control flow.
113{
114 IL_0003:
115 stloc:int32(var_0_09, ldfld:int32(Item::type, ldloc:Item(this)))
116}
117
118 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
119 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
120 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
121 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
122 --- End of inner exception stack trace ---
123 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
124 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
125*/;
126 }
127 }
128
129 // Token: 0x17000384 RID: 900
130 // (get) Token: 0x06001B02 RID: 6914 RVA: 0x000729BC File Offset: 0x00070BBC
131 public int OriginalDamage
132 {
133 get
134 {
135 /*
136An exception occurred when decompiling this method (06001B02)
137
138ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.Item::get_OriginalDamage()
139
140 ---> System.Exception: Basic block has to end with unconditional control flow.
141{
142 IL_0003:
143 stloc:int32(var_0_09, ldfld:int32(Item::type, ldloc:Item(this)))
144}
145
146 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
147 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
148 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
149 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
150 --- End of inner exception stack trace ---
151 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
152 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
153*/;
154 }
155 }
156
157 // Token: 0x17000385 RID: 901
158 // (get) Token: 0x06001B03 RID: 6915 RVA: 0x000729D4 File Offset: 0x00070BD4
160 {
161 get
162 {
163 /*
164An exception occurred when decompiling this method (06001B03)
165
166ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.Item::get_OriginalDefense()
167
168 ---> System.Exception: Basic block has to end with unconditional control flow.
169{
170 IL_0003:
171 stloc:int32(var_0_09, ldfld:int32(Item::type, ldloc:Item(this)))
172}
173
174 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
175 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
176 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
177 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
178 --- End of inner exception stack trace ---
179 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
180 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
181*/;
182 }
183 }
184
185 // Token: 0x17000386 RID: 902
186 // (get) Token: 0x06001B04 RID: 6916 RVA: 0x000729EC File Offset: 0x00070BEC
187 // (set) Token: 0x06001B05 RID: 6917 RVA: 0x00072A00 File Offset: 0x00070C00
189 {
191 get
192 {
193 return this.<Variant>k__BackingField;
194 }
196 private set
197 {
199 }
200 }
201
202 // Token: 0x06001B06 RID: 6918 RVA: 0x00072A14 File Offset: 0x00070C14
203 public void Reset()
204 {
205 int num = 16256;
206 this.position = num;
207 if (this == null)
208 {
209 }
210 }
211
212 // Token: 0x06001B07 RID: 6919 RVA: 0x00072A34 File Offset: 0x00070C34
213 public override string ToString()
214 {
215 string name = this.Name;
216 int num = this.netID;
217 int num2 = this.stack;
218 string text;
219 return text;
220 }
221
222 // Token: 0x06001B08 RID: 6920 RVA: 0x00072A58 File Offset: 0x00070C58
223 private bool CanHavePrefixes()
224 {
225 if (this.type != 0)
226 {
227 int num = this.maxStack;
228 int num2 = this.damage;
229 return true;
230 }
231 }
232
233 // Token: 0x06001B09 RID: 6921 RVA: 0x00072A80 File Offset: 0x00070C80
234 public bool Prefix(int prefixWeWant)
235 {
236 /*
237An exception occurred when decompiling this method (06001B09)
238
239ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Item::Prefix(System.Int32)
240
241 ---> System.Exception: Basic block has to end with unconditional control flow.
242{
243 IL_006F:
244 stfld:int32(Item::damage, ldloc:Item(this), ldloc:int64[exp:int32](var_8))
245 stloc:int32(var_16_7D, ldfld:int32(Item::useAnimation, ldloc:Item(this)))
246 stfld:int32(Item::useAnimation, ldloc:Item(this), ldloc:int64[exp:int32](var_8))
247 stloc:int32(var_17_8D, ldfld:int32(Item::useTime, ldloc:Item(this)))
248 stfld:int32(Item::useTime, ldloc:Item(this), ldloc:int64[exp:int32](var_8))
249 stloc:int32(var_18_9D, ldfld:int32(Item::reuseDelay, ldloc:Item(this)))
250 stfld:int32(Item::reuseDelay, ldloc:Item(this), ldloc:int64[exp:int32](var_8))
251 stloc:int32(var_19_AD, ldfld:int32(Item::mana, ldloc:Item(this)))
252 stfld:int32(Item::mana, ldloc:Item(this), ldloc:int64[exp:int32](var_8))
253 stloc:float32(var_20_BD, ldfld:float32(Item::knockBack, ldloc:Item(this)))
254 stloc:float32(var_21_C5, ldfld:float32(Item::scale, ldloc:Item(this)))
255 stloc:float32(var_22_CD, ldfld:float32(Item::shootSpeed, ldloc:Item(this)))
256 stloc:int32(var_23_D5, ldfld:int32(Item::crit, ldloc:Item(this)))
257 stfld:float32(Item::knockBack, ldloc:Item(this), ldloc:float32(var_20_BD))
258 stfld:float32(Item::scale, ldloc:Item(this), ldloc:float32(var_21_C5))
259 stfld:float32(Item::shootSpeed, ldloc:Item(this), ldloc:float32(var_22_CD))
260 stfld:int32(Item::crit, ldloc:Item(this), ldloc:int32(var_23_D5))
261 stloc:int32(var_24_FD, ldfld:int32(Item::rare, ldloc:Item(this)))
262 stloc:int32(var_25_105, ldfld:int32(Item::rare, ldloc:Item(this)))
263 stloc:int32(var_26_10D, ldfld:int32(Item::rare, ldloc:Item(this)))
264 stloc:int32(var_27_115, ldfld:int32(Item::rare, ldloc:Item(this)))
265 stfld:int32(Item::rare, ldloc:Item(this), ldloc:int32(var_27_115))
266 stloc:int32(var_28_121, ldc.i4:int32(11))
267 stfld:int32(Item::rare, ldloc:Item(this), ldloc:int32(var_28_121))
268 stloc:int32(var_29_131, ldfld:int32(Item::value, ldloc:Item(this)))
269 stloc:int32(var_30_138, ldc.i4:int32(32640))
270 stfld:uint8(Item::prefix, ldloc:Item(this), ldloc:int64[exp:uint8](var_12))
271 stfld:int32(Item::value, ldloc:Item(this), ldloc:int32(var_30_138))
272}
273
274 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
275 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
276 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
277 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
278 --- End of inner exception stack trace ---
279 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
280 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
281*/;
282 }
283
284 // Token: 0x06001B0A RID: 6922 RVA: 0x00072BDC File Offset: 0x00070DDC
285 public bool CanRollPrefix(int prefix)
286 {
287 if (this.type == 0)
288 {
289 return;
290 }
291 int num = this.maxStack;
292 int num2 = this.damage;
293 if (!this.accessory || this.GetRollablePrefixes() != null)
294 {
295 return;
296 }
297 }
298
299 // Token: 0x06001B0B RID: 6923 RVA: 0x00072C18 File Offset: 0x00070E18
300 public bool CanApplyPrefix(int prefix)
301 {
302 bool flag = this.CanRollPrefix(prefix);
303 bool flag2;
304 return flag2;
305 }
306
307 // Token: 0x06001B0C RID: 6924 RVA: 0x00072C30 File Offset: 0x00070E30
308 private bool TryGetPrefixStatMultipliersForItem(int rolledPrefix, [Out] float dmg, [Out] float kb, [Out] float spd, [Out] float size, [Out] float shtspd, [Out] float mcst, [Out] int crt)
309 {
310 /*
311An exception occurred when decompiling this method (06001B0C)
312
313ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Item::TryGetPrefixStatMultipliersForItem(System.Int32,System.Single,System.Single,System.Single,System.Single,System.Single,System.Single,System.Int32)
314
315 ---> System.Exception: Basic block has to end with unconditional control flow.
316{
317 IL_010C:
318 stloc:int32(var_19_112, ldfld:int32(Item::mana, ldloc:Item(this)))
319 stloc:float32(var_20_11A, ldfld:float32(Item::knockBack, ldloc:Item(this)))
320 stloc:int32(var_23_127, ldc.i4:int32(52429))
321 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_14_DE), ldloc:int32(var_23_127))
322 stloc:int32(var_24_137, ldc.i4:int32(13107))
323 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_14_DE), ldloc:int32(var_24_137))
324 stloc:int32(var_25_147, ldc.i4:int32(26214))
325 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_16_F2), ldloc:int32(var_25_147))
326 stloc:int32(var_26_157, ldc.i4:int32(52429))
327 stfld:int32(int32::m_value, ldloc:int32[exp:int32&](var_14_DE), ldloc:int32(var_26_157))
328}
329
330 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
331 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
332 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
333 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
334 --- End of inner exception stack trace ---
335 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
336 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
337*/;
338 }
339
340 // Token: 0x06001B0D RID: 6925 RVA: 0x00072DA0 File Offset: 0x00070FA0
341 public int[] GetRollablePrefixes()
342 {
343 /*
344An exception occurred when decompiling this method (06001B0D)
345
346ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32[] Terraria.Item::GetRollablePrefixes()
347
348 ---> System.Exception: Basic block has to end with unconditional control flow.
349{
350 IL_0014:
351 stloc:bool(var_1_1A, call:bool(Item::IsAPrefixableAccessory, ldloc:Item(this)))
352}
353
354 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
355 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
356 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
357 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
358 --- End of inner exception stack trace ---
359 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
360 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
361*/;
362 }
363
364 // Token: 0x06001B0E RID: 6926 RVA: 0x00072DCC File Offset: 0x00070FCC
365 private bool RollAPrefix(UnifiedRandom random, int rolledPrefix)
366 {
367 while (this.GetRollablePrefixes() == null)
368 {
369 }
370 }
371
372 // Token: 0x06001B0F RID: 6927 RVA: 0x00072DE4 File Offset: 0x00070FE4
374 {
375 /*
376An exception occurred when decompiling this method (06001B0F)
377
378ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Item::IsAPrefixableAccessory()
379
380 ---> System.Exception: Basic block has to end with unconditional control flow.
381{
382 IL_0014:
383 brtrue(IL_0000, ldloc:bool(var_0))
384}
385
386 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
387 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
388 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
389 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
390 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
391 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
392 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
393 --- End of inner exception stack trace ---
394 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
395 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
396*/;
397 }
398
399 // Token: 0x06001B10 RID: 6928 RVA: 0x00072E08 File Offset: 0x00071008
400 public string AffixName()
401 {
402 if (!true)
403 {
404 }
405 byte b = this.prefix;
406 return this.Name;
407 }
408
409 // Token: 0x06001B11 RID: 6929 RVA: 0x00072E30 File Offset: 0x00071030
410 public void RebuildTooltip()
411 {
412 int num = this.type;
413 ItemTooltip tooltip = Lang.GetTooltip(this.netID);
414 this.ToolTip = tooltip;
415 }
416
417 // Token: 0x06001B12 RID: 6930 RVA: 0x00072E58 File Offset: 0x00071058
419 {
420 /*
421An exception occurred when decompiling this method (06001B12)
422
423ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Rectangle Terraria.Item::getRect()
424
425 ---> System.Exception: Basic block has to end with unconditional control flow.
426{
427 Block_0:
428 stloc:float32(var_0_0B, ldfld:float32(Vector2::X, ldfld:Vector2[exp:valuetype Microsoft.Xna.Framework.Vector2&](Entity::position, ldloc:Item[exp:Entity](this))))
429 stloc:float32(var_1_17, ldfld:float32(Vector2::Y, ldfld:Vector2[exp:valuetype Microsoft.Xna.Framework.Vector2&](Entity::position, ldloc:Item[exp:Entity](this))))
430 stloc:int32(var_2_1E, ldfld:int32(Entity::width, ldloc:Item[exp:Entity](this)))
431 stloc:bool(var_3_25, ldfld:bool(Entity::wet, ldloc:Item[exp:Entity](this)))
432}
433
434 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
435 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
436 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
437 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
438 --- End of inner exception stack trace ---
439 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
440 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
441*/;
442 }
443
444 // Token: 0x06001B13 RID: 6931 RVA: 0x00072E8C File Offset: 0x0007108C
445 public bool checkMat()
446 {
447 /*
448An exception occurred when decompiling this method (06001B13)
449
450ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Item::checkMat()
451
452 ---> System.Exception: Basic block has to end with unconditional control flow.
453{
454 IL_0019:
455 stloc:int64(var_17_67, ldc.i4:int64(0))
456 stfld:bool(Item::material, ldloc:Item(this), ldloc:int64[exp:bool](var_17_67))
457}
458
459 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
460 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
461 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
462 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
463 --- End of inner exception stack trace ---
464 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
465 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
466*/;
467 }
468
469 // Token: 0x06001B14 RID: 6932 RVA: 0x00072F0C File Offset: 0x0007110C
470 public void netDefaults(int type)
471 {
472 }
473
474 // Token: 0x06001B15 RID: 6933 RVA: 0x00072F1C File Offset: 0x0007111C
475 public static int BannerToItem(int banner)
476 {
477 return 5352;
478 }
479
480 // Token: 0x06001B16 RID: 6934 RVA: 0x00072F50 File Offset: 0x00071150
481 public static int NPCtoBanner(int i)
482 {
483 }
484
485 // Token: 0x06001B17 RID: 6935 RVA: 0x00072F60 File Offset: 0x00071160
486 public static int BannerToNPC(int i)
487 {
488 }
489
490 // Token: 0x06001B18 RID: 6936 RVA: 0x00072F70 File Offset: 0x00071170
491 public bool FitsAmmoSlot()
492 {
493 if (this.type != 0)
494 {
495 int num = this.ammo;
496 int num2 = this.bait;
497 }
498 bool flag = this.notAmmo;
499 if (flag)
500 {
501 }
502 return true;
503 }
504
505 // Token: 0x06001B19 RID: 6937 RVA: 0x00072FA8 File Offset: 0x000711A8
507 {
508 /*
509An exception occurred when decompiling this method (06001B19)
510
511ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Item::CanFillEmptyAmmoSlot()
512
513 ---> System.Exception: Basic block has to end with unconditional control flow.
514{
515 IL_0019:
516 stloc:int32(var_2_1F, ldfld:int32(Item::type, ldloc:Item(this)))
517 stloc:bool(var_4_28, ldfld:bool(Item::notAmmo, ldloc:Item(this)))
518}
519
520 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
521 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
522 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
523 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
524 --- End of inner exception stack trace ---
525 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
526 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
527*/;
528 }
529
530 // Token: 0x06001B1A RID: 6938 RVA: 0x00072FE0 File Offset: 0x000711E0
531 public void SetDefaults1(int type)
532 {
533 }
534
535 // Token: 0x06001B1B RID: 6939 RVA: 0x00080430 File Offset: 0x0007E630
536 public void SetDefaults2(int type)
537 {
538 }
539
540 // Token: 0x06001B1C RID: 6940 RVA: 0x0008A484 File Offset: 0x00088684
541 public void SetDefaults3(int type)
542 {
543 }
544
545 // Token: 0x06001B1D RID: 6941 RVA: 0x000919B8 File Offset: 0x0008FBB8
546 public void DefaultToQuestFish()
547 {
548 this.questItem = true;
549 this.maxStack = 1;
550 this.uniqueStack = true;
551 }
552
553 // Token: 0x06001B1E RID: 6942 RVA: 0x000919DC File Offset: 0x0008FBDC
554 public void SetDefaults4(int type)
555 {
556 }
557
558 // Token: 0x06001B1F RID: 6943 RVA: 0x0009C6BC File Offset: 0x0009A8BC
559 public void DefaultToGolfBall(int projid)
560 {
562 this.useStyle = 1;
563 this.shootSpeed = (float)16704;
564 this.maxStack = 1;
565 if (16704 == 0)
566 {
567 }
568 this.noUseGraphic = 257 != 0;
569 this.UseSound = 16704;
570 this.accessory = true;
571 if (16704 == 0)
572 {
573 }
574 this.rare = 2;
575 this.value = 10000;
577 }
578
579 // Token: 0x06001B20 RID: 6944 RVA: 0x0009C730 File Offset: 0x0009A930
580 public void SetDefaults5(int type)
581 {
582 }
583
584 // Token: 0x06001B21 RID: 6945 RVA: 0x000A5838 File Offset: 0x000A3A38
586 {
587 int num = 1;
588 this.shoot = num;
589 if (num == 0)
590 {
591 }
592 this.ammo = num;
593 if (num == 0)
594 {
595 }
596 int num2 = 1500;
597 int num3 = 3;
599 this.rare = num3;
600 int num4 = 1;
601 this.consumable = num4 != 0;
603 }
604
605 // Token: 0x06001B22 RID: 6946 RVA: 0x000A5884 File Offset: 0x000A3A84
606 public void DefaultToWhip(int projectileId, int dmg, float kb, float shootspeed, int animationTotalTime = 30)
607 {
610 this.useStyle = 1;
611 this.width = (int)kb;
613 if (!true)
614 {
615 }
616 this.summon = true;
617 this.noUseGraphic = 257 != 0;
619 this.UseSound = 1;
620 }
621
622 // Token: 0x06001B23 RID: 6947 RVA: 0x000A58DC File Offset: 0x000A3ADC
623 public void DefaultTokite(int projId)
624 {
625 this.width = (int)2.8E-44f;
626 long num = 0L;
627 this.DefaultToThrownWeapon(projId, 30, 2.8E-44f, num != 0L);
628 this.noUseGraphic = true;
629 this.maxStack = 1;
630 this.rare = 1;
631 this.value = 20000;
632 }
633
634 // Token: 0x06001B24 RID: 6948 RVA: 0x000A5928 File Offset: 0x000A3B28
635 public void ChangeItemType(int to)
636 {
637 bool flag = this.favorited;
638 this.favorited = flag;
639 }
640
641 // Token: 0x06001B25 RID: 6949 RVA: 0x000A5944 File Offset: 0x000A3B44
642 public void DefaultToVanitypet(int projId, int buffID)
643 {
644 this.useStyle = 1;
645 this.rare = 3;
646 this.noMelee = true;
648 this.value = 34464;
650 }
651
652 // Token: 0x17000387 RID: 903
653 // (get) Token: 0x06001B26 RID: 6950 RVA: 0x000A5980 File Offset: 0x000A3B80
654 public bool IsACoin
655 {
656 get
657 {
658 /*
659An exception occurred when decompiling this method (06001B26)
660
661ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Item::get_IsACoin()
662
663 ---> System.Exception: Basic block has to end with unconditional control flow.
664{
665 Block_0:
666 stloc:int32(var_0_06, ldfld:int32(Item::type, ldloc:Item(this)))
667}
668
669 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
670 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
671 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
672 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
673 --- End of inner exception stack trace ---
674 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
675 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
676*/;
677 }
678 }
679
680 // Token: 0x06001B27 RID: 6951 RVA: 0x000A5994 File Offset: 0x000A3B94
681 public static bool IsAGolfingItem(Item item)
682 {
683 for (;;)
684 {
685 int num = 1;
686 if (num == 0)
687 {
688 }
689 if (num != 0)
690 {
691 return;
692 }
693 }
694 }
695
696 // Token: 0x06001B28 RID: 6952 RVA: 0x000A59AC File Offset: 0x000A3BAC
697 private void DefaultToSeaShell()
698 {
699 this.useStyle = 1;
700 this.autoReuse = true;
701 int num = this.type;
702 this.consumable = true;
703 this.createTile = 324;
704 this.placeStyle = 4;
705 if (4 == 0)
706 {
707 }
708 }
709
710 // Token: 0x06001B29 RID: 6953 RVA: 0x000A5A14 File Offset: 0x000A3C14
712 {
713 this.useStyle = 1;
714 this.autoReuse = 257 != 0;
715 if (257 == 0)
716 {
717 }
718 this.consumable = true;
719 this.noUseGraphic = true;
720 this.maxStack = 257;
722 }
723
724 // Token: 0x06001B2A RID: 6954 RVA: 0x000A5A5C File Offset: 0x000A3C5C
726 {
731 this.autoReuse = true;
732 this.useStyle = 5;
733 this.noMelee = true;
734 this.magic = true;
736 if (!true)
737 {
738 }
739 this.UseSound = 1;
740 }
741
742 // Token: 0x06001B2B RID: 6955 RVA: 0x000A5AB4 File Offset: 0x000A3CB4
744 {
745 this.useStyle = 5;
746 if (5 == 0)
747 {
748 }
750 this.noUseGraphic = 257 != 0;
751 this.melee = true;
752 this.UseSound = 5;
755 }
756
757 // Token: 0x06001B2C RID: 6956 RVA: 0x000A5AFC File Offset: 0x000A3CFC
758 private void SetFoodDefaults(int type)
759 {
760 }
761
762 // Token: 0x06001B2D RID: 6957 RVA: 0x000A6168 File Offset: 0x000A4368
763 public void DefaultToMount(int mount)
764 {
765 this.mountType = mount;
766 }
767
768 // Token: 0x06001B2E RID: 6958 RVA: 0x000A617C File Offset: 0x000A437C
770 {
771 this.useStyle = 1;
772 this.autoReuse = 257 != 0;
773 if (257 == 0)
774 {
775 }
776 this.consumable = true;
777 this.maxStack = 257;
778 }
779
780 // Token: 0x06001B2F RID: 6959 RVA: 0x000A61B4 File Offset: 0x000A43B4
781 public void SetWeaponValues(int dmg, float knockback, int bonusCritChance = 0)
782 {
785 }
786
787 // Token: 0x06001B30 RID: 6960 RVA: 0x000A61D0 File Offset: 0x000A43D0
788 public void DefaultToBow(int singleShotTime, float shotVelocity, bool hasAutoReuse = false)
789 {
790 if (!true)
791 {
792 }
793 this.useStyle = 5;
796 this.shoot = 1;
797 this.noMelee = true;
798 this.ranged = true;
799 this.useAmmo = 1;
800 if (!true)
801 {
802 }
803 this.UseSound = 1;
804 }
805
806 // Token: 0x06001B31 RID: 6961 RVA: 0x000A621C File Offset: 0x000A441C
807 public void DefaultToMagicWeapon(int projType, int singleShotTime, float shotVelocity, bool hasAutoReuse = false)
808 {
812 this.useStyle = 5;
813 this.noMelee = true;
814 this.magic = true;
815 }
816
817 // Token: 0x06001B32 RID: 6962 RVA: 0x000A6254 File Offset: 0x000A4454
828
829 // Token: 0x06001B33 RID: 6963 RVA: 0x000A6294 File Offset: 0x000A4494
831 {
835 this.useStyle = 1;
836 this.noMelee = true;
837 this.ranged = true;
838 this.consumable = true;
839 if (!true)
840 {
841 }
842 this.maxStack = 1;
843 }
844
845 // Token: 0x06001B34 RID: 6964 RVA: 0x000A62DC File Offset: 0x000A44DC
847 {
848 this.flame = true;
849 this.holdStyle = 1;
850 this.noWet = true;
851 this.autoReuse = true;
852 if (!true)
853 {
854 }
855 this.createTile = 4;
857 this.consumable = true;
858 this.value = 60;
859 this.useStyle = 1;
860 this.useTurn = true;
861 this.maxStack = 1;
862 }
863
864 // Token: 0x06001B35 RID: 6965 RVA: 0x000A633C File Offset: 0x000A453C
869
870 // Token: 0x06001B36 RID: 6966 RVA: 0x000A6354 File Offset: 0x000A4554
872 {
874 this.createTile = 1;
875 this.useStyle = 1;
876 if (!true)
877 {
878 }
879 this.useTurn = true;
880 this.maxStack = 1;
881 }
882
883 // Token: 0x06001B37 RID: 6967 RVA: 0x000A6388 File Offset: 0x000A4588
889
890 // Token: 0x06001B38 RID: 6968 RVA: 0x000A63A4 File Offset: 0x000A45A4
892 {
894 this.wet = newheight != 0;
895 this.channel = true;
896 this.holdStyle = (byte)2052;
897 this.noMelee = true;
898 }
899
900 // Token: 0x06001B39 RID: 6969 RVA: 0x000A63D8 File Offset: 0x000A45D8
902 {
904 this.wet = newheight != 0;
905 this.holdStyle = (byte)2817;
906 if (2817 == 0)
907 {
908 }
909 this.autoReuse = true;
910 this.UseSound = 2817;
911 }
912
913 // Token: 0x06001B3A RID: 6970 RVA: 0x000A6418 File Offset: 0x000A4618
914 public void DefaultToFood(int newwidth, int newheight, int foodbuff, int foodbuffduration, bool useGulpSound = false, int animationTime = 17)
915 {
916 if (!true)
917 {
918 }
919 this.useStyle = (byte)1016;
920 this.useTurn = true;
921 this.UseSound = 1;
924 if (!true)
925 {
926 }
927 this.consumable = true;
929 this.wet = newheight != 0;
932 this.rare = 1;
933 this.maxStack = 1;
934 this.value = 2000;
935 }
936
937 // Token: 0x06001B3B RID: 6971 RVA: 0x000A6494 File Offset: 0x000A4694
939 {
940 if (!true)
941 {
942 }
943 this.useStyle = 9;
944 this.useTurn = true;
947 this.UseSound = 1;
948 if (!true)
949 {
950 }
952 this.wet = newheight != 0;
953 this.rare = 1;
954 this.value = 2000;
955 this.potion = 257 != 0;
956 this.maxStack = 1;
958 }
959
960 // Token: 0x06001B3C RID: 6972 RVA: 0x000A6508 File Offset: 0x000A4708
961 public void SetShopValues(ItemRarityColor rarity, int coinValue)
962 {
963 this.rare = (int)rarity;
964 this.value = coinValue;
965 }
966
967 // Token: 0x06001B3D RID: 6973 RVA: 0x000A6524 File Offset: 0x000A4724
969 {
971 this.wet = newheight != 0;
973 }
974
975 // Token: 0x06001B3E RID: 6974 RVA: 0x000A6548 File Offset: 0x000A4748
976 public void DefaultToAccessory(int newwidth = 24, int newheight = 24)
977 {
979 this.wet = newheight != 0;
980 this.accessory = true;
981 }
982
983 // Token: 0x06001B3F RID: 6975 RVA: 0x000A656C File Offset: 0x000A476C
984 public void DefaultToGuitar(int newwidth = 24, int newheight = 24)
985 {
987 this.wet = newheight != 0;
988 this.autoReuse = true;
989 this.holdStyle = (byte)3077;
990 }
991
992 // Token: 0x06001B40 RID: 6976 RVA: 0x000A659C File Offset: 0x000A479C
993 public void DefaultToMusicBox(int style)
994 {
995 this.createTile = 139;
996 this.placeStyle = style;
997 this.useStyle = 1;
998 this.useTurn = true;
999 this.rare = 4;
1000 this.value = 34464;
1001 this.accessory = true;
1002 this.hasVanityEffects = true;
1003 }
1004
1005 // Token: 0x06001B41 RID: 6977 RVA: 0x000A65EC File Offset: 0x000A47EC
1006 public void SetDefaults(int Type = 0)
1007 {
1008 }
1009
1010 // Token: 0x06001B42 RID: 6978 RVA: 0x000A65FC File Offset: 0x000A47FC
1011 public void SetDefaults(int Type, bool noMatCheck = false, [Optional] ItemVariant variant)
1012 {
1013 int num = 1;
1014 if (num == 0)
1015 {
1016 }
1018 if (num == 0)
1019 {
1020 }
1021 bool netHost = Main.NetHost;
1022 if (num == 0)
1023 {
1024 }
1025 if (num == 0)
1026 {
1027 }
1028 int myPlayer = Main.myPlayer;
1029 }
1030
1031 // Token: 0x06001B43 RID: 6979 RVA: 0x000A6A18 File Offset: 0x000A4C18
1032 public void OnCreated(ItemCreationContext context)
1033 {
1034 int num = this.type;
1035 }
1036
1037 // Token: 0x06001B44 RID: 6980 RVA: 0x000A6A30 File Offset: 0x000A4C30
1038 public void ResetStats(int Type)
1039 {
1040 int num = 65535;
1041 int num2 = 1;
1042 this.makeNPC = (short)num;
1043 this.active = num2 != 0;
1044 if (num == 0)
1045 {
1046 }
1047 int num3 = 16256;
1048 int num4 = 65535;
1049 this.glowMask = (short)num4;
1050 this.scale = (float)num3;
1051 this.handOnSlot = (sbyte)num4;
1052 this.neckSlot = (sbyte)num4;
1053 this.type = Type;
1054 }
1055
1056 // Token: 0x06001B45 RID: 6981 RVA: 0x000A6A88 File Offset: 0x000A4C88
1058 {
1059 int num = this.alpha;
1060 Color color;
1061 return color;
1062 }
1063
1064 // Token: 0x06001B46 RID: 6982 RVA: 0x000A6AA0 File Offset: 0x000A4CA0
1066 {
1067 /*
1068An exception occurred when decompiling this method (06001B46)
1069
1070ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Color Terraria.Item::GetAlpha(Microsoft.Xna.Framework.Graphics.Color)
1071
1072 ---> System.Exception: Basic block has to end with unconditional control flow.
1073{
1074 IL_00C0:
1075 stloc:int32(var_28_C6, ldfld:int32(Item::alpha, ldloc:Item(this)))
1076}
1077
1078 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
1079 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
1080 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
1081 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
1082 --- End of inner exception stack trace ---
1083 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
1084 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
1085*/;
1086 }
1087
1088 // Token: 0x06001B47 RID: 6983 RVA: 0x000A6B94 File Offset: 0x000A4D94
1090 {
1091 byte g = this.color.G;
1092 byte r = this.color.R;
1093 byte b = this.color.B;
1094 Color color = this.color;
1095 Color color2;
1096 return color2;
1097 }
1098
1099 // Token: 0x06001B48 RID: 6984 RVA: 0x000A6BD0 File Offset: 0x000A4DD0
1100 public static bool MechSpawn(float x, float y, int type)
1101 {
1102 /*
1103An exception occurred when decompiling this method (06001B48)
1104
1105ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Item::MechSpawn(System.Single,System.Single,System.Int32)
1106
1107 ---> System.Exception: Basic block has to end with unconditional control flow.
1108{
1109 IL_0000:
1110 brtrue(IL_0000, ldc.i4:bool(1))
1111}
1112
1113 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
1114 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
1115 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
1116 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
1117 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
1118 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
1119 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
1120 --- End of inner exception stack trace ---
1121 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
1122 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
1123*/;
1124 }
1125
1126 // Token: 0x06001B49 RID: 6985 RVA: 0x000021DB File Offset: 0x000003DB
1127 public static int buyPrice(int platinum = 0, int gold = 0, int silver = 0, int copper = 0)
1128 {
1129 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1130 }
1131
1132 // Token: 0x06001B4A RID: 6986 RVA: 0x000021DB File Offset: 0x000003DB
1133 public static int sellPrice(int platinum = 0, int gold = 0, int silver = 0, int copper = 0)
1134 {
1135 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1136 }
1137
1138 // Token: 0x06001B4B RID: 6987 RVA: 0x000A6BEC File Offset: 0x000A4DEC
1139 public bool CanShimmer()
1140 {
1141 for (;;)
1142 {
1144 int num = this.type;
1145 int num2;
1146 if (5364 == 0)
1147 {
1148 num2 = this.type;
1149 }
1150 if (num2 != 0)
1151 {
1152 }
1153 int num3 = this.type;
1154 int num4 = this.createTile;
1155 if (num4 == 0)
1156 {
1157 }
1158 int num5 = this.FindDecraftAmount();
1159 if (num4 == 0)
1160 {
1161 }
1162 if (num4 != 0)
1163 {
1164 return;
1165 }
1166 }
1167 }
1168
1169 // Token: 0x06001B4C RID: 6988 RVA: 0x000A6C4C File Offset: 0x000A4E4C
1170 private void Shimmering()
1171 {
1172 bool flag = this.CanShimmer();
1173 long num = 0L;
1174 Vector2 center = base.Center;
1175 float y = this.position.Y;
1176 if (15744 == 0)
1177 {
1178 }
1179 long num2 = 0L;
1180 bool flag2 = WorldGen.InWorld(0, (int)num, (int)num2);
1181 if (15744 == 0)
1182 {
1183 }
1184 Tile tile;
1185 byte liquid = tile.liquid;
1186 Tile tile2;
1187 bool flag3 = tile2.shimmer();
1189 int myPlayer = Main.myPlayer;
1190 if (this.playerIndexTheItemIsReservedFor == 0)
1191 {
1192 }
1193 float num4 = this.shimmerTime;
1194 }
1195
1196 // Token: 0x06001B4D RID: 6989 RVA: 0x000A6CF8 File Offset: 0x000A4EF8
1197 private int FindDecraftAmount()
1198 {
1199 /*
1200An exception occurred when decompiling this method (06001B4D)
1201
1202ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.Item::FindDecraftAmount()
1203
1204 ---> System.Exception: Basic block has to end with unconditional control flow.
1205{
1206 IL_0000:
1207 stloc:int32(var_0_01, ldc.i4:int32(1))
1208 stloc:int32(var_1_0D, call:int32(ShimmerTransforms::GetDecraftingRecipeIndex, call:int32(Item::GetShimmerEquivalentType, ldloc:Item(this))))
1209 stloc:int32(var_2_14, ldfld:int32(Item::stack, ldloc:Item(this)))
1210 brtrue(IL_0000, ldloc:int32[exp:bool](var_0_01))
1211}
1212
1213 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
1214 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
1215 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
1216 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
1217 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
1218 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
1219 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
1220 --- End of inner exception stack trace ---
1221 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
1222 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
1223*/;
1224 }
1225
1226 // Token: 0x06001B4E RID: 6990 RVA: 0x000A6D1C File Offset: 0x000A4F1C
1228 {
1229 /*
1230An exception occurred when decompiling this method (06001B4E)
1231
1232ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.Item::GetShimmerEquivalentType()
1233
1234 ---> System.Exception: Basic block has to end with unconditional control flow.
1235{
1236 IL_0000:
1237 brtrue(IL_0000, ldc.i4:bool(1))
1238}
1239
1240 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
1241 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
1242 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
1243 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
1244 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
1245 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
1246 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
1247 --- End of inner exception stack trace ---
1248 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
1249 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
1250*/;
1251 }
1252
1253 // Token: 0x06001B4F RID: 6991 RVA: 0x000A6D2C File Offset: 0x000A4F2C
1254 private void GetShimmered()
1255 {
1257 int num = this.stack;
1258 }
1259
1260 // Token: 0x06001B50 RID: 6992 RVA: 0x000A7100 File Offset: 0x000A5300
1262 {
1263 if (!true)
1264 {
1265 }
1266 int num;
1267 if (num == 0)
1268 {
1269 return;
1270 }
1271 }
1272
1273 // Token: 0x06001B51 RID: 6993 RVA: 0x000A7130 File Offset: 0x000A5330
1274 public void FixAgainstExploit()
1275 {
1276 int num = 1;
1277 if (num == 0)
1278 {
1279 }
1280 if (num != 0)
1281 {
1282 return;
1283 }
1284 int num2 = this.stack;
1285 int num3 = this.pick;
1286 this.stack = num3;
1287 byte b = this.prefix;
1288 if (b != 0)
1289 {
1290 bool flag = this.CanRollPrefix((int)b);
1291 if (this.prefix != 0)
1292 {
1293 long num4 = 0L;
1294 this.Refresh(num4 != 0L);
1295 return;
1296 }
1297 }
1298 }
1299
1300 // Token: 0x06001B52 RID: 6994 RVA: 0x000A7184 File Offset: 0x000A5384
1301 public void UpdateItem(int i)
1302 {
1303 this.whoAmI = i;
1304 bool netHost = Main.NetHost;
1305 }
1306
1307 // Token: 0x06001B53 RID: 6995 RVA: 0x000A75F8 File Offset: 0x000A57F8
1308 private void DespawnIfMeetingConditions(int i)
1309 {
1310 if (this.type == 0)
1311 {
1312 }
1313 if (!this.shimmered && !this.beingGrabbed)
1314 {
1315 float x = this.position.X;
1316 float y = this.position.Y;
1317 int width = this.width;
1318 bool wet = this.wet;
1319 float x2 = this.velocity.X;
1320 float y2 = this.velocity.Y;
1321 float x3 = this.velocity.X;
1322 float y3 = this.velocity.Y;
1323 float x4 = this.position.X;
1324 float y4 = this.position.Y;
1325 bool netHost = Main.NetHost;
1326 }
1327 int num = this.type;
1328 int num2 = 4143;
1329 int num3 = this.timeSinceItemSpawned;
1330 float x5 = this.position.X;
1331 float y5 = this.position.Y;
1332 int width2 = this.width;
1333 bool wet2 = this.wet;
1334 float x6 = this.velocity.X;
1335 float y6 = this.velocity.Y;
1336 if (num3 == 0)
1337 {
1338 }
1339 if (num2 == 0)
1340 {
1341 }
1342 bool netHost2 = Main.NetHost;
1343 int num4 = this.type;
1344 if (num4 == 0)
1345 {
1346 }
1347 if (num4 == 0)
1348 {
1349 if (num4 == 0)
1350 {
1351 }
1352 Vector2 center = base.Center;
1353 Vector2 center2 = base.Center;
1354 return;
1355 }
1356 }
1357
1358 // Token: 0x06001B54 RID: 6996 RVA: 0x000A7764 File Offset: 0x000A5964
1360 {
1361 int num = this.type;
1362 int num2 = this.type;
1364 int myPlayer = Main.myPlayer;
1365 }
1366
1367 // Token: 0x06001B55 RID: 6997 RVA: 0x000A77B4 File Offset: 0x000A59B4
1369 {
1370 int num = this.type;
1371 if (num == 0)
1372 {
1373 }
1374 if (num == 0)
1375 {
1376 }
1377 if (num == 0)
1378 {
1379 return;
1380 }
1381 }
1382
1383 // Token: 0x06001B56 RID: 6998 RVA: 0x000A77E8 File Offset: 0x000A59E8
1384 private void CheckLavaDeath(int i)
1385 {
1386 if (this.type == 0)
1387 {
1388 }
1389 bool logicHost = Main.LogicHost;
1390 int num = this.stack;
1391 float x = this.position.X;
1392 float y = this.position.Y;
1393 bool netHost = Main.NetHost;
1394 }
1395
1396 // Token: 0x06001B57 RID: 6999 RVA: 0x000A7870 File Offset: 0x000A5A70
1397 private void MoveInWorld(float gravity, float maxFallSpeed, Vector2 wetVelocity, int i)
1398 {
1399 long num;
1400 if (!this.shimmered)
1401 {
1402 float x = this.velocity.X;
1403 num = -1717986919L;
1404 this.velocity.X = x;
1405 return;
1406 }
1407 if (this.active)
1408 {
1409 int width = this.width;
1410 Vector2 center = base.Center;
1411 Vector2 center2 = base.Center;
1412 Vector2 center3 = base.Center;
1413 Vector2 center4 = base.Center;
1414 float x2 = this.velocity.X;
1416 return;
1417 }
1418 float x3 = this.velocity.X;
1419 float y = this.velocity.Y;
1420 this.velocity.Y = y;
1421 float x4 = this.position.X;
1422 float y2 = this.position.Y;
1423 int width2 = this.width;
1424 bool wet = this.wet;
1425 int num2 = 1;
1426 this.lavaWet = num2 != 0;
1427 float x5 = this.position.X;
1428 float y3 = this.position.Y;
1429 int width3 = this.width;
1430 bool wet2 = this.wet;
1431 if (num2 == 0)
1432 {
1433 }
1434 int num3;
1435 if (num != 0L)
1436 {
1437 num3 = 1;
1438 this.honeyWet = num3 != 0;
1439 }
1440 if (num3 == 0)
1441 {
1442 }
1443 bool wet3 = this.wet;
1444 }
1445
1446 // Token: 0x06001B58 RID: 7000 RVA: 0x000A7EB0 File Offset: 0x000A60B0
1448 {
1449 int num = this.type;
1450 if (num == 0)
1451 {
1452 }
1453 if (num == 0)
1454 {
1455 Rectangle hitbox = base.Hitbox;
1456 if (num == 0)
1457 {
1458 }
1460 bool flag = rectangle.Intersects(rectangle);
1461 }
1462 }
1463
1464 // Token: 0x06001B59 RID: 7001 RVA: 0x000A7EF0 File Offset: 0x000A60F0
1466 {
1467 float x = this.position.X;
1468 float y = this.position.Y;
1469 int width = this.width;
1470 bool wet = this.wet;
1471 }
1472
1473 // Token: 0x06001B5A RID: 7002 RVA: 0x000A7FC0 File Offset: 0x000A61C0
1475 {
1476 int num = this.stack;
1477 int num2 = this.pick;
1478 bool flag = this.CanCombineStackInWorld();
1479 int num3;
1480 if (num != 0)
1481 {
1482 num3 = 30;
1483 return;
1484 }
1485 int num8;
1486 if (num3 != 0)
1487 {
1488 int num4 = this.type;
1489 bool flag2 = this.shimmered;
1491 int width = this.width;
1492 bool wet = this.wet;
1493 float x = this.position.X;
1494 float y = this.position.Y;
1495 if (width == 0)
1496 {
1497 }
1498 float x2 = this.velocity.X;
1499 float y2 = this.velocity.Y;
1502 int num6 = this.stack;
1503 int num7 = this.pick;
1504 num8 = this.stack;
1505 this.stack = num6;
1506 if (num6 == 0)
1507 {
1508 }
1509 if (num6 != 0)
1510 {
1512 if (num6 == 0)
1513 {
1514 }
1515 int myPlayer = Main.myPlayer;
1516 }
1517 if (num6 == 0)
1518 {
1519 }
1520 bool netHost = Main.NetHost;
1521 if (this.playerIndexTheItemIsReservedFor == 0)
1522 {
1523 }
1524 return;
1525 }
1526 while (num8 != 0)
1527 {
1528 }
1529 while (num8 != 0)
1530 {
1531 }
1532 while (num8 != 0)
1533 {
1534 }
1535 while (num8 != 0)
1536 {
1537 }
1538 }
1539
1540 // Token: 0x06001B5B RID: 7003 RVA: 0x000A80E8 File Offset: 0x000A62E8
1542 {
1543 /*
1544An exception occurred when decompiling this method (06001B5B)
1545
1546ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Item::CanCombineStackInWorld()
1547
1548 ---> System.Exception: Basic block has to end with unconditional control flow.
1549{
1550 IL_0013:
1551 brtrue(IL_0013, ldloc:int32[exp:bool](var_0_06))
1552}
1553
1554 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
1555 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
1556 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
1557 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
1558 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
1559 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
1560 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
1561 --- End of inner exception stack trace ---
1562 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
1563 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
1564*/;
1565 }
1566
1567 // Token: 0x06001B5C RID: 7004 RVA: 0x000A810C File Offset: 0x000A630C
1569 {
1570 int num = this.type;
1571 }
1572
1573 // Token: 0x06001B5D RID: 7005 RVA: 0x000A846C File Offset: 0x000A666C
1574 public static Rectangle GetDrawHitbox(int type, Player user)
1575 {
1576 int num = 1;
1577 if (num == 0)
1578 {
1579 }
1580 if (num == 0)
1581 {
1582 }
1583 int num2 = 1;
1584 if (num2 == 0)
1585 {
1586 }
1587 int num3 = num2.m_value;
1588 return 42183576;
1589 }
1590
1591 // Token: 0x06001B5E RID: 7006 RVA: 0x000A84A0 File Offset: 0x000A66A0
1592 public static int NewItem(Vector2 pos, Vector2 randomBox, int Type, int Stack = 1, bool noBroadcast = false, int prefixGiven = 0, bool noGrabDelay = false, bool reverseLookup = false)
1593 {
1594 if (!true)
1595 {
1596 }
1597 int num;
1598 return num;
1599 }
1600
1601 // Token: 0x06001B5F RID: 7007 RVA: 0x000A84B4 File Offset: 0x000A66B4
1602 public static int NewItem(int X, int Y, int Width, int Height, int Type, int Stack = 1, bool noBroadcast = false, int pfix = 0, bool noGrabDelay = false, bool reverseLookup = false)
1603 {
1604 if (!true)
1605 {
1606 }
1607 int num;
1608 return num;
1609 }
1610
1611 // Token: 0x06001B60 RID: 7008 RVA: 0x000A84C8 File Offset: 0x000A66C8
1612 public static int NewItem(IEntitySource source, Vector2 pos, Vector2 randomBox, int Type, int Stack = 1, bool noBroadcast = false, int prefixGiven = 0, bool noGrabDelay = false, bool reverseLookup = false)
1613 {
1614 if (!true)
1615 {
1616 }
1617 int num;
1618 return num;
1619 }
1620
1621 // Token: 0x06001B61 RID: 7009 RVA: 0x000A84DC File Offset: 0x000A66DC
1622 public static int NewItem(IEntitySource source, Vector2 pos, int Width, int Height, int Type, int Stack = 1, bool noBroadcast = false, int prefixGiven = 0, bool noGrabDelay = false, bool reverseLookup = false)
1623 {
1624 if (!true)
1625 {
1626 }
1627 int num;
1628 return num;
1629 }
1630
1631 // Token: 0x06001B62 RID: 7010 RVA: 0x000A84F0 File Offset: 0x000A66F0
1632 public static int NewItem(IEntitySource source, int X, int Y, int Width, int Height, int Type, int Stack = 1, bool noBroadcast = false, int pfix = 0, bool noGrabDelay = false, bool reverseLookup = false)
1633 {
1634 int num = 1;
1635 if (num == 0)
1636 {
1637 }
1638 if (num == 0)
1639 {
1640 }
1641 int num2 = 1734;
1642 int num3 = 1735;
1643 if (num2 == 0)
1644 {
1645 }
1646 if (1867 == 0)
1647 {
1648 }
1649 if (num3 == 0)
1650 {
1651 }
1652 bool logicHost = Main.LogicHost;
1653 int num4;
1654 return num4;
1655 }
1656
1657 // Token: 0x06001B63 RID: 7011 RVA: 0x000A859C File Offset: 0x000A679C
1659 {
1660 /*
1661An exception occurred when decompiling this method (06001B63)
1662
1663ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.Item::PickAnItemSlotToSpawnItemOn(System.Boolean,System.Int32)
1664
1665 ---> System.Exception: Basic block has to end with unconditional control flow.
1666{
1667 IL_002D:
1668 brtrue(IL_0000, ldloc:int32[exp:bool](var_0_05))
1669}
1670
1671 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
1672 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
1673 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1878
1674 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1846
1675 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
1676 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
1677 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
1678 --- End of inner exception stack trace ---
1679 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
1680 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
1681*/;
1682 }
1683
1684 // Token: 0x06001B64 RID: 7012 RVA: 0x000A85D8 File Offset: 0x000A67D8
1685 public void FindOwner(int whoAmI, bool ignoreDistance = true)
1686 {
1687 if (!true)
1688 {
1689 }
1690 float num = this.shimmerTime;
1691 if (this.keepTime == 0)
1692 {
1693 }
1694 if (!true)
1695 {
1696 }
1697 if (!this.instanced)
1698 {
1699 int num2 = this.type;
1700 int num3 = 255;
1702 int num4 = this.ownIgnore;
1703 return;
1704 }
1705 }
1706
1707 // Token: 0x06001B65 RID: 7013 RVA: 0x000A876C File Offset: 0x000A696C
1708 public Item Clone()
1709 {
1710 if (base.MemberwiseClone() != null)
1711 {
1712 }
1713 throw new InvalidCastException();
1714 }
1715
1716 // Token: 0x06001B66 RID: 7014 RVA: 0x000A8788 File Offset: 0x000A6988
1718 {
1719 int num = this.netID;
1721 int num2 = this.type;
1723 int num3 = this.stack;
1725 byte b = this.prefix;
1727 byte b2 = this.holdStyle;
1729 byte b3 = this.useStyle;
1731 short num4 = this.glowMask;
1733 int num5 = this.damage;
1735 int num6 = this.alpha;
1737 bool flag = this.noUseGraphic;
1739 bool flag2 = this.noWet;
1741 bool flag3 = this.ranged;
1743 float num7 = this.scale;
1745 Color color = this.color;
1747 bool flag4 = this.flame;
1749 int num8 = this.shoot;
1751 float num9 = this.shootSpeed;
1753 float num10 = this.knockBack;
1755 return cloneDestination;
1756 }
1757
1758 // Token: 0x06001B67 RID: 7015 RVA: 0x000A88B0 File Offset: 0x000A6AB0
1760 {
1761 if (base.MemberwiseClone() != null)
1762 {
1763 }
1764 throw new InvalidCastException();
1765 }
1766
1767 // Token: 0x06001B68 RID: 7016 RVA: 0x000A88CC File Offset: 0x000A6ACC
1769 {
1770 /*
1771An exception occurred when decompiling this method (06001B68)
1772
1773ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Item::IsTheSameAs(Terraria.Item)
1774
1775 ---> System.Exception: Basic block has to end with unconditional control flow.
1776{
1777 Block_0:
1778 stloc:int32(var_0_06, ldfld:int32(Item::netID, ldloc:Item(this)))
1779 stloc:int32(var_1_0D, ldfld:int32(Item::netID, ldloc:Item(compareItem)))
1780 stloc:int32(var_2_14, ldfld:int32(Item::type, ldloc:Item(this)))
1781 stloc:int32(var_3_1B, ldfld:int32(Item::type, ldloc:Item(compareItem)))
1782}
1783
1784 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.FlattenBasicBlocks(ILNode node) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 1852
1785 at ICSharpCode.Decompiler.ILAst.ILAstOptimizer.Optimize(DecompilerContext context, ILBlock method, AutoPropertyProvider autoPropertyProvider, StateMachineKind& stateMachineKind, MethodDef& inlinedMethod, AsyncMethodDebugInfo& asyncInfo, ILAstOptimizationStep abortBeforeStep) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\ILAst\ILAstOptimizer.cs:line 355
1786 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(IEnumerable`1 parameters, MethodDebugInfoBuilder& builder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 123
1787 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
1788 --- End of inner exception stack trace ---
1789 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 92
1790 at ICSharpCode.Decompiler.Ast.AstBuilder.AddMethodBody(EntityDeclaration methodNode, EntityDeclaration& updatedNode, MethodDef method, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, MethodKind methodKind) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstBuilder.cs:line 1683
1791*/;
1792 }
1793
1794 // Token: 0x06001B69 RID: 7017 RVA: 0x000A88F8 File Offset: 0x000A6AF8
1796 {
1797 int num = this.netID;
1798 int num2 = compareItem.netID;
1799 int num3 = this.stack;
1800 int num4 = compareItem.stack;
1801 byte b = this.prefix;
1802 byte b2 = compareItem.prefix;
1803 return true;
1804 }
1805
1806 // Token: 0x06001B6A RID: 7018 RVA: 0x000A8934 File Offset: 0x000A6B34
1807 public void SetNameOverride(string name)
1808 {
1810 }
1811
1812 // Token: 0x06001B6B RID: 7019 RVA: 0x000A8948 File Offset: 0x000A6B48
1813 public void ClearNameOverride()
1814 {
1815 }
1816
1817 // Token: 0x17000388 RID: 904
1818 // (get) Token: 0x06001B6C RID: 7020 RVA: 0x000A8958 File Offset: 0x000A6B58
1819 public bool IsAir
1820 {
1821 get
1822 {
1823 int num = this.type;
1824 int num2 = this.stack;
1825 return true;
1826 }
1827 }
1828
1829 // Token: 0x06001B6D RID: 7021 RVA: 0x000A8974 File Offset: 0x000A6B74
1830 public void TurnToAir(bool fullReset = false)
1831 {
1832 }
1833
1834 // Token: 0x06001B6E RID: 7022 RVA: 0x000A8984 File Offset: 0x000A6B84
1835 public void OnPurchase(Item item)
1836 {
1837 if (item.shopCustomPrice != null)
1838 {
1839 }
1840 }
1841
1842 // Token: 0x06001B6F RID: 7023 RVA: 0x000A899C File Offset: 0x000A6B9C
1843 public int GetStoreValue()
1844 {
1845 if (this.shopCustomPrice != null)
1846 {
1847 }
1848 return this.value;
1849 }
1850
1851 // Token: 0x06001B70 RID: 7024 RVA: 0x000A89B8 File Offset: 0x000A6BB8
1853 {
1854 if (context != ItemSerializationContext.SavingAndLoading)
1855 {
1856 return;
1857 }
1858 int num = this.netID;
1859 int num2 = this.stack;
1860 byte b = this.prefix;
1861 }
1862
1863 // Token: 0x06001B71 RID: 7025 RVA: 0x000A89E0 File Offset: 0x000A6BE0
1865 {
1866 if (context == ItemSerializationContext.SavingAndLoading)
1867 {
1868 this.stack = reader;
1869 }
1870 int num = this.type;
1871 this.mountType = num;
1872 }
1873
1874 // Token: 0x17000389 RID: 905
1875 // (get) Token: 0x06001B72 RID: 7026 RVA: 0x000A8A08 File Offset: 0x000A6C08
1876 public bool IsCurrency
1877 {
1878 get
1879 {
1880 int num = this.type;
1882 }
1883 }
1884
1885 // Token: 0x06001B73 RID: 7027 RVA: 0x000A8A24 File Offset: 0x000A6C24
1886 public void ResetPrefix()
1887 {
1888 if (this.prefix != 0)
1889 {
1890 long num = 0L;
1891 this.Refresh(num != 0L);
1892 return;
1893 }
1894 }
1895
1896 // Token: 0x06001B74 RID: 7028 RVA: 0x000A8A44 File Offset: 0x000A6C44
1897 public void Refresh(bool onlyIfVariantChanged = true)
1898 {
1899 int num = this.type;
1900 int num2 = this.stack;
1903 int num3 = this.stack;
1904 int num4 = this.netID;
1905 bool flag = this.favorited;
1906 byte b = this.prefix;
1907 this.netDefaults(num4);
1908 bool flag2 = this.Prefix((int)b);
1909 this.stack = num3;
1910 this.favorited = flag;
1911 }
1912
1913 // Token: 0x1700038A RID: 906
1914 // (get) Token: 0x06001B75 RID: 7029 RVA: 0x000021DB File Offset: 0x000003DB
1915 public bool CanBeQuickUsed
1916 {
1917 get
1918 {
1919 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1920 }
1921 }
1922
1923 // Token: 0x06001B76 RID: 7030 RVA: 0x000A8AB0 File Offset: 0x000A6CB0
1924 public Item()
1925 {
1926 int num = 1;
1927 int num2 = 65535;
1928 this.fishingPole = num;
1929 this.hairDye = (short)num2;
1930 int num3 = 16256;
1931 this.ownIgnore = num;
1932 this.scale = (float)num3;
1933 num.m_value = num3;
1934 int num4 = 255;
1936 if (num4 == 0)
1937 {
1938 }
1939 base..ctor();
1940 }
1941
1942 // Token: 0x06001B77 RID: 7031 RVA: 0x000A8B04 File Offset: 0x000A6D04
1943 // Note: this type is marked as 'beforefieldinit'.
1944 static Item()
1945 {
1946 if (9999 == 0)
1947 {
1948 }
1949 }
1950
1951 // Token: 0x04002831 RID: 10289
1952 public static int numberOfNewItems;
1953
1954 // Token: 0x04002832 RID: 10290
1955 private string _nameOverride;
1956
1957 // Token: 0x04002833 RID: 10291
1958 public const int luckPotionDuration1 = 18000;
1959
1960 // Token: 0x04002834 RID: 10292
1961 public const int luckPotionDuration2 = 36000;
1962
1963 // Token: 0x04002835 RID: 10293
1964 public const int luckPotionDuration3 = 54000;
1965
1966 // Token: 0x04002836 RID: 10294
1967 public const int flaskTime = 72000;
1968
1969 // Token: 0x04002837 RID: 10295
1970 public const int copper = 1;
1971
1972 // Token: 0x04002838 RID: 10296
1973 public const int silver = 100;
1974
1975 // Token: 0x04002839 RID: 10297
1976 public const int gold = 10000;
1977
1978 // Token: 0x0400283A RID: 10298
1979 public const int platinum = 1000000;
1980
1981 // Token: 0x0400283B RID: 10299
1982 public const int goldCritterRarityColor = 3;
1983
1984 // Token: 0x0400283C RID: 10300
1985 private static readonly int shadowOrbPrice;
1986
1987 // Token: 0x0400283D RID: 10301
1988 private static readonly int dungeonPrice;
1989
1990 // Token: 0x0400283E RID: 10302
1991 private static readonly int queenBeePrice;
1992
1993 // Token: 0x0400283F RID: 10303
1994 private static readonly int hellPrice;
1995
1996 // Token: 0x04002840 RID: 10304
1997 private static readonly int eclipsePrice;
1998
1999 // Token: 0x04002841 RID: 10305
2001
2002 // Token: 0x04002842 RID: 10306
2003 private static readonly int eclipseMothronPrice;
2004
2005 // Token: 0x04002843 RID: 10307
2006 public static int CommonMaxStack;
2007
2008 // Token: 0x04002844 RID: 10308
2009 public static int[] cachedItemSpawnsByType;
2010
2011 // Token: 0x04002845 RID: 10309
2012 public static int potionDelay;
2013
2014 // Token: 0x04002846 RID: 10310
2015 public static int restorationDelay;
2016
2017 // Token: 0x04002847 RID: 10311
2018 public static int mushroomDelay;
2019
2020 // Token: 0x04002848 RID: 10312
2021 public static int[] headType;
2022
2023 // Token: 0x04002849 RID: 10313
2024 public static int[] bodyType;
2025
2026 // Token: 0x0400284A RID: 10314
2027 public static int[] legType;
2028
2029 // Token: 0x0400284B RID: 10315
2030 public static bool[] staff;
2031
2032 // Token: 0x0400284C RID: 10316
2033 public static bool[] claw;
2034
2035 // Token: 0x0400284D RID: 10317
2036 public bool questItem;
2037
2038 // Token: 0x0400284E RID: 10318
2039 public bool flame;
2040
2041 // Token: 0x0400284F RID: 10319
2042 public bool mech;
2043
2044 // Token: 0x04002850 RID: 10320
2045 public bool beingGrabbed;
2046
2047 // Token: 0x04002851 RID: 10321
2048 public bool wornArmor;
2049
2050 // Token: 0x04002852 RID: 10322
2051 public bool expertOnly;
2052
2053 // Token: 0x04002853 RID: 10323
2054 public bool expert;
2055
2056 // Token: 0x04002854 RID: 10324
2057 public bool isAShopItem;
2058
2059 // Token: 0x04002855 RID: 10325
2060 public bool instanced;
2061
2062 // Token: 0x04002856 RID: 10326
2063 public bool favorited;
2064
2065 // Token: 0x04002857 RID: 10327
2066 public bool channel;
2067
2068 // Token: 0x04002858 RID: 10328
2069 public bool accessory;
2070
2071 // Token: 0x04002859 RID: 10329
2072 public bool potion;
2073
2074 // Token: 0x0400285A RID: 10330
2075 public bool consumable;
2076
2077 // Token: 0x0400285B RID: 10331
2078 public bool autoReuse;
2079
2080 // Token: 0x0400285C RID: 10332
2081 public bool useTurn;
2082
2083 // Token: 0x0400285D RID: 10333
2084 public bool notAmmo;
2085
2086 // Token: 0x0400285E RID: 10334
2087 public bool buyOnce;
2088
2089 // Token: 0x0400285F RID: 10335
2090 public bool noUseGraphic;
2091
2092 // Token: 0x04002860 RID: 10336
2093 public bool noMelee;
2094
2095 // Token: 0x04002861 RID: 10337
2096 public bool buy;
2097
2098 // Token: 0x04002862 RID: 10338
2099 public bool reforge;
2100
2101 // Token: 0x04002863 RID: 10339
2102 public bool social;
2103
2104 // Token: 0x04002864 RID: 10340
2105 public bool vanity;
2106
2107 // Token: 0x04002865 RID: 10341
2108 public bool material;
2109
2110 // Token: 0x04002866 RID: 10342
2111 public bool noWet;
2112
2113 // Token: 0x04002867 RID: 10343
2114 public bool cartTrack;
2115
2116 // Token: 0x04002868 RID: 10344
2117 public bool uniqueStack;
2118
2119 // Token: 0x04002869 RID: 10345
2120 public bool DD2Summon;
2121
2122 // Token: 0x0400286A RID: 10346
2123 public bool melee;
2124
2125 // Token: 0x0400286B RID: 10347
2126 public bool magic;
2127
2128 // Token: 0x0400286C RID: 10348
2129 public bool ranged;
2130
2131 // Token: 0x0400286D RID: 10349
2132 public bool summon;
2133
2134 // Token: 0x0400286E RID: 10350
2135 public bool sentry;
2136
2137 // Token: 0x0400286F RID: 10351
2138 public bool newAndShiny;
2139
2140 // Token: 0x04002870 RID: 10352
2142
2143 // Token: 0x04002871 RID: 10353
2144 private bool frozen;
2145
2146 // Token: 0x04002872 RID: 10354
2147 private byte frozenCount;
2148
2149 // Token: 0x04002873 RID: 10355
2150 public int noGrabDelay;
2151
2152 // Token: 0x04002874 RID: 10356
2154
2155 // Token: 0x04002875 RID: 10357
2156 public int tileWand;
2157
2158 // Token: 0x04002876 RID: 10358
2159 public int tooltipContext;
2160
2161 // Token: 0x04002877 RID: 10359
2162 public byte dye;
2163
2164 // Token: 0x04002878 RID: 10360
2165 public int fishingPole;
2166
2167 // Token: 0x04002879 RID: 10361
2168 public int bait;
2169
2170 // Token: 0x0400287A RID: 10362
2171 public const int coinGrabRange = 350;
2172
2173 // Token: 0x0400287B RID: 10363
2174 public const int manaGrabRange = 300;
2175
2176 // Token: 0x0400287C RID: 10364
2177 public const int lifeGrabRange = 250;
2178
2179 // Token: 0x0400287D RID: 10365
2180 public const int treasureGrabRange = 150;
2181
2182 // Token: 0x0400287E RID: 10366
2183 public short makeNPC;
2184
2185 // Token: 0x0400287F RID: 10367
2186 public short hairDye;
2187
2188 // Token: 0x04002880 RID: 10368
2189 public byte paint;
2190
2191 // Token: 0x04002881 RID: 10369
2192 public byte paintCoating;
2193
2194 // Token: 0x04002882 RID: 10370
2195 public int ownIgnore;
2196
2197 // Token: 0x04002883 RID: 10371
2198 public int ownTime;
2199
2200 // Token: 0x04002884 RID: 10372
2201 public int keepTime;
2202
2203 // Token: 0x04002885 RID: 10373
2205
2206 // Token: 0x04002886 RID: 10374
2207 public int type;
2208
2209 // Token: 0x04002887 RID: 10375
2210 public byte holdStyle;
2211
2212 // Token: 0x04002888 RID: 10376
2213 public byte useStyle;
2214
2215 // Token: 0x04002889 RID: 10377
2216 public int useAnimation;
2217
2218 // Token: 0x0400288A RID: 10378
2219 public int useTime;
2220
2221 // Token: 0x0400288B RID: 10379
2222 public int stack;
2223
2224 // Token: 0x0400288C RID: 10380
2225 public int maxStack;
2226
2227 // Token: 0x0400288D RID: 10381
2228 public int pick;
2229
2230 // Token: 0x0400288E RID: 10382
2231 public int axe;
2232
2233 // Token: 0x0400288F RID: 10383
2234 public int hammer;
2235
2236 // Token: 0x04002890 RID: 10384
2237 public int tileBoost;
2238
2239 // Token: 0x04002891 RID: 10385
2240 public int createTile;
2241
2242 // Token: 0x04002892 RID: 10386
2243 public int createWall;
2244
2245 // Token: 0x04002893 RID: 10387
2246 public int placeStyle;
2247
2248 // Token: 0x04002894 RID: 10388
2249 public int damage;
2250
2251 // Token: 0x04002895 RID: 10389
2252 public float knockBack;
2253
2254 // Token: 0x04002896 RID: 10390
2255 public int healLife;
2256
2257 // Token: 0x04002897 RID: 10391
2258 public int healMana;
2259
2260 // Token: 0x04002898 RID: 10392
2261 public Color color;
2262
2263 // Token: 0x04002899 RID: 10393
2264 public int alpha;
2265
2266 // Token: 0x0400289A RID: 10394
2267 public short glowMask;
2268
2269 // Token: 0x0400289B RID: 10395
2270 public float scale;
2271
2272 // Token: 0x0400289C RID: 10396
2274
2275 // Token: 0x0400289D RID: 10397
2276 public int defense;
2277
2278 // Token: 0x0400289E RID: 10398
2279 public int headSlot;
2280
2281 // Token: 0x0400289F RID: 10399
2282 public int bodySlot;
2283
2284 // Token: 0x040028A0 RID: 10400
2285 public int legSlot;
2286
2287 // Token: 0x040028A1 RID: 10401
2288 public sbyte handOnSlot;
2289
2290 // Token: 0x040028A2 RID: 10402
2291 public sbyte handOffSlot;
2292
2293 // Token: 0x040028A3 RID: 10403
2294 public sbyte backSlot;
2295
2296 // Token: 0x040028A4 RID: 10404
2297 public sbyte frontSlot;
2298
2299 // Token: 0x040028A5 RID: 10405
2300 public sbyte shoeSlot;
2301
2302 // Token: 0x040028A6 RID: 10406
2303 public sbyte waistSlot;
2304
2305 // Token: 0x040028A7 RID: 10407
2306 public sbyte wingSlot;
2307
2308 // Token: 0x040028A8 RID: 10408
2309 public sbyte shieldSlot;
2310
2311 // Token: 0x040028A9 RID: 10409
2312 public sbyte neckSlot;
2313
2314 // Token: 0x040028AA RID: 10410
2315 public sbyte faceSlot;
2316
2317 // Token: 0x040028AB RID: 10411
2318 public sbyte balloonSlot;
2319
2320 // Token: 0x040028AC RID: 10412
2321 public sbyte beardSlot;
2322
2323 // Token: 0x040028AD RID: 10413
2324 public int stringColor;
2325
2326 // Token: 0x040028AE RID: 10414
2328
2329 // Token: 0x040028AF RID: 10415
2330 public string BestiaryNotes;
2331
2332 // Token: 0x040028B0 RID: 10416
2334
2335 // Token: 0x040028B1 RID: 10417
2336 public int rare;
2337
2338 // Token: 0x040028B2 RID: 10418
2340 private ItemVariant <Variant>k__BackingField;
2341
2342 // Token: 0x040028B3 RID: 10419
2343 public int shoot;
2344
2345 // Token: 0x040028B4 RID: 10420
2346 public float shootSpeed;
2347
2348 // Token: 0x040028B5 RID: 10421
2349 public int ammo;
2350
2351 // Token: 0x040028B6 RID: 10422
2352 public int useAmmo;
2353
2354 // Token: 0x040028B7 RID: 10423
2355 public int lifeRegen;
2356
2357 // Token: 0x040028B8 RID: 10424
2358 public int manaIncrease;
2359
2360 // Token: 0x040028B9 RID: 10425
2361 public int mana;
2362
2363 // Token: 0x040028BA RID: 10426
2365
2366 // Token: 0x040028BB RID: 10427
2367 public int value;
2368
2369 // Token: 0x040028BC RID: 10428
2370 public int buffType;
2371
2372 // Token: 0x040028BD RID: 10429
2373 public int buffTime;
2374
2375 // Token: 0x040028BE RID: 10430
2376 public int mountType;
2377
2378 // Token: 0x040028BF RID: 10431
2380
2381 // Token: 0x040028C0 RID: 10432
2382 public int? shopCustomPrice;
2383
2384 // Token: 0x040028C1 RID: 10433
2385 public bool shootsEveryUse;
2386
2387 // Token: 0x040028C2 RID: 10434
2389
2390 // Token: 0x040028C3 RID: 10435
2391 public int netID;
2392
2393 // Token: 0x040028C4 RID: 10436
2394 public int crit;
2395
2396 // Token: 0x040028C5 RID: 10437
2397 public byte prefix;
2398
2399 // Token: 0x040028C6 RID: 10438
2400 public int reuseDelay;
2401
2402 // Token: 0x040028C7 RID: 10439
2403 [Old("This is used to allow items to be discerned as vanity even if they didn't have visual slots to poll against")]
2404 public bool hasVanityEffects;
2405
2406 // Token: 0x040028C8 RID: 10440
2407 private const int foodWidth = 22;
2408
2409 // Token: 0x040028C9 RID: 10441
2410 private const int foodHeight = 22;
2411
2412 // Token: 0x040028CA RID: 10442
2413 public const int WALL_PLACEMENT_USETIME = 7;
2414
2415 // Token: 0x040028CB RID: 10443
2416 public bool shimmered;
2417
2418 // Token: 0x040028CC RID: 10444
2419 public float shimmerTime;
2420 }
2421}
class f__AnonymousType0<< Count > j__TPar
Vector2 velocity
Definition Entity.cs:463
Vector2 position
Definition Entity.cs:460
static ItemVariant SelectVariant(int itemId)
bool melee
Definition Item.cs:2123
int timeSinceTheItemHasBeenReservedForSomeone
Definition Item.cs:2364
void DefaultToPlaceableTile(ushort tileIDToPlace, int tileStyleToPlace=0)
Definition Item.cs:871
void RebuildTooltip()
Definition Item.cs:410
void FindOwner(int whoAmI, bool ignoreDistance=true)
Definition Item.cs:1685
const int foodHeight
Definition Item.cs:2410
float knockBack
Definition Item.cs:2252
static void ShimmerEffect(Vector2 shimmerPositon)
Definition Item.cs:1261
bool IsNotTheSameAs(Item compareItem)
Definition Item.cs:1795
static int buyPrice(int platinum=0, int gold=0, int silver=0, int copper=0)
Definition Item.cs:1127
bool expert
Definition Item.cs:2054
Item clientClone(Item cloneDestination)
Definition Item.cs:1717
Item Clone()
Definition Item.cs:1708
bool useTurn
Definition Item.cs:2081
static bool IsAGolfingItem(Item item)
Definition Item.cs:681
sbyte shoeSlot
Definition Item.cs:2300
bool isAShopItem
Definition Item.cs:2057
static int numberOfNewItems
Definition Item.cs:1952
void DefaultTokite(int projId)
Definition Item.cs:623
bool mech
Definition Item.cs:2042
bool IsCurrency
Definition Item.cs:1877
Color GetColor(Color newColor)
Definition Item.cs:1089
sbyte balloonSlot
Definition Item.cs:2318
void CheckLavaDeath(int i)
Definition Item.cs:1384
bool CanBeQuickUsed
Definition Item.cs:1916
void DespawnIfMeetingConditions(int i)
Definition Item.cs:1308
int useAnimation
Definition Item.cs:2216
void MoveInWorld(float gravity, float maxFallSpeed, Vector2 wetVelocity, int i)
Definition Item.cs:1397
void SetDefaults2(int type)
Definition Item.cs:536
const int manaGrabRange
Definition Item.cs:2174
string AffixName()
Definition Item.cs:400
bool material
Definition Item.cs:2108
void SetDefaults3(int type)
Definition Item.cs:541
bool questItem
Definition Item.cs:2036
int fishingPole
Definition Item.cs:2165
void SetDefaults(int Type, bool noMatCheck=false, [Optional] ItemVariant variant)
Definition Item.cs:1011
static void StartCachingType(int t)
Definition Item.cs:51
void netDefaults(int type)
Definition Item.cs:470
byte holdStyle
Definition Item.cs:2210
byte frozenCount
Definition Item.cs:2147
static readonly int dungeonPrice
Definition Item.cs:1988
void ResetStats(int Type)
Definition Item.cs:1038
const int silver
Definition Item.cs:1973
ItemTooltip ToolTip
Definition Item.cs:2327
int stringColor
Definition Item.cs:2324
int tileWand
Definition Item.cs:2156
static Item()
Definition Item.cs:1944
int GetStoreValue()
Definition Item.cs:1843
bool noMelee
Definition Item.cs:2093
string BestiaryNotes
Definition Item.cs:2330
const int treasureGrabRange
Definition Item.cs:2180
const int gold
Definition Item.cs:1976
int reuseDelay
Definition Item.cs:2400
static int PickAnItemSlotToSpawnItemOn(bool reverseLookup, int nextItem)
Definition Item.cs:1658
int useAmmo
Definition Item.cs:2352
void DefaultToMagicWeapon(int projType, int singleShotTime, float shotVelocity, bool hasAutoReuse=false)
Definition Item.cs:807
void OnPurchase(Item item)
Definition Item.cs:1835
byte paint
Definition Item.cs:2189
int manaIncrease
Definition Item.cs:2358
int healMana
Definition Item.cs:2258
bool CanRollPrefix(int prefix)
Definition Item.cs:285
void DefaultToRangedWeapon(int baseProjType, int ammoID, int singleShotTime, float shotVelocity, bool hasAutoReuse=false)
Definition Item.cs:818
int maxStack
Definition Item.cs:2225
float scale
Definition Item.cs:2270
static int BannerToItem(int banner)
Definition Item.cs:475
const int luckPotionDuration2
Definition Item.cs:1961
sbyte waistSlot
Definition Item.cs:2303
bool CanShimmer()
Definition Item.cs:1139
void Shimmering()
Definition Item.cs:1170
int headSlot
Definition Item.cs:2279
bool Prefix(int prefixWeWant)
Definition Item.cs:234
static int mushroomDelay
Definition Item.cs:2018
bool IsTheSameAs(Item compareItem)
Definition Item.cs:1768
static int[] cachedItemSpawnsByType
Definition Item.cs:2009
bool DD2Summon
Definition Item.cs:2120
int GetShimmerEquivalentType()
Definition Item.cs:1227
bool hasVanityEffects
Definition Item.cs:2404
bool CanCombineStackInWorld()
Definition Item.cs:1541
void DefaultToHeadgear(int newwidth, int newheight, int helmetArtID)
Definition Item.cs:968
static bool MechSpawn(float x, float y, int type)
Definition Item.cs:1100
sbyte frontSlot
Definition Item.cs:2297
string HoverName
Definition Item.cs:40
int createWall
Definition Item.cs:2243
bool social
Definition Item.cs:2102
static bool[] staff
Definition Item.cs:2030
bool magic
Definition Item.cs:2126
void SetWeaponValues(int dmg, float knockback, int bonusCritChance=0)
Definition Item.cs:781
int createTile
Definition Item.cs:2240
void DefaultToCapturedCritter(short npcIdToSpawnOnUse)
Definition Item.cs:711
ItemVariant< Variant > k__BackingField
Definition Item.cs:2340
void DefaultToPlaceableWall(ushort wallToPlace)
Definition Item.cs:769
bool IsAir
Definition Item.cs:1820
static int potionDelay
Definition Item.cs:2012
FlexibleTileWand GetFlexibleTileWand()
Definition Item.cs:1368
bool consumable
Definition Item.cs:2075
static readonly int queenBeePrice
Definition Item.cs:1991
void DefaultToStaff(int projType, float pushForwardSpeed, int singleShotTime, int manaPerShot)
Definition Item.cs:725
int healLife
Definition Item.cs:2255
int buffTime
Definition Item.cs:2373
void TryCombiningIntoNearbyItems(int i)
Definition Item.cs:1359
int buffType
Definition Item.cs:2370
static void DropCache(IEntitySource reason, Vector2 pos, Vector2 spread, int t, bool stopCaching=true)
Definition Item.cs:59
bool checkMat()
Definition Item.cs:445
sbyte backSlot
Definition Item.cs:2294
void DefaultToWhip(int projectileId, int dmg, float kb, float shootspeed, int animationTotalTime=30)
Definition Item.cs:606
static bool[] claw
Definition Item.cs:2033
bool cartTrack
Definition Item.cs:2114
static int sellPrice(int platinum=0, int gold=0, int silver=0, int copper=0)
Definition Item.cs:1133
sbyte neckSlot
Definition Item.cs:2312
int shopSpecialCurrency
Definition Item.cs:2379
IEntitySource GetNPCSource_FromThis()
Definition Item.cs:70
static int restorationDelay
Definition Item.cs:2015
bool IsACoin
Definition Item.cs:655
bool noUseGraphic
Definition Item.cs:2090
void OnCreated(ItemCreationContext context)
Definition Item.cs:1032
bool instanced
Definition Item.cs:2060
sbyte handOffSlot
Definition Item.cs:2291
bool noWet
Definition Item.cs:2111
static int CommonMaxStack
Definition Item.cs:2006
void DefaultToQuestFish()
Definition Item.cs:546
bool favorited
Definition Item.cs:2063
static int NewItem(IEntitySource source, Vector2 pos, int Width, int Height, int Type, int Stack=1, bool noBroadcast=false, int prefixGiven=0, bool noGrabDelay=false, bool reverseLookup=false)
Definition Item.cs:1622
void DefaultToHealingPotion(int newwidth, int newheight, int healingAmount, int animationTime=17)
Definition Item.cs:938
sbyte beardSlot
Definition Item.cs:2321
int[] GetRollablePrefixes()
Definition Item.cs:341
static int NPCtoBanner(int i)
Definition Item.cs:481
float shootSpeed
Definition Item.cs:2346
void DefaultToAccessory(int newwidth=24, int newheight=24)
Definition Item.cs:976
bool summon
Definition Item.cs:2132
void GetShimmered()
Definition Item.cs:1254
void DefaultToTorch(int tileStyleToPlace, bool allowWaterPlacement=false)
Definition Item.cs:846
static int NewItem(IEntitySource source, int X, int Y, int Width, int Height, int Type, int Stack=1, bool noBroadcast=false, int pfix=0, bool noGrabDelay=false, bool reverseLookup=false)
Definition Item.cs:1632
Color GetAlpha(Color newColor)
Definition Item.cs:1065
bool canBePlacedInVanityRegardlessOfConditions
Definition Item.cs:2141
void Serialize(BinaryWriter writer, ItemSerializationContext context)
Definition Item.cs:1852
void SetFoodDefaults(int type)
Definition Item.cs:758
bool vanity
Definition Item.cs:2105
void DefaultToSpear(int projType, float pushForwardSpeed, int animationTime)
Definition Item.cs:743
static int NewItem(int X, int Y, int Width, int Height, int Type, int Stack=1, bool noBroadcast=false, int pfix=0, bool noGrabDelay=false, bool reverseLookup=false)
Definition Item.cs:1602
int tileBoost
Definition Item.cs:2237
bool TryGetPrefixStatMultipliersForItem(int rolledPrefix, [Out] float dmg, [Out] float kb, [Out] float spd, [Out] float size, [Out] float shtspd, [Out] float mcst, [Out] int crt)
Definition Item.cs:308
const int copper
Definition Item.cs:1970
bool accessory
Definition Item.cs:2069
int playerIndexTheItemIsReservedFor
Definition Item.cs:2333
const int lifeGrabRange
Definition Item.cs:2177
bool shootsEveryUse
Definition Item.cs:2385
void ChangeItemType(int to)
Definition Item.cs:635
bool CanHavePrefixes()
Definition Item.cs:223
bool chlorophyteExtractinatorConsumable
Definition Item.cs:2388
sbyte shieldSlot
Definition Item.cs:2309
void DefaultToPlaceableTile(int tileIDToPlace, int tileStyleToPlace=0)
Definition Item.cs:865
void DefaultToGuitar(int newwidth=24, int newheight=24)
Definition Item.cs:984
void DefaultToMount(int mount)
Definition Item.cs:763
bool PaintOrCoating
Definition Item.cs:84
bool FitsAccessoryVanitySlot
Definition Item.cs:94
int ownTime
Definition Item.cs:2198
int OriginalDamage
Definition Item.cs:132
byte useStyle
Definition Item.cs:2213
int timeLeftInWhichTheItemCannotBeTakenByEnemies
Definition Item.cs:2204
short glowMask
Definition Item.cs:2267
string Name
Definition Item.cs:25
static readonly int eclipseMothronPrice
Definition Item.cs:2003
void UpdateItem(int i)
Definition Item.cs:1301
static int[] legType
Definition Item.cs:2027
bool FitsAmmoSlot()
Definition Item.cs:491
void SetShopValues(ItemRarityColor rarity, int coinValue)
Definition Item.cs:961
static int[] headType
Definition Item.cs:2021
void Reset()
Definition Item.cs:203
static int NewItem(Vector2 pos, Vector2 randomBox, int Type, int Stack=1, bool noBroadcast=false, int prefixGiven=0, bool noGrabDelay=false, bool reverseLookup=false)
Definition Item.cs:1592
bool uniqueStack
Definition Item.cs:2117
static readonly int shadowOrbPrice
Definition Item.cs:1985
bool ranged
Definition Item.cs:2129
int tooltipContext
Definition Item.cs:2159
bool sentry
Definition Item.cs:2135
const int platinum
Definition Item.cs:1979
int FindDecraftAmount()
Definition Item.cs:1197
int placeStyle
Definition Item.cs:2246
float shimmerTime
Definition Item.cs:2419
int noGrabDelay
Definition Item.cs:2150
void DefaultToThrownWeapon(int baseProjType, int singleShotTime, float shotVelocity, bool hasAutoReuse=false)
Definition Item.cs:830
Color GetAlphaFaded(Color newColor)
Definition Item.cs:1057
const int WALL_PLACEMENT_USETIME
Definition Item.cs:2413
bool RollAPrefix(UnifiedRandom random, int rolledPrefix)
Definition Item.cs:365
static int[] bodyType
Definition Item.cs:2024
const int goldCritterRarityColor
Definition Item.cs:1982
void CombineWithNearbyItems(int myItemIndex)
Definition Item.cs:1474
int OriginalRarity
Definition Item.cs:104
static readonly int hellPrice
Definition Item.cs:1994
int ownIgnore
Definition Item.cs:2195
bool buyOnce
Definition Item.cs:2087
const int flaskTime
Definition Item.cs:1967
void ClearNameOverride()
Definition Item.cs:1813
sbyte handOnSlot
Definition Item.cs:2288
void DefaultToBow(int singleShotTime, float shotVelocity, bool hasAutoReuse=false)
Definition Item.cs:788
IEntitySource GetItemSource_Misc(int itemSourceId)
Definition Item.cs:76
void DefaultToMusicBox(int style)
Definition Item.cs:993
bool CanFillEmptyAmmoSlot()
Definition Item.cs:506
const int luckPotionDuration1
Definition Item.cs:1958
bool wornArmor
Definition Item.cs:2048
void Refresh(bool onlyIfVariantChanged=true)
Definition Item.cs:1897
void GetPickedUpByMonsters_Special(int i)
Definition Item.cs:1447
int useTime
Definition Item.cs:2219
int? shopCustomPrice
Definition Item.cs:2382
sbyte wingSlot
Definition Item.cs:2306
const int foodWidth
Definition Item.cs:2407
bool autoReuse
Definition Item.cs:2078
void DefaultToSeaShell()
Definition Item.cs:697
string _nameOverride
Definition Item.cs:1955
const int luckPotionDuration3
Definition Item.cs:1964
static readonly int eclipsePostPlanteraPrice
Definition Item.cs:2000
int defense
Definition Item.cs:2276
int OriginalDefense
Definition Item.cs:160
void MakeUsableWithChlorophyteExtractinator()
Definition Item.cs:884
void DefaultToGolfClub(int newwidth, int newheight)
Definition Item.cs:891
int legSlot
Definition Item.cs:2285
bool expertOnly
Definition Item.cs:2051
bool flame
Definition Item.cs:2039
void TurnToAir(bool fullReset=false)
Definition Item.cs:1830
sbyte faceSlot
Definition Item.cs:2315
override string ToString()
Definition Item.cs:213
void UpdateItem_VisualEffects()
Definition Item.cs:1568
static Rectangle GetDrawHitbox(int type, Player user)
Definition Item.cs:1574
static readonly int eclipsePrice
Definition Item.cs:1997
void DeserializeFrom(BinaryReader reader, ItemSerializationContext context)
Definition Item.cs:1864
void DefaultToSolution(int projectileId)
Definition Item.cs:585
void DefaultToVanitypet(int projId, int buffID)
Definition Item.cs:642
bool channel
Definition Item.cs:2066
bool shimmered
Definition Item.cs:2416
void SetDefaults4(int type)
Definition Item.cs:554
void SetDefaults(int Type=0)
Definition Item.cs:1006
bool frozen
Definition Item.cs:2144
void DefaultToLawnMower(int newwidth, int newheight)
Definition Item.cs:901
int mountType
Definition Item.cs:2376
int bodySlot
Definition Item.cs:2282
bool CanApplyPrefix(int prefix)
Definition Item.cs:300
int keepTime
Definition Item.cs:2201
static int NewItem(IEntitySource source, Vector2 pos, Vector2 randomBox, int Type, int Stack=1, bool noBroadcast=false, int prefixGiven=0, bool noGrabDelay=false, bool reverseLookup=false)
Definition Item.cs:1612
const int coinGrabRange
Definition Item.cs:2171
byte paintCoating
Definition Item.cs:2192
void SetDefaults5(int type)
Definition Item.cs:580
short hairDye
Definition Item.cs:2186
bool IsAPrefixableAccessory()
Definition Item.cs:373
void SetDefaults1(int type)
Definition Item.cs:531
void SetNameOverride(string name)
Definition Item.cs:1807
void DefaultToFood(int newwidth, int newheight, int foodbuff, int foodbuffduration, bool useGulpSound=false, int animationTime=17)
Definition Item.cs:914
byte prefix
Definition Item.cs:2397
int lifeRegen
Definition Item.cs:2355
void ResetPrefix()
Definition Item.cs:1886
Color color
Definition Item.cs:2261
bool beingGrabbed
Definition Item.cs:2045
LegacySoundStyle UseSound
Definition Item.cs:2273
bool potion
Definition Item.cs:2072
short makeNPC
Definition Item.cs:2183
bool notAmmo
Definition Item.cs:2084
Rectangle getRect()
Definition Item.cs:418
static int BannerToNPC(int i)
Definition Item.cs:486
void FixAgainstExploit()
Definition Item.cs:1274
void GetPickedUpByMonsters_Money(int i)
Definition Item.cs:1465
int timeSinceItemSpawned
Definition Item.cs:2153
bool reforge
Definition Item.cs:2099
bool newAndShiny
Definition Item.cs:2138
void DefaultToGolfBall(int projid)
Definition Item.cs:559
Item DeepClone()
Definition Item.cs:1759
static string GetItemNameValue(int id)
Definition Lang.cs:213
static ItemTooltip GetTooltip(int itemId)
Definition Lang.cs:129
static bool NetHost
Definition Main.cs:5544
static int myPlayer
Definition Main.cs:2337
static bool NetClientOnly
Definition Main.cs:5407
static bool LogicHost
Definition Main.cs:5469
static bool InWorld(int x, int y, int fluff=0)
Definition WorldGen.cs:1952
void Intersects(Rectangle value, [Out] bool result)
Definition Rectangle.cs:263
byte liquid
Definition Tile.cs:110
bool shimmer()
Definition Tile.cs:905