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
Mount.cs
Go to the documentation of this file.
1using System;
11
12namespace Terraria
13{
14 // Token: 0x02000441 RID: 1089
15 public class Mount
16 {
17 // Token: 0x06002904 RID: 10500 RVA: 0x00197A68 File Offset: 0x00195C68
18 private static void MeowcartLandingSound(Player Player, Vector2 Position, int Width, int Height)
19 {
20 }
21
22 // Token: 0x06002905 RID: 10501 RVA: 0x00197A78 File Offset: 0x00195C78
23 private static void MeowcartBumperSound(Player Player, Vector2 Position, int Width, int Height)
24 {
25 }
26
27 // Token: 0x06002906 RID: 10502 RVA: 0x00197A88 File Offset: 0x00195C88
28 public Mount()
29 {
30 long num = 0L;
31 this._type = 1;
32 this._idleTime = (int)num;
33 }
34
35 // Token: 0x06002907 RID: 10503 RVA: 0x00197AAC File Offset: 0x00195CAC
36 public void Reset()
37 {
38 long num = 0L;
39 this._idleTime = (int)num;
40 }
41
42 // Token: 0x06002908 RID: 10504 RVA: 0x000021DB File Offset: 0x000003DB
43 public static void Initialize()
44 {
45 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
46 }
47
48 // Token: 0x06002909 RID: 10505 RVA: 0x00197AC4 File Offset: 0x00195CC4
49 private static void SetAsHorse(Mount.MountData newMount, int buff, Asset<Texture2D> texture)
50 {
51 int num9;
52 do
53 {
54 int num = 3;
56 long num2 = 6L;
57 int num3 = 34;
58 int num4 = 16;
60 newMount.extraBuff = buff;
63 int num5 = 28;
65 long num6 = 7L;
66 int num7 = 40;
69 int num8 = 1;
70 num9 = 12;
74 if (num9 == 0)
75 {
76 }
78 newMount.backTexture = texture;
79 }
80 while (num9 != 0);
81 int num10 = Utils.Width(newMount.backTexture);
82 Asset<Texture2D> backTexture = newMount.backTexture;
84 int num11 = Utils.Height(backTexture);
86 }
87
88 // Token: 0x0600290A RID: 10506 RVA: 0x00197B94 File Offset: 0x00195D94
90 {
91 int num = 1;
92 newMount.Minecart = num != 0;
93 int num2 = 213;
95 long num3 = 15L;
96 int num4 = 10;
97 int num5 = 3;
99 newMount.blockExtraJumps = num != 0;
104 long num6 = 3L;
105 newMount.xOffset = num;
108 newMount.frontTexture = texture;
109 int num7 = Utils.Width(texture);
110 Asset<Texture2D> frontTexture = newMount.frontTexture;
112 int num8 = Utils.Height(frontTexture);
114 }
115
116 // Token: 0x170005A6 RID: 1446
117 // (get) Token: 0x0600290B RID: 10507 RVA: 0x00197C40 File Offset: 0x00195E40
118 public bool Active
119 {
120 get
121 {
122 return this._active;
123 }
124 }
125
126 // Token: 0x170005A7 RID: 1447
127 // (get) Token: 0x0600290C RID: 10508 RVA: 0x00197C54 File Offset: 0x00195E54
128 public int Type
129 {
130 get
131 {
132 return this._type;
133 }
134 }
135
136 // Token: 0x170005A8 RID: 1448
137 // (get) Token: 0x0600290D RID: 10509 RVA: 0x00197C68 File Offset: 0x00195E68
138 public int FlyTime
139 {
140 get
141 {
142 return this._flyTime;
143 }
144 }
145
146 // Token: 0x170005A9 RID: 1449
147 // (get) Token: 0x0600290E RID: 10510 RVA: 0x00197C7C File Offset: 0x00195E7C
148 public int BuffType
149 {
150 get
151 {
152 return this._data.buff;
153 }
154 }
155
156 // Token: 0x170005AA RID: 1450
157 // (get) Token: 0x0600290F RID: 10511 RVA: 0x00197C94 File Offset: 0x00195E94
158 public int BodyFrame
159 {
160 get
161 {
162 return this._data.bodyFrame;
163 }
164 }
165
166 // Token: 0x170005AB RID: 1451
167 // (get) Token: 0x06002910 RID: 10512 RVA: 0x00197CAC File Offset: 0x00195EAC
168 public int XOffset
169 {
170 get
171 {
172 return this._data.xOffset;
173 }
174 }
175
176 // Token: 0x170005AC RID: 1452
177 // (get) Token: 0x06002911 RID: 10513 RVA: 0x00197CC4 File Offset: 0x00195EC4
178 public int YOffset
179 {
180 get
181 {
182 return this._data.yOffset;
183 }
184 }
185
186 // Token: 0x170005AD RID: 1453
187 // (get) Token: 0x06002912 RID: 10514 RVA: 0x00197CDC File Offset: 0x00195EDC
188 public int PlayerXOFfset
189 {
190 get
191 {
192 return this._data.playerXOffset;
193 }
194 }
195
196 // Token: 0x170005AE RID: 1454
197 // (get) Token: 0x06002913 RID: 10515 RVA: 0x00197CF4 File Offset: 0x00195EF4
198 public int PlayerOffset
199 {
200 get
201 {
202 if (this._active)
203 {
204 Mount.MountData data = this._data;
205 int totalFrames = data.totalFrames;
206 int[] playerYOffsets = data.playerYOffsets;
207 return;
208 }
209 }
210 }
211
212 // Token: 0x170005AF RID: 1455
213 // (get) Token: 0x06002914 RID: 10516 RVA: 0x00197D20 File Offset: 0x00195F20
215 {
216 get
217 {
218 /*
219An exception occurred when decompiling this method (06002914)
220
221ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.Mount::get_PlayerOffsetHitbox()
222
223 ---> System.Exception: Basic block has to end with unconditional control flow.
224{
225 IL_001D:
226 stloc:int32(var_4_25, ldfld:int32(MountData::heightBoost, ldloc:MountData(var_0)))
227}
228
229 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
230 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
231 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
232 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
233 --- End of inner exception stack trace ---
234 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
235 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
236*/;
237 }
238 }
239
240 // Token: 0x170005B0 RID: 1456
241 // (get) Token: 0x06002915 RID: 10517 RVA: 0x00197D54 File Offset: 0x00195F54
243 {
244 get
245 {
246 if (this._active)
247 {
248 return this._data.playerHeadOffset;
249 }
250 }
251 }
252
253 // Token: 0x170005B1 RID: 1457
254 // (get) Token: 0x06002916 RID: 10518 RVA: 0x00197D78 File Offset: 0x00195F78
255 public int HeightBoost
256 {
257 get
258 {
259 return this._data.heightBoost;
260 }
261 }
262
263 // Token: 0x06002917 RID: 10519 RVA: 0x00197D90 File Offset: 0x00195F90
264 public static int GetHeightBoost(int MountType)
265 {
266 if (!true)
267 {
268 return;
269 }
270 }
271
272 // Token: 0x170005B2 RID: 1458
273 // (get) Token: 0x06002918 RID: 10520 RVA: 0x00197DA4 File Offset: 0x00195FA4
274 public float RunSpeed
275 {
276 get
277 {
278 /*
279An exception occurred when decompiling this method (06002918)
280
281ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Mount::get_RunSpeed()
282
283 ---> System.Exception: Basic block has to end with unconditional control flow.
284{
285 Block_0:
286 brtrue(IL_0000, ldloc:bool(var_12_71))
287}
288
289 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
290 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
291 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
292 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
293 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
294 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
295 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
296 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
297 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
298 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
299 --- End of inner exception stack trace ---
300 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
301 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
302*/;
303 }
304 }
305
306 // Token: 0x170005B3 RID: 1459
307 // (get) Token: 0x06002919 RID: 10521 RVA: 0x00197E2C File Offset: 0x0019602C
308 public float DashSpeed
309 {
310 get
311 {
312 /*
313An exception occurred when decompiling this method (06002919)
314
315ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Mount::get_DashSpeed()
316
317 ---> System.Exception: Basic block has to end with unconditional control flow.
318{
319 Block_0:
320 brtrue(IL_0000, ldloc:bool(var_0_06))
321}
322
323 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
324 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
325 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
326 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
327 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
328 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
329 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
330 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
331 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
332 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
333 --- End of inner exception stack trace ---
334 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
335 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
336*/;
337 }
338 }
339
340 // Token: 0x170005B4 RID: 1460
341 // (get) Token: 0x0600291A RID: 10522 RVA: 0x00197E48 File Offset: 0x00196048
342 public float Acceleration
343 {
344 get
345 {
346 /*
347An exception occurred when decompiling this method (0600291A)
348
349ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Mount::get_Acceleration()
350
351 ---> System.Exception: Basic block has to end with unconditional control flow.
352{
353 Block_0:
354 brtrue(IL_0000, ldloc:bool(var_0_06))
355}
356
357 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
358 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
359 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
360 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
361 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
362 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
363 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
364 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
365 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
366 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
367 --- End of inner exception stack trace ---
368 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
369 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
370*/;
371 }
372 }
373
374 // Token: 0x170005B5 RID: 1461
375 // (get) Token: 0x0600291B RID: 10523 RVA: 0x00197E64 File Offset: 0x00196064
376 public float FallDamage
377 {
378 get
379 {
380 /*
381An exception occurred when decompiling this method (0600291B)
382
383ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Mount::get_FallDamage()
384
385 ---> System.Exception: Basic block has to end with unconditional control flow.
386{
387 Block_0:
388 stloc:float32(var_0_0B, ldfld:float32(MountData::fallDamage, ldfld:MountData(Mount::_data, ldloc:Mount(this))))
389}
390
391 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
392 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
393 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
394 at ICSharpCode.Decompiler.Ast.AstMethodBodyBuilder.CreateMethodBody(MethodDef methodDef, DecompilerContext context, AutoPropertyProvider autoPropertyProvider, IEnumerable`1 parameters, Boolean valueParameterIsKeyword, StringBuilder sb, MethodDebugInfoBuilder& stmtsBuilder) in D:\a\dnSpy\dnSpy\Extensions\ILSpy.Decompiler\ICSharpCode.Decompiler\ICSharpCode.Decompiler\Ast\AstMethodBodyBuilder.cs:line 88
395 --- End of inner exception stack trace ---
396 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
397 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
398*/;
399 }
400 }
401
402 // Token: 0x0600291C RID: 10524 RVA: 0x00197E7C File Offset: 0x0019607C
403 public int JumpHeight(float xVelocity)
404 {
405 int type;
406 int jumpHeight;
407 do
408 {
409 Mount.MountData data = this._data;
410 type = this._type;
411 jumpHeight = data.jumpHeight;
412 }
413 while (type == 0);
414 if (type == 0)
415 {
416 }
417 if (this._frameState == 0)
418 {
419 }
421 if (!shouldSuperCart || !shouldSuperCart)
422 {
423 }
424 return jumpHeight;
425 }
426
427 // Token: 0x0600291D RID: 10525 RVA: 0x00197EC4 File Offset: 0x001960C4
428 public float JumpSpeed(float xVelocity)
429 {
430 /*
431An exception occurred when decompiling this method (0600291D)
432
433ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Mount::JumpSpeed(System.Single)
434
435 ---> System.Exception: Basic block has to end with unconditional control flow.
436{
437 Block_0:
438 brtrue(IL_0000, ldloc:bool(var_4_22))
439}
440
441 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
442 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
443 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
444 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
445 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
446 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
447 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
448 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
449 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
450 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
451 --- End of inner exception stack trace ---
452 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
453 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
454*/;
455 }
456
457 // Token: 0x170005B6 RID: 1462
458 // (get) Token: 0x0600291E RID: 10526 RVA: 0x00197EFC File Offset: 0x001960FC
459 public bool AutoJump
460 {
461 get
462 {
463 return this._data.constantJump;
464 }
465 }
466
467 // Token: 0x170005B7 RID: 1463
468 // (get) Token: 0x0600291F RID: 10527 RVA: 0x00197F14 File Offset: 0x00196114
469 public bool BlockExtraJumps
470 {
471 get
472 {
473 return this._data.blockExtraJumps;
474 }
475 }
476
477 // Token: 0x170005B8 RID: 1464
478 // (get) Token: 0x06002920 RID: 10528 RVA: 0x00197F2C File Offset: 0x0019612C
480 {
481 get
482 {
483 /*
484An exception occurred when decompiling this method (06002920)
485
486ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Mount::get_IsConsideredASlimeMount()
487
488 ---> System.Exception: Basic block has to end with unconditional control flow.
489{
490 Block_0:
491 stloc:int32(var_0_06, ldfld:int32(Mount::_type, ldloc:Mount(this)))
492}
493
494 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
495 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
496 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
497 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
498 --- End of inner exception stack trace ---
499 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
500 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
501*/;
502 }
503 }
504
505 // Token: 0x170005B9 RID: 1465
506 // (get) Token: 0x06002921 RID: 10529 RVA: 0x00197F40 File Offset: 0x00196140
507 public bool Cart
508 {
509 get
510 {
511 Mount.MountData data = this._data;
512 if (data != null && this._active)
513 {
514 bool minecart = data.Minecart;
515 return;
516 }
517 }
518 }
519
520 // Token: 0x170005BA RID: 1466
521 // (get) Token: 0x06002922 RID: 10530 RVA: 0x00197F68 File Offset: 0x00196168
522 public bool Directional
523 {
524 get
525 {
526 Mount.MountData data = this._data;
527 if (data != null)
528 {
530 }
531 return true;
532 }
533 }
534
535 // Token: 0x170005BB RID: 1467
536 // (get) Token: 0x06002923 RID: 10531 RVA: 0x00197F88 File Offset: 0x00196188
538 {
539 get
540 {
541 /*
542An exception occurred when decompiling this method (06002923)
543
544ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.Mount/MountDelegatesData Terraria.Mount::get_Delegations()
545
546 ---> System.Exception: Basic block has to end with unconditional control flow.
547{
548 Block_0:
549 stloc:MountData(var_0_06, ldfld:MountData(Mount::_data, ldloc:Mount(this)))
550}
551
552 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
553 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
554 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
555 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
556 --- End of inner exception stack trace ---
557 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
558 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
559*/;
560 }
561 }
562
563 // Token: 0x170005BC RID: 1468
564 // (get) Token: 0x06002924 RID: 10532 RVA: 0x00197F9C File Offset: 0x0019619C
566 {
567 get
568 {
569 /*
570An exception occurred when decompiling this method (06002924)
571
572ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.Mount::get_Origin()
573
574 ---> System.Exception: Basic block has to end with unconditional control flow.
575{
576 Block_0:
577 stloc:MountData(var_0_06, ldfld:MountData(Mount::_data, ldloc:Mount(this)))
578 stloc:int32(var_1_0D, ldfld:int32(MountData::textureWidth, ldloc:MountData(var_0_06)))
579 stloc:int32(var_2_14, ldfld:int32(MountData::textureHeight, ldloc:MountData(var_0_06)))
580 stloc:int32(var_3_1B, ldfld:int32(MountData::totalFrames, ldloc:MountData(var_0_06)))
581}
582
583 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
584 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
585 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
586 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
587 --- End of inner exception stack trace ---
588 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
589 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
590*/;
591 }
592 }
593
594 // Token: 0x06002925 RID: 10533 RVA: 0x00197FC4 File Offset: 0x001961C4
595 public bool CanFly()
596 {
597 if (this._active && this._data.flightTimeMax != 0)
598 {
599 int type = this._type;
600 return;
601 }
602 }
603
604 // Token: 0x06002926 RID: 10534 RVA: 0x00197FF0 File Offset: 0x001961F0
605 public bool CanHover()
606 {
607 if (this._active && this._data.usesHover)
608 {
609 int type = this._type;
610 int frameState = this._frameState;
611 }
612 return true;
613 }
614
615 // Token: 0x170005BD RID: 1469
616 // (get) Token: 0x06002927 RID: 10535 RVA: 0x00198024 File Offset: 0x00196224
617 public bool AbilityCharging
618 {
619 get
620 {
621 return this._abilityCharging;
622 }
623 }
624
625 // Token: 0x170005BE RID: 1470
626 // (get) Token: 0x06002928 RID: 10536 RVA: 0x00198038 File Offset: 0x00196238
627 public bool AbilityActive
628 {
629 get
630 {
631 return this._abilityActive;
632 }
633 }
634
635 // Token: 0x170005BF RID: 1471
636 // (get) Token: 0x06002929 RID: 10537 RVA: 0x0019804C File Offset: 0x0019624C
637 public float AbilityCharge
638 {
639 get
640 {
641 /*
642An exception occurred when decompiling this method (06002929)
643
644ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Mount::get_AbilityCharge()
645
646 ---> System.Exception: Basic block has to end with unconditional control flow.
647{
648 Block_0:
649 stloc:MountData(var_0_06, ldfld:MountData(Mount::_data, ldloc:Mount(this)))
650 stloc:int32(var_1_0D, ldfld:int32(Mount::_abilityCharge, ldloc:Mount(this)))
651 stloc:int32(var_2_14, ldfld:int32(MountData::abilityChargeMax, ldloc:MountData(var_0_06)))
652}
653
654 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
655 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
656 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
657 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
658 --- End of inner exception stack trace ---
659 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
660 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
661*/;
662 }
663 }
664
665 // Token: 0x0600292A RID: 10538 RVA: 0x00198070 File Offset: 0x00196270
667 {
668 /*
669An exception occurred when decompiling this method (0600292A)
670
671ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.DataStructures.IEntitySource Terraria.Mount::GetProjectileSpawnSource(Terraria.Player)
672
673 ---> System.Exception: Basic block has to end with unconditional control flow.
674{
675 Block_0:
676 stloc:int32(var_0_06, ldfld:int32(Mount::_type, ldloc:Mount(this)))
677}
678
679 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
680 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
681 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
682 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
683 --- End of inner exception stack trace ---
684 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
685 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
686*/;
687 }
688
689 // Token: 0x0600292B RID: 10539 RVA: 0x00198084 File Offset: 0x00196284
691 {
692 if (!true)
693 {
694 }
695 int myPlayer = Main.myPlayer;
696 int whoAmI = mountedPlayer.whoAmI;
697 if (this._type == 0)
698 {
699 }
700 Vector2 screenPosition = Main.screenPosition;
701 int mouseX = Main.mouseX;
703 int mouseY = Main.mouseY;
704 float x = mountedPlayer.position.X;
705 float y = mountedPlayer.position.Y;
707 int whoAmI2 = mountedPlayer.whoAmI;
708 if (whoAmI == 0)
709 {
710 }
711 }
712
713 // Token: 0x0600292C RID: 10540 RVA: 0x00198108 File Offset: 0x00196308
714 public void StopAbilityCharge()
715 {
716 int type = this._type;
717 Mount.MountData data = this._data;
718 }
719
720 // Token: 0x0600292D RID: 10541 RVA: 0x00198124 File Offset: 0x00196324
721 public bool CheckBuff(int buffID)
722 {
723 Mount.MountData data = this._data;
724 int buff = data.buff;
725 return true;
726 }
727
728 // Token: 0x0600292E RID: 10542 RVA: 0x0019814C File Offset: 0x0019634C
729 public void AbilityRecovery()
730 {
732 int abilityCharge = this._abilityCharge;
733 if (abilityCharging)
734 {
735 int abilityChargeMax = this._data.abilityChargeMax;
736 return;
737 }
739 int abilityCooldown = this._abilityCooldown;
740 this._abilityCooldown = abilityCooldown;
741 int abilityDuration = this._abilityDuration;
742 this._abilityDuration = abilityDuration;
743 }
744
745 // Token: 0x0600292F RID: 10543 RVA: 0x0019819C File Offset: 0x0019639C
746 public void FatigueRecovery()
747 {
748 float fatigue = this._fatigue;
750 }
751
752 // Token: 0x06002930 RID: 10544 RVA: 0x001981B8 File Offset: 0x001963B8
753 public bool Flight()
754 {
755 int flyTime = this._flyTime;
757 return true;
758 }
759
760 // Token: 0x170005C0 RID: 1472
761 // (get) Token: 0x06002931 RID: 10545 RVA: 0x001981D8 File Offset: 0x001963D8
763 {
764 get
765 {
766 int type = this._type;
767 Mount.MountData data = this._data;
768 int abilityCooldown = this._abilityCooldown;
770 return true;
771 }
772 }
773
774 // Token: 0x06002932 RID: 10546 RVA: 0x00198204 File Offset: 0x00196404
775 public void UpdateDrill(Player mountedPlayer, bool controlUp, bool controlDown)
776 {
777 if (this._mountSpecificData != null)
778 {
779 }
780 }
781
782 // Token: 0x06002933 RID: 10547 RVA: 0x00198224 File Offset: 0x00196424
784 {
785 int type = this._type;
786 if (this._abilityActive)
787 {
788 if (this._mountSpecificData != null)
789 {
790 }
791 int whoAmI = mountedPlayer.whoAmI;
792 int myPlayer = Main.myPlayer;
793 bool controlUseItem = mountedPlayer.controlUseItem;
794 if (controlUseItem)
795 {
796 if (!controlUseItem)
797 {
798 }
799 if (!controlUseItem)
800 {
801 if (whoAmI != 0 || whoAmI == 0)
802 {
803 }
804 return;
805 }
806 }
807 bool controlUseTile = mountedPlayer.controlUseTile;
808 if (controlUseTile)
809 {
810 if (!controlUseTile)
811 {
812 }
813 if (!controlUseTile)
814 {
815 int num;
816 if (num != 0 || num == 0)
817 {
818 }
819 return;
820 }
821 }
822 }
823 }
824
825 // Token: 0x06002934 RID: 10548 RVA: 0x00198318 File Offset: 0x00196518
826 private static bool DrillSmartCursor_BlocksPlot(int x, int y)
827 {
828 if (!true)
829 {
830 }
831 bool flag = WorldGen.CanKillTile(0, x, y != 0);
832 if (!false)
833 {
834 }
835 Tile tile;
836 return tile.nactive();
837 }
838
839 // Token: 0x06002935 RID: 10549 RVA: 0x00198340 File Offset: 0x00196540
841 {
842 /*
843An exception occurred when decompiling this method (06002935)
844
845ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.DataStructures.Point16 Terraria.Mount::DrillSmartCursor_Blocks(Terraria.Player,Terraria.Mount/DrillMountData)
846
847 ---> System.Exception: Basic block has to end with unconditional control flow.
848{
849 IL_0084:
850 brtrue(IL_0000, ldc.i4:int32[exp:bool](16896))
851}
852
853 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
854 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
855 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
856 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
857 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
858 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
859 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
860 --- End of inner exception stack trace ---
861 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
862 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
863*/;
864 }
865
866 // Token: 0x06002936 RID: 10550 RVA: 0x001983DC File Offset: 0x001965DC
868 {
869 /*
870An exception occurred when decompiling this method (06002936)
871
872ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.DataStructures.Point16 Terraria.Mount::DrillSmartCursor_Walls(Terraria.Player,Terraria.Mount/DrillMountData)
873
874 ---> System.Exception: Basic block has to end with unconditional control flow.
875{
876 IL_005D:
877 brtrue(IL_0000, ldc.i4:int32[exp:bool](17248))
878}
879
880 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
881 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
882 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
883 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
884 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
885 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
886 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
887 --- End of inner exception stack trace ---
888 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
889 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
890*/;
891 }
892
893 // Token: 0x06002937 RID: 10551 RVA: 0x00198454 File Offset: 0x00196654
894 public void UseAbility(Player mountedPlayer, Vector2 mousePosition, bool toggleOn)
895 {
896 int width;
897 do
898 {
899 if (this._type == 0)
900 {
901 }
902 int myPlayer = Main.myPlayer;
903 int whoAmI = mountedPlayer.whoAmI;
904 Vector2 vector = this.ClampToDeadZone(mountedPlayer, mousePosition);
905 width = mountedPlayer.width;
906 int height = mountedPlayer.height;
907 float x = mountedPlayer.position.X;
908 float y = mountedPlayer.position.Y;
909 int frameExtra = this._frameExtra;
910 if (width == 0)
911 {
912 }
913 Mount.MountData data = this._data;
914 int direction = mountedPlayer.direction;
915 int yOffset = data.yOffset;
916 }
917 while (width != 0);
918 int xOffset = this._data.xOffset;
919 }
920
921 // Token: 0x06002938 RID: 10552 RVA: 0x00198614 File Offset: 0x00196814
923 {
924 int type = this._type;
925 int frameState = this._frameState;
926 float gravity = mountedPlayer.gravity;
927 bool slowFall = mountedPlayer.slowFall;
928 int flyTime = this._flyTime;
930 int frameState2 = this._frameState;
931 float y = mountedPlayer.velocity.Y;
932 if (type == 0)
933 {
934 }
935 int num = 1;
936 if (num == 0)
937 {
938 }
939 float gravDir = mountedPlayer.gravDir;
940 float x = mountedPlayer.position.X;
941 float y2 = mountedPlayer.position.Y;
942 int width = mountedPlayer.width;
943 bool wet = mountedPlayer.wet;
944 float gravDir2 = mountedPlayer.gravDir;
945 if (num == 0)
946 {
947 }
948 if (mountedPlayer.controlDown)
949 {
950 int num2 = 4719;
952 float gravity2 = mountedPlayer.gravity;
953 float gravDir3 = mountedPlayer.gravDir;
955 float fatigue = this._fatigue;
956 float fatigueMax = this._fatigueMax;
957 this._fatigue = y;
958 bool mountFishronSpecial = mountedPlayer.MountFishronSpecial;
959 int type2 = this._type;
960 return mountFishronSpecial;
961 }
962 int type3 = this._type;
963 Mount.MountData data = this._data;
964 float x2 = mountedPlayer.velocity.X;
965 float dashSpeed = data.dashSpeed;
966 int frame = this._frame;
967 float x3 = mountedPlayer.position.X;
968 float y3 = mountedPlayer.position.Y;
969 int width2 = mountedPlayer.width;
970 bool wet2 = mountedPlayer.wet;
971 return false;
972 }
973
974 // Token: 0x06002939 RID: 10553 RVA: 0x001988C0 File Offset: 0x00196AC0
976 {
977 int type = this._type;
978 return true;
979 }
980
981 // Token: 0x0600293A RID: 10554 RVA: 0x001988D8 File Offset: 0x00196AD8
983 {
984 /*
985An exception occurred when decompiling this method (0600293A)
986
987ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Single Terraria.Mount::GetWitchBroomTrinketRotation(Terraria.Player)
988
989 ---> System.Exception: Basic block has to end with unconditional control flow.
990{
991 IL_002D:
992 stloc:int32(var_6_33, ldfld:int32(Player::miscCounter, ldloc:Player(player)))
993}
994
995 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
996 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
997 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
998 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
999 --- End of inner exception stack trace ---
1000 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
1001 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
1002*/;
1003 }
1004
1005 // Token: 0x0600293B RID: 10555 RVA: 0x0019891C File Offset: 0x00196B1C
1007 {
1008 /*
1009An exception occurred when decompiling this method (0600293B)
1010
1011ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.Mount::GetWitchBroomTrinketOriginOffset(Terraria.Player)
1012
1013 ---> System.Exception: Basic block has to end with unconditional control flow.
1014{
1015 Block_0:
1016 stloc:int32(var_0_06, ldfld:int32(Entity::direction, ldloc:Player[exp:Entity](player)))
1017}
1018
1019 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
1020 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
1021 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
1022 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
1023 --- End of inner exception stack trace ---
1024 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
1025 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
1026*/;
1027 }
1028
1029 // Token: 0x0600293C RID: 10556 RVA: 0x00198930 File Offset: 0x00196B30
1030 public void UpdateFrame(Player mountedPlayer, int state, Vector2 velocity)
1031 {
1032 int frameState = this._frameState;
1034 int type = this._type;
1035 if (state != 0)
1036 {
1037 return;
1038 }
1039 if (this._data.emitsLight)
1040 {
1041 Vector2 center = mountedPlayer.Center;
1042 Mount.MountData data = this._data;
1043 float x = data.lightColor.X;
1044 float y = data.lightColor.Y;
1045 float z = data.lightColor.Z;
1046 }
1047 int type2 = this._type;
1048 }
1049
1050 // Token: 0x0600293D RID: 10557 RVA: 0x001995B8 File Offset: 0x001977B8
1052 {
1053 int frameState = this._frameState;
1054 if (this._active && this._data.usesHover)
1055 {
1056 int type = this._type;
1057 if (!mountedPlayer.controlUp && !mountedPlayer.controlDown)
1058 {
1059 bool controlJump = mountedPlayer.controlJump;
1060 if (!controlJump)
1061 {
1062 if (!controlJump)
1063 {
1064 }
1065 if (!true)
1066 {
1067 }
1068 float gravDir = mountedPlayer.gravDir;
1069 float x = mountedPlayer.position.X;
1070 float y = mountedPlayer.position.Y;
1071 int width = mountedPlayer.width;
1072 bool wet = mountedPlayer.wet;
1073 float gravDir2 = mountedPlayer.gravDir;
1074 int type2 = this._type;
1075 float y2 = mountedPlayer.position.Y;
1077 }
1078 }
1079 }
1080 }
1081
1082 // Token: 0x0600293E RID: 10558 RVA: 0x001996B8 File Offset: 0x001978B8
1084 {
1085 do
1086 {
1087 float x = mountedPlayer.velocity.X;
1088 }
1089 while ((mountedPlayer.slippy || mountedPlayer.slippy2 || mountedPlayer.windPushed) && !mountedPlayer.controlLeft && !mountedPlayer.controlRight);
1090 return 1;
1091 }
1092
1093 // Token: 0x0600293F RID: 10559 RVA: 0x001996FC File Offset: 0x001978FC
1095 {
1096 int frameState = this._frameState;
1097 if (!mountedPlayer.controlUp && !mountedPlayer.controlDown)
1098 {
1099 bool controlJump = mountedPlayer.controlJump;
1100 if (!controlJump)
1101 {
1102 if (!controlJump)
1103 {
1104 }
1105 if (!true)
1106 {
1107 }
1108 float gravDir = mountedPlayer.gravDir;
1109 float x = mountedPlayer.position.X;
1110 float y = mountedPlayer.position.Y;
1111 int width = mountedPlayer.width;
1112 bool wet = mountedPlayer.wet;
1113 float gravDir2 = mountedPlayer.gravDir;
1114 if (!true)
1115 {
1116 }
1117 float x2 = mountedPlayer.velocity.X;
1118 return;
1119 }
1120 }
1121 }
1122
1123 // Token: 0x06002940 RID: 10560 RVA: 0x001997B8 File Offset: 0x001979B8
1125 {
1126 int frameExtra = this._frameExtra;
1127 }
1128
1129 // Token: 0x06002941 RID: 10561 RVA: 0x00199864 File Offset: 0x00197A64
1131 {
1132 Vector2 bottom = mountedPlayer.Bottom;
1133 int direction = mountedPlayer.direction;
1134 float gravDir = mountedPlayer.gravDir;
1135 if (direction == 0)
1136 {
1137 }
1138 int direction2 = mountedPlayer.direction;
1139 float gravDir2 = mountedPlayer.gravDir;
1140 if (direction == 0)
1141 {
1142 }
1143 Dust dust;
1144 float x = dust.velocity.X;
1145 float y = dust.velocity.Y;
1146 dust.velocity.X = x;
1147 dust.velocity.Y = y;
1148 int direction3 = mountedPlayer.direction;
1149 float gravDir3 = mountedPlayer.gravDir;
1150 dust.velocity.X = x;
1151 dust.velocity.Y = y;
1152 dust.scale = (float)16128;
1153 float x2 = mountedPlayer.velocity.X;
1154 dust.fadeIn = (float)52429;
1155 }
1156
1157 // Token: 0x06002942 RID: 10562 RVA: 0x00199948 File Offset: 0x00197B48
1159 {
1160 Point point;
1161 Vector2 vector = point.ToVector2();
1162 }
1163
1164 // Token: 0x06002943 RID: 10563 RVA: 0x0019996C File Offset: 0x00197B6C
1165 private static bool ShouldGolfCartEmitLight()
1166 {
1167 return true;
1168 }
1169
1170 // Token: 0x06002944 RID: 10564 RVA: 0x0019997C File Offset: 0x00197B7C
1172 {
1173 int num = 1;
1174 if (num == 0)
1175 {
1176 }
1177 int num2;
1178 if (num2 == 0)
1179 {
1180 float gravDir = mountedPlayer.gravDir;
1181 if (num == 0)
1182 {
1183 }
1184 if (num == 0)
1185 {
1186 }
1187 Point point;
1188 bool flag = WorldGen.SolidTile(point);
1189 Tile tile;
1190 int num3 = WorldGen.KillTile_GetTileDustAmount(true, tile);
1191 int direction = mountedPlayer.direction;
1192 float gravDir2 = mountedPlayer.gravDir;
1193 if (direction == 0)
1194 {
1195 }
1196 float x = mountedPlayer.position.X;
1199 float y = mountedPlayer.velocity.Y;
1200 float y2 = mountedPlayer.position.Y;
1202 }
1203 }
1204
1205 // Token: 0x06002945 RID: 10565 RVA: 0x00199A24 File Offset: 0x00197C24
1207 {
1208 if (!true)
1209 {
1210 }
1211 int num;
1212 if (num == 0)
1213 {
1214 if (!true)
1215 {
1216 }
1217 Vector2 directions = mountedPlayer.Directions;
1218 Vector2 center = mountedPlayer.Center;
1219 Dust dust;
1220 float x = dust.velocity.X;
1221 float y = dust.velocity.Y;
1222 dust.fadeIn = (float)39322;
1223 dust.noGravity = true;
1224 dust.scale = (float)52429;
1225 dust.velocity.X = x;
1226 dust.velocity.Y = y;
1227 if (52429 == 0)
1228 {
1229 }
1230 int cMinecart = mountedPlayer.cMinecart;
1233 }
1234 }
1235
1236 // Token: 0x06002946 RID: 10566 RVA: 0x00199ACC File Offset: 0x00197CCC
1238 {
1239 float x = mountedPlayer.velocity.X;
1240 if (!true)
1241 {
1242 }
1243 int frame = this._frame;
1244 if (frame == 0)
1245 {
1246 if (frame == 0)
1247 {
1248 }
1249 Vector2 directions = mountedPlayer.Directions;
1250 Vector2 center = mountedPlayer.Center;
1251 Dust dust;
1252 float x2 = dust.velocity.X;
1253 float y = dust.velocity.Y;
1254 dust.fadeIn = (float)39322;
1255 dust.noGravity = true;
1256 dust.scale = (float)26214;
1258 dust.velocity.Y = y;
1259 if (26214 == 0)
1260 {
1261 }
1262 int cMinecart = mountedPlayer.cMinecart;
1265 }
1266 }
1267
1268 // Token: 0x06002947 RID: 10567 RVA: 0x00199B88 File Offset: 0x00197D88
1270 {
1271 if (!true)
1272 {
1273 }
1274 int num;
1275 if (num == 0)
1276 {
1277 int num2 = 39322;
1278 int num3 = 39322;
1279 Vector2 directions = mountedPlayer.Directions;
1280 int direction = mountedPlayer.direction;
1281 float x = mountedPlayer.velocity.X;
1282 float y = mountedPlayer.velocity.Y;
1283 if (direction == 0)
1284 {
1285 }
1286 int num4 = 43691;
1287 Vector2 center = mountedPlayer.Center;
1288 if (num4 == 0)
1289 {
1290 }
1291 Dust dust;
1292 float x2 = dust.velocity.X;
1293 float y2 = dust.velocity.Y;
1294 int num5 = 1;
1295 dust.noGravity = num5 != 0;
1296 dust.fadeIn = (float)num2;
1297 dust.scale = (float)num3;
1300 int direction2 = mountedPlayer.direction;
1302 if (num5 == 0)
1303 {
1304 }
1305 int cMinecart = mountedPlayer.cMinecart;
1308 }
1309 }
1310
1311 // Token: 0x06002948 RID: 10568 RVA: 0x00199C84 File Offset: 0x00197E84
1313 {
1314 int num = 1;
1315 if (num == 0)
1316 {
1317 }
1318 int num2;
1319 if (num2 == 0)
1320 {
1321 if (num == 0)
1322 {
1323 }
1324 int num3;
1325 if (num3 == 0)
1326 {
1327 int num4 = 1;
1328 Vector2 directions = mountedPlayer.Directions;
1329 int direction = mountedPlayer.direction;
1330 float x = mountedPlayer.velocity.X;
1331 float y = mountedPlayer.velocity.Y;
1332 if (direction == 0)
1333 {
1334 }
1335 int num5 = 43691;
1336 Vector2 center = mountedPlayer.Center;
1337 if (num5 == 0)
1338 {
1339 }
1340 if (num5 == 0)
1341 {
1342 }
1343 Dust dust;
1344 float x2 = dust.velocity.X;
1345 float y2 = dust.velocity.Y;
1346 dust.noGravity = num4 != 0;
1347 float num6;
1348 dust.fadeIn = num6;
1351 int direction2 = mountedPlayer.direction;
1353 int cMinecart = mountedPlayer.cMinecart;
1356 }
1357 }
1358 }
1359
1360 // Token: 0x06002949 RID: 10569 RVA: 0x00199D7C File Offset: 0x00197F7C
1362 {
1363 bool constantJump = this._data.constantJump;
1364 mountedPlayer.autoJump = constantJump;
1365 if (!constantJump)
1366 {
1367 }
1368 if (constantJump)
1369 {
1370 bool usingSuperCart = mountedPlayer.UsingSuperCart;
1371 this._shouldSuperCart = constantJump;
1372 this.CastSuperCartLaser(mountedPlayer);
1373 float x = mountedPlayer.velocity.X;
1374 if (!constantJump)
1375 {
1376 }
1377 float runSpeed = this.RunSpeed;
1378 int statDefense = mountedPlayer.statDefense;
1379 mountedPlayer.statDefense = statDefense;
1380 return;
1381 }
1382 int type = this._type;
1383 }
1384
1385 // Token: 0x0600294A RID: 10570 RVA: 0x0019A5C4 File Offset: 0x001987C4
1387 {
1388 int num = 1;
1389 float x = mountedPlayer.velocity.X;
1390 if (num == 0)
1391 {
1392 }
1393 int num2;
1394 if (num2 == 0)
1395 {
1396 int direction = mountedPlayer.direction;
1397 }
1398 int whoAmI = mountedPlayer.whoAmI;
1399 if (num == 0)
1400 {
1401 }
1402 int myPlayer = Main.myPlayer;
1403 float x2 = mountedPlayer.velocity.X;
1404 if (num == 0)
1405 {
1406 }
1407 long num3 = 0L;
1408 long num4 = 0L;
1409 float num6;
1410 float num5 = MathHelper.WrapAngle(num6);
1411 float fullRotation = mountedPlayer.fullRotation;
1412 float num7 = MathHelper.WrapAngle(num5);
1413 float num8 = MathHelper.WrapAngle(num7);
1416 int whoAmI2 = mountedPlayer.whoAmI;
1417 }
1418
1419 // Token: 0x0600294B RID: 10571 RVA: 0x0019A678 File Offset: 0x00198878
1421 {
1422 /*
1423An exception occurred when decompiling this method (0600294B)
1424
1425ICSharpCode.Decompiler.DecompilerException: Error decompiling Microsoft.Xna.Framework.Vector2 Terraria.Mount::GetMinecartMechPoint(Terraria.Player,System.Int32,System.Int32)
1426
1427 ---> System.Exception: Basic block has to end with unconditional control flow.
1428{
1429 IL_003A:
1430 stloc:float32(var_9_43, ldfld:float32(Player::fullRotation, ldloc:Player(mountedPlayer)))
1431 stloc:float32(var_12_4E, ldfld:float32(Player::fullRotation, ldloc:Player(mountedPlayer)))
1432 stloc:float32(var_15_59, ldfld:float32(Player::fullRotation, ldloc:Player(mountedPlayer)))
1433 stloc:float32(var_18_64, ldfld:float32(Player::fullRotation, ldloc:Player(mountedPlayer)))
1434 stloc:int32(var_20_70, call:int32(Math::Sign, ldloc:float32(var_11)))
1435 stloc:float32(var_21_78, ldfld:float32(Player::fullRotation, ldloc:Player(mountedPlayer)))
1436 stloc:Vector2(var_26_86, callgetter:Vector2(Entity::get_Bottom, ldloc:Player[exp:Entity](mountedPlayer)))
1437}
1438
1439 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
1440 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
1441 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
1442 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
1443 --- End of inner exception stack trace ---
1444 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
1445 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
1446*/;
1447 }
1448
1449 // Token: 0x0600294C RID: 10572 RVA: 0x0019A714 File Offset: 0x00198914
1450 public void ResetFlightTime(float xVelocity)
1451 {
1452 if (this._active)
1453 {
1454 int flightTimeMax = this._data.flightTimeMax;
1455 return;
1456 }
1457 long num = 0L;
1458 int type = this._type;
1459 this._flyTime = (int)num;
1460 if (type == 0)
1461 {
1462 int num2 = 32640;
1464 }
1465 }
1466
1467 // Token: 0x0600294D RID: 10573 RVA: 0x0019A758 File Offset: 0x00198958
1469 {
1470 if (this._type == 0)
1471 {
1472 }
1473 int[] buffType = mountedPlayer.buffType;
1474 Mount.MountData data = this._data;
1475 int buff = data.buff;
1476 if (data != null && this._active && data.Minecart)
1477 {
1478 int extraBuff = data.extraBuff;
1479 }
1480 }
1481
1482 // Token: 0x0600294E RID: 10574 RVA: 0x0019A7AC File Offset: 0x001989AC
1483 public void ResetHeadPosition()
1484 {
1485 if (this._aiming)
1486 {
1487 int type = this._type;
1488 }
1489 }
1490
1491 // Token: 0x0600294F RID: 10575 RVA: 0x0019A7C8 File Offset: 0x001989C8
1493 {
1494 int type = this._type;
1495 if (type == 0)
1496 {
1497 }
1498 if (type == 0)
1499 {
1500 }
1501 if (type == 0)
1502 {
1503 }
1504 int num = 32640;
1505 Vector2 center = mountedPlayer.Center;
1506 if (num == 0)
1507 {
1508 return;
1509 }
1510 }
1511
1512 // Token: 0x06002950 RID: 10576 RVA: 0x0019A7FC File Offset: 0x001989FC
1513 public bool AimAbility(Player mountedPlayer, Vector2 mousePosition)
1514 {
1515 int type = this._type;
1516 int num = 1;
1517 this._aiming = num != 0;
1518 int direction = mountedPlayer.direction;
1519 int frameExtra = this._frameExtra;
1520 Vector2 vector = this.ClampToDeadZone(mountedPlayer, mousePosition);
1521 Vector2 center = mountedPlayer.Center;
1522 if (direction == 0)
1523 {
1524 }
1525 if (direction == 0)
1526 {
1527 }
1528 float num3;
1529 float num2 = MathHelper.ToDegrees(num3);
1530 int num4 = 17204;
1531 int frameExtra2 = this._frameExtra;
1532 int direction2 = mountedPlayer.direction;
1533 Vector2 vector2 = this.ClampToDeadZone(mountedPlayer, mousePosition);
1534 Vector2 center2 = mountedPlayer.Center;
1535 if (num4 == 0)
1536 {
1537 }
1538 if (num4 == 0)
1539 {
1540 }
1541 float num6;
1542 float num5 = MathHelper.ToDegrees(num6);
1543 float x = mountedPlayer.velocity.X;
1544 int num7 = 1;
1546 Vector2 vector3 = this.ClampToDeadZone(mountedPlayer, mousePosition);
1547 Vector2 center3 = mountedPlayer.Center;
1548 if (num7 == 0)
1549 {
1550 }
1551 if (this._mountSpecificData != null)
1552 {
1553 }
1554 float x2 = mountedPlayer.velocity.X;
1555 int width = mountedPlayer.width;
1556 int height = mountedPlayer.height;
1557 float x3 = mountedPlayer.position.X;
1558 float y = mountedPlayer.position.Y;
1559 int num8 = 1;
1560 long num9 = 0L;
1561 Lighting.AddLight(0, (int)num9, num2, num5, num5);
1562 if (num8 != 0)
1563 {
1564 int direction3 = mountedPlayer.direction;
1565 int height2 = mountedPlayer.height;
1566 return false;
1567 }
1568 int direction4 = mountedPlayer.direction;
1569 return false;
1570 }
1571
1572 // Token: 0x06002951 RID: 10577 RVA: 0x0019A9E0 File Offset: 0x00198BE0
1573 public void Draw(PlayerDrawSet playerDrawData, int drawType, Player drawPlayer, Vector2 Position, Color drawColor, SpriteEffects playerEffect, float shadow)
1574 {
1575 }
1576
1577 // Token: 0x06002952 RID: 10578 RVA: 0x0019AEB4 File Offset: 0x001990B4
1579 {
1580 while (this._active)
1581 {
1582 Mount.MountData data = this._data;
1583 if (data == null)
1584 {
1585 if (116 == 0)
1586 {
1587 }
1588 if (!true)
1589 {
1590 }
1591 long num = 0L;
1592 this.DoSpawnDust(mountedPlayer, num != 0L);
1593 long num2 = 0L;
1594 this._idleTime = (int)num2;
1595 int height = mountedPlayer.height;
1596 float y = mountedPlayer.position.Y;
1597 int num3 = 42;
1599 mountedPlayer.position.Y = (float)height;
1600 int whoAmI = mountedPlayer.whoAmI;
1601 if (num3 == 0)
1602 {
1603 }
1604 int myPlayer = Main.myPlayer;
1605 int whoAmI2 = mountedPlayer.whoAmI;
1606 break;
1607 }
1608 bool minecart = data.Minecart;
1609 int buff = data.buff;
1610 mountedPlayer.ClearBuff(buff);
1611 if (minecart)
1612 {
1614 int extraBuff = data2.extraBuff;
1615 mountedPlayer.ClearBuff(extraBuff);
1616 if (data2 == null)
1617 {
1618 }
1619 if (!true)
1620 {
1621 }
1622 return;
1623 }
1624 }
1625 }
1626
1627 // Token: 0x06002953 RID: 10579 RVA: 0x0019AF7C File Offset: 0x0019917C
1628 public void SetMount(int m, Player mountedPlayer, bool faceLeft = false)
1629 {
1630 if (this._type == 0)
1631 {
1632 }
1633 if (mountedPlayer.wet)
1634 {
1635 return;
1636 }
1637 if (this._active)
1638 {
1639 int buff = this._data.buff;
1640 mountedPlayer.ClearBuff(buff);
1641 Mount.MountData data = this._data;
1642 if (data != null && this._active && data.Minecart)
1643 {
1644 int extraBuff = data.extraBuff;
1645 mountedPlayer.ClearBuff(extraBuff);
1646 if (data == null)
1647 {
1648 }
1649 if (!true)
1650 {
1651 }
1652 }
1653 if (!true)
1654 {
1655 }
1656 return;
1657 }
1658 int num = 1;
1659 this._active = num != 0;
1660 this._type = m;
1661 if (num == 0)
1662 {
1663 }
1664 this._data = num;
1665 if (num != 0)
1666 {
1667 bool active = this._active;
1668 if (active && active && !active)
1669 {
1670 return;
1671 }
1672 }
1673 long num2 = 0L;
1674 int type = this._type;
1675 this._flipDraw = num2 != 0L;
1676 float x = mountedPlayer.velocity.X;
1677 float y = mountedPlayer.velocity.Y;
1678 if (type == 0)
1679 {
1680 }
1681 int type2 = this._type;
1682 int abilityCooldown = this._abilityCooldown;
1683 }
1684
1685 // Token: 0x06002954 RID: 10580 RVA: 0x0019B12C File Offset: 0x0019932C
1687 {
1688 if (!true)
1689 {
1690 }
1692 int type = this._type;
1693 int num = 1;
1694 float x = mountedPlayer.position.X;
1695 float y = mountedPlayer.position.Y;
1696 int width = mountedPlayer.width;
1697 bool wet = mountedPlayer.wet;
1698 if (type == 0)
1699 {
1700 }
1701 Dust dust;
1702 float scale = dust.scale;
1703 if (type == 0)
1704 {
1705 }
1706 dust.noGravity = num != 0;
1707 dust.scale = x;
1708 float x2 = dust.velocity.X;
1709 float y2 = dust.velocity.Y;
1710 float x3 = mountedPlayer.velocity.X;
1711 float y3 = mountedPlayer.velocity.Y;
1712 if (type == 0)
1713 {
1714 }
1715 dust.velocity.X = x;
1716 dust.velocity.Y = y;
1717 dust.velocity.X = x;
1718 dust.velocity.Y = y;
1719 dust.velocity.Y = x;
1720 dust.noLight = num != 0;
1721 int num2;
1722 if (num2 == 0)
1723 {
1724 Dust dust2 = Dust.CloneDust(dust);
1725 float scale2 = dust2.scale;
1726 dust2.scale = scale2;
1727 }
1728 }
1729
1730 // Token: 0x06002955 RID: 10581 RVA: 0x0019B450 File Offset: 0x00199650
1732 {
1733 if (!true)
1734 {
1735 }
1736 return mountingPlayer.CanFitSpace(m);
1737 }
1738
1739 // Token: 0x06002956 RID: 10582 RVA: 0x0019B468 File Offset: 0x00199668
1740 public bool FindTileHeight(Vector2 position, int maxTilesDown, [Out] float tileHeight)
1741 {
1742 /*
1743An exception occurred when decompiling this method (06002956)
1744
1745ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.Mount::FindTileHeight(Microsoft.Xna.Framework.Vector2,System.Int32,System.Single)
1746
1747 ---> System.Exception: Basic block has to end with unconditional control flow.
1748{
1749 IL_000B:
1750 stloc:uint16(var_3_11, callgetter:uint16(Tile::get_type, ldloc:Tile[exp:valuetype Terraria.Tile&](var_2)))
1751}
1752
1753 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
1754 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
1755 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
1756 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
1757 --- End of inner exception stack trace ---
1758 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
1759 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
1760*/;
1761 }
1762
1763 // Token: 0x06002957 RID: 10583 RVA: 0x0019B48C File Offset: 0x0019968C
1764 // Note: this type is marked as 'beforefieldinit'.
1765 static Mount()
1766 {
1767 }
1768
1769 // Token: 0x040035E3 RID: 13795
1770 public static int currentShader;
1771
1772 // Token: 0x040035E4 RID: 13796
1773 public const int FrameStanding = 0;
1774
1775 // Token: 0x040035E5 RID: 13797
1776 public const int FrameRunning = 1;
1777
1778 // Token: 0x040035E6 RID: 13798
1779 public const int FrameInAir = 2;
1780
1781 // Token: 0x040035E7 RID: 13799
1782 public const int FrameFlying = 3;
1783
1784 // Token: 0x040035E8 RID: 13800
1785 public const int FrameSwimming = 4;
1786
1787 // Token: 0x040035E9 RID: 13801
1788 public const int FrameDashing = 5;
1789
1790 // Token: 0x040035EA RID: 13802
1791 public const int DrawBack = 0;
1792
1793 // Token: 0x040035EB RID: 13803
1794 public const int DrawBackExtra = 1;
1795
1796 // Token: 0x040035EC RID: 13804
1797 public const int DrawFront = 2;
1798
1799 // Token: 0x040035ED RID: 13805
1800 public const int DrawFrontExtra = 3;
1801
1802 // Token: 0x040035EE RID: 13806
1803 private static Mount.MountData[] mounts;
1804
1805 // Token: 0x040035EF RID: 13807
1807
1808 // Token: 0x040035F0 RID: 13808
1810
1811 // Token: 0x040035F1 RID: 13809
1812 public const int scutlixBaseDamage = 50;
1813
1814 // Token: 0x040035F2 RID: 13810
1816
1817 // Token: 0x040035F3 RID: 13811
1819
1820 // Token: 0x040035F4 RID: 13812
1822
1823 // Token: 0x040035F5 RID: 13813
1824 public const int drillTextureWidth = 80;
1825
1826 // Token: 0x040035F6 RID: 13814
1827 public const float drillRotationChange = 0.05235988f;
1828
1829 // Token: 0x040035F7 RID: 13815
1830 public static int drillPickPower;
1831
1832 // Token: 0x040035F8 RID: 13816
1833 public static int drillPickTime;
1834
1835 // Token: 0x040035F9 RID: 13817
1836 public static int amountOfBeamsAtOnce;
1837
1838 // Token: 0x040035FA RID: 13818
1839 public const float maxDrillLength = 48f;
1840
1841 // Token: 0x040035FB RID: 13819
1843
1844 // Token: 0x040035FC RID: 13820
1846
1847 // Token: 0x040035FD RID: 13821
1848 private int _type;
1849
1850 // Token: 0x040035FE RID: 13822
1851 private bool _flipDraw;
1852
1853 // Token: 0x040035FF RID: 13823
1854 private int _frame;
1855
1856 // Token: 0x04003600 RID: 13824
1857 private float _frameCounter;
1858
1859 // Token: 0x04003601 RID: 13825
1860 private int _frameExtra;
1861
1862 // Token: 0x04003602 RID: 13826
1863 private float _frameExtraCounter;
1864
1865 // Token: 0x04003603 RID: 13827
1866 private int _frameState;
1867
1868 // Token: 0x04003604 RID: 13828
1869 private int _flyTime;
1870
1871 // Token: 0x04003605 RID: 13829
1872 private int _idleTime;
1873
1874 // Token: 0x04003606 RID: 13830
1875 private int _idleTimeNext;
1876
1877 // Token: 0x04003607 RID: 13831
1878 private float _fatigue;
1879
1880 // Token: 0x04003608 RID: 13832
1881 private float _fatigueMax;
1882
1883 // Token: 0x04003609 RID: 13833
1884 private bool _abilityCharging;
1885
1886 // Token: 0x0400360A RID: 13834
1887 private int _abilityCharge;
1888
1889 // Token: 0x0400360B RID: 13835
1890 private int _abilityCooldown;
1891
1892 // Token: 0x0400360C RID: 13836
1893 private int _abilityDuration;
1894
1895 // Token: 0x0400360D RID: 13837
1896 private bool _abilityActive;
1897
1898 // Token: 0x0400360E RID: 13838
1899 private bool _aiming;
1900
1901 // Token: 0x0400360F RID: 13839
1902 private bool _shouldSuperCart;
1903
1904 // Token: 0x04003610 RID: 13840
1906
1907 // Token: 0x04003611 RID: 13841
1908 private object _mountSpecificData;
1909
1910 // Token: 0x04003612 RID: 13842
1911 private bool _active;
1912
1913 // Token: 0x04003613 RID: 13843
1914 public static float SuperCartRunSpeed;
1915
1916 // Token: 0x04003614 RID: 13844
1917 public static float SuperCartDashSpeed;
1918
1919 // Token: 0x04003615 RID: 13845
1920 public static float SuperCartAcceleration;
1921
1922 // Token: 0x04003616 RID: 13846
1923 public static int SuperCartJumpHeight;
1924
1925 // Token: 0x04003617 RID: 13847
1926 public static float SuperCartJumpSpeed;
1927
1928 // Token: 0x04003618 RID: 13848
1930
1931 // Token: 0x04003619 RID: 13849
1933
1934 // Token: 0x0400361A RID: 13850
1936
1937 // Token: 0x0400361B RID: 13851
1939
1940 // Token: 0x0400361C RID: 13852
1942
1943 // Token: 0x02000442 RID: 1090
1944 private class DrillBeam
1945 {
1946 // Token: 0x06002958 RID: 10584 RVA: 0x0019B49C File Offset: 0x0019969C
1947 public DrillBeam()
1948 {
1949 if (!true)
1950 {
1951 }
1953 }
1954
1955 // Token: 0x0400361D RID: 13853
1957
1958 // Token: 0x0400361E RID: 13854
1959 public int cooldown;
1960
1961 // Token: 0x0400361F RID: 13855
1962 public int lastPurpose;
1963 }
1964
1965 // Token: 0x02000443 RID: 1091
1966 private class DrillMountData
1967 {
1968 // Token: 0x06002959 RID: 10585 RVA: 0x0019B4BC File Offset: 0x001996BC
1970 {
1971 Mount.DrillBeam[] array = this.beams;
1972 }
1973
1974 // Token: 0x04003620 RID: 13856
1976
1977 // Token: 0x04003621 RID: 13857
1978 public float diodeRotation;
1979
1980 // Token: 0x04003622 RID: 13858
1981 public float outerRingRotation;
1982
1983 // Token: 0x04003623 RID: 13859
1985
1986 // Token: 0x04003624 RID: 13860
1987 public int beamCooldown;
1988
1989 // Token: 0x04003625 RID: 13861
1991 }
1992
1993 // Token: 0x02000444 RID: 1092
1994 private class BooleanMountData
1995 {
1996 // Token: 0x0600295A RID: 10586 RVA: 0x0019B4E4 File Offset: 0x001996E4
1998 {
1999 }
2000
2001 // Token: 0x04003626 RID: 13862
2002 public bool boolean;
2003 }
2004
2005 // Token: 0x02000445 RID: 1093
2007 {
2008 // Token: 0x0600295B RID: 10587 RVA: 0x0019B4F8 File Offset: 0x001996F8
2010 {
2011 }
2012
2013 // Token: 0x04003627 RID: 13863
2014 public int frame;
2015
2016 // Token: 0x04003628 RID: 13864
2017 public float frameCounter;
2018 }
2019
2020 // Token: 0x02000446 RID: 1094
2022 {
2023 // Token: 0x0600295C RID: 10588 RVA: 0x0019B50C File Offset: 0x0019970C
2025 {
2026 }
2027
2028 // Token: 0x04003629 RID: 13865
2030
2031 // Token: 0x0400362A RID: 13866
2033
2034 // Token: 0x0400362B RID: 13867
2036
2037 // Token: 0x0400362C RID: 13868
2039
2040 // Token: 0x0400362D RID: 13869
2042
2043 // Token: 0x0400362E RID: 13870
2045
2046 // Token: 0x02000447 RID: 1095
2047 // (Invoke) Token: 0x0600295E RID: 10590
2048 public delegate bool OverridePositionMethod(Player player, [Out] Vector2? position);
2049 }
2050
2051 // Token: 0x02000448 RID: 1096
2052 private class MountData
2053 {
2054 // Token: 0x06002961 RID: 10593 RVA: 0x0019B520 File Offset: 0x00199720
2055 public MountData()
2056 {
2057 if (!true)
2058 {
2059 }
2060 if (!true)
2061 {
2062 }
2063 base..ctor();
2064 }
2065
2066 // Token: 0x0400362F RID: 13871
2068
2069 // Token: 0x04003630 RID: 13872
2071
2072 // Token: 0x04003631 RID: 13873
2074
2075 // Token: 0x04003632 RID: 13874
2077
2078 // Token: 0x04003633 RID: 13875
2080
2081 // Token: 0x04003634 RID: 13876
2083
2084 // Token: 0x04003635 RID: 13877
2086
2087 // Token: 0x04003636 RID: 13878
2089
2090 // Token: 0x04003637 RID: 13879
2091 public int textureWidth;
2092
2093 // Token: 0x04003638 RID: 13880
2094 public int textureHeight;
2095
2096 // Token: 0x04003639 RID: 13881
2097 public int xOffset;
2098
2099 // Token: 0x0400363A RID: 13882
2100 public int yOffset;
2101
2102 // Token: 0x0400363B RID: 13883
2103 public int[] playerYOffsets;
2104
2105 // Token: 0x0400363C RID: 13884
2106 public int bodyFrame;
2107
2108 // Token: 0x0400363D RID: 13885
2110
2111 // Token: 0x0400363E RID: 13886
2112 public int heightBoost;
2113
2114 // Token: 0x0400363F RID: 13887
2115 public int buff;
2116
2117 // Token: 0x04003640 RID: 13888
2118 public int extraBuff;
2119
2120 // Token: 0x04003641 RID: 13889
2121 public int flightTimeMax;
2122
2123 // Token: 0x04003642 RID: 13890
2124 public bool usesHover;
2125
2126 // Token: 0x04003643 RID: 13891
2127 public float runSpeed;
2128
2129 // Token: 0x04003644 RID: 13892
2130 public float dashSpeed;
2131
2132 // Token: 0x04003645 RID: 13893
2133 public float swimSpeed;
2134
2135 // Token: 0x04003646 RID: 13894
2136 public float acceleration;
2137
2138 // Token: 0x04003647 RID: 13895
2139 public float jumpSpeed;
2140
2141 // Token: 0x04003648 RID: 13896
2142 public int jumpHeight;
2143
2144 // Token: 0x04003649 RID: 13897
2145 public float fallDamage;
2146
2147 // Token: 0x0400364A RID: 13898
2148 public int fatigueMax;
2149
2150 // Token: 0x0400364B RID: 13899
2151 public bool constantJump;
2152
2153 // Token: 0x0400364C RID: 13900
2154 public bool blockExtraJumps;
2155
2156 // Token: 0x0400364D RID: 13901
2158
2159 // Token: 0x0400364E RID: 13902
2161
2162 // Token: 0x0400364F RID: 13903
2164
2165 // Token: 0x04003650 RID: 13904
2166 public int spawnDust;
2167
2168 // Token: 0x04003651 RID: 13905
2170
2171 // Token: 0x04003652 RID: 13906
2172 public int totalFrames;
2173
2174 // Token: 0x04003653 RID: 13907
2176
2177 // Token: 0x04003654 RID: 13908
2179
2180 // Token: 0x04003655 RID: 13909
2182
2183 // Token: 0x04003656 RID: 13910
2185
2186 // Token: 0x04003657 RID: 13911
2188
2189 // Token: 0x04003658 RID: 13912
2191
2192 // Token: 0x04003659 RID: 13913
2194
2195 // Token: 0x0400365A RID: 13914
2197
2198 // Token: 0x0400365B RID: 13915
2200
2201 // Token: 0x0400365C RID: 13916
2203
2204 // Token: 0x0400365D RID: 13917
2206
2207 // Token: 0x0400365E RID: 13918
2209
2210 // Token: 0x0400365F RID: 13919
2211 public int idleFrameStart;
2212
2213 // Token: 0x04003660 RID: 13920
2214 public int idleFrameCount;
2215
2216 // Token: 0x04003661 RID: 13921
2217 public int idleFrameDelay;
2218
2219 // Token: 0x04003662 RID: 13922
2220 public bool idleFrameLoop;
2221
2222 // Token: 0x04003663 RID: 13923
2223 public int swimFrameStart;
2224
2225 // Token: 0x04003664 RID: 13924
2226 public int swimFrameCount;
2227
2228 // Token: 0x04003665 RID: 13925
2229 public int swimFrameDelay;
2230
2231 // Token: 0x04003666 RID: 13926
2233
2234 // Token: 0x04003667 RID: 13927
2236
2237 // Token: 0x04003668 RID: 13928
2239
2240 // Token: 0x04003669 RID: 13929
2241 public bool Minecart;
2242
2243 // Token: 0x0400366A RID: 13930
2245
2246 // Token: 0x0400366B RID: 13931
2248
2249 // Token: 0x0400366C RID: 13932
2250 public bool emitsLight;
2251
2252 // Token: 0x0400366D RID: 13933
2254
2255 // Token: 0x0400366E RID: 13934
2256 public int playerXOffset;
2257 }
2258
2259 // Token: 0x02000449 RID: 1097
2261 private sealed class <>c__DisplayClass141_0
2262 {
2263 // Token: 0x06002962 RID: 10594 RVA: 0x0019B53C File Offset: 0x0019973C
2265 {
2266 }
2267
2268 // Token: 0x06002963 RID: 10595 RVA: 0x0019B550 File Offset: 0x00199750
2269 internal bool <DrillSmartCursor_Walls>b__0(int x, int y)
2270 {
2271 Mount.DrillBeam[] beams = this.data.beams;
2272 int lastPurpose = beams.lastPurpose;
2273 Point16 curTileTarget = beams.curTileTarget;
2274 if (lastPurpose == 0)
2275 {
2276 }
2277 Mount.DrillBeam[] beams2 = this.data.beams;
2278 Point16 point = this.tilePoint;
2279 bool flag;
2280 return flag;
2281 }
2282
2283 // Token: 0x0400366F RID: 13935
2284 public Point16 tilePoint;
2285
2286 // Token: 0x04003670 RID: 13936
2287 public Mount.DrillMountData data;
2288 }
2289 }
2290}
class f__AnonymousType0<< Count > j__TPar
static readonly long
static float ToDegrees(float radians)
Definition MathHelper.cs:91
static float WrapAngle(float angle)
static Dust CloneDust(int dustIndex)
Definition Dust.cs:94
float scale
Definition Dust.cs:450
Vector2 velocity
Definition Dust.cs:441
Vector2 velocity
Definition Entity.cs:463
Vector2 position
Definition Entity.cs:460
static void AddLight(Vector2 position, Vector3 rgb)
Definition Lighting.cs:339
static bool LogicClient
Definition Main.cs:5513
static bool NetHostOnly
Definition Main.cs:5482
static int myPlayer
Definition Main.cs:2337
static Microsoft.Xna.Framework.Vector2 screenPosition
Definition Main.cs:1973
static int mouseY
Definition Main.cs:601
static int mouseX
Definition Main.cs:587
Mount.DrillBeam[] beams
Definition Mount.cs:1984
Asset< Texture2D > frontTextureGlow
Definition Mount.cs:2082
Asset< Texture2D > frontTexture
Definition Mount.cs:2079
Asset< Texture2D > frontTextureExtra
Definition Mount.cs:2085
Asset< Texture2D > backTextureExtraGlow
Definition Mount.cs:2076
Asset< Texture2D > backTextureGlow
Definition Mount.cs:2070
Asset< Texture2D > backTextureExtra
Definition Mount.cs:2073
Asset< Texture2D > backTexture
Definition Mount.cs:2067
Asset< Texture2D > frontTextureExtraGlow
Definition Mount.cs:2088
Mount.MountDelegatesData delegations
Definition Mount.cs:2253
delegate bool OverridePositionMethod(Player player, [Out] Vector2? position)
Mount.MountDelegatesData.OverridePositionMethod MouthPosition
Definition Mount.cs:2041
Mount.MountDelegatesData.OverridePositionMethod HandPosition
Definition Mount.cs:2044
Action< Player, Vector2, int, int > MinecartJumpingSound
Definition Mount.cs:2032
Action< Player, Vector2, int, int > MinecartLandingSound
Definition Mount.cs:2035
Action< Player, Vector2, int, int > MinecartBumperSound
Definition Mount.cs:2038
Action< Vector2 > MinecartDust
Definition Mount.cs:2029
static int DrillSmartCursor_BlocksPlotX
Definition Mount.cs:1935
static Vector2 santankTextureSize
Definition Mount.cs:1842
static int drillPickPower
Definition Mount.cs:1830
bool _abilityCharging
Definition Mount.cs:1884
static Utils.TileActionAttempt DrillSmartCursor_BlocksPlotInstance
Definition Mount.cs:1941
void CheckMountBuff(Player mountedPlayer)
Definition Mount.cs:1468
float _frameCounter
Definition Mount.cs:1857
bool IsConsideredASlimeMount
Definition Mount.cs:480
static Mount()
Definition Mount.cs:1765
int _abilityCharge
Definition Mount.cs:1887
float _frameExtraCounter
Definition Mount.cs:1863
const int FrameSwimming
Definition Mount.cs:1785
const float drillRotationChange
Definition Mount.cs:1827
void CastSuperCartLaser(Player mountedPlayer)
Definition Mount.cs:1386
bool CheckBuff(int buffID)
Definition Mount.cs:721
static Vector2[] scutlixEyePositions
Definition Mount.cs:1806
Mount.MountData _data
Definition Mount.cs:1845
static void SetAsHorse(Mount.MountData newMount, int buff, Asset< Texture2D > texture)
Definition Mount.cs:49
static float SuperCartDashSpeed
Definition Mount.cs:1917
int _abilityCooldown
Definition Mount.cs:1890
const int DrawBack
Definition Mount.cs:1791
bool AimAbility(Player mountedPlayer, Vector2 mousePosition)
Definition Mount.cs:1513
void DoConfettiMinecartEffect(Player mountedPlayer)
Definition Mount.cs:1312
bool _flipDraw
Definition Mount.cs:1851
void UseAbility(Player mountedPlayer, Vector2 mousePosition, bool toggleOn)
Definition Mount.cs:894
const int drillTextureWidth
Definition Mount.cs:1824
void Draw(PlayerDrawSet playerDrawData, int drawType, Player drawPlayer, Vector2 Position, Color drawColor, SpriteEffects playerEffect, float shadow)
Definition Mount.cs:1573
float GetWitchBroomTrinketRotation(Player player)
Definition Mount.cs:982
static void SetAsMinecart(Mount.MountData newMount, int buffToLeft, int buffToRight, Asset< Texture2D > texture, int verticalOffset=0, int playerVerticalOffset=0)
Definition Mount.cs:89
static void EmitGolfCartlight(Vector2 worldLocation, int playerDirection)
Definition Mount.cs:1158
int PlayerXOFfset
Definition Mount.cs:189
void TryBeginningFlight(Player mountedPlayer, int state)
Definition Mount.cs:1051
int GetIntendedGroundedFrame(Player mountedPlayer)
Definition Mount.cs:1083
void Dismount(Player mountedPlayer)
Definition Mount.cs:1578
void DoSteamMinecartEffect(Player mountedPlayer, int dustType)
Definition Mount.cs:1237
float FallDamage
Definition Mount.cs:377
void ResetHeadPosition()
Definition Mount.cs:1483
const int DrawFront
Definition Mount.cs:1797
void DoSpawnDust(Player mountedPlayer, bool isDismounting)
Definition Mount.cs:1686
bool Directional
Definition Mount.cs:523
int BodyFrame
Definition Mount.cs:159
static int currentShader
Definition Mount.cs:1770
bool AbilityCharging
Definition Mount.cs:618
static float SuperCartJumpSpeed
Definition Mount.cs:1926
bool CanMount(int m, Player mountingPlayer)
Definition Mount.cs:1731
static Vector2 drillDiodePoint1
Definition Mount.cs:1815
static Mount.MountData[] mounts
Definition Mount.cs:1803
float JumpSpeed(float xVelocity)
Definition Mount.cs:428
bool Hover(Player mountedPlayer)
Definition Mount.cs:922
object _mountSpecificData
Definition Mount.cs:1908
static float SuperCartRunSpeed
Definition Mount.cs:1914
const int FrameInAir
Definition Mount.cs:1779
static void MeowcartBumperSound(Player Player, Vector2 Position, int Width, int Height)
Definition Mount.cs:23
bool Active
Definition Mount.cs:119
static int DrillSmartCursor_BlocksPlotY
Definition Mount.cs:1938
float _fatigue
Definition Mount.cs:1878
const int FrameStanding
Definition Mount.cs:1773
bool BlockExtraJumps
Definition Mount.cs:470
void UpdateEffects(Player mountedPlayer)
Definition Mount.cs:1361
int _idleTimeNext
Definition Mount.cs:1875
Point16 DrillSmartCursor_Walls(Player mountedPlayer, Mount.DrillMountData data)
Definition Mount.cs:867
int _frameExtra
Definition Mount.cs:1860
int _abilityDuration
Definition Mount.cs:1893
void UpdateDrill(Player mountedPlayer, bool controlUp, bool controlDown)
Definition Mount.cs:775
Vector2 Origin
Definition Mount.cs:566
float Acceleration
Definition Mount.cs:343
bool CanFly()
Definition Mount.cs:595
void TryLanding(Player mountedPlayer)
Definition Mount.cs:1094
bool _shouldSuperCart
Definition Mount.cs:1902
const int FrameDashing
Definition Mount.cs:1788
Vector2 GetWitchBroomTrinketOriginOffset(Player player)
Definition Mount.cs:1006
void Reset()
Definition Mount.cs:36
bool AbilityActive
Definition Mount.cs:628
static int drillPickTime
Definition Mount.cs:1833
void UseDrill(Player mountedPlayer)
Definition Mount.cs:783
Mount.MountDelegatesData Delegations
Definition Mount.cs:538
static bool ShouldGolfCartEmitLight()
Definition Mount.cs:1165
static void EmitGolfCartSmoke(Player mountedPlayer, bool rushing)
Definition Mount.cs:1130
static Vector2 GetMinecartMechPoint(Player mountedPlayer, int offX, int offY)
Definition Mount.cs:1420
static void EmitGolfCartWheelDust(Player mountedPlayer, Vector2 legSpot)
Definition Mount.cs:1171
bool DoesHoverIgnoresFatigue()
Definition Mount.cs:975
Point16 DrillSmartCursor_Blocks(Player mountedPlayer, Mount.DrillMountData data)
Definition Mount.cs:840
const int scutlixBaseDamage
Definition Mount.cs:1812
void SetMount(int m, Player mountedPlayer, bool faceLeft=false)
Definition Mount.cs:1628
void FatigueRecovery()
Definition Mount.cs:746
static bool DrillSmartCursor_BlocksPlot(int x, int y)
Definition Mount.cs:826
static int GetHeightBoost(int MountType)
Definition Mount.cs:264
int JumpHeight(float xVelocity)
Definition Mount.cs:403
static int SuperCartJumpHeight
Definition Mount.cs:1923
void AbilityRecovery()
Definition Mount.cs:729
static void Initialize()
Definition Mount.cs:43
const int FrameFlying
Definition Mount.cs:1782
static float SuperCartAcceleration
Definition Mount.cs:1920
static Vector2 drillDiodePoint2
Definition Mount.cs:1818
Mount.MountDelegatesData _defaultDelegatesData
Definition Mount.cs:1929
int PlayerOffsetHitbox
Definition Mount.cs:215
static int amountOfBeamsAtOnce
Definition Mount.cs:1836
int PlayerHeadOffset
Definition Mount.cs:243
bool CanHover()
Definition Mount.cs:605
int _frameState
Definition Mount.cs:1866
float RunSpeed
Definition Mount.cs:275
const float maxDrillLength
Definition Mount.cs:1839
static Vector2 scutlixTextureSize
Definition Mount.cs:1809
void ResetFlightTime(float xVelocity)
Definition Mount.cs:1450
bool AllowDirectionChange
Definition Mount.cs:763
float _fatigueMax
Definition Mount.cs:1881
static Mount.DrillMountData DrillSmartCursor_BlocksPlotData
Definition Mount.cs:1932
bool FindTileHeight(Vector2 position, int maxTilesDown, [Out] float tileHeight)
Definition Mount.cs:1740
void StartAbilityCharge(Player mountedPlayer)
Definition Mount.cs:690
void UpdateFrame_GolfCart(Player mountedPlayer, int state, Vector2 velocity)
Definition Mount.cs:1124
void DoExhaustMinecartEffect(Player mountedPlayer, int dustType)
Definition Mount.cs:1269
int HeightBoost
Definition Mount.cs:256
List< DrillDebugDraw > _debugDraw
Definition Mount.cs:1905
const int FrameRunning
Definition Mount.cs:1776
void StopAbilityCharge()
Definition Mount.cs:714
bool _abilityActive
Definition Mount.cs:1896
bool Flight()
Definition Mount.cs:753
Vector2 ClampToDeadZone(Player mountedPlayer, Vector2 position)
Definition Mount.cs:1492
static Vector2 drillTextureSize
Definition Mount.cs:1821
float AbilityCharge
Definition Mount.cs:638
static void MeowcartLandingSound(Player Player, Vector2 Position, int Width, int Height)
Definition Mount.cs:18
const int DrawBackExtra
Definition Mount.cs:1794
void DoGemMinecartEffect(Player mountedPlayer, int dustType)
Definition Mount.cs:1206
int PlayerOffset
Definition Mount.cs:199
bool AutoJump
Definition Mount.cs:460
float DashSpeed
Definition Mount.cs:309
const int DrawFrontExtra
Definition Mount.cs:1800
IEntitySource GetProjectileSpawnSource(Player mountedPlayer)
Definition Mount.cs:666
void UpdateFrame(Player mountedPlayer, int state, Vector2 velocity)
Definition Mount.cs:1030
void ClearBuff(int type)
Definition Player.cs:2490
static int Height(this Asset< Texture2D > asset)
Definition Utils.cs:701
static int Width(this Asset< Texture2D > asset)
Definition Utils.cs:696
static bool SolidTile(short tileSHeader, ushort tileType)
static bool CanKillTile(int i, int j, WorldGen.SpecialKillTileContext context)
static int KillTile_GetTileDustAmount(bool fail, Tile tileCache)
bool nactive()
Definition Tile.cs:1187