From 387f141959aadbedf2da96c225540c2b65e9070d Mon Sep 17 00:00:00 2001 From: KingOfThePing <43940569+KingOfThePing@users.noreply.github.com> Date: Sat, 6 Sep 2025 12:31:26 +0200 Subject: [PATCH] Adds a sign for the Depression Store (Commissary Addition) (#21192) ## About PR This PR adds a new sign to the (also new) commissary. - Currently there are two signs to be selected from. The extended description gives a hint on the differences of the two stores and what they sell. - The signs can be powered off in case the commissary is to be temporarily closed (not confused with the generic off-state). - The sign lends itself to various additions later down the line. - This could lead to the associated representatives to have a role-playing angle, too.* - More expansions for the commissary is coming soon. I had great assistance by the wonderful @kano-dot who helped me realize this code-wise. Stay tuned for more really good additions for the commissary soon. But for now, please enjoy: > Signs: > ![dreamseeker_VdVTHdKPvT](https://github.com/user-attachments/assets/e0329995-c21e-4f4b-8a7b-8b802feba7e1) > Commissary now including the sign (It can be seen approaching from both sides): > image *This was once revealed to me in a dream. --- code/game/objects/structures/barsign.dm | 54 ++++++++++++++++++++-- html/changelogs/KingOfThePing - 21192.yml | 15 ++++++ icons/obj/barsigns.dmi | Bin 1214310 -> 1214312 bytes icons/obj/kitchensigns.dmi | Bin 73191 -> 73191 bytes icons/obj/marketsigns.dmi | Bin 0 -> 2011 bytes maps/sccv_horizon/sccv_horizon.dmm | 39 +++------------- tgui/public/tgui.bundle.css | 26 +++++------ 7 files changed, 83 insertions(+), 51 deletions(-) create mode 100644 html/changelogs/KingOfThePing - 21192.yml create mode 100644 icons/obj/marketsigns.dmi diff --git a/code/game/objects/structures/barsign.dm b/code/game/objects/structures/barsign.dm index bea18af979b..bb520882ccf 100644 --- a/code/game/objects/structures/barsign.dm +++ b/code/game/objects/structures/barsign.dm @@ -1,11 +1,14 @@ /obj/structure/sign/double/barsign icon = 'icons/obj/barsigns.dmi' - icon_state = "Off" + icon_state = "off" anchored = TRUE req_access = list(ACCESS_BAR) //Has to initalize at first, this is updated by instance's req_access obj_flags = OBJ_FLAG_MOVES_UNSUPPORTED var/cult = 0 var/choice_types = /singleton/sign/double/bar + var/currently_on = FALSE + var/on_icon_state + var/off_icon_state = "off" /obj/structure/sign/double/barsign/attackby(obj/item/attacking_item, mob/user) if(cult) @@ -21,6 +24,17 @@ return ..() +/obj/structure/sign/double/barsign/AltClick(mob/user) // Alt-click a sign with an empty hand to power or depower it, if it has the associated "[name]-off" state in the .dmi file. + if(!on_icon_state) + to_chat(user, SPAN_WARNING("The sign is already off!")) + return + if(!currently_on) + currently_on = TRUE + icon_state = on_icon_state + return + icon_state = off_icon_state + currently_on = FALSE + /obj/structure/sign/double/barsign/proc/get_sign_choices() var/list/sign_choices = GET_SINGLETON_SUBTYPE_MAP(choice_types) return sign_choices @@ -42,26 +56,41 @@ desc = signselect.desc desc_extended = signselect.desc_extended icon_state = signselect.icon_state + currently_on = TRUE + on_icon_state = icon_state update_icon() /obj/structure/sign/double/barsign/kitchensign icon = 'icons/obj/kitchensigns.dmi' - icon_state = "Off" + icon_state = "off" req_access = list(ACCESS_KITCHEN) choice_types = /singleton/sign/double/kitchen /obj/structure/sign/double/barsign/kitchensign/mirrored // Visible from the other end of the sign. pixel_x = -32 +/obj/structure/sign/double/barsign/marketsign + icon = 'icons/obj/marketsigns.dmi' + icon_state = "off" + req_access = list(ACCESS_CARGO, ACCESS_JANITOR, ACCESS_ROBOTICS, ACCESS_MINING, ACCESS_PARAMEDIC, ACCESS_HYDROPONICS, ACCESS_BAR, ACCESS_KITCHEN, ACCESS_LIBRARY) + choice_types = /singleton/sign/double/market + +/obj/structure/sign/double/barsign/marketsign/set_sign() + . = ..() + off_icon_state = "[icon_state]-off" + +/obj/structure/sign/double/barsign/marketsign/mirrored // Visible from the other end of the sign. + pixel_x = -32 + /singleton/sign/double var/name = "Holographic Projector" - var/icon_state = "Off" + var/icon_state = "off" var/desc = "A holographic projector, displaying different saved themes. It is turned off right now." - var/desc_extended = "To change the displayed theme, use your bartender's or chef's ID on it and select something from the menu. There are two different selections for the bar and the kitchen." + var/desc_extended = "To change the displayed theme, use your bartender's or chef's or other applicable ID on it and select something from the menu. There are three different selections for the bar, kitchen and commissiary." /singleton/sign/double/off // Here start the different bar signs. To add any new ones, just copy the format, make sure its in the .dmi and write away. -KingOfThePing name = "Holgraphic Projector" - icon_state = "Off" + icon_state = "off" desc = "A holographic projector, displaying different saved themes. It is turned off right now." desc_extended = "To change the displayed theme, use your bartender's or chef's ID on it and select something from the menu. There are two different selections for the bar and the kitchen." @@ -174,3 +203,18 @@ icon_state = "City Alive" desc = "City Alive is another popular restaurant chain, originating from Eridani I. It is famous for its light shows." desc_extended = "City Alive is a high class restaurant chain, dotted all over Eridani I and III. Especially on Eridani I they are also famous for their light shows in the evenings. These lights look like pulsating veins, making the city seem alive, especially when observed from orbit." + +/singleton/sign/double/market/ntmart // Start of the marketsigns for the commissiary. + name = "NT-Mart" + icon_state = "ntmart" + desc = "NT-Mart is a relatively common convenience store chain. Usually smaller in scale and with more limited selection you can still get pretty much everything here." + desc_extended = "Before the SCC merged to one Conglomerate, NanoTrasen already tried to reel in as much revenue as possible. One of the easiest markets was retail. After some time, the NT-Mart could be seen on many corners \ + in many places, selling a limited selection of basic items, usually with a markup." + +/singleton/sign/double/market/gm24 + name ="GetMore24" + icon_state = "gm24" + desc = "The GetMore24, usually shortened to GM24, is the de-facto flagship of convenience stores. Whatever you need, whereever you need it, wheneever you need it. Get more, with Getmore." + desc_extended = "Getmore was always a big player in the food industry. A logical follow-up would be to get big into retail and cut out the middle-man in distribution. Thus, the king of convenience stores was born: \ + GMG24. Usually open 24 hours, 7 days a week there aren't many places in the galaxy where you aren't in walking distance of a GM24. Selling everything you need for your daily life, the selection is surprisingly big \ + and affordable. This strategy catapulted Getmore into the big league of convenience stores." diff --git a/html/changelogs/KingOfThePing - 21192.yml b/html/changelogs/KingOfThePing - 21192.yml new file mode 100644 index 00000000000..2631fde258d --- /dev/null +++ b/html/changelogs/KingOfThePing - 21192.yml @@ -0,0 +1,15 @@ +# Your name. +author: KingOfThePing, kano-dot + +# 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, this gets changed to [] after reading. Just remove the brackets when you add new shit. +# Please surround your changes in double quotes ("). It works without them, but if you use certain characters it screws up compiling. The quotes will not show up in the changelog. +changes: + - imageadd: "Added new sprites for a new subtype of signs." + - rscadd: "Added a new type of sign to the commissary." + - refactor: "Refactored some things around in the associated .dm file for technical debt reduction." diff --git a/icons/obj/barsigns.dmi b/icons/obj/barsigns.dmi index 627304ee97de6f372ac95de8e57de6164dd0954a..c3261f2f4310681e74b4c53030bf947dfee5a8a5 100644 GIT binary patch delta 986 zcmV<0110?Cj!Ni`N{}Q0dXXg{f8^2{VPaV3z#%{gXhJ|3E$6~6aEo>~s%}I4@8`fo z*eDK|NmeB!8~ME|*T<{&cj!GnjbC6e8Q1s3RvHam@P9PwwS$aY3|(mZ^;%4F6T9P$ zb?6AX@a=&Uv%Ry>LxvZ4VyV=(dM%P{p$mS!wq{JoLKm9#T0{yn=z=dgeWJ#CbbniX%Q1VF=eoj(GAc!MK+dP@l_WwK@WLb9W_Eu zR_M$PH60-*6x|38q~4^eWWYNopeG7;)>WKtZzymO8W+Y85bveFgQZj|t2)5b^;(9+ z&?92It*9G+V%Hx9?-#J5fH&*)`=DHYDA~D^uyRjnWGiVUt>cPfe|t;Or>P@`U`O_H zw!Mb%8aaWMN*yq>;5Vy6gB^wh57x#;U7pA@@MA)}AsuEgPZOA7*<^Ok7=+glt+$Ia z&P7b{LM24)Mrrf^Uv{P|k|XHjrmC13qgLh>79VZ7`xCe=-mEE_qAl9O7oPA7=Dq!Q zax*kca`SckV;jpPf91;une!TxhM_rJvuWSyjv1p4rQX2I=*!x2-tR^s%WEgB#&nQ6 zD$2qHl_N_qL=|2!=pQikjB)Tw%RN;T*a?{fOyuho>gY9vFT7?kg-a$E#uULw?n_$N zYv)4|4f9;IThRNE}VE@g>+7|7% zVa*l(KZVhqg#Z;s&_lkc{zFVmYGHt1H$Od<5==Aes3e?E@X^cR#_wR7KD?;TFcaq_4cZc65X%Jkb`NKfk7b zzJ&rMcRS(?e}dS!Yh>hHPRk|WIuScAY+H6H|NE4U2-#UMYnUmtj_C4tQd8svZ%OdL z1k)Yqe=Z7UOSD9*kfXjbmP!`Y&q9V;1HbWHkpczhYaU^1@% z2AvU&WR$!5AOHX$07*naRCt{1y?LBuS9Rz4J@-cBgS-QWyaNG;yaNJ zyaNS?yaNV@yaNY^yaNb_yaNe`yaNh{yaNk|yaNn}yaNq~yaNu0yaNx1yaN!2yaN%p IyaN)dgD_pp+W-In delta 986 zcmV<0110?Ej!Nc^N{}Q0c#$O_e{gAyuwz)}z#%{gXhJ|3E$70n;1=y}RNaR7-_L=G z04oldNmeB!8~ME|*T<{&cj!Glj-O#L8P|8jRvHam2!1r{wY`j80$pea^;$x5ow&n| zb?6AX@a>*cvuRl9A;U8~vQ+9@y%tNh(1oC0dtpq;LKpmcEhdFIbRiI(eJ1{UL8EZRKpUh_U|&0c0)Og)2%}7 zDpm)1OVCH&R>RHBDzgsee+J{kWVT`_EfRu9rW_VBz5zO?*d~%IzUm?&=pk>aqejT- z3Z1#3rX%E(;v2!C)ay)@40z`V^u(DJx{9;S4FwJ((`a+qf+%&=@SI|T;eHAU;~qQJRG z2%f2gsNF1W{{PDgx*|D-KCY{ZnK5c*USaXkmb*KG+v3f9;fuCti$HiHI5Y3 zVUp{w;~(2ZrWs#8f5;STOd5t}f6bG0ejC=4 z!vCi*ZdeFWVGKRwi|Rkb)MOS0_;vHsQyIZDw~k7}`2-(*lcusvo<89f4j)h>VpG<` zfA1tTkwgVg*@|U^&U|6E5=!9-OM3Sc986UVeG_e9tV{aJJJpVk@PsGYqVwnH2gNNE zD!JVf=MW~we_bOZML8{(fa^r;u&`~}q5SVtHX>wa!Mwmsp>;%;zmt4%B6v%JdnTA} zN&j+ z!i_{493D6T03ZNKL_t(|ob0`MoMcyZ=lMPNM&wpigTMoazykq?zykt@zykw^zykz_ zzyk$`zyk({zyk+|zyk<}zyk?~zyk`0zyk}1zyl12zyl43zyl74zylA5zylD6zylGt IzylJfgOaSs!vFvP diff --git a/icons/obj/kitchensigns.dmi b/icons/obj/kitchensigns.dmi index 9a2010dccdf1068370d54f241b3f1bcd894d0af3..9aa1cec712094da5f71369fc8cbef9530ffcf3e7 100644 GIT binary patch delta 158 zcmV;P0Ac^hIwH0g>p0weT}+n=>tgfPb=&K M`#^!*wcG&<9jcyAuK)l5 delta 158 zcmV;P0Ac^&AU zAcCxF904>3ARGY0{Vjml2LL)?02u@T5y${w=&DN?!K~@^B2Be~#`zNfTLhrv(>jT_ zE(&!eZ*&5X5oC#yLZVOLU3KbpGlf3|5OV;ko-J?@i`(+Zvbo>0N`N@O^ljS z0&)RB1PLPnU^|6Ikn=i#q5c-YrU?KJx{Nv2C+f@zAj%p7P=vz(3ZVl?(;9$*{sh2= z2Y~vA>$o=C-2kGD4FCjyA%F>WT4!LOKLxO9kWi!90L(g6KZ)9G3jg6-2?C(m`T-c@ zKfz`W7oIayn}HqxM)|*m?eq#DFaVf}?A}5x({`iO0RVHM-c9NTyZQi-Z^UEO;``-Q z6hVJCfOzZtZDX^Nou?!&02!s6d$>2l2CvRj3g?fZnm+)8SF-H}fTOHdF1?3Squ&Pr zjMfNrqfL6T=fLw3vqClsE4nRpfa{*-bI!a7ZC-)ivTJ^C?DGIMYkpa4)s&b^%sPyh-b&p^{8Rsh_du1TEPNvtoiNxUbq0^s)4{M*u~ zm5w8)b^uB{2@W_-qmgeKjUp$FM*Y&LkA=CAEe*hG^V<7`+gkwe(+HD~$Vb?C{|dm* zBTNRc8)4)9-vR@R2e3+LZUz<)V3p9^3@jeNMI8RJJZ; z>t1Nx3#}3gfPuvWSS2(!1B(Z+Y+C`$ZEpdCS?3WXP}`RWBtPd zzyy2N<#Yrlp@#CEW9~f*VBpNo8JIAD8T^BikTPA&-C>PaS5r8Fg~I?51}V(tSSA%h zb(>qPe;@!zaHKd5-KsDrirm~|?{1Kgt&P$07?&c51h`)WI!pb=-#(iZhOKz2{{;!a zoHQ^%N}HxgpXc0?Vi{n65$G)SGYrzguojPg{8>QFtTg8@Ul!+>xY(4}5I zmRu6xvXG{eWq<{c*8%Vq=1vK9l=?5UkdZ7TFY=u#(zi;;Nk2OxzqV5U_=T`53-x7y z|3#p))Xy=1Vnyle1_L;cAee=Wm<-qC+CtA8GZc0I;Pyh0aI}7_)k_Jt5bRPKAOk29 zH*@7mgS{8BF#(MACjf+&2gudAUTz&ZU=1~2+xj7tu z`~4Q|kGs3O`-jIr|2qDCeERtC@c1bI?r%TcpH9!p4hMNG_p?vptA`JtZ(m+sKEE6e zw|8H@e0+NPdir`g9*_S#|6AFAI^u7q)3@*6pBVs`&EsA5{ql8`m6v9K*?_tJ`++b(%(K29BmkfKekc;M=2_nlj{(p6et-b{{KJ!wr+