diff --git a/code/modules/food/customizables.dm b/code/modules/food/customizables.dm index 62148b5e613..0616f036bab 100644 --- a/code/modules/food/customizables.dm +++ b/code/modules/food/customizables.dm @@ -1,32 +1,42 @@ /obj/item/weapon/reagent_containers/food/snacks/breadslice/attackby(obj/item/W as obj, mob/user as mob, params) - var/obj/item/weapon/reagent_containers/food/snacks/customizable/sandwich/S = new(get_turf(user)) - S.attackby(W,user, params) - qdel(src) + if(istype(W, /obj/item/weapon/reagent_containers/food/snacks) && !(W.flags & NODROP)) + var/obj/item/weapon/reagent_containers/food/snacks/customizable/sandwich/S = new(get_turf(user)) + S.attackby(W,user, params) + qdel(src) + else + ..() /obj/item/weapon/reagent_containers/food/snacks/bun/attackby(obj/item/W as obj, mob/user as mob, params) - var/obj/item/weapon/reagent_containers/food/snacks/customizable/burger/S = new(get_turf(user)) - S.attackby(W,user, params) - qdel(src) + if(istype(W, /obj/item/weapon/reagent_containers/food/snacks) && !(W.flags & NODROP)) + var/obj/item/weapon/reagent_containers/food/snacks/customizable/burger/S = new(get_turf(user)) + S.attackby(W,user, params) + qdel(src) /obj/item/weapon/reagent_containers/food/snacks/sliceable/flatdough/attackby(obj/item/W as obj, mob/user as mob, params) - if(!istype(W, /obj/item/weapon/kitchenknife)) //Ignore this if object is kitchen knife - make dough slices instead of kitchen knife pizza + if(istype(W, /obj/item/weapon/reagent_containers/food/snacks) && !(W.flags & NODROP)) var/obj/item/weapon/reagent_containers/food/snacks/customizable/pizza/S = new(get_turf(user)) S.attackby(W,user, params) qdel(src) - else //It's a kitchen knife. Go do the parent proc (slicing) + else ..() /obj/item/weapon/reagent_containers/food/snacks/boiledspagetti/attackby(obj/item/W as obj, mob/user as mob, params) - var/obj/item/weapon/reagent_containers/food/snacks/customizable/pasta/S = new(get_turf(user)) - S.attackby(W,user, params) - qdel(src) + if(istype(W, /obj/item/weapon/reagent_containers/food/snacks) && !(W.flags & NODROP)) + var/obj/item/weapon/reagent_containers/food/snacks/customizable/pasta/S = new(get_turf(user)) + S.attackby(W,user, params) + qdel(src) + else + ..() /obj/item/trash/plate/attackby(obj/item/W as obj, mob/user as mob, params) - var/obj/item/weapon/reagent_containers/food/snacks/customizable/fullycustom/S = new(get_turf(user)) - S.attackby(W,user, params) - qdel(src) + if(istype(W, /obj/item/weapon/reagent_containers/food/snacks) && !(W.flags & NODROP)) + var/obj/item/weapon/reagent_containers/food/snacks/customizable/fullycustom/S = new(get_turf(user)) + S.attackby(W,user, params) + qdel(src) + else + ..() /obj/item/trash/bowl name = "bowl" @@ -36,11 +46,12 @@ /obj/item/trash/bowl/attackby(obj/item/W as obj, mob/user as mob, params) - if(istype(W,/obj/item/)) + if(istype(W, /obj/item/weapon/reagent_containers/food/snacks) && !(W.flags & NODROP)) var/obj/item/weapon/reagent_containers/food/snacks/customizable/soup/S = new(get_turf(user)) S.attackby(W,user, params) qdel(src) - ..() + else + ..() /obj/item/weapon/reagent_containers/food/snacks/customizable/sandwich /obj/item/weapon/reagent_containers/food/snacks/customizable @@ -315,11 +326,8 @@ if(src.contents.len > sandwich_limit) user << "If you put anything else in or on [src] it's going to make a mess." return - if(istype(I, /obj/item/weapon/disk/nuclear)) - user << "You think about it for a few seconds, then you realize Central Command likely doesn't find nuke disk [basename]s very funny, and so you decide not to turn the nuke disk into a foodstuff." - return - if(istype(I, /obj/item/flag/nation)) - user << "That's not going to fit!" + if(!istype(I, /obj/item/weapon/reagent_containers/food/snacks)) + user << "\The [I] isn't exactly something that you would want to eat." return user << "You add [I] to [src]." if(istype(I, /obj/item/weapon/reagent_containers/)) @@ -380,7 +388,8 @@ usr << " You think you can see [whatsinside] in there." -/obj/item/weapon/reagent_containers/food/snacks/customizable/attack(mob/M as mob, mob/user as mob, def_zone) +/* +/obj/item/weapon/reagent_containers/food/snacks/customizable/attack(mob/M as mob, mob/user as mob, def_zone) //SNOOOOOOOWFLAAAAAAAAAAAAAAAAAKES var/obj/item/shard for(var/obj/item/O in contents) @@ -396,6 +405,7 @@ H << "\red You lacerate your mouth on a [shard.name] in the sandwich!" H.adjustBruteLoss(5) //TODO: Target head if human. ..() +*/ /obj/item/weapon/reagent_containers/food/snacks/customizable/proc/newname() var/unsorteditems[0] diff --git a/code/modules/mob/living/carbon/monkey/diona.dm b/code/modules/mob/living/carbon/monkey/diona.dm index 4039156e506..cec0ef681ac 100644 --- a/code/modules/mob/living/carbon/monkey/diona.dm +++ b/code/modules/mob/living/carbon/monkey/diona.dm @@ -221,7 +221,8 @@ src.visible_message("\red [src] flicks out a feeler and neatly steals a sample of [M]'s blood.","\red You flick out a feeler and neatly steal a sample of [M]'s blood.") donors += M.real_name for(var/datum/language/L in M.languages) - languages |= L + if(!(L.flags & HIVEMIND)) + languages |= L spawn(25) update_progression()