diff --git a/code/__DEFINES/~skyrat_defines/barsigns.dm b/code/__DEFINES/~skyrat_defines/barsigns.dm new file mode 100644 index 00000000000..8a6fe2652bb --- /dev/null +++ b/code/__DEFINES/~skyrat_defines/barsigns.dm @@ -0,0 +1,2 @@ +#define SKYRAT_BARSIGN_FILE 'modular_skyrat/modules/barsigns/icons/barsigns.dmi' +#define SKYRAT_LARGE_BARSIGN_FILE 'modular_skyrat/modules/barsigns/icons/barsigns96x96.dmi' diff --git a/code/game/machinery/barsigns.dm b/code/game/machinery/barsigns.dm index 4cbe68cfc1a..5ac2d493291 100644 --- a/code/game/machinery/barsigns.dm +++ b/code/game/machinery/barsigns.dm @@ -1,7 +1,7 @@ /obj/machinery/barsign // All Signs are 64 by 32 pixels, they take two tiles name = "bar sign" desc = "A bar sign which has not been initialized, somehow. Complain at a coder!" - icon = 'modular_skyrat/modules/barsigns/icons/barsigns.dmi' //SKYRAT EDIT CHANGE - ORIGINAL: icon = 'icons/obj/machines/barsigns.dmi' + icon = 'icons/obj/machines/barsigns.dmi' icon_state = "empty" req_access = list(ACCESS_BAR) max_integrity = 500 diff --git a/code/modules/unit_tests/barsigns.dm b/code/modules/unit_tests/barsigns.dm index f5bb27f1064..ecef46fa3f0 100644 --- a/code/modules/unit_tests/barsigns.dm +++ b/code/modules/unit_tests/barsigns.dm @@ -2,14 +2,21 @@ * Test if icon states for each datum actually exist in the DMI. */ /datum/unit_test/barsigns_icon + var/list/blacklisted_sign_types = list(/datum/barsign/skyrat, /datum/barsign/skyrat/large) // SKYRAT EDIT ADDITION - Modular barsigns /datum/unit_test/barsigns_icon/Run() var/obj/machinery/barsign_type = /obj/machinery/barsign var/icon/barsign_icon = initial(barsign_type.icon) var/list/barsign_icon_states = icon_states(barsign_icon) + barsign_icon_states += icon_states(SKYRAT_BARSIGN_FILE) // SKYRAT EDIT ADDITION - Need to check modular barsigns + barsign_icon_states += icon_states(SKYRAT_LARGE_BARSIGN_FILE) // SKYRAT EDIT ADDITION - Need to check modular barsigns // Check every datum real bar sign for(var/sign_type in (subtypesof(/datum/barsign) - /datum/barsign/hiddensigns)) + // SKYRAT EDIT ADDITION BEGIN - MODULAR BARSIGNS + if(sign_type in blacklisted_sign_types) + continue + // SKYRAT EDIT ADDITION END var/datum/barsign/sign = new sign_type() if(!(sign.icon_state in barsign_icon_states)) @@ -19,11 +26,16 @@ * Check that bar signs have a name and desc, and that the name is unique. */ /datum/unit_test/barsigns_name + var/list/blacklisted_sign_types = list(/datum/barsign/skyrat, /datum/barsign/skyrat/large) // SKYRAT EDIT ADDITION - Modular barsigns /datum/unit_test/barsigns_name/Run() var/list/existing_names = list() - for(var/sign_type in subtypesof(/datum/barsign) - /datum/barsign/hiddensigns) + for(var/sign_type in (subtypesof(/datum/barsign) - /datum/barsign/hiddensigns)) + // SKYRAT EDIT ADDITION BEGIN - MODULAR BARSIGNS + if(sign_type in blacklisted_sign_types) + continue + // SKYRAT EDIT ADDITION END var/datum/barsign/sign = new sign_type() if(!sign.name) diff --git a/modular_skyrat/modules/barsigns/code/barsigns.dm b/modular_skyrat/modules/barsigns/code/barsigns.dm index 83d4b7db0db..87d3da1575d 100644 --- a/modular_skyrat/modules/barsigns/code/barsigns.dm +++ b/modular_skyrat/modules/barsigns/code/barsigns.dm @@ -1,227 +1,295 @@ -/datum/barsign/topmen +// Modularly set the correct icon file +/obj/machinery/barsign/update_icon_state() + . = ..() + // uses tg icon file + if(!istype(chosen_sign, /datum/barsign/skyrat) || icon_state == "empty") + icon = initial(icon) + return + + // uses modular icon file + if(istype(chosen_sign, /datum/barsign/skyrat/large)) + icon = SKYRAT_LARGE_BARSIGN_FILE + else + icon = SKYRAT_BARSIGN_FILE + +/datum/barsign/skyrat/topmen name = "Top Men" icon_state = "topmen" + neon_color = "#C2AACA" -/datum/barsign/spaceballgrille +/datum/barsign/skyrat/spaceballgrille name = "Spaceball Grille" icon_state = "spaceballgrille" + neon_color = "#827973" -/datum/barsign/clubee +/datum/barsign/skyrat/clubee name = "Club Bee" icon_state = "clubee" + neon_color = "#F2EEEE" -/datum/barsign/thesun +/datum/barsign/skyrat/thesun name = "The Sun" icon_state = "thesun" + neon_color = "#F8F0B8" -/datum/barsign/limbo +/datum/barsign/skyrat/limbo name = "The Limbo" icon_state = "limbo" desc = "A popular haunt for lost souls. The mood lighting is killer!" + neon_color = "#777777" -/datum/barsign/meadbay +/datum/barsign/skyrat/meadbay name = "Meadbay" icon_state = "meadbay" + neon_color = "#EBB823" -/datum/barsign/cindikate +/datum/barsign/skyrat/cindikate name = "Cindi Kate's" icon_state = "cindikate" + neon_color = "#FF3403" -/datum/barsign/theclownshead +/datum/barsign/skyrat/theclownshead name = "The Clown's Head" icon_state = "theclownshead" desc = "Home of Headdy, the honking clown head!" + neon_color = "#FFD800" -/datum/barsign/theorchard +/datum/barsign/skyrat/theorchard name = "The Orchard" icon_state = "theorchard" + neon_color = "#CFFF47" -/datum/barsign/thesaucyclown +/datum/barsign/skyrat/thesaucyclown name = "The Saucy Clown" icon_state = "thesaucyclown" desc = "A known gathering site for the annual clown courtship rituals." + neon_color = "#FF66CC" -/datum/barsign/thedamnwall +/datum/barsign/skyrat/thedamnwall name = "The Damn Wall" icon_state = "thedamnwall" desc = "When you're up against a wall, it's best to have stout friends and stout liquor right there beside you." + neon_color = "#CC3333" -/datum/barsign/whiskeyimplant +/datum/barsign/skyrat/whiskeyimplant name = "Whiskey Implant" icon_state = "whiskeyimplant" + neon_color = "#E9F517" -/datum/barsign/carpecarp +/datum/barsign/skyrat/carpecarp name = "Carpe Carp" icon_state = "carpecarp" + neon_color = "#C717FE" -/datum/barsign/robustroadhouse +/datum/barsign/skyrat/robustroadhouse name = "Robust Roadhouse" icon_state = "robustroadhouse" + neon_color = "#F7A804" -/datum/barsign/theredshirt +/datum/barsign/skyrat/theredshirt name = "The Redshirt" icon_state = "theredshirt" + neon_color = "#FF92E0" -/datum/barsign/maltesefalconmk2 +/datum/barsign/skyrat/maltesefalconmk2 name = "Maltese Falcon MK2" icon_state = "maltesefalconmk2" desc = "The Maltese Falcon mark two, now extra hard boiled." + neon_color = "#E30000" -/datum/barsign/thecavernmk2 +/datum/barsign/skyrat/thecavernmk2 name = "The Cavern MK2" icon_state = "thecavernmk2" desc = "Fine drinks while listening to some fine tunes." + neon_color = "#AA9393" -/datum/barsign/lv426 +/datum/barsign/skyrat/lv426 name = "LV-426" icon_state = "lv426" desc = "Drinking with fancy facemasks is clearly more important than going to medbay." + neon_color = "#00F206" -/datum/barsign/zocalo +/datum/barsign/skyrat/zocalo name = "Zocalo" icon_state = "zocalo" desc = "Anteriormente ubicado en Spessmerica." + neon_color = "#E5AF1C" -/datum/barsign/fourtheemprah +/datum/barsign/skyrat/fourtheemprah name = "4 The Emprah" icon_state = "4theemprah" desc = "Enjoyed by fanatics, heretics, and brain-damaged patrons alike." + neon_color = "#E5AF1C" -/datum/barsign/ishimura +/datum/barsign/skyrat/ishimura name = "Ishimura" icon_state = "ishimura" desc = "Well known for their quality brownstar and delicious crackers." + neon_color = "#FF0000" -/datum/barsign/tardis +/datum/barsign/skyrat/tardis name = "Tardis" icon_state = "tardis" desc = "This establishment has been through at least 5,343 iterations." + neon_color = "#2739AA" -/datum/barsign/quarks +/datum/barsign/skyrat/quarks name = "Quark's" icon_state = "quarks" desc = "Frequenters of this establishment are often seen wearing meson scanners; how quaint." + neon_color = "#10E500" -/datum/barsign/tenforward +/datum/barsign/skyrat/tenforward name = "Ten Forward" icon_state = "tenforward" + neon_color = "#E5AF1C" -/datum/barsign/thepranicngpony +/datum/barsign/skyrat/theprancingpony name = "The Prancing Pony" - icon_state = "thepranicngpony" + icon_state = "theprancingpony" desc = "Ok, we don't take to kindly to you short folk pokin' round looking for some ranger scum." + neon_color = "#FF9100" -/datum/barsign/vault13 +/datum/barsign/skyrat/vault13 name = "Vault 13" icon_state = "vault13" desc = "Coincidence is intentional." + neon_color = "#FFA800" -/datum/barsign/thehive +/datum/barsign/skyrat/thehive name = "The Hive" icon_state = "thehive" + neon_color = "#FFC62A" -/datum/barsign/cantina +/datum/barsign/skyrat/cantina name = "Chalmun's Cantina" icon_state = "cantina" desc = "The bar was founded on the principles of originality; they have the same music playing 24/7." + neon_color = "#0078FF" -/datum/barsign/milliways42 +/datum/barsign/skyrat/milliways42 name = "Milliways 42" icon_state = "milliways42" desc = "It's not really the end; it's the beginning, meaning, and answer for all your beverage needs." + neon_color = "#FF00F6" -/datum/barsign/timeofeve +/datum/barsign/skyrat/timeofeve name = "The Time of Eve" icon_state = "thetimeofeve" desc = "Vintage drinks from 2453!." + neon_color = "#EB52F8" -/datum/barsign/spaceasshole +/datum/barsign/skyrat/spaceasshole name = "Space Asshole" icon_state = "spaceasshole" desc = "Open since 2125, Not much has changed since then; the engineers still release the singulo and the damn miners still are more likely to cave your face in that deliver ores." + neon_color = "#FF0000" -/datum/barsign/birdcage +/datum/barsign/skyrat/birdcage name = "The Bird Cage" icon_state = "birdcage" desc = "Caw." + neon_color = "#FFD21E" -/datum/barsign/narsie +/datum/barsign/skyrat/narsie name = "Narsie Bistro" icon_state = "narsiebistro" desc = "The last pub before the World's End." + neon_color = "#FF0000" -/datum/barsign/fallout +/datum/barsign/skyrat/fallout name = "The Booze Bunker" icon_state = "boozebunker" desc = "Never duck for cover without a drink!" + neon_color = "#FCC41B" -/datum/barsign/brokendreams +/datum/barsign/skyrat/brokendreams name = "The Cafe of Broken Dreams" icon_state = "brokendreams" desc = "Try our new dogmeat sliders!" + neon_color = "#E8E8A5" -/datum/barsign/toolboxtavern +/datum/barsign/skyrat/toolboxtavern name = "Toolbox Tavern" icon_state = "toolboxtavern" desc = "Free lodging with every Screwdriver purchased!" + neon_color = "" -/datum/barsign/blueoyster +/datum/barsign/skyrat/blueoyster name = "The Blue Oyster" icon_state = "blueoyster" desc = "The totally heterosexual bar for totally heterosexual men, just come inside and see." + neon_color = "" -/datum/barsign/foreign +/datum/barsign/skyrat/foreign name = "Foreign Food Sign" icon_state = "foreign" desc = "A sign written in some dead language advertising some non-descript foreign food." + neon_color = "" -/datum/barsign/commie +/datum/barsign/skyrat/commie name = "Prole's Preferred" icon_state = "commie" desc = "The only bar you will ever need, comrade!" + neon_color = "#E46F6F" -/datum/barsign/brokenheros +/datum/barsign/skyrat/brokenheros name = "The Bar of Broken Heros" icon_state = "brokenheros" desc = "Do you enjoy hurting other people?" + neon_color = "" -/datum/barsign/sociallubricator +/datum/barsign/skyrat/sociallubricator name = "The Social Lubricator" icon_state = "sociallubricator" desc = "The perfect thing to make you like people you hate." + neon_color = "" -/datum/barsign/chemlab +/datum/barsign/skyrat/chemlab name = "The Chem Lab" icon_state = "chemlab" desc = "Try our new plasma martinis!" + neon_color = "" -/datum/barsign/mime +/datum/barsign/skyrat/mime name = "Moonshine Mime" icon_state = "mime" desc = "Silent, not stirred." + neon_color = "" -/datum/barsign/clown +/datum/barsign/skyrat/clown name = "Honking Clown" icon_state = "clown" desc = "Bananas not included." + neon_color = "" -/datum/barsign/progressive +/datum/barsign/skyrat/progressive name = "A Modern and Progressive Tavern" icon_state = "progressive" desc = "Whatever that means." + neon_color = "#DB9B9A" -/datum/barsign/va11halla +/datum/barsign/skyrat/va11halla name = "VA-11 HALL-A" icon_state = "va11halla" desc = "Not as dangerous as N1-RV Ann-A." + neon_color = "#FB3F7D" -/datum/barsign/squatopia +/datum/barsign/skyrat/squatopia name = "Squatopia" icon_state = "squatopia" desc = "The crystal belonged to my father. He was murdered." + neon_color = "#CC0033" -/datum/barsign/bug +/datum/barsign/skyrat/bug name = "The Hungry Bug" icon_state = "hungrybug" desc = "Stop by and enjoy some of the Hole's famous gyoza!" + neon_color = "#E2B001" +// 96x96 signs + +/datum/barsign/skyrat/large/cyberslyph + name = "Cyberslyph" + icon_state = "cyberslyph" + neon_color = "#00FFFF" diff --git a/modular_skyrat/modules/barsigns/icons/barsigns.dmi b/modular_skyrat/modules/barsigns/icons/barsigns.dmi index 400b5facf10..5bd7d1d9d74 100644 Binary files a/modular_skyrat/modules/barsigns/icons/barsigns.dmi and b/modular_skyrat/modules/barsigns/icons/barsigns.dmi differ diff --git a/modular_skyrat/modules/barsigns/icons/barsigns96x96.dmi b/modular_skyrat/modules/barsigns/icons/barsigns96x96.dmi new file mode 100644 index 00000000000..85554593961 Binary files /dev/null and b/modular_skyrat/modules/barsigns/icons/barsigns96x96.dmi differ diff --git a/tgstation.dme b/tgstation.dme index aaa61d6d05c..054f893cce6 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -384,6 +384,7 @@ #include "code\__DEFINES\~skyrat_defines\augment.dm" #include "code\__DEFINES\~skyrat_defines\automapper.dm" #include "code\__DEFINES\~skyrat_defines\banning.dm" +#include "code\__DEFINES\~skyrat_defines\barsigns.dm" #include "code\__DEFINES\~skyrat_defines\baton_upgrades.dm" #include "code\__DEFINES\~skyrat_defines\cargo_import_companies.dm" #include "code\__DEFINES\~skyrat_defines\cells.dm"