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
Projectile.cs
Go to the documentation of this file.
1using System;
16
17namespace Terraria
18{
19 // Token: 0x0200041D RID: 1053
20 public class Projectile : Entity
21 {
22 // Token: 0x17000554 RID: 1364
23 // (get) Token: 0x06002608 RID: 9736 RVA: 0x0014C0C8 File Offset: 0x0014A2C8
24 public string Name
25 {
26 get
27 {
28 int num = this.type;
29 if (!true)
30 {
31 }
32 return Lang.GetProjectileName(num).<Value>k__BackingField;
33 }
34 }
35
36 // Token: 0x06002609 RID: 9737 RVA: 0x0014C0EC File Offset: 0x0014A2EC
37 public static void InitializeStaticThings()
38 {
39 }
40
41 // Token: 0x0600260A RID: 9738 RVA: 0x0014C0FC File Offset: 0x0014A2FC
42 public static void ResetImmunity()
43 {
44 if (!true)
45 {
46 }
47 }
48
49 // Token: 0x0600260B RID: 9739 RVA: 0x0014C10C File Offset: 0x0014A30C
51 {
52 /*
53An exception occurred when decompiling this method (0600260B)
54
55ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Projectile::IsNPCIndexImmuneToProjectileType(System.Int32,System.Int32)
56
57 ---> System.Exception: Basic block has to end with unconditional control flow.
58{
59 IL_000A:
60 brtrue(IL_0000, ldc.i4:bool(1))
61}
62
63 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
64 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
65 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
66 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
67 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
68 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
69 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
70 --- End of inner exception stack trace ---
71 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
72 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
73*/;
74 }
75
76 // Token: 0x17000555 RID: 1365
77 // (get) Token: 0x0600260C RID: 9740 RVA: 0x0014C128 File Offset: 0x0014A328
78 public bool WipableTurret
79 {
80 get
81 {
82 int num = this.owner;
83 if (!true)
84 {
85 }
86 int myPlayer = Main.myPlayer;
87 bool flag;
88 if (this.sentry)
89 {
90 flag = this.TurretShouldPersist();
91 return flag;
92 }
93 return flag;
94 }
95 }
96
97 // Token: 0x0600260D RID: 9741 RVA: 0x0014C15C File Offset: 0x0014A35C
98 public bool TurretShouldPersist()
99 {
100 /*
101An exception occurred when decompiling this method (0600260D)
102
103ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Projectile::TurretShouldPersist()
104
105 ---> System.Exception: Basic block has to end with unconditional control flow.
106{
107 IL_0000:
108 brtrue(IL_0000, ldfld:int32[exp:bool](Projectile::type, ldloc:Projectile(this)))
109}
110
111 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
112 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
113 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
114 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
115 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
116 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
117 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
118 --- End of inner exception stack trace ---
119 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
120 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
121*/;
122 }
123
124 // Token: 0x17000556 RID: 1366
125 // (get) Token: 0x0600260E RID: 9742 RVA: 0x0014C170 File Offset: 0x0014A370
126 // (set) Token: 0x0600260F RID: 9743 RVA: 0x0014C184 File Offset: 0x0014A384
127 public float Opacity
128 {
129 get
130 {
131 /*
132An exception occurred when decompiling this method (0600260E)
133
134ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Projectile::get_Opacity()
135
136 ---> System.Exception: Basic block has to end with unconditional control flow.
137{
138 Block_0:
139 stloc:int32(var_0_06, ldfld:int32(Projectile::alpha, ldloc:Projectile(this)))
140}
141
142 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
143 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
144 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
145 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
146 --- End of inner exception stack trace ---
147 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
148 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
149*/;
150 }
151 set
152 {
153 this.alpha = 32768;
154 }
155 }
156
157 // Token: 0x17000557 RID: 1367
158 // (get) Token: 0x06002610 RID: 9744 RVA: 0x0014C1A0 File Offset: 0x0014A3A0
159 // (set) Token: 0x06002611 RID: 9745 RVA: 0x0014C1B4 File Offset: 0x0014A3B4
160 public int MaxUpdates
161 {
162 get
163 {
164 /*
165An exception occurred when decompiling this method (06002610)
166
167ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.Projectile::get_MaxUpdates()
168
169 ---> System.Exception: Basic block has to end with unconditional control flow.
170{
171 Block_0:
172 stloc:int32(var_0_06, ldfld:int32(Projectile::extraUpdates, ldloc:Projectile(this)))
173}
174
175 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
176 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
177 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
178 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
179 --- End of inner exception stack trace ---
180 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
181 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
182*/;
183 }
184 set
185 {
186 }
187 }
188
189 // Token: 0x17000558 RID: 1368
190 // (get) Token: 0x06002612 RID: 9746 RVA: 0x0014C1C4 File Offset: 0x0014A3C4
192 {
193 get
194 {
195 if (!true)
196 {
197 return;
198 }
199 }
200 }
201
202 // Token: 0x06002613 RID: 9747 RVA: 0x0014C1D8 File Offset: 0x0014A3D8
203 public void SetDefaults(int Type)
204 {
205 int num = 17530;
206 this.ownerHitCheckDistance = (float)num;
207 this.localNPCHitCooldown = (int)(-2f);
208 if (num == 0)
209 {
210 }
211 }
212
213 // Token: 0x06002614 RID: 9748 RVA: 0x00153C14 File Offset: 0x00151E14
214 public void DefaultToSpray()
215 {
216 this.aiStyle = 31;
217 this.friendly = true;
218 this.alpha = 255;
220 this.ignoreWater = true;
221 }
222
223 // Token: 0x06002615 RID: 9749 RVA: 0x00153C4C File Offset: 0x00151E4C
224 public void DefaultToWhip()
225 {
226 this.aiStyle = 165;
227 this.friendly = true;
228 this.scale = (float)16256;
229 this.ownerHitCheck = true;
232 }
233
234 // Token: 0x06002616 RID: 9750 RVA: 0x00153C8C File Offset: 0x00151E8C
235 public static int GetNextSlot()
236 {
237 int num;
238 do
239 {
240 num = 1;
241 if (num == 0)
242 {
243 }
244 }
245 while (num == 0);
246 return 1000;
247 }
248
249 // Token: 0x06002617 RID: 9751 RVA: 0x00153CA8 File Offset: 0x00151EA8
250 public static int NewProjectile(IEntitySource spawnSource, Vector2 position, Vector2 velocity, int Type, int Damage, float KnockBack, int Owner = -1, float ai0 = 0f, float ai1 = 0f, float ai2 = 0f)
251 {
252 if (!true)
253 {
254 }
255 int num;
256 return num;
257 }
258
259 // Token: 0x06002618 RID: 9752 RVA: 0x00153CBC File Offset: 0x00151EBC
260 public static int FindOldestProjectile()
261 {
262 int num = 1;
263 int num2 = 1000;
264 if (num == 0)
265 {
266 }
267 if (num == 0)
268 {
269 if (num == 0)
270 {
271 }
272 if (num == 0)
273 {
274 }
275 }
276 return num2;
277 }
278
279 // Token: 0x06002619 RID: 9753 RVA: 0x00153CE8 File Offset: 0x00151EE8
280 public static int NewProjectile(IEntitySource spawnSource, float X, float Y, float SpeedX, float SpeedY, int Type, int Damage, float KnockBack, int Owner = -1, float ai0 = 0f, float ai1 = 0f, float ai2 = 0f)
281 {
282 if (!true)
283 {
284 }
285 int myPlayer = Main.myPlayer;
287 int myPlayer2 = Main.myPlayer;
288 int num2;
289 return num2;
290 }
291
292 // Token: 0x0600261A RID: 9754 RVA: 0x00153DB4 File Offset: 0x00151FB4
294 {
295 if (spawnSource != null)
296 {
297 }
298 }
299
300 // Token: 0x0600261B RID: 9755 RVA: 0x00153DD4 File Offset: 0x00151FD4
302 {
303 /*
304An exception occurred when decompiling this method (0600261B)
305
306ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Color Terraria.Projectile::GetGolfTrailColor(Terraria.Projectile)
307
308 ---> System.Exception: Basic block has to end with unconditional control flow.
309{
310 Block_0:
311 stloc:int32(var_0_06, ldfld:int32(Projectile::type, ldloc:Projectile(proj)))
312}
313
314 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
315 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
316 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
317 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
318 --- End of inner exception stack trace ---
319 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
320 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
321*/;
322 }
323
324 // Token: 0x0600261C RID: 9756 RVA: 0x00153DFC File Offset: 0x00151FFC
325 public void StatusNPC(int i)
326 {
327 int num = 1;
328 if (num == 0)
329 {
330 }
331 if (!this.melee)
332 {
333 if (num == 0)
334 {
335 }
336 if (num == 0)
337 {
338 goto IL_008B;
339 }
340 }
341 if (num == 0)
342 {
343 }
344 if (num != 0)
345 {
346 bool flag = this.noEnchantments;
347 if (!flag)
348 {
349 if (!flag)
350 {
351 }
352 return;
353 }
354 }
355 IL_008B:
356 if (this.type == 0)
357 {
358 }
359 }
360
361 // Token: 0x0600261D RID: 9757 RVA: 0x00154474 File Offset: 0x00152674
362 public void StatusPvP(int i)
363 {
364 bool flag = this.melee;
365 if (!flag)
366 {
367 if (!flag)
368 {
369 }
370 if (!flag)
371 {
372 goto IL_0056;
373 }
374 }
375 if (!flag)
376 {
377 }
378 bool flag2 = this.noEnchantments;
379 if (!flag2)
380 {
381 if (!flag2)
382 {
383 }
384 return;
385 }
386 IL_0056:
387 if (this.type == 0)
388 {
389 }
390 if (this.type == 0)
391 {
392 }
393 if (this.type == 0)
394 {
395 }
396 if (this.type == 0)
397 {
398 }
399 bool flag3;
400 if (!this.melee)
401 {
402 flag3 = this.ranged;
403 if (!flag3)
404 {
405 goto IL_00F6;
406 }
407 }
408 if (!flag3)
409 {
410 }
411 bool flag4 = this.noEnchantments;
412 if (!flag4)
413 {
414 if (!flag4)
415 {
416 }
417 }
418 IL_00F6:
419 bool flag5 = this.melee;
420 if (flag5)
421 {
422 if (!flag5)
423 {
424 }
425 if (flag5)
426 {
427 bool flag6 = this.noEnchantments;
428 if (!flag6)
429 {
430 if (!flag6)
431 {
432 }
433 if (flag4)
434 {
435 int num;
436 if (num != 0)
437 {
438 if (!flag4)
439 {
440 }
441 int num2;
442 if (num2 != 0)
443 {
444 return;
445 }
446 goto IL_0147;
447 }
448 }
449 else
450 {
451 int num2;
452 while (num2 != 0)
453 {
454 }
455 }
456 return;
457 }
458 }
459 }
460 IL_0147:
461 int num3 = this.type;
462 if (num3 == 0)
463 {
464 }
465 int num4;
466 if (num4 == 0)
467 {
468 if (num3 == 0)
469 {
470 }
471 }
472 if (this.type == 0)
473 {
474 }
475 }
476
477 // Token: 0x0600261E RID: 9758 RVA: 0x001546DC File Offset: 0x001528DC
478 public void ghostHurt(int dmg, Vector2 Position, Entity victim)
479 {
480 if (this.magic)
481 {
482 int num = this.damage;
483 if (num == 0)
484 {
485 }
486 int myPlayer = Main.myPlayer;
487 if (num == 0)
488 {
489 }
490 int myPlayer2 = Main.myPlayer;
491 float x = this.position.X;
492 int width = this.width;
493 int height = this.height;
494 float y = this.position.Y;
495 float x2 = this.position.X;
496 if (height == 0)
497 {
498 }
499 return;
500 }
501 }
502
503 // Token: 0x0600261F RID: 9759 RVA: 0x00154790 File Offset: 0x00152990
504 public void ghostHeal(int dmg, Vector2 Position, Entity victim)
505 {
506 int num = this.numHits;
507 int num2 = 32640;
508 if (num2 == 0)
509 {
510 }
511 int myPlayer = Main.myPlayer;
512 if (num2 == 0)
513 {
514 }
515 int myPlayer2 = Main.myPlayer;
516 if (this.magic)
517 {
518 int num3 = this.owner;
519 return;
520 }
521 }
522
523 // Token: 0x06002620 RID: 9760 RVA: 0x001547DC File Offset: 0x001529DC
524 public void vampireHeal(int dmg, Vector2 Position, Entity victim)
525 {
526 int num = 32640;
527 if (num != 0)
528 {
529 if (num == 0)
530 {
531 }
532 int myPlayer = Main.myPlayer;
533 if (num == 0)
534 {
535 }
536 int myPlayer2 = Main.myPlayer;
537 int num2 = this.owner;
538 int num3 = this.owner;
539 return;
540 }
541 }
542
543 // Token: 0x06002621 RID: 9761 RVA: 0x0015481C File Offset: 0x00152A1C
544 public void StatusPlayer(int i)
545 {
546 if (!true)
547 {
548 }
549 if (this.type == 0)
550 {
551 }
552 bool expertMode = Main.expertMode;
553 }
554
555 // Token: 0x06002622 RID: 9762 RVA: 0x00154C48 File Offset: 0x00152E48
557 {
558 int num = 1;
559 Vector2 center = ent.Center;
560 float num2 = this.ownerHitCheckDistance;
561 if (num == 0)
562 {
563 }
564 float x = ent.position.X;
565 float y = ent.position.Y;
566 int width = ent.width;
567 bool wet = ent.wet;
568 if (num == 0)
569 {
570 }
571 Vector2 center2 = ent.Center;
572 int height = ent.height;
573 if (height == 0)
574 {
575 }
576 if (height == 0)
577 {
578 }
579 Vector2 center3 = ent.Center;
580 Vector2 center4 = ent.Center;
581 bool flag;
582 return flag;
583 }
584
585 // Token: 0x06002623 RID: 9763 RVA: 0x00154CE0 File Offset: 0x00152EE0
587 {
588 int num = 1;
589 Vector2 center = ent.Center;
590 float num2 = this.ownerHitCheckDistance;
591 float x = this.position.X;
592 float y = this.position.Y;
593 int width = this.width;
594 bool wet = this.wet;
595 float x2 = ent.position.X;
596 float y2 = ent.position.Y;
597 int width2 = ent.width;
598 bool wet2 = ent.wet;
599 if (num == 0)
600 {
601 }
602 Vector2 center2 = base.Center;
603 int direction = this.direction;
604 int height = this.height;
605 int height2 = this.height;
606 if (direction == 0)
607 {
608 }
609 Vector2 center3 = ent.Center;
610 if (ent.height == 0)
611 {
612 }
613 Vector2 center4 = base.Center;
614 int direction2 = this.direction;
615 int height3 = this.height;
616 int height4 = this.height;
617 int num3 = 21846;
618 if (direction2 == 0)
619 {
620 }
621 Vector2 center5 = ent.Center;
622 if (direction2 == 0)
623 {
624 }
625 if (direction2 == 0)
626 {
627 }
628 if (height4 == 0)
629 {
630 }
631 Vector2 top = base.Top;
632 Vector2 top2 = ent.Top;
633 if (width2 != 0)
634 {
635 Vector2 top3 = base.Top;
636 if (num3 == 0)
637 {
638 }
639 if ((width != 0 && width == 0) || (width != 0 && width == 0))
640 {
641 throw new ArrayTypeMismatchException();
642 }
643 Point point;
644 float num4;
645 Vector2 vector = point.ToWorldCoordinates(num4, num4);
646 Vector2 top4 = ent.Top;
647 if (num3 == 0)
648 {
649 }
651 Vector2 vector2 = point2.ToWorldCoordinates(num4, num4);
652 }
653 bool flag;
654 return flag;
655 }
656
657 // Token: 0x06002624 RID: 9764 RVA: 0x00154E58 File Offset: 0x00153058
658 [Il2CppSetOption(Option.NullChecks, false)]
659 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
660 public void Damage()
661 {
662 int num = this.type;
663 int num2 = this.aiStyle;
664 }
665
666 // Token: 0x06002625 RID: 9765 RVA: 0x00156888 File Offset: 0x00154A88
668 {
669 /*
670An exception occurred when decompiling this method (06002625)
671
672ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Rectangle Terraria.Projectile::Damage_GetHitbox()
673
674 ---> System.Exception: Basic block has to end with unconditional control flow.
675{
676 IL_0045:
677 stloc:int32(var_13_51, ldfld:int32(Projectile::type, ldloc:Projectile(this)))
678 stloc:int32(var_16_61, ldfld:int32(Projectile::aiStyle, ldloc:Projectile(this)))
679 stloc:int32(var_19_6F, ldfld:int32(Projectile::type, ldloc:Projectile(this)))
680}
681
682 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
683 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
684 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
685 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
686 --- End of inner exception stack trace ---
687 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
688 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
689*/;
690 }
691
692 // Token: 0x06002626 RID: 9766 RVA: 0x00156910 File Offset: 0x00154B10
694 {
695 if (this.aiStyle == 0)
696 {
697 }
698 }
699
700 // Token: 0x06002627 RID: 9767 RVA: 0x001569F0 File Offset: 0x00154BF0
701 public bool IsDamageDodgable()
702 {
703 /*
704An exception occurred when decompiling this method (06002627)
705
706ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Projectile::IsDamageDodgable()
707
708 ---> System.Exception: Basic block has to end with unconditional control flow.
709{
710 Block_0:
711 stloc:int32(var_0_06, ldfld:int32(Projectile::type, ldloc:Projectile(this)))
712 stloc:int32(var_1_0D, ldfld:int32(Projectile::damage, ldloc:Projectile(this)))
713}
714
715 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
716 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
717 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
718 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
719 --- End of inner exception stack trace ---
720 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
721 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
722*/;
723 }
724
725 // Token: 0x06002628 RID: 9768 RVA: 0x00156A18 File Offset: 0x00154C18
727 {
728 if (!false)
729 {
730 }
731 int myPlayer = Main.myPlayer;
732 }
733
734 // Token: 0x06002629 RID: 9769 RVA: 0x00156A48 File Offset: 0x00154C48
736 {
737 int num;
738 return num;
739 }
740
741 // Token: 0x0600262A RID: 9770 RVA: 0x00156A58 File Offset: 0x00154C58
743 {
744 Vector2 center = targetNPC.Center;
745 if (!true)
746 {
747 }
748 }
749
750 // Token: 0x0600262B RID: 9771 RVA: 0x00156A74 File Offset: 0x00154C74
751 private void TryDoingOnHitEffects(Entity entity)
752 {
753 int num = this.type;
754 }
755
756 // Token: 0x0600262C RID: 9772 RVA: 0x00156A9C File Offset: 0x00154C9C
757 private void SummonSuperStarSlash(Vector2 target)
758 {
759 if (!true)
760 {
761 }
762 if (17224 == 0)
763 {
764 }
765 if (!true)
766 {
767 }
769 int num = this.damage;
770 int num2 = this.owner;
771 }
772
773 // Token: 0x0600262D RID: 9773 RVA: 0x00156AD8 File Offset: 0x00154CD8
774 private void SummonMonkGhast()
775 {
776 if (17530 == 0)
777 {
778 }
779 }
780
781 // Token: 0x0600262E RID: 9774 RVA: 0x00156B68 File Offset: 0x00154D68
782 private void CutTiles()
783 {
784 bool flag = this.CanCutTiles();
785 int num = 1;
786 bool flag2 = this.trap;
787 if (num == 0)
788 {
789 }
790 int num2 = this.type;
791 Vector2 center = base.Center;
792 Vector2 center2 = base.Center;
793 float x = this.velocity.X;
794 float y = this.velocity.Y;
795 if (num2 == 0)
796 {
797 }
798 int width = this.width;
799 float num3 = this.scale;
800 if (num2 == 0)
801 {
802 }
803 float x2 = this.position.X;
804 float y2 = this.position.Y;
805 int width2 = this.width;
806 bool wet = this.wet;
807 }
808
809 // Token: 0x0600262F RID: 9775 RVA: 0x00156F00 File Offset: 0x00155100
811 {
812 int num = 15744;
813 int num2 = 32640;
814 int num3 = 32768;
815 if (num == 0)
816 {
817 }
818 if (num2 != 0)
819 {
820 return;
821 }
822 if (num == 0)
823 {
824 }
825 if (num2 == 0)
826 {
827 }
828 if (num == 0)
829 {
830 }
831 bool flag = this.trap;
832 if (num3 == 0)
833 {
834 }
835 }
836
837 // Token: 0x06002630 RID: 9776 RVA: 0x00156F40 File Offset: 0x00155140
838 private bool CanCutTiles()
839 {
840 if (this.aiStyle == 0)
841 {
842 return;
843 }
844 }
845
846 // Token: 0x06002631 RID: 9777 RVA: 0x00156F58 File Offset: 0x00155158
847 public bool Colliding(Rectangle myRect, Rectangle targetRect)
848 {
849 int num = 1;
850 int num2 = this.aiStyle;
851 if (num == 0)
852 {
853 }
854 if (num == 0)
855 {
856 }
857 if (num == 0)
858 {
859 }
860 Vector2 vector;
861 float num3 = vector.Length();
862 int num4 = this.type;
863 Vector2 center = base.Center;
864 if (num4 == 0)
865 {
866 }
867 Vector2 center2 = base.Center;
868 if (num4 == 0)
869 {
870 }
871 if (!true)
872 {
873 }
874 float num5 = this.scale;
876 float num6 = vector2.Length();
877 Vector2 center3 = base.Center;
878 if (num2 == 0)
879 {
880 }
881 Point point;
882 Vector2 vector3 = point.ToVector2();
883 bool flag;
884 return flag;
885 }
886
887 // Token: 0x06002632 RID: 9778 RVA: 0x00157608 File Offset: 0x00155808
888 public void ProjLight()
889 {
890 float num = this.light;
891 int num2 = this.type;
892 }
893
894 // Token: 0x06002633 RID: 9779 RVA: 0x00157714 File Offset: 0x00155914
896 {
897 /*
898An exception occurred when decompiling this method (06002633)
899
900ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Rectangle Terraria.Projectile::getRect()
901
902 ---> System.Exception: Basic block has to end with unconditional control flow.
903{
904 Block_0:
905 stloc:float32(var_0_0B, ldfld:float32(Vector2::X, ldfld:Vector2[exp:valuetype Microsoft.Xna.Framework.Vector2&](Entity::position, ldloc:Projectile[exp:Entity](this))))
906 stloc:float32(var_1_17, ldfld:float32(Vector2::Y, ldfld:Vector2[exp:valuetype Microsoft.Xna.Framework.Vector2&](Entity::position, ldloc:Projectile[exp:Entity](this))))
907 stloc:int32(var_2_1E, ldfld:int32(Entity::width, ldloc:Projectile[exp:Entity](this)))
908 stloc:bool(var_3_25, ldfld:bool(Entity::wet, ldloc:Projectile[exp:Entity](this)))
909}
910
911 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
912 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
913 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
914 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
915 --- End of inner exception stack trace ---
916 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
917 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
918*/;
919 }
920
921 // Token: 0x06002634 RID: 9780 RVA: 0x00157748 File Offset: 0x00155948
922 [Il2CppSetOption(Option.NullChecks, false)]
923 [Il2CppSetOption(Option.ArrayBoundsChecks, false)]
924 public void Update(int i)
925 {
926 if (this.active)
927 {
928 if (this.type == 0)
929 {
930 }
931 return;
932 }
933 }
934
935 // Token: 0x06002635 RID: 9781 RVA: 0x001586F8 File Offset: 0x001568F8
937 {
938 /*
939An exception occurred when decompiling this method (06002635)
940
941ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Projectile::AutomaticallyChangesDirection()
942
943 ---> System.Exception: Basic block has to end with unconditional control flow.
944{
945 IL_0000:
946 stloc:int32(var_0_06, ldfld:int32(Projectile::aiStyle, ldloc:Projectile(this)))
947 stloc:int32(var_3_0F, ldfld:int32(Projectile::aiStyle, ldloc:Projectile(this)))
948 stloc:int32(var_6_19, ldfld:int32(Projectile::aiStyle, ldloc:Projectile(this)))
949 stloc:int32(var_9_24, ldfld:int32(Projectile::aiStyle, ldloc:Projectile(this)))
950 brtrue(IL_0000, ldfld:bool(Projectile::manualDirectionChange, ldloc:Projectile(this)))
951}
952
953 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
954 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
955 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
956 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
957 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
958 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
959 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
960 --- End of inner exception stack trace ---
961 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
962 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
963*/;
964 }
965
966 // Token: 0x06002636 RID: 9782 RVA: 0x00158738 File Offset: 0x00156938
968 {
969 if (!this.npcProj)
970 {
971 int num = this.aiStyle;
972 Vector2 center = base.Center;
973 float num2 = this.rotation;
974 float num3 = this.scale;
975 float num4 = this.scale;
977 Vector2 vector = rectangle.TopLeft();
978 return;
979 }
980 }
981
982 // Token: 0x06002637 RID: 9783 RVA: 0x0015880C File Offset: 0x00156A0C
984 {
985 int num = 1;
986 if (num == 0)
987 {
988 }
989 if (num != 0 && (this.melee || this.ranged) && this.friendly && !this.hostile)
990 {
991 bool flag = this.noEnchantments;
992 if (!flag)
993 {
994 if (!flag)
995 {
996 }
997 int num2 = this.extraUpdates;
998 int num3;
999 if (num3 == 0)
1000 {
1001 int direction = this.direction;
1002 float x = this.velocity.X;
1003 float y = this.velocity.Y;
1004 if (num2 == 0)
1005 {
1006 }
1007 if (!true)
1008 {
1009 }
1010 }
1011 }
1012 }
1013 bool flag2 = this.melee;
1014 bool flag4;
1015 if (flag2)
1016 {
1017 if (flag2)
1018 {
1019 bool flag3 = this.noEnchantments;
1020 if (!flag3)
1021 {
1022 if (!flag3)
1023 {
1024 }
1025 int num4;
1026 if (num4 != 0)
1027 {
1028 float x2 = this.velocity.X;
1029 float y2 = this.velocity.Y;
1030 if (!flag3)
1031 {
1032 }
1033 int num5;
1034 if (num5 == 0)
1035 {
1036 }
1037 }
1038 }
1039 }
1040 flag4 = this.melee;
1041 if (flag4)
1042 {
1043 goto IL_00CA;
1044 }
1045 }
1046 if (!flag4)
1047 {
1048 }
1049 if (!flag4)
1050 {
1051 return;
1052 }
1053 IL_00CA:
1054 if (flag4)
1055 {
1056 bool flag5 = this.noEnchantments;
1057 if (!flag5)
1058 {
1059 if (!flag4)
1060 {
1061 }
1062 int num6;
1063 int num7;
1064 int num8;
1065 if (num6 == 0)
1066 {
1067 if (!flag4)
1068 {
1069 }
1070 if (!flag5)
1071 {
1072 }
1073 num7 = 16320;
1074 num8 = 1;
1075 if (num8 == 0)
1076 {
1077 }
1078 }
1079 if (num8 == 0)
1080 {
1081 }
1082 int num9;
1083 while (num9 != 0)
1084 {
1085 }
1086 if (num8 == 0)
1087 {
1088 }
1089 if (num7 == 0)
1090 {
1091 }
1092 if (!true)
1093 {
1094 }
1095 return;
1096 }
1097 }
1098 }
1099
1100 // Token: 0x06002638 RID: 9784 RVA: 0x000021DB File Offset: 0x000003DB
1102 {
1103 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1104 }
1105
1106 // Token: 0x06002639 RID: 9785 RVA: 0x001589F4 File Offset: 0x00156BF4
1108 {
1109 float x = this.velocity.X;
1110 float y = this.velocity.Y;
1111 if (!true)
1112 {
1113 }
1114 Dust dust;
1115 Color color;
1116 dust.color = color;
1117 Dust dust2 = Dust.CloneDust(dust);
1118 dust2.scale = (float)16256;
1119 dust2.frame = 50;
1120 }
1121
1122 // Token: 0x0600263A RID: 9786 RVA: 0x000021DB File Offset: 0x000003DB
1123 private void AI_149_GolfBall()
1124 {
1125 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1126 }
1127
1128 // Token: 0x0600263B RID: 9787 RVA: 0x00158A54 File Offset: 0x00156C54
1130 {
1131 int num = 16928;
1132 float y = this.velocity.Y;
1133 if (num == 0)
1134 {
1135 }
1136 }
1137
1138 // Token: 0x0600263C RID: 9788 RVA: 0x00158AE0 File Offset: 0x00156CE0
1140 {
1141 int num = this.aiStyle;
1142 }
1143
1144 // Token: 0x0600263D RID: 9789 RVA: 0x00158BB8 File Offset: 0x00156DB8
1145 public void FishingCheck()
1146 {
1147 int num = 1;
1148 if (num == 0)
1149 {
1150 }
1151 if (num != 0)
1152 {
1153 Vector2 center = base.Center;
1154 if (num == 0)
1155 {
1156 }
1157 }
1158 Vector2 center2 = base.Center;
1159 int num2 = 32640;
1160 Vector2 center3 = base.Center;
1161 int num3 = this.type;
1162 if (num2 == 0)
1163 {
1164 }
1165 if (num3 == 0)
1166 {
1167 }
1168 if (num3 != 0)
1169 {
1170 if (num3 == 0)
1171 {
1172 }
1173 int num4;
1174 if (num4 == 0)
1175 {
1176 }
1177 }
1178 if (num3 == 0)
1179 {
1180 }
1181 if (num3 == 0)
1182 {
1183 }
1184 string textValue = Language.GetTextValue("GameUI.FishingWarning");
1185 if (num3 == 0)
1186 {
1187 }
1188 int num5 = 370;
1189 bool flag = NPC.AnyNPCs(num5);
1190 int num6 = 1;
1191 this.netUpdate = num6 != 0;
1192 }
1193
1194 // Token: 0x0600263E RID: 9790 RVA: 0x00158DAC File Offset: 0x00156FAC
1196 {
1197 if (!fisher.inLava)
1198 {
1199 bool inHoney = fisher.inHoney;
1200 if (!inHoney)
1201 {
1202 if (!inHoney)
1203 {
1204 }
1205 while (inHoney)
1206 {
1207 }
1208 int num;
1209 while (num != 0)
1210 {
1211 }
1212 if (3 == 0)
1213 {
1214 }
1215 if (3 == 0)
1216 {
1217 if (3 == 0)
1218 {
1219 }
1220 int num2;
1221 if (num2 == 0)
1222 {
1224 return;
1225 }
1226 }
1227 if (3 != 0)
1228 {
1229 return;
1230 }
1231 if (!true)
1232 {
1233 }
1234 if (3 == 0)
1235 {
1236 }
1238 int num3;
1239 while (num3 != 0)
1240 {
1241 }
1242 return;
1243 }
1244 }
1245 }
1246
1247 // Token: 0x0600263F RID: 9791 RVA: 0x00158E0C File Offset: 0x0015700C
1249 {
1250 if (!true)
1251 {
1252 }
1253 int num;
1254 if (num == 0)
1255 {
1256 }
1257 int heightLevel;
1258 if (num != 0)
1259 {
1260 heightLevel = fisher.heightLevel;
1261 if (heightLevel == 0)
1262 {
1263 int rolledEnemySpawn = fisher.rolledEnemySpawn;
1264 if (fisher.inLava)
1265 {
1266 if (fisher.CanFishInLava)
1267 {
1268 bool crate = fisher.crate;
1269 if (crate)
1270 {
1271 if (!crate)
1272 {
1273 }
1274 int num2;
1275 if (num2 == 0)
1276 {
1277 int num3;
1278 if (num3 == 0)
1279 {
1280 }
1281 return;
1282 }
1283 }
1284 bool legendary = fisher.legendary;
1285 if (legendary)
1286 {
1287 if (!legendary)
1288 {
1289 }
1290 if (legendary)
1291 {
1292 if (!legendary)
1293 {
1294 }
1295 int num4;
1296 if (num4 == 0)
1297 {
1298 int num5;
1299 if (num5 == 0)
1300 {
1301 }
1302 return;
1303 }
1304 }
1305 bool legendary2 = fisher.legendary;
1306 if (legendary2)
1307 {
1308 if (!legendary2)
1309 {
1310 }
1311 if (!legendary2)
1312 {
1313 if (!legendary2)
1314 {
1315 }
1316 int num6;
1317 if (num6 == 0)
1318 {
1319 int num7;
1320 if (num7 == 0)
1321 {
1322 }
1323 if (num7 == 0)
1324 {
1325 }
1326 return;
1327 }
1328 }
1329 }
1330 }
1331 if (fisher.veryrare)
1332 {
1333 return;
1334 }
1335 if (fisher.rare)
1336 {
1337 return;
1338 }
1339 }
1340 }
1341 else if (fisher.inHoney)
1342 {
1343 if (fisher.rare)
1344 {
1345 int num8 = 2314;
1346 return;
1347 }
1348 bool uncommon = fisher.uncommon;
1349 if (uncommon)
1350 {
1351 if (!uncommon)
1352 {
1353 }
1354 int num9;
1355 while (num9 == 0)
1356 {
1357 }
1358 if (fisher.uncommon)
1359 {
1360 int questFish = fisher.questFish;
1361 return;
1362 }
1363 }
1364 }
1365 else
1366 {
1367 int num8;
1368 if (num8 == 0)
1369 {
1370 }
1371 if (fisher.fishingLevel == 0)
1372 {
1373 }
1374 int fishingLevel = fisher.fishingLevel;
1375 int waterTilesCount = fisher.waterTilesCount;
1376 float waterQuality = fisher.waterQuality;
1377 if (waterTilesCount == 0)
1378 {
1379 }
1380 int num10;
1382 int num11;
1383 if (num11 == 0)
1384 {
1385 return;
1386 }
1387 }
1388 return;
1389 }
1390 }
1391 if (heightLevel == 0)
1392 {
1393 }
1394 }
1395
1396 // Token: 0x06002640 RID: 9792 RVA: 0x001597DC File Offset: 0x001579DC
1398 {
1399 int num = 1;
1400 if (num == 0)
1401 {
1402 }
1404 fisher.questFish = num;
1405 if (num == 0)
1406 {
1407 }
1408 bool flag = NPC.AnyNPCs(369);
1409 fisher.questFish = num;
1410 if (num == 0)
1411 {
1412 }
1413 bool anglerQuestFinished = Main.anglerQuestFinished;
1414 fisher.questFish = num;
1415 }
1416
1417 // Token: 0x06002641 RID: 9793 RVA: 0x00159824 File Offset: 0x00157A24
1418 private void FishingCheck_RollDropLevels(int fishingLevel, [Out] bool common, [Out] bool uncommon, [Out] bool rare, [Out] bool veryrare, [Out] bool legendary, [Out] bool crate)
1419 {
1420 if (1050 == 0)
1421 {
1422 }
1423 int num = 4;
1424 if (num == 0)
1425 {
1426 }
1427 int num2;
1428 int num3;
1429 if (num2 == 0)
1430 {
1431 num3 = 1;
1432 common.m_value = num3 != 0;
1433 }
1434 if (num3 == 0)
1435 {
1436 }
1437 int num4;
1438 int num5;
1439 if (num4 == 0)
1440 {
1441 num5 = 1;
1442 uncommon.m_value = num5 != 0;
1443 }
1444 if (num5 == 0)
1445 {
1446 }
1447 int num6;
1448 int num7;
1449 if (num6 == 0)
1450 {
1451 num7 = 1;
1452 rare.m_value = num7 != 0;
1453 }
1454 if (num7 == 0)
1455 {
1456 }
1457 int num8;
1458 int num9;
1459 if (num8 == 0)
1460 {
1461 num9 = 1;
1462 num.m_value = num9;
1463 }
1464 if (num9 == 0)
1465 {
1466 }
1467 int num10;
1468 int num11;
1469 if (num10 == 0)
1470 {
1471 num11 = 1;
1473 }
1474 if (num11 == 0)
1475 {
1476 }
1477 int num12 = 1;
1479 }
1480
1481 // Token: 0x06002642 RID: 9794 RVA: 0x001598A8 File Offset: 0x00157AA8
1482 private static void GetFishingPondState(int x, int y, [Out] bool lava, [Out] bool honey, [Out] int numWaters, [Out] int chumCount)
1483 {
1484 int num = 1;
1485 long num2 = 0L;
1486 long num3 = 0L;
1487 long num4 = 0L;
1488 if (num == 0)
1489 {
1490 }
1491 Projectile.GetFishingPondWidth(x, (int)num2, (int)num3, (int)num4);
1492 int num5 = 1;
1493 if (num == 0)
1494 {
1495 }
1496 Tile tile;
1497 byte liquid = tile.liquid;
1498 long num6 = 0L;
1499 bool flag = WorldGen.SolidTile(x, 0, num6 != 0L);
1500 Tile tile2;
1501 bool flag2 = tile2.lava();
1502 if (!lava)
1503 {
1504 }
1505 Tile tile3;
1506 bool flag3 = tile3.honey();
1507 honey.m_value = num5 != 0;
1508 if (!honey)
1509 {
1510 }
1511 chumCount.m_value = (honey ? 1 : 0);
1512 }
1513
1514 // Token: 0x06002643 RID: 9795 RVA: 0x00159910 File Offset: 0x00157B10
1515 private static void GetFishingPondWidth(int x, int y, [Out] int minX, [Out] int maxX)
1516 {
1517 int num = 1;
1518 minX.m_value = x;
1519 maxX.m_value = x;
1520 if (num == 0)
1521 {
1522 }
1523 Tile tile;
1524 byte liquid = tile.liquid;
1525 minX.m_value = y;
1526 Tile tile2;
1527 byte liquid2 = tile2.liquid;
1528 }
1529
1530 // Token: 0x06002644 RID: 9796 RVA: 0x00159948 File Offset: 0x00157B48
1531 public bool CanBeReflected()
1532 {
1533 while (this.active && this.friendly && !this.hostile)
1534 {
1535 }
1536 }
1537
1538 // Token: 0x06002645 RID: 9797 RVA: 0x00159970 File Offset: 0x00157B70
1539 public Color GetFairyQueenWeaponsColor(float alphaChannelMultiplier = 1f, float lerpToWhite = 0f, [Optional] float? rawHueOverride)
1540 {
1541 /*
1542An exception occurred when decompiling this method (06002645)
1543
1544ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Color Terraria.Projectile::GetFairyQueenWeaponsColor(System.Single,System.Single,System.Nullable`1<System.Single>)
1545
1546 ---> System.Exception: Basic block has to end with unconditional control flow.
1547{
1548 IL_0537:
1549 brtrue(IL_0000, ldloc:int32[exp:bool](var_199_531))
1550}
1551
1552 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
1553 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
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 1878
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 1846
1556 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
1557 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
1558 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
1559 --- End of inner exception stack trace ---
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 92
1561 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
1562*/;
1563 }
1564
1565 // Token: 0x06002646 RID: 9798 RVA: 0x00159EBC File Offset: 0x001580BC
1567 {
1568 /*
1569An exception occurred when decompiling this method (06002646)
1570
1571ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Projectile::GetLastPrismHue(System.Single,System.Single,System.Single)
1572
1573 ---> System.Exception: Basic block has to end with unconditional control flow.
1574{
1575 IL_03C2:
1576 brtrue(IL_0000, ldstr:string[exp:bool]("Devalaous"))
1577}
1578
1579 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
1580 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
1581 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
1582 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
1583 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
1584 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
1585 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
1586 --- End of inner exception stack trace ---
1587 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
1588 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
1589*/;
1590 }
1591
1592 // Token: 0x06002647 RID: 9799 RVA: 0x0015A294 File Offset: 0x00158494
1593 public static int GetByUUID(int owner, float uuid)
1594 {
1595 if (!true)
1596 {
1597 }
1598 return Projectile.GetByUUID(0, owner);
1599 }
1600
1601 // Token: 0x06002648 RID: 9800 RVA: 0x0015A2AC File Offset: 0x001584AC
1602 public static int GetByUUID(int owner, int uuid)
1603 {
1604 if (!true)
1605 {
1606 }
1607 return 43143168;
1608 }
1609
1610 // Token: 0x06002649 RID: 9801 RVA: 0x0015A2C4 File Offset: 0x001584C4
1612 {
1613 int num = this.owner;
1614 int num2 = this.type;
1615 }
1616
1617 // Token: 0x0600264A RID: 9802 RVA: 0x000021DB File Offset: 0x000003DB
1619 {
1620 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1621 }
1622
1623 // Token: 0x0600264B RID: 9803 RVA: 0x0015A2F4 File Offset: 0x001584F4
1624 private void AI_151_SuperStar()
1625 {
1626 int num = this.alpha;
1627 int num2 = this.soundDelay;
1628 this.alpha = num;
1629 float x;
1630 if (num2 == 0)
1631 {
1632 if (num == 0)
1633 {
1634 }
1635 this.soundDelay = num;
1636 if (num == 0)
1637 {
1638 }
1639 x = this.position.X;
1640 float y = this.position.Y;
1641 }
1642 float num3 = this.rotation;
1643 float x2 = this.velocity.X;
1644 if (num == 0)
1645 {
1646 }
1647 float y2 = this.velocity.Y;
1648 int direction = this.direction;
1649 this.rotation = x;
1650 int screenWidth = Main.screenWidth;
1651 int screenHeight = Main.screenHeight;
1652 Rectangle hitbox = base.Hitbox;
1653 Vector2 screenPosition = Main.screenPosition;
1654 int num4 = 17352;
1655 if (num4 == 0)
1656 {
1657 }
1659 bool flag = rectangle.Intersects(rectangle);
1660 if (num4 == 0)
1661 {
1662 }
1663 int num5;
1664 if (num5 == 0)
1665 {
1666 float x3 = this.position.X;
1667 float y3 = this.position.Y;
1668 float x4 = this.velocity.X;
1669 float y4 = this.velocity.Y;
1670 if (num4 == 0)
1671 {
1672 }
1673 if (num4 == 0)
1674 {
1675 }
1676 if (num4 == 0)
1677 {
1678 }
1679 if (num2 == 0)
1680 {
1681 }
1682 }
1683 int num6 = 26214;
1684 int num7 = 1;
1685 int num8;
1686 if (num8 == 0)
1687 {
1688 float x5 = this.position.X;
1689 float y5 = this.position.Y;
1690 int width = this.width;
1691 bool wet = this.wet;
1692 Dust dust;
1693 float x6 = dust.velocity.X;
1694 float y6 = dust.velocity.Y;
1695 dust.velocity.X = x;
1697 dust.scale = (float)num6;
1698 dust.noGravity = num7 != 0;
1699 float x7 = this.velocity.X;
1700 float y7 = this.velocity.Y;
1701 dust.velocity.X = x;
1703 }
1704 }
1705
1706 // Token: 0x0600264C RID: 9804 RVA: 0x0015A4E4 File Offset: 0x001586E4
1707 public bool IsInterruptible(Player player)
1708 {
1709 /*
1710An exception occurred when decompiling this method (0600264C)
1711
1712ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Projectile::IsInterruptible(Terraria.Player)
1713
1714 ---> System.Exception: Basic block has to end with unconditional control flow.
1715{
1716 Block_0:
1717 stloc:int32(var_0_06, ldfld:int32(Projectile::aiStyle, ldloc:Projectile(this)))
1718}
1719
1720 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
1721 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
1722 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
1723 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
1724 --- End of inner exception stack trace ---
1725 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
1726 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
1727*/;
1728 }
1729
1730 // Token: 0x0600264D RID: 9805 RVA: 0x0015A4F8 File Offset: 0x001586F8
1731 public void Interrupt(Player player)
1732 {
1733 int num = this.aiStyle;
1734 this.Kill();
1735 player.heldProj = num;
1736 }
1737
1738 // Token: 0x0600264E RID: 9806 RVA: 0x0015A51C File Offset: 0x0015871C
1740 {
1741 }
1742
1743 // Token: 0x0600264F RID: 9807 RVA: 0x000021DB File Offset: 0x000003DB
1745 {
1746 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1747 }
1748
1749 // Token: 0x06002650 RID: 9808 RVA: 0x000021DB File Offset: 0x000003DB
1751 {
1752 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1753 }
1754
1755 // Token: 0x06002651 RID: 9809 RVA: 0x000021DB File Offset: 0x000003DB
1757 {
1758 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1759 }
1760
1761 // Token: 0x06002652 RID: 9810 RVA: 0x000021DB File Offset: 0x000003DB
1763 {
1764 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1765 }
1766
1767 // Token: 0x06002653 RID: 9811 RVA: 0x000021DB File Offset: 0x000003DB
1769 {
1770 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1771 }
1772
1773 // Token: 0x06002654 RID: 9812 RVA: 0x000021DB File Offset: 0x000003DB
1775 {
1776 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1777 }
1778
1779 // Token: 0x06002655 RID: 9813 RVA: 0x0015A52C File Offset: 0x0015872C
1780 public static IEntitySource InheritSource(Projectile projectile)
1781 {
1783 return entitySource;
1784 }
1785
1786 // Token: 0x06002656 RID: 9814 RVA: 0x0015A53C File Offset: 0x0015873C
1788 {
1789 int num = this.type;
1790 int num2 = this.alpha;
1791 this.alpha = num2;
1792 if (this.soundDelay == 0)
1793 {
1794 this.soundDelay = num;
1795 if (num == 0)
1796 {
1797 }
1798 return;
1799 }
1800 int num3 = this.type;
1801 float x = this.velocity.X;
1802 if (num3 == 0)
1803 {
1804 return;
1805 }
1806 int num4 = this.type;
1807 float x2 = this.velocity.X;
1808 float y = this.velocity.Y;
1809 if (num4 == 0)
1810 {
1811 }
1812 float num5;
1814 float num6;
1816 int num7;
1817 if (num7 == 0)
1818 {
1819 Vector2 center = base.Center;
1820 float x3 = this.velocity.X;
1821 float y2 = this.velocity.Y;
1822 int num8 = 1;
1823 Dust dust;
1824 dust.noGravity = num8 != 0;
1825 Vector2 center2 = base.Center;
1827 if (num8 == 0)
1828 {
1829 }
1830 int num9;
1831 if (num9 == 0)
1832 {
1833 }
1834 float x4 = this.velocity.X;
1835 float y3 = this.velocity.Y;
1837 }
1838 int num10 = this.type;
1839 float x5 = this.position.X;
1840 float y4 = this.position.Y;
1841 int width = this.width;
1842 bool wet = this.wet;
1843 this.Kill();
1844 }
1845
1846 // Token: 0x06002657 RID: 9815 RVA: 0x0015A8C8 File Offset: 0x00158AC8
1847 public void Resize(int newWidth, int newHeight)
1848 {
1849 Vector2 center = base.Center;
1851 this.wet = newHeight != 0;
1852 }
1853
1854 // Token: 0x06002658 RID: 9816 RVA: 0x0015A8EC File Offset: 0x00158AEC
1855 private void Shimmer()
1856 {
1857 if (!this.hostile)
1858 {
1859 int num = this.aiStyle;
1860 int num2 = this.aiStyle;
1861 int num3 = this.type;
1862 return;
1863 }
1864 }
1865
1866 // Token: 0x06002659 RID: 9817 RVA: 0x000021DB File Offset: 0x000003DB
1867 public void AI()
1868 {
1869 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1870 }
1871
1872 // Token: 0x0600265A RID: 9818 RVA: 0x0015AC1C File Offset: 0x00158E1C
1873 private void AI_195_JimsDrone()
1874 {
1875 int num = 1;
1876 if (num == 0)
1877 {
1878 }
1879 if (num == 0)
1880 {
1881 }
1882 int myPlayer = Main.myPlayer;
1883 float y = this.position.Y;
1884 int height = this.height;
1885 if (num == 0)
1886 {
1887 }
1888 Item item;
1889 int num2 = item.type;
1890 BitsByte bitsByte = 0;
1891 int num3 = 1;
1892 this.netUpdate = num3 != 0;
1894 float y2 = this.velocity.Y;
1895 int num4 = 17096;
1896 if (num4 == 0)
1897 {
1898 }
1899 float num5;
1902 {
1903 if (num4 == 0)
1904 {
1905 }
1906 Vector2 center = base.Center;
1907 SlotId slotId;
1908 float num6 = slotId.ToFloat();
1909 if (num4 == 0)
1910 {
1911 }
1912 float num7;
1914 }
1915 if (activeSound != null)
1916 {
1918 Vector2 center2 = base.Center;
1919 }
1920 float num8 = this.rotation;
1921 float num10;
1922 float num9 = MathHelper.WrapAngle(num10);
1923 float x = this.velocity.X;
1924 this.rotation = y;
1925 this.velocity.X = x;
1926 Vector2 vector = num9.ToRotationVector2();
1927 float x2 = this.velocity.X;
1928 float y3 = this.velocity.Y;
1929 }
1930
1931 // Token: 0x0600265B RID: 9819 RVA: 0x0015AF14 File Offset: 0x00159114
1933 {
1934 if (!true)
1935 {
1936 }
1937 if (theChest.item.position != null)
1938 {
1939 return;
1940 }
1941 long num = 0L;
1942 Item[] item = theChest.item;
1943 Vector2 position = item.position;
1944 if (num != 0L)
1945 {
1946 return;
1947 }
1948 if (item == null)
1949 {
1950 }
1951 if (item != null)
1952 {
1953 if (item == null)
1954 {
1955 }
1956 }
1957 int x = theChest.x;
1958 bool bankChest = theChest.bankChest;
1959 int x2 = theChest.x;
1960 bool bankChest2 = theChest.bankChest;
1961 if (!true)
1962 {
1963 }
1964 }
1965
1966 // Token: 0x0600265C RID: 9820 RVA: 0x0015AFA4 File Offset: 0x001591A4
1967 private void AI_111_DryadsWard()
1968 {
1969 int num = 1;
1970 if (num == 0)
1971 {
1972 }
1973 if (num != 0)
1974 {
1975 if (num == 0)
1976 {
1977 }
1978 if (num == 0)
1979 {
1980 }
1981 float num2 = this.rotation;
1983 int num3 = 32640;
1984 this.scale = num2;
1985 this.alpha = num3;
1986 return;
1987 }
1988 this.Kill();
1989 }
1990
1991 // Token: 0x0600265D RID: 9821 RVA: 0x0015B1A4 File Offset: 0x001593A4
1992 public static bool GasTrapCheck(int x, int y, Player user)
1993 {
1994 /*
1995An exception occurred when decompiling this method (0600265D)
1996
1997ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Projectile::GasTrapCheck(System.Int32,System.Int32,Terraria.Player)
1998
1999 ---> System.Exception: Basic block has to end with unconditional control flow.
2000{
2001 IL_0078:
2002 stloc:int32(var_17_80, callgetter:int32(Main::get_myPlayer))
2003}
2004
2005 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
2006 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
2007 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
2008 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
2009 --- End of inner exception stack trace ---
2010 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
2011 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
2012*/;
2013 }
2014
2015 // Token: 0x0600265E RID: 9822 RVA: 0x0015B238 File Offset: 0x00159438
2017 {
2018 int num = 32768;
2019 Vector2 center = base.Center;
2020 if (num == 0)
2021 {
2022 }
2023 Vector2 center2 = base.Center;
2024 float num3;
2025 int num2 = Math.Sign(num3);
2026 float y = this.velocity.Y;
2027 float x = this.velocity.X;
2028 int num4 = Math.Sign(num3);
2029 float y2 = this.velocity.Y;
2030 float x2 = this.velocity.X;
2031 int num5 = this.timeLeft;
2032 int num6 = this.alpha;
2033 int num7 = 32768;
2034 this.alpha = num7;
2035 if (num7 == 0)
2036 {
2037 }
2038 int num8;
2039 if (num8 != 0)
2040 {
2041 float x3 = this.position.X;
2042 float y3 = this.position.Y;
2043 int width = this.width;
2044 bool wet = this.wet;
2045 float x4 = this.velocity.X;
2046 float y4 = this.velocity.Y;
2047 int num9 = 39322;
2048 int num10 = 52429;
2049 int num11 = 1;
2050 Dust dust;
2051 dust.scale = (float)num9;
2052 dust.fadeIn = (float)num10;
2053 dust.noGravity = num11 != 0;
2054 dust.noLight = num11 != 0;
2055 }
2056 }
2057
2058 // Token: 0x0600265F RID: 9823 RVA: 0x0015B358 File Offset: 0x00159558
2059 private void AI_193_Flamethrower()
2060 {
2061 this.Kill();
2062 int num = 17008;
2063 float x = this.velocity.X;
2064 float y = this.velocity.Y;
2065 if (num == 0)
2066 {
2067 }
2068 int num2 = 16968;
2069 int num3 = 17008;
2070 if (num2 == 0)
2071 {
2072 }
2073 if (num3 == 0)
2074 {
2075 }
2076 int num4 = 6;
2077 int num5 = 135;
2078 Vector2 center = base.Center;
2079 if (num4 == 0)
2080 {
2081 }
2082 if (num5 == 0)
2083 {
2084 }
2085 int num6 = 17040;
2086 if (num6 == 0)
2087 {
2088 }
2089 float x2 = this.velocity.X;
2090 float y2 = this.velocity.Y;
2091 if (num6 == 0)
2092 {
2093 }
2094 int num7;
2095 Dust dust;
2096 float x3;
2097 if (num7 != 0)
2098 {
2099 float num8 = dust.scale;
2100 x3 = dust.velocity.X;
2101 float y3 = dust.velocity.Y;
2102 dust.scale = num8;
2103 return;
2104 }
2105 float num9 = dust.scale;
2106 int num10 = 1;
2107 dust.noGravity = num10 != 0;
2108 dust.scale = num9;
2109 dust.scale = num9;
2110 if (num10 == 0)
2111 {
2112 }
2115 float x4 = this.velocity.X;
2116 float y4 = this.velocity.Y;
2119 if (16968 == 0)
2120 {
2121 }
2122 Vector2 center2 = base.Center;
2123 if (!true)
2124 {
2125 }
2126 Vector2 center3 = base.Center;
2127 if (16968 == 0)
2128 {
2129 }
2130 int num11 = 1;
2131 Dust dust2;
2132 dust2.velocity.X = y;
2133 float num12;
2135 dust2.noGravity = num11 != 0;
2136 float num13 = dust2.scale;
2137 dust2.scale = x4;
2138 }
2139
2140 // Token: 0x06002660 RID: 9824 RVA: 0x0015B560 File Offset: 0x00159760
2141 private void AI_047_MagnetSphere()
2142 {
2143 int num = 1;
2144 float x = this.velocity.X;
2145 float y = this.velocity.Y;
2146 float x2 = this.velocity.X;
2147 int direction = this.direction;
2148 if (num == 0)
2149 {
2150 }
2151 int num2 = this.frameCounter;
2152 int num3 = this.frame;
2153 this.frame = num3;
2154 float x3 = this.velocity.X;
2155 float y2 = this.velocity.Y;
2156 if (this.whoAmI == 0)
2157 {
2158 }
2159 if (num2 != 0)
2160 {
2161 int num4 = this.owner;
2162 int num5 = this.type;
2163 int num6 = this.timeLeft;
2164 if (num2 == 0)
2165 {
2166 }
2167 if (num5 == 0)
2168 {
2169 }
2170 if (num2 == 0)
2171 {
2172 }
2173 }
2175 }
2176
2177 // Token: 0x06002661 RID: 9825 RVA: 0x0015B618 File Offset: 0x00159818
2179 {
2180 int num = 1;
2181 if (num == 0)
2182 {
2183 }
2184 if (num == 0)
2185 {
2186 }
2187 float x = this.position.X;
2188 int width = this.width;
2189 int height = this.height;
2190 float y = this.position.Y;
2191 Vector2 center = base.Center;
2192 if (height == 0)
2193 {
2194 }
2195 if (height == 0)
2196 {
2197 }
2198 if (this.timeLeft == 0)
2199 {
2200 }
2201 int width2 = this.width;
2202 int height2 = this.height;
2203 float x2 = this.position.X;
2204 float y2 = this.position.Y;
2205 float x3 = this.velocity.X;
2206 float y3 = this.velocity.Y;
2208 int num2 = this.damage;
2209 float num3 = this.knockBack;
2210 int num4 = this.owner;
2211 }
2212
2213 // Token: 0x06002662 RID: 9826 RVA: 0x0015B6F4 File Offset: 0x001598F4
2214 public static void AI_192_GetJuminoFall(Projectile proj, [Out] float timeSinceFall, [Out] float fall)
2215 {
2216 }
2217
2218 // Token: 0x06002663 RID: 9827 RVA: 0x0015B704 File Offset: 0x00159904
2220 {
2221 int num = this.alpha;
2222 if (50047 == 0)
2223 {
2224 }
2225 if (16896 == 0)
2226 {
2227 }
2229 Vector2 vector = rectangle.TopLeft();
2230 int num2 = 1;
2231 Dust dust;
2232 dust.noGravity = num2 != 0;
2233 int num3 = 26214;
2234 dust.fadeIn = (float)num3;
2235 if (num3 == 0)
2236 {
2237 }
2238 }
2239
2240 // Token: 0x06002664 RID: 9828 RVA: 0x0015BA00 File Offset: 0x00159C00
2242 {
2243 int num = this.type;
2244 }
2245
2246 // Token: 0x06002665 RID: 9829 RVA: 0x0015C338 File Offset: 0x0015A538
2247 private void AI_190_NightsEdge()
2248 {
2249 if (this.type == 0)
2250 {
2251 }
2252 float x = this.position.X;
2253 float y = this.position.Y;
2255 float volume;
2256 if (soundEffectInstance != null)
2257 {
2258 volume = soundEffectInstance._volume;
2259 float num;
2261 }
2262 float x2 = this.velocity.X;
2263 float y2 = this.velocity.Y;
2264 int num2 = this.type;
2265 this.rotation = volume;
2266 }
2267
2268 // Token: 0x06002666 RID: 9830 RVA: 0x0015C974 File Offset: 0x0015AB74
2269 private void AI_188_LightsBane()
2270 {
2271 int num = this.soundDelay;
2272 if (num == 0)
2273 {
2274 this.soundDelay = num;
2275 if (num == 0)
2276 {
2277 }
2278 Vector2 center = base.Center;
2280 if (soundEffectInstance != null)
2281 {
2282 float volume = soundEffectInstance._volume;
2283 float num2;
2285 }
2286 }
2287 int num3 = this.frameCounter;
2289 int num4 = this.frame;
2290 this.frame = num4;
2291 float x = this.velocity.X;
2292 float y = this.velocity.Y;
2293 if (num4 == 0)
2294 {
2295 }
2296 float num5 = this.scale;
2297 float num6;
2298 Vector2 vector = num6.ToRotationVector2();
2299 int num7 = 16952;
2300 Vector2 center2 = base.Center;
2301 if (num7 == 0)
2302 {
2303 }
2304 Vector2 center3 = base.Center;
2305 if (16912 == 0)
2306 {
2307 }
2308 int num8 = 1;
2309 int num9 = 257;
2310 Dust dust;
2311 dust.noGravity = num8 != 0;
2312 dust.noLight = num9 != 0;
2313 }
2314
2315 // Token: 0x06002667 RID: 9831 RVA: 0x0015CA88 File Offset: 0x0015AC88
2316 private void AI_189_Volcano()
2317 {
2318 int num = this.soundDelay;
2319 if (num == 0)
2320 {
2321 this.soundDelay = num;
2322 if (num == 0)
2323 {
2324 }
2325 Vector2 center = base.Center;
2326 }
2327 if (num == 0)
2328 {
2329 }
2330 int num2 = 17279;
2331 int num3 = 32768;
2332 this.alpha = num2;
2333 int num4 = this.frameCounter;
2335 int num5 = this.frame;
2336 this.frame = num5;
2337 if (20 != 0)
2338 {
2340 {
2341 }
2342 Vector2 center2 = base.Center;
2343 float x = this.velocity.X;
2344 float y = this.velocity.Y;
2345 return;
2346 }
2347 int num6 = 1;
2348 Vector2 center3 = base.Center;
2349 if (num3 == 0)
2350 {
2351 }
2352 float x2 = this.velocity.X;
2353 float y2 = this.velocity.Y;
2354 Dust dust;
2355 float x3 = dust.velocity.X;
2356 float y3 = dust.velocity.Y;
2357 dust.noGravity = num6 != 0;
2360 Vector2 center4 = base.Center;
2361 if (num3 == 0)
2362 {
2363 }
2364 float x4 = this.velocity.X;
2365 float y4 = this.velocity.Y;
2366 if (num3 == 0)
2367 {
2368 }
2369 int num7 = 1;
2370 Vector2 center5 = base.Center;
2371 if (num3 == 0)
2372 {
2373 }
2374 float x5 = this.velocity.X;
2375 float y5 = this.velocity.Y;
2376 int num8 = 16256;
2377 Dust dust2;
2378 dust2.noGravity = num7 != 0;
2379 dust2.fadeIn = (float)num8;
2380 float x6 = dust2.position.X;
2381 float y6 = dust2.position.Y;
2382 Vector2 vector;
2383 float num9 = vector.Length();
2384 if (num8 == 0)
2385 {
2386 }
2389 }
2390
2391 // Token: 0x06002668 RID: 9832 RVA: 0x0015CD3C File Offset: 0x0015AF3C
2393 {
2394 int num = this.type;
2395 Vector2 center = base.Center;
2396 }
2397
2398 // Token: 0x06002669 RID: 9833 RVA: 0x0015CD60 File Offset: 0x0015AF60
2399 public static void RandomizeInsanityShadowFor(Entity targetEntity, bool isHostile, [Out] Vector2 spawnposition, [Out] Vector2 spawnvelocity, [Out] float ai0, [Out] float ai1)
2400 {
2401 if (true)
2402 {
2403 return;
2404 }
2405 if (17096 == 0)
2406 {
2407 }
2408 float x = targetEntity.velocity.X;
2409 }
2410
2411 // Token: 0x0600266A RID: 9834 RVA: 0x0015CEA0 File Offset: 0x0015B0A0
2412 private void AI_187_ShadowHand()
2413 {
2414 int num = 1;
2415 if (num == 0)
2416 {
2417 }
2418 Vector2 center = base.Center;
2419 SlotId slotId;
2420 float num2 = slotId.ToFloat();
2421 if (num == 0)
2422 {
2423 }
2424 float num3;
2426 {
2427 Vector2 center2 = base.Center;
2428 return;
2429 }
2430 if (num == 0)
2431 {
2432 }
2433 int num4 = this.alpha;
2434 }
2435
2436 // Token: 0x0600266B RID: 9835 RVA: 0x0015D0D0 File Offset: 0x0015B2D0
2437 private void AI_187_ShadowHand_GetVariation([Out] int variation, [Out] float fakeCounter, [Out] float counterMax)
2438 {
2439 }
2440
2441 // Token: 0x0600266C RID: 9836 RVA: 0x0015D100 File Offset: 0x0015B300
2442 private void AI_185_LifeDrain()
2443 {
2444 if (!true)
2445 {
2446 }
2447 int myPlayer = Main.myPlayer;
2448 int num = this.owner;
2449 if (num == 0)
2450 {
2451 }
2452 if (num == 0)
2453 {
2454 }
2455 if (num != 0 && num == 0 && num == 0 && num == 0)
2456 {
2457 Rectangle hitbox = base.Hitbox;
2459 bool flag = rectangle.Intersects(rectangle);
2460 }
2461 }
2462
2463 // Token: 0x0600266D RID: 9837 RVA: 0x0015D178 File Offset: 0x0015B378
2465 {
2466 if (17008 == 0)
2467 {
2468 }
2469 int num = 32768;
2470 this.alpha = num;
2471 int width = this.width;
2472 int num2 = this.alpha;
2473 int num3;
2474 int num7;
2475 if (num3 == 0)
2476 {
2477 if (!true)
2478 {
2479 }
2480 float num4 = this.scale;
2481 Vector2 center = base.Center;
2482 float num5 = this.scale;
2483 float num6 = this.scale;
2484 float x = this.velocity.X;
2485 float y = this.velocity.Y;
2486 num7 = 6000;
2487 return;
2488 }
2489 if (num7 == 0)
2490 {
2491 }
2492 int num8;
2493 if (num8 == 0)
2494 {
2495 if (num7 == 0)
2496 {
2497 }
2498 if (!true)
2499 {
2500 }
2501 float num9 = this.scale;
2502 Vector2 center2 = base.Center;
2503 float num10 = this.scale;
2504 float num11 = this.scale;
2505 float x2 = this.velocity.X;
2506 float y2 = this.velocity.Y;
2507 return;
2508 }
2509 int num12;
2510 if (num12 == 0)
2511 {
2512 if (!true)
2513 {
2514 }
2515 float num13 = this.scale;
2516 Vector2 center3 = base.Center;
2517 int num14 = this.owner;
2518 Vector2 velocity = this.velocity;
2519 }
2520 float num15 = this.scale;
2521 Vector2 center4 = base.Center;
2522 int num16 = this.owner;
2523 int num17 = this.owner;
2524 }
2525
2526 // Token: 0x0600266E RID: 9838 RVA: 0x0015D3E4 File Offset: 0x0015B5E4
2527 private void AI_184_BadTorchLuck()
2528 {
2529 int num = 255;
2530 this.owner = num;
2531 if (num == 0)
2532 {
2533 }
2534 int myPlayer = Main.myPlayer;
2535 if (num != 0)
2536 {
2537 }
2538 if (num == 0)
2539 {
2540 }
2541 Vector2 center = base.Center;
2542 }
2543
2544 // Token: 0x0600266F RID: 9839 RVA: 0x0015D4A4 File Offset: 0x0015B6A4
2546 {
2547 if (!true)
2548 {
2549 }
2550 if (32752 == 0)
2551 {
2552 int num = 1;
2553 this.netUpdate = num != 0;
2554 }
2555 int num2 = this.type;
2556 }
2557
2558 // Token: 0x06002670 RID: 9840 RVA: 0x0015DAA4 File Offset: 0x0015BCA4
2560 {
2561 /*
2562An exception occurred when decompiling this method (06002670)
2563
2564ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.Projectile Terraria.Projectile::FindStardustDragonHeadOfOwner()
2565
2566 ---> System.Exception: Basic block has to end with unconditional control flow.
2567{
2568 IL_0007:
2569 stloc:int32(var_2_0D, ldfld:int32(Projectile::owner, ldloc:Projectile(this)))
2570}
2571
2572 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
2573 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
2574 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
2575 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
2576 --- End of inner exception stack trace ---
2577 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
2578 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
2579*/;
2580 }
2581
2582 // Token: 0x06002671 RID: 9841 RVA: 0x0015DAC0 File Offset: 0x0015BCC0
2584 {
2585 float x = this.velocity.X;
2586 int num = 1;
2587 this.direction = num;
2588 this.velocity.X = x;
2590 this.direction = num;
2592 if (this.frame == 0)
2593 {
2594 }
2595 }
2596
2597 // Token: 0x06002672 RID: 9842 RVA: 0x0015DB0C File Offset: 0x0015BD0C
2598 private void AI_182_FinalFractal()
2599 {
2600 int num = this.type;
2601 if (num == 0)
2602 {
2603 }
2604 Vector2 center = base.Center;
2605 if (num == 0)
2606 {
2607 }
2608 Vector2 vector;
2609 float num2 = vector.Length();
2610 if (num == 0)
2611 {
2612 }
2613 if (17136 == 0)
2614 {
2615 }
2616 int num3 = 1;
2617 float num4;
2618 float num5;
2619 float lerpValue = Utils.GetLerpValue(num4, num4, num5, num3 != 0);
2620 float x = this.velocity.X;
2621 float y = this.velocity.Y;
2622 float x2 = this.velocity.X;
2623 int num6 = 1;
2624 float num7;
2626 int num8 = 16928;
2627 float x3 = this.velocity.X;
2628 float y2 = this.velocity.Y;
2629 if (num8 == 0)
2630 {
2631 }
2632 if (num8 == 0)
2633 {
2634 }
2635 float num10;
2636 float num9 = MathHelper.Lerp(num10, num10, num5);
2637 int num11 = 1;
2639 this.rotation = x2;
2640 float x4 = this.velocity.X;
2641 this.rotation = x4;
2642 int num12 = 32640;
2644 float num13 = this.rotation;
2645 if (num12 == 0)
2646 {
2647 }
2648 float num14;
2649 Vector2 vector2 = num14.ToRotationVector2();
2650 float num15 = base.Center.Length();
2651 int num16 = 1;
2652 float lerpValue4 = Utils.GetLerpValue(num15, num4, num4, num16 != 0);
2653 int num17 = 1;
2655 int num18 = 52992;
2656 if (num18 == 0)
2657 {
2658 }
2659 if (num18 == 0)
2660 {
2661 }
2662 float num20;
2663 float num19 = MathHelper.Lerp(num20, num4, num20);
2664 int num21 = this.spriteDirection;
2665 float num22 = this.rotation;
2666 if (!true)
2667 {
2668 }
2669 Vector2 center2 = base.Center;
2670 int num23 = this.alpha;
2671 int num24 = this.alpha;
2672 int num25 = 1;
2673 float num26;
2675 int num27 = 1;
2676 float num28;
2679 int num30 = 32768;
2680 this.alpha = num30;
2681 }
2682
2683 // Token: 0x06002673 RID: 9843 RVA: 0x0015DD4C File Offset: 0x0015BF4C
2685 {
2686 if (!true)
2687 {
2688 }
2689 int num = 17279;
2690 float x = this.velocity.X;
2691 float y = this.velocity.Y;
2692 this.alpha = num;
2693 if (num == 0)
2694 {
2695 }
2696 int num2;
2697 if (num2 == 0)
2698 {
2699 Vector2 center = base.Center;
2700 if (num == 0)
2701 {
2702 }
2703 int num3 = 16256;
2704 int num4 = 1;
2705 int num5 = 100;
2706 Dust dust;
2707 dust.fadeIn = (float)num3;
2708 dust.noGravity = num4 != 0;
2709 dust.alpha = num5;
2710 if (num3 == 0)
2711 {
2712 }
2713 if (num4 == 0)
2714 {
2715 }
2716 float num6 = dust.scale;
2717 int num7 = 1;
2718 Color color;
2719 dust.color = color;
2721 dust.scale = num6;
2722 }
2723 }
2724
2725 // Token: 0x06002674 RID: 9844 RVA: 0x0015DE10 File Offset: 0x0015C010
2727 {
2728 int num = this.type;
2730 }
2731
2732 // Token: 0x06002675 RID: 9845 RVA: 0x0015E730 File Offset: 0x0015C930
2734 {
2735 if (!true)
2736 {
2737 }
2738 int myPlayer = Main.myPlayer;
2739 if (this.owner == 0)
2740 {
2741 }
2742 Item item;
2743 int shoot = item.shoot;
2744 int num = this.type;
2745 int width = this.width;
2746 int height = this.height;
2747 float x = this.position.X;
2748 float y = this.position.Y;
2749 if (shoot == 0)
2750 {
2751 }
2753 int num2 = this.type;
2754 float x2 = this.velocity.X;
2755 float y2 = this.velocity.Y;
2756 if (num2 == 0)
2757 {
2758 }
2759 this.velocity.X = x;
2760 this.velocity.Y = y;
2761 Vector2 vector;
2762 float num3 = vector.Length();
2763 vector.Normalize();
2764 float x3 = this.velocity.X;
2765 float y3 = this.velocity.Y;
2766 this.velocity.X = x;
2767 this.velocity.Y = y;
2768 }
2769
2770 // Token: 0x06002676 RID: 9846 RVA: 0x0015EF50 File Offset: 0x0015D150
2772 {
2773 float x = this.velocity.X;
2774 float y = this.velocity.Y;
2775 float x2 = this.velocity.X;
2776 float y2 = lastVelocity.Y;
2777 float y3 = this.velocity.Y;
2778 float y4 = lastVelocity.Y;
2780 int num = 10;
2781 int num2 = 1;
2783 this.netUpdate = num2 != 0;
2784 float x3 = this.position.X;
2785 float y5 = this.position.Y;
2786 if (num == 0)
2787 {
2788 }
2789 Vector2 bottomRight = base.BottomRight;
2790 Vector2 center = base.Center;
2791 int width = this.width;
2792 Vector2 center2 = base.Center;
2793 float x4 = this.position.X;
2794 float y6 = this.position.Y;
2795 if (num == 0)
2796 {
2797 }
2800 }
2801
2802 // Token: 0x06002677 RID: 9847 RVA: 0x0015F0EC File Offset: 0x0015D2EC
2804 {
2805 }
2806
2807 // Token: 0x06002678 RID: 9848 RVA: 0x0015F0FC File Offset: 0x0015D2FC
2808 private void AI_015_Flails()
2809 {
2810 if (!true)
2811 {
2812 }
2813 Vector2 center = base.Center;
2814 if (17505 == 0)
2815 {
2816 }
2817 int myPlayer = Main.myPlayer;
2818 if (this.owner == 0)
2819 {
2820 }
2821 bool mapFullscreen = Main.mapFullscreen;
2822 this.Kill();
2823 }
2824
2825 // Token: 0x06002679 RID: 9849 RVA: 0x0015F740 File Offset: 0x0015D940
2827 {
2828 float x = this.velocity.X;
2829 }
2830
2831 // Token: 0x0600267A RID: 9850 RVA: 0x0015F864 File Offset: 0x0015DA64
2832 private void AI_015_Flails_Old()
2833 {
2834 int num = 1;
2835 long num2 = 0L;
2836 this.AI_015_Flails_Dust(num2 != 0L);
2837 if (num == 0)
2838 {
2839 }
2840 Vector2 center = base.Center;
2841 Vector2 vector;
2842 float num3 = vector.Length();
2843 this.Kill();
2844 }
2845
2846 // Token: 0x0600267B RID: 9851 RVA: 0x0015FB94 File Offset: 0x0015DD94
2848 {
2849 int num = this.type;
2850 float x = this.position.X;
2851 float y = this.position.Y;
2852 int width = this.width;
2853 bool wet = this.wet;
2854 float x2 = this.velocity.X;
2855 float y2 = this.velocity.Y;
2856 if (num == 0)
2857 {
2858 }
2859 }
2860
2861 // Token: 0x0600267C RID: 9852 RVA: 0x0015FCC0 File Offset: 0x0015DEC0
2862 private void AI_100_Medusa()
2863 {
2864 if (!true)
2865 {
2866 }
2867 if (!true)
2868 {
2869 }
2870 int num = this.type;
2871 int num2 = 3;
2873 int num3 = this.frame;
2874 int num4 = 8;
2875 this.frame = num4;
2876 int num5 = this.frameCounter;
2878 }
2879
2880 // Token: 0x0600267D RID: 9853 RVA: 0x0015FF60 File Offset: 0x0015E160
2882 {
2883 int num = 1;
2884 if (num == 0)
2885 {
2886 }
2887 if (num == 0)
2888 {
2889 return;
2890 }
2891 int num2 = this.type;
2892 if (num != 0)
2893 {
2894 return;
2895 }
2896 int num3;
2897 int num4;
2898 if (num3 != 0)
2899 {
2900 num4 = 2;
2902 }
2903 Vector2 center = base.Center;
2904 if (num4 == 0)
2905 {
2906 }
2907 }
2908
2909 // Token: 0x0600267E RID: 9854 RVA: 0x001605F0 File Offset: 0x0015E7F0
2911 {
2912 int num = 1;
2913 if (num == 0)
2914 {
2915 }
2916 if (num == 0)
2917 {
2918 }
2919 if (num == 0)
2920 {
2921 }
2923 }
2924
2925 // Token: 0x0600267F RID: 9855 RVA: 0x00160618 File Offset: 0x0015E818
2927 {
2928 if (!true)
2929 {
2930 }
2931 Vector2 center = base.Center;
2932 int num = this.alpha;
2933 this.alpha = num;
2934 if (num == 0)
2935 {
2936 }
2937 int num2 = 17136;
2938 int num3 = 32768;
2939 if (num2 == 0)
2940 {
2941 }
2942 if (num3 == 0)
2943 {
2944 }
2945 if (num3 != 0)
2946 {
2947 }
2948 if (num3 == 0)
2949 {
2950 }
2951 if (!true)
2952 {
2953 }
2954 float num4 = this.rotation;
2955 float num5;
2956 Vector2 vector = num5.ToRotationVector2();
2957 int num6 = 255;
2958 float num7;
2959 float num8;
2960 float num9;
2961 Vector3 vector2 = Main.hslToRgb(num7, num8, num9, (byte)num6).ToVector3();
2962 float num10 = this.scale;
2963 float num11 = this.scale;
2964 Vector2 center2 = base.Center;
2965 }
2966
2967 // Token: 0x06002680 RID: 9856 RVA: 0x001606F0 File Offset: 0x0015E8F0
2969 {
2970 int num = 17008;
2971 if (num == 0)
2972 {
2973 }
2974 float num2;
2975 Vector2 vector = num2.ToRotationVector2();
2976 if (num == 0)
2977 {
2978 }
2979 int num3 = 16928;
2980 if (num3 == 0)
2981 {
2982 }
2983 int num4;
2984 float num8;
2985 if (num4 == 0)
2986 {
2987 Vector2 center = base.Center;
2988 if (num3 == 0)
2989 {
2990 }
2991 int num5 = 16256;
2992 int num6 = 1;
2993 int num7 = 100;
2994 Dust dust;
2995 dust.fadeIn = (float)num5;
2996 dust.noGravity = num6 != 0;
2997 dust.alpha = num7;
2998 Color color = this.AI_171_GetColor();
2999 if (num6 == 0)
3000 {
3001 }
3002 if (num6 == 0)
3003 {
3004 }
3005 if (num6 == 0)
3006 {
3007 }
3008 num8 = dust.scale;
3009 int num9 = 1;
3010 Color color2;
3013 dust.scale = num8;
3014 }
3015 if (17332 == 0)
3016 {
3017 }
3018 int num10 = 17279;
3019 this.alpha = num10;
3021 }
3022
3023 // Token: 0x06002681 RID: 9857 RVA: 0x001607E8 File Offset: 0x0015E9E8
3025 {
3026 if (!true)
3027 {
3028 }
3029 int num;
3030 int num4;
3031 if (num != 0)
3032 {
3033 long num2 = 0L;
3034 float num3;
3035 NPC npc = this.FindTargetWithinRange(num3, num2 != 0L);
3036 if (npc != null)
3037 {
3038 int whoAmI = npc.whoAmI;
3039 num4 = 1;
3040 this.netUpdate = num4 != 0;
3041 }
3042 this.Kill();
3043 return;
3044 }
3045 if (num4 == 0)
3046 {
3047 }
3048 if (num4 == 0)
3049 {
3050 }
3051 int num5 = this.frameCounter;
3053 if (num5 == 0)
3054 {
3055 }
3056 int num6;
3057 this.frame = num6;
3058 }
3059
3060 // Token: 0x06002682 RID: 9858 RVA: 0x00160868 File Offset: 0x0015EA68
3061 public NPC FindTargetWithinRange(float maxRange, bool checkCanHit = false)
3062 {
3063 /*
3064An exception occurred when decompiling this method (06002682)
3065
3066ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.NPC Terraria.Projectile::FindTargetWithinRange(System.Single,System.Boolean)
3067
3068 ---> System.Exception: Basic block has to end with unconditional control flow.
3069{
3070 IL_000D:
3071 stloc:float32(var_5_18, ldfld:float32(Vector2::X, ldfld:Vector2[exp:valuetype Microsoft.Xna.Framework.Vector2&](Entity::position, ldloc:Projectile[exp:Entity](this))))
3072 stloc:float32(var_6_25, ldfld:float32(Vector2::Y, ldfld:Vector2[exp:valuetype Microsoft.Xna.Framework.Vector2&](Entity::position, ldloc:Projectile[exp:Entity](this))))
3073 stloc:int32(var_7_2D, ldfld:int32(Entity::width, ldloc:Projectile[exp:Entity](this)))
3074 stloc:bool(var_8_35, ldfld:bool(Entity::wet, ldloc:Projectile[exp:Entity](this)))
3075}
3076
3077 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
3078 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
3079 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
3080 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
3081 --- End of inner exception stack trace ---
3082 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
3083 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
3084*/;
3085 }
3086
3087 // Token: 0x06002683 RID: 9859 RVA: 0x001608AC File Offset: 0x0015EAAC
3089 {
3090 if (!true)
3091 {
3092 }
3093 int num = this.type;
3094 this.Kill();
3095 }
3096
3097 // Token: 0x06002684 RID: 9860 RVA: 0x00160CA4 File Offset: 0x0015EEA4
3099 {
3100 if (!true)
3101 {
3102 }
3103 float x = this.position.X;
3104 float y = this.position.Y;
3105 float x2 = this.position.X;
3106 float y2 = this.position.Y;
3107 int width = this.width;
3108 bool wet = this.wet;
3109 Vector2 center = base.Center;
3110 int width2 = this.width;
3111 float x3 = this.position.X;
3112 float y3 = this.position.Y;
3113 int width3 = this.width;
3114 bool wet2 = this.wet;
3115 Vector2 center2 = base.Center;
3116 int width4 = this.width;
3117 float x4 = this.position.X;
3118 float y4 = this.position.Y;
3119 int width5 = this.width;
3120 bool wet3 = this.wet;
3121 Vector2 center3 = base.Center;
3122 int width6 = this.width;
3123 int num = 16416;
3124 float x5 = this.position.X;
3125 float y5 = this.position.Y;
3126 int width7 = this.width;
3127 bool wet4 = this.wet;
3128 if (num == 0)
3129 {
3130 }
3131 Vector2 center4 = base.Center;
3132 float x6 = this.velocity.X;
3133 float y6 = this.velocity.Y;
3134 int width8 = this.width;
3135 float x7 = this.position.X;
3136 float y7 = this.position.Y;
3137 int width9 = this.width;
3138 bool wet5 = this.wet;
3139 if (num == 0)
3140 {
3141 }
3142 Vector2 center5 = base.Center;
3143 float x8 = this.velocity.X;
3144 float y8 = this.velocity.Y;
3145 int width10 = this.width;
3146 float x9 = this.position.X;
3147 float y9 = this.position.Y;
3148 int width11 = this.width;
3149 int height = this.height;
3150 Vector2 center6 = base.Center;
3151 int width12 = this.width;
3152 this.Kill();
3153 }
3154
3155 // Token: 0x06002685 RID: 9861 RVA: 0x00160F20 File Offset: 0x0015F120
3157 {
3158 if (!true)
3159 {
3160 }
3161 this.Kill();
3162 }
3163
3164 // Token: 0x06002686 RID: 9862 RVA: 0x00160FA4 File Offset: 0x0015F1A4
3166 {
3167 if (!true)
3168 {
3169 }
3170 int num = this.type;
3171 }
3172
3173 // Token: 0x06002687 RID: 9863 RVA: 0x001611E0 File Offset: 0x0015F3E0
3175 {
3176 int num = 1;
3177 int num2 = this.timeLeft;
3178 if (num == 0)
3179 {
3180 }
3181 int num3 = this.timeLeft;
3182 int num4 = 17279;
3183 float x = this.velocity.X;
3184 float y = this.velocity.Y;
3185 this.alpha = num4;
3186 this.velocity.X = (float)num3;
3187 float x2 = this.velocity.X;
3188 float y2 = this.velocity.Y;
3189 this.rotation = (float)num3;
3190 }
3191
3192 // Token: 0x06002688 RID: 9864 RVA: 0x00161274 File Offset: 0x0015F474
3194 {
3195 /*
3196An exception occurred when decompiling this method (06002688)
3197
3198ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Color Terraria.Projectile::AI_173_GetColor()
3199
3200 ---> System.Exception: Basic block has to end with unconditional control flow.
3201{
3202 IL_0032:
3203 stloc:int32(var_13_3F, ldfld:int32(Projectile::alpha, ldloc:Projectile(this)))
3204 brtrue(IL_0000, ldloc:int32[exp:bool](var_8_29))
3205}
3206
3207 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
3208 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
3209 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
3210 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
3211 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
3212 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
3213 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
3214 --- End of inner exception stack trace ---
3215 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
3216 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
3217*/;
3218 }
3219
3220 // Token: 0x06002689 RID: 9865 RVA: 0x001612C8 File Offset: 0x0015F4C8
3222 {
3223 int num = this.type;
3224 int num2 = this.timeLeft;
3225 int num3 = this.alpha;
3226 int num4 = 1;
3227 this.alpha = num3;
3228 Vector2 center = base.Center;
3229 Dust dust;
3230 float num5 = dust.scale;
3231 dust.noGravity = num4 != 0;
3232 dust.scale = num5;
3233 }
3234
3235 // Token: 0x0600268A RID: 9866 RVA: 0x001614F4 File Offset: 0x0015F6F4
3237 {
3238 /*
3239An exception occurred when decompiling this method (0600268A)
3240
3241ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Color Terraria.Projectile::AI_171_GetColor()
3242
3243 ---> System.Exception: Basic block has to end with unconditional control flow.
3244{
3245 IL_0032:
3246 stloc:int32(var_13_3F, ldfld:int32(Projectile::alpha, ldloc:Projectile(this)))
3247 brtrue(IL_0000, ldloc:int32[exp:bool](var_8_29))
3248}
3249
3250 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
3251 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
3252 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
3253 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
3254 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
3255 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
3256 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
3257 --- End of inner exception stack trace ---
3258 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
3259 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
3260*/;
3261 }
3262
3263 // Token: 0x0600268B RID: 9867 RVA: 0x00161548 File Offset: 0x0015F748
3265 {
3266 int num = 16256;
3267 this.scale = (float)num;
3268 int num2 = 32768;
3269 this.alpha = num2;
3270 if (17234 == 0)
3271 {
3272 }
3273 if (!true)
3274 {
3275 }
3276 long num3 = 0L;
3278 long num4 = 0L;
3279 bool flag = hallowBossPelletStormInfo.IsValid((int)num4);
3280 Vector2 center = base.Center;
3281 }
3282
3283 // Token: 0x0600268C RID: 9868 RVA: 0x001615FC File Offset: 0x0015F7FC
3285 {
3286 return 6;
3287 }
3288
3289 // Token: 0x0600268D RID: 9869 RVA: 0x0016160C File Offset: 0x0015F80C
3293
3294 // Token: 0x0600268E RID: 9870 RVA: 0x0016161C File Offset: 0x0015F81C
3295 public int FindTargetWithLineOfSight(float maxRange = 800f)
3296 {
3297 int num = 1;
3298 if (num == 0)
3299 {
3300 }
3301 int num2;
3302 if (num2 == 0)
3303 {
3304 if (num == 0)
3305 {
3306 }
3307 float x = this.position.X;
3308 float y = this.position.Y;
3309 int width = this.width;
3310 bool wet = this.wet;
3311 if (num == 0)
3312 {
3313 }
3314 }
3315 return 43143168;
3316 }
3317
3318 // Token: 0x0600268F RID: 9871 RVA: 0x00161668 File Offset: 0x0015F868
3320 {
3321 int num = 1;
3322 Vector2 center = base.Center;
3323 if (num == 0)
3324 {
3325 }
3326 Point point;
3327 Vector2 vector = point.ToVector2();
3328 if (num == 0)
3329 {
3330 }
3331 if (!true)
3332 {
3333 }
3334 float x = this.position.X;
3335 float y = this.position.Y;
3336 int num2 = this.frameCounter;
3338 int num3 = this.frame;
3339 if (num3 == 0)
3340 {
3341 }
3342 int num4 = 26215;
3343 int num5 = 10;
3344 if (num3 == 0)
3345 {
3346 if (num3 == 0)
3347 {
3348 }
3349 if (num3 == 0)
3350 {
3351 }
3352 if (!true)
3353 {
3354 }
3355 int value = num4.m_value;
3356 if (num5 == 0)
3357 {
3358 }
3360 float num6 = vector2.Length();
3362 float num7 = vector3.Length();
3363 }
3364 float x2 = this.velocity.X;
3365 float y2 = this.velocity.Y;
3366 this.velocity.X = x;
3367 this.velocity.Y = y;
3368 if (!true)
3369 {
3370 }
3371 int num8 = 1;
3372 this.netUpdate = num8 != 0;
3373 }
3374
3375 // Token: 0x06002690 RID: 9872 RVA: 0x00161764 File Offset: 0x0015F964
3376 private void AI_169_Smolstars()
3377 {
3378 int num = 1;
3379 if (num == 0)
3380 {
3381 }
3382 int num2 = this.type;
3383 if (num == 0)
3384 {
3385 }
3386 if (num != 0)
3387 {
3388 return;
3389 }
3390 int num3;
3391 if (num != 0)
3392 {
3393 num3 = 2;
3395 }
3396 if (num3 == 0)
3397 {
3398 }
3399 int num4 = 1;
3400 if (num4 == 0)
3401 {
3402 }
3403 if (num4 == 0)
3404 {
3405 }
3406 Vector2 center = base.Center;
3407 Vector2 vector;
3408 float num5 = vector.Length();
3409 float x = this.velocity.X;
3410 float y = this.velocity.Y;
3411 int num6 = 17008;
3412 int num7 = 1;
3413 this.netUpdate = num7 != 0;
3414 float x2 = this.velocity.X;
3415 float y2 = this.velocity.Y;
3416 if (num6 == 0)
3417 {
3418 }
3419 if (!true)
3420 {
3421 }
3422 if (16928 == 0)
3423 {
3424 }
3425 if (!true)
3426 {
3427 }
3428 float num8 = this.rotation;
3429 float num10;
3430 float num9 = num10.AngleLerp(num10, num5);
3431 }
3432
3433 // Token: 0x06002691 RID: 9873 RVA: 0x00161A94 File Offset: 0x0015FC94
3434 private void AI_019_Spears()
3435 {
3436 if (!true)
3437 {
3438 }
3439 int whoAmI = this.whoAmI;
3440 int direction = this.direction;
3441 int num = this.type;
3443 }
3444
3445 // Token: 0x06002692 RID: 9874 RVA: 0x00162210 File Offset: 0x00160410
3447 {
3448 /*
3449An exception occurred when decompiling this method (06002692)
3450
3451ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Projectile::AI_019_Spears_GetExtensionHitbox(Microsoft.Xna.Framework.Rectangle)
3452
3453 ---> System.Exception: Basic block has to end with unconditional control flow.
3454{
3455 IL_0055:
3456 stloc:int64(var_16_5C, ldc.i4:int64(0))
3457 stfld:int32(Rectangle::X, ldloc:Rectangle[exp:valuetype Microsoft.Xna.Framework.Rectangle&](extensionBox), ldloc:Rectangle[exp:int32](var_18))
3458 stfld:int32(Rectangle::Width, ldloc:Rectangle[exp:valuetype Microsoft.Xna.Framework.Rectangle&](extensionBox), ldloc:int64[exp:int32](var_16_5C))
3459}
3460
3461 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
3462 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
3463 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
3464 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
3465 --- End of inner exception stack trace ---
3466 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
3467 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
3468*/;
3469 }
3470
3471 // Token: 0x06002693 RID: 9875 RVA: 0x00162290 File Offset: 0x00160490
3472 private void AI_019_Spears_Old()
3473 {
3474 if (!true)
3475 {
3476 }
3477 int whoAmI = this.whoAmI;
3478 int width = this.width;
3479 bool wet = this.wet;
3480 if (width == 0)
3481 {
3482 int num = this.type;
3483 int num2 = 1;
3484 this.netUpdate = num2 != 0;
3485 if (num2 == 0)
3486 {
3487 }
3488 int myPlayer = Main.myPlayer;
3489 int num3 = this.owner;
3490 float x = this.velocity.X;
3491 float y = this.velocity.Y;
3492 if (num3 == 0)
3493 {
3494 }
3496 Vector2 center = base.Center;
3497 float x2 = this.velocity.X;
3498 Vector2 center2 = base.Center;
3499 float y2 = this.velocity.Y;
3500 int num4 = this.damage;
3501 float num5 = this.knockBack;
3502 int num6 = this.owner;
3503 return;
3504 }
3505 float x3 = this.position.X;
3506 float y3 = this.position.Y;
3507 float x4 = this.velocity.X;
3508 float y4 = this.velocity.Y;
3509 int num7 = this.type;
3511 float x5 = this.position.X;
3512 float y5 = this.position.Y;
3513 int width2 = this.width;
3514 bool wet2 = this.wet;
3515 float x6 = this.velocity.X;
3516 float y6 = this.velocity.Y;
3517 int num8 = this.damage;
3518 int num9 = this.owner;
3519 int num10;
3520 if (num10 == 0)
3521 {
3522 }
3523 int num11 = 21846;
3524 if (num11 == 0)
3525 {
3526 }
3527 if (num11 == 0)
3528 {
3529 this.Kill();
3530 }
3531 float x7 = this.velocity.X;
3532 float y7 = this.velocity.Y;
3533 if (num11 == 0)
3534 {
3535 }
3536 int num12 = this.spriteDirection;
3537 int num13 = this.type;
3538 if (num13 == 0)
3539 {
3540 }
3541 int num14;
3542 if (num14 == 0)
3543 {
3544 float x8 = this.position.X;
3545 float y8 = this.position.Y;
3546 int width3 = this.width;
3547 bool wet3 = this.wet;
3548 if (num13 == 0)
3549 {
3550 }
3551 }
3552 float x9 = this.position.X;
3553 float y9 = this.position.Y;
3554 int direction = this.direction;
3555 int height = this.height;
3556 int height2 = this.height;
3557 float x10 = this.velocity.X;
3558 float y10 = this.velocity.Y;
3559 if (num13 == 0)
3560 {
3561 }
3562 if (num10 == 0)
3563 {
3564 }
3565 float x11 = this.position.X;
3566 float y11 = this.position.Y;
3567 float x12 = this.velocity.X;
3568 float y12 = this.velocity.Y;
3569 int width4 = this.width;
3570 bool wet4 = this.wet;
3571 int num15 = this.type;
3572 if (num15 == 0)
3573 {
3574 }
3575 int num16;
3576 int num17;
3577 if (num16 == 0)
3578 {
3579 float x13 = this.position.X;
3580 float y13 = this.position.Y;
3581 int width5 = this.width;
3582 bool wet5 = this.wet;
3583 if (num15 == 0)
3584 {
3585 }
3586 num17 = 1;
3587 Dust dust;
3588 dust.noGravity = num17 != 0;
3589 float x14 = dust.velocity.X;
3590 float y14 = dust.velocity.Y;
3591 if (num17 == 0)
3592 {
3593 }
3594 }
3595 if (num17 == 0)
3596 {
3597 }
3598 int num18;
3599 if (num18 == 0)
3600 {
3601 float x15 = this.position.X;
3602 float y15 = this.position.Y;
3603 int width6 = this.width;
3604 bool wet6 = this.wet;
3605 if (num17 == 0)
3606 {
3607 }
3608 Dust dust2;
3609 float y16 = dust2.velocity.Y;
3611 return;
3612 }
3613 }
3614
3615 // Token: 0x06002694 RID: 9876 RVA: 0x00162904 File Offset: 0x00160B04
3616 private void AI_168_FirstFractal()
3617 {
3618 int num;
3619 if (this.frameCounter == 0)
3620 {
3621 num = 1;
3622 this.frameCounter = num;
3623 if (num == 0)
3624 {
3625 }
3626 int num2;
3627 this.frame = num2;
3628 }
3629 float x = this.velocity.X;
3630 float y = this.velocity.Y;
3631 if (num == 0)
3632 {
3633 }
3634 int num3 = 17279;
3635 float x2 = this.velocity.X;
3636 float y2 = this.velocity.Y;
3637 int num4 = 32640;
3638 this.alpha = num3;
3639 if (num3 == 0)
3640 {
3641 }
3642 int num5 = this.spriteDirection;
3643 Vector2 center = base.Center;
3644 int num6;
3645 if (num6 == 0)
3646 {
3647 Vector2 center2 = base.Center;
3649 if (num4 == 0)
3650 {
3651 }
3652 if (num4 == 0)
3653 {
3654 }
3655 if (num4 == 0)
3656 {
3657 }
3658 if (num4 == 0)
3659 {
3660 }
3661 int num7 = 13107;
3662 int num8 = 1;
3663 Dust dust;
3664 dust.scale = (float)num7;
3665 dust.noGravity = num8 != 0;
3666 float x3 = dust.velocity.X;
3667 float y3 = dust.velocity.Y;
3668 if (num7 == 0)
3669 {
3670 }
3671 float x4 = this.velocity.X;
3672 float y4 = this.velocity.Y;
3675 }
3676 }
3677
3678 // Token: 0x06002695 RID: 9877 RVA: 0x00162A68 File Offset: 0x00160C68
3680 {
3681 int num = 17074;
3682 if (num == 0)
3683 {
3684 }
3685 float x = this.velocity.X;
3686 float y = this.velocity.Y;
3687 if (num == 0)
3688 {
3689 }
3690 int num2 = this.type;
3691 Vector2 center = base.Center;
3692 if (num2 == 0)
3693 {
3694 }
3695 if (num2 == 0)
3696 {
3697 }
3698 }
3699
3700 // Token: 0x06002696 RID: 9878 RVA: 0x00162AE0 File Offset: 0x00160CE0
3702 {
3703 if (!true)
3704 {
3705 }
3706 int num = this.type;
3707 if (num != 0)
3708 {
3709 return;
3710 }
3711 if (num == 0)
3712 {
3713 return;
3714 }
3715 int num2 = 2;
3717 int num3 = this.frameCounter;
3719 int num4 = this.frame;
3720 this.frame = num4;
3721 if (num4 == 0)
3722 {
3723 }
3724 }
3725
3726 // Token: 0x06002697 RID: 9879 RVA: 0x00162B44 File Offset: 0x00160D44
3728 {
3729 /*
3730An exception occurred when decompiling this method (06002697)
3731
3732ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.Projectile::AI_164_GetHomeLocation(Terraria.Player,System.Int32,System.Int32)
3733
3734 ---> System.Exception: Basic block has to end with unconditional control flow.
3735{
3736 IL_0036:
3737 stloc:Vector2(var_11_42, callgetter:Vector2(Player::get_MountedCenter, ldloc:Player(master)))
3738 stloc:float32(var_12_4A, ldfld:float32(Player::gravDir, ldloc:Player(master)))
3739 stloc:float32(var_17_58, ldfld:float32(Player::gfxOffY, ldloc:Player(master)))
3740}
3741
3742 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
3743 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
3744 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
3745 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
3746 --- End of inner exception stack trace ---
3747 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
3748 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
3749*/;
3750 }
3751
3752 // Token: 0x06002698 RID: 9880 RVA: 0x00162BB0 File Offset: 0x00160DB0
3753 private void AI_162_TigerPounce()
3754 {
3755 int num = 32768;
3756 this.alpha = num;
3757 }
3758
3759 // Token: 0x06002699 RID: 9881 RVA: 0x00162DE0 File Offset: 0x00160FE0
3760 private void PrepareBombToBlow()
3761 {
3762 int num = this.type;
3763 int num2 = 255;
3764 this.alpha = num2;
3765 }
3766
3767 // Token: 0x0600269A RID: 9882 RVA: 0x00162E9C File Offset: 0x0016109C
3768 private void AI_016()
3769 {
3770 bool wet = this.wet;
3771 int num = this.type;
3772 if (wet)
3773 {
3774 int num2 = 1;
3776 }
3777 this.Kill();
3778 int num3 = this.type;
3779 Vector2 center = base.Center;
3780 int num4 = 15744;
3781 int num5 = 32768;
3782 Vector2 center2 = base.Center;
3783 if (num4 == 0)
3784 {
3785 }
3786 long num6 = 0L;
3787 bool flag = WorldGen.InWorld(0, num5, (int)num6);
3788 if (num4 == 0)
3789 {
3790 }
3791 Tile tile;
3792 bool flag2 = tile.active();
3793 if (num4 == 0)
3794 {
3795 }
3796 if (num4 == 0)
3797 {
3798 int num7 = this.type;
3799 float x = this.position.X;
3800 float y = this.position.Y;
3801 int num8 = 32640;
3802 int num9 = 32768;
3803 if (num8 == 0)
3804 {
3805 }
3806 if (num9 != 0)
3807 {
3808 if (num9 == 0)
3809 {
3810 }
3811 if (num9 == 0)
3812 {
3813 if (num9 == 0)
3814 {
3815 }
3816 Vector2 center3 = base.Center;
3817 Vector2 vector;
3818 float num10 = vector.Length();
3819 }
3820 }
3821 int num11 = this.type;
3822 return;
3823 }
3824 this.Kill();
3825 }
3826
3827 // Token: 0x0600269B RID: 9883 RVA: 0x001643C8 File Offset: 0x001625C8
3828 private void AI_166_Dove()
3829 {
3830 int num = 1;
3831 int num2 = this.type;
3832 if (num == 0)
3833 {
3834 }
3835 int num3;
3836 this.frame = num3;
3837 int num4 = this.frameCounter;
3839 int num5 = this.frame;
3840 this.frame = num5;
3841 float x = this.velocity.X;
3843 int num6 = 1;
3845 int num7 = this.alpha;
3846 Vector2 center = base.Center;
3847 float x2 = this.velocity.X;
3848 float y = this.velocity.Y;
3849 }
3850
3851 // Token: 0x0600269C RID: 9884 RVA: 0x001644C0 File Offset: 0x001626C0
3852 private void AI_161_RapierStabs()
3853 {
3854 if (!true)
3855 {
3856 }
3857 float x = this.velocity.X;
3858 float y = this.velocity.Y;
3859 int num = 32768;
3860 this.alpha = num;
3861 float x2 = this.velocity.X;
3862 float y2 = this.velocity.Y;
3863 if (num == 0)
3864 {
3865 }
3866 float x3 = this.velocity.X;
3867 float y3 = this.velocity.Y;
3868 int num2 = 1;
3869 if (num2 == 0)
3870 {
3871 }
3873 int whoAmI = this.whoAmI;
3874 }
3875
3876 // Token: 0x0600269D RID: 9885 RVA: 0x00164574 File Offset: 0x00162774
3877 private void AI_165_Whip()
3878 {
3879 if (!true)
3880 {
3881 }
3882 float x = this.velocity.X;
3883 float y = this.velocity.Y;
3885 float x2 = this.velocity.X;
3886 float y2 = this.velocity.Y;
3887 float x3 = this.velocity.X;
3888 float y3 = this.velocity.Y;
3889 int num = 1;
3890 if (num == 0)
3891 {
3892 }
3894 int whoAmI = this.whoAmI;
3896 int version = whipPointsForCollision._version;
3898 if (version == 0)
3899 {
3900 }
3902 if (this.WhipPointsForCollision._size == 0)
3903 {
3904 }
3905 int num2 = this.type;
3906 }
3907
3908 // Token: 0x0600269E RID: 9886 RVA: 0x000021DB File Offset: 0x000003DB
3910 {
3911 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
3912 }
3913
3914 // Token: 0x0600269F RID: 9887 RVA: 0x00164D14 File Offset: 0x00162F14
3915 public static void GetWhipSettings(Projectile proj, [Out] float timeToFlyOut, [Out] int segments, [Out] float rangeMultiplier)
3916 {
3917 if (!true)
3918 {
3919 }
3920 int num = proj.extraUpdates;
3921 int num2 = proj.type;
3922 }
3923
3924 // Token: 0x060026A0 RID: 9888 RVA: 0x00164D4C File Offset: 0x00162F4C
3925 private void AI_160_Kites()
3926 {
3927 if (!true)
3928 {
3929 }
3930 int num = 60;
3931 this.timeLeft = num;
3932 int num2 = this.type;
3933 Vector2 center = base.Center;
3934 Vector2 vector;
3935 float num3 = vector.Length();
3936 this.Kill();
3937 }
3938
3939 // Token: 0x060026A1 RID: 9889 RVA: 0x0016501C File Offset: 0x0016321C
3941 {
3942 int num = 1;
3943 float x = this.velocity.X;
3944 float y = this.velocity.Y;
3945 this.direction = num;
3946 if (num == 0)
3947 {
3948 }
3949 int num2 = 1;
3950 if (num == 0)
3951 {
3952 }
3953 this.netUpdate = num2 != 0;
3954 bool wet = this.wet;
3955 if (wet)
3956 {
3957 int num3 = this.owner;
3958 if (!wet)
3959 {
3960 }
3961 int myPlayer = Main.myPlayer;
3962 this.Kill();
3963 }
3964 float num4 = this.rotation;
3965 if (!wet)
3966 {
3967 }
3968 float num5;
3969 Vector2 vector = num5.ToRotationVector2();
3970 if (!wet)
3971 {
3972 }
3973 if (!wet)
3974 {
3975 }
3976 int direction = this.direction;
3977 if (true)
3978 {
3979 return;
3980 }
3981 if (!true)
3982 {
3983 }
3984 if (!true)
3985 {
3986 }
3987 int direction2 = this.direction;
3988 int direction3 = this.direction;
3989 if (!true)
3990 {
3991 }
3992 int num6 = Math.Sign(num5);
3993 }
3994
3995 // Token: 0x060026A2 RID: 9890 RVA: 0x001651F8 File Offset: 0x001633F8
3996 private void AI_158_BabyBird()
3997 {
3998 if (!true)
3999 {
4000 }
4001 int num = this.type;
4002 }
4003
4004 // Token: 0x060026A3 RID: 9891 RVA: 0x001655EC File Offset: 0x001637EC
4006 {
4007 int height = master.bodyFrame.Height;
4008 int y = master.bodyFrame.Y;
4009 Mount mount = master.mount;
4010 if (mount._active)
4011 {
4012 int num = mount._type;
4013 int direction = master.direction;
4014 }
4015 int direction2 = master.direction;
4016 float gravDir = master.gravDir;
4017 int direction3 = master.direction;
4018 float gravDir2 = master.gravDir;
4019 float gravDir3 = master.gravDir;
4020 int direction4 = master.direction;
4021 float gravDir4 = master.gravDir;
4022 int direction5 = master.direction;
4023 float gravDir5 = master.gravDir;
4024 if (direction5 == 0)
4025 {
4026 }
4027 float gravDir6 = master.gravDir;
4028 if (direction5 == 0)
4029 {
4030 }
4032 float gravDir7 = master.gravDir;
4033 if (direction5 == 0)
4034 {
4035 return;
4036 }
4037 }
4038
4039 // Token: 0x060026A4 RID: 9892 RVA: 0x001656B4 File Offset: 0x001638B4
4041 {
4043 if (ownerMinionAttackTargetNPC != null)
4044 {
4045 long num = 0L;
4046 bool flag = ownerMinionAttackTargetNPC.CanBeChasedBy(this, num != 0L);
4049 return;
4050 }
4051 if (customEliminationCheck != null)
4052 {
4053 }
4054 }
4055
4056 // Token: 0x060026A5 RID: 9893 RVA: 0x001656F4 File Offset: 0x001638F4
4058 {
4059 return true;
4060 }
4061
4062 // Token: 0x060026A6 RID: 9894 RVA: 0x00165704 File Offset: 0x00163904
4064 {
4065 if (!true)
4066 {
4067 }
4068 int num = 17608;
4069 if (num == 0)
4070 {
4071 }
4072 if (num == 0)
4073 {
4074 }
4078 }
4079
4080 // Token: 0x060026A7 RID: 9895 RVA: 0x000021DB File Offset: 0x000003DB
4082 {
4083 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
4084 }
4085
4086 // Token: 0x060026A8 RID: 9896 RVA: 0x001657E8 File Offset: 0x001639E8
4087 private void AI_157_SharpTears()
4088 {
4089 int num = this.type;
4090 int num2 = 5;
4091 int num3 = 16;
4092 float x = this.velocity.X;
4093 float y = this.velocity.Y;
4094 if (num2 == 0)
4095 {
4096 }
4097 if (num2 == 0)
4098 {
4099 }
4100 int num4;
4101 this.frame = num4;
4102 Vector2 center = base.Center;
4103 if (num3 == 0)
4104 {
4105 }
4106 float x2 = this.velocity.X;
4107 float y2 = this.velocity.Y;
4108 float num6;
4109 float num7;
4110 float num5 = MathHelper.Lerp(num6, num7, num6);
4111 Dust dust;
4112 float x3 = dust.velocity.X;
4113 float y3 = dust.velocity.Y;
4115 dust.scale = x2;
4116 int num8 = 16256;
4117 Vector2 center2 = base.Center;
4118 float x4 = this.velocity.X;
4119 float y4 = this.velocity.Y;
4120 float num10;
4121 float num11;
4122 float num9 = MathHelper.Lerp(num10, num11, num10);
4123 Dust dust2;
4124 float x5 = dust2.velocity.X;
4125 float y5 = dust2.velocity.Y;
4127 dust2.scale = x4;
4128 dust2.fadeIn = (float)num8;
4129 int num12 = this.type;
4130 Vector2 center3 = base.Center;
4131 int num13 = this.alpha;
4132 int num14 = 17279;
4133 float num16;
4135 int num17 = 32640;
4136 this.alpha = num14;
4137 this.scale = (float)num13;
4138 Vector2 center4 = base.Center;
4139 if (num17 == 0)
4140 {
4141 }
4142 float x6 = this.velocity.X;
4143 float y6 = this.velocity.Y;
4144 float num19;
4145 float num18 = MathHelper.Lerp(num11, num7, num19);
4146 Dust dust3;
4147 float x7 = dust3.velocity.X;
4148 float y7 = dust3.velocity.Y;
4151 dust3.scale = x6;
4152 int num20 = this.alpha;
4153 int num21 = 17279;
4154 float num23;
4155 float num24;
4157 int num25 = 32640;
4158 this.alpha = num21;
4159 Vector2 center5 = base.Center;
4160 if (num25 == 0)
4161 {
4162 }
4163 float x8 = this.velocity.X;
4164 float y8 = this.velocity.Y;
4165 float num27;
4166 float num26 = MathHelper.Lerp(num11, num24, num27);
4167 Dust dust4;
4168 float x9 = dust4.velocity.X;
4169 float y9 = dust4.velocity.Y;
4172 dust4.scale = x8;
4173 this.Kill();
4174 int num28 = this.type;
4175 Vector2 center6 = base.Center;
4176 float num29 = this.scale;
4177 }
4178
4179 // Token: 0x060026A9 RID: 9897 RVA: 0x00165AEC File Offset: 0x00163CEC
4180 public bool IsInRangeOfMeOrMyOwner(Entity entity, float maxDistance, [Out] float myDistance, [Out] float playerDistance, [Out] bool closerIsMe)
4181 {
4182 int num = 1;
4183 Vector2 center = entity.Center;
4184 Vector2 center2 = base.Center;
4185 if (num == 0)
4186 {
4187 }
4188 bool flag = this.CanHitWithOwnBody(entity);
4189 int num2 = 32640;
4190 closerIsMe.m_value = num2 != 0;
4191 Vector2 center3 = entity.Center;
4192 if (num2 == 0)
4193 {
4194 }
4195 if (num2 == 0)
4196 {
4197 }
4198 return this.CanHitWithMeleeWeapon(entity);
4199 }
4200
4201 // Token: 0x060026AA RID: 9898 RVA: 0x00165B48 File Offset: 0x00163D48
4202 private void AI_156_BatOfLight()
4203 {
4204 int num = this.type;
4205 if (num != 0)
4206 {
4207 return;
4208 }
4209 int num2;
4210 if (num != 0)
4211 {
4212 num2 = 2;
4214 }
4215 Vector3 vector = this.AI_156_GetColor().ToVector3();
4216 if (num2 == 0)
4217 {
4218 }
4219 Vector2 center = base.Center;
4220 if (num2 == 0)
4221 {
4222 }
4223 int num3 = this.frameCounter;
4225 if (this.frame == 0)
4226 {
4227 }
4228 float x = this.velocity.X;
4229 }
4230
4231 // Token: 0x060026AB RID: 9899 RVA: 0x00165BFC File Offset: 0x00163DFC
4233 {
4234 /*
4235An exception occurred when decompiling this method (060026AB)
4236
4237ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Graphics.Color Terraria.Projectile::AI_156_GetColor()
4238
4239 ---> System.Exception: Basic block has to end with unconditional control flow.
4240{
4241 IL_0011:
4242 brtrue(IL_0000, ldloc:int32[exp:bool](var_0_06))
4243}
4244
4245 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
4246 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
4247 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
4248 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
4249 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
4250 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
4251 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
4252 --- End of inner exception stack trace ---
4253 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
4254 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
4255*/;
4256 }
4257
4258 // Token: 0x060026AC RID: 9900 RVA: 0x00165C1C File Offset: 0x00163E1C
4260 {
4261 int num = this.type;
4262 int num2 = 60;
4263 if (61 == 0)
4264 {
4265 }
4266 int num3;
4267 if (num2 != 0)
4268 {
4269 Vector2 center = base.Center;
4270 if (num2 == 0)
4271 {
4272 }
4273 num3 = 17658;
4274 int num4 = 1;
4275 this.netUpdate = num4 != 0;
4276 }
4277 if (num3 == 0)
4278 {
4279 }
4280 if (!true)
4281 {
4282 }
4283 Vector2 center2 = base.Center;
4284 float num5 = this.rotation;
4286 int num6 = 1;
4287 this.netUpdate = num6 != 0;
4288 }
4289
4290 // Token: 0x060026AD RID: 9901 RVA: 0x00165FC8 File Offset: 0x001641C8
4291 private void AI_156_StartAttack()
4292 {
4293 }
4294
4295 // Token: 0x060026AE RID: 9902 RVA: 0x00165FD8 File Offset: 0x001641D8
4297 {
4298 /*
4299An exception occurred when decompiling this method (060026AE)
4300
4301ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.Projectile::AI_156_TryAttackingNPCs(System.Collections.Generic.List`1<System.Int32>,System.Boolean)
4302
4303 ---> System.Exception: Basic block has to end with unconditional control flow.
4304{
4305 IL_004D:
4306 stloc:int32(var_14_53, ldfld:int32(Entity::whoAmI, ldloc:NPC[exp:Entity](var_1_09)))
4307}
4308
4309 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
4310 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
4311 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
4312 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
4313 --- End of inner exception stack trace ---
4314 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
4315 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
4316*/;
4317 }
4318
4319 // Token: 0x060026AF RID: 9903 RVA: 0x0016603C File Offset: 0x0016423C
4321 {
4322 int num = 1;
4323 if (num == 0)
4324 {
4325 }
4326 if (num != 0)
4327 {
4328 int num2 = this.owner;
4329 int num3 = this.type;
4330 if (num != 0)
4331 {
4332 return;
4333 }
4334 }
4335 }
4336
4337 // Token: 0x060026B0 RID: 9904 RVA: 0x0016606C File Offset: 0x0016426C
4339 {
4340 int num = 1;
4341 if (num == 0)
4342 {
4343 }
4344 int num2 = this.type;
4345 if (num == 0)
4346 {
4347 }
4348 if (!true)
4349 {
4350 }
4351 Vector2 center = base.Center;
4352 if (!true)
4353 {
4354 }
4355 }
4356
4357 // Token: 0x060026B1 RID: 9905 RVA: 0x001660CC File Offset: 0x001642CC
4359 {
4360 if (!true)
4361 {
4362 }
4363 Vector2 center = base.Center;
4364 int num = 49312;
4365 this.velocity.Y = (float)num;
4366 if (num == 0)
4367 {
4368 }
4369 int num2 = 1;
4370 float x = this.position.X;
4371 float y = this.position.Y;
4372 Dust dust;
4373 float x2 = dust.velocity.X;
4374 float y2 = dust.velocity.Y;
4376 dust.noGravity = num2 != 0;
4377 float x3 = dust.position.X;
4382 float x4 = this.position.X;
4383 float y3 = this.position.Y;
4384 Dust dust2;
4385 float x5 = dust2.velocity.X;
4386 float y4 = dust2.velocity.Y;
4387 int num3 = 1;
4389 dust2.velocity.Y = 0f;
4390 dust2.noGravity = num3 != 0;
4391 int num4 = this.alpha;
4392 if (num3 == 0)
4393 {
4394 }
4395 int num5 = this.frameCounter;
4397 int num6 = this.frame;
4398 this.frame = num6;
4399 if (num6 == 0)
4400 {
4401 }
4402 int myPlayer = Main.myPlayer;
4403 int num7 = this.owner;
4404 float y5 = this.position.Y;
4405 Vector2 center2 = base.Center;
4406 if (num7 == 0)
4407 {
4408 }
4409 Tile tile;
4410 bool flag = tile.active();
4411 Tile tile2;
4412 ushort num8 = tile2.type;
4413 Tile tile3;
4414 ushort num9 = tile3.type;
4415 }
4416
4417 // Token: 0x060026B2 RID: 9906 RVA: 0x001663D8 File Offset: 0x001645D8
4419 {
4420 int num = 1;
4421 if (num == 0)
4422 {
4423 }
4424 Tile tile;
4425 bool flag = tile.active();
4426 if (num == 0)
4427 {
4428 }
4429 if (num == 0)
4430 {
4431 }
4432 if (num != 0)
4433 {
4434 if (num == 0)
4435 {
4436 }
4437 }
4438 }
4439
4440 // Token: 0x060026B3 RID: 9907 RVA: 0x00166404 File Offset: 0x00164604
4441 private void AI_155_SpawnRopeIn(int x, int y)
4442 {
4443 int num = 8;
4444 int num2 = 8;
4445 if (num == 0)
4446 {
4447 }
4448 int num3;
4449 if (num3 != 0)
4450 {
4451 if (num == 0)
4452 {
4453 }
4454 if (!true)
4455 {
4456 }
4457 int value = num2.m_value;
4458 if (num2 == 0)
4459 {
4460 }
4461 if (num2 == 0)
4462 {
4463 }
4464 int num4 = 170;
4465 Gore gore;
4466 gore.alpha = num4;
4467 }
4468 int num5 = 1;
4469 int num6;
4470 if (num6 == 0)
4471 {
4472 Dust dust;
4473 float x2 = dust.velocity.X;
4474 float y2 = dust.velocity.Y;
4477 }
4478 Dust dust2;
4479 float x3 = dust2.velocity.X;
4480 float y3 = dust2.velocity.Y;
4483 dust2.noGravity = num5 != 0;
4484 }
4485
4486 // Token: 0x060026B4 RID: 9908 RVA: 0x001664E4 File Offset: 0x001646E4
4487 private void AI_154_VoidLens()
4488 {
4489 int num = 1;
4490 int num2 = this.owner;
4491 int myPlayer = Main.myPlayer;
4492 int num3 = 4;
4493 if (this.whoAmI == 0)
4494 {
4495 }
4496 if (num != 0)
4497 {
4498 int num4 = this.owner;
4499 int num5 = this.type;
4500 int num6 = this.timeLeft;
4501 if (num == 0)
4502 {
4503 }
4504 if (num == 0)
4505 {
4506 }
4507 }
4508 float x = this.velocity.X;
4509 float y = this.velocity.Y;
4510 int num7 = this.frameCounter;
4511 int num8 = 1;
4514 int num9 = this.frame;
4515 this.frame = num3;
4516 if (num9 == 0)
4517 {
4518 }
4519 int num10 = this.alpha;
4520 int num11 = 32640;
4521 this.alpha = num11;
4522 int num12 = 32640;
4523 this.alpha = num12;
4524 }
4525
4526 // Token: 0x060026B5 RID: 9909 RVA: 0x001665B0 File Offset: 0x001647B0
4527 private void AI_153_ToiletPop()
4528 {
4529 Vector2 center = base.Center;
4530 }
4531
4532 // Token: 0x060026B6 RID: 9910 RVA: 0x001666A8 File Offset: 0x001648A8
4534 {
4535 int num = 1;
4536 if (num == 0)
4537 {
4538 }
4539 if (num != 0)
4540 {
4541 }
4542 this.Kill();
4543 }
4544
4545 // Token: 0x060026B7 RID: 9911 RVA: 0x001668D8 File Offset: 0x00164AD8
4547 {
4548 int num = 32768;
4549 if (num == 0)
4550 {
4551 }
4552 if (num == 0)
4553 {
4554 return;
4555 }
4556 }
4557
4558 // Token: 0x060026B8 RID: 9912 RVA: 0x00166900 File Offset: 0x00164B00
4560 {
4561 if (!true)
4562 {
4563 }
4564 this.Kill();
4565 }
4566
4567 // Token: 0x060026B9 RID: 9913 RVA: 0x00166BEC File Offset: 0x00164DEC
4569 {
4570 /*
4571An exception occurred when decompiling this method (060026B9)
4572
4573ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Projectile::AI_007_GrapplingHooks_CanTileBeLatchedOnTo(Terraria.Tile)
4574
4575 ---> System.Exception: Basic block has to end with unconditional control flow.
4576{
4577 IL_000B:
4578 stloc:int32(var_3_11, ldfld:int32(Projectile::type, ldloc:Projectile(this)))
4579}
4580
4581 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
4582 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
4583 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
4584 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
4585 --- End of inner exception stack trace ---
4586 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
4587 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
4588*/;
4589 }
4590
4591 // Token: 0x060026BA RID: 9914 RVA: 0x00166C10 File Offset: 0x00164E10
4592 private void AI_147_Celeb2Rocket()
4593 {
4594 int num = 1;
4595 float x = this.velocity.X;
4596 float y = this.velocity.Y;
4597 if (num == 0)
4598 {
4599 }
4600 int num2 = 32768;
4601 Vector2 center = base.Center;
4602 Vector3 vector = this.GetCeleb2Color().ToVector3();
4603 if (num2 == 0)
4604 {
4605 }
4606 if (num2 == 0)
4607 {
4608 }
4609 }
4610
4611 // Token: 0x060026BB RID: 9915 RVA: 0x00166FC8 File Offset: 0x001651C8
4612 private void AI_148_StarSpawner()
4613 {
4614 if (!true)
4615 {
4616 }
4617 float y = Main.LocalPlayer.position.Y;
4618 float x = this.position.X;
4619 float num;
4620 Star.StarFall(num);
4621 int num2 = this.owner;
4622 int myPlayer = Main.myPlayer;
4623 }
4624
4625 // Token: 0x060026BC RID: 9916 RVA: 0x001670C0 File Offset: 0x001652C0
4626 private void AI_147_Explosion()
4627 {
4628 }
4629
4630 // Token: 0x060026BD RID: 9917 RVA: 0x001674E0 File Offset: 0x001656E0
4631 private void CreateGroundExplosion(float MAX_SPREAD, int fluff, int distFluff, int layerStart, int layerEnd, int layerJump)
4632 {
4633 int num = 1;
4634 float x = this.position.X;
4635 float y = this.position.Y;
4636 if (num == 0)
4637 {
4638 }
4639 Vector2 bottomRight = base.BottomRight;
4640 int width = this.width;
4641 }
4642
4643 // Token: 0x060026BE RID: 9918 RVA: 0x001675A4 File Offset: 0x001657A4
4644 public void CheckUsability(Player player, bool currentlyUsable)
4645 {
4646 int num = this.aiStyle;
4647 }
4648
4649 // Token: 0x060026BF RID: 9919 RVA: 0x001675B8 File Offset: 0x001657B8
4650 private void AI_163_Chum()
4651 {
4652 int width = this.width;
4653 if (this.whoAmI == 0)
4654 {
4655 }
4656 int num = this.type;
4657 float x = this.position.X;
4658 if (num == 0)
4659 {
4660 }
4661 float y = this.position.Y;
4662 float x2 = this.position.X;
4663 float y2 = this.position.Y;
4664 float x3 = this.velocity.X;
4666 float y3 = this.velocity.Y;
4667 }
4668
4669 // Token: 0x060026C0 RID: 9920 RVA: 0x00167944 File Offset: 0x00165B44
4671 {
4672 int num = 1;
4673 Vector2 center = base.Center;
4674 Vector2 center2 = base.Center;
4675 if (num == 0)
4676 {
4677 }
4678 if (num != 0)
4679 {
4680 if (num == 0)
4681 {
4682 }
4683 int myPlayer = Main.myPlayer;
4684 if (num == 0)
4685 {
4686 }
4687 if (!true)
4688 {
4689 }
4690 return;
4691 }
4692 Tile tile;
4693 byte liquid = tile.liquid;
4694 }
4695
4696 // Token: 0x060026C1 RID: 9921 RVA: 0x001679A0 File Offset: 0x00165BA0
4698 {
4699 if (!true)
4700 {
4701 }
4702 int num = this.type;
4703 int num2 = 60;
4705 int num3 = this.type;
4706 this.Kill();
4707 }
4708
4709 // Token: 0x060026C2 RID: 9922 RVA: 0x00167D6C File Offset: 0x00165F6C
4710 private float AI_061_FishingBobber_GetWaterLine(int X, int Y)
4711 {
4712 /*
4713An exception occurred when decompiling this method (060026C2)
4714
4715ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Projectile::AI_061_FishingBobber_GetWaterLine(System.Int32,System.Int32)
4716
4717 ---> System.Exception: Basic block has to end with unconditional control flow.
4718{
4719 IL_003E:
4720 stloc:uint8(var_10_45, callgetter:uint8(Tile::get_liquid, ldloc:Tile[exp:valuetype Terraria.Tile&](var_9)))
4721}
4722
4723 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
4724 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
4725 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
4726 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
4727 --- End of inner exception stack trace ---
4728 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
4729 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
4730*/;
4731 }
4732
4733 // Token: 0x060026C3 RID: 9923 RVA: 0x00167DC0 File Offset: 0x00165FC0
4735 {
4736 int num = 1;
4737 float x = this.position.X;
4738 float y = this.position.Y;
4739 int width = this.width;
4740 if (num == 0)
4741 {
4742 }
4743 int num2 = Dust.dustWater();
4744 float x2 = this.position.X;
4745 float y2 = this.position.Y;
4746 }
4747
4748 // Token: 0x060026C4 RID: 9924 RVA: 0x00167E1C File Offset: 0x0016601C
4750 {
4751 PlayerFishingConditions fishingConditions = thePlayer.GetFishingConditions();
4752 }
4753
4754 // Token: 0x060026C5 RID: 9925 RVA: 0x00167EBC File Offset: 0x001660BC
4755 private void AI_146_DD2Victory()
4756 {
4757 }
4758
4759 // Token: 0x060026C6 RID: 9926 RVA: 0x00167ECC File Offset: 0x001660CC
4760 private void BetsySharpnel(int npcIndex)
4761 {
4762 int num = 1;
4763 int num2 = this.owner;
4764 if (num == 0)
4765 {
4766 }
4767 int myPlayer = Main.myPlayer;
4768 Vector2 center = base.Center;
4770 int num3 = this.damage;
4771 float num4 = this.knockBack;
4772 int num5 = this.owner;
4773 }
4774
4775 // Token: 0x060026C7 RID: 9927 RVA: 0x00167F20 File Offset: 0x00166120
4777 {
4778 }
4779
4780 // Token: 0x060026C8 RID: 9928 RVA: 0x00167F30 File Offset: 0x00166130
4781 private void AI_001()
4782 {
4783 int num = this.type;
4784 int num8;
4785 if (this.wet && !this.honeyWet && !this.shimmerWet)
4786 {
4787 this.Kill();
4788 int num2 = this.type;
4789 int num3 = this.owner;
4790 long num4 = 0L;
4791 if (num2 == 0)
4792 {
4793 }
4795 Vector2 center = base.Center;
4796 float x = this.velocity.X;
4797 float y = this.velocity.Y;
4798 if (this.alpha == 0)
4799 {
4800 }
4801 Vector2 center2 = base.Center;
4802 Vector2 center3 = base.Center;
4803 float x2 = this.velocity.X;
4804 float y2 = this.velocity.Y;
4805 float x3 = this.position.X;
4806 float y3 = this.position.Y;
4807 int num5 = this.alpha;
4808 int num6 = this.frameCounter;
4809 this.alpha = num5;
4811 if (this.frame == 0)
4812 {
4813 }
4814 int num7 = this.alpha;
4815 if (num7 == 0)
4816 {
4817 if (num7 == 0)
4818 {
4819 }
4820 Vector2 center4 = base.Center;
4821 Vector2 center5 = base.Center;
4822 float x4 = this.velocity.X;
4823 float y4 = this.velocity.Y;
4824 num8 = 1;
4825 }
4826 }
4827 float x5 = this.position.X;
4828 float y5 = this.position.Y;
4829 int width = this.width;
4830 bool wet = this.wet;
4831 if (num8 == 0)
4832 {
4833 }
4834 if (!true)
4835 {
4836 }
4837 float x6 = this.velocity.X;
4838 float y6 = this.velocity.Y;
4839 float x7 = this.position.X;
4840 float y7 = this.position.Y;
4841 float x8 = this.position.X;
4842 float y8 = this.position.Y;
4843 int width2 = this.width;
4844 bool wet2 = this.wet;
4845 if (num8 == 0)
4846 {
4847 }
4848 float x9 = this.velocity.X;
4849 float y9 = this.velocity.Y;
4850 int num9 = this.alpha;
4851 this.alpha = num9;
4852 }
4853
4854 // Token: 0x060026C9 RID: 9929 RVA: 0x0016F3B0 File Offset: 0x0016D5B0
4855 private void AI_002()
4856 {
4857 int num = 1;
4858 if (num == 0)
4859 {
4860 }
4861 float x = this.velocity.X;
4862 int num2 = this.type;
4863 if (num == 0)
4864 {
4865 }
4866 int num3;
4867 int num4;
4868 if (num3 == 0)
4869 {
4870 float x2 = this.position.X;
4871 float y = this.position.Y;
4872 int direction = this.direction;
4873 int height = this.height;
4874 int height2 = this.height;
4875 float x3 = this.velocity.X;
4876 float y2 = this.velocity.Y;
4877 if (num == 0)
4878 {
4879 }
4880 num4 = 39322;
4881 }
4882 int num5 = this.type;
4883 Vector2 center = base.Center;
4884 float x4 = this.velocity.X;
4885 float y3 = this.velocity.Y;
4886 if (!true)
4887 {
4888 }
4889 int value = num4.m_value;
4890 float x5 = this.velocity.X;
4891 float y4 = this.velocity.Y;
4892 int num6 = 16;
4893 float x6 = this.velocity.X;
4894 float y5 = this.velocity.Y;
4895 int num7;
4896 if (num7 == 0)
4897 {
4898 }
4899 int num8 = this.alpha;
4900 if (num7 == 0)
4901 {
4902 }
4903 int num9 = Math.Max(0, num6);
4904 this.alpha = num9;
4905 int num10 = this.type;
4906 this.frame = num7;
4907 int num11 = this.type;
4908 float x7 = this.velocity.X;
4909 int direction2 = this.direction;
4910 if (num7 == 0)
4911 {
4912 }
4913 }
4914
4915 // Token: 0x060026CA RID: 9930 RVA: 0x00170014 File Offset: 0x0016E214
4916 private void AI_003()
4917 {
4918 if (this.soundDelay == 0)
4919 {
4920 int num = this.type;
4921 int num2 = 8;
4923 if (num2 == 0)
4924 {
4925 }
4926 float x = this.position.X;
4927 float y = this.position.Y;
4928 }
4929 int num3 = this.type;
4930 if (num3 == 0)
4931 {
4932 }
4933 int num4;
4934 if (num4 != 0)
4935 {
4936 int num5 = this.type;
4937 int num6 = this.owner;
4938 if (num5 == 0)
4939 {
4940 }
4941 int myPlayer = Main.myPlayer;
4942 int num7 = this.damage;
4943 float num9;
4944 int num8 = this.FindTargetWithLineOfSight(num9);
4945 int num10 = 1;
4946 this.netUpdate = num10 != 0;
4947 int num11;
4948 if (num11 == 0)
4949 {
4950 }
4951 return;
4952 }
4953 float x2 = this.position.X;
4954 float y2 = this.position.Y;
4955 int width = this.width;
4956 bool wet = this.wet;
4957 float x3 = this.velocity.X;
4958 float y3 = this.velocity.Y;
4959 if (num3 == 0)
4960 {
4961 }
4962 int num12;
4963 if (num12 == 0)
4964 {
4965 if (26214 == 0)
4966 {
4967 }
4968 return;
4969 }
4970 }
4971
4972 // Token: 0x060026CB RID: 9931 RVA: 0x001709C8 File Offset: 0x0016EBC8
4973 private void AI_004()
4974 {
4975 int num = 1;
4976 if (num == 0)
4977 {
4978 }
4979 if (num == 0)
4980 {
4981 }
4982 if (this.type == 0)
4983 {
4984 }
4985 }
4986
4987 // Token: 0x060026CC RID: 9932 RVA: 0x00170C2C File Offset: 0x0016EE2C
4988 private void AI_005()
4989 {
4990 if (!true)
4991 {
4992 }
4993 if (this.type == 0)
4994 {
4995 }
4996 int num = this.damage;
4997 this.Kill();
4998 int num2 = this.type;
4999 Vector2 center = base.Center;
5000 int num3 = 1;
5001 this.tileCollide = num3 != 0;
5002 }
5003
5004 // Token: 0x060026CD RID: 9933 RVA: 0x00171318 File Offset: 0x0016F518
5005 private void AI_006()
5006 {
5007 int num = this.type;
5008 float x = this.velocity.X;
5009 float y = this.velocity.Y;
5010 if (num == 0)
5011 {
5012 }
5013 this.Kill();
5014 int num2 = this.type;
5015 if (num2 == 0)
5016 {
5017 }
5018 float x2 = this.position.X;
5019 float y2 = this.position.Y;
5020 int width = this.width;
5021 bool wet = this.wet;
5022 float x3 = this.velocity.X;
5023 float y3 = this.velocity.Y;
5024 if (num2 == 0)
5025 {
5026 }
5027 if (43691 != 0)
5028 {
5029 float x4 = this.velocity.X;
5030 float y4 = this.velocity.Y;
5031 return;
5032 }
5033 int myPlayer = Main.myPlayer;
5034 }
5035
5036 // Token: 0x060026CE RID: 9934 RVA: 0x00171648 File Offset: 0x0016F848
5037 private void AI_008()
5038 {
5039 if (this.type == 0)
5040 {
5041 }
5042 float x = this.position.X;
5043 float y = this.position.Y;
5044 if (this.type == 0)
5045 {
5046 }
5047 float x2 = this.position.X;
5048 float y2 = this.position.Y;
5049 int num = this.type;
5050 float x3 = this.position.X;
5051 float y3 = this.position.Y;
5052 float x4 = this.velocity.X;
5053 float y4 = this.velocity.Y;
5054 int width = this.width;
5055 bool wet = this.wet;
5056 float x5 = this.velocity.X;
5057 float y5 = this.velocity.Y;
5058 float num2 = this.scale;
5059 if (num == 0)
5060 {
5061 }
5062 }
5063
5064 // Token: 0x060026CF RID: 9935 RVA: 0x00171954 File Offset: 0x0016FB54
5065 private void AI_010()
5066 {
5067 int num = this.type;
5068 int num2 = this.type;
5069 if (num2 == 0)
5070 {
5071 }
5072 int num3;
5073 if (num3 == 0)
5074 {
5075 float x = this.position.X;
5076 float y = this.position.Y;
5077 int width = this.width;
5078 bool wet = this.wet;
5079 float y2 = this.velocity.Y;
5080 if (num2 == 0)
5081 {
5082 }
5083 return;
5084 }
5085 if (this.type == 0)
5086 {
5087 }
5088 int num4;
5089 this.frame = num4;
5090 int num5 = 1;
5091 this.tileCollide = num5 != 0;
5092 if (num5 == 0)
5093 {
5094 }
5095 int myPlayer = Main.myPlayer;
5096 int num6 = this.owner;
5097 if (num6 == 0)
5098 {
5099 }
5100 if (num6 != 0)
5101 {
5102 int num7 = this.type;
5103 int width2 = this.width;
5104 int height = this.height;
5105 float x2 = this.position.X;
5106 float y3 = this.position.Y;
5107 if (num7 == 0)
5108 {
5109 }
5110 int mouseX = Main.mouseX;
5111 Vector2 screenPosition = Main.screenPosition;
5112 int mouseY = Main.mouseY;
5114 if (num7 == 0)
5115 {
5116 }
5118 int screenHeight = Main.screenHeight;
5119 int mouseY2 = Main.mouseY;
5120 return;
5121 }
5122 int num8 = 1;
5123 this.netUpdate = num8 != 0;
5124 int num9 = this.type;
5125 }
5126
5127 // Token: 0x060026D0 RID: 9936 RVA: 0x00172024 File Offset: 0x00170224
5128 private void AI_011()
5129 {
5130 int num = this.type;
5131 float x = this.velocity.X;
5132 }
5133
5134 // Token: 0x060026D1 RID: 9937 RVA: 0x001721EC File Offset: 0x001703EC
5135 private void AI_012()
5136 {
5137 if (this.type == 0)
5138 {
5139 }
5140 float x = this.position.X;
5141 float y = this.position.Y;
5142 int num = this.type;
5143 float num2 = this.scale;
5144 this.scale = num2;
5145 this.Kill();
5146 int num3 = this.type;
5147 float y2 = this.velocity.Y;
5149 float y3 = this.position.Y;
5150 float x2 = this.velocity.X;
5151 float x3 = this.position.X;
5152 int width = this.width;
5153 bool wet = this.wet;
5154 float x4 = this.velocity.X;
5155 float y4 = this.velocity.Y;
5156 float y5 = this.velocity.Y;
5157 }
5158
5159 // Token: 0x060026D2 RID: 9938 RVA: 0x00172410 File Offset: 0x00170610
5160 private void AI_013()
5161 {
5162 if (!true)
5163 {
5164 }
5165 Vector2 center = base.Center;
5166 Vector2 vector;
5167 float num = vector.Length();
5168 this.Kill();
5169 }
5170
5171 // Token: 0x060026D3 RID: 9939 RVA: 0x001725B0 File Offset: 0x001707B0
5172 private void AI_014()
5173 {
5174 int num = this.type;
5175 int num2 = 170;
5177 int num3 = this.type;
5178 if (num3 == 0)
5179 {
5180 }
5181 Vector2 center = base.Center;
5182 if (num3 == 0)
5183 {
5184 }
5185 int myPlayer = Main.myPlayer;
5186 if (num3 == 0)
5187 {
5188 }
5189 Vector2 vector;
5190 float num4 = vector.Length();
5191 int screenWidth = Main.screenWidth;
5192 if (num3 == 0)
5193 {
5194 }
5195 Vector2 center2 = base.Center;
5196 int num5 = this.type;
5197 int num6 = this.alpha;
5198 int num7 = 32640;
5199 this.alpha = num7;
5200 }
5201
5202 // Token: 0x060026D4 RID: 9940 RVA: 0x001732A8 File Offset: 0x001714A8
5203 private void AI_017()
5204 {
5205 float x = this.velocity.X;
5206 float y = this.velocity.Y;
5207 this.velocity.X = x;
5208 float num = this.rotation;
5209 this.rotation = x;
5210 this.velocity.Y = y;
5211 float x2 = this.velocity.X;
5212 float y2 = this.velocity.Y;
5213 int num2 = this.owner;
5214 int myPlayer = Main.myPlayer;
5215 int width = this.width;
5216 int height = this.height;
5217 float x3 = this.position.X;
5218 float y3 = this.position.Y;
5219 if (width == 0)
5220 {
5221 }
5222 int num3 = this.type;
5223 }
5224
5225 // Token: 0x060026D5 RID: 9941 RVA: 0x001733AC File Offset: 0x001715AC
5226 private void AI_018()
5227 {
5228 if (this.type == 0)
5229 {
5230 }
5231 float x = this.position.X;
5232 float y = this.position.Y;
5233 int num = this.type;
5234 float x2 = this.velocity.X;
5235 }
5236
5237 // Token: 0x060026D6 RID: 9942 RVA: 0x000021DB File Offset: 0x000003DB
5238 private void AI_020()
5239 {
5240 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
5241 }
5242
5243 // Token: 0x060026D7 RID: 9943 RVA: 0x001734EC File Offset: 0x001716EC
5244 private void AI_021()
5245 {
5246 float x = this.velocity.X;
5247 int direction = this.direction;
5248 this.rotation = x;
5249 int num;
5250 if (num == 0)
5251 {
5252 float x2 = this.position.X;
5253 float y = this.position.Y;
5254 int width = this.width;
5255 bool wet = this.wet;
5256 if (direction == 0)
5257 {
5258 }
5259 if (!true)
5260 {
5261 }
5262 }
5263 float x3 = this.position.X;
5264 float y2 = this.position.Y;
5265 }
5266
5267 // Token: 0x060026D8 RID: 9944 RVA: 0x00173570 File Offset: 0x00171770
5268 private void AI_022()
5269 {
5270 float x = this.velocity.X;
5271 float y = this.velocity.Y;
5272 int num = 255;
5273 this.alpha = num;
5274 int num2 = this.timeLeft;
5275 int num3 = 60;
5277 float y2 = this.position.Y;
5278 float x2 = this.velocity.X;
5279 float x3 = this.position.X;
5280 int num4 = 15744;
5281 int num5 = 32640;
5282 int width = this.width;
5283 int height = this.height;
5284 float num6 = this.rotation;
5286 if (num4 == 0)
5287 {
5288 }
5289 if (num5 != 0)
5290 {
5291 return;
5292 }
5293 int num7;
5294 if (num7 == 0)
5295 {
5296 }
5297 int num8;
5298 if (num8 == 0)
5299 {
5300 }
5301 float x4 = this.position.X;
5302 float y3 = this.position.Y;
5303 if (32640 == 0)
5304 {
5305 }
5306 Tile tile;
5307 bool flag = tile.active();
5308 Tile tile2;
5309 ushort num9 = tile2.type;
5310 Tile tile3;
5311 ushort num10 = tile3.type;
5312 Tile tile4;
5313 ushort num11 = tile4.type;
5314 this.Kill();
5315 float x5 = this.position.X;
5316 float y4 = this.position.Y;
5317 int width2 = this.width;
5318 bool wet = this.wet;
5319 if (num8 == 0)
5320 {
5321 }
5322 if (!true)
5323 {
5324 }
5325 }
5326
5327 // Token: 0x060026D9 RID: 9945 RVA: 0x00173ABC File Offset: 0x00171CBC
5328 private void AI_023()
5329 {
5330 int num = this.type;
5331 int num2 = this.timeLeft;
5332 int num3 = 60;
5334 }
5335
5336 // Token: 0x060026DA RID: 9946 RVA: 0x00173BC8 File Offset: 0x00171DC8
5337 private void AI_024()
5338 {
5339 float num = this.scale;
5340 float num2 = this.rotation;
5341 float x = this.velocity.X;
5342 int num3 = this.type;
5343 if (num3 == 0)
5344 {
5345 }
5346 int num4;
5347 float x2;
5348 if (num4 == 0)
5349 {
5350 x2 = this.position.X;
5351 float y = this.position.Y;
5352 int width = this.width;
5353 bool wet = this.wet;
5354 if (num3 == 0)
5355 {
5356 }
5357 if (!true)
5358 {
5359 }
5360 }
5361 float x3 = this.velocity.X;
5362 float y2 = this.velocity.Y;
5364 float num5 = this.scale;
5365 this.scale = num5;
5366 int num6 = 52429;
5367 this.scale = (float)num6;
5368 this.Kill();
5369 }
5370
5371 // Token: 0x060026DB RID: 9947 RVA: 0x00173CE8 File Offset: 0x00171EE8
5372 private void AI_025()
5373 {
5374 int num = this.type;
5375 int num2 = this.type;
5376 if (num2 == 0)
5377 {
5378 }
5379 this.frame = num2;
5380 long num3 = 0L;
5381 float y = this.velocity.Y;
5382 float x = this.velocity.X;
5383 float x2 = this.position.X;
5384 float y2 = this.position.Y;
5385 int num4 = 15744;
5386 if (num4 == 0)
5387 {
5388 }
5389 long num5 = 0L;
5390 bool flag = WorldGen.SolidTile(0, (int)num3, num5 != 0L);
5391 if (num4 == 0)
5392 {
5393 }
5394 long num6 = 0L;
5395 bool flag2 = WorldGen.SolidTile(0, (int)num3, num6 != 0L);
5396 int num7 = 1;
5397 int width = this.width;
5398 float x3 = this.position.X;
5399 int num8 = 15744;
5400 if (num8 == 0)
5401 {
5402 }
5403 long num9 = 0L;
5404 bool flag3 = WorldGen.SolidTile(0, (int)num3, num9 != 0L);
5405 if (num8 == 0)
5406 {
5407 }
5408 long num10 = 0L;
5409 bool flag4 = WorldGen.SolidTile(0, (int)num3, num10 != 0L);
5410 int num11;
5411 if (num7 != 0)
5412 {
5413 num11 = 16128;
5414 return;
5415 }
5416 if (num11 != 0)
5417 {
5418 int num12 = 48896;
5420 float x4 = this.velocity.X;
5421 float num13 = this.rotation;
5422 this.rotation = x4;
5423 float y3 = this.velocity.Y;
5424 int num14 = 16768;
5425 this.velocity.Y = (float)num14;
5426 int num15 = this.type;
5427 float x5 = this.velocity.X;
5428 return;
5429 }
5430 float x6 = this.position.X;
5431 float y4 = this.position.Y;
5432 int num16 = 15744;
5433 if (num16 == 0)
5434 {
5435 }
5436 long num17 = 0L;
5437 long num18;
5438 bool flag5 = WorldGen.SolidTile(0, (int)num18, num17 != 0L);
5439 if (num16 == 0)
5440 {
5441 }
5442 long num19 = 0L;
5443 bool flag6 = WorldGen.SolidTile(0, (int)num18, num19 != 0L);
5444 int num20 = 1;
5445 int width2 = this.width;
5446 float x7 = this.position.X;
5447 int num21 = 15744;
5448 if (num21 == 0)
5449 {
5450 }
5451 long num22 = 0L;
5452 bool flag7 = WorldGen.SolidTile(0, (int)num18, num22 != 0L);
5453 if (num21 == 0)
5454 {
5455 }
5456 long num23 = 0L;
5457 bool flag8 = WorldGen.SolidTile(0, (int)num18, num23 != 0L);
5458 int num24 = 1;
5459 while (num20 != 0)
5460 {
5461 }
5462 while (num24 != 0)
5463 {
5464 }
5465 float x8 = this.position.X;
5466 float y5 = this.position.Y;
5467 int num25 = 49664;
5468 if (num25 == 0)
5469 {
5470 }
5471 long num26 = 0L;
5472 bool flag9 = WorldGen.SolidTile(0, (int)num18, num26 != 0L);
5473 if (num25 == 0)
5474 {
5475 }
5476 long num27 = 0L;
5477 bool flag10 = WorldGen.SolidTile(0, (int)num18, num27 != 0L);
5478 int width3 = this.width;
5479 float x9 = this.position.X;
5480 int num28 = 16896;
5481 if (num28 == 0)
5482 {
5483 }
5484 long num29 = 0L;
5485 bool flag11 = WorldGen.SolidTile(0, (int)num18, num29 != 0L);
5486 if (num28 == 0)
5487 {
5488 }
5489 long num30 = 0L;
5490 bool flag12 = WorldGen.SolidTile(0, (int)num18, num30 != 0L);
5491 }
5492
5493 // Token: 0x060026DC RID: 9948 RVA: 0x00173FB0 File Offset: 0x001721B0
5494 private void AI_026()
5495 {
5496 int num = 1;
5497 if (num == 0)
5498 {
5499 }
5500 if (num != 0)
5501 {
5502 int num2 = this.type;
5503 return;
5504 }
5505 }
5506
5507 // Token: 0x060026DD RID: 9949 RVA: 0x001794F4 File Offset: 0x001776F4
5508 private void AI_027()
5509 {
5510 int num = this.type;
5511 float x = this.velocity.X;
5512 float y = this.velocity.Y;
5513 if (num == 0)
5514 {
5515 }
5516 int num2 = this.type;
5517 float x2 = this.velocity.X;
5518 float y2 = this.velocity.Y;
5519 float x3 = this.position.X;
5520 float y3 = this.position.Y;
5521 float x4 = this.oldVelocity.X;
5522 float y4 = this.oldVelocity.Y;
5523 float x5 = this.velocity.X;
5524 float y5 = this.velocity.Y;
5525 if (this.type == 0)
5526 {
5527 }
5528 float x6 = this.velocity.X;
5529 float y6 = this.velocity.Y;
5530 float x7 = this.position.X;
5531 float y7 = this.position.Y;
5532 int num3 = 57;
5533 int num4 = 15;
5534 if (num3 == 0)
5535 {
5536 }
5537 if (num4 == 0)
5538 {
5539 }
5540 int num5 = this.type;
5541 float y8 = this.position.Y;
5542 float x8 = this.velocity.X;
5543 float x9 = this.position.X;
5544 float y9 = this.velocity.Y;
5545 float x10 = this.oldVelocity.X;
5546 float y10 = this.oldVelocity.Y;
5547 if (num5 == 0)
5548 {
5549 }
5550 if (num4 == 0)
5551 {
5552 }
5553 float y11 = this.position.Y;
5554 float x11 = this.velocity.X;
5555 float x12 = this.position.X;
5556 float y12 = this.velocity.Y;
5557 float x13 = this.oldVelocity.X;
5558 float y13 = this.oldVelocity.Y;
5559 float x14 = this.velocity.X;
5560 float y14 = this.velocity.Y;
5561 }
5562
5563 // Token: 0x060026DE RID: 9950 RVA: 0x00179860 File Offset: 0x00177A60
5564 private void AI_028()
5565 {
5566 int num = this.type;
5567 int num2 = 21846;
5568 float x = this.position.X;
5569 float y = this.position.Y;
5570 int width = this.width;
5571 bool wet = this.wet;
5572 float x2 = this.velocity.X;
5573 float y2 = this.velocity.Y;
5574 if (num == 0)
5575 {
5576 }
5577 if (num2 == 0)
5578 {
5579 }
5580 int num3 = 1;
5581 float x3 = this.velocity.X;
5582 float y3 = this.velocity.Y;
5583 if (num3 == 0)
5584 {
5585 }
5586 int num4 = this.frameCounter;
5588 int num5 = this.type;
5589 }
5590
5591 // Token: 0x060026DF RID: 9951 RVA: 0x00179B8C File Offset: 0x00177D8C
5592 private void AI_029()
5593 {
5594 int num = this.type;
5595 int num2 = this.frameCounter;
5597 if (this.frame != 0)
5598 {
5599 return;
5600 }
5601 int num3 = this.alpha;
5602 this.alpha = num3;
5603 if (32640 == 0)
5604 {
5605 }
5606 int num4;
5607 if (num4 == 0)
5608 {
5609 }
5610 float y = this.velocity.Y;
5611 this.velocity.Y = y;
5612 }
5613
5614 // Token: 0x060026E0 RID: 9952 RVA: 0x0017A1C4 File Offset: 0x001783C4
5615 private void AI_030()
5616 {
5617 int num = this.type;
5618 if (num == 0)
5619 {
5620 }
5621 long num2 = 0L;
5622 if (num == 0)
5623 {
5624 }
5625 int num3 = 8;
5626 int num4 = Math.Max(4, (int)num2);
5627 int num5;
5628 float x2;
5629 float y2;
5630 if (num5 == 0)
5631 {
5632 float x = this.position.X;
5633 float y = this.position.Y;
5634 if (num == 0)
5635 {
5636 }
5637 int width = this.width;
5638 bool wet = this.wet;
5639 if (num == 0)
5640 {
5641 }
5642 if (num3 == 0)
5643 {
5644 }
5645 x2 = this.velocity.X;
5646 y2 = this.velocity.Y;
5647 }
5648 int num6 = 16968;
5649 float x3 = this.velocity.X;
5650 float y3 = this.velocity.Y;
5651 if (num6 == 0)
5652 {
5653 }
5654 float num7 = this.rotation;
5657 }
5658
5659 // Token: 0x060026E1 RID: 9953 RVA: 0x0017A530 File Offset: 0x00178730
5660 private void AI_031()
5661 {
5662 int num = this.type;
5663 }
5664
5665 // Token: 0x060026E2 RID: 9954 RVA: 0x0017A61C File Offset: 0x0017881C
5666 private void AI_032()
5667 {
5668 int num = 10;
5669 this.timeLeft = num;
5670 float x = this.position.X;
5671 float y = this.position.Y;
5672 int num2 = 32640;
5673 int width = this.width;
5674 bool wet = this.wet;
5675 int num3 = 32768;
5676 int num4 = 49296;
5677 if (num2 == 0)
5678 {
5679 }
5680 if (num2 != 0)
5681 {
5683 bool flag = rectangle.Intersects(rectangle);
5684 float x2 = this.velocity.X;
5685 this.velocity.Y = (float)num4;
5688 this.velocity.Y = y;
5689 float x3 = this.velocity.X;
5690 float y2 = this.velocity.Y;
5691 if (num2 == 0)
5692 {
5693 }
5694 int value = num3.m_value;
5696 this.velocity.Y = y;
5697 float num5;
5698 this.netUpdate = num5 != null;
5699 }
5700 int num6 = 49296;
5701 int whoAmI = this.whoAmI;
5702 if (whoAmI == 0)
5703 {
5704 }
5705 if (whoAmI != 0)
5706 {
5709 float x4 = this.velocity.X;
5710 this.velocity.Y = (float)num6;
5713 this.velocity.Y = y;
5714 float x5 = this.velocity.X;
5715 float y3 = this.velocity.Y;
5716 if (whoAmI == 0)
5717 {
5718 }
5719 int value2 = num3.m_value;
5721 this.velocity.Y = y;
5722 float num7;
5723 this.netUpdate = num7 != null;
5724 }
5725 float x6 = this.velocity.X;
5726 float y4 = this.velocity.Y;
5727 this.Kill();
5728 float x7 = this.velocity.X;
5729 float num8 = this.rotation;
5730 float y5 = this.velocity.Y;
5731 }
5732
5733 // Token: 0x060026E3 RID: 9955 RVA: 0x0017A8BC File Offset: 0x00178ABC
5734 private void AI_033()
5735 {
5736 int num = this.alpha;
5737 this.alpha = num;
5738 if (num == 0)
5739 {
5740 }
5741 int num2 = this.alpha;
5742 int num3 = this.type;
5743 float x = this.position.X;
5744 float y = this.position.Y;
5745 int num4 = 127;
5746 int num5 = 187;
5747 float x2 = this.velocity.X;
5748 float y2 = this.velocity.Y;
5749 if (num5 == 0)
5750 {
5751 }
5752 if (num4 == 0)
5753 {
5754 }
5755 float x3 = this.velocity.X;
5756 float y3 = this.velocity.Y;
5757 float y4 = this.velocity.Y;
5759 }
5760
5761 // Token: 0x060026E4 RID: 9956 RVA: 0x0017A9E8 File Offset: 0x00178BE8
5762 private void AI_034()
5763 {
5764 int num = 1;
5765 float x = this.velocity.X;
5766 float y = this.velocity.Y;
5767 if (num == 0)
5768 {
5769 }
5770 float x2 = this.position.X;
5771 float y2 = this.position.Y;
5772 int width = this.width;
5773 bool wet = this.wet;
5774 float x3 = this.velocity.X;
5775 float y3 = this.velocity.Y;
5776 float x4 = this.velocity.X;
5777 float y4 = this.velocity.Y;
5778 float x5 = this.position.X;
5779 float y5 = this.position.Y;
5780 float x6 = this.velocity.X;
5781 float y6 = this.velocity.Y;
5782 if (!true)
5783 {
5784 }
5785 float num2 = this.rotation;
5786 Vector2 center = base.Center;
5787 float x7 = this.position.X;
5788 float y7 = this.position.Y;
5789 float x8 = this.velocity.X;
5790 float y8 = this.velocity.Y;
5791 float num3 = this.rotation;
5792 Vector2 center2 = base.Center;
5793 float x9 = this.position.X;
5794 float y9 = this.position.Y;
5795 float x10 = this.velocity.X;
5796 float y10 = this.velocity.Y;
5797 float num4 = this.rotation;
5798 Vector2 center3 = base.Center;
5799 }
5800
5801 // Token: 0x060026E5 RID: 9957 RVA: 0x0017ABF0 File Offset: 0x00178DF0
5802 private void AI_035()
5803 {
5804 float x = this.velocity.X;
5805 float y = this.velocity.Y;
5806 this.velocity.Y = y;
5807 int num = 16736;
5808 this.velocity.Y = (float)num;
5809 }
5810
5811 // Token: 0x060026E6 RID: 9958 RVA: 0x0017AE5C File Offset: 0x0017905C
5812 private void AI_036()
5813 {
5814 int num = this.type;
5815 if (this.wet && !this.honeyWet && !this.shimmerWet)
5816 {
5817 this.Kill();
5818 }
5819 int num2 = this.alpha;
5820 this.alpha = num2;
5821 int num3 = this.type;
5822 float x = this.velocity.X;
5823 float y = this.velocity.Y;
5824 if (num3 == 0)
5825 {
5826 }
5827 int num4 = this.frameCounter;
5828 int num5 = this.frame;
5830 this.frame = num5;
5831 float x2 = this.velocity.X;
5832 float y2 = this.velocity.Y;
5833 float x3 = this.position.X;
5834 float y3 = this.position.Y;
5835 int width = this.width;
5836 bool wet = this.wet;
5837 if (num5 == 0)
5838 {
5839 }
5840 if (num4 == 0)
5841 {
5842 }
5843 Vector2 center = base.Center;
5844 Vector2 center2 = base.Center;
5845 }
5846
5847 // Token: 0x060026E7 RID: 9959 RVA: 0x0017B0F0 File Offset: 0x001792F0
5848 private void AI_037()
5849 {
5850 int num = 1;
5851 Vector2 center = base.Center;
5852 float x = this.velocity.X;
5853 Vector2 center2 = base.Center;
5854 float y = this.velocity.Y;
5855 Vector2 center3 = base.Center;
5856 if (num == 0)
5857 {
5858 }
5859 if (num == 0)
5860 {
5861 }
5862 this.rotation = y;
5863 float x2 = this.position.X;
5864 float y2 = this.position.Y;
5865 int width = this.width;
5866 bool wet = this.wet;
5867 Vector2 center4 = base.Center;
5868 int num2 = 17302;
5869 float x3 = this.velocity.X;
5870 float y3 = this.velocity.Y;
5871 if (num2 == 0)
5872 {
5873 }
5874 this.velocity.X = y;
5875 }
5876
5877 // Token: 0x060026E8 RID: 9960 RVA: 0x0017B1E0 File Offset: 0x001793E0
5878 private void AI_038()
5879 {
5880 int num = 1;
5881 if (num == 0)
5882 {
5883 }
5884 float x = this.position.X;
5885 float y = this.position.Y;
5886 if (num == 0)
5887 {
5888 }
5889 int myPlayer = Main.myPlayer;
5890 int num2 = this.owner;
5892 float x2 = this.position.X;
5893 float y2 = this.position.Y;
5894 float x3 = this.velocity.X;
5895 float y3 = this.velocity.Y;
5896 int num3 = this.damage;
5897 float num4 = this.knockBack;
5898 int num5 = this.owner;
5899 }
5900
5901 // Token: 0x060026E9 RID: 9961 RVA: 0x0017B280 File Offset: 0x00179480
5902 private void AI_039()
5903 {
5904 int num = this.alpha;
5905 bool active = this.active;
5906 this.alpha = num;
5907 if (active)
5908 {
5909 if (num == 0)
5910 {
5911 }
5912 Vector2 center = base.Center;
5913 }
5914 this.Kill();
5915 }
5916
5917 // Token: 0x060026EA RID: 9962 RVA: 0x0017B640 File Offset: 0x00179840
5918 private void AI_040()
5919 {
5920 int num = this.alpha;
5921 this.alpha = num;
5922 int num2 = this.frameCounter;
5923 int num3 = this.frame;
5925 this.frame = num3;
5926 float x = this.velocity.X;
5927 float y = this.velocity.Y;
5928 if (16972 == 0)
5929 {
5930 }
5931 float x2 = this.velocity.X;
5932 float x3 = this.velocity.X;
5933 float y2 = this.velocity.Y;
5936 float y3 = this.velocity.Y;
5937 float x4 = this.velocity.X;
5940 }
5941
5942 // Token: 0x060026EB RID: 9963 RVA: 0x0017B740 File Offset: 0x00179940
5943 private void AI_041()
5944 {
5945 if (!true)
5946 {
5947 }
5948 int num;
5949 this.frame = num;
5950 float x = this.velocity.X;
5951 float num2 = this.rotation;
5952 this.rotation = x;
5953 }
5954
5955 // Token: 0x060026EC RID: 9964 RVA: 0x0017B780 File Offset: 0x00179980
5956 private void AI_042()
5957 {
5958 if (!true)
5959 {
5960 }
5961 int width = this.width;
5962 int height = this.height;
5963 }
5964
5965 // Token: 0x060026ED RID: 9965 RVA: 0x0017B8BC File Offset: 0x00179ABC
5966 private void AI_043()
5967 {
5968 int num = 1;
5969 float x = this.velocity.X;
5970 float y = this.velocity.Y;
5971 if (num == 0)
5972 {
5973 }
5974 if (this.soundDelay == 0)
5975 {
5976 int num2 = this.type;
5977 float x2 = this.position.X;
5978 float y2 = this.position.Y;
5979 int num3 = 32640;
5981 float x3 = this.position.X;
5982 float y3 = this.position.Y;
5983 int width = this.width;
5984 bool wet = this.wet;
5985 if (num2 == 0)
5986 {
5987 }
5988 if (num3 == 0)
5989 {
5990 }
5991 float x4 = this.velocity.X;
5992 float y4 = this.velocity.Y;
5993 if (num3 == 0)
5994 {
5995 }
5996 }
5997 int num4 = this.timeLeft;
5998 int num5 = this.frameCounter;
5999 Vector2 center = base.Center;
6000 Vector2 velocity = this.velocity;
6001 if (num5 == 0)
6002 {
6003 }
6004 if (17279 == 0)
6005 {
6006 }
6007 Vector2 center2 = base.Center;
6008 int num6;
6009 if (num6 == 0)
6010 {
6011 float x5 = this.position.X;
6012 float y5 = this.position.Y;
6013 int width2 = this.width;
6014 bool wet2 = this.wet;
6015 int num7 = 1;
6016 Dust dust;
6017 dust.noGravity = num7 != 0;
6018 float x6 = dust.velocity.X;
6019 float y6 = dust.velocity.Y;
6020 if (num7 == 0)
6021 {
6022 }
6023 int num8 = 16320;
6026 dust.scale = (float)num8;
6027 float x7 = this.velocity.X;
6028 float y7 = this.velocity.Y;
6029 if (num8 == 0)
6030 {
6031 }
6032 int num9 = 100;
6033 int num10 = 1;
6036 Color color;
6037 dust.color = color;
6038 dust.color.R = (byte)width2;
6039 dust.alpha = num9;
6040 dust.noLight = num10 != 0;
6041 }
6042 }
6043
6044 // Token: 0x060026EE RID: 9966 RVA: 0x0017BACC File Offset: 0x00179CCC
6045 private void AI_044()
6046 {
6047 int num = this.type;
6048 float x = this.velocity.X;
6049 float y = this.velocity.Y;
6050 if (num == 0)
6051 {
6052 }
6053 int num2 = this.alpha;
6054 this.alpha = num2;
6055 this.Kill();
6056 }
6057
6058 // Token: 0x060026EF RID: 9967 RVA: 0x0017BC1C File Offset: 0x00179E1C
6059 private void AI_045()
6060 {
6061 int num = this.type;
6062 Vector2 center = base.Center;
6063 int height = this.height;
6064 float y = this.position.Y;
6065 if (52992 == 0)
6066 {
6067 }
6068 int num2 = this.frameCounter;
6070 int num3 = this.frame;
6071 this.frame = num3;
6072 }
6073
6074 // Token: 0x060026F0 RID: 9968 RVA: 0x0017BEF8 File Offset: 0x0017A0F8
6075 private void AI_046()
6076 {
6077 Vector2 center = base.Center;
6078 int num = 15744;
6079 int num2 = 32640;
6080 int num3 = 32768;
6081 Vector2 center2 = base.Center;
6082 if (num == 0)
6083 {
6084 }
6085 long num4 = 0L;
6086 bool flag = WorldGen.InWorld(43143168, num3, (int)num4);
6087 if (num == 0)
6088 {
6089 }
6090 Tile tile;
6091 byte liquid = tile.liquid;
6092 Tile tile2;
6093 bool flag2 = tile2.shimmer();
6094 this.Kill();
6095 int num5 = this.type;
6096 Vector2 center3 = base.Center;
6097 if (num5 == 0)
6098 {
6099 }
6100 if (num2 == 0)
6101 {
6102 }
6103 int num6 = this.owner;
6104 int myPlayer = Main.myPlayer;
6106 Vector2 center4 = base.Center;
6107 Vector2 center5 = base.Center;
6108 float x = this.velocity.X;
6109 float y = this.velocity.Y;
6110 int num7 = this.damage;
6111 float num8 = this.knockBack;
6112 int num9 = this.owner;
6113 int num10 = this.timeLeft;
6114 int num11 = 2400;
6116 float y2 = this.velocity.Y;
6117 }
6118
6119 // Token: 0x060026F1 RID: 9969 RVA: 0x0017C10C File Offset: 0x0017A30C
6120 private void AI_048()
6121 {
6122 int num = this.type;
6123 float x = this.position.X;
6124 float y = this.position.Y;
6125 float x2 = this.velocity.X;
6126 float y2 = this.velocity.Y;
6127 int num2 = 255;
6128 this.alpha = num2;
6129 if (num2 == 0)
6130 {
6131 }
6132 int width = this.width;
6133 }
6134
6135 // Token: 0x060026F2 RID: 9970 RVA: 0x0017C334 File Offset: 0x0017A534
6136 private void AI_049()
6137 {
6138 int num = 1;
6139 this.hostile = num != 0;
6140 }
6141
6142 // Token: 0x060026F3 RID: 9971 RVA: 0x0017C5AC File Offset: 0x0017A7AC
6143 private void AI_050()
6144 {
6145 int num = this.type;
6146 float x = this.position.X;
6147 float y = this.position.Y;
6148 int width = this.width;
6149 bool wet = this.wet;
6150 float x2 = this.velocity.X;
6151 float y2 = this.velocity.Y;
6152 }
6153
6154 // Token: 0x060026F4 RID: 9972 RVA: 0x0017C7A8 File Offset: 0x0017A9A8
6155 private void AI_051()
6156 {
6157 int num = 1;
6158 int num2 = this.type;
6159 float x = this.position.X;
6160 float y = this.position.Y;
6161 int width = this.width;
6162 bool wet = this.wet;
6163 if (num == 0)
6164 {
6165 }
6166 }
6167
6168 // Token: 0x060026F5 RID: 9973 RVA: 0x0017C984 File Offset: 0x0017AB84
6169 private void AI_052()
6170 {
6171 int num = 1;
6172 int width = this.width;
6173 int height = this.height;
6174 float x = this.position.X;
6175 float y = this.position.Y;
6176 int num2 = 32768;
6177 if (num == 0)
6178 {
6179 }
6180 int num3 = 16968;
6181 float x2 = this.position.X;
6182 if (num3 == 0)
6183 {
6184 }
6185 float x3 = this.position.X;
6186 int width2 = this.width;
6187 if (num2 == 0)
6188 {
6189 }
6190 float y2 = this.position.Y;
6191 if (num2 == 0)
6192 {
6193 }
6194 float y3 = this.position.Y;
6195 int height2 = this.height;
6196 if (num3 == 0)
6197 {
6198 }
6199 int num4 = this.owner;
6200 if (num3 == 0)
6201 {
6202 }
6203 int myPlayer = Main.myPlayer;
6204 if (num3 == 0)
6205 {
6206 }
6207 int myPlayer2 = Main.myPlayer;
6208 if (num3 == 0)
6209 {
6210 if (num2 == 0)
6211 {
6212 }
6213 }
6214 this.Kill();
6215 float x4 = this.velocity.X;
6216 int num5 = this.type;
6217 float x5 = this.position.X;
6218 float y4 = this.position.Y;
6219 int width3 = this.width;
6220 bool wet = this.wet;
6221 float x6 = this.velocity.X;
6222 }
6223
6224 // Token: 0x060026F6 RID: 9974 RVA: 0x0017CAF4 File Offset: 0x0017ACF4
6225 private void AI_053()
6226 {
6227 if (17136 == 0)
6228 {
6229 }
6230 float x = this.position.X;
6231 float y = this.position.Y;
6232 int num = this.type;
6233 float x2 = this.position.X;
6234 float y2 = this.position.Y;
6235 int width = this.width;
6236 bool wet = this.wet;
6237 int num2 = this.type;
6238 int num3 = 4;
6239 this.frame = num3;
6240 float x3 = this.position.X;
6241 float y3 = this.position.Y;
6242 if (num3 == 0)
6243 {
6244 }
6245 int width2 = this.width;
6246 bool wet2 = this.wet;
6247 int num4 = this.type;
6248 Vector2 center = base.Center;
6249 if (num4 == 0)
6250 {
6251 }
6252 if (num4 == 0)
6253 {
6254 }
6255 float y4 = this.velocity.Y;
6257 Vector2 center2 = base.Center;
6258 Vector2 center3 = base.Center;
6260 bool wet3;
6261 if (ownerMinionAttackTargetNPC != null)
6262 {
6263 long num5 = 0L;
6264 bool flag = ownerMinionAttackTargetNPC.CanBeChasedBy(this, num5 != 0L);
6267 float x4 = ownerMinionAttackTargetNPC.position.X;
6268 float y5 = ownerMinionAttackTargetNPC.position.Y;
6269 float x5 = this.position.X;
6270 int width4 = this.width;
6271 if (width3 == 0)
6272 {
6273 }
6274 int height = this.height;
6275 float y6 = this.position.Y;
6276 int num6 = 17530;
6277 float x6 = this.position.X;
6278 int width5 = this.width;
6279 float x7 = ownerMinionAttackTargetNPC.position.X;
6280 float y7 = ownerMinionAttackTargetNPC.position.Y;
6283 if (num6 == 0)
6284 {
6285 }
6287 int num7 = this.type;
6288 return;
6289 }
6290 int num8 = 17530;
6291 if (num8 == 0)
6292 {
6293 }
6294 if (num8 == 0)
6295 {
6296 }
6297 float x8 = this.position.X;
6298 int width7 = this.width;
6299 if (!wet3)
6300 {
6301 }
6302 int height2 = this.height;
6303 float y8 = this.position.Y;
6304 float x9 = this.position.X;
6305 int width8 = this.width;
6306 if (num8 == 0)
6307 {
6308 }
6309 if (!wet3)
6310 {
6311 }
6312 if (num8 == 0)
6313 {
6314 }
6315 int num9 = this.type;
6316 int num10 = 1;
6317 this.netUpdate = num10 != 0;
6318 Vector2 center4 = base.Center;
6319 Vector2 center5 = base.Center;
6320 int num11 = this.frameCounter;
6322 int num12 = this.type;
6323 int num13 = 1;
6324 this.netUpdate = num13 != 0;
6325 if (num12 == 0)
6326 {
6327 }
6328 int myPlayer = Main.myPlayer;
6329 int num14 = this.owner;
6330 int num15 = this.type;
6331 int width9 = this.width;
6332 int height3 = this.height;
6333 float x10 = this.position.X;
6334 float y9 = this.position.Y;
6335 int num16 = this.type;
6336 }
6337
6338 // Token: 0x060026F7 RID: 9975 RVA: 0x0017CF04 File Offset: 0x0017B104
6339 private void AI_054()
6340 {
6341 int num = this.type;
6342 if (num == 0)
6343 {
6344 }
6345 int myPlayer = Main.myPlayer;
6346 if (num != 0)
6347 {
6348 if (num == 0)
6349 {
6350 }
6351 int myPlayer2 = Main.myPlayer;
6352 }
6353 if (num == 0)
6354 {
6355 }
6356 int myPlayer3 = Main.myPlayer;
6357 if (num != 0)
6358 {
6359 int num2 = 2;
6361 }
6362 if (this.whoAmI == 0)
6363 {
6364 }
6365 int num3 = this.owner;
6366 int num4 = this.type;
6367 float x = this.position.X;
6368 if (num4 == 0)
6369 {
6370 }
6371 float y = this.position.Y;
6372 int width = this.width;
6373 float x2 = this.position.X;
6374 float y2 = this.position.Y;
6375 float x3 = this.velocity.X;
6377 float y3 = this.velocity.Y;
6378 }
6379
6380 // Token: 0x060026F8 RID: 9976 RVA: 0x0017D384 File Offset: 0x0017B584
6381 private void AI_055()
6382 {
6383 int num = this.frameCounter;
6384 this.frameCounter = num;
6385 int num2 = this.frame;
6386 this.frame = num2;
6387 float x = this.velocity.X;
6389 float y = this.velocity.Y;
6390 if (num2 == 0)
6391 {
6392 }
6393 }
6394
6395 // Token: 0x060026F9 RID: 9977 RVA: 0x0017D4F0 File Offset: 0x0017B6F0
6396 private void AI_056()
6397 {
6398 int num = 32768;
6400 float x = this.velocity.X;
6401 if (num == 0)
6402 {
6403 }
6404 float y = this.velocity.Y;
6405 float x2 = this.velocity.X;
6406 }
6407
6408 // Token: 0x060026FA RID: 9978 RVA: 0x0017D570 File Offset: 0x0017B770
6409 private void AI_057()
6410 {
6411 float x = this.velocity.X;
6412 float y = this.velocity.Y;
6413 }
6414
6415 // Token: 0x060026FB RID: 9979 RVA: 0x0017D63C File Offset: 0x0017B83C
6416 private void AI_058()
6417 {
6418 int num = this.alpha;
6419 this.alpha = num;
6420 float y = this.velocity.Y;
6421 this.velocity.Y = y;
6422 float x = this.velocity.X;
6423 float y2 = this.velocity.Y;
6424 int num2 = 1;
6425 this.frame = num2;
6426 }
6427
6428 // Token: 0x060026FC RID: 9980 RVA: 0x0017D6D0 File Offset: 0x0017B8D0
6429 private void AI_059()
6430 {
6431 int num = 1;
6432 this.friendly = num != 0;
6433 int myPlayer = Main.myPlayer;
6434 if (this.owner == 0)
6435 {
6436 }
6437 long num2 = 0L;
6438 float x = this.position.X;
6439 int width = this.width;
6440 int height = this.height;
6441 float y = this.position.Y;
6442 if (num2 != 0L)
6443 {
6444 int num3 = 1;
6445 this.netUpdate = num3 != 0;
6446 int width2 = this.width;
6447 int height2 = this.height;
6448 float x2 = this.position.X;
6449 float y2 = this.position.Y;
6450 if (num3 == 0)
6451 {
6452 }
6453 float x3 = this.velocity.X;
6454 float num4;
6456 float x4 = this.position.X;
6457 float y3 = this.position.Y;
6458 float x5 = this.velocity.X;
6459 int width3 = this.width;
6460 bool wet = this.wet;
6461 return;
6462 }
6463 this.Kill();
6464 }
6465
6466 // Token: 0x060026FD RID: 9981 RVA: 0x0017D7E0 File Offset: 0x0017B9E0
6467 private void AI_060()
6468 {
6469 float num = this.scale;
6470 this.scale = num;
6471 float x = this.velocity.X;
6472 float y = this.velocity.Y;
6473 this.velocity.X = num;
6474 Vector2 velocity = this.velocity;
6476 this.Kill();
6477 int num2 = this.type;
6478 int num3 = this.owner;
6479 int num4 = 103;
6480 if (num2 == 0)
6481 {
6482 }
6483 int myPlayer = Main.myPlayer;
6484 float x2 = this.position.X;
6485 float y2 = this.position.Y;
6486 int width = this.width;
6487 bool wet = this.wet;
6488 if (num2 == 0)
6489 {
6490 }
6491 if (num4 != 0)
6492 {
6493 if (num4 == 0)
6494 {
6495 }
6496 if (num4 == 0)
6497 {
6498 if (num4 == 0)
6499 {
6500 }
6501 if (num4 == 0)
6502 {
6503 }
6504 this.Kill();
6505 }
6506 }
6507 if (this.owner == 0)
6508 {
6509 }
6510 if (num4 != 0)
6511 {
6512 if (num4 == 0)
6513 {
6514 }
6515 if (num4 == 0)
6516 {
6517 if (num4 == 0)
6518 {
6519 }
6520 this.Kill();
6521 }
6522 }
6523 float y3 = this.velocity.Y;
6525 int num5 = this.type;
6526 float x3 = this.position.X;
6527 float y4 = this.position.Y;
6528 float x4 = this.velocity.X;
6529 int width2 = this.width;
6530 bool wet2 = this.wet;
6531 if (num5 == 0)
6532 {
6533 }
6534 if (num4 == 0)
6535 {
6536 }
6537 int num6;
6538 if (num6 != 0 || num4 == 0)
6539 {
6540 }
6541 if (num4 == 0)
6542 {
6543 }
6544 int num7;
6545 if (num7 != 0 || num4 == 0)
6546 {
6547 }
6548 if (num4 == 0)
6549 {
6550 }
6551 int num8;
6552 if (num8 != 0 || num4 == 0)
6553 {
6554 }
6555 if (num4 == 0)
6556 {
6557 }
6558 float x5 = this.velocity.X;
6559 float y5 = this.velocity.Y;
6560 Vector2 center = base.Center;
6561 int num9;
6562 if (num9 == 0)
6563 {
6564 float x6 = this.position.X;
6565 float y6 = this.position.Y;
6566 int width3 = this.width;
6567 bool wet3 = this.wet;
6568 if (num4 == 0)
6569 {
6570 }
6571 float x7 = this.velocity.X;
6572 float y7 = this.velocity.Y;
6573 }
6574 int num10 = this.type;
6575 float x8 = this.velocity.X;
6576 float y8 = this.velocity.Y;
6577 if (num10 == 0)
6578 {
6579 }
6580 float x9 = this.position.X;
6581 float y9 = this.position.Y;
6582 int width4 = this.width;
6583 int height = this.height;
6584 if (num4 == 0)
6585 {
6586 }
6587 int num11;
6588 if (num11 != 0 || num4 == 0)
6589 {
6590 }
6591 if (num4 == 0)
6592 {
6593 }
6594 int num12;
6595 if (num12 != 0 || num4 == 0)
6596 {
6597 }
6598 if (num4 == 0)
6599 {
6600 }
6601 int num13;
6602 if (num13 != 0 || num4 == 0)
6603 {
6604 }
6605 if (num4 == 0)
6606 {
6607 }
6608 float x10 = this.velocity.X;
6609 float y10 = this.velocity.Y;
6610 Vector2 center2 = base.Center;
6611 int num14;
6612 if (num14 == 0)
6613 {
6614 float x11 = this.position.X;
6615 float y11 = this.position.Y;
6616 int num15 = 1;
6617 if (num15 == 0)
6618 {
6619 }
6620 int width5 = this.width;
6621 bool wet4 = this.wet;
6622 if (num15 == 0)
6623 {
6624 }
6625 if (num4 == 0)
6626 {
6627 }
6628 float x12 = this.velocity.X;
6629 float y12 = this.velocity.Y;
6630 return;
6631 }
6632 }
6633
6634 // Token: 0x060026FE RID: 9982 RVA: 0x0017DB5C File Offset: 0x0017BD5C
6636 {
6637 if (!true)
6638 {
6639 return;
6640 }
6641 }
6642
6643 // Token: 0x060026FF RID: 9983 RVA: 0x0017DB78 File Offset: 0x0017BD78
6644 private void AI_062()
6645 {
6646 if (this.type == 0)
6647 {
6648 }
6649 int num = this.owner;
6650 int num2 = 2;
6652 if (num2 == 0)
6653 {
6654 }
6656 if (num2 == 0)
6657 {
6658 }
6659 }
6660
6661 // Token: 0x06002700 RID: 9984 RVA: 0x0017EFD0 File Offset: 0x0017D1D0
6662 private void AI_063()
6663 {
6664 int num = 1;
6665 if (num == 0)
6666 {
6667 }
6668 if (num != 0)
6669 {
6670 float x = this.position.X;
6671 float y = this.position.Y;
6672 int num2 = 17402;
6673 if (num2 == 0)
6674 {
6675 }
6676 Vector2 center = base.Center;
6677 if (num2 == 0)
6678 {
6679 }
6680 float x2 = this.position.X;
6681 float y2 = this.position.Y;
6682 int width = this.width;
6683 bool wet = this.wet;
6684 if (num2 == 0)
6685 {
6686 }
6687 return;
6688 }
6689 }
6690
6691 // Token: 0x06002701 RID: 9985 RVA: 0x0017F150 File Offset: 0x0017D350
6692 private void AI_064()
6693 {
6694 int num = 1;
6695 int num2 = this.type;
6696 float x = this.velocity.X;
6697 if (num == 0)
6698 {
6699 }
6701 this.direction = num;
6702 int num3 = this.frameCounter;
6703 int num4 = this.frame;
6705 this.frame = num4;
6706 if (num4 == 0)
6707 {
6708 }
6709 int myPlayer = Main.myPlayer;
6710 int num5 = this.owner;
6711 int width = this.width;
6712 float x2 = this.position.X;
6713 this.position.X = (float)width;
6714 int num6 = 1;
6715 int num7 = 16936;
6716 int num8 = 32640;
6717 float x3 = this.position.X;
6718 float y = this.position.Y;
6719 this.width = num7;
6720 this.wet = num8 != 0;
6721 this.netUpdate = num6 != 0;
6722 int width2 = this.width;
6723 bool wet = this.wet;
6724 }
6725
6726 // Token: 0x06002702 RID: 9986 RVA: 0x0017F3DC File Offset: 0x0017D5DC
6727 private void AI_065()
6728 {
6729 float x = this.velocity.X;
6730 float y = this.velocity.Y;
6731 int width = this.width;
6732 int height = this.height;
6733 Vector2 center = base.Center;
6734 double num;
6735 Vector2 vector = ((float)num).ToRotationVector2();
6736 float x2 = this.velocity.X;
6737 float y2 = this.velocity.Y;
6738 int num2 = this.alpha;
6739 float x3 = this.velocity.X;
6740 float num3 = this.rotation;
6741 this.alpha = num2;
6742 this.rotation = x3;
6743 int num4 = 21846;
6744 this.frame = num4;
6745 if (num4 == 0)
6746 {
6747 }
6748 Vector2 center2 = base.Center;
6749 if (num4 == 0)
6750 {
6751 }
6752 if (num4 == 0)
6753 {
6754 }
6757 float num5 = vector2.Length();
6758 this.Kill();
6759 }
6760
6761 // Token: 0x06002703 RID: 9987 RVA: 0x0017F5B0 File Offset: 0x0017D7B0
6762 private void AI_066()
6763 {
6764 if (this.type == 0)
6765 {
6766 }
6767 if (this.owner != 0)
6768 {
6769 int num = 2;
6770 this.timeLeft = num;
6771 }
6772 }
6773
6774 // Token: 0x06002704 RID: 9988 RVA: 0x0017FF00 File Offset: 0x0017E100
6775 private void AI_068()
6776 {
6777 int direction = this.direction;
6778 float num = this.rotation;
6779 int num2 = this.type;
6780 this.rotation = (float)direction;
6781 int num3 = this.alpha;
6782 this.alpha = num3;
6783 float x = this.velocity.X;
6784 float y = this.velocity.Y;
6785 this.velocity.X = x;
6786 this.velocity.Y = y;
6787 if (this.alpha == 0)
6788 {
6789 int direction2 = this.direction;
6790 float num4 = this.rotation;
6791 return;
6792 }
6793 int num5 = this.timeLeft;
6794 int direction3 = this.direction;
6796 if (this.wet)
6797 {
6798 int num6 = 3;
6800 return;
6801 }
6802 }
6803
6804 // Token: 0x06002705 RID: 9989 RVA: 0x001800AC File Offset: 0x0017E2AC
6805 private void AI_069()
6806 {
6807 int num = 1;
6808 if (num == 0)
6809 {
6810 }
6811 Vector2 center = base.Center;
6812 if (num == 0)
6813 {
6814 }
6815 if (num == 0)
6816 {
6817 }
6818 this.direction = 43143168;
6819 int direction = this.direction;
6820 Vector2 vector;
6821 float num2 = vector.Length();
6822 this.Kill();
6823 }
6824
6825 // Token: 0x06002706 RID: 9990 RVA: 0x00180198 File Offset: 0x0017E398
6826 private void AI_070()
6827 {
6828 Vector2 center = base.Center;
6829 Vector2 vector;
6830 float num = vector.Length();
6831 float x = this.position.X;
6832 float y = this.position.Y;
6833 int width = this.width;
6834 bool wet = this.wet;
6835 float x2 = this.velocity.X;
6836 float y2 = this.velocity.Y;
6837 Vector2 center2 = base.Center;
6838 int num2 = 1;
6839 this.netUpdate = num2 != 0;
6840 }
6841
6842 // Token: 0x06002707 RID: 9991 RVA: 0x000021DB File Offset: 0x000003DB
6843 private void AI_075()
6844 {
6845 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
6846 }
6847
6848 // Token: 0x06002708 RID: 9992 RVA: 0x001802FC File Offset: 0x0017E4FC
6849 private void AI_092()
6850 {
6851 int num = 1;
6852 int num2 = this.type;
6853 if (num == 0)
6854 {
6855 }
6856 int num3;
6857 if (this.direction == 0)
6858 {
6859 num3 = 1;
6861 }
6862 Vector2 center = base.Center;
6863 if (num3 == 0)
6864 {
6865 }
6866 if (!true)
6867 {
6868 }
6869 this.Kill();
6870 }
6871
6872 // Token: 0x06002709 RID: 9993 RVA: 0x001805D4 File Offset: 0x0017E7D4
6873 private void AI_099_1()
6874 {
6875 int num = 6;
6876 this.timeLeft = num;
6877 int num2 = this.owner;
6878 if (num == 0)
6879 {
6880 }
6881 int myPlayer = Main.myPlayer;
6882 if (num == 0)
6883 {
6884 }
6885 if (num != 0)
6886 {
6887 if (num == 0)
6888 {
6889 }
6890 int num3 = this.owner;
6891 if (num == 0)
6892 {
6893 }
6894 if (num == 0)
6895 {
6896 }
6897 if (num == 0)
6898 {
6899 }
6900 }
6901 int num4 = 1;
6902 this.netUpdate = num4 != 0;
6903 if (num4 == 0)
6904 {
6905 }
6906 float num5 = this.rotation;
6908 if (num4 == 0)
6909 {
6910 }
6911 this.Kill();
6912 }
6913
6914 // Token: 0x0600270A RID: 9994 RVA: 0x001809D4 File Offset: 0x0017EBD4
6915 private void AI_099_2()
6916 {
6917 int whoAmI = this.whoAmI;
6918 if (whoAmI == 0)
6919 {
6920 }
6921 if (whoAmI != 0)
6922 {
6923 if (whoAmI == 0)
6924 {
6925 }
6926 int num = this.owner;
6927 if (whoAmI == 0)
6928 {
6929 }
6930 int num2 = this.type;
6931 }
6932 }
6933
6934 // Token: 0x0600270B RID: 9995 RVA: 0x00180ED4 File Offset: 0x0017F0D4
6936 {
6937 Vector2 center = base.Center;
6938 int num = this.type;
6939 Vector2 center2 = base.Center;
6940 if (num == 0)
6941 {
6942 }
6943 Vector2 bottom = base.Bottom;
6944 if (num == 0)
6945 {
6946 }
6947 Vector2 bottom2 = base.Bottom;
6948 int direction = this.direction;
6949 float x = this.position.X;
6950 float y = this.position.Y;
6951 int width = this.width;
6952 bool wet = this.wet;
6953 int direction2 = this.direction;
6954 if (this.width == 0)
6955 {
6956 }
6957 int num2;
6958 float fadeIn;
6959 if (num2 == 0)
6960 {
6961 int direction3 = this.direction;
6962 if (!wet)
6963 {
6964 }
6965 int num3 = 52429;
6966 int num4 = 1;
6967 Dust dust;
6968 dust.scale = (float)num3;
6969 dust.noGravity = num4 != 0;
6970 dust.fadeIn = x;
6971 dust.noLight = num4 != 0;
6972 int direction4 = this.direction;
6973 fadeIn = dust.fadeIn;
6974 dust.velocity.X = x;
6975 }
6976 Vector2 center3 = base.Center;
6977 Vector2 bottom3 = base.Bottom;
6978 int width2 = this.width;
6979 int direction5 = this.direction;
6980 int height = this.height;
6981 if (direction5 == 0)
6982 {
6983 }
6984 int num5;
6985 if (num5 == 0)
6986 {
6987 int num6 = 16256;
6988 int num7 = 1;
6989 Dust dust2;
6990 dust2.fadeIn = (float)num6;
6991 dust2.scale = (float)num6;
6992 dust2.noGravity = num7 != 0;
6993 dust2.noLight = num7 != 0;
6994 float x2 = dust2.velocity.X;
6995 float y2 = dust2.velocity.Y;
6996 if (num6 == 0)
6997 {
6998 }
6999 dust2.velocity.X = x;
7000 dust2.velocity.Y = fadeIn;
7001 return;
7002 }
7003 int num8 = 17056;
7004 if (num8 == 0)
7005 {
7006 }
7007 if (num8 == 0)
7008 {
7009 }
7012 int num9 = 1;
7013 this.netUpdate = num9 != 0;
7014 }
7015
7016 // Token: 0x0600270C RID: 9996 RVA: 0x00181564 File Offset: 0x0017F764
7018 {
7019 int num = 1;
7021 int whoAmI;
7022 if (ownerMinionAttackTargetNPC != null)
7023 {
7024 long num2 = 0L;
7025 bool flag = ownerMinionAttackTargetNPC.CanBeChasedBy(this, num2 != 0L);
7026 long num3 = 0L;
7027 bool flag2 = ownerMinionAttackTargetNPC.CanBeChasedBy(this, num3 != 0L);
7028 Vector2 center = ownerMinionAttackTargetNPC.Center;
7029 if (num == 0)
7030 {
7031 }
7033 if (num == 0)
7034 {
7035 }
7036 if (!true)
7037 {
7038 }
7039 int direction = this.direction;
7042 }
7043 int direction2 = this.direction;
7044 return whoAmI;
7045 }
7046
7047 // Token: 0x0600270D RID: 9997 RVA: 0x001815F0 File Offset: 0x0017F7F0
7049 {
7050 int num = 1;
7052 int whoAmI;
7053 if (ownerMinionAttackTargetNPC != null)
7054 {
7055 long num2 = 0L;
7056 bool flag = ownerMinionAttackTargetNPC.CanBeChasedBy(this, num2 != 0L);
7057 long num3 = 0L;
7058 bool flag2 = ownerMinionAttackTargetNPC.CanBeChasedBy(this, num3 != 0L);
7059 Vector2 center = ownerMinionAttackTargetNPC.Center;
7060 if (num == 0)
7061 {
7062 }
7064 if (num == 0)
7065 {
7066 }
7067 if (!true)
7068 {
7069 }
7072 }
7073 return whoAmI;
7074 }
7075
7076 // Token: 0x0600270E RID: 9998 RVA: 0x00181670 File Offset: 0x0017F870
7078 {
7079 if (this.type == 0)
7080 {
7081 }
7082 Vector2 center = base.Center;
7083 int num = this.alpha;
7084 this.alpha = num;
7085 int num2 = this.type;
7086 int num3 = 1;
7087 int num4 = 3;
7088 if (num4 == 0)
7089 {
7090 }
7091 int num5;
7092 if (num5 != 0)
7093 {
7094 float x = this.position.X;
7095 float y = this.position.Y;
7096 int width = this.width;
7097 bool wet = this.wet;
7098 float x2 = this.velocity.X;
7099 float y2 = this.velocity.Y;
7100 if (num4 == 0)
7101 {
7102 }
7103 Dust dust;
7104 dust.noGravity = num3 != 0;
7105 float x3 = dust.velocity.X;
7106 float y3 = dust.velocity.Y;
7107 if (num4 == 0)
7108 {
7109 }
7110 if (num4 == 0)
7111 {
7112 }
7113 int num6;
7114 if (num6 == 0)
7115 {
7116 float y4 = dust.velocity.Y;
7117 if (num4 == 0)
7118 {
7119 }
7120 int num7 = Math.Sign((float)num3);
7121 float fadeIn = dust.fadeIn;
7122 }
7123 }
7124 float x4 = this.velocity.X;
7125 float y5 = this.velocity.Y;
7126 }
7127
7128 // Token: 0x0600270F RID: 9999 RVA: 0x00181788 File Offset: 0x0017F988
7129 private void AI_134_Ballista()
7130 {
7131 int num = 1;
7132 Vector2 center = base.Center;
7133 if (num == 0)
7134 {
7135 }
7136 if (num == 0)
7137 {
7138 }
7139 int num2 = 100;
7140 int num3 = 30;
7141 int num4 = this.type;
7142 if (num3 == 0)
7143 {
7144 }
7147 int num5 = 1;
7148 int direction = this.direction;
7149 this.netUpdate = num5 != 0;
7150 int num6 = 4059;
7151 this.rotation = (float)num6;
7152 if (num6 == 0)
7153 {
7154 }
7155 int num7;
7156 if (num6 != 0)
7157 {
7158 num7 = 17008;
7159 }
7160 if (num7 == 0)
7161 {
7162 }
7163 if (num2 != 0)
7164 {
7165 if (num2 == 0)
7166 {
7167 }
7168 }
7169 long num8 = 0L;
7170 int num9 = 17505;
7171 if (num9 == 0)
7172 {
7173 }
7174 if (num9 == 0)
7175 {
7176 }
7177 if (!true)
7178 {
7179 }
7180 if (num4 == 0)
7181 {
7182 }
7183 float num10 = this.rotation;
7184 if (num8 != 0L)
7185 {
7186 int num11 = this.owner;
7187 int myPlayer = Main.myPlayer;
7188 float num13;
7189 int num12 = Math.Sign(num13);
7191 int num14 = 1;
7192 this.netUpdate = num14 != 0;
7193 return;
7194 }
7195 float y = this.velocity.Y;
7196 int direction2 = this.direction;
7197 int num15 = 1;
7198 this.tileCollide = num15 != 0;
7200 this.velocity.Y = y;
7201 }
7202
7203 // Token: 0x06002710 RID: 10000 RVA: 0x000021DB File Offset: 0x000003DB
7204 public static int GetBallistraShotDelay(Player player)
7205 {
7206 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
7207 }
7208
7209 // Token: 0x06002711 RID: 10001 RVA: 0x00181980 File Offset: 0x0017FB80
7210 private void AI_135_OgreStomp()
7211 {
7212 int num = this.type;
7213 this.Kill();
7214 }
7215
7216 // Token: 0x06002712 RID: 10002 RVA: 0x00181B64 File Offset: 0x0017FD64
7217 private void AI_136_BetsyBreath()
7218 {
7219 this.Kill();
7220 }
7221
7222 // Token: 0x06002713 RID: 10003 RVA: 0x00181F24 File Offset: 0x00180124
7224 {
7225 int num = 1;
7226 if (num == 0)
7227 {
7228 }
7229 if (num == 0)
7230 {
7231 }
7232 Vector2 center = base.Center;
7233 int width = this.width;
7234 Rectangle hitbox = base.Hitbox;
7235 }
7236
7237 // Token: 0x06002714 RID: 10004 RVA: 0x0018219C File Offset: 0x0018039C
7239 {
7240 int num = 1;
7241 this.direction = num;
7243 if (num == 0)
7244 {
7245 }
7246 int num2 = this.type;
7247 int num3 = 695;
7248 Vector2 center = base.Center;
7249 if (num3 == 0)
7250 {
7251 }
7252 int num4 = this.frameCounter;
7254 int num5 = this.frame;
7255 if (num5 == 0)
7256 {
7257 }
7258 int num6 = this.owner;
7259 if (num5 == 0)
7260 {
7261 }
7262 int myPlayer = Main.myPlayer;
7263 Vector2 center2 = base.Center;
7264 if (49728 == 0)
7265 {
7266 }
7267 int num7 = 17168;
7268 if (num7 == 0)
7269 {
7270 }
7271 if (num7 == 0)
7272 {
7273 }
7275 bool flag = rectangle.Intersects(rectangle);
7276 }
7277
7278 // Token: 0x06002715 RID: 10005 RVA: 0x000021DB File Offset: 0x000003DB
7279 public static int GetExplosiveTrapCooldown(Player player)
7280 {
7281 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
7282 }
7283
7284 // Token: 0x06002716 RID: 10006 RVA: 0x001822C0 File Offset: 0x001804C0
7286 {
7287 int num = 1;
7288 if (num == 0)
7289 {
7290 }
7291 int num2 = this.type;
7292 bool flag = this.sentry;
7293 this.alpha = num;
7294 int num3 = this.frameCounter;
7296 int num4 = this.frame;
7297 this.frame = num4;
7298 Vector2 top = base.Top;
7299 Vector2 bottom = base.Bottom;
7300 }
7301
7302 // Token: 0x06002717 RID: 10007 RVA: 0x00182324 File Offset: 0x00180524
7303 private void AI_140_MonkStaffT1()
7304 {
7305 int num = 1;
7306 if (num == 0)
7307 {
7308 }
7309 if (num == 0)
7310 {
7311 }
7312 int num2 = 1;
7313 if (num2 == 0)
7314 {
7315 }
7316 if (num2 != 0)
7317 {
7318 this.Kill();
7319 return;
7320 }
7321 int num3 = this.type;
7322 int num4 = this.damage;
7323 float x = this.velocity.X;
7324 if (num4 == 0)
7325 {
7326 }
7328 float x2 = this.velocity.X;
7329 int num5 = this.alpha;
7330 this.alpha = num5;
7331 float num6 = this.rotation;
7332 int num7 = 16968;
7333 int num9;
7334 if (num7 != 0)
7335 {
7336 if (num7 == 0)
7337 {
7338 }
7340 float x3 = this.velocity.X;
7341 float num8 = this.rotation;
7342 num9 = 1;
7343 this.netUpdate = num9 != 0;
7346 return;
7347 }
7348 this.Kill();
7349 float num10 = this.rotation;
7350 float num11;
7351 Vector2 vector = num11.ToRotationVector2();
7352 Vector2 center = base.Center;
7353 Vector2 vector2 = num11.ToRotationVector2();
7354 int num12;
7355 if (num12 == 0)
7356 {
7357 Dust dust;
7358 float x4 = dust.position.X;
7359 float y = dust.position.Y;
7360 float x5 = dust.velocity.X;
7361 float y2 = dust.velocity.Y;
7363 dust.velocity.Y = y;
7364 }
7365 Dust dust2;
7366 float x6 = dust2.position.X;
7367 float y3 = dust2.position.Y;
7368 float x7 = dust2.velocity.X;
7369 float y4 = dust2.velocity.Y;
7370 int num13 = 1;
7373 dust2.noGravity = num13 != 0;
7375 int num14 = 1;
7376 Dust dust3;
7377 float x8 = dust3.velocity.X;
7378 float y5 = dust3.velocity.Y;
7379 float num15 = dust3.scale;
7382 dust3.noGravity = num14 != 0;
7383 dust3.scale = x8;
7384 int num16 = 16956;
7385 int num17 = this.owner;
7386 if (num16 == 0)
7387 {
7388 }
7389 int myPlayer = Main.myPlayer;
7390 if (num9 == 0)
7391 {
7392 }
7394 if (49776 == 0)
7395 {
7396 }
7397 int num18 = 1;
7398 if (num18 == 0)
7399 {
7400 }
7401 int num19 = this.owner;
7402 int value = num18.m_value;
7403 if (num18 == 0)
7404 {
7405 }
7406 if (num18 == 0)
7407 {
7408 }
7409 Vector2 center2 = base.Center;
7410 if (this.type == 0)
7411 {
7412 }
7413 float x9 = this.velocity.X;
7414 float num21;
7415 int num20 = Math.Sign(num21);
7416 float x10 = this.velocity.X;
7417 this.rotation = x8;
7418 this.rotation = x8;
7419 int num22 = this.alpha;
7420 this.alpha = num22;
7421 float num23 = this.rotation;
7422 int num24 = 16968;
7423 if (num24 != 0)
7424 {
7425 if (num24 == 0)
7426 {
7427 }
7429 float x11 = this.velocity.X;
7430 float num25 = this.rotation;
7431 int num26 = 1;
7432 this.netUpdate = num26 != 0;
7435 return;
7436 }
7437 this.Kill();
7438 int num27 = 2;
7439 int num28 = this.owner;
7440 if (num27 == 0)
7441 {
7442 }
7443 int myPlayer2 = Main.myPlayer;
7444 if (num27 == 0)
7445 {
7446 }
7448 if (num27 == 0)
7449 {
7450 }
7451 }
7452
7453 // Token: 0x06002718 RID: 10008 RVA: 0x0018291C File Offset: 0x00180B1C
7455 {
7456 int num = 1;
7457 float x = this.position.X;
7458 float y = this.position.Y;
7459 if (num == 0)
7460 {
7461 }
7462 Vector2 bottomRight = base.BottomRight;
7463 int width = this.width;
7464 this.Kill();
7465 }
7466
7467 // Token: 0x06002719 RID: 10009 RVA: 0x00182980 File Offset: 0x00180B80
7469 {
7470 int y = scanAreaStart.Y;
7471 float y2 = explosionOrigin.Y;
7472 Tile tile;
7473 bool flag = tile.active();
7474 Tile tile2;
7475 bool flag2 = tile2.active();
7476 if (y == 0)
7477 {
7478 }
7479 if (y == 0)
7480 {
7481 }
7482 int y3 = scanAreaStart.Y;
7483 }
7484
7485 // Token: 0x0600271A RID: 10010 RVA: 0x001829C0 File Offset: 0x00180BC0
7487 {
7488 int num = 50;
7489 int num2 = 1;
7490 if (num == 0)
7491 {
7492 }
7493 if (num == 0)
7494 {
7495 }
7496 float x = this.position.X;
7497 float y = this.position.Y;
7498 int width = this.width;
7499 bool wet = this.wet;
7500 if (num == 0)
7501 {
7502 }
7503 Dust dust;
7504 dust.color = num;
7505 if (num == 0)
7506 {
7507 }
7508 if (num == 0)
7509 {
7510 }
7511 dust.noLight = num2 != 0;
7512 int num3 = 100;
7513 float x2 = this.position.X;
7514 float y2 = this.position.Y;
7515 int width2 = this.width;
7516 bool wet2 = this.wet;
7517 Dust dust2;
7518 dust2.frame = num3;
7519 float num4;
7520 dust2.noLight = num4 != null;
7521 }
7522
7523 // Token: 0x0600271B RID: 10011 RVA: 0x00182A90 File Offset: 0x00180C90
7525 {
7526 if (!true)
7527 {
7528 }
7529 int num = 50;
7530 int num2 = 1;
7531 if (num == 0)
7532 {
7533 }
7534 if (num == 0)
7535 {
7536 }
7537 float x = this.position.X;
7538 float y = this.position.Y;
7539 int width = this.width;
7540 bool wet = this.wet;
7541 Dust dust;
7542 Color color;
7543 dust.color = color;
7544 int num3 = 52429;
7545 dust.scale = (float)num3;
7546 dust.noLight = num2 != 0;
7547 float x2 = dust.velocity.X;
7548 float y2 = dust.velocity.Y;
7549 int num4 = 1;
7550 if (num3 == 0)
7551 {
7552 }
7553 if (num3 == 0)
7554 {
7555 }
7556 float x3 = this.position.X;
7557 float y3 = this.position.Y;
7558 int width2 = this.width;
7559 bool wet2 = this.wet;
7560 int num5 = 100;
7561 Dust dust2;
7562 dust2.color = color;
7563 dust2.frame = num5;
7564 if (num5 == 0)
7565 {
7566 }
7567 float num6;
7568 dust2.scale = num6;
7569 dust2.noLight = num4 != 0;
7570 float x4 = dust2.velocity.X;
7571 float y4 = dust2.velocity.Y;
7572 }
7573
7574 // Token: 0x0600271C RID: 10012 RVA: 0x000021DB File Offset: 0x000003DB
7576 {
7577 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
7578 }
7579
7580 // Token: 0x0600271D RID: 10013 RVA: 0x00182BB8 File Offset: 0x00180DB8
7582 {
7583 int num = 1;
7584 if (num == 0)
7585 {
7586 }
7587 Vector2 center = base.Center;
7588 SlotId slotId;
7589 float num2 = slotId.ToFloat();
7590 if (num == 0)
7591 {
7592 }
7593 float num3;
7595 {
7596 Vector2 center2 = base.Center;
7597 return;
7598 }
7599 if (num == 0)
7600 {
7601 }
7602 int num4 = this.alpha;
7603 }
7604
7605 // Token: 0x0600271E RID: 10014 RVA: 0x00182D40 File Offset: 0x00180F40
7606 private void AI_144_DD2Pet()
7607 {
7608 if (!true)
7609 {
7610 }
7611 this.Kill();
7612 }
7613
7614 // Token: 0x0600271F RID: 10015 RVA: 0x00183158 File Offset: 0x00181358
7616 {
7617 int num = this.soundDelay;
7618 if (num == 0)
7619 {
7620 this.soundDelay = num;
7621 if (num == 0)
7622 {
7623 }
7624 Vector2 center = base.Center;
7625 SlotId slotId;
7626 float num2 = slotId.ToFloat();
7627 }
7628 if (num == 0)
7629 {
7630 }
7631 float num3;
7633 if (activeSound != null)
7634 {
7635 Vector2 center2 = base.Center;
7636 if (num == 0)
7637 {
7638 }
7639 return;
7640 }
7641 int num4 = 17302;
7642 this.Kill();
7643 Vector2 top = base.Top;
7644 Vector2 bottom = base.Bottom;
7645 if (num4 == 0)
7646 {
7647 }
7648 Vector2 center3 = base.Center;
7649 int height = this.height;
7650 float y = this.position.Y;
7651 int num5 = 49952;
7652 if (num5 == 0)
7653 {
7654 }
7655 if (num5 == 0)
7656 {
7657 }
7658 float y2 = this.velocity.Y;
7659 }
7660
7661 // Token: 0x06002720 RID: 10016 RVA: 0x001834C0 File Offset: 0x001816C0
7663 {
7664 if (!true)
7665 {
7666 }
7667 int num = 63488;
7668 Vector2 top = base.Top;
7669 bool flag;
7670 if (!flag)
7671 {
7672 }
7673 int num2 = 1;
7674 if (num2 == 0)
7675 {
7676 }
7677 if (num2 == 0)
7678 {
7679 }
7680 if (num2 == 0)
7681 {
7682 }
7683 if (!true)
7684 {
7685 }
7686 if (num == 0)
7687 {
7688 }
7689 Vector2 vector;
7690 float num3 = vector.Length();
7692 float num4 = vector2.Length();
7693 bool flag2;
7694 if (!flag2)
7695 {
7696 }
7697 bool flag3;
7698 return flag3;
7699 }
7700
7701 // Token: 0x06002721 RID: 10017 RVA: 0x00183544 File Offset: 0x00181744
7703 {
7704 /*
7705An exception occurred when decompiling this method (06002721)
7706
7707ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Point Terraria.Projectile::GetScarabBombDigDirectionSnap8()
7708
7709 ---> System.Exception: Basic block has to end with unconditional control flow.
7710{
7711 IL_0008:
7712 brtrue(IL_0000, ldloc:int32[exp:bool](var_0_01))
7713}
7714
7715 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
7716 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
7717 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
7718 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
7719 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
7720 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
7721 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
7722 --- End of inner exception stack trace ---
7723 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
7724 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
7725*/;
7726 }
7727
7728 // Token: 0x06002722 RID: 10018 RVA: 0x0018355C File Offset: 0x0018175C
7730 {
7731 if (!true)
7732 {
7733 return;
7734 }
7735 }
7736
7737 // Token: 0x06002723 RID: 10019 RVA: 0x00183578 File Offset: 0x00181778
7739 {
7740 if (!true)
7741 {
7742 }
7743 Tile tile;
7744 bool flag = tile.active();
7745 if (!true)
7746 {
7747 }
7748 Vector2 vector = pt.ToVector2();
7749 }
7750
7751 // Token: 0x06002724 RID: 10020 RVA: 0x0018359C File Offset: 0x0018179C
7752 public bool IsAttachedTo(NPC npc)
7753 {
7754 /*
7755An exception occurred when decompiling this method (06002724)
7756
7757ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Projectile::IsAttachedTo(Terraria.NPC)
7758
7759 ---> System.Exception: Basic block has to end with unconditional control flow.
7760{
7761 Block_0:
7762 stloc:int32(var_0_06, ldfld:int32(Projectile::aiStyle, ldloc:Projectile(this)))
7763 stloc:int32(var_5_11, ldfld:int32(Entity::whoAmI, ldloc:NPC[exp:Entity](npc)))
7764}
7765
7766 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
7767 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
7768 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
7769 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
7770 --- End of inner exception stack trace ---
7771 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
7772 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
7773*/;
7774 }
7775
7776 // Token: 0x06002725 RID: 10021 RVA: 0x001835C0 File Offset: 0x001817C0
7777 private void BoulderExplosion()
7778 {
7779 if (!true)
7780 {
7781 }
7782 int num = this.damage;
7784 Vector2 center = base.Center;
7785 Vector2 center2 = base.Center;
7786 int myPlayer = Main.myPlayer;
7787 }
7788
7789 // Token: 0x06002726 RID: 10022 RVA: 0x00183604 File Offset: 0x00181804
7790 private void SpawnWebs()
7791 {
7792 Vector2 center = base.Center;
7793 int num = 15744;
7794 int num2 = 32640;
7795 Vector2 center2 = base.Center;
7796 if (num == 0)
7797 {
7798 }
7799 if (num2 != 0)
7800 {
7801 return;
7802 }
7803 if (num == 0)
7804 {
7805 }
7806 if (num2 == 0)
7807 {
7808 }
7809 Tile tile;
7810 bool flag = tile.active();
7811 int num3;
7812 if (num3 != 0)
7813 {
7814 Tile tile2;
7815 bool flag2 = tile2.active();
7816 bool netHost = Main.NetHost;
7817 }
7818 }
7819
7820 // Token: 0x06002727 RID: 10023 RVA: 0x00183664 File Offset: 0x00181864
7821 public void Kill()
7822 {
7823 bool active = this.active;
7824 if (active)
7825 {
7826 if (!active)
7827 {
7828 }
7829 int whoAmI = this.whoAmI;
7830 int num = this.type;
7831 float y = this.oldPosition.Y;
7832 return;
7833 }
7834 }
7835
7836 // Token: 0x06002728 RID: 10024 RVA: 0x0018BC3C File Offset: 0x00189E3C
7837 private void DropGeodeGems()
7838 {
7839 }
7840
7841 // Token: 0x06002729 RID: 10025 RVA: 0x0018BCBC File Offset: 0x00189EBC
7843 {
7844 int num = this.owner;
7845 if (!true)
7846 {
7847 }
7848 int myPlayer = Main.myPlayer;
7849 }
7850
7851 // Token: 0x0600272A RID: 10026 RVA: 0x0018BCE8 File Offset: 0x00189EE8
7853 {
7854 if (!true)
7855 {
7856 }
7857 Vector2 center = base.Center;
7858 Vector2 center2 = base.Center;
7859 int num = 1;
7860 if (num == 0)
7861 {
7862 }
7863 int num2;
7864 Dust dust = Dust.CloneDust(num2);
7865 float num3 = dust.scale;
7866 float fadeIn = dust.fadeIn;
7867 dust.scale = num3;
7868 dust.fadeIn = fadeIn;
7869 dust.color = num;
7870 Vector2 center3 = base.Center;
7871 if (num == 0)
7872 {
7873 }
7874 Vector2 center4 = base.Center;
7875 int num4;
7877 float num5 = dust2.scale;
7878 float fadeIn2 = dust2.fadeIn;
7879 dust2.scale = num5;
7881 }
7882
7883 // Token: 0x0600272B RID: 10027 RVA: 0x0018BDF8 File Offset: 0x00189FF8
7884 public bool ShouldWallExplode(Vector2 compareSpot, int radius, int minI, int maxI, int minJ, int maxJ)
7885 {
7886 /*
7887An exception occurred when decompiling this method (0600272B)
7888
7889ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Projectile::ShouldWallExplode(Microsoft.Xna.Framework.Vector2,System.Int32,System.Int32,System.Int32,System.Int32,System.Int32)
7890
7891 ---> System.Exception: Basic block has to end with unconditional control flow.
7892{
7893 IL_000C:
7894 stloc:uint16(var_3_12, callgetter:uint16(Tile::get_wall, ldloc:Tile[exp:valuetype Terraria.Tile&](var_2)))
7895}
7896
7897 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
7898 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
7899 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
7900 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
7901 --- End of inner exception stack trace ---
7902 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
7903 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
7904*/;
7905 }
7906
7907 // Token: 0x0600272C RID: 10028 RVA: 0x0018BE18 File Offset: 0x0018A018
7911
7912 // Token: 0x0600272D RID: 10029 RVA: 0x0018BE2C File Offset: 0x0018A02C
7913 public bool CanExplodeTile(int x, int y)
7914 {
7915 /*
7916An exception occurred when decompiling this method (0600272D)
7917
7918ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Projectile::CanExplodeTile(System.Int32,System.Int32)
7919
7920 ---> System.Exception: Basic block has to end with unconditional control flow.
7921{
7922 IL_001A:
7923 stloc:uint16(var_7_24, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_6)))
7924 stloc:int16(var_12_36, callgetter:int16(Tile::get_frameY, ldloc:Tile[exp:valuetype Terraria.Tile&](var_11)))
7925 stloc:int32(var_14_40, callgetter:int32(Main::get_UnderworldLayer))
7926}
7927
7928 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
7929 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
7930 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
7931 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
7932 --- End of inner exception stack trace ---
7933 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
7934 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
7935*/;
7936 }
7937
7938 // Token: 0x0600272E RID: 10030 RVA: 0x0018BE80 File Offset: 0x0018A080
7939 public void ExplodeTiles(Vector2 compareSpot, int radius, int minI, int maxI, int minJ, int maxJ, bool wallSplode)
7940 {
7941 }
7942
7943 // Token: 0x0600272F RID: 10031 RVA: 0x0018BED8 File Offset: 0x0018A0D8
7944 public void ExplodeCrackedTiles(Vector2 compareSpot, int radius, int minI, int maxI, int minJ, int maxJ)
7945 {
7946 int num = 15744;
7947 if (num == 0)
7948 {
7949 }
7950 if (num == 0)
7951 {
7952 }
7953 Tile tile;
7954 bool flag = tile.active();
7955 Tile tile2;
7956 ushort num2 = tile2.type;
7957 long num3 = 0L;
7958 long num4 = 0L;
7959 long num5 = 0L;
7960 WorldGen.KillTile(radius, maxI, num3 != 0L, num4 != 0L, num5 != 0L);
7961 Tile tile3;
7962 bool flag2 = tile3.active();
7963 }
7964
7965 // Token: 0x06002730 RID: 10032 RVA: 0x0018BF28 File Offset: 0x0018A128
7967 {
7968 int num = this.type;
7969 return true;
7970 }
7971
7972 // Token: 0x06002731 RID: 10033 RVA: 0x0018BF40 File Offset: 0x0018A140
7973 public bool IsInteractible()
7974 {
7975 int num = this.type;
7976 return true;
7977 }
7978
7979 // Token: 0x06002732 RID: 10034 RVA: 0x0018BF58 File Offset: 0x0018A158
7981 {
7982 int num2;
7983 do
7984 {
7985 if (this.type == 0)
7986 {
7987 }
7988 int num = this.alpha;
7989 num2 = 50047;
7990 if (num2 == 0)
7991 {
7992 }
7993 }
7994 while (num2 != 0);
7995 if (this.type == 0)
7996 {
7997 }
7998 if (this.type == 0)
7999 {
8000 }
8001 int num3 = this.alpha;
8002 if (50047 == 0)
8003 {
8004 }
8005 int num4 = 210;
8006 int num5 = this.alpha;
8007 int num6 = 50047;
8008 if (num4 == 0)
8009 {
8010 }
8011 if (num4 == 0)
8012 {
8013 }
8014 if (this.type == 0)
8015 {
8016 }
8017 int num7 = this.alpha;
8018 int num8 = this.type;
8019 Vector2 center = base.Center;
8020 if (num8 == 0)
8021 {
8022 }
8023 if (num6 == 0)
8024 {
8025 }
8026 if (num6 == 0)
8027 {
8028 }
8029 int num9 = this.alpha;
8030 int num10 = this.alpha;
8031 if (180 == 0)
8032 {
8033 }
8034 int num11 = this.timeLeft;
8035 if (num10 == 0)
8036 {
8037 }
8038 int num12 = 32768;
8039 int num13 = 64;
8040 if (num13 == 0)
8041 {
8042 }
8043 if (num12 == 0)
8044 {
8045 }
8046 if (num13 == 0)
8047 {
8048 }
8049 if (num13 == 0)
8050 {
8051 }
8052 if (127 == 0)
8053 {
8054 }
8055 int num14 = 255;
8056 int num15 = 32768;
8057 if (num14 == 0)
8058 {
8059 }
8060 if (num14 == 0)
8061 {
8062 }
8063 while (num15 == 0)
8064 {
8065 }
8066 if (num15 == 0)
8067 {
8068 }
8069 if (17279 == 0)
8070 {
8071 }
8072 if (227 == 0)
8073 {
8074 }
8075 Color color2;
8076 float num16;
8077 Color color = color2 * num16;
8078 int num17 = 17096;
8079 if (num17 == 0)
8080 {
8081 }
8082 if (num17 == 0)
8083 {
8084 }
8085 if (50047 == 0)
8086 {
8087 }
8088 int num18 = 255;
8089 if (num18 == 0)
8090 {
8091 }
8092 if (num18 == 0)
8093 {
8094 }
8095 if (num18 == 0)
8096 {
8097 }
8098 if (17279 == 0)
8099 {
8100 }
8101 if (17279 == 0)
8102 {
8103 return;
8104 }
8105 }
8106
8107 // Token: 0x06002733 RID: 10035 RVA: 0x0018C1B0 File Offset: 0x0018A3B0
8108 public override string ToString()
8109 {
8110 string text;
8111 if (("type:" == null || "type:" != null) && (text == null || text != null) && (", name:" == null || ", name:" != null))
8112 {
8113 string name = this.Name;
8114 string text2;
8115 string text3;
8116 string text4;
8117 string text5;
8118 string text6;
8119 if ((name == null || name != null) && (", active:" == null || ", active:" != null) && (text2 == null || text2 != null) && (", whoAmI:" == null || ", whoAmI:" != null) && (text3 == null || text3 != null) && (", identity:" == null || ", identity:" != null) && (text4 == null || text4 != null) && (", ai0:" == null || ", ai0:" != null) && (text5 == null || text5 != null) && (", uuid:" == null || ", uuid:" != null) && (text6 == null || text6 != null))
8120 {
8121 string text7;
8122 return text7;
8123 }
8124 }
8125 throw new ArrayTypeMismatchException();
8126 }
8127
8128 // Token: 0x06002734 RID: 10036 RVA: 0x0018C278 File Offset: 0x0018A478
8129 public Projectile()
8130 {
8131 }
8132
8133 // Token: 0x06002735 RID: 10037 RVA: 0x0018C2D8 File Offset: 0x0018A4D8
8134 // Note: this type is marked as 'beforefieldinit'.
8135 static Projectile()
8136 {
8137 }
8138
8139 // Token: 0x0400330F RID: 13071
8140 private static readonly uint[] perIDStaticNPCImmunity;
8141
8142 // Token: 0x04003310 RID: 13072
8144
8145 // Token: 0x04003311 RID: 13073
8147
8148 // Token: 0x04003312 RID: 13074
8150
8151 // Token: 0x04003313 RID: 13075
8153
8154 // Token: 0x04003314 RID: 13076
8155 private static float[] _CompanionCubeScreamCooldown;
8156
8157 // Token: 0x04003315 RID: 13077
8158 public const int SentryLifeTime = 36000;
8159
8160 // Token: 0x04003316 RID: 13078
8161 public const int ArrowLifeTime = 1200;
8162
8163 // Token: 0x04003317 RID: 13079
8164 public float ownerHitCheckDistance = (float)17530;
8165
8166 // Token: 0x04003318 RID: 13080
8167 public bool arrow;
8168
8169 // Token: 0x04003319 RID: 13081
8170 public int numHits;
8171
8172 // Token: 0x0400331A RID: 13082
8173 public bool bobber;
8174
8175 // Token: 0x0400331B RID: 13083
8176 public bool netImportant;
8177
8178 // Token: 0x0400331C RID: 13084
8179 public bool noDropItem;
8180
8181 // Token: 0x0400331D RID: 13085
8182 public static int maxAI;
8183
8184 // Token: 0x0400331E RID: 13086
8185 public bool counterweight;
8186
8187 // Token: 0x0400331F RID: 13087
8188 public float scale = (float)16256;
8189
8190 // Token: 0x04003320 RID: 13088
8191 public float rotation;
8192
8193 // Token: 0x04003321 RID: 13089
8194 public int type;
8195
8196 // Token: 0x04003322 RID: 13090
8197 public int alpha;
8198
8199 // Token: 0x04003323 RID: 13091
8200 public bool sentry;
8201
8202 // Token: 0x04003324 RID: 13092
8203 public short glowMask;
8204
8205 // Token: 0x04003325 RID: 13093
8206 public int owner = 255;
8207
8208 // Token: 0x04003326 RID: 13094
8210
8211 // Token: 0x04003327 RID: 13095
8213
8214 // Token: 0x04003328 RID: 13096
8215 public float gfxOffY;
8216
8217 // Token: 0x04003329 RID: 13097
8218 public float stepSpeed = (float)16256;
8219
8220 // Token: 0x0400332A RID: 13098
8221 public int aiStyle;
8222
8223 // Token: 0x0400332B RID: 13099
8224 public int timeLeft;
8225
8226 // Token: 0x0400332C RID: 13100
8227 public int soundDelay;
8228
8229 // Token: 0x0400332D RID: 13101
8230 public int damage;
8231
8232 // Token: 0x0400332E RID: 13102
8233 public int originalDamage;
8234
8235 // Token: 0x0400332F RID: 13103
8236 public int spriteDirection = 1;
8237
8238 // Token: 0x04003330 RID: 13104
8239 public bool hostile;
8240
8241 // Token: 0x04003331 RID: 13105
8242 public bool reflected;
8243
8244 // Token: 0x04003332 RID: 13106
8245 public float knockBack;
8246
8247 // Token: 0x04003333 RID: 13107
8248 public bool friendly;
8249
8250 // Token: 0x04003334 RID: 13108
8251 public int penetrate = 1;
8252
8253 // Token: 0x04003335 RID: 13109
8255
8256 // Token: 0x04003336 RID: 13110
8258
8259 // Token: 0x04003337 RID: 13111
8261
8262 // Token: 0x04003338 RID: 13112
8264
8265 // Token: 0x04003339 RID: 13113
8266 public int maxPenetrate = 1;
8267
8268 // Token: 0x0400333A RID: 13114
8269 public int identity;
8270
8271 // Token: 0x0400333B RID: 13115
8272 public float light;
8273
8274 // Token: 0x0400333C RID: 13116
8275 public bool netUpdate;
8276
8277 // Token: 0x0400333D RID: 13117
8278 public bool netUpdate2;
8279
8280 // Token: 0x0400333E RID: 13118
8281 public int netSpam;
8282
8283 // Token: 0x0400333F RID: 13119
8284 public Vector2[] oldPos;
8285
8286 // Token: 0x04003340 RID: 13120
8287 public float[] oldRot;
8288
8289 // Token: 0x04003341 RID: 13121
8291
8292 // Token: 0x04003342 RID: 13122
8293 public bool minion;
8294
8295 // Token: 0x04003343 RID: 13123
8296 public float minionSlots;
8297
8298 // Token: 0x04003344 RID: 13124
8299 public int minionPos;
8300
8301 // Token: 0x04003345 RID: 13125
8302 public int restrikeDelay;
8303
8304 // Token: 0x04003346 RID: 13126
8305 public bool tileCollide;
8306
8307 // Token: 0x04003347 RID: 13127
8308 public int extraUpdates;
8309
8310 // Token: 0x04003348 RID: 13128
8312
8313 // Token: 0x04003349 RID: 13129
8314 public int numUpdates;
8315
8316 // Token: 0x0400334A RID: 13130
8317 public bool ignoreWater;
8318
8319 // Token: 0x0400334B RID: 13131
8320 public bool isAPreviewDummy;
8321
8322 // Token: 0x0400334C RID: 13132
8323 public bool hide;
8324
8325 // Token: 0x0400334D RID: 13133
8326 public bool ownerHitCheck;
8327
8328 // Token: 0x0400334E RID: 13134
8330
8331 // Token: 0x0400334F RID: 13135
8333
8334 // Token: 0x04003350 RID: 13136
8335 public string miscText = "";
8336
8337 // Token: 0x04003351 RID: 13137
8338 public bool melee;
8339
8340 // Token: 0x04003352 RID: 13138
8341 public bool ranged;
8342
8343 // Token: 0x04003353 RID: 13139
8344 public bool magic;
8345
8346 // Token: 0x04003354 RID: 13140
8347 public bool coldDamage;
8348
8349 // Token: 0x04003355 RID: 13141
8350 public bool noEnchantments;
8351
8352 // Token: 0x04003356 RID: 13142
8354
8355 // Token: 0x04003357 RID: 13143
8356 public bool trap;
8357
8358 // Token: 0x04003358 RID: 13144
8359 public bool npcProj;
8360
8361 // Token: 0x04003359 RID: 13145
8363
8364 // Token: 0x0400335A RID: 13146
8365 public int frameCounter;
8366
8367 // Token: 0x0400335B RID: 13147
8368 public int frame;
8369
8370 // Token: 0x0400335C RID: 13148
8372
8373 // Token: 0x0400335D RID: 13149
8374 public int projUUID;
8375
8376 // Token: 0x0400335E RID: 13150
8378
8379 // Token: 0x0400335F RID: 13151
8381
8382 // Token: 0x04003360 RID: 13152
8384
8385 // Token: 0x04003361 RID: 13153
8387
8388 // Token: 0x04003362 RID: 13154
8390
8391 // Token: 0x04003363 RID: 13155
8393
8394 // Token: 0x04003364 RID: 13156
8396
8397 // Token: 0x04003365 RID: 13157
8398 private static int[] npcCrystalDartList;
8399
8400 // Token: 0x04003366 RID: 13158
8402
8403 // Token: 0x04003367 RID: 13159
8404 private static Point[] DaybreakJavelins;
8405
8406 // Token: 0x04003368 RID: 13160
8407 private static Point[] BoneJavelinJavelins;
8408
8409 // Token: 0x04003369 RID: 13161
8411
8412 // Token: 0x0400336A RID: 13162
8414
8415 // Token: 0x0400336B RID: 13163
8417
8418 // Token: 0x0400336C RID: 13164
8420
8421 // Token: 0x0200041E RID: 1054
8422 private class NPCDistanceByIndexComparator : IComparer<Tuple<int, float>>
8423 {
8424 // Token: 0x06002736 RID: 10038 RVA: 0x000021DB File Offset: 0x000003DB
8426 {
8427 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
8428 }
8429
8430 // Token: 0x06002737 RID: 10039 RVA: 0x0018C2EC File Offset: 0x0018A4EC
8432 {
8433 }
8434 }
8435
8436 // Token: 0x0200041F RID: 1055
8438 {
8439 // Token: 0x06002738 RID: 10040 RVA: 0x0018C300 File Offset: 0x0018A500
8441 {
8442 /*
8443An exception occurred when decompiling this method (06002738)
8444
8445ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Projectile/HallowBossPelletStormInfo::GetBulletProgress(System.Int32)
8446
8447 ---> System.Exception: Basic block has to end with unconditional control flow.
8448{
8449 Block_0:
8450 stloc:float32(var_0_06, ldfld:float32(HallowBossPelletStormInfo::BulletsProgressInStormStartNormalized, ldloc:valuetype Terraria.Projectile/HallowBossPelletStormInfo&(this)))
8451 stloc:float32(var_1_0D, ldfld:float32(HallowBossPelletStormInfo::BulletsProgressInStormBonusByIndexNormalized, ldloc:valuetype Terraria.Projectile/HallowBossPelletStormInfo&(this)))
8452}
8453
8454 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
8455 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
8456 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
8457 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
8458 --- End of inner exception stack trace ---
8459 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
8460 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
8461*/;
8462 }
8463
8464 // Token: 0x06002739 RID: 10041 RVA: 0x0018C31C File Offset: 0x0018A51C
8465 public bool IsValid(int bulletIndex)
8466 {
8467 /*
8468An exception occurred when decompiling this method (06002739)
8469
8470ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Projectile/HallowBossPelletStormInfo::IsValid(System.Int32)
8471
8472 ---> System.Exception: Basic block has to end with unconditional control flow.
8473{
8474 Block_0:
8475 stloc:float32(var_0_06, ldfld:float32(HallowBossPelletStormInfo::BulletsProgressInStormStartNormalized, ldloc:valuetype Terraria.Projectile/HallowBossPelletStormInfo&(this)))
8476 stloc:float32(var_1_0D, ldfld:float32(HallowBossPelletStormInfo::BulletsProgressInStormBonusByIndexNormalized, ldloc:valuetype Terraria.Projectile/HallowBossPelletStormInfo&(this)))
8477}
8478
8479 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
8480 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
8481 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
8482 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
8483 --- End of inner exception stack trace ---
8484 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
8485 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
8486*/;
8487 }
8488
8489 // Token: 0x0600273A RID: 10042 RVA: 0x0018C338 File Offset: 0x0018A538
8491 {
8492 if (!true)
8493 {
8494 }
8495 if (!true)
8496 {
8497 }
8498 float startAngle = this.StartAngle;
8499 float anglePerBullet = this.AnglePerBullet;
8500 if (!true)
8501 {
8502 }
8503 float stormTotalRange = this.StormTotalRange;
8506 return 1;
8507 }
8508
8509 // Token: 0x0600273B RID: 10043 RVA: 0x0018C380 File Offset: 0x0018A580
8511 {
8513 float x = this.BulletSize.X;
8514 float y = this.BulletSize.Y;
8515 if (!true)
8516 {
8517 }
8519 return rectangle;
8520 }
8521
8522 // Token: 0x0400336D RID: 13165
8523 public float StartAngle;
8524
8525 // Token: 0x0400336E RID: 13166
8526 public float AnglePerBullet;
8527
8528 // Token: 0x0400336F RID: 13167
8529 public int BulletsInStorm;
8530
8531 // Token: 0x04003370 RID: 13168
8533
8534 // Token: 0x04003371 RID: 13169
8536
8537 // Token: 0x04003372 RID: 13170
8538 public float StormTotalRange;
8539
8540 // Token: 0x04003373 RID: 13171
8542 }
8543 }
8544}
class f__AnonymousType0<< Count > j__TPar
static float Lerp(float value1, float value2, float amount)
Definition MathHelper.cs:61
static float WrapAngle(float angle)
static float Clamp(float value, float min, float max)
Definition MathHelper.cs:22
static int Sign(double value)
Definition Math.cs:252
static byte Max(byte val1, byte val2)
Definition Math.cs:111
static ActiveSound GetActiveSound(SlotId id)
Vector2 position
Definition Dust.cs:438
static Dust CloneDust(int dustIndex)
Definition Dust.cs:94
static int dustWater()
Definition Dust.cs:275
float scale
Definition Dust.cs:450
float fadeIn
Definition Dust.cs:444
Vector2 velocity
Definition Dust.cs:441
Vector2 oldPosition
Definition Entity.cs:466
Vector2 Center
Definition Entity.cs:134
bool shimmerWet
Definition Entity.cs:487
Vector2 velocity
Definition Entity.cs:463
Vector2 position
Definition Entity.cs:460
Vector2 oldVelocity
Definition Entity.cs:469
static Color GetPortalColor(int colorIndex)
static LocalizedText GetProjectileName(int type)
Definition Lang.cs:470
static string GetTextValue(string key)
Definition Language.cs:54
static bool NetHost
Definition Main.cs:5544
static bool anglerQuestFinished
Definition Main.cs:2603
static int myPlayer
Definition Main.cs:2337
static bool expertMode
Definition Main.cs:4186
static Microsoft.Xna.Framework.Vector2 screenPosition
Definition Main.cs:1973
static int screenHeight
Definition Main.cs:2015
static DroneCameraTracker DroneCameraTracker
Definition Main.cs:2631
static Microsoft.Xna.Framework.Graphics.Color hslToRgb(Microsoft.Xna.Framework.Vector3 hslVector)
Definition Main.cs:13783
static int screenWidth
Definition Main.cs:2001
static Microsoft.Xna.Framework.Vector2 MouseWorld
Definition Main.cs:4456
static int mouseY
Definition Main.cs:601
static Player LocalPlayer
Definition Main.cs:5267
static bool mapFullscreen
Definition Main.cs:1441
static Microsoft.Xna.Framework.Vector2 GetPlayerArmPosition(Projectile proj)
Definition Main.cs:10755
static int mouseX
Definition Main.cs:587
bool CanBeChasedBy([Optional] object attacker, bool ignoreDontTakeDamage=false)
Definition NPC.cs:7266
static bool AnyNPCs(int Type)
Definition NPC.cs:7102
Rectangle bodyFrame
Definition Player.cs:21440
Microsoft.Xna.Framework.Vector2 MountedCenter
Definition Player.cs:369
int Compare(Tuple< int, float > npcIndex1, Tuple< int, float > npcIndex2)
float AI_061_FishingBobber_GetWaterLine(int X, int Y)
void AI_155_MysticSnakeCoil()
void ProjectileFixDesperation()
void FishingCheck_ProbeForQuestFish(FishingAttempt fisher)
void AI_173_HallowBossRainbowTrail()
void CreateImpactExplosion2_SleepyOctopod(Vector2 explosionOrigin, bool causedShockwaves)
void AI_061_FishingBobber_DoASplash()
int AI_134_Ballista_FindTarget(float shot_range, float deadBottomAngle, Vector2 shootingSpot)
Projectile FindStardustDragonHeadOfOwner()
void AI_187_ShadowHand_GetVariation([Out] int variation, [Out] float fakeCounter, [Out] float counterMax)
void AI_067_FreakingPirates()
void UpdatePosition(Vector2 wetVelocity)
static int GetBallistraShotDelay(Player player)
void AI_009_MagicMissiles_Old()
static void KillOldestJavelin(int protectedProjectileIndex, int projectileType, int targetNPCIndex, Point[] bufferForScan)
void DoRainbowCrystalStaffExplosion()
static List< Tuple< int, float > > _medusaHeadTargetList
Point GetScarabBombDigDirectionSnap8()
void HandleMovement(Vector2 wetVelocity, [Out] int overrideWidth, [Out] int overrideHeight)
int AI_130_FlameBurstTower_FindTarget(float shot_range, float angleRatioMax, Vector2 shootingSpot, bool canChangeDirection=true)
void ghostHeal(int dmg, Vector2 Position, Entity victim)
DictionaryIntArray playerImmune
static Conditions.NotNull _cachedConditions_notNull
static List< int > _ai164_blacklistedTargets
static Point[] StardustCellMinionShotJavelins
bool AI_019_Spears_GetExtensionHitbox([Out] Rectangle extensionBox)
void AI_180_FairyQueenSunDance()
static void InitializeStaticThings()
Definition Projectile.cs:37
static List< int > _ai156_blacklistedTargets
bool IsInRangeOfMeOrMyOwner(Entity entity, float maxDistance, [Out] float myDistance, [Out] float playerDistance, [Out] bool closerIsMe)
IEntitySource GetItemSource_OnHit(Entity victim, int itemSourceId)
IEntitySource GetProjectileSource_FromThis()
void CheckUsability(Player player, bool currentlyUsable)
bool stopsDealingDamageAfterPenetrateHits
int CountEnemiesWhoAreImmuneToMeRightNow(int cap)
bool CanExplodeTile(int x, int y)
int FindTargetWithLineOfSight(float maxRange=800f)
IEntitySource GetItemSource_DropAsItem()
Color GetFirstFractalColor()
void CreateGroundExplosion(float MAX_SPREAD, int fluff, int distFluff, int layerStart, int layerEnd, int layerJump)
void BombsHurtPlayers(Rectangle projRectangle, int j)
void Update(int i)
static void FillWhipControlPoints(Projectile proj, List< Vector2 > controlPoints)
void EmitEnchantmentVisualsAt(Vector2 boxPosition, int boxWidth, int boxHeight)
void ReduceRemainingChumsInPool()
bool CanHitWithOwnBody(Entity ent)
NPC FindTargetWithinRange(float maxRange, bool checkCanHit=false)
IEntitySource GetProjectileSource_OnHit(Entity victim, int projectileSourceId)
void ExplodeCrackedTiles(Vector2 compareSpot, int radius, int minI, int maxI, int minJ, int maxJ)
void AI_155_SpawnRopeIn(int x, int y)
static float[] _CompanionCubeScreamCooldown
static Vector2 AI_158_GetHomeLocation(Player master, int stackedIndex)
void SetDefaults(int Type)
bool AI_067_TigerSpecialAttack()
static void GetFishingPondState(int x, int y, [Out] bool lava, [Out] bool honey, [Out] int numWaters, [Out] int chumCount)
void AI_156_Think(List< int > blacklist)
void TryGettingHitByOtherPlayersExplosives()
void AI_179_FairyQueenLance()
static IEntitySource GetNoneSource()
static Point[] BoneJavelinJavelins
void AI_GetMyGroupIndexAndFillBlackList(List< int > blackListedTargets, [Out] int index, [Out] int totalIndexesInGroup)
const int SentryLifeTime
void AI_142_MonkStaffT2And3()
override string ToString()
static Rectangle _lanceHitboxBounds
void AI_192_JuminoAnimation()
static Vector2 AI_164_GetHomeLocation(Player master, int stackedIndex, int totalIndexes)
void SummonSuperStarSlash(Vector2 target)
void vampireHeal(int dmg, Vector2 Position, Entity victim)
static Projectile.NPCDistanceByIndexComparator _medusaTargetComparer
void TryDoingOnHitEffects(Entity entity)
static void FindBannerToAssociateTo(IEntitySource spawnSource, Projectile next)
bool AutomaticallyChangesDirection()
void AI_015_HandleMovementCollision_Old(Vector2 wetVelocity, Vector2 lastVelocity)
void CreateImpactExplosion(int dustAmountMultiplier, Vector2 explosionOrigin, Point scanAreaStart, Point scanAreaEnd, int explosionRange, [Out] bool causedShockwaves)
static Conditions.IsSolid _cachedConditions_solid
Rectangle getRect()
static Color GetGolfTrailColor(Projectile proj)
void MakeBoulderOfEarthExplosion()
static Point[] DaybreakJavelins
bool TurretShouldPersist()
Definition Projectile.cs:98
void AI_120_StardustGuardian()
static int GetNextSlot()
void BetsySharpnel(int npcIndex)
static List< int > ai92Projectiles
bool appliesImmunityTimeOnSingleHits
bool ShouldWallExplode(Vector2 compareSpot, int radius, int minI, int maxI, int minJ, int maxJ)
static void EmitBlackLightningParticles(NPC targetNPC)
static void UseGasTrapInChest(int chestIndex, Chest theChest, int gasTrapIndex, int gasOffsetX, int gasOffsetY)
static void GetFishingPondWidth(int x, int y, [Out] int minX, [Out] int maxX)
void ghostHurt(int dmg, Vector2 Position, Entity victim)
Color GetFairyQueenWeaponsColor(float alphaChannelMultiplier=1f, float lerpToWhite=0f, [Optional] float? rawHueOverride)
void StatusPlayer(int i)
void Kill_DirtAndFluidProjectiles_RunDelegateMethodPushUpForHalfBricks(Point pt, float size, Utils.TileActionAttempt plot)
void AI_066_TryInterceptingTarget(Vector2 targetDir, Vector2 targetVelocity, float speed)
void ResetLocalNPCHitImmunity()
void ExplodeTiles(Vector2 compareSpot, int radius, int minI, int maxI, int minJ, int maxJ, bool wallSplode)
void FishingCheck_RollDropLevels(int fishingLevel, [Out] bool common, [Out] bool uncommon, [Out] bool rare, [Out] bool veryrare, [Out] bool legendary, [Out] bool crate)
void AI_139_ExplosiveTrapExplosion()
FloatArray_3 localAI
Color GetAlpha(Color newColor)
void AI_141_MonkStaffT1Explosion()
DictionaryIntArray localNPCImmunity
bool CanHitWithMeleeWeapon(Entity ent)
bool Chester_IsAnyPlayerTrackingThisProjectile()
void AI_181_FairyQueenRangedItemShot()
void AI_175_TitaniumStormShards()
static int GetByUUID(int owner, float uuid)
static int GetExplosiveTrapCooldown(Player player)
Projectile.HallowBossPelletStormInfo AI_172_GetPelletStormInfo(int stormIndex)
void AI_172_HallowBossRainbowPelletStorm()
void Interrupt(Player player)
IEntitySource GetNPCSource_FromThis()
static bool IsNPCIndexImmuneToProjectileType(int projectileType, int npcIndex)
Definition Projectile.cs:50
void AI_155_RemoveRope(Point start, Point end)
int AI_172_GetPelletStormsCount()
void Resize(int newWidth, int newHeight)
void AI_120_StardustGuardian_FindTarget(float lookupRange, int targetNPCIndex, float distanceToClosestTarget)
void Minion_FindTargetInRange(int startAttackRange, int attackTarget, bool skipIfCannotHitWithOwnBody, [Optional] Func< Entity, int, bool > customEliminationCheck)
void UpdateEnchantmentVisuals()
static void GetWhipSettings(Projectile proj, [Out] float timeToFlyOut, [Out] int segments, [Out] float rangeMultiplier)
void CopyLocalNPCImmunityTimes(Projectile p)
bool AI_067_CustomEliminationCheck_Pirates(Entity otherEntity, int currentTarget)
List< Vector2 > WhipPointsForCollision
static int[] npcCrystalDartList
bool Colliding(Rectangle myRect, Rectangle targetRect)
void AI_183_ZoologistStrike()
void AI_015_HandleMovementCollision(Vector2 wetVelocity, Vector2 lastVelocity)
int AI_156_TryAttackingNPCs(List< int > blackListedTargets, bool skipBodyCheck=false)
bool AI_007_GrapplingHooks_CanTileBeLatchedOnTo(Tile theTile)
void AI_015_Flails_Dust(bool doFastThrowDust)
void AI_047_MagnetSphere_TryAttacking()
void FishingCheck_RollEnemySpawns(FishingAttempt fisher)
static void AI_192_GetJuminoFall(Projectile proj, [Out] float timeSinceFall, [Out] float fall)
void AI_130_FlameBurstTower()
void LightDisc_Bounce(Vector2 hitPoint, Vector2 normal)
IEntitySource GetItemSource_FromThis()
static int FindOldestProjectile()
void StatusPvP(int i)
static int NewProjectile(IEntitySource spawnSource, float X, float Y, float SpeedX, float SpeedY, int Type, int Damage, float KnockBack, int Owner=-1, float ai0=0f, float ai1=0f, float ai2=0f)
static List< int > _ai158_blacklistedTargets
void StatusNPC(int i)
void AI_194_HorsemanPumpkin()
void AI_143_MonkStaffT2Ghast()
bool TryGetContainerIndex([Out] int containerIndex)
Color GetFloatingDaggerMinionGlowColor()
float GetLastPrismHue(float laserIndex, float laserLuminance, float laserAlphaMultiplier)
void AI_174_MultisegmentPet()
void CutTilesAt(Vector2 boxPosition, int boxWidth, int boxHeight)
const int ArrowLifeTime
static void RandomizeInsanityShadowFor(Entity targetEntity, bool isHostile, [Out] Vector2 spawnposition, [Out] Vector2 spawnvelocity, [Out] float ai0, [Out] float ai1)
static bool GasTrapCheck(int x, int y, Player user)
bool AI_137_CanHit(Vector2 targetPosition)
bool IsAttachedTo(NPC npc)
void CreateImpactExplosion2_FlailTileCollision(Vector2 explosionOrigin, bool causedShockwaves, Vector2 velocityBeforeCollision)
void FishingCheck_RollItemDrop(FishingAttempt fisher)
void AI_156_GetIdlePosition(int stackedIndex, int totalIndexes, [Out] Vector2 idleSpot, [Out] float idleRotation)
static int GetByUUID(int owner, int uuid)
bool IsInterruptible(Player player)
static IEntitySource InheritSource(Projectile projectile)
Rectangle Damage_GetHitbox()
void AI_061_FishingBobber_GiveItemToPlayer(Player thePlayer, int itemType)
static void ResetImmunity()
Definition Projectile.cs:42
void AI_171_HallowBossRainbowStreak()
static int NewProjectile(IEntitySource spawnSource, Vector2 position, Vector2 velocity, int Type, int Damage, float KnockBack, int Owner=-1, float ai0=0f, float ai1=0f, float ai2=0f)
static readonly uint[] perIDStaticNPCImmunity
static void StarFall(float positionX)
Definition Star.cs:41
static float GetLerpValue(float from, float to, float t, bool clamped=false)
Definition Utils.cs:182
static bool SolidTile(short tileSHeader, ushort tileType)
static void KillTile(int i, int j, bool fail=false, bool effectOnly=false, bool noItem=false)
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
static SlotId FromFloat(float value)
Definition SlotId.cs:102
static FinalFractalHelper.FinalFractalProfile GetFinalFractalProfile(int usedSwordId)
Vector2 GetBulletPosition(int bulletIndex, Vector2 centerPoint)
Rectangle GetBulletHitbox(int bulletIndex, Vector2 centerPoint)
byte liquid
Definition Tile.cs:110
ushort type
Definition Tile.cs:58
bool active()
Definition Tile.cs:1241
bool honey()
Definition Tile.cs:875
bool lava()
Definition Tile.cs:845
bool shimmer()
Definition Tile.cs:905