The Great Device Resprite and Contained Sprite-ening (#20344)

Don't let the large file size scare you, it's just mostly splitting
stuff into contained sprites and putting them in the correct place.

Anyway, resprites most non-resprited devices in devices.dmi, and puts
them in contained sprites.
Also puts any related /obj/item/device into contained sprites too.
That's basically the long and short of it.
This commit is contained in:
Wowzewow (Wezzy)
2025-01-24 12:16:30 +00:00
committed by GitHub
parent e9fd65e0af
commit e7232d04fc
188 changed files with 319 additions and 355 deletions
+4 -1
View File
@@ -5,8 +5,10 @@
/obj/item/autopsy_scanner
name = "autopsy scanner"
desc = "Extracts information on wounds."
icon = 'icons/obj/device.dmi'
icon = 'icons/obj/item/autopsy_scanner.dmi'
icon_state = "autopsy"
item_state = "autopsy"
contained_sprite = TRUE
obj_flags = OBJ_FLAG_CONDUCTABLE
w_class = WEIGHT_CLASS_SMALL
origin_tech = list(TECH_MATERIAL = 1, TECH_BIO = 1)
@@ -178,6 +180,7 @@
for(var/mob/O in viewers(M))
O.show_message(SPAN_NOTICE("\The [user] scans the wounds on [M.name]'s [S.name] with \the [src]"), 1)
flick("autopsy-scan", src)
src.add_data(S)
return 1
@@ -5,9 +5,10 @@
</br>This will not make you inaudible, your footsteps can still be heard, and it will make a very distinctive sound when uncloaking.\
</br>Any items you're holding in your hands can still be seen."
desc_antag = "Being cloaked makes you impossible to click on, which offers a major advantage in combat. People can only hit you by blind-firing in your direction."
icon = 'icons/obj/device.dmi'
icon = 'icons/obj/item/device/chameleon.dmi'
icon_state = "shield0"
item_state = "electronic"
contained_sprite = TRUE
var/active = 0.0
obj_flags = OBJ_FLAG_CONDUCTABLE
item_state = "electronic"
@@ -2,7 +2,7 @@
name = "bluespace neutralizer"
desc = "A strange device, supposedly capable of pre-emptively shutting down bluespace portals."
desc_info = "Click on it, or use it in-hand to activate it. Click on any portal-like structure to instantly close it. Stand near a bluespace rift while it's active to start the closing process."
icon = 'icons/obj/item/tools/neutralizer.dmi'
icon = 'icons/obj/item/neutralizer.dmi'
icon_state = "neutralizer"
contained_sprite = TRUE
@@ -4,6 +4,7 @@
icon = 'icons/obj/machinery/cell_charger.dmi'
icon_state = "cell"
item_state = "cell"
contained_sprite = TRUE
origin_tech = list(TECH_POWER = 1)
force = 11
throwforce = 5.0
@@ -2,7 +2,7 @@
name = "research slip"
desc = "A small slip of plastic with an embedded chip. It is commonly used to store small amounts of research data."
desc_info = "This item is to be used in the destructive analyzer to gain research points."
icon = 'icons/obj/item/tools/research_slip.dmi'
icon = 'icons/obj/item/research_slip.dmi'
icon_state = "slip_nt"
contained_sprite = TRUE
@@ -26,8 +26,8 @@
/obj/item/locator
name = "locator"
desc = "A device that can be used to track those with locator implants."
icon = 'icons/obj/device.dmi'
icon_state = "locator"
icon = 'icons/obj/item/pinpointer.dmi'
icon_state = "pinoff"
var/temp = null
var/frequency = 1451
var/broadcasting = null
@@ -142,7 +142,7 @@ Frequency:
name = "hand tele"
desc = "A hand-held bluespace teleporter that can rip open portals to a random nearby location, or lock onto a teleporter with a selected teleportation beacon."
desc_info = "Ctrl-click to choose which teleportation pad to link to. Use in-hand or alt-click to deploy a portal. When not linked to a pad, or the pad isn't pointing at a beacon, it will choose a completely random teleportation destination."
icon = 'icons/obj/device.dmi'
icon = 'icons/obj/item/hand_tele.dmi'
icon_state = "hand_tele"
item_state = "electronic"
throwforce = 5
@@ -259,6 +259,9 @@ Frequency:
LAZYREMOVE(active_teleporters, P)
if(LAZYLEN(active_teleporters) < max_portals)
check_maptext(SMALL_FONTS(7, "Ready"))
icon_state = "hand_tele"
else
icon_state = "hand_tele_recharging"
/obj/item/closet_teleporter
name = "closet teleporter"
+12 -3
View File
@@ -4,8 +4,10 @@ var/list/global/all_tethers = list()
name = "tethering device"
desc = "A device used by explorers to keep track of partners by way of electro-tether."
desc_info = "Use in-hand to activate, must be on the same level and within fifteen tiles of another device to latch. Tethers are colour coded by distance."
icon = 'icons/obj/device.dmi'
icon_state = "locator"
icon = 'icons/obj/item/device/gps.dmi'
icon_state = "gps"
item_state = "radio"
contained_sprite = TRUE
w_class = WEIGHT_CLASS_SMALL
slot_flags = SLOT_BELT
force = 1
@@ -18,6 +20,11 @@ var/list/global/all_tethers = list()
. = ..()
all_tethers += src
/obj/item/tethering_device/update_icon()
ClearOverlays()
if(active)
AddOverlays("gps_on")
/obj/item/tethering_device/Destroy()
STOP_PROCESSING(SSprocessing, src)
deactivate()
@@ -26,6 +33,7 @@ var/list/global/all_tethers = list()
/obj/item/tethering_device/attack_self(mob/user)
active = !active
update_icon()
var/msg = "You [active ? "activate" : "deactivate"] \the [src]."
to_chat(user, SPAN_NOTICE(msg))
if(active)
@@ -33,6 +41,7 @@ var/list/global/all_tethers = list()
else
deactivate()
/obj/item/tethering_device/process()
var/turf/our_turf = get_turf(src)
for(var/tether in all_tethers - src)
@@ -54,7 +63,7 @@ var/list/global/all_tethers = list()
/obj/item/tethering_device/emp_act(severity)
. = ..()
AddOverlays("gps_emp")
deactivate()
/obj/item/tethering_device/proc/activate()
+5 -5
View File
@@ -219,7 +219,7 @@
/obj/item/weldingtool
name = "welding tool"
desc = "A welding tool with a built-in fuel tank, designed for welding and cutting metal."
icon = 'icons/obj/item/tools/welding_tools.dmi'
icon = 'icons/obj/item/welding_tools.dmi'
icon_state = "welder"
item_state = "welder"
var/welding_state = "welding_sparks"
@@ -662,7 +662,7 @@
name = "experimental eyeshield"
desc = "An advanced eyeshield capable of dampening the welding glare produced when working on modern super-materials, removing the need for user-worn welding gear."
desc_info = "This can be attached to an experimental welder to give it welding protection, removing the need for welding goggles or masks."
icon = 'icons/obj/item/tools/welding_tools.dmi'
icon = 'icons/obj/item/welding_tools.dmi'
icon_state = "eyeshield"
item_state = "eyeshield"
contained_sprite = TRUE
@@ -671,7 +671,7 @@
name = "experimental overcapacitor"
desc = "An advanced capacitor that injects a current into the welding stream, doubling the speed of welding tasks without sacrificing quality. Excess current burns up welding fuel, reducing fuel efficiency, however."
desc_info = "This can be attached to an experimental welder to double the speed it works at, at the cost of tripling the fuel cost of using it."
icon = 'icons/obj/item/tools/welding_tools.dmi'
icon = 'icons/obj/item/welding_tools.dmi'
icon_state = "overcap"
item_state = "overcap"
contained_sprite = TRUE
@@ -750,7 +750,7 @@
/obj/item/crowbar/hydraulic_rescue_tool
name = "Hydraulic rescue tool"
desc = "A hydraulic rescue tool that functions like a crowbar by applying strong amounts of hydraulic pressure to force open different things. Also known as jaws of life."
icon = 'icons/obj/item/tools/hydraulic_rescue_tool.dmi'
icon = 'icons/obj/item/hydraulic_rescue_tool.dmi'
icon_state = "jawspry"
force = 15
throwforce = 1
@@ -870,7 +870,7 @@
/obj/item/powerdrill
name = "impact wrench"
desc = "The screwdriver's big brother."
icon = 'icons/obj/item/tools/impact_wrench.dmi'
icon = 'icons/obj/item/impact_wrench.dmi'
icon_state = "impact_wrench-screw"
item_state = "impact_wrench"
contained_sprite = TRUE