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
ItemDropDatabase.cs
Go to the documentation of this file.
1using System;
5
7{
8 // Token: 0x020008CC RID: 2252
9 public class ItemDropDatabase
10 {
11 // Token: 0x06004551 RID: 17745 RVA: 0x00250EF8 File Offset: 0x0024F0F8
16
17 // Token: 0x06004552 RID: 17746 RVA: 0x00250F68 File Offset: 0x0024F168
23
24 // Token: 0x06004553 RID: 17747 RVA: 0x00250F84 File Offset: 0x0024F184
26 {
27 /*
28An exception occurred when decompiling this method (06004553)
29
30ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Collections.Generic.List`1<Terraria.GameContent.ItemDropRules.IItemDropRule> Terraria.GameContent.ItemDropRules.ItemDropDatabase::GetRulesForNPCID(System.Int32,System.Boolean)
31
32 ---> System.Exception: Basic block has to end with unconditional control flow.
33{
34 Block_0:
35 stloc:class [mscorlib]System.Collections.Generic.List`1<class Terraria.GameContent.ItemDropRules.IItemDropRule>(var_0_06, ldfld:class [mscorlib]System.Collections.Generic.List`1<class Terraria.GameContent.ItemDropRules.IItemDropRule>(ItemDropDatabase::_globalEntries, ldloc:ItemDropDatabase(this)))
36 stloc:class [mscorlib]System.Collections.Generic.Dictionary`2<int32, class [mscorlib]System.Collections.Generic.List`1<class Terraria.GameContent.ItemDropRules.IItemDropRule>>(var_1_0D, ldfld:class [mscorlib]System.Collections.Generic.Dictionary`2<int32, class [mscorlib]System.Collections.Generic.List`1<class Terraria.GameContent.ItemDropRules.IItemDropRule>>(ItemDropDatabase::_entriesByNpcNetId, ldloc:ItemDropDatabase(this)))
37}
38
39 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
40 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
41 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
42 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
43 --- End of inner exception stack trace ---
44 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
45 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
46*/;
47 }
48
49 // Token: 0x06004554 RID: 17748 RVA: 0x000021DB File Offset: 0x000003DB
51 {
52 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
53 }
54
55 // Token: 0x06004555 RID: 17749 RVA: 0x00250FA0 File Offset: 0x0024F1A0
57 {
58 this.RegisterToNPCNetId(type, entry);
61 return entry;
62 }
63
64 // Token: 0x06004556 RID: 17750 RVA: 0x00250FCC File Offset: 0x0024F1CC
74
75 // Token: 0x06004557 RID: 17751 RVA: 0x00251008 File Offset: 0x0024F208
77 {
78 return entry;
79 }
80
81 // Token: 0x06004558 RID: 17752 RVA: 0x00251018 File Offset: 0x0024F218
83 {
84 long num = 0L;
86 IItemDropRule itemDropRule = itemDropRule2.OnSuccess(entry, num != 0L);
87 return entry;
88 }
89
90 // Token: 0x06004559 RID: 17753 RVA: 0x00251038 File Offset: 0x0024F238
92 {
93 long num = 0L;
95 IItemDropRule itemDropRule = itemDropRule2.OnSuccess(entry, num != 0L);
96 return entry;
97 }
98
99 // Token: 0x0600455A RID: 17754 RVA: 0x00251058 File Offset: 0x0024F258
105
106 // Token: 0x0600455B RID: 17755 RVA: 0x00251074 File Offset: 0x0024F274
108 {
109 this.RemoveFromNPCNetId(type, entry);
110 Dictionary.Entry[] entries = this._npcNetIdsByType._entries;
112 return entry;
113 }
114
115 // Token: 0x0600455C RID: 17756 RVA: 0x002510A0 File Offset: 0x0024F2A0
117 {
118 return entry;
119 }
120
121 // Token: 0x0600455D RID: 17757 RVA: 0x002510B0 File Offset: 0x0024F2B0
122 public void Populate()
123 {
125 this.RegisterGlobalRules();
126 this.RegisterFoodDrops();
127 this.RegisterWeirdRules();
130 this.RegisterMiscDrops();
132 this.RegisterYoyos();
134 this.RegisterPirateDrops();
137 this.RegisterBosses();
139 this.RegisterMimic();
140 this.RegisterEclipse();
143 }
144
145 // Token: 0x0600455E RID: 17758 RVA: 0x00251130 File Offset: 0x0024F330
147 {
152 IItemDropRule itemDropRule5 = this.RegisterToNPC(620, itemDropRule4);
154 IItemDropRule itemDropRule7 = this.RegisterToNPC(620, itemDropRule6);
156 IItemDropRule itemDropRule9 = this.RegisterToNPC(621, itemDropRule8);
158 IItemDropRule itemDropRule11 = this.RegisterToNPC(621, itemDropRule10);
160 IItemDropRule itemDropRule13 = this.RegisterToNPC(618, itemDropRule12);
162 IItemDropRule itemDropRule15 = this.RegisterToNPC(618, itemDropRule14);
164 IItemDropRule itemDropRule17 = this.RegisterToNPC(618, itemDropRule16);
166 }
167
168 // Token: 0x0600455F RID: 17759 RVA: 0x0025124C File Offset: 0x0024F44C
169 private void RegisterEclipse()
170 {
172 IItemDropRule itemDropRule2 = this.RegisterToNPC(461, itemDropRule);
175 IItemDropRule itemDropRule5 = this.RegisterToNPC(251, itemDropRule4);
177 IItemDropRule itemDropRule7 = this.RegisterToNPC(251, itemDropRule6);
179 IItemDropRule itemDropRule9 = this.RegisterToNPC(251, itemDropRule8);
181 IItemDropRule itemDropRule11 = this.RegisterToNPC(477, itemDropRule10);
183 IItemDropRule itemDropRule13 = this.RegisterToNPC(253, itemDropRule12);
185 IItemDropRule itemDropRule15 = this.RegisterToNPC(460, itemDropRule14);
187 IItemDropRule itemDropRule17 = this.RegisterToNPC(469, itemDropRule16);
190 IItemDropRule itemDropRule20 = this.RegisterToNPC(462, itemDropRule19);
192 long num = 0L;
196 long num2 = 0L;
200 long num3 = 0L;
203 long num4 = 0L;
207 long num5 = 0L;
210 IItemDropRule itemDropRule35 = this.RegisterToNPC(460, itemDropRule34);
212 IItemDropRule itemDropRule37 = this.RegisterToNPC(460, itemDropRule36);
214 IItemDropRule itemDropRule39 = this.RegisterToNPC(460, itemDropRule38);
216 long num6 = 0L;
220 IItemDropRule itemDropRule44 = this.RegisterToNPC(468, itemDropRule43);
222 IItemDropRule itemDropRule46 = this.RegisterToNPC(468, itemDropRule45);
224 long num7 = 0L;
228 long num8 = 0L;
233 IItemDropRule itemDropRule55 = ItemDropRule.Common(3108, 1, 100, 200);
235 IItemDropRule itemDropRule57 = ItemDropRule.Common(3108, 1, 100, 200);
237 }
238
239 // Token: 0x06004560 RID: 17760 RVA: 0x0025157C File Offset: 0x0024F77C
269
270 // Token: 0x06004561 RID: 17761 RVA: 0x00251604 File Offset: 0x0024F804
272 {
274 IItemDropRule itemDropRule2 = this.RegisterToNPC(290, itemDropRule);
276 IItemDropRule itemDropRule4 = this.RegisterToNPC(290, itemDropRule3);
278 IItemDropRule itemDropRule6 = this.RegisterToNPC(287, itemDropRule5);
280 IItemDropRule itemDropRule8 = this.RegisterToNPC(287, itemDropRule7);
282 IItemDropRule itemDropRule10 = this.RegisterToNPC(291, itemDropRule9);
284 IItemDropRule itemDropRule12 = this.RegisterToNPC(291, itemDropRule11);
286 IItemDropRule itemDropRule14 = this.RegisterToNPC(292, itemDropRule13);
288 IItemDropRule itemDropRule16 = this.RegisterToNPC(292, itemDropRule15);
290 IItemDropRule itemDropRule18 = this.RegisterToNPC(293, itemDropRule17);
292 IItemDropRule itemDropRule20 = this.RegisterToNPC(289, itemDropRule19);
302 IItemDropRule itemDropRule30 = this.RegisterToNPC(288, itemDropRule29);
303 }
304
305 // Token: 0x06004562 RID: 17762 RVA: 0x002517DC File Offset: 0x0024F9DC
331
332 // Token: 0x06004563 RID: 17763 RVA: 0x00251870 File Offset: 0x0024FA70
348
349 // Token: 0x06004564 RID: 17764 RVA: 0x00251920 File Offset: 0x0024FB20
372
373 // Token: 0x06004565 RID: 17765 RVA: 0x002519F4 File Offset: 0x0024FBF4
375 {
377 IItemDropRule itemDropRule = this.RegisterToNPC(315, itemDropRule2);
378 long num = 0L;
386 if (itemDropRule9 == null || itemDropRule9 != null)
387 {
389 if ((itemDropRule10 == null || itemDropRule10 != null) && (itemDropRule6 == null || itemDropRule6 != null))
390 {
392 if (itemDropRule11 == null || itemDropRule11 != null)
393 {
395 if (itemDropRule12 == null || itemDropRule12 != null)
396 {
397 long num2 = 0L;
401 long num3 = 0L;
405 long num4 = 0L;
409 long num5 = 0L;
417 if ((itemDropRule22 == null || itemDropRule22 != null) && (itemDropRule25 == null || itemDropRule25 != null))
418 {
420 if (itemDropRule28 == null || itemDropRule28 != null)
421 {
423 if (itemDropRule29 == null || itemDropRule29 != null)
424 {
426 if (itemDropRule30 == null || itemDropRule30 != null)
427 {
429 if (itemDropRule31 == null || itemDropRule31 != null)
430 {
432 if (itemDropRule32 == null || itemDropRule32 != null)
433 {
435 if (itemDropRule33 == null || itemDropRule33 != null)
436 {
437 long num6 = 0L;
441 long num7 = 0L;
446 long num8 = 0L;
448 return;
449 }
450 }
451 }
452 }
453 }
454 }
455 }
456 }
457 }
458 }
459 }
460 throw new ArrayTypeMismatchException();
461 }
462
463 // Token: 0x06004566 RID: 17766 RVA: 0x00251C7C File Offset: 0x0024FE7C
465 {
466 long num = 0L;
471 long num2 = 0L;
473 long num3 = 0L;
477 long num4 = 0L;
481 long num5 = 0L;
483 long num6 = 0L;
487 long num7 = 0L;
491 long num8 = 0L;
493 long num9 = 0L;
497 long num10 = 0L;
501 long num11 = 0L;
503 long num12 = 0L;
507 long num13 = 0L;
511 long num14 = 0L;
515 long num15 = 0L;
518 IItemDropRule itemDropRule34 = this.RegisterToNPC(341, itemDropRule35);
519 }
520
521 // Token: 0x06004567 RID: 17767 RVA: 0x00251E08 File Offset: 0x00250008
540
541 // Token: 0x06004568 RID: 17768 RVA: 0x00251EBC File Offset: 0x002500BC
543 {
545 IItemDropRule itemDropRule2 = this.RegisterToNPC(262, itemDropRule);
547 IItemDropRule itemDropRule4 = this.RegisterToNPC(262, itemDropRule3);
550 IItemDropRule itemDropRule6 = this.RegisterToNPC(262, itemDropRule5);
560 if (itemDropRule13 == null || itemDropRule13 != null)
561 {
563 if (itemDropRule16 == null || itemDropRule16 != null)
564 {
566 if (itemDropRule17 == null || itemDropRule17 != null)
567 {
569 if (itemDropRule18 == null || itemDropRule18 != null)
570 {
572 if (itemDropRule19 == null || itemDropRule19 != null)
573 {
575 if (itemDropRule20 == null || itemDropRule20 != null)
576 {
578 if (itemDropRule21 == null || itemDropRule21 != null)
579 {
580 return;
581 }
582 }
583 }
584 }
585 }
586 }
587 }
588 throw new ArrayTypeMismatchException();
589 }
590
591 // Token: 0x06004569 RID: 17769 RVA: 0x00252048 File Offset: 0x00250248
610
611 // Token: 0x0600456A RID: 17770 RVA: 0x002520D4 File Offset: 0x002502D4
630
631 // Token: 0x0600456B RID: 17771 RVA: 0x00252174 File Offset: 0x00250374
644
645 // Token: 0x0600456C RID: 17772 RVA: 0x002521F0 File Offset: 0x002503F0
671
672 // Token: 0x0600456D RID: 17773 RVA: 0x00252294 File Offset: 0x00250494
687
688 // Token: 0x0600456E RID: 17774 RVA: 0x00252314 File Offset: 0x00250514
706
707 // Token: 0x0600456F RID: 17775 RVA: 0x002523AC File Offset: 0x002505AC
734
735 // Token: 0x06004570 RID: 17776 RVA: 0x00252468 File Offset: 0x00250668
763
764 // Token: 0x06004571 RID: 17777 RVA: 0x00252540 File Offset: 0x00250740
785
786 // Token: 0x06004572 RID: 17778 RVA: 0x00252600 File Offset: 0x00250800
809
810 // Token: 0x06004573 RID: 17779 RVA: 0x00252694 File Offset: 0x00250894
823
824 // Token: 0x06004574 RID: 17780 RVA: 0x00252718 File Offset: 0x00250918
841
842 // Token: 0x06004575 RID: 17781 RVA: 0x002527A8 File Offset: 0x002509A8
844 {
845 }
846
847 // Token: 0x06004576 RID: 17782 RVA: 0x002527B8 File Offset: 0x002509B8
866
867 // Token: 0x06004577 RID: 17783 RVA: 0x00252848 File Offset: 0x00250A48
868 private void RegisterBoss_Golem()
869 {
871 IItemDropRule itemDropRule2 = this.RegisterToNPC(245, itemDropRule);
873 IItemDropRule itemDropRule4 = this.RegisterToNPC(245, itemDropRule3);
876 IItemDropRule itemDropRule6 = this.RegisterToNPC(245, itemDropRule5);
878 IItemDropRule itemDropRule7 = this.RegisterToNPC(245, itemDropRule8);
880 IItemDropRule itemDropRule9 = this.RegisterToNPC(245, itemDropRule10);
884 if (itemDropRule11 == null || itemDropRule11 != null)
885 {
887 if (itemDropRule14 == null || itemDropRule14 != null)
888 {
890 if (itemDropRule15 == null || itemDropRule15 != null)
891 {
893 if (itemDropRule16 == null || itemDropRule16 != null)
894 {
896 if (itemDropRule17 == null || itemDropRule17 != null)
897 {
899 if (itemDropRule18 == null || itemDropRule18 != null)
900 {
902 if (itemDropRule19 == null || itemDropRule19 != null)
903 {
905 IItemDropRule itemDropRule20 = this.RegisterToNPC(245, itemDropRule21);
906 return;
907 }
908 }
909 }
910 }
911 }
912 }
913 }
914 throw new ArrayTypeMismatchException();
915 }
916
917 // Token: 0x06004578 RID: 17784 RVA: 0x002529A8 File Offset: 0x00250BA8
940
941 // Token: 0x06004579 RID: 17785 RVA: 0x00252A48 File Offset: 0x00250C48
942 private void RegisterWeirdRules()
943 {
945 }
946
947 // Token: 0x0600457A RID: 17786 RVA: 0x00252A64 File Offset: 0x00250C64
948 private void RegisterGlobalRules()
949 {
951 IItemDropRule itemDropRule = this.RegisterToGlobal(itemDropRule2);
953 long num = 0L;
954 IItemDropRule itemDropRule4 = itemDropRule.OnFailedRoll(itemDropRule3, num != 0L);
956 IItemDropRule itemDropRule5 = this.RegisterToGlobal(itemDropRule6);
957 }
958
959 // Token: 0x0600457B RID: 17787 RVA: 0x00252AA8 File Offset: 0x00250CA8
960 private void RegisterFoodDrops()
961 {
963 IItemDropRule itemDropRule2 = this.RegisterToNPC(48, itemDropRule);
965 IItemDropRule itemDropRule4 = this.RegisterToNPC(224, itemDropRule3);
967 IItemDropRule itemDropRule6 = this.RegisterToNPC(44, itemDropRule5);
968 IItemDropRule itemDropRule7 = ItemDropRule.Food(4037, 100, 1, 1);
969 IItemDropRule itemDropRule8 = this.RegisterToNPC(469, itemDropRule7);
979 IItemDropRule itemDropRule18 = this.RegisterToNPC(289, itemDropRule17);
981 IItemDropRule itemDropRule20 = this.RegisterToNPC(34, itemDropRule19);
985 IItemDropRule itemDropRule24 = this.RegisterToNPC(287, itemDropRule23);
988 IItemDropRule itemDropRule27 = this.RegisterToNPC(290, itemDropRule26);
995 IItemDropRule itemDropRule34 = this.RegisterToNPC(122, itemDropRule33);
996 }
997
998 // Token: 0x0600457C RID: 17788 RVA: 0x00252CC0 File Offset: 0x00250EC0
999 private void RegisterTownNPCDrops()
1000 {
1002 IItemDropRule itemDropRule2 = this.RegisterToNPC(353, itemDropRule);
1004 IItemDropRule itemDropRule4 = this.RegisterToNPC(441, itemDropRule3);
1006 IItemDropRule itemDropRule6 = this.RegisterToNPC(227, itemDropRule5);
1008 IItemDropRule itemDropRule8 = this.RegisterToNPC(550, itemDropRule7);
1010 IItemDropRule itemDropRule10 = this.RegisterToNPC(208, itemDropRule9);
1012 IItemDropRule itemDropRule12 = this.RegisterToNPC(207, itemDropRule11);
1014 IItemDropRule itemDropRule14 = this.RegisterToNPC(124, itemDropRule13);
1016 IItemDropRule itemDropRule15 = this.RegisterToNPC(663, itemDropRule16);
1018 IItemDropRule itemDropRule18 = this.RegisterToNPC(54, itemDropRule17);
1020 IItemDropRule itemDropRule20 = this.RegisterToNPC(368, itemDropRule19);
1021 }
1022
1023 // Token: 0x0600457D RID: 17789 RVA: 0x00252DE8 File Offset: 0x00250FE8
1025 {
1027 IItemDropRule itemDropRule = this.RegisterToNPC(576, itemDropRule2);
1029 IItemDropRule itemDropRule3 = this.RegisterToNPC(576, itemDropRule4);
1031 IItemDropRule itemDropRule6 = this.RegisterToNPC(576, itemDropRule5);
1033 IItemDropRule itemDropRule8 = this.RegisterToNPC(577, itemDropRule7);
1036 IItemDropRule itemDropRule10 = this.RegisterToNPC(577, itemDropRule9);
1038 IItemDropRule itemDropRule11 = this.RegisterToNPC(577, itemDropRule12);
1040 IItemDropRule itemDropRule13 = this.RegisterToNPC(577, itemDropRule14);
1042 IItemDropRule itemDropRule16 = this.RegisterToNPC(577, itemDropRule15);
1044 IItemDropRule itemDropRule18 = this.RegisterToNPC(564, itemDropRule17);
1047 IItemDropRule itemDropRule20 = this.RegisterToNPC(564, itemDropRule19);
1049 IItemDropRule itemDropRule21 = this.RegisterToNPC(564, itemDropRule22);
1055 IItemDropRule itemDropRule27 = this.RegisterToNPC(564, itemDropRule28);
1057 IItemDropRule itemDropRule30 = this.RegisterToNPC(565, itemDropRule29);
1059 IItemDropRule itemDropRule32 = this.RegisterToNPC(565, itemDropRule31);
1062 IItemDropRule itemDropRule34 = this.RegisterToNPC(565, itemDropRule33);
1064 IItemDropRule itemDropRule35 = this.RegisterToNPC(565, itemDropRule36);
1070 IItemDropRule itemDropRule41 = this.RegisterToNPC(565, itemDropRule42);
1071 }
1072
1073 // Token: 0x0600457E RID: 17790 RVA: 0x00253000 File Offset: 0x00251200
1075 {
1077 IItemDropRule itemDropRule2 = this.RegisterToNPC(156, itemDropRule);
1079 IItemDropRule itemDropRule4 = this.RegisterToNPC(243, itemDropRule3);
1083 IItemDropRule itemDropRule8 = this.RegisterToNPC(48, itemDropRule7);
1084 }
1085
1086 // Token: 0x0600457F RID: 17791 RVA: 0x00253088 File Offset: 0x00251288
1087 private void RegisterYoyos()
1088 {
1089 }
1090
1091 // Token: 0x06004580 RID: 17792 RVA: 0x00253098 File Offset: 0x00251298
1104
1105 // Token: 0x06004581 RID: 17793 RVA: 0x00253124 File Offset: 0x00251324
1106 private void RegisterPirateDrops()
1107 {
1108 IItemDropRule itemDropRule = ItemDropRule.Common(905, 4000, 1, 1);
1111 IItemDropRule itemDropRule4 = ItemDropRule.Common(2584, 1000, 1, 1);
1129 IItemDropRule itemDropRule22 = ItemDropRule.Common(3904, 150, 80, 130);
1142 IItemDropRule itemDropRule35 = this.RegisterToNPC(216, itemDropRule34);
1144 IItemDropRule itemDropRule37 = this.RegisterToNPC(216, itemDropRule36);
1147 IItemDropRule itemDropRule40 = this.RegisterToNPC(216, itemDropRule39);
1149 IItemDropRule itemDropRule42 = this.RegisterToNPC(216, itemDropRule41);
1151 IItemDropRule itemDropRule44 = this.RegisterToNPC(216, itemDropRule43);
1153 IItemDropRule itemDropRule46 = this.RegisterToNPC(491, itemDropRule45);
1155 IItemDropRule itemDropRule48 = this.RegisterToNPC(491, itemDropRule47);
1157 IItemDropRule itemDropRule50 = this.RegisterToNPC(491, itemDropRule49);
1159 IItemDropRule itemDropRule52 = this.RegisterToNPC(491, itemDropRule51);
1161 IItemDropRule itemDropRule54 = this.RegisterToNPC(491, itemDropRule53);
1163 IItemDropRule itemDropRule56 = this.RegisterToNPC(491, itemDropRule55);
1165 IItemDropRule itemDropRule58 = this.RegisterToNPC(491, itemDropRule57);
1167 IItemDropRule itemDropRule60 = this.RegisterToNPC(491, itemDropRule59);
1170 IItemDropRule itemDropRule62 = this.RegisterToNPC(491, itemDropRule61);
1172 IItemDropRule itemDropRule63 = this.RegisterToNPC(491, itemDropRule64);
1173 }
1174
1175 // Token: 0x06004582 RID: 17794 RVA: 0x00253588 File Offset: 0x00251788
1177 {
1178 }
1179
1180 // Token: 0x06004583 RID: 17795 RVA: 0x00253598 File Offset: 0x00251798
1182 {
1184 IItemDropRule itemDropRule = this.RegisterToNPC(4, itemDropRule2);
1186 IItemDropRule itemDropRule3 = this.RegisterToNPC(13, itemDropRule4);
1188 IItemDropRule itemDropRule5 = this.RegisterToNPC(14, itemDropRule6);
1190 IItemDropRule itemDropRule7 = this.RegisterToNPC(15, itemDropRule8);
1192 IItemDropRule itemDropRule9 = this.RegisterToNPC(266, itemDropRule10);
1194 IItemDropRule itemDropRule11 = this.RegisterToNPC(35, itemDropRule12);
1196 IItemDropRule itemDropRule13 = this.RegisterToNPC(222, itemDropRule14);
1198 IItemDropRule itemDropRule15 = this.RegisterToNPC(113, itemDropRule16);
1200 IItemDropRule itemDropRule17 = this.RegisterToNPC(134, itemDropRule18);
1202 IItemDropRule itemDropRule19 = this.RegisterToNPC(127, itemDropRule20);
1204 IItemDropRule itemDropRule21 = this.RegisterToNPC(262, itemDropRule22);
1206 IItemDropRule itemDropRule23 = this.RegisterToNPC(245, itemDropRule24);
1208 IItemDropRule itemDropRule25 = this.RegisterToNPC(50, itemDropRule26);
1210 IItemDropRule itemDropRule27 = this.RegisterToNPC(439, itemDropRule28);
1212 IItemDropRule itemDropRule29 = this.RegisterToNPC(395, itemDropRule30);
1214 IItemDropRule itemDropRule31 = this.RegisterToNPC(398, itemDropRule32);
1216 IItemDropRule itemDropRule33 = this.RegisterToNPC(636, itemDropRule34);
1218 IItemDropRule itemDropRule35 = this.RegisterToNPC(657, itemDropRule36);
1220 IItemDropRule itemDropRule37 = this.RegisterToNPC(668, itemDropRule38);
1222 IItemDropRule itemDropRule40 = this.RegisterToNPC(125, itemDropRule39);
1224 IItemDropRule itemDropRule42 = this.RegisterToNPC(126, itemDropRule41);
1226 IItemDropRule itemDropRule44 = this.RegisterToNPC(491, itemDropRule43);
1228 IItemDropRule itemDropRule46 = this.RegisterToNPC(551, itemDropRule45);
1230 IItemDropRule itemDropRule48 = this.RegisterToNPC(564, itemDropRule47);
1232 IItemDropRule itemDropRule50 = this.RegisterToNPC(565, itemDropRule49);
1234 IItemDropRule itemDropRule52 = this.RegisterToNPC(576, itemDropRule51);
1236 IItemDropRule itemDropRule54 = this.RegisterToNPC(577, itemDropRule53);
1237 }
1238
1239 // Token: 0x06004584 RID: 17796 RVA: 0x00253798 File Offset: 0x00251998
1262
1263 // Token: 0x06004585 RID: 17797 RVA: 0x002538CC File Offset: 0x00251ACC
1264 private void RegisterMiscDrops()
1265 {
1267 IItemDropRule itemDropRule2 = this.RegisterToNPC(68, itemDropRule);
1270 IItemDropRule itemDropRule5 = this.RegisterToNPC(77, itemDropRule4);
1273 IItemDropRule itemDropRule7 = this.RegisterToNPC(471, itemDropRule8);
1275 IItemDropRule itemDropRule10 = this.RegisterToNPC(153, itemDropRule9);
1277 long num = 0L;
1281 long num2 = 0L;
1285 long num3 = 0L;
1289 long num4 = 0L;
1293 long num5 = 0L;
1297 long num6 = 0L;
1301 long num7 = 0L;
1305 long num8 = 0L;
1309 long num9 = 0L;
1313 long num10 = 0L;
1317 IItemDropRule itemDropRule42 = this.RegisterToNPC(634, itemDropRule41);
1319 IItemDropRule itemDropRule44 = this.RegisterToNPC(185, itemDropRule43);
1322 IItemDropRule itemDropRule47 = this.RegisterToNPC(44, itemDropRule46);
1324 IItemDropRule itemDropRule49 = this.RegisterToNPC(44, itemDropRule48);
1326 IItemDropRule itemDropRule51 = this.RegisterToNPC(60, itemDropRule50);
1328 IItemDropRule itemDropRule53 = this.RegisterToNPC(151, itemDropRule52);
1330 IItemDropRule itemDropRule55 = this.RegisterToNPC(24, itemDropRule54);
1332 IItemDropRule itemDropRule57 = this.RegisterToNPC(109, itemDropRule56);
1334 IItemDropRule itemDropRule59 = this.RegisterToNPC(109, itemDropRule58);
1339 IItemDropRule itemDropRule64 = this.RegisterToNPC(244, itemDropRule63);
1341 IItemDropRule itemDropRule66 = this.RegisterToNPC(244, itemDropRule65);
1343 IItemDropRule itemDropRule68 = this.RegisterToNPC(250, itemDropRule67);
1345 IItemDropRule itemDropRule70 = this.RegisterToNPC(172, itemDropRule69);
1347 IItemDropRule itemDropRule72 = this.RegisterToNPC(172, itemDropRule71);
1349 IItemDropRule itemDropRule74 = this.RegisterToNPC(110, itemDropRule73);
1351 IItemDropRule itemDropRule76 = this.RegisterToNPC(110, itemDropRule75);
1354 IItemDropRule itemDropRule79 = this.RegisterToNPC(154, itemDropRule78);
1357 IItemDropRule itemDropRule82 = this.RegisterToNPC(243, itemDropRule81);
1359 IItemDropRule itemDropRule84 = this.RegisterToNPC(155, itemDropRule83);
1361 IItemDropRule itemDropRule86 = this.RegisterToNPC(480, itemDropRule85);
1363 IItemDropRule itemDropRule88 = this.RegisterToNPC(480, itemDropRule87);
1364 IItemDropRule itemDropRule89 = ItemDropRule.Common(1172, 1000, 1, 1);
1371 IItemDropRule itemDropRule95 = this.RegisterToNPC(473, itemDropRule96);
1373 IItemDropRule itemDropRule97 = this.RegisterToNPC(474, itemDropRule98);
1375 IItemDropRule itemDropRule99 = this.RegisterToNPC(475, itemDropRule100);
1377 IItemDropRule itemDropRule102 = this.RegisterToNPC(476, itemDropRule101);
1379 IItemDropRule itemDropRule104 = this.RegisterToNPC(476, itemDropRule103);
1381 IItemDropRule itemDropRule106 = this.RegisterToNPC(476, itemDropRule105);
1383 IItemDropRule itemDropRule107 = this.RegisterToNPC(476, itemDropRule108);
1385 IItemDropRule itemDropRule110 = this.RegisterToNPC(476, itemDropRule109);
1387 IItemDropRule itemDropRule112 = this.RegisterToNPC(476, itemDropRule111);
1389 IItemDropRule itemDropRule114 = this.RegisterToNPC(476, itemDropRule113);
1391 IItemDropRule itemDropRule116 = this.RegisterToNPC(476, itemDropRule115);
1393 IItemDropRule itemDropRule118 = this.RegisterToNPC(476, itemDropRule117);
1395 IItemDropRule itemDropRule120 = this.RegisterToNPC(476, itemDropRule119);
1401 IItemDropRule itemDropRule126 = this.RegisterToNPC(217, itemDropRule125);
1403 IItemDropRule itemDropRule128 = this.RegisterToNPC(218, itemDropRule127);
1405 IItemDropRule itemDropRule130 = this.RegisterToNPC(219, itemDropRule129);
1407 IItemDropRule itemDropRule132 = this.RegisterToNPC(220, itemDropRule131);
1409 IItemDropRule itemDropRule134 = this.RegisterToNPC(221, itemDropRule133);
1411 IItemDropRule itemDropRule136 = this.RegisterToNPC(167, itemDropRule135);
1413 IItemDropRule itemDropRule138 = this.RegisterToNPC(628, itemDropRule137);
1417 IItemDropRule itemDropRule142 = this.RegisterToNPC(80, itemDropRule141);
1419 IItemDropRule itemDropRule144 = this.RegisterToNPC(524, itemDropRule143);
1421 IItemDropRule itemDropRule146 = this.RegisterToNPC(525, itemDropRule145);
1423 IItemDropRule itemDropRule148 = this.RegisterToNPC(525, itemDropRule147);
1425 IItemDropRule itemDropRule150 = this.RegisterToNPC(525, itemDropRule149);
1427 IItemDropRule itemDropRule152 = this.RegisterToNPC(526, itemDropRule151);
1429 IItemDropRule itemDropRule154 = this.RegisterToNPC(526, itemDropRule153);
1431 IItemDropRule itemDropRule156 = this.RegisterToNPC(526, itemDropRule155);
1433 IItemDropRule itemDropRule158 = this.RegisterToNPC(527, itemDropRule157);
1435 IItemDropRule itemDropRule160 = this.RegisterToNPC(527, itemDropRule159);
1437 IItemDropRule itemDropRule162 = this.RegisterToNPC(513, itemDropRule161);
1439 IItemDropRule itemDropRule164 = this.RegisterToNPC(532, itemDropRule163);
1441 IItemDropRule itemDropRule166 = this.RegisterToNPC(532, itemDropRule165);
1443 IItemDropRule itemDropRule168 = this.RegisterToNPC(528, itemDropRule167);
1445 IItemDropRule itemDropRule169 = this.RegisterToNPC(528, itemDropRule170);
1447 IItemDropRule itemDropRule172 = this.RegisterToNPC(529, itemDropRule171);
1449 IItemDropRule itemDropRule173 = this.RegisterToNPC(529, itemDropRule174);
1453 IItemDropRule itemDropRule178 = this.RegisterToNPC(58, itemDropRule177);
1456 long num11 = 0L;
1460 long num12 = 0L;
1464 long num13 = 0L;
1468 long num14 = 0L;
1471 long num15 = 0L;
1474 IItemDropRule itemDropRule193 = this.RegisterToNPC(6, itemDropRule194);
1480 IItemDropRule itemDropRule199 = this.RegisterToNPC(98, itemDropRule200);
1482 IItemDropRule itemDropRule202 = this.RegisterToNPC(86, itemDropRule201);
1484 IItemDropRule itemDropRule204 = this.RegisterToNPC(86, itemDropRule203);
1486 IItemDropRule itemDropRule205 = this.RegisterToNPC(86, itemDropRule206);
1488 IItemDropRule itemDropRule208 = this.RegisterToNPC(224, itemDropRule207);
1491 IItemDropRule itemDropRule211 = this.RegisterToNPC(225, itemDropRule210);
1493 long num16 = 0L;
1496 IItemDropRule itemDropRule215 = this.RegisterToNPC(537, itemDropRule214);
1498 IItemDropRule itemDropRule217 = this.RegisterToNPC(537, itemDropRule216);
1501 IItemDropRule itemDropRule220 = this.RegisterToNPC(1, itemDropRule219);
1503 IItemDropRule itemDropRule222 = this.RegisterToNPC(100, itemDropRule221);
1509 IItemDropRule itemDropRule228 = this.RegisterToNPC(75, itemDropRule227);
1512 IItemDropRule itemDropRule231 = this.RegisterToNPC(122, itemDropRule230);
1514 IItemDropRule itemDropRule233 = this.RegisterToNPC(71, itemDropRule232);
1517 long num17 = 0L;
1521 IItemDropRule itemDropRule238 = this.RegisterToNPC(133, itemDropRule239);
1523 IItemDropRule itemDropRule241 = this.RegisterToNPC(104, itemDropRule240);
1525 IItemDropRule itemDropRule243 = this.RegisterToNPC(58, itemDropRule242);
1527 long num18 = 0L;
1530 IItemDropRule itemDropRule247 = this.RegisterToNPC(102, itemDropRule246);
1537 IItemDropRule itemDropRule253 = this.RegisterToNPC(223, itemDropRule254);
1539 IItemDropRule itemDropRule256 = this.RegisterToNPC(66, itemDropRule255);
1542 IItemDropRule itemDropRule259 = this.RegisterToNPC(52, itemDropRule258);
1544 IItemDropRule itemDropRule261 = this.RegisterToNPC(53, itemDropRule260);
1546 IItemDropRule itemDropRule263 = this.RegisterToNPC(536, itemDropRule262);
1548 IItemDropRule itemDropRule265 = this.RegisterToNPC(536, itemDropRule264);
1551 IItemDropRule itemDropRule267 = this.RegisterToNPC(582, itemDropRule268);
1554 IItemDropRule itemDropRule271 = this.RegisterToNPC(73, itemDropRule270);
1565 IItemDropRule itemDropRule282 = this.RegisterToNPC(533, itemDropRule281);
1567 long num19 = 0L;
1574 IItemDropRule itemDropRule289 = this.RegisterToNPC(63, itemDropRule290);
1576 IItemDropRule itemDropRule291 = this.RegisterToNPC(64, itemDropRule292);
1578 IItemDropRule itemDropRule294 = this.RegisterToNPC(481, itemDropRule293);
1580 IItemDropRule itemDropRule295 = this.RegisterToNPC(481, itemDropRule296);
1582 IItemDropRule itemDropRule298 = this.RegisterToNPC(481, itemDropRule297);
1585 IItemDropRule itemDropRule301 = this.RegisterToNPC(44, itemDropRule300);
1586 long num20 = 0L;
1590 long num21 = 0L;
1593 IItemDropRule itemDropRule307 = this.RegisterToNPC(45, itemDropRule306);
1595 IItemDropRule itemDropRule309 = this.RegisterToNPC(23, itemDropRule308);
1597 IItemDropRule itemDropRule311 = this.RegisterToNPC(24, itemDropRule310);
1600 long num22 = 0L;
1604 long num23 = 0L;
1606 long num24 = 0L;
1611 long num25 = 0L;
1616 IItemDropRule itemDropRule325 = this.RegisterToNPC(175, itemDropRule326);
1619 IItemDropRule itemDropRule329 = this.RegisterToNPC(176, itemDropRule328);
1621 IItemDropRule itemDropRule331 = this.RegisterToNPC(204, itemDropRule330);
1623 IItemDropRule itemDropRule333 = this.RegisterToNPC(43, itemDropRule332);
1625 IItemDropRule itemDropRule334 = this.RegisterToNPC(43, itemDropRule335);
1627 IItemDropRule itemDropRule336 = this.RegisterToNPC(39, itemDropRule337);
1629 IItemDropRule itemDropRule338 = this.RegisterToNPC(65, itemDropRule339);
1631 IItemDropRule itemDropRule341 = this.RegisterToNPC(65, itemDropRule340);
1633 long num26 = 0L;
1636 IItemDropRule itemDropRule345 = this.RegisterToNPC(48, itemDropRule344);
1638 IItemDropRule itemDropRule347 = this.RegisterToNPC(541, itemDropRule346);
1641 IItemDropRule itemDropRule350 = this.RegisterToNPC(543, itemDropRule349);
1643 IItemDropRule itemDropRule352 = this.RegisterToNPC(544, itemDropRule351);
1645 IItemDropRule itemDropRule354 = this.RegisterToNPC(545, itemDropRule353);
1647 IItemDropRule itemDropRule355 = this.RegisterToNPC(47, itemDropRule356);
1649 IItemDropRule itemDropRule357 = this.RegisterToNPC(464, itemDropRule358);
1651 IItemDropRule itemDropRule360 = this.RegisterToNPC(268, itemDropRule359);
1653 IItemDropRule itemDropRule362 = this.RegisterToNPC(631, itemDropRule361);
1655 IItemDropRule itemDropRule364 = this.RegisterToNPC(631, itemDropRule363);
1656 }
1657
1658 // Token: 0x06004586 RID: 17798 RVA: 0x00254DE8 File Offset: 0x00252FE8
1660 {
1661 }
1662
1663 // Token: 0x040081FB RID: 33275
1665
1666 // Token: 0x040081FC RID: 33276
1668
1669 // Token: 0x040081FD RID: 33277
1671
1672 // Token: 0x040081FE RID: 33278
1673 private int _masterModeDropRng = 4;
1674
1675 // Token: 0x020008CD RID: 2253
1677 [Serializable]
1678 private sealed class <>c
1679 {
1680 // Token: 0x06004587 RID: 17799 RVA: 0x00254E04 File Offset: 0x00253004
1681 // Note: this type is marked as 'beforefieldinit'.
1682 static <>c()
1683 {
1684 }
1685
1686 // Token: 0x06004588 RID: 17800 RVA: 0x00254E14 File Offset: 0x00253014
1687 public <>c()
1688 {
1689 }
1690
1691 // Token: 0x06004589 RID: 17801 RVA: 0x000021DB File Offset: 0x000003DB
1693 {
1694 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1695 }
1696
1697 // Token: 0x040081FF RID: 33279
1698 public static readonly ItemDropDatabase.<>c <>9;
1699
1700 // Token: 0x04008200 RID: 33280
1701 public static Func<KeyValuePair<int, NPC>, bool> <>9__3_0;
1702 }
1703 }
1704}
class f__AnonymousType0<< Count > j__TPar
Dictionary< TKey, TValue >.Entry[] _entries
IItemDropRule RegisterToMultipleNPCs(IItemDropRule entry, params int[] npcNetIds)
IItemDropRule RegisterToNPC(int type, IItemDropRule entry)
IItemDropRule RegisterToMultipleNPCsRemixSeed(IItemDropRule entry, params int[] npcNetIds)
Dictionary< int, List< IItemDropRule > > _entriesByNpcNetId
IItemDropRule RegisterToMultipleNPCsNotRemixSeed(IItemDropRule entry, params int[] npcNetIds)
IItemDropRule RemoveFromNPC(int type, IItemDropRule entry)
IItemDropRule RemoveFromMultipleNPCs(IItemDropRule entry, params int[] npcNetIds)
IItemDropRule RegisterToGlobal(IItemDropRule entry)
List< IItemDropRule > GetRulesForNPCID(int npcNetId, bool includeGlobalDrops=true)
void RemoveFromNPCNetId(int npcNetId, IItemDropRule entry)
void RegisterToNPCNetId(int npcNetId, IItemDropRule entry)
static IItemDropRule StatusImmunityItem(int itemId, int dropsOutOfX)
static IItemDropRule NormalvsExpertNotScalingWithLuck(int itemId, int chanceDenominatorInNormal, int chanceDenominatorInExpert)
static IItemDropRule ExpertGetsRerolls(int itemId, int chanceDenominator, int expertRerolls)
static IItemDropRule Common(int itemId, int chanceDenominator=1, int minimumDropped=1, int maximumDropped=1)
static IItemDropRule Food(int itemId, int chanceDenominator, int minimumDropped=1, int maximumDropped=1)
static IItemDropRule MasterModeCommonDrop(int itemId)
static IItemDropRule NotScalingWithLuck(int itemId, int chanceDenominator=1, int minimumDropped=1, int maximumDropped=1)
static IItemDropRule WithRerolls(int itemId, int rerolls, int chanceDenominator=1, int minimumDropped=1, int maximumDropped=1)
static IItemDropRule NormalvsExpert(int itemId, int chanceDenominatorInNormal, int chanceDenominatorInExpert)
static IItemDropRule BossBag(int itemId)
static IItemDropRule MasterModeDropOnAllPlayers(int itemId, int chanceDenominator=1)