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
DD2Event.cs
Go to the documentation of this file.
1using System;
3using System.IO;
11
13{
14 // Token: 0x02000A4F RID: 2639
15 public class DD2Event
16 {
17 // Token: 0x17000894 RID: 2196
18 // (get) Token: 0x06004DB6 RID: 19894 RVA: 0x00274138 File Offset: 0x00272338
19 public static bool ReadyToFindBartender
20 {
21 get
22 {
23 /*
24An exception occurred when decompiling this method (06004DB6)
25
26ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.Events.DD2Event::get_ReadyToFindBartender()
27
28 ---> System.Exception: Basic block has to end with unconditional control flow.
29{
30 IL_0000:
31 brtrue(IL_0000, ldc.i4:bool(1))
32}
33
34 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
35 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
36 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
37 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
38 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
39 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
40 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
41 --- End of inner exception stack trace ---
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 92
43 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
44*/;
45 }
46 }
47
48 // Token: 0x17000895 RID: 2197
49 // (get) Token: 0x06004DB7 RID: 19895 RVA: 0x00274148 File Offset: 0x00272348
50 public static bool DownedInvasionAnyDifficulty
51 {
52 get
53 {
54 if (!true)
55 {
56 }
57 if (!true)
58 {
59 if (!true)
60 {
61 }
62 if (!true)
63 {
64 if (!true)
65 {
66 }
67 return true;
68 }
69 }
70 return true;
71 }
72 }
73
74 // Token: 0x17000896 RID: 2198
75 // (get) Token: 0x06004DB8 RID: 19896 RVA: 0x00274168 File Offset: 0x00272368
76 // (set) Token: 0x06004DB9 RID: 19897 RVA: 0x00274178 File Offset: 0x00272378
77 public static int TimeLeftBetweenWaves
78 {
79 get
80 {
81 /*
82An exception occurred when decompiling this method (06004DB8)
83
84ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.GameContent.Events.DD2Event::get_TimeLeftBetweenWaves()
85
86 ---> System.Exception: Basic block has to end with unconditional control flow.
87{
88 IL_0000:
89 brtrue(IL_0000, ldc.i4:bool(1))
90}
91
92 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
93 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
94 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
95 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
96 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
97 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
98 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
99 --- End of inner exception stack trace ---
100 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
101 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
102*/;
103 }
104 set
105 {
106 if (!true)
107 {
108 }
109 }
110 }
111
112 // Token: 0x17000897 RID: 2199
113 // (get) Token: 0x06004DBA RID: 19898 RVA: 0x00274188 File Offset: 0x00272388
114 public static bool EnemySpawningIsOnHold
115 {
116 get
117 {
118 /*
119An exception occurred when decompiling this method (06004DBA)
120
121ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.Events.DD2Event::get_EnemySpawningIsOnHold()
122
123 ---> System.Exception: Basic block has to end with unconditional control flow.
124{
125 IL_0000:
126 brtrue(IL_0000, ldc.i4:bool(1))
127}
128
129 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
130 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
131 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
132 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
133 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
134 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
135 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
136 --- End of inner exception stack trace ---
137 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
138 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
139*/;
140 }
141 }
142
143 // Token: 0x17000898 RID: 2200
144 // (get) Token: 0x06004DBB RID: 19899 RVA: 0x00274198 File Offset: 0x00272398
145 public static bool EnemiesShouldChasePlayers
146 {
147 get
148 {
149 if (!true)
150 {
151 }
152 return true;
153 }
154 }
155
156 // Token: 0x06004DBC RID: 19900 RVA: 0x002741AC File Offset: 0x002723AC
157 public static void Save(BinaryWriter writer)
158 {
159 if (!true)
160 {
161 }
162 }
163
164 // Token: 0x06004DBD RID: 19901 RVA: 0x002741BC File Offset: 0x002723BC
165 public static void Load(BinaryReader reader, int gameVersionNumber)
166 {
167 if (!true)
168 {
169 }
170 if (!true)
171 {
172 }
174 }
175
176 // Token: 0x06004DBE RID: 19902 RVA: 0x002741D8 File Offset: 0x002723D8
177 public static void ResetProgressEntirely()
178 {
179 if (!true)
180 {
181 }
182 }
183
184 // Token: 0x06004DBF RID: 19903 RVA: 0x002741E8 File Offset: 0x002723E8
185 public static void ReportEventProgress()
186 {
187 if (!true)
188 {
189 }
190 long num = 0L;
191 if (!true)
192 {
193 }
194 Main.ReportInvasionProgress(int.MinValue, 43134976, 3, (int)num);
195 }
196
197 // Token: 0x06004DC0 RID: 19904 RVA: 0x00274210 File Offset: 0x00272410
198 public static void SyncInvasionProgress(int toWho)
199 {
200 if (!true)
201 {
202 }
203 if (!true)
204 {
205 }
206 }
207
208 // Token: 0x06004DC1 RID: 19905 RVA: 0x00274224 File Offset: 0x00272424
209 public static void SpawnNPC(int newNPC)
210 {
211 }
212
213 // Token: 0x06004DC2 RID: 19906 RVA: 0x00274234 File Offset: 0x00272434
214 public static void UpdateTime()
215 {
216 int num = 1;
217 if (num == 0)
218 {
219 }
220 if (num == 0)
221 {
222 if (num == 0)
223 {
224 }
225 if (num == 0)
226 {
227 return;
228 }
229 }
230 if (num == 0)
231 {
232 }
233 bool logicHost = Main.LogicHost;
234 bool flag = NPC.AnyNPCs(548);
235 DD2Event.StopInvasion(false);
237 }
238
239 // Token: 0x06004DC3 RID: 19907 RVA: 0x002742BC File Offset: 0x002724BC
240 public static void StartInvasion(int difficultyOverride = -1)
241 {
242 int num = 1;
243 if (num == 0)
244 {
245 }
246 bool logicHost = Main.LogicHost;
247 if (num == 0)
248 {
249 }
251 if (num == 0)
252 {
253 }
254 if (num == 0)
255 {
256 }
257 if (num == 0)
258 {
259 }
261 if (num == 0)
262 {
263 }
265 int num2 = 1;
266 int num3 = 3;
267 int num4 = 1;
269 bool netHost = Main.NetHost;
272 }
273
274 // Token: 0x06004DC4 RID: 19908 RVA: 0x00274334 File Offset: 0x00272534
275 public static void StopInvasion(bool win = false)
276 {
277 int num = 1;
278 if (num == 0)
279 {
280 }
281 if (num != 0)
282 {
283 if (num == 0)
284 {
285 }
287 if (num == 0)
288 {
289 }
290 if (num == 0)
291 {
292 }
293 bool logicHost = Main.LogicHost;
294 if (num == 0)
295 {
296 }
297 if (num == 0)
298 {
299 }
301 if (num == 0)
302 {
303 }
304 }
305 }
306
307 // Token: 0x06004DC5 RID: 19909 RVA: 0x00274370 File Offset: 0x00272570
308 private static void WinInvasionInternal()
309 {
310 if (!true)
311 {
312 }
313 if (!true)
314 {
315 }
316 if (!true)
317 {
318 }
319 if (!true)
320 {
321 }
322 if (!true)
323 {
324 }
325 if (!true)
326 {
327 }
329 if (!true)
330 {
331 }
332 if (!true)
333 {
334 }
336 if (!true)
337 {
338 }
340 if (!true)
341 {
342 }
344 if (!true)
345 {
346 }
347 if (!true)
348 {
349 }
350 if (!true)
351 {
352 }
353 }
354
355 // Token: 0x06004DC6 RID: 19910 RVA: 0x002743C0 File Offset: 0x002725C0
356 public static void LoseInvasionMessage()
357 {
358 if (!true)
359 {
360 }
361 if ("Custom channel bindings are not supported." == null)
362 {
363 }
364 if ("Custom channel bindings are not supported." == null)
365 {
366 }
367 }
368
369 // Token: 0x17000899 RID: 2201
370 // (get) Token: 0x06004DC7 RID: 19911 RVA: 0x002743E0 File Offset: 0x002725E0
371 public static bool ReadyForTier2
372 {
373 get
374 {
375 if (!true)
376 {
377 }
378 if (!true || !true)
379 {
380 return;
381 }
382 }
383 }
384
385 // Token: 0x1700089A RID: 2202
386 // (get) Token: 0x06004DC8 RID: 19912 RVA: 0x002743F8 File Offset: 0x002725F8
387 public static bool ReadyForTier3
388 {
389 get
390 {
391 if (!true)
392 {
393 }
394 if (!true || !true)
395 {
396 return;
397 }
398 }
399 }
400
401 // Token: 0x06004DC9 RID: 19913 RVA: 0x00274410 File Offset: 0x00272610
402 private static void FindProperDifficulty()
403 {
404 if (!true)
405 {
406 }
408 if (!true)
409 {
410 }
411 if (!true)
412 {
413 }
415 }
416
417 // Token: 0x06004DCA RID: 19914 RVA: 0x00274434 File Offset: 0x00272634
418 public static void CheckProgress(int slainMonsterID)
419 {
420 int num = 1;
421 if (num == 0)
422 {
423 }
425 if (num == 0)
426 {
427 }
428 if (num == 0)
429 {
430 if (num == 0)
431 {
432 }
434 if (num == 0)
435 {
436 }
438 if (-2147483648 == 0)
439 {
440 if ("DungeonDefenders2.WaveCompleteFirst" == null)
441 {
442 }
443 if ("DungeonDefenders2.WaveComplete" == null)
444 {
445 }
446 if ("DungeonDefenders2.WaveComplete" == null)
447 {
448 }
450 if (-2147483648 == 0)
451 {
452 }
454 if (-2147483648 == 0)
455 {
456 }
457 if (-2147483648 == 0)
458 {
459 }
460 return;
461 }
462 if (monsterPointsWorth != 0)
463 {
464 if (-2147483648 == 0)
465 {
466 }
467 bool logicHost = Main.LogicHost;
468 if (-2147483648 == 0)
469 {
470 }
471 int num2 = 3;
473 if (-2147483648 == 0)
474 {
475 }
476 bool netHost = Main.NetHost;
477 if (-2147483648 == 0)
478 {
479 }
480 if (-2147483648 == 0)
481 {
482 }
483 return;
484 }
485 }
486 }
487
488 // Token: 0x06004DCB RID: 19915 RVA: 0x002745C4 File Offset: 0x002727C4
489 public static void StartVictoryScene()
490 {
491 int num = 1;
492 if (num == 0)
493 {
494 }
495 if (num == 0)
496 {
497 }
498 int num2 = NPC.FindFirstNPC(548);
499 if (num == 0)
500 {
501 }
502 if (num == 0)
503 {
504 }
505 if (num != 0)
506 {
507 if (num == 0)
508 {
509 }
510 if (num != 0)
511 {
512 if (num == 0)
513 {
514 }
515 if (num == 0)
516 {
517 }
518 }
519 }
520 }
521
522 // Token: 0x06004DCC RID: 19916 RVA: 0x00274604 File Offset: 0x00272804
523 public static void ReportLoss()
524 {
525 if (!true)
526 {
527 }
529 }
530
531 // Token: 0x06004DCD RID: 19917 RVA: 0x0027461C File Offset: 0x0027281C
532 private static void GetInvasionStatus([Out] int currentWave, [Out] int requiredKillCount, [Out] int currentKillCount, bool currentlyInCheckProgress = false)
533 {
534 if (!true)
535 {
536 }
539 if (32640 == 0)
540 {
541 }
542 if (32640 == 0)
543 {
544 }
546 }
547
548 // Token: 0x06004DCE RID: 19918 RVA: 0x00274680 File Offset: 0x00272880
549 private static short[] GetEnemiesForWave(int wave)
550 {
551 if (!true)
552 {
553 }
554 if (!true)
555 {
556 }
557 return DD2Event.Difficulty_3_GetEnemiesForWave(int.MinValue);
558 }
559
560 // Token: 0x06004DCF RID: 19919 RVA: 0x002746A8 File Offset: 0x002728A8
561 private static int GetMonsterPointsWorth(int slainMonsterID)
562 {
563 if (!true)
564 {
565 }
566 if (!true)
567 {
568 }
569 return DD2Event.Difficulty_3_GetMonsterPointsWorth(int.MinValue);
570 }
571
572 // Token: 0x06004DD0 RID: 19920 RVA: 0x002746E0 File Offset: 0x002728E0
574 {
575 if (!true)
576 {
577 }
578 if (!true)
579 {
580 }
581 }
582
583 // Token: 0x06004DD1 RID: 19921 RVA: 0x002746FC File Offset: 0x002728FC
584 public static void SummonCrystal(int x, int y, int whoAsks)
585 {
586 if (!true)
587 {
588 }
590 }
591
592 // Token: 0x06004DD2 RID: 19922 RVA: 0x00274720 File Offset: 0x00272920
593 public static void SummonCrystalDirect(int x, int y, int whoAsks)
594 {
595 int num = 1;
596 if (num == 0)
597 {
598 }
599 bool flag = NPC.AnyNPCs(548);
600 bool flag2 = Framing.GetTileSafely(x, y).active();
601 if (num == 0)
602 {
603 }
604 DD2Event.StartInvasion(int.MinValue);
605 if (num == 0)
606 {
607 }
609 }
610
611 // Token: 0x06004DD3 RID: 19923 RVA: 0x00274764 File Offset: 0x00272964
612 public static bool WouldFailSpawningHere(int x, int y)
613 {
614 /*
615An exception occurred when decompiling this method (06004DD3)
616
617ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Boolean Terraria.GameContent.Events.DD2Event::WouldFailSpawningHere(System.Int32,System.Int32)
618
619 ---> System.Exception: Basic block has to end with unconditional control flow.
620{
621 IL_0000:
622 brtrue(IL_0000, ldc.i4:bool(1))
623}
624
625 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
626 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
627 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
628 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
629 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
630 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
631 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
632 --- End of inner exception stack trace ---
633 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
634 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
635*/;
636 }
637
638 // Token: 0x06004DD4 RID: 19924 RVA: 0x00274774 File Offset: 0x00272974
639 public static void FailureMessage(int client)
640 {
641 LocalizedText text = Language.GetText("DungeonDefenders2.BartenderWarning");
642 if (!true)
643 {
644 }
645 bool netHost = Main.NetHost;
646 string key = text.Key;
647 }
648
649 // Token: 0x06004DD5 RID: 19925 RVA: 0x002747A4 File Offset: 0x002729A4
650 public static void WipeEntities()
651 {
652 if (!true)
653 {
654 }
658 if (!true)
659 {
660 }
661 bool netHost = Main.NetHost;
662 }
663
664 // Token: 0x06004DD6 RID: 19926 RVA: 0x002747D0 File Offset: 0x002729D0
665 public static void ClearAllTowersInGame()
666 {
667 int num = 1;
668 if (num == 0)
669 {
670 }
671 if (num != 0)
672 {
673 }
674 }
675
676 // Token: 0x06004DD7 RID: 19927 RVA: 0x002747E8 File Offset: 0x002729E8
677 public static void ClearAllDD2HostilesInGame()
678 {
679 int num = 1;
680 if (num == 0)
681 {
682 }
683 if (num != 0)
684 {
685 bool netHost = Main.NetHost;
686 }
687 }
688
689 // Token: 0x06004DD8 RID: 19928 RVA: 0x0027480C File Offset: 0x00272A0C
691 {
692 int num = 1;
693 if (num == 0)
694 {
695 }
696 if (num == 0)
697 {
698 }
699 bool netHost = Main.NetHost;
700 if (num == 0)
701 {
702 }
703 }
704
705 // Token: 0x06004DD9 RID: 19929 RVA: 0x00274834 File Offset: 0x00272A34
707 {
708 if (!true)
709 {
710 }
713 }
714
715 // Token: 0x06004DDA RID: 19930 RVA: 0x00274868 File Offset: 0x00272A68
716 public static void AnnounceGoblinDeath(NPC n)
717 {
718 if (!true)
719 {
720 }
721 Vector2 bottom = n.Bottom;
722 }
723
724 // Token: 0x06004DDB RID: 19931 RVA: 0x00274880 File Offset: 0x00272A80
725 public static bool CanRaiseGoblinsHere(Vector2 spot)
726 {
727 int num = 1;
728 if (num == 0)
729 {
730 }
731 if (num == 0)
732 {
733 }
734 throw new OutOfMemoryException();
735 }
736
737 // Token: 0x06004DDC RID: 19932 RVA: 0x002748B0 File Offset: 0x00272AB0
738 public static void RaiseGoblins(NPC caller, Vector2 spot)
739 {
740 if ("Custom channel bindings are not supported." == null)
741 {
742 }
743 }
744
745 // Token: 0x06004DDD RID: 19933 RVA: 0x0027493C File Offset: 0x00272B3C
746 public static void FindArenaHitbox()
747 {
748 if (true)
749 {
750 return;
751 }
752 if (16968 == 0)
753 {
754 }
755 }
756
757 // Token: 0x06004DDE RID: 19934 RVA: 0x00274978 File Offset: 0x00272B78
758 public static bool ShouldBlockBuilding(Vector2 worldPosition)
759 {
760 int num = 1;
761 if (num == 0)
762 {
763 }
764 if (num == 0)
765 {
766 }
767 bool flag;
768 return flag;
769 }
770
771 // Token: 0x06004DDF RID: 19935 RVA: 0x00274990 File Offset: 0x00272B90
772 public static void DropMedals(int numberOfMedals)
773 {
774 if (!true)
775 {
776 }
777 }
778
779 // Token: 0x06004DE0 RID: 19936 RVA: 0x002749A8 File Offset: 0x00272BA8
780 public static bool ShouldDropCrystals()
781 {
782 int num = 1;
783 if (num == 0)
784 {
785 }
786 if (num == 0)
787 {
788 }
789 return false;
790 }
791
792 // Token: 0x06004DE1 RID: 19937 RVA: 0x002749FC File Offset: 0x00272BFC
793 private static void SummonBetsy()
794 {
795 int num = 1;
796 if (num == 0)
797 {
798 }
799 if (num == 0)
800 {
801 if (num == 0)
802 {
803 }
804 bool flag = NPC.AnyNPCs(551);
805 if (num == 0)
806 {
807 }
808 int num2 = NPC.FindFirstNPC(548);
809 if (num == 0)
810 {
811 }
812 return;
813 }
814 }
815
816 // Token: 0x06004DE2 RID: 19938 RVA: 0x00274A54 File Offset: 0x00272C54
817 private static void DropStarterCrystals()
818 {
819 int num = 1;
820 if (num == 0)
821 {
822 }
823 if (num == 0 || num == 0)
824 {
825 }
826 }
827
828 // Token: 0x06004DE3 RID: 19939 RVA: 0x00274A70 File Offset: 0x00272C70
829 private static void SetEnemySpawningOnHold(int forHowLong)
830 {
831 if (!true)
832 {
833 }
834 if (!true)
835 {
836 }
837 bool netHost = Main.NetHost;
838 if (!true)
839 {
840 }
841 }
842
843 // Token: 0x06004DE4 RID: 19940 RVA: 0x00274A90 File Offset: 0x00272C90
844 private static short[] Difficulty_1_GetEnemiesForWave(int wave)
845 {
846 if (!true)
847 {
848 }
849 if (90 == 0)
850 {
851 }
852 if (50 == 0)
853 {
854 return;
855 }
856 }
857
858 // Token: 0x06004DE5 RID: 19941 RVA: 0x00274AB4 File Offset: 0x00272CB4
860 {
861 return 60;
862 }
863
864 // Token: 0x06004DE6 RID: 19942 RVA: 0x00274B08 File Offset: 0x00272D08
866 {
867 }
868
869 // Token: 0x06004DE7 RID: 19943 RVA: 0x00274C4C File Offset: 0x00272E4C
871 {
872 if (!true)
873 {
874 }
875 if (17163 == 0)
876 {
877 }
878 return 1;
879 }
880
881 // Token: 0x06004DE8 RID: 19944 RVA: 0x00274C74 File Offset: 0x00272E74
882 private static short[] Difficulty_2_GetEnemiesForWave(int wave)
883 {
884 if (!true)
885 {
886 }
887 if (90 == 0)
888 {
889 }
890 if (70 == 0)
891 {
892 }
893 if (55 == 0)
894 {
895 }
896 if (50 == 0)
897 {
898 }
899 if (45 == 0)
900 {
901 return;
902 }
903 }
904
905 // Token: 0x06004DE9 RID: 19945 RVA: 0x00274CA4 File Offset: 0x00272EA4
907 {
908 return 60;
909 }
910
911 // Token: 0x06004DEA RID: 19946 RVA: 0x00274D00 File Offset: 0x00272F00
913 {
914 if (!true)
915 {
916 }
917 if (17243 == 0)
918 {
919 }
920 return 1;
921 }
922
923 // Token: 0x06004DEB RID: 19947 RVA: 0x00274D28 File Offset: 0x00272F28
925 {
926 }
927
928 // Token: 0x06004DEC RID: 19948 RVA: 0x00275030 File Offset: 0x00273230
929 private static short[] Difficulty_3_GetEnemiesForWave(int wave)
930 {
931 if (!true)
932 {
933 }
934 if (85 == 0)
935 {
936 }
937 if (75 == 0)
938 {
939 }
940 if (60 == 0)
941 {
942 }
943 if (60 == 0)
944 {
945 }
946 if (55 == 0)
947 {
948 }
949 if (60 == 0)
950 {
951 return;
952 }
953 }
954
955 // Token: 0x06004DED RID: 19949 RVA: 0x00275060 File Offset: 0x00273260
957 {
958 return 60;
959 }
960
961 // Token: 0x06004DEE RID: 19950 RVA: 0x002750BC File Offset: 0x002732BC
963 {
964 /*
965An exception occurred when decompiling this method (06004DEE)
966
967ICSharpCode.Decompiler.DecompilerException: Error decompiling System.Int32 Terraria.GameContent.Events.DD2Event::Difficulty_3_GetMonsterPointsWorth(System.Int32)
968
969 ---> System.Exception: Basic block has to end with unconditional control flow.
970{
971 IL_0003:
972 stloc:bool(var_2_0C, callgetter:bool(Main::get_expertMode))
973}
974
975 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
976 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
977 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
978 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
979 --- End of inner exception stack trace ---
980 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
981 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
982*/;
983 }
984
985 // Token: 0x06004DEF RID: 19951 RVA: 0x002750D8 File Offset: 0x002732D8
987 {
988 }
989
990 // Token: 0x06004DF0 RID: 19952 RVA: 0x00275498 File Offset: 0x00273698
991 public static bool IsStandActive(int x, int y)
992 {
993 int num = 8;
994 int num2 = 8;
995 if (num == 0)
996 {
997 }
998 if (num == 0 || num2 != 0)
999 {
1000 }
1001 if (num == 0)
1002 {
1003 return;
1004 }
1005 }
1006
1007 // Token: 0x06004DF1 RID: 19953 RVA: 0x002754BC File Offset: 0x002736BC
1008 public static void RequestToSkipWaitTime(int x, int y)
1009 {
1010 if (!true)
1011 {
1012 }
1013 if (!true)
1014 {
1015 }
1016 if (!true)
1017 {
1018 }
1019 bool flag = DD2Event.IsStandActive(x, y);
1020 if (!true)
1021 {
1022 }
1023 if ("Only TraceListeners can be added to a TraceListenerCollection." == null)
1024 {
1025 }
1026 bool logicHost = Main.LogicHost;
1027 if ("Only TraceListeners can be added to a TraceListenerCollection." == null)
1028 {
1029 }
1031 }
1032
1033 // Token: 0x06004DF2 RID: 19954 RVA: 0x0027550C File Offset: 0x0027370C
1034 public static void AttemptToSkipWaitTime()
1035 {
1036 if (!true)
1037 {
1038 }
1039 if (!true)
1040 {
1041 }
1042 if (!true)
1043 {
1044 }
1045 }
1046
1047 // Token: 0x06004DF3 RID: 19955 RVA: 0x000021DB File Offset: 0x000003DB
1049 {
1050 throw new AnalysisFailedException("CPP2IL failed to recover any usable IL for this method.");
1051 }
1052
1053 // Token: 0x06004DF4 RID: 19956 RVA: 0x00275530 File Offset: 0x00273730
1054 public DD2Event()
1055 {
1056 }
1057
1058 // Token: 0x06004DF5 RID: 19957 RVA: 0x00275544 File Offset: 0x00273744
1059 // Note: this type is marked as 'beforefieldinit'.
1060 static DD2Event()
1061 {
1062 }
1063
1064 // Token: 0x040086A8 RID: 34472
1065 public static bool DownedInvasionT1;
1066
1067 // Token: 0x040086A9 RID: 34473
1068 public static bool DownedInvasionT2;
1069
1070 // Token: 0x040086AA RID: 34474
1071 public static bool DownedInvasionT3;
1072
1073 // Token: 0x040086AB RID: 34475
1074 public static bool LostThisRun;
1075
1076 // Token: 0x040086AC RID: 34476
1077 public static bool WonThisRun;
1078
1079 // Token: 0x040086AD RID: 34477
1080 public static int LaneSpawnRate;
1081
1082 // Token: 0x040086AE RID: 34478
1083 private static bool _downedDarkMageT1;
1084
1085 // Token: 0x040086AF RID: 34479
1086 private static bool _downedOgreT2;
1087
1088 // Token: 0x040086B0 RID: 34480
1089 private static bool _spawnedBetsyT3;
1090
1091 // Token: 0x040086B1 RID: 34481
1092 public static bool Ongoing;
1093
1094 // Token: 0x040086B2 RID: 34482
1095 public static Rectangle ArenaHitbox;
1096
1097 // Token: 0x040086B3 RID: 34483
1098 private static int _arenaHitboxingCooldown;
1099
1100 // Token: 0x040086B4 RID: 34484
1101 public static int OngoingDifficulty;
1102
1103 // Token: 0x040086B5 RID: 34485
1105
1106 // Token: 0x040086B6 RID: 34486
1107 private static int _crystalsDropping_lastWave;
1108
1109 // Token: 0x040086B7 RID: 34487
1110 private static int _crystalsDropping_toDrop;
1111
1112 // Token: 0x040086B8 RID: 34488
1114
1115 // Token: 0x040086B9 RID: 34489
1117
1118 // Token: 0x040086BA RID: 34490
1120
1121 // Token: 0x040086BB RID: 34491
1123
1124 // Token: 0x040086BC RID: 34492
1125 private const int INVASION_ID = 3;
1126
1127 // Token: 0x040086BD RID: 34493
1129 }
1130}
class f__AnonymousType0<< Count > j__TPar
static List< int > GetCurrentlyOpenChests()
Definition Chest.cs:45
Vector2 Bottom
Definition Entity.cs:318
static Tile GetTileSafely(Vector2 position)
Definition Framing.cs:356
static readonly Color INFO_FAILURE_INVASION_COLOR
Definition DD2Event.cs:1122
static short[] Difficulty_2_GetEnemiesForWave(int wave)
Definition DD2Event.cs:882
static readonly Color INFO_NEW_WAVE_COLOR
Definition DD2Event.cs:1116
static int Difficulty_2_GetMonsterPointsWorth(int slainMonsterID)
Definition DD2Event.cs:912
static bool WouldFailSpawningHere(int x, int y)
Definition DD2Event.cs:612
static void SetEnemySpawningOnHold(int forHowLong)
Definition DD2Event.cs:829
static void ClearAllDD2EnergyCrystalsInGame()
Definition DD2Event.cs:690
static short[] Difficulty_1_GetEnemiesForWave(int wave)
Definition DD2Event.cs:844
static void SpawnMonsterFromGate(Vector2 gateBottom)
Definition DD2Event.cs:573
static bool ShouldBlockBuilding(Vector2 worldPosition)
Definition DD2Event.cs:758
static void SummonCrystal(int x, int y, int whoAsks)
Definition DD2Event.cs:584
static void CheckProgress(int slainMonsterID)
Definition DD2Event.cs:418
static int Difficulty_1_GetRequiredWaveKills(int waveNumber, int currentKillCount, bool currentlyInCheckProgress)
Definition DD2Event.cs:859
static void ClearAllDD2EnergyCrystalsInChests()
Definition DD2Event.cs:706
static bool CanRaiseGoblinsHere(Vector2 spot)
Definition DD2Event.cs:725
static void SyncInvasionProgress(int toWho)
Definition DD2Event.cs:198
static void Load(BinaryReader reader, int gameVersionNumber)
Definition DD2Event.cs:165
static int GetMonsterPointsWorth(int slainMonsterID)
Definition DD2Event.cs:561
static IEntitySource GetSpawnSource_OldOnesArmy()
Definition DD2Event.cs:1048
static bool IsStandActive(int x, int y)
Definition DD2Event.cs:991
static int Difficulty_2_GetRequiredWaveKills(int waveNumber, int currentKillCount, bool currentlyInCheckProgress)
Definition DD2Event.cs:906
static void GetInvasionStatus([Out] int currentWave, [Out] int requiredKillCount, [Out] int currentKillCount, bool currentlyInCheckProgress=false)
Definition DD2Event.cs:532
static readonly Color INFO_START_INVASION_COLOR
Definition DD2Event.cs:1119
static void Save(BinaryWriter writer)
Definition DD2Event.cs:157
static void RaiseGoblins(NPC caller, Vector2 spot)
Definition DD2Event.cs:738
static void DropMedals(int numberOfMedals)
Definition DD2Event.cs:772
static void SummonCrystalDirect(int x, int y, int whoAsks)
Definition DD2Event.cs:593
static List< Vector2 > _deadGoblinSpots
Definition DD2Event.cs:1104
static void RequestToSkipWaitTime(int x, int y)
Definition DD2Event.cs:1008
static void SpawnNPC(int newNPC)
Definition DD2Event.cs:209
static void Difficulty_1_SpawnMonsterFromGate(Vector2 gateBottom)
Definition DD2Event.cs:865
static short[] GetEnemiesForWave(int wave)
Definition DD2Event.cs:549
static void StopInvasion(bool win=false)
Definition DD2Event.cs:275
static void Difficulty_3_SpawnMonsterFromGate(Vector2 gateBottom)
Definition DD2Event.cs:986
static int Difficulty_3_GetRequiredWaveKills(int waveNumber, int currentKillCount, bool currentlyInCheckProgress)
Definition DD2Event.cs:956
static short[] Difficulty_3_GetEnemiesForWave(int wave)
Definition DD2Event.cs:929
static void FailureMessage(int client)
Definition DD2Event.cs:639
static void StartInvasion(int difficultyOverride=-1)
Definition DD2Event.cs:240
static int Difficulty_1_GetMonsterPointsWorth(int slainMonsterID)
Definition DD2Event.cs:870
static int Difficulty_3_GetMonsterPointsWorth(int slainMonsterID)
Definition DD2Event.cs:962
static void AnnounceGoblinDeath(NPC n)
Definition DD2Event.cs:716
static void Difficulty_2_SpawnMonsterFromGate(Vector2 gateBottom)
Definition DD2Event.cs:924
static LocalizedText GetText(string key)
Definition Language.cs:44
static bool NetHost
Definition Main.cs:5544
static void ReportInvasionProgress(int progress, int progressMax, int icon, int progressWave)
Definition Main.cs:13725
static bool NetClientOnly
Definition Main.cs:5407
static bool LogicHost
Definition Main.cs:5469
static int FindFirstNPC(int Type)
Definition NPC.cs:7115
static bool AnyNPCs(int Type)
Definition NPC.cs:7102
bool active()
Definition Tile.cs:1241