mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 10:43:20 +00:00
can eat all foods with fork like a sane person now
This commit is contained in:
@@ -1257,6 +1257,7 @@
|
||||
name = "fork"
|
||||
desc = "Pointy."
|
||||
icon_state = "fork"
|
||||
var/obj/item/weapon/reagent_containers/food/snacks/bite
|
||||
|
||||
/obj/item/weapon/kitchen/utensil/knife
|
||||
name = "knife"
|
||||
|
||||
@@ -18,28 +18,71 @@ KNIFE
|
||||
|
||||
// FORK
|
||||
|
||||
/obj/item/weapon/kitchen/utensil/fork/attack(mob/living/carbon/M as mob, mob/living/carbon/user as mob)
|
||||
if(!istype(M))
|
||||
return ..()
|
||||
|
||||
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)
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("\blue [] eats a delicious forkful of omelette!", user), 1)
|
||||
M.reagents.add_reagent("nutriment", 1)
|
||||
/obj/item/weapon/kitchen/utensil/fork/attack(mob/living/M as mob, mob/living/carbon/user as mob)
|
||||
if(istype(M,/mob/living/carbon) || istype(M,/mob/living/simple_animal/livestock))
|
||||
if (bite)
|
||||
if(M == user)
|
||||
user.visible_message( \
|
||||
"\blue [user] eats a delicious forkful of [bite]!", \
|
||||
"\blue You eat a delicious forkful of [bite]!")
|
||||
else
|
||||
user.visible_message( \
|
||||
"\blue [user] feeds [M] a delicious forkful of [bite]!", \
|
||||
"\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"
|
||||
else if(user.zone_sel.selecting == "eyes")
|
||||
if((user.mutations & CLUMSY) && prob(50))
|
||||
M = user
|
||||
return eyestab(M, user)
|
||||
else
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("\blue [] feeds [] a delicious forkful of omelette!", user, M), 1)
|
||||
M.reagents.add_reagent("nutriment", 1)
|
||||
src.icon_state = "fork"
|
||||
return
|
||||
user << "\red Your fork does not have any food on it."
|
||||
else
|
||||
if((user.mutations & CLUMSY) && prob(50))
|
||||
M = user
|
||||
return eyestab(M,user)
|
||||
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)
|
||||
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
|
||||
name = "Muffin"
|
||||
|
||||
Reference in New Issue
Block a user