/obj/item/zombie_hand name = "zombie claw" desc = "A zombie's claw is its primary tool, capable of infecting \ humans, butchering all other living things to \ sustain the zombie, smashing open airlock doors and opening \ child-safe caps on bottles." flags = NODROP|ABSTRACT|DROPDEL icon = 'icons/effects/blood.dmi' icon_state = "bloodhand_left" var/icon_left = "bloodhand_left" var/icon_right = "bloodhand_right" hitsound = 'sound/hallucinations/growl1.ogg' force = 20 damtype = "brute" var/removing_airlock = FALSE /obj/item/zombie_hand/equipped(mob/user, slot) . = ..() //these are intentionally inverted var/i = user.get_held_index_of_item(src) if(!(i % 2)) icon_state = icon_left else icon_state = icon_right /obj/item/zombie_hand/afterattack(atom/target, mob/user, proximity_flag) . = ..() if(!proximity_flag) return else if(isliving(target)) if(ishuman(target)) check_infection(target, user) else check_feast(target, user) /obj/item/zombie_hand/proc/check_infection(mob/living/carbon/human/target, mob/user) CHECK_DNA_AND_SPECIES(target) if(NOZOMBIE in target.dna.species.species_traits) // cannot infect any NOZOMBIE subspecies (such as high functioning // zombies) return var/obj/item/organ/zombie_infection/infection infection = target.getorganslot("zombie_infection") if(!infection) infection = new(target) /obj/item/zombie_hand/proc/check_feast(mob/living/target, mob/living/user) if(target.stat == DEAD) var/hp_gained = target.maxHealth target.gib() // zero as argument for no instant health update user.adjustBruteLoss(-hp_gained, 0) user.adjustToxLoss(-hp_gained, 0) user.adjustFireLoss(-hp_gained, 0) user.adjustCloneLoss(-hp_gained, 0) user.updatehealth() user.adjustBrainLoss(-hp_gained) // Zom Bee gibbers "BRAAAAISNSs!1!" user.nutrition = min(user.nutrition + hp_gained, NUTRITION_LEVEL_FULL)