diff --git a/code/modules/reagents/reagent_containers/food/snacks.dm b/code/modules/reagents/reagent_containers/food/snacks.dm index f71462b4625..8c2a40815e6 100644 --- a/code/modules/reagents/reagent_containers/food/snacks.dm +++ b/code/modules/reagents/reagent_containers/food/snacks.dm @@ -1655,76 +1655,79 @@ var/monkey_type = "Monkey" - New() - ..() - reagents.add_reagent("protein",10) +/obj/item/weapon/reagent_containers/food/snacks/monkeycube/New() + ..() + reagents.add_reagent("protein",10) - afterattack(obj/O as obj, mob/user as mob, proximity) - if(!proximity) return - if(istype(O,/obj/structure/sink) && !wrapped) - user << "You place [name] under a stream of water..." - loc = get_turf(O) - return Expand() - ..() +/obj/item/weapon/reagent_containers/food/snacks/monkeycube/afterattack(obj/O as obj, mob/user as mob, proximity) + if(!proximity) return + if(istype(O,/obj/structure/sink) && !wrapped) + user << "You place [name] under a stream of water..." + if(loc == user) + user.unEquip(src) + forceMove(get_turf(src)) + return Expand() + ..() - attack_self(mob/user as mob) - if(wrapped) - Unwrap(user) +/obj/item/weapon/reagent_containers/food/snacks/monkeycube/attack_self(mob/user as mob) + if(wrapped) + Unwrap(user) /* - On_Consume(var/mob/M) - M << "Something inside of you suddently expands!" +/obj/item/weapon/reagent_containers/food/snacks/monkeycube/On_Consume(var/mob/M) + M << "Something inside of you suddently expands!" - if (istype(M, /mob/living/carbon/human)) - //Do not try to understand. - var/obj/item/weapon/surprise = new/obj/item/weapon(M) - var/mob/living/carbon/monkey/ook = new monkey_type(null) //no other way to get access to the vars, alas - surprise.icon = ook.icon - surprise.icon_state = ook.icon_state - surprise.name = "malformed [ook.name]" - surprise.desc = "Looks like \a very deformed [ook.name], a little small for its kind. It shows no signs of life." - del(ook) //rip nullspace monkey - surprise.transform *= 0.6 - surprise.add_blood(M) - var/mob/living/carbon/human/H = M - var/obj/item/organ/external/E = H.get_organ("chest") - E.fracture() - for (var/obj/item/organ/I in E.internal_organs) - I.take_damage(rand(I.min_bruised_damage, I.min_broken_damage+1)) + if (istype(M, /mob/living/carbon/human)) + //Do not try to understand. + var/obj/item/weapon/surprise = new/obj/item/weapon(M) + var/mob/living/carbon/monkey/ook = new monkey_type(null) //no other way to get access to the vars, alas + surprise.icon = ook.icon + surprise.icon_state = ook.icon_state + surprise.name = "malformed [ook.name]" + surprise.desc = "Looks like \a very deformed [ook.name], a little small for its kind. It shows no signs of life." + del(ook) //rip nullspace monkey + surprise.transform *= 0.6 + surprise.add_blood(M) + var/mob/living/carbon/human/H = M + var/obj/item/organ/external/E = H.get_organ("chest") + E.fracture() + for (var/obj/item/organ/I in E.internal_organs) + I.take_damage(rand(I.min_bruised_damage, I.min_broken_damage+1)) - if (!E.hidden && prob(60)) //set it snuggly - E.hidden = surprise - E.cavity = 0 - else //someone is having a bad day - E.createwound(CUT, 30) - E.embed(surprise) - else if (issmall(M)) - M.visible_message("[M] suddenly tears in half!") - var/mob/living/carbon/monkey/ook = new monkey_type(M.loc) - ook.name = "malformed [ook.name]" - ook.transform *= 0.6 - ook.add_blood(M) - M.gib() - ..() + if (!E.hidden && prob(60)) //set it snuggly + E.hidden = surprise + E.cavity = 0 + else //someone is having a bad day + E.createwound(CUT, 30) + E.embed(surprise) + else if (issmall(M)) + M.visible_message("[M] suddenly tears in half!") + var/mob/living/carbon/monkey/ook = new monkey_type(M.loc) + ook.name = "malformed [ook.name]" + ook.transform *= 0.6 + ook.add_blood(M) + M.gib() + ..() */ - water_act(volume, temperature) - if(volume >= 5) return Expand() +/obj/item/weapon/reagent_containers/food/snacks/monkeycube/water_act(volume, temperature) + if(volume >= 5) + return Expand() - proc/Expand() - for(var/mob/M in viewers(src,7)) - M << "\red \The [src] expands!" - var/mob/living/carbon/human/H = new (src) - H.set_species(monkey_type) - qdel(src) +/obj/item/weapon/reagent_containers/food/snacks/monkeycube/proc/Expand() + for(var/mob/M in viewers(src,7)) + M << "\red \The [src] expands!" + var/mob/living/carbon/human/H = new (src) + H.set_species(monkey_type) + qdel(src) - proc/Unwrap(mob/user as mob) - icon_state = "monkeycube" - desc = "Just add water!" - user << "You unwrap the cube." - wrapped = 0 - return +/obj/item/weapon/reagent_containers/food/snacks/monkeycube/proc/Unwrap(mob/user as mob) + icon_state = "monkeycube" + desc = "Just add water!" + user << "You unwrap the cube." + wrapped = 0 + return /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped desc = "Still wrapped in some paper."