From 799cc77f723dbc0e33a4e8b10cb7c0b5b436cd14 Mon Sep 17 00:00:00 2001 From: deathride58 Date: Mon, 14 May 2018 19:05:38 -0400 Subject: [PATCH] Emag QoL and addition of emag recharging --- modular_citadel/code/game/objects/ids.dm | 58 +++++++++++++------ .../code/modules/uplink/uplink_items.dm | 8 ++- 2 files changed, 47 insertions(+), 19 deletions(-) diff --git a/modular_citadel/code/game/objects/ids.dm b/modular_citadel/code/game/objects/ids.dm index dc8f38bd25..352332e106 100644 --- a/modular_citadel/code/game/objects/ids.dm +++ b/modular_citadel/code/game/objects/ids.dm @@ -47,28 +47,50 @@ //================================================= -/obj/item/card/emag_broken - desc = "It's a card with a melted magnetic strip, useless!" - name = "broken cryptographic sequencer" - icon_state = "emag" - item_state = "card-id" - lefthand_file = 'icons/mob/inhands/equipment/idcards_lefthand.dmi' - righthand_file = 'icons/mob/inhands/equipment/idcards_righthand.dmi' +/obj/item/emagrecharge + name = "electromagnet charging device" + desc = "A small cell with two prongs lazily jabbed into it. It looks like it's made for charging the small batteries found in electromagnetic devices." + icon = 'icons/obj/module.dmi' + icon_state = "cell_mini" flags_1 = NOBLUDGEON_1 - flags_2 = NO_MAT_REDEMPTION_2 - color = rgb(35, 20, 11) + var/uses = 5 //Dictates how many charges the device adds to compatible items + +/obj/item/emagrecharge/examine(mob/user) + . = ..() + if(uses) + to_chat(user, "It can add up to [uses] charges to compatible devices") + else + to_chat(user, "It has a small, red, blinking light coming from inside of it. It's spent.") /obj/item/card/emag var/uses = 10 -/obj/item/card/emag/afterattack(atom/target, mob/user, proximity) +/obj/item/card/emag/examine(mob/user) . = ..() - uses-- + to_chat(user, "It has [uses ? uses : "no"] charges left.") - if(uses<1) - user.visible_message("[src] fizzles and sparks. It's burned out!") - user.dropItemToGround(src) - var/obj/item/card/emag_broken/junk = new(user.loc) - junk.add_fingerprint(user) - qdel(src) - return \ No newline at end of file +/obj/item/card/emag/attackby(obj/item/W, mob/user, params) + if(istype(W, /obj/item/emagrecharge)) + var/obj/item/emagrecharge/ER = W + if(ER.uses) + uses += ER.uses + to_chat(user, "You have added [ER.uses] charges to [src]. It now has [uses] charges.") + playsound(src, "sparks", 100, 1) + ER.uses = 0 + else + to_chat(user, "[ER] has no charges left.") + return + . = ..() + +/obj/item/card/emag/afterattack(atom/target, mob/user, proximity) + if(!uses) + user.visible_message("[src] emits a weak spark. It's burnt out!") + playsound(src, 'sound/effects/light_flicker.ogg', 100, 1) + return + . = ..() + uses = max(uses - 1, 0) + if(!uses) + user.visible_message("[src] fizzles and sparks. It seems like it's out of charges.") + playsound(src, 'sound/effects/light_flicker.ogg', 100, 1) + else if(uses =< 3) + playsound(src, 'sound/effects/light_flicker.ogg', 30, 1) //Tiiiiiiny warning sound to let ya know your emag's almost dead diff --git a/modular_citadel/code/modules/uplink/uplink_items.dm b/modular_citadel/code/modules/uplink/uplink_items.dm index 5fcb76781e..4f9e54f320 100644 --- a/modular_citadel/code/modules/uplink/uplink_items.dm +++ b/modular_citadel/code/modules/uplink/uplink_items.dm @@ -2,5 +2,11 @@ // PUT ALL YOUR NEW UPLINK STUFF HERE, OVERRIDES GO IN HERE TOO */ +/datum/uplink_item/device_tools/emagrecharge + name = "Electromagnet Charging Device" + desc = "A small device intended for recharging Cryptographic Sequencers. Using it will add five extra charges to the Cryptographic Sequencer." + item = /obj/item/emagrecharge + cost = 2 + /datum/uplink_item/dangerous/revolver - item = /obj/item/gun/ballistic/revolver/syndie \ No newline at end of file + item = /obj/item/gun/ballistic/revolver/syndie