Remove SpeciesCanConsume() proc, replaced by iscarbon checks.

Remove alloweat var from masks, remove MASKCOVERSMOUTH flag from mime and clown masks so you can still eat through them.

Some adjustments in surgery checks for bodyparts covered.
Fixes a runtime in weapon/energy attack_verb.

Humans can now CPR monkeys.
Slight changes to CPR code.
Fixes runtime with drones trying to do CPR.

Rewrites /obj/item/weapon/reagent_containers/proc/canconsume to be less shitty.

Adds an is_mouth_covered() proc to carbons to check for mask and headgear with MASKCOVERSMOUTH or HEADCOVERSMOUTH, with argument to restrict the check to only mask or only head.
This commit is contained in:
phil235
2015-04-11 22:16:42 +02:00
parent 6996897b65
commit 5f169e8e47
15 changed files with 74 additions and 76 deletions
+11 -21
View File
@@ -54,28 +54,18 @@
else return "No reagents"
/obj/item/weapon/reagent_containers/proc/canconsume(mob/eater, mob/user)
if(!eater.SpeciesCanConsume())
if(!iscarbon(eater))
return 0
var/mob/living/carbon/C = eater
var/covered = ""
if(C.is_mouth_covered(head_only = 1))
covered = "headgear"
else if(C.is_mouth_covered(mask_only = 1))
covered = "mask"
if(covered)
var/who = (isnull(user) || eater == user) ? "your" : "their"
user << "<span class='warning'>You have to remove [who] [covered] first!</span>"
return 0
//Check for covering mask
var/obj/item/clothing/cover = eater.get_item_by_slot(slot_wear_mask)
if(isnull(cover)) // No mask, do we have any helmet?
cover = eater.get_item_by_slot(slot_head)
else
var/obj/item/clothing/mask/covermask = cover
if(covermask.alloweat) // Specific cases, clownmask for example.
return 1
if(!isnull(cover))
if((cover.flags & HEADCOVERSMOUTH) || (cover.flags & MASKCOVERSMOUTH))
var/who = (isnull(user) || eater == user) ? "your" : "their"
if(istype(cover, /obj/item/clothing/mask/))
user << "<span class='warning'>You have to remove [who] mask first!</span>"
else
user << "<span class='warning'>You have to remove [who] helmet first!</span>"
return 0
return 1
/obj/item/weapon/reagent_containers/ex_act()
@@ -17,7 +17,7 @@
return // thanks inheritance again
/obj/item/weapon/reagent_containers/pill/patch/canconsume(mob/eater, mob/user)
if(!eater.SpeciesCanConsume())
if(!iscarbon(eater))
return 0
return 1 // Masks were stopping people from "eating" patches. Thanks, inheritance.