can eat all foods with fork like a sane person now

This commit is contained in:
Tastyfish
2012-02-12 07:07:16 -05:00
parent b0815b8e1d
commit aeafc2ffa5
3 changed files with 64 additions and 47 deletions

View File

@@ -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"

View File

@@ -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 ..()

View File

@@ -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"