wifiman avatar wifiman committed 9c8c633

Eliminated modification of itemlist.

Comments (0)

Files changed (2)

 		gi.cprintf (ent, PRINT_HIGH, "unknown item: %s\n", s);
 		return;
 	}
-	if ((!it->drop) || (UpdateSetItems (), ITEM_EXFLAGS(it) & IT_EX_NODROP))
+	if ((!it->drop) || ((it->flags & IT_STAY_COOP) && coop->value) || (UpdateSetItems (), ITEM_EXFLAGS(it) & IT_EX_NODROP))
 	{
 		gi.cprintf (ent, PRINT_HIGH, "Item is not dropable.\n");
 		return;
 	}
 
 	it = &itemlist[ent->client->pers.selected_item];
-	if ((!it->drop) || (UpdateSetItems (), ITEM_EXFLAGS(it) & IT_EX_NODROP))
+	if ((!it->drop) || ((it->flags & IT_STAY_COOP) && coop->value) || (UpdateSetItems (), ITEM_EXFLAGS(it) & IT_EX_NODROP))
 	{
 		gi.cprintf (ent, PRINT_HIGH, "Item is not dropable.\n");
 		return;
 		level.power_cubes++;
 	}
 
-	// don't let them drop items that stay in a coop game
-	if ((coop->value) && (item->flags & IT_STAY_COOP))
-	{
-		item->drop = NULL;
-	}
-
 	ent->item = item;
 	ent->nextthink = level.time + 2 * FRAMETIME;    // items start after other solids
 	ent->think = droptofloor;
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.