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
OneFromOptionsDropRule.cs
Go to the documentation of this file.
1using System;
5
7{
8 // Token: 0x02000888 RID: 2184
10 {
11 // Token: 0x170007DE RID: 2014
12 // (get) Token: 0x06004438 RID: 17464 RVA: 0x0024F6B0 File Offset: 0x0024D8B0
13 // (set) Token: 0x06004439 RID: 17465 RVA: 0x0024F6C4 File Offset: 0x0024D8C4
15 {
17 get
18 {
19 return this.<ChainedRules>k__BackingField;
20 }
22 private set
23 {
25 }
26 }
27
28 // Token: 0x0600443A RID: 17466 RVA: 0x0024F6D8 File Offset: 0x0024D8D8
35
36 // Token: 0x0600443B RID: 17467 RVA: 0x0024F700 File Offset: 0x0024D900
38 {
39 return true;
40 }
41
42 // Token: 0x0600443C RID: 17468 RVA: 0x0024F710 File Offset: 0x0024D910
44 {
45 /*
46An exception occurred when decompiling this method (0600443C)
47
48ICSharpCode.Decompiler.DecompilerException: Error decompiling Terraria.GameContent.ItemDropRules.ItemDropAttemptResult Terraria.GameContent.ItemDropRules.OneFromOptionsDropRule::TryDroppingItem(Terraria.GameContent.ItemDropRules.DropAttemptInfo)
49
50 ---> System.Exception: Basic block has to end with unconditional control flow.
51{
52 Block_0:
53 stloc:Player(var_0_06, ldfld:Player(DropAttemptInfo::player, ldloc:DropAttemptInfo[exp:valuetype Terraria.GameContent.ItemDropRules.DropAttemptInfo&](info)))
54 stloc:int32(var_1_0D, ldfld:int32(OneFromOptionsDropRule::chanceDenominator, ldloc:OneFromOptionsDropRule(this)))
55 stloc:int32(var_2_15, call:int32(Player::RollLuck, ldloc:Player(var_0_06), ldloc:int32(var_1_0D)))
56 stloc:int32(var_3_1C, ldfld:int32(OneFromOptionsDropRule::chanceNumerator, ldloc:OneFromOptionsDropRule(this)))
57 stloc:int32[](var_4_23, ldfld:int32[](OneFromOptionsDropRule::dropIds, ldloc:OneFromOptionsDropRule(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: 0x0600443D RID: 17469 RVA: 0x000021DB File Offset: 0x000003DB
73 {
74 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
75 }
76
77 // Token: 0x040081E5 RID: 33253
78 public int[] dropIds;
79
80 // Token: 0x040081E6 RID: 33254
82
83 // Token: 0x040081E7 RID: 33255
84 public int chanceNumerator;
85
86 // Token: 0x040081E8 RID: 33256
89 }
90}
class f__AnonymousType0<< Count > j__TPar
void ReportDroprates(List< DropRateInfo > drops, DropRateInfoChainFeed ratesInfo)
OneFromOptionsDropRule(int chanceDenominator, int chanceNumerator, params int[] options)
List< IItemDropRuleChainAttempt >< ChainedRules > k__BackingField
ItemDropAttemptResult TryDroppingItem(DropAttemptInfo info)