diff --git a/src/gamedata/d_dehacked.cpp b/src/gamedata/d_dehacked.cpp index cf8e8ea7a8..232dec896d 100644 --- a/src/gamedata/d_dehacked.cpp +++ b/src/gamedata/d_dehacked.cpp @@ -1260,15 +1260,21 @@ static int PatchThing (int thingy) } else if (linelen == 12 && stricmp(Line1, "dropped item") == 0) { + val--; // This is 1-based and 0 means 'no drop'. if ((unsigned)val < InfoNames.Size()) { FDropItem* di = (FDropItem*)ClassDataAllocator.Alloc(sizeof(FDropItem)); + di->Next = nullptr; di->Name = InfoNames[val]->TypeName.GetChars(); di->Probability = 255; di->Amount = -1; info->GetInfo()->DropItems = di; } + else if (val == -1) + { + info->GetInfo()->DropItems = nullptr; + } } else if (linelen == 11 && stricmp(Line1, "blood color") == 0) {