Skip to content

Commit d0221b2

Browse files
committed
Drop table: Handle enemies without gold drops
1 parent 0e54796 commit d0221b2

File tree

1 file changed

+11
-2
lines changed

1 file changed

+11
-2
lines changed

XbTool/XbTool/Xb1De/Drops/DropTableGen.cs

+11-2
Original file line numberDiff line numberDiff line change
@@ -402,8 +402,8 @@ private static Enemy TryGetEnemy(BdatStringItem row)
402402
BdatStringItem enemyMapRow = row["stats"].Reference;
403403

404404
if (enemyMapRow == null ||
405-
enemyMapRow["drop_nml"].Reference == null ||
406-
enemyMapRow["drop_rar"].Reference == null ||
405+
enemyMapRow["drop_nml"].Reference == null &&
406+
enemyMapRow["drop_rar"].Reference == null &&
407407
enemyMapRow["drop_spr"].Reference == null)
408408
{
409409
return null;
@@ -431,6 +431,9 @@ private static DropNormalEntry TryGetNormalTable(BdatStringItem row)
431431
{
432432
var entry = new DropNormalEntry();
433433

434+
if (row is null)
435+
return entry;
436+
434437
for (int i = 0; i < MaxLotItems; i++)
435438
{
436439
DropEntry<MaterialEntry> item = GetMaterialEntry(row, i);
@@ -447,6 +450,9 @@ private static DropRareEntry TryGetRareTable(BdatStringItem row)
447450
{
448451
var entry = new DropRareEntry();
449452

453+
if (row is null)
454+
return entry;
455+
450456
entry.CrystalRate = int.Parse(row["crystal_per"].ValueString);
451457
entry.WeaponRate = int.Parse(row["wpn_per"].ValueString);
452458
entry.EquipRate = int.Parse(row["equip_per"].ValueString);
@@ -491,6 +497,9 @@ private static DropSuperRareEntry TryGetSuperRareTable(BdatStringItem row)
491497
{
492498
var entry = new DropSuperRareEntry();
493499

500+
if (row is null)
501+
return entry;
502+
494503
entry.WeaponRate = int.Parse(row["wpn_per"].ValueString);
495504
entry.UniqueWeaponRate = int.Parse(row["uni_wpn_per"].ValueString);
496505
entry.UniqueArmorRate = int.Parse(row["uni_equip_per"].ValueString);

0 commit comments

Comments
 (0)