diff --git a/code/datums/uplink/highly visible and dangerous weapons.dm b/code/datums/uplink/highly visible and dangerous weapons.dm index 7693b5e92f3..a171b2f4b25 100644 --- a/code/datums/uplink/highly visible and dangerous weapons.dm +++ b/code/datums/uplink/highly visible and dangerous weapons.dm @@ -119,6 +119,11 @@ item_cost = 8 path = /obj/item/gun/custom_ka/frame01/illegal +/datum/uplink_item/item/visible_weapons/teslagauntlet + name = "Tesla Gauntlet" + item_cost = 10 + path = /obj/item/clothing/gloves/tesla + /datum/uplink_item/item/visible_weapons/random_weapon name = "Random Gun" item_cost = 10 diff --git a/code/modules/clothing/gloves/miscellaneous.dm b/code/modules/clothing/gloves/miscellaneous.dm index 6b1dcd4e6e3..66602e01617 100644 --- a/code/modules/clothing/gloves/miscellaneous.dm +++ b/code/modules/clothing/gloves/miscellaneous.dm @@ -248,7 +248,6 @@ item_state = "ballisticfist" siemens_coefficient = 1 fingerprint_chance = 50 - siemens_coefficient = 1 clipped = 1 species_restricted = list("exclude",BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM) drop_sound = 'sound/items/drop/toolbox.ogg' @@ -315,3 +314,47 @@ . = ..() if(mounted) mounted.switch_firemodes() + +/obj/item/clothing/gloves/tesla + name = "tesla gauntlet" + desc = "A weaponized gauntlet capable of firing lightning bolts." + desc_fluff = "A tesla-based weapon created by the People's Republic of Adhomai as part of their Tesla Brigade program. Because of its long recharge time, the gauntlet is commonly \ + used as an ancillary weapon." + icon_state = "tesla_glove_on" + item_state = "tesla_glove_on" + siemens_coefficient = 1 + fingerprint_chance = 50 + clipped = TRUE + species_restricted = list("exclude",BODYTYPE_GOLEM,BODYTYPE_VAURCA_BREEDER,BODYTYPE_VAURCA_WARFORM) + drop_sound = 'sound/items/drop/toolbox.ogg' + pickup_sound = 'sound/items/pickup/toolbox.ogg' + gender = NEUTER + var/charged = TRUE + +/obj/item/clothing/gloves/tesla/Touch(atom/A, mob/living/user, proximity) + if(!charged) + to_chat(user, SPAN_WARNING("\The [src] is still recharging.")) + return + + if(user.a_intent == I_HURT) + var/turf/T = get_turf(user) + user.visible_message(SPAN_DANGER("\The [user] crackles with energy!")) + var/obj/item/projectile/beam/tesla/LE = new (T) + playsound(usr.loc, 'sound/magic/LightningShock.ogg', 75, 1) + LE.launch_projectile(A, user.zone_sel? user.zone_sel.selecting : null, user) + charged = FALSE + update_icon() + user.update_inv_gloves() + addtimer(CALLBACK(src, .proc/rearm), 30 SECONDS) + +/obj/item/clothing/gloves/tesla/proc/rearm() + visible_message(SPAN_NOTICE("\The [src] surges back with energy!")) + charged = TRUE + +/obj/item/clothing/gloves/tesla/update_icon() + if(charged) + icon_state = "tesla_glove_on" + item_state = "tesla_glove_on" + else + icon_state = "tesla_glove" + item_state = "tesla_glove" \ No newline at end of file diff --git a/html/changelogs/alberyk-teslaglove.yml b/html/changelogs/alberyk-teslaglove.yml new file mode 100644 index 00000000000..2057b51ef66 --- /dev/null +++ b/html/changelogs/alberyk-teslaglove.yml @@ -0,0 +1,6 @@ +author: Alberyk, Kyres1 + +delete-after: True + +changes: + - rscadd: "Added the tesla gauntlet to the uplink." diff --git a/icons/mob/hands.dmi b/icons/mob/hands.dmi index 33e9cef9d38..7520508f892 100644 Binary files a/icons/mob/hands.dmi and b/icons/mob/hands.dmi differ diff --git a/icons/obj/clothing/gloves.dmi b/icons/obj/clothing/gloves.dmi index e0767a3db1a..17ac1e4d72d 100644 Binary files a/icons/obj/clothing/gloves.dmi and b/icons/obj/clothing/gloves.dmi differ