Can no longer use utensils to eat if you lack the means.

Humanoid mobs can no longer eat when missing a mouth or when their mouth is blocked when using utensils, same as when eating food directly.
Fixes  #11333.
This commit is contained in:
PsiOmegaDelta
2015-10-22 16:47:32 +02:00
parent db833735a8
commit 8305404a14
4 changed files with 18 additions and 6 deletions

View File

@@ -1221,6 +1221,7 @@
#include "code\modules\mob\living\carbon\human\human_damage.dm"
#include "code\modules\mob\living\carbon\human\human_defense.dm"
#include "code\modules\mob\living\carbon\human\human_defines.dm"
#include "code\modules\mob\living\carbon\human\human_helpers.dm"
#include "code\modules\mob\living\carbon\human\human_movement.dm"
#include "code\modules\mob\living\carbon\human\human_organs.dm"
#include "code\modules\mob\living\carbon\human\human_powers.dm"

View File

@@ -34,6 +34,11 @@
else
return ..()
if(ishuman(M))
var/mob/living/carbon/human/H = M
if(!H.can_eat(src))
return
if (reagents.total_volume > 0)
reagents.trans_to_mob(M, reagents.total_volume, CHEM_INGEST)
if(M == user)

View File

@@ -0,0 +1,11 @@
/mob/living/carbon/human/proc/can_eat(var/food, var/feedback = 1)
if(!check_has_mouth())
if(feedback)
src << "Where do you intend to put \the [food]? You don't have a mouth!"
return 0
var/obj/item/blocked = check_mouth_coverage()
if(blocked)
if(feedback)
src << "<span class='warning'>\The [blocked] is in the way!</span>"
return 0
return 1

View File

@@ -45,12 +45,7 @@
if(M == user) //If you're eating it yourself
if(istype(M,/mob/living/carbon/human))
var/mob/living/carbon/human/H = M
if(!H.check_has_mouth())
user << "Where do you intend to put \the [src]? You don't have a mouth!"
return
var/obj/item/blocked = H.check_mouth_coverage()
if(blocked)
user << "<span class='warning'>\The [blocked] is in the way!</span>"
if(!H.can_eat(src))
return
if (fullness <= 50)