diff --git a/code/modules/mob/living/silicon/silicon_defense.dm b/code/modules/mob/living/silicon/silicon_defense.dm index 9e59959f1f6..dd2c052c61e 100644 --- a/code/modules/mob/living/silicon/silicon_defense.dm +++ b/code/modules/mob/living/silicon/silicon_defense.dm @@ -64,17 +64,20 @@ . = FALSE if(SEND_SIGNAL(src, COMSIG_ATOM_ATTACK_HAND, user) & COMPONENT_CANCEL_ATTACK_CHAIN) . = TRUE - if(user.combat_mode) - user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) - playsound(src.loc, 'sound/effects/bang.ogg', 10, TRUE) - visible_message("[user] punches [src], but doesn't leave a dent!", \ - "[user] punches you, but doesn't leave a dent!", null, COMBAT_MESSAGE_RANGE, user) - to_chat(user, "You punch [src], but don't leave a dent!") + if(has_buckled_mobs() && !user.combat_mode) + user_unbuckle_mob(buckled_mobs[1], user) else - visible_message("[user] pets [src].", \ - "[user] pets you.", null, null, user) - to_chat(user, "You pet [src].") - SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT_RND, "pet_borg", /datum/mood_event/pet_borg) + if(user.combat_mode) + user.do_attack_animation(src, ATTACK_EFFECT_PUNCH) + playsound(src.loc, 'sound/effects/bang.ogg', 10, TRUE) + visible_message("[user] punches [src], but doesn't leave a dent!", \ + "[user] punches you, but doesn't leave a dent!", null, COMBAT_MESSAGE_RANGE, user) + to_chat(user, "You punch [src], but don't leave a dent!") + else + visible_message("[user] pets [src].", \ + "[user] pets you.", null, null, user) + to_chat(user, "You pet [src].") + SEND_SIGNAL(user, COMSIG_ADD_MOOD_EVENT_RND, "pet_borg", /datum/mood_event/pet_borg) /mob/living/silicon/attack_drone(mob/living/simple_animal/drone/M)