void TangibleObjectImplementation::fillAttributeList(AttributeListMessage* alm, CreatureObject* object) {
	SceneObjectImplementation::fillAttributeList(alm, object);

	if (maxCondition > 0) {
		StringBuffer cond;
		cond << (maxCondition-(int)conditionDamage) << "/" << maxCondition;

		alm->insertAttribute("condition", cond);
	}

	alm->insertAttribute("volume", volume);

	if (!craftersName.isEmpty()) {

		alm->insertAttribute("crafter", craftersName);
	}
	if (!objectSerial.isEmpty()) {

		alm->insertAttribute("serial_number", objectSerial);
	}

	if(useCount > 1)
		alm->insertAttribute("quantity", useCount);

	if (gameObjectType == SceneObjectType::PLAYERLOOTCRATE) {
		if( isSliceable() ){
			alm->insertAttribute( "lock_mechanism", "@obj_attr_n:slicable" );
		}
		else{
			alm->insertAttribute( "lock_mechanism", "@obj_attr_n:broken" );
		}
	}
}
/*
uint8 ContainerImplementation::checkPermission(CreatureObject* player) {
	if (!isASubChildOf(player)) {
		if (parent == NULL || !getParent().get()->isCellObject())
			return 0;
		else {

			BuildingObject* building = cast<BuildingObject*>( parent->getParent().get());

			// TODO: Do this properly!
			if (building->isPublicStructure())
				return 1;

			if (!building->isOnAdminList(player->getFirstName()))
				return 0;
		}
	}

	if (locked)
		return 0;

	return 2;
}
 */
void ContainerImplementation::fillObjectMenuResponse(ObjectMenuResponse* menuResponse, CreatureObject* player) {
	TangibleObjectImplementation::fillObjectMenuResponse(menuResponse, player);

	if (checkContainerPermission(player, ContainerPermissions::MOVECONTAINER && getParent().get() != NULL &&
			getParent().get()->checkContainerPermission(player, ContainerPermissions::MOVEOUT) && !(_this.getReferenceUnsafeStaticCast()->isRecycleToolObject()) && !(_this.getReferenceUnsafeStaticCast()->isAntiDecayKitObject())))

		menuResponse->addRadialMenuItem(50, 3, "@base_player:set_name"); //Set Name

	if (isSliceable() && isContainerLocked() && player->hasSkill("combat_smuggler_novice"))
		menuResponse->addRadialMenuItem(69, 3, "@slicing/slicing:slice"); // Slice
}