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 -4
View File
@@ -7,6 +7,8 @@
return 1
/obj/item/antag_spawner
icon = 'icons/obj/item/hand_tele.dmi'
icon_state = "hand_tele"
throw_speed = 1
throw_range = 5
w_class = WEIGHT_CLASS_TINY
@@ -25,6 +27,8 @@
/obj/item/antag_spawner/proc/request_player(var/mob/user)
uses--
if(uses <= 0)
icon_state = "hand_tele_recharging"
var/mob/M = new mob_type(get_turf(user))
M.faction = user.faction
@@ -36,8 +40,6 @@
/obj/item/antag_spawner/combat_robot
name = "combat robot teleporter"
desc = "A single-use teleporter used to deploy a Combat Robot on the field. Due to budget restrictions, it is only possible to deploy a single robot."
icon = 'icons/obj/device.dmi'
icon_state = "locator"
mob_type = /mob/living/silicon/robot/combat
ghost_role_id = "combatrobot"
@@ -53,8 +55,6 @@
/obj/item/antag_spawner/technomancer_apprentice
name = "apprentice teleporter"
desc = "A teleportation device, which will bring a less potent manipulator of space to you."
icon = 'icons/obj/device.dmi'
icon_state = "locator"
mob_type = /mob/living/carbon/human
ghost_role_id = "technoapprentice"
var/outfit_type = /obj/outfit/admin/techomancer/apprentice
+36 -36
View File
@@ -1,11 +1,12 @@
/obj/item/pinpointer
name = "pinpointer"
icon = 'icons/obj/device.dmi'
icon = 'icons/obj/item/pinpointer.dmi'
icon_state = "pinoff"
item_state = "electronic"
contained_sprite = TRUE
obj_flags = OBJ_FLAG_CONDUCTABLE
slot_flags = SLOT_BELT
w_class = WEIGHT_CLASS_SMALL
item_state = "electronic"
throw_speed = 4
throw_range = 20
matter = list(DEFAULT_WALL_MATERIAL = 500)
@@ -16,12 +17,11 @@
if(!active)
active = 1
START_PROCESSING(SSfast_process, src)
to_chat(usr, SPAN_NOTICE("You activate the pinpointer"))
to_chat(usr, SPAN_NOTICE("You activate the pinpointer."))
else
active = 0
STOP_PROCESSING(SSfast_process, src)
icon_state = "pinoff"
to_chat(usr, "<span>You deactivate the pinpointer</span>")
to_chat(usr, SPAN_NOTICE("You deactivate the pinpointer."))
/obj/item/pinpointer/process()
if (active)
@@ -30,22 +30,23 @@
STOP_PROCESSING(SSfast_process, src)
/obj/item/pinpointer/proc/workdisk()
ClearOverlays()
if(!active) return
if(!the_disk)
the_disk = locate()
if(!the_disk)
icon_state = "pinonnull"
AddOverlays("pinonnull")
return
set_dir(get_dir(src,the_disk))
switch(get_dist(src,the_disk))
if(0)
icon_state = "pinondirect"
AddOverlays("pinondirect")
if(1 to 8)
icon_state = "pinonclose"
AddOverlays("pinonclose")
if(9 to 16)
icon_state = "pinonmedium"
AddOverlays("pinonmedium")
if(16 to INFINITY)
icon_state = "pinonfar"
AddOverlays("pinonfar")
return TRUE
/obj/item/pinpointer/get_examine_text(mob/user, distance, is_adjacent, infix, suffix)
@@ -60,8 +61,7 @@
return ..()
/obj/item/pinpointer/advpinpointer
name = "Advanced Pinpointer"
icon = 'icons/obj/device.dmi'
name = "advanced pinpointer"
desc = "A larger version of the normal pinpointer, this unit features a helpful quantum entanglement detection system to locate various objects that do not broadcast a locator signal."
var/mode = 0 // Mode 0 locates disk, mode 1 locates coordinates.
var/turf/location = null
@@ -94,26 +94,26 @@
workobj()
/obj/item/pinpointer/advpinpointer/proc/worklocation()
ClearOverlays()
if(!active)
STOP_PROCESSING(SSfast_process, src)
return
if(!location)
icon_state = "pinonnull"
AddOverlays("pinonnull")
return
set_dir(get_dir(src,location))
set_z_overlays(location)
switch(get_dist(src,location))
if(0)
icon_state = "pinondirect"
AddOverlays("pinondirect")
if(1 to 8)
icon_state = "pinonclose"
AddOverlays("pinonclose")
if(9 to 16)
icon_state = "pinonmedium"
AddOverlays("pinonmedium")
if(16 to INFINITY)
icon_state = "pinonfar"
AddOverlays("pinonfar")
/obj/item/pinpointer/advpinpointer/proc/set_z_overlays(var/atom/target)
ClearOverlays()
if(AreConnectedZLevels(src.loc.z, target.z))
if(src.loc.z > target.z)
AddOverlays("pinzdown")
@@ -130,23 +130,24 @@
set_z_overlays(the_disk)
/obj/item/pinpointer/advpinpointer/proc/workobj()
ClearOverlays()
if(!active)
STOP_PROCESSING(SSfast_process, src)
return
if(!target)
icon_state = "pinonnull"
AddOverlays("pinonnull")
return
set_dir(get_dir(src,target))
set_z_overlays(target)
switch(get_dist(src,target))
if(0)
icon_state = "pinondirect"
AddOverlays("pinondirect")
if(1 to 8)
icon_state = "pinonclose"
AddOverlays("pinonclose")
if(9 to 16)
icon_state = "pinonmedium"
AddOverlays("pinonmedium")
if(16 to INFINITY)
icon_state = "pinonfar"
AddOverlays("pinonfar")
/obj/item/pinpointer/advpinpointer/verb/toggle_mode()
set category = "Object"
@@ -154,7 +155,6 @@
set src in view(1)
active = 0
icon_state = "pinoff"
target = null
location = null
@@ -232,7 +232,6 @@
else
active = 0
STOP_PROCESSING(SSfast_process, src)
icon_state = "pinoff"
to_chat(user, SPAN_NOTICE("You deactivate the pinpointer."))
/obj/item/pinpointer/nukeop/process()
@@ -242,6 +241,7 @@
worklocation()
/obj/item/pinpointer/nukeop/workdisk()
ClearOverlays()
if(!active) return
if(mode) //Check in case the mode changes while operating
worklocation()
@@ -255,7 +255,7 @@
if(!the_disk)
the_disk = locate()
if(!the_disk)
icon_state = "pinonnull"
AddOverlays("pinonnull")
return
// if(loc.z != the_disk.z) //If you are on a different z-level from the disk
// icon_state = "pinonnull"
@@ -263,13 +263,13 @@
set_dir(get_dir(src, the_disk))
switch(get_dist(src, the_disk))
if(0)
icon_state = "pinondirect"
AddOverlays("pinondirect")
if(1 to 8)
icon_state = "pinonclose"
AddOverlays("pinonclose")
if(9 to 16)
icon_state = "pinonmedium"
AddOverlays("pinonmedium")
if(16 to INFINITY)
icon_state = "pinonfar"
AddOverlays("pinonfar")
/obj/item/pinpointer/nukeop/proc/worklocation()
if(!active) return
@@ -285,18 +285,18 @@
if(!home)
home = locate()
if(!home)
icon_state = "pinonnull"
AddOverlays("pinonnull")
return
if(loc.z != home.z) //If you are on a different z-level from the shuttle
icon_state = "pinonnull"
AddOverlays("pinonnull")
else
set_dir(get_dir(src, home))
switch(get_dist(src, home))
if(0)
icon_state = "pinondirect"
AddOverlays("pinondirect")
if(1 to 8)
icon_state = "pinonclose"
AddOverlays("pinonclose")
if(9 to 16)
icon_state = "pinonmedium"
AddOverlays("pinonmedium")
if(16 to INFINITY)
icon_state = "pinonfar"
AddOverlays("pinonfar")
@@ -8,8 +8,10 @@
/obj/item/disposable_teleporter
name = "disposable teleporter"
desc = "A very compact personal teleportation device. It's very precise and safe, however it can only be used a few times."
icon = 'icons/obj/device.dmi'
icon = 'icons/obj/item/hand_tele.dmi'
icon_state = "hand_tele"
item_state = "electronic"
contained_sprite = TRUE
var/uses = 3.0
w_class = WEIGHT_CLASS_TINY
item_state = "paper"