From 76d80bb8a97e2584cc0acd9984be6e4ecc101fa6 Mon Sep 17 00:00:00 2001 From: carlarctg <53100513+carlarctg@users.noreply.github.com> Date: Mon, 23 Dec 2024 16:36:51 -0300 Subject: [PATCH] Kissing while you have the ink infusion ability off cooldown gives you an ink kiss (#88556) ## About The Pull Request Kissing while you have the ink infusion ability off cooldown gives you an ink kiss. This ink kiss behaves identically to a normal kiss but also creates a ink spit projectile and calls on_hit(target) on its own on_hit (not on_harmless_hit) ## Why It's Good For The Game I think it's funny to kiss people and splat them with ink. I did not test this because apparently worktrees dont work with pressing f5 ## Changelog :cl: add: Kissing while you have the ink infusion ability off cooldown gives you an ink kiss /:cl: --------- Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com> --- code/game/objects/items/hand_items.dm | 22 ++++++++++++++++++++++ code/modules/mob/living/emote.dm | 8 ++++++++ 2 files changed, 30 insertions(+) diff --git a/code/game/objects/items/hand_items.dm b/code/game/objects/items/hand_items.dm index d5c2a58dcd8..a1ea5b1011a 100644 --- a/code/game/objects/items/hand_items.dm +++ b/code/game/objects/items/hand_items.dm @@ -539,6 +539,12 @@ color = COLOR_SYNDIE_RED kiss_type = /obj/projectile/kiss/syndie +/obj/item/hand_item/kisser/ink + name = "ink kiss" + desc = "Is that a blot of ink in your pocket or are you just happy to see me?" + color = COLOR_ALMOST_BLACK + kiss_type = /obj/projectile/kiss/ink + /obj/projectile/kiss name = "kiss" icon = 'icons/mob/simple/animal.dmi' @@ -639,6 +645,22 @@ var/obj/item/organ/heart/dont_go_breakin_my_heart = heartbreakee.get_organ_slot(ORGAN_SLOT_HEART) dont_go_breakin_my_heart.apply_organ_damage(999) +/obj/projectile/kiss/ink + name = "ink kiss" + color = COLOR_ALMOST_BLACK + damage = /obj/projectile/ink_spit::damage + damage_type = /obj/projectile/ink_spit::damage_type + armor_flag = /obj/projectile/ink_spit::armor_flag + armour_penetration = /obj/projectile/ink_spit::armour_penetration + impact_effect_type = /obj/projectile/ink_spit::impact_effect_type + hitsound = /obj/projectile/ink_spit::hitsound + hitsound_wall = /obj/projectile/ink_spit::hitsound_wall + +/obj/projectile/kiss/ink/on_hit(atom/target, blocked, pierce_hit) + . = ..() + var/obj/projectile/ink_spit/ink_spit = new (target) + ink_spit.on_hit(target) + // Based on energy gun characteristics /obj/projectile/kiss/syndie name = "syndie kiss" diff --git a/code/modules/mob/living/emote.dm b/code/modules/mob/living/emote.dm index a8431d790b7..fad518a3234 100644 --- a/code/modules/mob/living/emote.dm +++ b/code/modules/mob/living/emote.dm @@ -262,12 +262,20 @@ if(HAS_TRAIT(user, TRAIT_KISS_OF_DEATH)) kiss_type = /obj/item/hand_item/kisser/death + var/datum/action/cooldown/ink_spit/ink_action = locate() in user.actions + if(ink_action?.IsAvailable()) + kiss_type = /obj/item/hand_item/kisser/ink + ink_action.StartCooldown() + else + ink_action = null + var/obj/item/kiss_blower = new kiss_type(user) if(user.put_in_hands(kiss_blower)) to_chat(user, span_notice("You ready your kiss-blowing hand.")) else qdel(kiss_blower) to_chat(user, span_warning("You're incapable of blowing a kiss in your current state.")) + ink_action?.ResetCooldown() /datum/emote/living/laugh key = "laugh"