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
OneFromOptionsNotScaledWithLuckDropRule.cs
Go to the documentation of this file.
1using System;
5
7{
8 // Token: 0x02000887 RID: 2183
10 {
11 // Token: 0x170007DD RID: 2013
12 // (get) Token: 0x06004432 RID: 17458 RVA: 0x0024F608 File Offset: 0x0024D808
13 // (set) Token: 0x06004433 RID: 17459 RVA: 0x0024F61C File Offset: 0x0024D81C
15 {
17 get
18 {
19 return this.<ChainedRules>k__BackingField;
20 }
22 private set
23 {
25 }
26 }
27
28 // Token: 0x06004434 RID: 17460 RVA: 0x0024F630 File Offset: 0x0024D830
35
36 // Token: 0x06004435 RID: 17461 RVA: 0x0024F658 File Offset: 0x0024D858
38 {
39 return true;
40 }
41
42 // Token: 0x06004436 RID: 17462 RVA: 0x0024F668 File Offset: 0x0024D868
44 {
45 /*
46An exception occurred when decompiling this method (06004436)
47
48ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.GameContent.ItemDropRules.ItemDropAttemptResult Terraria.GameContent.ItemDropRules.OneFromOptionsNotScaledWithLuckDropRule::TryDroppingItem(Terraria.GameContent.ItemDropRules.DropAttemptInfo)
49
50 ---> System.Exception: Basic block has to end with unconditional control flow.
51{
52 Block_0:
53 stloc:UnifiedRandom(var_0_06, ldfld:UnifiedRandom(DropAttemptInfo::rng, ldloc:DropAttemptInfo[exp:valuetype Terraria.GameContent.ItemDropRules.DropAttemptInfo&](info)))
54 stloc:int32(var_1_0D, ldfld:int32(OneFromOptionsNotScaledWithLuckDropRule::chanceDenominator, ldloc:OneFromOptionsNotScaledWithLuckDropRule(this)))
55 stloc:int32(var_2_15, call:int32(UnifiedRandom::Next, ldloc:UnifiedRandom(var_0_06), ldloc:int32(var_1_0D)))
56 stloc:int32(var_3_1C, ldfld:int32(OneFromOptionsNotScaledWithLuckDropRule::chanceNumerator, ldloc:OneFromOptionsNotScaledWithLuckDropRule(this)))
57 stloc:int32[](var_4_23, ldfld:int32[](OneFromOptionsNotScaledWithLuckDropRule::dropIds, ldloc:OneFromOptionsNotScaledWithLuckDropRule(this)))
58 stloc:int32(var_5_31, call:int32(UnifiedRandom::Next, ldfld:UnifiedRandom(DropAttemptInfo::rng, ldloc:DropAttemptInfo[exp:valuetype Terraria.GameContent.ItemDropRules.DropAttemptInfo&](info)), ldloc:int32(var_1_0D)))
59}
60
61 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
62 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
63 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
64 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
65 --- End of inner exception stack trace ---
66 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
67 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
68*/;
69 }
70
71 // Token: 0x06004437 RID: 17463 RVA: 0x000021DB File Offset: 0x000003DB
73 {
74 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
75 }
76
77 // Token: 0x040081E1 RID: 33249
78 public int[] dropIds;
79
80 // Token: 0x040081E2 RID: 33250
82
83 // Token: 0x040081E3 RID: 33251
84 public int chanceNumerator;
85
86 // Token: 0x040081E4 RID: 33252
89 }
90}
class f__AnonymousType0<< Count > j__TPar
OneFromOptionsNotScaledWithLuckDropRule(int chanceDenominator, int chanceNumerator, params int[] options)
void ReportDroprates(List< DropRateInfo > drops, DropRateInfoChainFeed ratesInfo)