Basically, it would be easiest if you replace your do_droptroops with this one. The problem with the old code is that it used room for everthing even after it got set to NULL, then continued in the loop it would try accessing room->area->low_r_vnum ...which crashed the mud. Also I put in a global variable for max # of droptroops, and put in checks to make sure the room wasn't a player home, safe, or floating in a void.

Also of note, in this fix, I also corrected the line:
mob->mob_clan = ch->pcdata->clan->name;

The result of this, while unlikely, could lead to string memory corruption down the road.