diff --git a/code/game/objects/items/credit_holochip.dm b/code/game/objects/items/credit_holochip.dm index 2fc6fc9c9da..59c5339c314 100644 --- a/code/game/objects/items/credit_holochip.dm +++ b/code/game/objects/items/credit_holochip.dm @@ -20,12 +20,19 @@ return INITIALIZE_HINT_QDEL add_traits(list(TRAIT_FISHING_BAIT, TRAIT_BAIT_ALLOW_FISHING_DUD), INNATE_TRAIT) update_appearance() + register_context() /obj/item/holochip/examine(mob/user) . = ..() . += "[span_notice("It's loaded with [credits] credit[( credits > 1 ) ? "s" : ""]")]\n"+\ span_notice("Alt-Click to split.") +/obj/item/holochip/add_context(atom/source, list/context, obj/item/held_item, mob/living/user) + if(istype(held_item, /obj/item/holochip)) + context[SCREENTIP_CONTEXT_LMB] = "Merge Into" + context[SCREENTIP_CONTEXT_ALT_LMB] = "Extract Credits" + return CONTEXTUAL_SCREENTIP_SET + /obj/item/holochip/get_item_credit_value() return credits @@ -95,14 +102,16 @@ else return 0 -/obj/item/holochip/attackby(obj/item/I, mob/user, list/modifiers, list/attack_modifiers) - ..() - if(istype(I, /obj/item/holochip)) - var/obj/item/holochip/H = I - credits += H.credits - to_chat(user, span_notice("You insert the credits into [src].")) - update_appearance() - qdel(H) +/obj/item/holochip/item_interaction(mob/living/user, obj/item/tool, list/modifiers) + if(!istype(tool, /obj/item/holochip)) + return NONE + + var/obj/item/holochip/merged_holochip = tool + credits += merged_holochip.credits + balloon_alert(user, "merged!") + update_appearance() + qdel(merged_holochip) + return ITEM_INTERACT_SUCCESS /obj/item/holochip/click_alt(mob/user) if(loc != user)