mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-11 18:53:06 +00:00
[MIRROR] Ring/Watch Accessory Transfer (#9489)
Co-authored-by: Heroman3003 <31296024+Heroman3003@users.noreply.github.com> Co-authored-by: Kashargul <144968721+Kashargul@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
cc1e6f932e
commit
f7e9f8d12b
5
modular_chomp/code/datums/uplink/stealthy_weapons.dm
Normal file
5
modular_chomp/code/datums/uplink/stealthy_weapons.dm
Normal file
@@ -0,0 +1,5 @@
|
||||
/datum/uplink_item/item/stealthy_weapons/angrybuzzer
|
||||
name = "Morphium Shock Ring"
|
||||
desc = "An enigmatic ring used to create powerful electric shocks when punching. Can be used as a brute-force method of defibrillation."
|
||||
item_cost = 40
|
||||
path = /obj/item/clothing/gloves/ring/buzzer
|
||||
@@ -9,10 +9,10 @@
|
||||
|
||||
/datum/gear/gloves/ringworld1
|
||||
display_name = "world gem ring"
|
||||
path = /obj/item/clothing/gloves/ring/ringworld1
|
||||
path = /obj/item/clothing/accessory/ring/ringworld1
|
||||
cost = 1
|
||||
|
||||
/datum/gear/gloves/ringworld2
|
||||
display_name = "world ring"
|
||||
path = /obj/item/clothing/gloves/ring/ringworld2
|
||||
path = /obj/item/clothing/accessory/ring/ringworld2
|
||||
cost = 1
|
||||
|
||||
30
modular_chomp/code/modules/clothing/accessories/accessory.dm
Normal file
30
modular_chomp/code/modules/clothing/accessories/accessory.dm
Normal file
@@ -0,0 +1,30 @@
|
||||
/obj/item/clothing/accessory/collar/casinoslave
|
||||
name = "a disabled Sentient Prize Collar"
|
||||
desc = "A collar worn by sentient prizes on the Golden Goose Casino. Although the red text on it shows its disconnected and nonfunctional."
|
||||
icon = 'icons/obj/clothing/ties_ch.dmi'
|
||||
icon_override = 'icons/mob/ties_ch.dmi'
|
||||
|
||||
icon_state = "casinoslave"
|
||||
item_state = "casinoslave"
|
||||
overlay_state = "casinoslave"
|
||||
sprite_sheets = list(SPECIES_TESHARI = 'icons/inventory/accessory/mob_ch_teshari.dmi')
|
||||
|
||||
var/slavename = null //Name for system to put on collar description
|
||||
var/ownername = null //Name for system to put on collar description
|
||||
var/slaveckey = null //Ckey for system to check who is the person and ensure no abuse of system or errors
|
||||
var/slaveflavor = null //Description to show on the SPASM
|
||||
var/slaveooc = null //OOC text to show on the SPASM
|
||||
|
||||
/obj/item/clothing/accessory/collar/casinoslave/attack_self(mob/user as mob)
|
||||
//keeping it blank so people don't tag and reset collar status
|
||||
|
||||
/obj/item/clothing/accessory/collar/holo/casinoslave_fake
|
||||
name = "a Sentient Prize Collar"
|
||||
desc = "A collar worn by sentient prizes on the Golden Goose Casino. This one has been disconnected from the system and is now an accessory!"
|
||||
icon = 'icons/obj/clothing/ties_ch.dmi'
|
||||
icon_override = 'icons/mob/ties_ch.dmi'
|
||||
|
||||
icon_state = "casinoslave_owned"
|
||||
item_state = "casinoslave_owned"
|
||||
overlay_state = "casinoslave_owned"
|
||||
sprite_sheets = list(SPECIES_TESHARI = 'icons/inventory/accessory/mob_ch_teshari.dmi')
|
||||
@@ -1,12 +1,11 @@
|
||||
|
||||
/obj/item/clothing/gloves/ring/ringworld1
|
||||
/obj/item/clothing/accessory/ring/ringworld1
|
||||
name = "world gem ring"
|
||||
desc = "A ring that has a tiny world inside its glassy gem. You can even see clouds moving."
|
||||
icon = 'modular_chomp/icons/inventory/hands/item_ch.dmi'
|
||||
icon_state = "ringworld1"
|
||||
drop_sound = 'sound/items/drop/ring.ogg'
|
||||
|
||||
/obj/item/clothing/gloves/ring/ringworld2
|
||||
/obj/item/clothing/accessory/ring/ringworld2
|
||||
name = "world ring"
|
||||
desc = "A ring that has a tiny landscape all around its exterior. You can even see clouds moving."
|
||||
icon = 'modular_chomp/icons/inventory/hands/item_ch.dmi'
|
||||
66
modular_chomp/code/modules/clothing/gloves/antagonist.dm
Normal file
66
modular_chomp/code/modules/clothing/gloves/antagonist.dm
Normal file
@@ -0,0 +1,66 @@
|
||||
// Buzzer Ring - Traitor, Merc.
|
||||
/obj/item/clothing/gloves/ring/buzzer
|
||||
name = "ring"
|
||||
desc = "A plain metal band."
|
||||
description_antag = "This morphium-alloy ring continually generates an electric field, capable of electrocuting a target while not injuring the wearer.\
|
||||
The device is also capable of 'frankenstein'-ing a corpse, long after normal technology would be able to save them. The body will still be tied to the\
|
||||
normal damage limits for survival, however, so care must be taken."
|
||||
icon_state = "material"
|
||||
var/battery_type = /obj/item/cell/device/weapon/recharge
|
||||
var/obj/item/cell/battery = null
|
||||
|
||||
/obj/item/clothing/gloves/ring/buzzer/get_cell()
|
||||
return battery
|
||||
|
||||
/obj/item/clothing/gloves/ring/buzzer/Initialize()
|
||||
. = ..()
|
||||
if(!battery)
|
||||
battery = new battery_type(src)
|
||||
|
||||
/obj/item/clothing/gloves/ring/buzzer/Touch(var/atom/A, var/proximity)
|
||||
if(proximity && istype(usr, /mob/living/carbon/human))
|
||||
return zap(usr, A, proximity)
|
||||
return 0
|
||||
|
||||
/obj/item/clothing/gloves/ring/buzzer/proc/zap(var/mob/living/carbon/human/user, var/atom/movable/target, var/proximity)
|
||||
. = FALSE
|
||||
if(user.a_intent == I_HURT && battery.percent() >= 50)
|
||||
if(isliving(target))
|
||||
var/mob/living/L = target
|
||||
|
||||
if(ishuman(L) && battery.percent() >= 90) // Silent text-wise, for maximum potential for gimmicks.
|
||||
var/mob/living/carbon/human/H = L
|
||||
|
||||
if(H.stat == DEAD)
|
||||
. = TRUE
|
||||
|
||||
do_defib(H)
|
||||
|
||||
to_chat(L, span_warning("You feel a powerful shock!"))
|
||||
if(!.)
|
||||
playsound(L, 'sound/effects/sparks7.ogg', 40, 1)
|
||||
L.electrocute_act(battery.percent() * 0.25, src)
|
||||
battery.emp_act(2)
|
||||
return .
|
||||
|
||||
return 0
|
||||
|
||||
/obj/item/clothing/gloves/ring/buzzer/proc/do_defib(var/mob/living/carbon/human/H = null)
|
||||
if(!istype(H))
|
||||
return 0
|
||||
|
||||
dead_mob_list.Remove(H)
|
||||
if((H in living_mob_list) || (H in dead_mob_list))
|
||||
WARNING("Mob [H] was ring-defibbed but already in the living or dead list still!")
|
||||
living_mob_list += H
|
||||
|
||||
H.timeofdeath = 0
|
||||
H.set_stat(UNCONSCIOUS)
|
||||
H.failed_last_breath = 0
|
||||
H.reload_fullscreen()
|
||||
|
||||
H.emote("gasp")
|
||||
H.Weaken(rand(10,25))
|
||||
H.updatehealth()
|
||||
|
||||
battery.emp_act(1)
|
||||
Reference in New Issue
Block a user