mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-14 12:13:06 +00:00
can eat all foods with fork like a sane person now
This commit is contained in:
@@ -1257,6 +1257,7 @@
|
|||||||
name = "fork"
|
name = "fork"
|
||||||
desc = "Pointy."
|
desc = "Pointy."
|
||||||
icon_state = "fork"
|
icon_state = "fork"
|
||||||
|
var/obj/item/weapon/reagent_containers/food/snacks/bite
|
||||||
|
|
||||||
/obj/item/weapon/kitchen/utensil/knife
|
/obj/item/weapon/kitchen/utensil/knife
|
||||||
name = "knife"
|
name = "knife"
|
||||||
|
|||||||
@@ -18,28 +18,71 @@ KNIFE
|
|||||||
|
|
||||||
// FORK
|
// FORK
|
||||||
|
|
||||||
/obj/item/weapon/kitchen/utensil/fork/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
|
/obj/item/weapon/kitchen/utensil/fork/attack(mob/living/M as mob, mob/living/carbon/user as mob)
|
||||||
if(!istype(M))
|
if(istype(M,/mob/living/carbon) || istype(M,/mob/living/simple_animal/livestock))
|
||||||
return ..()
|
if (bite)
|
||||||
|
|
||||||
if(user.zone_sel.selecting != "eyes" && user.zone_sel.selecting != "head")
|
|
||||||
return ..()
|
|
||||||
|
|
||||||
if (src.icon_state == "forkloaded") //This is a poor way of handling it, but a proper rewrite of the fork to allow for a more varied foodening can happen when I'm in the mood. --NEO
|
|
||||||
if(M == user)
|
if(M == user)
|
||||||
for(var/mob/O in viewers(M, null))
|
user.visible_message( \
|
||||||
O.show_message(text("\blue [] eats a delicious forkful of omelette!", user), 1)
|
"\blue [user] eats a delicious forkful of [bite]!", \
|
||||||
M.reagents.add_reagent("nutriment", 1)
|
"\blue You eat a delicious forkful of [bite]!")
|
||||||
else
|
else
|
||||||
for(var/mob/O in viewers(M, null))
|
user.visible_message( \
|
||||||
O.show_message(text("\blue [] feeds [] a delicious forkful of omelette!", user, M), 1)
|
"\blue [user] feeds [M] a delicious forkful of [bite]!", \
|
||||||
M.reagents.add_reagent("nutriment", 1)
|
"\blue You feed [M] a delicious forkful of [bite]!")
|
||||||
|
spawn(0)
|
||||||
|
bite.reagents.reaction(M, INGEST)
|
||||||
|
bite.reagents.trans_to(M)
|
||||||
|
del(bite)
|
||||||
src.icon_state = "fork"
|
src.icon_state = "fork"
|
||||||
return
|
else if(user.zone_sel.selecting == "eyes")
|
||||||
else
|
|
||||||
if((user.mutations & CLUMSY) && prob(50))
|
if((user.mutations & CLUMSY) && prob(50))
|
||||||
M = user
|
M = user
|
||||||
return eyestab(M, user)
|
return eyestab(M, user)
|
||||||
|
else
|
||||||
|
user << "\red Your fork does not have any food on it."
|
||||||
|
else
|
||||||
|
user << "\red You can't seem to feed [M]."
|
||||||
|
|
||||||
|
/obj/item/weapon/kitchen/utensil/fork/afterattack(obj/item/weapon/reagent_containers/food/snacks/snack as obj, mob/living/carbon/user as mob)
|
||||||
|
if(istype(snack))
|
||||||
|
if(bite)
|
||||||
|
user << "\red You already have [bite] on your fork."
|
||||||
|
else
|
||||||
|
bite = new snack.type(src)
|
||||||
|
icon_state = "forkloaded"
|
||||||
|
user.visible_message( \
|
||||||
|
"[user] takes a piece of [bite] with their fork!", \
|
||||||
|
"\blue You take a piece of [bite] with your fork!" \
|
||||||
|
)
|
||||||
|
if(bite.reagents && snack.reagents) //transfer bit's worth of reagents to
|
||||||
|
bite.reagents.clear_reagents()
|
||||||
|
if(snack.reagents.total_volume)
|
||||||
|
snack.reagents.reaction(src, TOUCH) // react "food" with fork
|
||||||
|
spawn(0)
|
||||||
|
if(snack.reagents.total_volume > snack.bitesize)
|
||||||
|
snack.reagents.trans_to(bite, snack.bitesize)
|
||||||
|
else
|
||||||
|
snack.reagents.trans_to(bite, snack.reagents.total_volume)
|
||||||
|
snack.bitecount++
|
||||||
|
if(!snack.reagents.total_volume)
|
||||||
|
// due to the trash code being hard-coded to place in hand, do magic trick
|
||||||
|
// free active hand
|
||||||
|
user.drop_item(src)
|
||||||
|
|
||||||
|
// consumption fills active hand, drop it back down
|
||||||
|
snack.On_Consume()
|
||||||
|
var/obj/trash = user.get_active_hand()
|
||||||
|
if(trash)
|
||||||
|
user.drop_item(trash)
|
||||||
|
trash.loc = get_turf(snack.loc) // move trash to snack's turf
|
||||||
|
|
||||||
|
// put fork back in hand
|
||||||
|
user.put_in_hand(src)
|
||||||
|
user << "\red You grab the last bite of [snack]."
|
||||||
|
del(snack)
|
||||||
|
else
|
||||||
|
return ..()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -453,33 +453,6 @@
|
|||||||
..()
|
..()
|
||||||
reagents.add_reagent("nutriment", 8)
|
reagents.add_reagent("nutriment", 8)
|
||||||
bitesize = 1
|
bitesize = 1
|
||||||
attackby(obj/item/weapon/W as obj, mob/user as mob)
|
|
||||||
if(istype(W,/obj/item/weapon/kitchen/utensil/fork))
|
|
||||||
if (W.icon_state == "forkloaded")
|
|
||||||
user << "\red You already have omelette on your fork."
|
|
||||||
return
|
|
||||||
//W.icon = 'kitchen.dmi'
|
|
||||||
W.icon_state = "forkloaded"
|
|
||||||
/*if (herp)
|
|
||||||
world << "[user] takes a piece of omelette with his fork!"*/
|
|
||||||
//Why this unecessary check? Oh I know, because I'm bad >:C
|
|
||||||
// Yes, you are. You griefing my badmin toys. --rastaf0
|
|
||||||
user.visible_message( \
|
|
||||||
"[user] takes a piece of omelette with their fork!", \
|
|
||||||
"\blue You take a piece of omelette with your fork!" \
|
|
||||||
)
|
|
||||||
reagents.remove_reagent("nutriment", 1)
|
|
||||||
if (reagents.total_volume <= 0)
|
|
||||||
del(src)
|
|
||||||
/*
|
|
||||||
* Unsused.
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/omeletteforkload
|
|
||||||
name = "Omelette Du Fromage"
|
|
||||||
desc = "That's all you can say!"
|
|
||||||
New()
|
|
||||||
..()
|
|
||||||
reagents.add_reagent("nutriment", 1)
|
|
||||||
*/
|
|
||||||
|
|
||||||
/obj/item/weapon/reagent_containers/food/snacks/muffin
|
/obj/item/weapon/reagent_containers/food/snacks/muffin
|
||||||
name = "Muffin"
|
name = "Muffin"
|
||||||
|
|||||||
Reference in New Issue
Block a user