diff --git a/code/modules/antagonists/morph/morph.dm b/code/modules/antagonists/morph/morph.dm index 8146ab7fbe..3ddbd0117c 100644 --- a/code/modules/antagonists/morph/morph.dm +++ b/code/modules/antagonists/morph/morph.dm @@ -27,12 +27,14 @@ see_in_dark = 8 lighting_alpha = LIGHTING_PLANE_ALPHA_MOSTLY_INVISIBLE vision_range = 1 // Only attack when target is close - wander = 0 + wander = FALSE attacktext = "glomps" attack_sound = 'sound/effects/blobattack.ogg' butcher_results = list(/obj/item/reagent_containers/food/snacks/meat/slab = 2) var/morphed = FALSE + var/melee_damage_disguised = 0 + var/eat_while_disguised = FALSE var/atom/movable/form = null var/morph_time = 0 var/static/list/blacklist_typecache = typecacheof(list( @@ -75,11 +77,14 @@ return !is_type_in_typecache(A, blacklist_typecache) && (isobj(A) || ismob(A)) /mob/living/simple_animal/hostile/morph/proc/eat(atom/movable/A) + if(morphed && !eat_while_disguised) + to_chat(src, "You can not eat anything while you are disguised!") + return FALSE if(A && A.loc != src) visible_message("[src] swallows [A] whole!") A.forceMove(src) - return 1 - return 0 + return TRUE + return FALSE /mob/living/simple_animal/hostile/morph/ShiftClickOn(atom/movable/A) if(morph_time <= world.time && !stat) @@ -109,8 +114,8 @@ pixel_x = initial(pixel_x) //Morphed is weaker - melee_damage_lower = 5 - melee_damage_upper = 5 + melee_damage_lower = melee_damage_disguised + melee_damage_upper = melee_damage_disguised speed = 0 morph_time = world.time + MORPH_COOLDOWN @@ -181,10 +186,13 @@ /mob/living/simple_animal/hostile/morph/can_track(mob/living/user) if(morphed) - return 0 + return FALSE return ..() /mob/living/simple_animal/hostile/morph/AttackingTarget() + if(!melee_damage_disguised) + to_chat(src, "You can not attack while disguised!") + return if(isliving(target)) //Eat Corpses to regen health var/mob/living/L = target if(L.stat == DEAD)