diff -i smaug14/src/makeobjs.c smaug18/src/makeobjs.c 8c8 < * Tricops and Fireblade | * --- > * Tricops, Fireblade, Edmond, Conran | * 25a26,28 > void make_puddle args( ( CHAR_DATA * ch, OBJ_DATA * cont ) ); > > 175c178 < * This should be anough for the killer to type 'get all corpse'. --- > * This should be enough for the killer to type 'get all corpse'. 183c186 < if ( CAN_PKILL( ch ) && CAN_PKILL( killer ) && ch != killer ) --- > if ( CAN_PKILL( ch ) && CAN_PKILL( killer ) && ch != killer && sysdata.pk_loot ) 207a211,215 > /* > * don't put perm player eq in the corpse > */ > if ( !IS_NPC( ch ) && IS_OBJ_STAT( obj, ITEM_PERMANENT ) ) > continue; 210a219,223 > else if ( IS_OBJ_STAT( obj, ITEM_DEATHDROP ) ) > { > obj_to_room( obj, ch->in_room ); > oprog_drop_trigger( ch, obj ); /* mudprogs */ > } 219a233,280 > void make_puddle( CHAR_DATA * ch, OBJ_DATA * cont ) > { > OBJ_DATA *obj; > OBJ_DATA *obj_next; > char buf[20]; > char buf2[70]; > bool found = FALSE; > > for ( obj = ch->in_room->first_content; obj; obj = obj_next ) > { > if ( obj->pIndexData->item_type == ITEM_PUDDLE ) > { > if ( obj->value[2] == cont->value[2] ) > { > obj->value[1] += cont->value[1]; > obj->value[3] += cont->value[3]; > obj->timer = number_range( 2, 4 ); > found = TRUE; > break; > } > } > obj_next = obj->next_content; > } > > if ( !found ) > { > obj = create_object( get_obj_index( OBJ_VNUM_PUDDLE ), 0 ); > obj->timer = number_range( 2, 4 ); > obj->value[1] += cont->value[1]; > obj->value[2] = cont->value[2]; > obj->value[3] = cont->value[3]; > obj_to_room( obj, ch->in_room ); > } > > if ( obj->value[1] > 15 ) > sprintf( buf, "large" ); > else if ( obj->value[1] > 10 ) > sprintf( buf, "rather large" ); > else if ( obj->value[1] > 5 ) > sprintf( buf, "rather small" ); > else > sprintf( buf, "small" ); > sprintf( buf2, "There is a %s puddle of %s.", buf, > ( obj->value[2] >= LIQ_MAX ? "water" : liq_table[obj->value[2]].liq_name ) ); > obj->description = STRALLOC( buf2 ); > return; > } > 223a285,297 > OBJ_DATA *obj_next; > > for ( obj = ch->in_room->first_content; obj; obj = obj_next ) > { > if ( obj->pIndexData->vnum == OBJ_VNUM_BLOOD ) > { > obj->description = STRALLOC( "A large pool of spilled blood lies here." ); > obj->value[1] += number_range( 3, UMIN( 5, ch->level ) ); > obj->timer = number_range( 2, 4 ); > return; > } > obj_next = obj->next_content; > }