diff --git a/code/game/machinery/buttons.dm b/code/game/machinery/buttons.dm index 213a9c1a162..fac84c244e0 100644 --- a/code/game/machinery/buttons.dm +++ b/code/game/machinery/buttons.dm @@ -65,6 +65,9 @@ /obj/machinery/button/switch/update_icon() icon_state = "light[active]" +/obj/machinery/button/switch/attack_hand() + playsound(src, /decl/sound_category/switch_sound, 30) + //alternate button with the same functionality, except has a door control sprite instead /obj/machinery/button/alternate icon = 'icons/obj/stationobjs.dmi' diff --git a/code/game/machinery/holosign.dm b/code/game/machinery/holosign.dm index 6e7701de2b5..22a5618f817 100644 --- a/code/game/machinery/holosign.dm +++ b/code/game/machinery/holosign.dm @@ -51,16 +51,13 @@ on_icon = "surgery" ////////////////////SWITCH/////////////////////////////////////// -/obj/machinery/button/holosign +/obj/machinery/button/switch/holosign name = "holosign switch" desc = "A remote control switch for holosign." icon = 'icons/obj/power.dmi' icon_state = "holosign_switch" -/obj/machinery/button/holosign/update_icon() - return - -/obj/machinery/button/holosign/attack_hand(mob/user as mob) +/obj/machinery/button/switch/holosign/attack_hand(mob/user as mob) if(..()) return add_fingerprint(user) @@ -68,8 +65,7 @@ use_power(5) active = !active - icon_state = "light[active]" - + update_icon() for(var/obj/machinery/holosign/M in SSmachinery.all_machines) if (M.id == src.id) INVOKE_ASYNC(M, /obj/machinery/holosign/proc/toggle) diff --git a/code/game/machinery/lightswitch.dm b/code/game/machinery/lightswitch.dm index 4a180b4f845..96f50b3e377 100644 --- a/code/game/machinery/lightswitch.dm +++ b/code/game/machinery/lightswitch.dm @@ -30,7 +30,7 @@ /obj/machinery/light_switch/update_icon() cut_overlays() if(!(stat & NOPOWER)) - holographic_overlay(src, icon, "light_switch[on]-overlay") + holographic_overlay(src, icon, "light[on]-overlay") if (!light_range || light_color != on ? "#82ff4c" : "#f86060") set_light(2, 0.3, on ? "#82ff4c" : "#f86060") else if (light_range) diff --git a/code/game/objects/structures/morgue.dm b/code/game/objects/structures/morgue.dm index 9532714c0bd..0e8c95065ce 100644 --- a/code/game/objects/structures/morgue.dm +++ b/code/game/objects/structures/morgue.dm @@ -405,7 +405,7 @@ name = "crematorium igniter" desc = "Burn baby burn!" icon = 'icons/obj/power.dmi' - icon_state = "crema_switch" + icon_state = "light0" req_access = list(access_crematorium) id = 1 var/cremate_dir // something for mappers, setting will make a crematorium in one step in this direction toggle @@ -414,6 +414,7 @@ return /obj/machinery/button/crematorium/attack_hand(mob/user) + playsound(src, /decl/sound_category/switch_sound, 30) if(!allowed(user)) to_chat(user, SPAN_WARNING("Access denied.")) return @@ -433,4 +434,4 @@ for(var/thing in crematoriums) var/obj/structure/crematorium/C = thing if(!C.cremating) - C.cremate(user) \ No newline at end of file + C.cremate(user) diff --git a/code/game/objects/structures/window.dm b/code/game/objects/structures/window.dm index 5a5efa01697..16564efe830 100644 --- a/code/game/objects/structures/window.dm +++ b/code/game/objects/structures/window.dm @@ -529,20 +529,18 @@ /obj/structure/window/reinforced/crescent/shatter() return -/obj/machinery/button/windowtint +/obj/machinery/button/switch/windowtint name = "window tint control" - icon = 'icons/obj/power.dmi' - icon_state = "light0" desc = "A remote control switch for polarized windows." var/range = 16 -/obj/machinery/button/windowtint/attack_hand(mob/user as mob) +/obj/machinery/button/switch/windowtint/attack_hand(mob/user as mob) if(..()) return 1 toggle_tint() -/obj/machinery/button/windowtint/proc/toggle_tint() +/obj/machinery/button/switch/windowtint/proc/toggle_tint() use_power(5) active = !active @@ -554,10 +552,10 @@ W.toggle() return -/obj/machinery/button/windowtint/power_change() +/obj/machinery/button/switch/windowtint/power_change() ..() if(active && !powered(power_channel)) toggle_tint() -/obj/machinery/button/windowtint/update_icon() +/obj/machinery/button/switch/windowtint/update_icon() icon_state = "light[active]" diff --git a/html/changelogs/wezzy-neuebuttons.yml b/html/changelogs/wezzy-neuebuttons.yml new file mode 100644 index 00000000000..d24635ab7ce --- /dev/null +++ b/html/changelogs/wezzy-neuebuttons.yml @@ -0,0 +1,41 @@ +################################ +# Example Changelog File +# +# Note: This file, and files beginning with ".", and files that don't end in ".yml" will not be read. If you change this file, you will look really dumb. +# +# Your changelog will be merged with a master changelog. (New stuff added only, and only on the date entry for the day it was merged.) +# When it is, any changes listed below will disappear. +# +# Valid Prefixes: +# bugfix +# wip (For works in progress) +# tweak +# soundadd +# sounddel +# rscadd (general adding of nice things) +# rscdel (general deleting of nice things) +# imageadd +# imagedel +# maptweak +# spellcheck (typo fixes) +# experiment +# balance +# admin +# backend +# security +# refactor +################################# + +# Your name. +author: Wowzewow (Wezzy) + +# Optional: Remove this file after generating master changelog. Useful for PR changelogs that won't get used again. +delete-after: True + +# Any changes you've made. See valid prefix list above. +# INDENT WITH TWO SPACES. NOT TABS. SPACES. +# SCREW THIS UP AND IT WON'T WORK. +# Also, all entries are changed into a single [] after a master changelog generation. Just remove the brackets when you add new entries. +# Please surround your changes in double quotes ("), as certain characters otherwise screws up compiling. The quotes will not show up in the changelog. +changes: + - rscadd: "New lightswitch and door control sprites." diff --git a/icons/obj/power.dmi b/icons/obj/power.dmi index 59d6d97d939..07cd177a4c8 100644 Binary files a/icons/obj/power.dmi and b/icons/obj/power.dmi differ diff --git a/icons/obj/stationobjs.dmi b/icons/obj/stationobjs.dmi index 796432af722..d3e3972561c 100644 Binary files a/icons/obj/stationobjs.dmi and b/icons/obj/stationobjs.dmi differ diff --git a/maps/aurora/aurora-1_centcomm.dmm b/maps/aurora/aurora-1_centcomm.dmm index 7e726f9265e..7abce4fd3f2 100644 --- a/maps/aurora/aurora-1_centcomm.dmm +++ b/maps/aurora/aurora-1_centcomm.dmm @@ -22057,7 +22057,7 @@ pixel_x = -2; pixel_y = 6 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "CCIABS"; pixel_x = 5 }, diff --git a/maps/aurora/aurora-4_mainlevel.dmm b/maps/aurora/aurora-4_mainlevel.dmm index 04cf6c322bc..6f169556d8e 100644 --- a/maps/aurora/aurora-4_mainlevel.dmm +++ b/maps/aurora/aurora-4_mainlevel.dmm @@ -23144,7 +23144,7 @@ /obj/structure/bed/chair/office/bridge{ dir = 8 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "cap"; pixel_x = -28; pixel_y = 16 @@ -23591,7 +23591,7 @@ pixel_x = 27; pixel_y = 38 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "HoS Windows"; pixel_x = 26; pixel_y = 28; @@ -26013,7 +26013,7 @@ pixel_x = -5; pixel_y = 24 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "hop"; pixel_x = 5; pixel_y = 24 @@ -26479,7 +26479,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ pixel_x = 26; pixel_y = -20; range = 9 @@ -28147,7 +28147,7 @@ c_tag = "Bridge - Conference Room"; dir = 4 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "conference"; pixel_x = 28; pixel_y = -16 @@ -29652,7 +29652,7 @@ /turf/simulated/floor/carpet, /area/journalistoffice) "aXf" = ( -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "journalist"; pixel_y = -24 }, @@ -30202,7 +30202,7 @@ pixel_y = -14; req_access = list(5) }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "ExamR2"; pixel_x = 28; pixel_y = -14; @@ -33862,7 +33862,7 @@ /turf/simulated/floor/carpet, /area/crew_quarters/heads/hop) "beb" = ( -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "hop"; pixel_y = -24; range = 9 @@ -35388,7 +35388,7 @@ "bgA" = ( /obj/structure/table/glass, /obj/item/material/ashtray/bronze, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "medlounge"; pixel_x = -4 }, @@ -37234,7 +37234,7 @@ /obj/structure/bed/chair/office/light{ dir = 1 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "ExamR1"; pixel_x = -14; pixel_y = 28; @@ -37861,7 +37861,7 @@ /area/crew_quarters/heads/cmo) "bkv" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "CMO"; pixel_x = 16; pixel_y = -28; @@ -43928,7 +43928,7 @@ /turf/simulated/floor/plating, /area/medical/surgerywing) "bwt" = ( -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "OR1"; pixel_x = -4; pixel_y = 24; @@ -43936,7 +43936,7 @@ }, /obj/machinery/atmospherics/unary/vent_scrubber/on, /obj/structure/table/rack, -/obj/machinery/button/holosign{ +/obj/machinery/button/switch/holosign{ id = 1; pixel_x = 3; pixel_y = 24 @@ -45773,7 +45773,7 @@ pixel_y = 30; req_access = list(30) }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "RDTint"; pixel_x = 26; pixel_y = 30; @@ -49855,7 +49855,7 @@ /turf/simulated/floor/plating, /area/medical/surgerywing) "bIB" = ( -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "OR2"; pixel_x = -4; pixel_y = -26; @@ -49865,7 +49865,7 @@ dir = 1 }, /obj/structure/table/rack, -/obj/machinery/button/holosign{ +/obj/machinery/button/switch/holosign{ id = 2; pixel_x = 3; pixel_y = -26 @@ -54495,7 +54495,7 @@ /turf/simulated/floor/plating, /area/maintenance/bar) "bTL" = ( -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "chapel"; pixel_x = -6; pixel_y = 28 @@ -67207,7 +67207,7 @@ /turf/simulated/floor/tiled/white, /area/rnd/research) "mVU" = ( -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "consular"; pixel_x = -21; pixel_y = -24 @@ -68711,7 +68711,7 @@ pixel_y = 17; req_access = null }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "rep_inner"; pixel_x = 9; pixel_y = 16; @@ -72259,7 +72259,7 @@ /turf/simulated/floor/tiled/white, /area/medical/medbay) "vIW" = ( -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "theater"; pixel_x = 24; pixel_y = 8 @@ -73774,7 +73774,7 @@ /area/hallway/primary/central_one) "ykb" = ( /obj/effect/floor_decal/corner/paleblue/diagonal, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "CybGlass"; pixel_x = 8; pixel_y = -22 diff --git a/maps/aurora/aurora-5_interstitial.dmm b/maps/aurora/aurora-5_interstitial.dmm index 59028c850ec..a492314a14d 100644 --- a/maps/aurora/aurora-5_interstitial.dmm +++ b/maps/aurora/aurora-5_interstitial.dmm @@ -2220,7 +2220,7 @@ /obj/structure/bed/chair/comfy/brown{ dir = 8 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "Detective"; pixel_x = -28; pixel_y = 12 @@ -5442,7 +5442,7 @@ /obj/structure/bed/chair/office/light{ dir = 1 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "Psy"; pixel_x = -16; pixel_y = 26; @@ -8375,7 +8375,7 @@ /turf/simulated/floor/tiled, /area/maintenance/interstitial_construction_site/office) "BB" = ( -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "FT Op"; pixel_x = 28; pixel_y = 7 diff --git a/maps/aurora/aurora-6_surface.dmm b/maps/aurora/aurora-6_surface.dmm index d472f23771f..6b562d053b8 100644 --- a/maps/aurora/aurora-6_surface.dmm +++ b/maps/aurora/aurora-6_surface.dmm @@ -7770,7 +7770,7 @@ /obj/effect/landmark/start{ name = "Quartermaster" }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "QMTint"; pixel_x = -20; pixel_y = -25 @@ -17288,7 +17288,7 @@ }, /area/shuttle/escape_pod/pod3) "oqU" = ( -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "sconferenceprivacy"; pixel_y = 26; req_access = list(66) diff --git a/maps/exodus/exodus-1_station.dmm b/maps/exodus/exodus-1_station.dmm index fb9ea990746..47c78a81743 100644 --- a/maps/exodus/exodus-1_station.dmm +++ b/maps/exodus/exodus-1_station.dmm @@ -4569,7 +4569,7 @@ pixel_x = -36; pixel_y = 29 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "HoS"; pixel_x = -8; pixel_y = 30 @@ -6176,7 +6176,7 @@ /obj/effect/floor_decal/corner/blue{ dir = 6 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "FT Op"; pixel_x = 28; pixel_y = 12 @@ -8549,7 +8549,7 @@ dir = 8; pixel_x = 24 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "FT Op"; pixel_x = 28; pixel_y = 24 @@ -42665,7 +42665,7 @@ pixel_x = 26; pixel_y = 17 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "HoP"; pixel_x = 36; pixel_y = 18 @@ -44819,7 +44819,7 @@ /obj/structure/bed/chair/office/dark{ dir = 1 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "Psy"; pixel_x = -25 }, @@ -44928,7 +44928,7 @@ pixel_y = 13; req_access = list(47) }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "RD"; pixel_x = -26; pixel_y = 21 @@ -45140,7 +45140,7 @@ /obj/effect/landmark/start{ name = "Quartermaster" }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "QM"; pixel_x = 24; pixel_y = -24 @@ -50202,7 +50202,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "isoA_window_tint"; pixel_y = 26 }, @@ -50254,7 +50254,7 @@ /obj/machinery/atmospherics/unary/vent_scrubber/on{ dir = 8 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "isoB_window_tint"; pixel_y = 26 }, @@ -55054,7 +55054,7 @@ /obj/machinery/atmospherics/pipe/simple/hidden/supply{ dir = 4 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "CE"; pixel_x = 36; pixel_y = 18 @@ -59511,7 +59511,7 @@ /turf/simulated/floor/tiled, /area/engineering/engine_eva) "ciT" = ( -/obj/machinery/button/holosign{ +/obj/machinery/button/switch/holosign{ _wifi_id = "OR1"; pixel_x = 24; pixel_y = 2 @@ -59586,7 +59586,7 @@ /turf/simulated/floor/plating, /area/engineering/locker_room) "cjc" = ( -/obj/machinery/button/holosign{ +/obj/machinery/button/switch/holosign{ _wifi_id = "OR2"; pixel_x = -24; pixel_y = 2 @@ -75109,7 +75109,7 @@ /obj/structure/bed/chair/comfy/brown{ dir = 8 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "Detective"; pixel_x = -28; pixel_y = 12 @@ -76494,7 +76494,7 @@ req_access = list(38); specialfunctions = 4 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "rep_inner"; pixel_x = -28; pixel_y = -14 @@ -76757,7 +76757,7 @@ /obj/machinery/newscaster{ pixel_y = -30 }, -/obj/machinery/button/windowtint{ +/obj/machinery/button/switch/windowtint{ id = "journalist"; pixel_x = -24; pixel_y = -12