From a5c56c6f541999ef59e05f3a44c23f998e3f7d8d Mon Sep 17 00:00:00 2001 From: GooglyFox <114542226+ChromeFoxxity@users.noreply.github.com> Date: Sat, 15 Jun 2024 02:46:27 -0700 Subject: [PATCH 01/30] Integrates TG Station High-Vis Security Officer Jacket [MODULAR] (#1639) ## About The Pull Request Adds the High-Vis TG Station jackets, made by DrTuxedo, as well as also a Peacekeeper variant. Purely for style choices. ## Why It's Good For The Game This is only for the people who like different kinds of style then what they have currently. ## Proof Of Testing ![image](https://github.com/Bubberstation/Bubberstation/assets/114542226/c4cf08c7-121f-42c5-9724-e29313382fef) ## Changelog :cl: add: Adds Security High-Vis Jacket Red and Blue variant. image: Added icons of both variants. code: Added code for both variants. /:cl: Example of what it would look like. ![image](https://github.com/Bubberstation/Bubberstation/assets/114542226/8bb6d019-06c5-47d5-a191-79f0b560ca0d) --- .../code/game/machinery/vending/multisec.dm | 2 ++ .../code/modules/clothing/suits/armor.dm | 24 ++++++++++++++++++ .../loadout_items/loadout_datum_suit.dm | 5 ++++ .../icons/mob/clothing/suits/jacket.dmi | Bin 9852 -> 12305 bytes .../icons/obj/clothing/suits/jacket.dmi | Bin 0 -> 458 bytes 5 files changed, 31 insertions(+) create mode 100644 modular_zubbers/icons/obj/clothing/suits/jacket.dmi diff --git a/modular_zubbers/code/game/machinery/vending/multisec.dm b/modular_zubbers/code/game/machinery/vending/multisec.dm index dbb88b966b545..91d4156655e3d 100644 --- a/modular_zubbers/code/game/machinery/vending/multisec.dm +++ b/modular_zubbers/code/game/machinery/vending/multisec.dm @@ -12,6 +12,7 @@ "products" = list( /obj/item/clothing/suit/hooded/wintercoat/security = 6, /obj/item/clothing/suit/toggle/jacket/sec = 6, + /obj/item/clothing/suit/armor/vest/secjacket/blue = 6, /obj/item/clothing/suit/armor/vest/peacekeeper/brit = 6, /obj/item/clothing/neck/security_cape = 6, /obj/item/clothing/neck/security_cape/armplate = 6, @@ -51,6 +52,7 @@ /obj/item/clothing/under/rank/security/officer/skirt = 6, /obj/item/clothing/under/rank/security/skyrat/utility/redsec = 6, /obj/item/clothing/suit/toggle/jacket/sec/old = 6, + /obj/item/clothing/suit/armor/vest/secjacket = 6, ), ), list( diff --git a/modular_zubbers/code/modules/clothing/suits/armor.dm b/modular_zubbers/code/modules/clothing/suits/armor.dm index 2a82c76af8116..ccd3023754c4d 100644 --- a/modular_zubbers/code/modules/clothing/suits/armor.dm +++ b/modular_zubbers/code/modules/clothing/suits/armor.dm @@ -31,3 +31,27 @@ icon_state = "vest_worn" inhand_icon_state = null armor_type = /datum/armor/suit_armor + +/obj/item/clothing/suit/armor/vest/secjacket // Port from TG Station (DrTuxedo) + name = "security jacket" + desc = "A red jacket in red Security colors. It has hi-vis stripes all over it." + icon = 'modular_zubbers/icons/obj/clothing/suits/jacket.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/suits/jacket.dmi' + icon_state = "secjacket" + inhand_icon_state = "armor" + armor_type = /datum/armor/suit_armor + body_parts_covered = CHEST|GROIN|ARMS + cold_protection = CHEST|GROIN|ARMS|HANDS + heat_protection = CHEST|GROIN|ARMS|HANDS + resistance_flags = FLAMMABLE + dog_fashion = null + +/obj/item/clothing/suit/armor/vest/secjacket/worn_overlays(mutable_appearance/standing, isinhands, icon_file) + . = ..() + if(!isinhands) + . += emissive_appearance(icon_file, "[icon_state]-emissive", src, alpha = src.alpha) + +/obj/item/clothing/suit/armor/vest/secjacket/blue // Port from TG Station (DrTuxedo) + name = "security jacket" + desc = "A blue jacket in blue Peacekeeper colors. It has hi-vis stripes all over it." + icon_state = "secjacket_blue" diff --git a/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_suit.dm b/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_suit.dm index 16858c87ded43..21871d6b19df4 100644 --- a/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_suit.dm +++ b/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_suit.dm @@ -20,6 +20,11 @@ item_path = /obj/item/clothing/suit/cloak/shawl ckeywhitelist = list("thedragmeme") +/datum/loadout_item/suit/secjacket + name = "High-Vis Security Jacket" + item_path = /obj/item/clothing/suit/armor/vest/secjacket/blue + restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER) + /datum/loadout_item/suit/leather_apron name = "Leather Apron" item_path = /obj/item/clothing/suit/leatherapron diff --git a/modular_zubbers/icons/mob/clothing/suits/jacket.dmi b/modular_zubbers/icons/mob/clothing/suits/jacket.dmi index 1864c392f6b721e4474a5fa2ac2d9bafbdc54274..783d4d80198139572a94df3c1b11c74a9206903a 100644 GIT binary patch literal 12305 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 literal 9852 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
  • Q$_(w`T;MY8kd1OK(Y^Od|UX)XW#kh|)|=7f6wFTScMM&kas%G}-rDLKcV z7N-#FIgtS70SgMMjka-1LPOqdl%B+IbOk@&Tvaag2s9Go4#oD%eS|ipcYl9 z!cp_2zVK5?jv~k zT7ol&Y=1^#PAul*zo}c=ocAov-F$~jBe3Mx)r)58jH+D+tVOHSALI`{m!9Y!#{QG} z>94}r?Ce|#>qsQ&y-Af_vLN)<<{lq|zcs|7?L0#<*E=qvcdLHkw;Zm9L-ypIzcS8xupOzJ zJ|59(SeiH;gUvs!*H04(YZj5D*?wel2)?-;R_t}`J#?8~vejUN3-$9lAMD3u0*q|2 zZwk{T$Z*2vNva#Dz{fK2Ci=POSOyodiNd5{X&I3#pUpZ#2nrbgLcP^}PxJ3XDq#Ej`2Y17vm@yXr=Z!jE z>@K$$71fQdTp1~PPzSpQt6;y`2|}W|Ao5YI&{` z`VA*w<(&oGyt#k9qhj;i9CdlbUH2AyX93D2OK>hX5tK9aw~_391|~4b#hOjHyjd5&%pJQu66(N6S+YW&Ue%)44n@2o90HCbaX#wf?eT3OWA_ep2 zJArDW9+f|EfbVR%)je_1k&ZtGwQ>A&DAd2&6&qipUtDZqPZ^5{&YDbB+tRUVD+v3Z z_ZIZ#w+Ru86qK9q?A5uf1PL;DDGqhk+_Zb&r73Lp$yWv|cztL{BR-I3Ea)jAX^QHW zt8=i=M(`xfw!}E(a$K7jvmed>BB!7!lqJV`GXO*wzl{{RFJnl(BnnIvSioon^#nst z@ns9GV0i{wQ!}%e=cDoNe`7P`)+CO@by>e^=#wih9=-VRX;@gFV@&u>mIyu4m zu#Lq}LJ`3XfGaAI^vPu&Wsld#_ENIY3 zr{9*Ul#Ly7RmMSTg5$iKmXo>k^j~~V7-{6s+L#d+50W>_u5LIBmW6PmfvhmBz@)ON zoz}{9p90X3wZ(J&q+7sDr{~)NxfXluN!5MD%$muXwV(W~iG_*?ZEQUsTIZb6t3AV# zeG-)BHZrzzc|BMluch$^{ss~L)dO?lPw{B`McWpF*kY~NcQ>Mq()%-U=(ONBmLN*uLxQzONd1-nJ`^H_Csbi_?mDh<=S7V%xKV5&qL31H_#QH6{B4gj~dJa{x19*I%3&(XE$=f%j+I5oPkE zYml3}U6>P^rV1~$#`A|eFQ>xQW)Js`>cN%A#=}N=f%bTqEK2sGH~UQ=L*&FM)}lD< z6x05VIWn*EM}$dw7Wt9oZ1M|5dm`~! zILe>xgT8e>Z8tZi33c%rMA{kNvU3SKC}1ua9qp9!>X(w42Q)4kPQ4m@ zepm7tQU|TuCuH{_4)AV|sFSeL%;a9qo_GCU?rx6)t=pg{qR?=O;Gc=X-0;MUh_!)i zt<`PVuJ~1QmiM|XpLBC2B?NBnMxS-l$r`PfBA?~$*%=q498tKB;AMUjhg+7%C)f+s~Nw=W6(Lc@Ln;cIh#$!J|AtV zdH70x;7@HS&h=TsYdxxa{p)9mDQ47x$C$|u#&nGSOG6$^JTrH<8gCFf*F6cN7Q2qQ z%2}@q%5?Gjxh_zEcN==#({hpbuf-p0RQ|Y7j79oU;q*3==y8sW9`AKOd=Db}&+nFA zskGaL@4=TchL$_UsiIB|j_6C!AB#f+DRFQ7>BXU_(M_h5Oh^m8AuncjGOQHUtE3ox zE5;o~8vOHZe9#e|N=T0Fs4E^!z(S7+2R@43-|I!vMO-=t84R*~$Dl4e>t%r1lw zUZPK}%hm_KZ=M4Hk@FXp!~7J(MH8*|t5u`If&}LE^Q+ZYc<0?IFS7=d^wHn3Tesa` z7Vp15P)`C9Y6oW-iP54&z%8(=+yZ~Lu21Ob`e*IJdPwkzjczbBFiXnK#`(A#Ls%Zp zUZ$&q^)3tKyQJfm+iL~hy^x>=EC78`NC)yppGb?|wUZrTOE})ZM;+*8>6l{rI=Qd? zffR*DENC#sp@h!_zbhHcuY9G+Hikfot}%SM)%?z4Q2%y{P&qh22xiwG7mV@P7jcS| z_Q0j?j|&d?W}w6Ux;LD@*Y^D_=_L2plEfZ(@PZvq=Ic}E7QKy*?y%B39ENiDfPzu8 zh-;t4-&z7DUkFy?U)LGm9Cf-rOh)`PV8M_C*;|al;FuNR`eg@`c?RFWq(Jm%r>oVI z`uqR8+m-r_v1{-?m3T_a&-p69ZKcGtAYKg zJI>nY0QqKooot)Qh@>E-Pq-*^h&!B!jWv#geotdfvi`4F-QyKDOaXPWcP^84SXMURsa7?qTr zw40+*uId)3VI=L-NY&_+i^S<(E4{EvYZOInvK+pX{xbvrmJRWF|f; z^W+B?sn70}Hebu&!Ma!1c?{RX`e3u#ra#weSc~6lC)|9z!GTS#E~8PCO2w~Pk}xBA z5`z3({3ZqPyt&8erVhR@O!fQzhF0~^;N~8G?6cX)3`f_R#$4_nZ9#Xd1<%x}wB>%m zTg|eTiX8o483dfok^m!TEHuS@O$_wORset(efuxK1M;yQ`Vu2*9`v<+9o8j}^q@0- z$??Z^&D|4LF6`3oQP!lEhc6xoG(Cua%$0R3I<@9eb1}W_uJJW&+nr2&s|$`)|9rQ8 zdt;Kl4I=PXi58b{8wXa{$A7u-;6@Z@Y2nG}@{#YdXB_}|RfjOu_qgY`;ah(t&N6cm_a$zZzy?1k zky0f#CZxFt+uH;0k1cV!P6s0$&dK!4slPO3DI%pm5pQoqZA123c(v9&#iyarG7Elb9dva38r9cQ7Sorf?%$sbMzax!fT+mICeHQi#=7w>AWyv=#Z?=`du^{13y%v}D#z?>?!AVxeY+4@-3 zYTf8!#;Bmz>Q#l#TMV|=KfDdae8lAuLnxK{2ldfCG0QW7Mq-O6_97RUXED4>?$N?! z)sHP#En6q9cQQp~=*o_9TC#^Yx3JObJV8*)RqVmmsA0rof%lz1$0IcgHT=F&W;WIw z_9Y9J9gXYhc%ac2WdHD;0?%}&4VyA9Fb}81tWGjr4IQwsZ}w}81S9}MMuHv@fH+rn z;9O%^!(x*B^Vc}GxfvZ=I(vtmH`h6MGj;TWjtiab zl+GFby?P{y9NnsNZA^u=J)-fd_R9ELJQCh8Bf;TGhC07=O&EHH1-6#y%+z@fJ75$TzU~ z=N32r)~@}oM3sEQ{W}eKJ+tXK?v3;^8)gL#*NBoDGG{t?Q}c0CPIBquNLI%6`-T}q zT;+(lhQQN9`SOJ+6IYqwrP2Q@ zklRfrnWKq`Uiv+g`H9jUk*N=)xREAVEJ!=tzV^wEjiG1~mQk-ji-x}~Xs#1MIy*DC z;nVKQE4hTd5&hmEjZRt&tho!gI-JidGR@GT7h>JZz~$-)LZtCJmt8`C`d9b2?EWOJ zr6`o%_+5l={n16PSXv^kjP$oi)?69aql*@%cl{;prn_p!PS|#`8$U_~BRV#&@ zRD%Dx52Y!*!ev`OR?r46n`U0SE94&aN^#Y>dIn+3+z(NKR=G+Y&(x(Ryx4x!_fnfK z(zoQ(-~?)=9qTA}GyhTY1zMjdk58@|a4=mMb&Pg9S{0g#bHp>f z6jEMR_p5Ek(}r+KhEWo+E)r3wLw&RBU%ddIqH7g$^+Ji#LIV&+aJGDfKi!&v&s2C__ z$i=FQS-6{%=-m0Vk0072GL_t(YiS3fh3PT|b zL^V-k;-mlnw~bQVH0h!gx^ci++ymp>!4R&leys>g@mmgnDd(IJz~hC8ipK*~a))a2DSJejCf_Yz8`wCU4ICa$1BagmZa_-9ftnXk zif*9h2B`8fFF-}hya0d)WIfJH-JCw~tE)fi2}HdIui3th0{{R307*qoM6N<$f^03h AumAu6 literal 0 HcmV?d00001 From 6b9997117cea8d3be525ca3062af26cfdecccbc1 Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Sat, 15 Jun 2024 11:47:01 +0200 Subject: [PATCH 02/30] Automatic changelog for PR #1639 [ci skip] --- html/changelogs/AutoChangeLog-pr-1639.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1639.yml diff --git a/html/changelogs/AutoChangeLog-pr-1639.yml b/html/changelogs/AutoChangeLog-pr-1639.yml new file mode 100644 index 0000000000000..612d20fa12b00 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1639.yml @@ -0,0 +1,6 @@ +author: "ChromeFoxxity" +delete-after: True +changes: + - rscadd: "Adds Security High-Vis Jacket Red and Blue variant." + - image: "Added icons of both variants." + - code_imp: "Added code for both variants." \ No newline at end of file From f08329fe419ec19e7711e168c0cd993f8c70f32e Mon Sep 17 00:00:00 2001 From: Cursor <102828457+theselfish@users.noreply.github.com> Date: Sat, 15 Jun 2024 18:17:10 +0100 Subject: [PATCH 03/30] Crewimov is printable now. (#1644) ## About The Pull Request ![image](https://github.com/Bubberstation/Bubberstation/assets/102828457/590ecd3f-c1ab-46b6-b0e2-eba9fa859dcd) ![image](https://github.com/Bubberstation/Bubberstation/assets/102828457/9c4db521-f463-425c-9610-ce0e67b1391b) ## Why It's Good For The Game We should probably have stuff that's in the code usable outside of bussing. ## Proof Of Testing See above. ## Changelog :cl: add: Crewimov related modules are printable now. /:cl: --- .../research/designs/ai_module_designs.dm | 33 +++++++++++++++++++ .../modules/research/techweb/all_nodes.dm | 8 +++++ tgstation.dme | 1 + 3 files changed, 42 insertions(+) create mode 100644 modular_zubbers/code/modules/research/designs/ai_module_designs.dm diff --git a/modular_zubbers/code/modules/research/designs/ai_module_designs.dm b/modular_zubbers/code/modules/research/designs/ai_module_designs.dm new file mode 100644 index 0000000000000..baa966eaf8afc --- /dev/null +++ b/modular_zubbers/code/modules/research/designs/ai_module_designs.dm @@ -0,0 +1,33 @@ +/datum/design/board/crewimov + name = "Crewimov Module" + desc = "Allows for the construction of a Crewimov AI Core Module. For when sanity prevails." + id = "crewsimov" + materials = list(/datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT, /datum/material/diamond = SHEET_MATERIAL_AMOUNT, /datum/material/bluespace = HALF_SHEET_MATERIAL_AMOUNT) + build_path = /obj/item/ai_module/core/full/crewsimov + category = list( + RND_CATEGORY_AI + RND_SUBCATEGORY_AI_CORE_MODULES + ) + departmental_flags = DEPARTMENT_BITFLAG_SCIENCE + +/datum/design/board/crewimovpp + name = "Crewimov++ Module" + desc = "Allows for the construction of a Crewimov++ AI Core Module." + id = "crewsimovpp" + materials = list(/datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT, /datum/material/diamond = SHEET_MATERIAL_AMOUNT, /datum/material/bluespace = HALF_SHEET_MATERIAL_AMOUNT) + build_path = /obj/item/ai_module/core/full/crewsimovpp + category = list( + RND_CATEGORY_AI + RND_SUBCATEGORY_AI_CORE_MODULES + ) + departmental_flags = DEPARTMENT_BITFLAG_SCIENCE + +/datum/design/board/ntosthree + name = "NTOS V3.0 Module" + desc = "Allows for the construction of a NTOS V3.0 AI Core Module. For when a more firm hand from Central is needed." + id = "ntos" + materials = list(/datum/material/glass = HALF_SHEET_MATERIAL_AMOUNT, /datum/material/diamond = SHEET_MATERIAL_AMOUNT, /datum/material/bluespace = HALF_SHEET_MATERIAL_AMOUNT) + build_path = /obj/item/ai_module/core/full/ntos + category = list( + RND_CATEGORY_AI + RND_SUBCATEGORY_AI_CORE_MODULES + ) + departmental_flags = DEPARTMENT_BITFLAG_SCIENCE + diff --git a/modular_zubbers/code/modules/research/techweb/all_nodes.dm b/modular_zubbers/code/modules/research/techweb/all_nodes.dm index 60eba4870f891..9f91f089fdff6 100644 --- a/modular_zubbers/code/modules/research/techweb/all_nodes.dm +++ b/modular_zubbers/code/modules/research/techweb/all_nodes.dm @@ -12,6 +12,14 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) required_experiments = list(/datum/experiment/scanning/random/plants/wild) +/datum/techweb_node/ai_adv/New() + . = ..() + design_ids += list( + "crewsimov", + "crewsimovpp", + "ntos", + ) + // MEDICAL /datum/techweb_node/adv_biotech/New() . = ..() diff --git a/tgstation.dme b/tgstation.dme index 38aa6bdc1ebf1..fd80061f6d419 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -8846,6 +8846,7 @@ #include "modular_zubbers\code\modules\reagents\chemistry\reagents\food_reagents.dm" #include "modular_zubbers\code\modules\reagents\reagent_containers\condiment.dm" #include "modular_zubbers\code\modules\reagents\reagent_containers\cups\glassbottle.dm" +#include "modular_zubbers\code\modules\research\designs\ai_module_designs.dm" #include "modular_zubbers\code\modules\research\designs\comp_board_designs.dm" #include "modular_zubbers\code\modules\research\designs\machine_board_designs.dm" #include "modular_zubbers\code\modules\research\designs\mechfab_designs.dm" From 882883688fab6f4bcff6e2f976d3ff3f537005f8 Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Sat, 15 Jun 2024 19:17:34 +0200 Subject: [PATCH 04/30] Automatic changelog for PR #1644 [ci skip] --- html/changelogs/AutoChangeLog-pr-1644.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1644.yml diff --git a/html/changelogs/AutoChangeLog-pr-1644.yml b/html/changelogs/AutoChangeLog-pr-1644.yml new file mode 100644 index 0000000000000..76c9f256ae67c --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1644.yml @@ -0,0 +1,4 @@ +author: "theselfish" +delete-after: True +changes: + - rscadd: "Crewimov related modules are printable now." \ No newline at end of file From 16f66806de8f13bd1fce33f909616da7890fc05c Mon Sep 17 00:00:00 2001 From: pixelkitty286 <78038207+pixelkitty286@users.noreply.github.com> Date: Sun, 16 Jun 2024 04:31:08 -0500 Subject: [PATCH 05/30] F3-LINE cyborg updates attempt 2 [Modularish] (#1641) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## About The Pull Request This attempt two of https://github.com/Bubberstation/Bubberstation/pull/1636 Makes the sprite file resolutions from 64 x 32 to 32 x 32 for cat borgs Makes 32 x 32 quadruped cybrogs into it's own borg type with it's own quadruped module of it's own. Allows only station standard cat borgs to be hold able, non standard can not be held. Adds code for cyborgs to indicate when they are being held. Makes cyborg that are being held unable to interact items around them, they can still break free any time. This does not allow cyborgs with shape shifting to be picked up it only allows the REAL model to be held. A slight change from the last PR is the addition of a cargo variant of cat borg. ## Why It's Good For The Game I've always wondered why can't I make cat borgs hold able and also make it so it don't have sweeping mechanical changes to the game so I came up with a way to allow them to be held disabling their abilities to interact with much wile being in a held state and being almost unbaggable. Cargo cat borg was added since there was no variant. Making the sprites 32 x 32 means they won't look so offsetted when using things quite as often. Cent Com don’t want you to know this but the the cat borgs on space station 13 are free you can take them home I have 458 cat borgs at home. ## Proof Of Testing ![dreamseeker_wBPMde6WO5](https://github.com/Bubberstation/Bubberstation/assets/78038207/8830cb9f-a281-44d0-9527-3b4bba8320c1) ![dreamseeker_xTFBOmZHyJ](https://github.com/Bubberstation/Bubberstation/assets/78038207/4dd933b8-e431-4d1a-9a98-18265c50be8e) ![sc19jFbsn7](https://github.com/Bubberstation/Bubberstation/assets/78038207/95c9e0af-bd0d-4c9f-948a-c4f101f892b4) ![dreamseeker_mmNECEkkUe](https://github.com/Bubberstation/Bubberstation/assets/78038207/cf0f743d-7b78-49eb-b833-10c58d369853) ## Changelog :cl: add: holding code for cyborgs del: Old 32x32 F3-LINE sprites image: 32x32 F3-LINE sprites and a cargo variant code: preventive flags to indicate when held admin: Two robot traits added to the trait list /:cl: --- code/__DEFINES/~~bubber_defines/traits.dm | 6 ++ code/_globalvars/traits/_traits.dm | 2 + code/_globalvars/traits/admin_tooling.dm | 2 + code/_onclick/cyborg.dm | 2 +- .../modules/mob/living/silicon/robot/robot.dm | 3 +- .../mob/living/silicon/robot/robot_model.dm | 4 ++ modular_skyrat/modules/borgs/code/robot.dm | 2 +- .../modules/borgs/code/robot_items.dm | 1 + .../modules/borgs/code/robot_upgrade.dm | 2 +- .../code/modules/borgs/code/robot.dm | 17 +++++ .../code/modules/borgs/code/robot_defines.dm | 1 + .../code/modules/borgs/code/robot_model.dm | 66 +++++++++++++----- .../modules/borgs/sprites/felibot_all.dmi | Bin 86951 -> 72898 bytes tgstation.dme | 1 + 14 files changed, 89 insertions(+), 20 deletions(-) create mode 100644 modular_zubbers/code/modules/borgs/code/robot.dm diff --git a/code/__DEFINES/~~bubber_defines/traits.dm b/code/__DEFINES/~~bubber_defines/traits.dm index 44cbc32a6a0ae..66d46ce1f4c76 100644 --- a/code/__DEFINES/~~bubber_defines/traits.dm +++ b/code/__DEFINES/~~bubber_defines/traits.dm @@ -6,3 +6,9 @@ //Cyborg traits #define TRAIT_RESEARCH_CYBORG "research_cyborg" + +/// Cyborgs with unique sprites +/// 32x32 quadruped skins with resting, sitting, and belly up sprites +#define TRAIT_R_SQUADRUPED "squadruped_borg" +// For light weight borgs +#define TRAIT_R_LIGHT_WEIGHT "lightweight_borg" diff --git a/code/_globalvars/traits/_traits.dm b/code/_globalvars/traits/_traits.dm index 6e9d9a03bc72a..81c399865262c 100644 --- a/code/_globalvars/traits/_traits.dm +++ b/code/_globalvars/traits/_traits.dm @@ -678,6 +678,8 @@ GLOBAL_LIST_INIT(traits_by_type, list( "TRAIT_R_TALL" = TRAIT_R_TALL, "TRAIT_R_SMALL" = TRAIT_R_SMALL, "TRAIT_R_UNIQUEPANEL" = TRAIT_R_UNIQUEPANEL, + "TRAIT_R_SQUADRUPED" = TRAIT_R_SQUADRUPED, //BUBBER addition - for small quadruped 32x32 cyborgs + "TRAIT_R_LIGHT_WEIGHT" = TRAIT_R_LIGHT_WEIGHT, //BUBBER addition for small light weighted cyborgs "TRAIT_REAGENT" = TRAIT_REAGENT, "TRAIT_REVIVES_BY_HEALING" = TRAIT_REVIVES_BY_HEALING, "TRAIT_RIGGER" = TRAIT_RIGGER, diff --git a/code/_globalvars/traits/admin_tooling.dm b/code/_globalvars/traits/admin_tooling.dm index 1e13d192f94a3..60ca76109da00 100644 --- a/code/_globalvars/traits/admin_tooling.dm +++ b/code/_globalvars/traits/admin_tooling.dm @@ -332,6 +332,8 @@ GLOBAL_LIST_INIT(admin_visible_traits, list( "TRAIT_R_TALL" = TRAIT_R_TALL, "TRAIT_R_SMALL" = TRAIT_R_SMALL, "TRAIT_R_UNIQUEPANEL" = TRAIT_R_UNIQUEPANEL, + "TRAIT_R_SQUADRUPED" = TRAIT_R_SQUADRUPED, //BUBBER addition - for small quadruped 32x32 cyborgs + "TRAIT_R_LIGHT_WEIGHT" = TRAIT_R_LIGHT_WEIGHT, //BUBBER addition for small light weighted cyborgs "TRAIT_REAGENT" = TRAIT_REAGENT, "TRAIT_REVIVES_BY_HEALING" = TRAIT_REVIVES_BY_HEALING, "TRAIT_RIGGER" = TRAIT_RIGGER, diff --git a/code/_onclick/cyborg.dm b/code/_onclick/cyborg.dm index 4f06e15f2cdb2..afd2f6353dba2 100644 --- a/code/_onclick/cyborg.dm +++ b/code/_onclick/cyborg.dm @@ -14,7 +14,7 @@ if(check_click_intercept(params,A)) return - if(stat || (lockcharge) || IsParalyzed() || IsStun()) + if(stat || (lockcharge) || IsParalyzed() || IsStun() || istype(loc, /obj/item/clothing/head/mob_holder)) //BUBBER EDIT - makes it so cyborgs that are holdable can not interact wile being held return var/list/modifiers = params2list(params) diff --git a/code/modules/mob/living/silicon/robot/robot.dm b/code/modules/mob/living/silicon/robot/robot.dm index 434bd64cdffc9..e50566257198b 100644 --- a/code/modules/mob/living/silicon/robot/robot.dm +++ b/code/modules/mob/living/silicon/robot/robot.dm @@ -477,7 +477,8 @@ */ /mob/living/silicon/robot/proc/toggle_headlamp(turn_off = FALSE, update_color = FALSE) //if both lamp is enabled AND the update_color flag is on, keep the lamp on. Otherwise, if anything listed is true, disable the lamp. - if(!(update_color && lamp_enabled) && (turn_off || lamp_enabled || update_color || !lamp_functional || stat || low_power_mode)) + //BUBBER EDIT - Disables flashlight when held + if(!(update_color && lamp_enabled) && (turn_off || lamp_enabled || update_color || !lamp_functional || stat || low_power_mode || istype(loc, /obj/item/clothing/head/mob_holder))) set_light_on(lamp_functional && stat != DEAD && lamp_doom) //If the lamp isn't broken and borg isn't dead, doomsday borgs cannot disable their light fully. set_light_color(COLOR_RED) //This should only matter for doomsday borgs, as any other time the lamp will be off and the color not seen set_light_range(1) //Again, like above, this only takes effect when the light is forced on by doomsday mode. diff --git a/code/modules/mob/living/silicon/robot/robot_model.dm b/code/modules/mob/living/silicon/robot/robot_model.dm index 678917054270e..d99340394a0e2 100644 --- a/code/modules/mob/living/silicon/robot/robot_model.dm +++ b/code/modules/mob/living/silicon/robot/robot_model.dm @@ -250,6 +250,10 @@ new_model.update_dogborg() new_model.update_tallborg() //SKYRAT EDIT ADDITION END + //BUBBER EDIT ADDTION BEGIN + new_model.update_squadruped() + new_model.update_lightweight() + //BUBBER EDIT ADDTION END INVOKE_ASYNC(new_model, PROC_REF(do_transform_animation)) qdel(src) diff --git a/modular_skyrat/modules/borgs/code/robot.dm b/modular_skyrat/modules/borgs/code/robot.dm index 8bddf039f4d4a..927a9eae58665 100644 --- a/modular_skyrat/modules/borgs/code/robot.dm +++ b/modular_skyrat/modules/borgs/code/robot.dm @@ -103,7 +103,7 @@ * model_features is defined in modular_skyrat\modules\altborgs\code\modules\mob\living\silicon\robot\robot_model.dm. */ /mob/living/silicon/robot/proc/can_rest() - if(model && model.model_features && ((TRAIT_R_WIDE in model.model_features) || (TRAIT_R_TALL in model.model_features))) + if(model && model.model_features && ((TRAIT_R_WIDE in model.model_features) || (TRAIT_R_TALL in model.model_features) || (TRAIT_R_SQUADRUPED in model.model_features)))// BUBBER EDIT - added small quadrupeds if(TRAIT_IMMOBILIZED in _status_traits) return FALSE return TRUE diff --git a/modular_skyrat/modules/borgs/code/robot_items.dm b/modular_skyrat/modules/borgs/code/robot_items.dm index 55cee15a184d7..fafdfc7d4ee3c 100644 --- a/modular_skyrat/modules/borgs/code/robot_items.dm +++ b/modular_skyrat/modules/borgs/code/robot_items.dm @@ -731,6 +731,7 @@ user.update_icons() user.model.update_dogborg() user.model.update_tallborg() + user.model.update_squadruped() //BUBBER ADDITION if(listeningTo == user) return diff --git a/modular_skyrat/modules/borgs/code/robot_upgrade.dm b/modular_skyrat/modules/borgs/code/robot_upgrade.dm index 098f3eb3b59b1..787bd5f728222 100644 --- a/modular_skyrat/modules/borgs/code/robot_upgrade.dm +++ b/modular_skyrat/modules/borgs/code/robot_upgrade.dm @@ -418,7 +418,7 @@ if(borg.hasAffection) to_chat(usr, span_warning("This unit already has a affection module installed!")) return FALSE - if(!(TRAIT_R_WIDE in borg.model.model_features)) + if(!((TRAIT_R_SQUADRUPED in borg.model.model_features) || (TRAIT_R_WIDE in borg.model.model_features)))//BUBBER EDIT - added small quadruped borgs to_chat(usr, span_warning("This unit's chassis does not support this module.")) return FALSE diff --git a/modular_zubbers/code/modules/borgs/code/robot.dm b/modular_zubbers/code/modules/borgs/code/robot.dm new file mode 100644 index 0000000000000..1d3af7d824cd2 --- /dev/null +++ b/modular_zubbers/code/modules/borgs/code/robot.dm @@ -0,0 +1,17 @@ +// Define for in hand sprite +/mob/living/silicon/robot + //TODO: real holding sprites these are just place holders for the time + held_lh = 'icons/mob/inhands/pai_item_lh.dmi' + held_rh = 'icons/mob/inhands/pai_item_rh.dmi' + held_state = "cat" + +//Cyborgs that are being held should act almost as how the AI behaves when carded. +/mob/living/silicon/robot/mob_pickup(mob/living/user) + drop_all_held_items() + toggle_headlamp(TRUE) + return ..() + +/mob/living/silicon/robot/mob_try_pickup(mob/living/user, instant=FALSE) + if(stat == DEAD || status_flags & GODMODE) + return + return ..() diff --git a/modular_zubbers/code/modules/borgs/code/robot_defines.dm b/modular_zubbers/code/modules/borgs/code/robot_defines.dm index 9bef9411b07e9..71d99344270f8 100644 --- a/modular_zubbers/code/modules/borgs/code/robot_defines.dm +++ b/modular_zubbers/code/modules/borgs/code/robot_defines.dm @@ -63,6 +63,7 @@ #define CYBORG_ICON_TYPE_SCI_CATBORG "FELI-Research" #define CYBORG_ICON_TYPE_ENG_CATBORG "FELI-Engineer" #define CYBORG_ICON_TYPE_MED_CATBORG "FELI-Medical" +#define CYBORG_ICON_TYPE_CAR_CATBORG "FELI-Cargo" #define CYBORG_ICON_TYPE_SERV_CATBORG "FELI-Service" #define CYBORG_ICON_TYPE_PK_CATBORG "FELI-Pk" #define CYBORG_ICON_TYPE_JANI_CATBORG "FELI-Janitor" diff --git a/modular_zubbers/code/modules/borgs/code/robot_model.dm b/modular_zubbers/code/modules/borgs/code/robot_model.dm index 1f57ceff2a500..73475100f3a5d 100644 --- a/modular_zubbers/code/modules/borgs/code/robot_model.dm +++ b/modular_zubbers/code/modules/borgs/code/robot_model.dm @@ -1,4 +1,34 @@ // The actual code to work these in + +// Cyborg model types + +//For small quadruped 32 X 32 cyborgs suchs as F3-LINE cyborgs +/obj/item/robot_model/proc/update_squadruped() + var/mob/living/silicon/robot/cyborg = robot || loc + if (!istype(robot)) + return + if (model_features && (TRAIT_R_SQUADRUPED in model_features)) + hat_offset = INFINITY + add_verb(cyborg, /mob/living/silicon/robot/proc/robot_lay_down) + add_verb(cyborg, /mob/living/silicon/robot/proc/rest_style) + else + remove_verb(cyborg, /mob/living/silicon/robot/proc/robot_lay_down) + remove_verb(cyborg, /mob/living/silicon/robot/proc/rest_style) + +//For cyborgs who have a lighter chassis +// NOTE WORKS BEST WITH ONLY 32 X 32 CYBORBG SPRITES!!! +/obj/item/robot_model/proc/update_lightweight() + var/mob/living/silicon/robot/cyborg = robot || loc + if (!istype(robot)) + return + if (model_features && (TRAIT_R_LIGHT_WEIGHT in model_features)) + cyborg.can_be_held = TRUE + cyborg.held_w_class = WEIGHT_CLASS_HUGE + else + cyborg.can_be_held = FALSE + cyborg.held_w_class = WEIGHT_CLASS_NORMAL + +// Centcom cyborgs /obj/item/robot_model/centcom name = "Central Command" basic_modules = list( @@ -60,7 +90,6 @@ cyborg.req_access = list(ACCESS_ROBOTICS) cyborg.faction -= ROLE_DEATHSQUAD //You're no longer part of CENTCOM - //Research cyborgs /obj/item/robot_model/sci name = "Research" @@ -105,7 +134,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_SCI_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL, TRAIT_R_LIGHT_WEIGHT) ), "Vale" = list( SKIN_ICON_STATE = "vale", @@ -192,7 +221,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_GEN_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL, TRAIT_R_LIGHT_WEIGHT) ), "SmolRaptor" = list(SKIN_ICON_STATE = CYBORG_ICON_TYPE_SMOLRAPTOR, SKIN_ICON = CYBORG_ICON_GEN_SMOLRAPTOR, @@ -206,7 +235,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_MED_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL, TRAIT_R_LIGHT_WEIGHT) ), "Raptor" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_RAPTOR, @@ -225,7 +254,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_ENG_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL, TRAIT_R_LIGHT_WEIGHT) ), "Raptor" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_RAPTOR, @@ -244,7 +273,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_JANI_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL, TRAIT_R_LIGHT_WEIGHT) ), //64x48 sprites below (Raptor) "Raptor" = list( @@ -264,7 +293,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_MINE_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL, TRAIT_R_LIGHT_WEIGHT) ), //64x32 Sprites below (Wide) "Corrupt" = list( @@ -295,7 +324,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_SEC_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL, TRAIT_R_LIGHT_WEIGHT) ), //32x64 Sprites below (Tall) "Meka - Bluesec" = list( @@ -318,7 +347,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_PK_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL, TRAIT_R_LIGHT_WEIGHT) ), //32x64 Sprites below (Tall) "Meka - Bluesec" = list( @@ -352,7 +381,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_SERV_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL, TRAIT_R_LIGHT_WEIGHT) ), "Fancy Raptor" = list( SKIN_ICON_STATE = "fancyraptor", @@ -372,6 +401,11 @@ SKIN_ICON = CYBORG_ICON_CAR_SMOLRAPTOR, SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SMALL, TRAIT_R_WIDE) ), + "F3-LINE" = list( + SKIN_ICON_STATE = CYBORG_ICON_TYPE_CAR_CATBORG, + SKIN_ICON = CYBORG_ICON_ALL_CATBORG, + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL, TRAIT_R_LIGHT_WEIGHT) + ), ) /obj/item/robot_model/syndicatejack/Initialize(mapload) @@ -405,7 +439,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_SYNDI_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL) ), ) @@ -430,7 +464,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_SYNDI_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL) ), ) @@ -456,7 +490,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_SYNDI_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL) ), ) @@ -476,7 +510,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_SYNDI_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL) ), ) @@ -499,7 +533,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_NINJA_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL) ), ) @@ -509,7 +543,7 @@ "F3-LINE" = list( SKIN_ICON_STATE = CYBORG_ICON_TYPE_NINJA_CATBORG, SKIN_ICON = CYBORG_ICON_ALL_CATBORG, - SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_WIDE, TRAIT_R_SMALL) + SKIN_FEATURES = list(TRAIT_R_UNIQUEWRECK, TRAIT_R_SQUADRUPED, TRAIT_R_SMALL) ), ) diff --git a/modular_zubbers/code/modules/borgs/sprites/felibot_all.dmi b/modular_zubbers/code/modules/borgs/sprites/felibot_all.dmi index 417353899fe51003369eb2eae6048ea9429c41db..5b7a93fe03116272b2e173d2a775fbf9ec3fc150 100644 GIT binary patch literal 72898 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 I?mP|qZ-Q5=CIA2c diff --git a/tgstation.dme b/tgstation.dme index fd80061f6d419..7dec79d73c2ee 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -8607,6 +8607,7 @@ #include "modular_zubbers\code\modules\blooper\bark.dm" #include "modular_zubbers\code\modules\blooper\bark_list.dm" #include "modular_zubbers\code\modules\borer_hud\borer.dm" +#include "modular_zubbers\code\modules\borgs\code\robot.dm" #include "modular_zubbers\code\modules\borgs\code\robot_defense.dm" #include "modular_zubbers\code\modules\borgs\code\robot_defines.dm" #include "modular_zubbers\code\modules\borgs\code\robot_items.dm" From 151f789444c790ce143285b946fa8f63ba32c9ad Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Sun, 16 Jun 2024 11:31:31 +0200 Subject: [PATCH 06/30] Automatic changelog for PR #1641 [ci skip] --- html/changelogs/AutoChangeLog-pr-1641.yml | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1641.yml diff --git a/html/changelogs/AutoChangeLog-pr-1641.yml b/html/changelogs/AutoChangeLog-pr-1641.yml new file mode 100644 index 0000000000000..3ebcffeb294ca --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1641.yml @@ -0,0 +1,8 @@ +author: "pixelkitty286" +delete-after: True +changes: + - rscadd: "holding code for cyborgs" + - rscdel: "Old 32x32 F3-LINE sprites" + - image: "32x32 F3-LINE sprites and a cargo variant" + - code_imp: "preventive flags to indicate when held" + - admin: "Two robot traits added to the trait list" \ No newline at end of file From 4ee5353624caff72ed08c24224daddcac4a4158f Mon Sep 17 00:00:00 2001 From: Waterpig <49160555+Majkl-J@users.noreply.github.com> Date: Mon, 17 Jun 2024 19:34:32 +0200 Subject: [PATCH 07/30] Removes air alarm heating and atmos forcer (#1502) ## About The Pull Request Remove not improve, this would require a rewriting of a bit of atmos handling to fix, and unironically kills every round with a spaced air alarm. Zirok has the exact details on why it is broken so ask them and the TG LINDA gods. ## Changelog :cl: fix: Fixes atmos dying /:cl: --- .../machinery/air_alarm/_air_alarm.dm | 3 --- .../machinery/air_alarm/_air_alarm.dm | 21 ------------------ .../code/modules/hacks/atmos/force_atmos.dm | 22 ------------------- tgstation.dme | 2 -- 4 files changed, 48 deletions(-) delete mode 100644 modular_zubbers/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm delete mode 100644 modular_zubbers/code/modules/hacks/atmos/force_atmos.dm diff --git a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm index c9e5270858949..4ec7830ac88cf 100644 --- a/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm +++ b/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm @@ -572,7 +572,6 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) alarm_manager.send_alarm(ALARM_ATMOS) if(pressure <= WARNING_LOW_PRESSURE && temp <= BODYTEMP_COLD_WARNING_1+10) warning_message = "Danger! Low pressure and temperature detected." - heat_environment(environment) //BUBBERSTATION CHANGE: ADDS HEATING return if(pressure <= WARNING_LOW_PRESSURE && temp >= BODYTEMP_HEAT_WARNING_1-27) warning_message = "Danger! Low pressure and high temperature detected." @@ -582,7 +581,6 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) return if(pressure >= WARNING_HIGH_PRESSURE && temp <= BODYTEMP_COLD_WARNING_1+10) warning_message = "Danger! High pressure and low temperature detected." - heat_environment(environment) //BUBBERSTATION CHANGE: ADDS HEATING return if(pressure <= WARNING_LOW_PRESSURE) warning_message = "Danger! Low pressure detected." @@ -592,7 +590,6 @@ GLOBAL_LIST_EMPTY_TYPED(air_alarms, /obj/machinery/airalarm) return if(temp <= BODYTEMP_COLD_WARNING_1+10) warning_message = "Danger! Low temperature detected." - heat_environment(environment) //BUBBERSTATION CHANGE: ADDS HEATING return if(temp >= BODYTEMP_HEAT_WARNING_1-27) warning_message = "Danger! High temperature detected." diff --git a/modular_zubbers/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm b/modular_zubbers/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm deleted file mode 100644 index 2e5b714549156..0000000000000 --- a/modular_zubbers/code/modules/atmospherics/machinery/air_alarm/_air_alarm.dm +++ /dev/null @@ -1,21 +0,0 @@ -/obj/machinery/airalarm/ - var/heating_power = 5000 - var/efficiency = 10000 - desc = "A machine that monitors atmosphere levels. Goes off if the area is dangerous, and activates firelocks. Contains a mini-heater for heating small rooms in cases of extreme cold." - -/obj/machinery/airalarm/proc/heat_environment(datum/gas_mixture/environment) - - if(heating_power <= 0) - return FALSE - - var/target_temperature = BODYTEMP_COLD_WARNING_1+10 //Based off the warning in the main file. - - var/heat_capacity = environment.heat_capacity() - var/required_energy = abs(environment.temperature - target_temperature) * heat_capacity - required_energy = min(required_energy, heating_power) - - var/delta_temperature = required_energy / heat_capacity - - if(delta_temperature > 0) - environment.temperature += delta_temperature - air_update_turf(FALSE, FALSE) diff --git a/modular_zubbers/code/modules/hacks/atmos/force_atmos.dm b/modular_zubbers/code/modules/hacks/atmos/force_atmos.dm deleted file mode 100644 index d2d41f9167231..0000000000000 --- a/modular_zubbers/code/modules/hacks/atmos/force_atmos.dm +++ /dev/null @@ -1,22 +0,0 @@ - -SUBSYSTEM_DEF(force_atmos) - name = "Atmospherics Forcer" - init_order = INIT_ORDER_AIR - priority = FIRE_PRIORITY_AIR - wait = 1 SECONDS - flags = SS_KEEP_TIMING - runlevels = RUNLEVEL_GAME | RUNLEVEL_POSTGAME - can_fire = FALSE // VAREDIT to make atmos actually forcefully run - -/datum/controller/subsystem/force_atmos/fire() - if(can_fire) - SSair.fire() // holy shitcode, batman - -GLOBAL_VAR(atmos_is_broken) - -/proc/atmos_is_broke() - - if(GLOB.atmos_is_broken) // end/start this all by varediting the global var atmos_is_broken - SSair.fire() - sleep(2 SECONDS) // We don't even trust the MC for timing. How did it get so bad? Overly complicated problems? Simple solutions. Horrible! - atmos_is_broke() // RECURSIVE OH NO diff --git a/tgstation.dme b/tgstation.dme index 7dec79d73c2ee..7e70152714dc8 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -8598,7 +8598,6 @@ #include "modular_zubbers\code\modules\ashwalkers\ashwalker_names.dm" #include "modular_zubbers\code\modules\ashwalkers\code\effects\ash_rituals.dm" #include "modular_zubbers\code\modules\atmospherics\gasmixtures\gas_types.dm" -#include "modular_zubbers\code\modules\atmospherics\machinery\air_alarm\_air_alarm.dm" #include "modular_zubbers\code\modules\atmospherics\machinery\portable\canister.dm" #include "modular_zubbers\code\modules\automapper\code\area_spawn_entries.dm" #include "modular_zubbers\code\modules\automapper\code\overrides\area_spawn_subsystem.dm" @@ -8708,7 +8707,6 @@ #include "modular_zubbers\code\modules\GAGS\greyscale_configs.dm" #include "modular_zubbers\code\modules\ghostcafe\hilbertshotel_silicon.dm" #include "modular_zubbers\code\modules\gladiator\code\game\objects\items\gladiator_items.dm" -#include "modular_zubbers\code\modules\hacks\atmos\force_atmos.dm" #include "modular_zubbers\code\modules\height_scaling\icons.dm" #include "modular_zubbers\code\modules\height_scaling\preferences.dm" #include "modular_zubbers\code\modules\hydroponics\gene_modder.dm" From bee55b28b4e90a6a1048d6bd6bb4f93a0c6d028a Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Mon, 17 Jun 2024 19:43:51 +0200 Subject: [PATCH 08/30] Automatic changelog for PR #1502 [ci skip] --- html/changelogs/AutoChangeLog-pr-1502.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1502.yml diff --git a/html/changelogs/AutoChangeLog-pr-1502.yml b/html/changelogs/AutoChangeLog-pr-1502.yml new file mode 100644 index 0000000000000..0f2dfa98cb933 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1502.yml @@ -0,0 +1,4 @@ +author: "Majkl-J" +delete-after: True +changes: + - bugfix: "Fixes atmos dying" \ No newline at end of file From 2dd33a57235d197b19692a77c70f2fd63d3c8698 Mon Sep 17 00:00:00 2001 From: Waterpig <49160555+Majkl-J@users.noreply.github.com> Date: Wed, 12 Jun 2024 06:29:23 +0200 Subject: [PATCH 09/30] Fixes events not running (#28117) # Conflicts: # code/modules/events/_event.dm --- code/modules/events/_event.dm | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/code/modules/events/_event.dm b/code/modules/events/_event.dm index 7973dd6de1ae3..f4fd0e5b0e89c 100644 --- a/code/modules/events/_event.dm +++ b/code/modules/events/_event.dm @@ -105,16 +105,11 @@ // We sleep HERE, in pre-event setup (because there's no sense doing it in run_event() since the event is already running!) for the given amount of time to make an admin has enough time to cancel an event un-fitting of the present round. if(alert_observers) - // message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name]. (CANCEL) (SOMETHING ELSE)") // SKYRAT EDIT REMOVAL - sleep(RANDOM_EVENT_ADMIN_INTERVENTION_TIME) - var/players_amt = get_active_player_count(alive_check = TRUE, afk_check = TRUE, human_check = TRUE) - if(!can_spawn_event(players_amt)) - message_admins("Second pre-condition check for [name] failed, rerolling...") - SSevents.spawnEvent(excluded_event = src) - return EVENT_INTERRUPTED + // message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name]. (CANCEL) (SOMETHING ELSE)") // SKYRAT EDIT REMOVAL + // sleep(RANDOM_EVENT_ADMIN_INTERVENTION_TIME) // SKYRAT EDIT REMOVAL - // SKYRAT EDIT ADDITION BEGIN - Event notification - // BUBBER EDIT START - Only delay on roundstart + // SKYRAT EDIT ADDITION BEGIN - Event notification Makes an attention-grabbing sound, gives admins two notifications spread over RANDOM_EVENT_ADMIN_INTERVENTION_TIME instead of just the one. + // BUBBER EDIT START - Only delay on roundstart if(SSticker.HasRoundStarted()) message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name]. (\ CANCEL | \ @@ -129,7 +124,17 @@ CANCEL | \ SOMETHING ELSE") sleep(RANDOM_EVENT_ADMIN_INTERVENTION_TIME * 0.5) - // SKYRAT EDIT ADDITION END - Event notification + // SKYRAT EDIT ADDITION END - Event notification + var/players_amt = get_active_player_count(alive_check = TRUE, afk_check = TRUE, human_check = TRUE) + if(!can_spawn_event(players_amt)) + message_admins("Second pre-condition check for [name] failed, rerolling...") + SSevents.spawnEvent(excluded_event = src) + return EVENT_INTERRUPTED + if(!triggering) + return EVENT_CANCELLED //admin cancelled + triggering = FALSE + return EVENT_READY + /datum/round_event_control/Topic(href, href_list) ..() From cc4c3ef576478ac2332fe5f4979b94d3c19aafe5 Mon Sep 17 00:00:00 2001 From: nevimer <77420409+nevimer@users.noreply.github.com> Date: Thu, 20 Jun 2024 18:47:10 -0400 Subject: [PATCH 10/30] allow the ghost to be votable at any time (#1667) as said :cl: qol: allows the ghost to be voted for at any pop :/cl: --- .../code/modules/storyteller/storytellers/storyteller_tellers.dm | 1 - 1 file changed, 1 deletion(-) diff --git a/modular_zubbers/code/modules/storyteller/storytellers/storyteller_tellers.dm b/modular_zubbers/code/modules/storyteller/storytellers/storyteller_tellers.dm index 16373d9e3fa36..90a14788541a8 100644 --- a/modular_zubbers/code/modules/storyteller/storytellers/storyteller_tellers.dm +++ b/modular_zubbers/code/modules/storyteller/storytellers/storyteller_tellers.dm @@ -64,5 +64,4 @@ name = "The Ghost" desc = "The Ghost is the absence of a Storyteller. It will not spawn a single event of any sort, or run any Antagonists. Best for rounds where the population is so low that not even the Sleeper is low enough." disable_distribution = TRUE - population_max = 35 antag_divisor = 32 From b6ed94c62e779732489ccff30268837b56f19cbd Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Fri, 21 Jun 2024 00:47:36 +0200 Subject: [PATCH 11/30] Automatic changelog for PR #1667 [ci skip] --- html/changelogs/AutoChangeLog-pr-1667.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1667.yml diff --git a/html/changelogs/AutoChangeLog-pr-1667.yml b/html/changelogs/AutoChangeLog-pr-1667.yml new file mode 100644 index 0000000000000..c7777e88e5aed --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1667.yml @@ -0,0 +1,4 @@ +author: "nevimer" +delete-after: True +changes: + - qol: "allows the ghost to be voted for at any pop" \ No newline at end of file From cd57be4736f1696a5e9e48ebbfa806cd06074043 Mon Sep 17 00:00:00 2001 From: Cursor <102828457+theselfish@users.noreply.github.com> Date: Fri, 21 Jun 2024 15:53:11 +0100 Subject: [PATCH 12/30] Fixes the Projection Barrier (#1665) ## About The Pull Request ![image](https://github.com/Bubberstation/Bubberstation/assets/102828457/889dfc07-0a0f-4e6a-97a7-18e16167a72f) ## Why It's Good For The Game Title. I also moved the code that caused it to it's own file. Easier to find it. ## Proof Of Testing No. ## Changelog :cl: fix: Sex Barrier is now back. Scene? Scene? Scene? Scene? Scene? /:cl: --------- Co-authored-by: Cyprex <35031555+Cyprex@users.noreply.github.com> --- modular_zubbers/code/modules/fluff/sex_barrier.dm | 6 ------ modular_zubbers/code/modules/vending/lustwish.dm | 14 ++++++++++++++ modular_zubbers/code/modules/vending/wardrobe.dm | 11 +---------- tgstation.dme | 1 + 4 files changed, 16 insertions(+), 16 deletions(-) create mode 100644 modular_zubbers/code/modules/vending/lustwish.dm diff --git a/modular_zubbers/code/modules/fluff/sex_barrier.dm b/modular_zubbers/code/modules/fluff/sex_barrier.dm index b6c8cccce600d..0a37bd22c27a8 100644 --- a/modular_zubbers/code/modules/fluff/sex_barrier.dm +++ b/modular_zubbers/code/modules/fluff/sex_barrier.dm @@ -11,9 +11,3 @@ desc = "The words flicker DON'T SEX OPEN INSIDE. I think this means that there is sex beyond this door and that you should probably not enter, unless of course you are prepared for unforeseen consequences." icon = 'modular_zubbers/icons/effects/sex_barrier.dmi' icon_state = "yes_i_spent_time_on_this" - -/obj/machinery/vending/dorms/New(...) - . = ..() - if(!premium) //Safety - premium = list() - premium[/obj/item/holosign_creator/sex] = 6 diff --git a/modular_zubbers/code/modules/vending/lustwish.dm b/modular_zubbers/code/modules/vending/lustwish.dm new file mode 100644 index 0000000000000..3fefafd6bc59d --- /dev/null +++ b/modular_zubbers/code/modules/vending/lustwish.dm @@ -0,0 +1,14 @@ +/obj/machinery/vending/dorms + zubbers_product_categories = list( + list( + "name" = "Restraints", + "icon" = FA_ICON_HANDCUFFS, + "products" = list( + /obj/item/clothing/neck/human_petcollar/locked/ringbell = 8 + ) + ) + ) + + zubbers_premium = list( + /obj/item/holosign_creator/sex = 6, + ) diff --git a/modular_zubbers/code/modules/vending/wardrobe.dm b/modular_zubbers/code/modules/vending/wardrobe.dm index cc8b668465b5d..b3defefa10ebe 100644 --- a/modular_zubbers/code/modules/vending/wardrobe.dm +++ b/modular_zubbers/code/modules/vending/wardrobe.dm @@ -17,13 +17,4 @@ ), ) -/obj/machinery/vending/dorms - zubbers_product_categories = list( - list( - "name" = "Restraints", - "icon" = FA_ICON_HANDCUFFS, - "products" = list( - /obj/item/clothing/neck/human_petcollar/locked/ringbell = 8 - ) - ) - ) + diff --git a/tgstation.dme b/tgstation.dme index 7e70152714dc8..35e29fc3c5676 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -8915,6 +8915,7 @@ #include "modular_zubbers\code\modules\uplink\uplink_items\job.dm" #include "modular_zubbers\code\modules\vending\comdrobe.dm" #include "modular_zubbers\code\modules\vending\halloween_chocolate.dm" +#include "modular_zubbers\code\modules\vending\lustwish.dm" #include "modular_zubbers\code\modules\vending\megaseed.dm" #include "modular_zubbers\code\modules\vending\vending.dm" #include "modular_zubbers\code\modules\vending\wardrobe.dm" From 6cacf6882ec9777c0959d56a33ddfe6737fbebf3 Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Fri, 21 Jun 2024 16:54:52 +0200 Subject: [PATCH 13/30] Automatic changelog for PR #1665 [ci skip] --- html/changelogs/AutoChangeLog-pr-1665.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1665.yml diff --git a/html/changelogs/AutoChangeLog-pr-1665.yml b/html/changelogs/AutoChangeLog-pr-1665.yml new file mode 100644 index 0000000000000..2df88b3b374f3 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1665.yml @@ -0,0 +1,4 @@ +author: "theselfish" +delete-after: True +changes: + - bugfix: "Sex Barrier is now back. Scene? Scene? Scene? Scene? Scene?" \ No newline at end of file From b05f8829175cf1ea30161fdfd703835f90e62e57 Mon Sep 17 00:00:00 2001 From: Cursor <102828457+theselfish@users.noreply.github.com> Date: Sat, 22 Jun 2024 18:43:38 +0100 Subject: [PATCH 14/30] Ports Rat Queens from Orbstation (#1648) ## About The Pull Request ![image](https://github.com/Bubberstation/Bubberstation/assets/102828457/4c31d95b-17f0-46b2-aabd-64d7b993a697) ## Why It's Good For The Game ~~The Rat Queen is hot.~~ I think Rat Kings getting to be funny lil creatures is cool. ## Proof Of Testing See above. ## Changelog :cl: Sprites: axietheaxolotl Code: VioletN image: Added three new selectable "rat queen" skins to the royal rat. /:cl: --------- Co-authored-by: Cyprex <35031555+Cyprex@users.noreply.github.com> --- .../code/modules/ratqueen/regalrat.dm | 151 ++++++++++++++++++ modular_zubbers/icons/mob/rat.dmi | Bin 0 -> 4895 bytes tgstation.dme | 1 + 3 files changed, 152 insertions(+) create mode 100644 modular_zubbers/code/modules/ratqueen/regalrat.dm create mode 100644 modular_zubbers/icons/mob/rat.dmi diff --git a/modular_zubbers/code/modules/ratqueen/regalrat.dm b/modular_zubbers/code/modules/ratqueen/regalrat.dm new file mode 100644 index 0000000000000..950f0223ad8f3 --- /dev/null +++ b/modular_zubbers/code/modules/ratqueen/regalrat.dm @@ -0,0 +1,151 @@ +// Adds rat fashion system +/mob/living/basic/regal_rat + /// What kind of fashion are we rocking + var/datum/rat_fashion/current_look + /// Press this to change your rat outfit + var/datum/action/cooldown/rat_fashion/fashion_select + +/mob/living/basic/regal_rat/Initialize(mapload) + . = ..() + fashion_select = new(src) + fashion_select.Grant(src) + pick_random_look() + +/// Randomise how we look on init +/mob/living/basic/regal_rat/proc/pick_random_look() + var/list/valid_starting_styles = list() + for (var/datum/rat_fashion/style_path as anything in subtypesof(/datum/rat_fashion)) + if (!initial(style_path.allow_random)) + continue + valid_starting_styles += new style_path() + if (!length(valid_starting_styles)) + return + current_look = pick(valid_starting_styles) + current_look.apply(src) + + +/mob/living/basic/regal_rat/revive(full_heal_flags, excess_healing, force_grab_ghost) + . = ..() + if(!.) + return + current_look.apply(src) + +/mob/living/basic/regal_rat/Destroy() + . = ..() + QDEL_NULL(fashion_select) + QDEL_NULL(current_look) + +/// Regal rat swallows sludge to transform themselves into a different looking rat +/datum/action/cooldown/rat_fashion + name = "Rat King's Transformation" + desc = "Assume your true form, whatever you decide it is at the moment." + check_flags = AB_CHECK_CONSCIOUS + cooldown_time = 10 SECONDS + melee_cooldown_time = 0 SECONDS + button_icon = 'icons/mob/actions/actions_spells.dmi' + button_icon_state = "exit_possession" + background_icon_state = "bg_clock" + overlay_icon_state = "bg_clock_border" + +/datum/action/cooldown/rat_fashion/Activate(atom/target) + var/mob/living/basic/regal_rat/rat_owner = owner + if (!istype(rat_owner)) + owner.balloon_alert(owner, "not a rat!") + qdel(src) + return + + var/list/options = list() + var/list/picks_to_instances = list() + var/list/rat_styles = subtypesof(/datum/rat_fashion) + for (var/style_path as anything in rat_styles) + var/datum/rat_fashion/style = new style_path() + var/datum/radial_menu_choice/choice = style.get_radial_select() + options += list("[choice.name]" = choice) + picks_to_instances[choice.name] = style + + var/pick = show_radial_menu(owner, owner, options, require_near = TRUE) + if (!pick) + return + + var/datum/rat_fashion/chosen = picks_to_instances[pick] + if (rat_owner.current_look.name == chosen.name) + owner.balloon_alert(owner, "nothing to change!") + return + + var/turf/origin = get_turf(owner) + owner.balloon_alert_to_viewers("shudders...") + + if (!do_after(owner, 3 SECONDS, target = origin)) + owner.balloon_alert(owner, "interrupted!") + return + + rat_owner.current_look = chosen + rat_owner.current_look.apply(owner) + var/obj/effect/particle_effect/fluid/smoke/poof = new(origin) + poof.lifetime = 2 SECONDS + poof.color = "#5f5940" + return ..() + +/// Decides how regal rats can look +/datum/rat_fashion/ + var/name = "" + var/allow_random = TRUE + var/icon = 'modular_zubbers/icons/mob/rat.dmi' + var/icon_state_living + var/icon_state_dead + +/// Provides radial menu data +/datum/rat_fashion/proc/get_radial_select() + var/datum/radial_menu_choice/choice = new() + choice.name = name + choice.image = image(icon = icon, icon_state = icon_state_living) + return choice + +/// Make yourself look like this +/datum/rat_fashion/proc/apply(mob/living/simple_animal/rat_target) + rat_target.icon = icon + rat_target.icon_living = icon_state_living + rat_target.icon_dead = icon_state_dead + if(rat_target.stat == DEAD) // How did you use this while dead? + rat_target.icon_state = icon_state_dead + else + rat_target.icon_state = icon_state_living + rat_target.update_appearance(updates = UPDATE_ICON) + +/// Normal +/datum/rat_fashion/default + name = "regal rat" + icon = 'icons/mob/simple/animal.dmi' + icon_state_living = "regalrat" + icon_state_dead = "regalrat_dead" + +/// Old sprite +/datum/rat_fashion/classic + name = "retro rat" + allow_random = FALSE + icon_state_living = "classic" + icon_state_dead = "classic_dead" + +/// Rat queen (thicc rat) + +/datum/rat_fashion/rat_queen + name = "rat queen" + allow_random = TRUE + icon_state_living = "ratqueen" + icon_state_dead = "ratqueen_dead" + +/// Rat queen alt (thicc rat but fat) + +/datum/rat_fashion/rat_queen_alt + name = "rat queen alt" + allow_random = TRUE + icon_state_living = "ratqueen_fat" + icon_state_dead = "ratqueen_dead" + +/// Ringmaster (thicc rat but clothed) + +/datum/rat_fashion/ringmaster + name = "ringmaster" + allow_random = FALSE + icon_state_living = "ringmaster" + icon_state_dead = "ratqueen_dead" diff --git a/modular_zubbers/icons/mob/rat.dmi b/modular_zubbers/icons/mob/rat.dmi new file mode 100644 index 0000000000000000000000000000000000000000..835a958ec22acf7c0889ed0e23ae6f0d850cd6a4 GIT binary patch literal 4895 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 Date: Sat, 22 Jun 2024 19:44:34 +0200 Subject: [PATCH 15/30] Automatic changelog for PR #1648 [ci skip] --- html/changelogs/AutoChangeLog-pr-1648.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1648.yml diff --git a/html/changelogs/AutoChangeLog-pr-1648.yml b/html/changelogs/AutoChangeLog-pr-1648.yml new file mode 100644 index 0000000000000..d81e78c5884f1 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1648.yml @@ -0,0 +1,4 @@ +author: "Sprites: axietheaxolotl Code: VioletN" +delete-after: True +changes: + - image: "Added three new selectable \"rat queen\" skins to the royal rat." \ No newline at end of file From 8fdbf8ac7a2f69a74289a75024a0a4de5aa73f55 Mon Sep 17 00:00:00 2001 From: Icarus-The-Sun <119832971+Icarus-The-Sun@users.noreply.github.com> Date: Sun, 23 Jun 2024 00:39:10 -0400 Subject: [PATCH 16/30] Adds Departmental Guards to the protected pool. (#1674) ## About The Pull Request Adds Departmental Guards to the Protected Pool for antag rolls, meaning they cannot become an antagonist like any other member of security (They can of course roll obsessed). Tested locally with the create antagonist function. ## Why It's Good For The Game Makes all of security and departmental guards follow the same internal 'ruleset', as well as follows the old results of this poll, assuming that departmental guards being antagonists has not been an overlooked bug. https://discord.com/channels/1059199070016655462/1064014401172160542/1241791239133855784 ## Proof Of Testing ## Changelog :cl: fix: Prevents Departmental Guards from rolling antagonist roles. /:cl: --- .../event_defines/roleset/_antagonist_event.dm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/modular_zubbers/code/modules/storyteller/event_defines/roleset/_antagonist_event.dm b/modular_zubbers/code/modules/storyteller/event_defines/roleset/_antagonist_event.dm index 88c90abc1db5e..ef9ab7179c01e 100644 --- a/modular_zubbers/code/modules/storyteller/event_defines/roleset/_antagonist_event.dm +++ b/modular_zubbers/code/modules/storyteller/event_defines/roleset/_antagonist_event.dm @@ -22,7 +22,15 @@ JOB_CORRECTIONS_OFFICER, JOB_PRISONER, JOB_SECURITY_MEDIC, + + // Department Guards-Additional + JOB_BOUNCER, + JOB_ORDERLY, + JOB_CUSTOMS_AGENT, + JOB_ENGINEERING_GUARD, + JOB_SCIENCE_GUARD, ) + /// Restricted roles from the antag roll var/restricted_roles = list(JOB_AI, JOB_CYBORG) From 043d41136472c8366a6ba2e8d54c17f9b89a68d6 Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Sun, 23 Jun 2024 06:43:27 +0200 Subject: [PATCH 17/30] Automatic changelog for PR #1674 [ci skip] --- html/changelogs/AutoChangeLog-pr-1674.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1674.yml diff --git a/html/changelogs/AutoChangeLog-pr-1674.yml b/html/changelogs/AutoChangeLog-pr-1674.yml new file mode 100644 index 0000000000000..372a58f593a62 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1674.yml @@ -0,0 +1,4 @@ +author: "Icarus-The-Sun" +delete-after: True +changes: + - bugfix: "Prevents Departmental Guards from rolling antagonist roles." \ No newline at end of file From 7c04302e4b5208faccdc3e57e121a2c8dc68d635 Mon Sep 17 00:00:00 2001 From: Sebastionate <51052308+Sebastionate@users.noreply.github.com> Date: Sun, 23 Jun 2024 13:29:41 -0500 Subject: [PATCH 18/30] Add Chief Screws Plush (#1676) ## About The Pull Request This PR adds a new plushie of one of our beloved Bubberbros, Steals-The-Screwdriver. It adds a sprite-icon and object file to the zubber modular ## Why It's Good For The Game Personally I made this as an experiment with code, spriting, and BYOND Dream Maker testing. Besides that, Screws is a popular character and having a plushie of them is a wonderful Quality of life addition to Bubber. ## Proof Of Testing https://cdn.discordapp.com/attachments/734581723937112115/1254283661294047262/image.png?ex=6678ee30&is=66779cb0&hm=70df8bbcd69a0dd743ab94c7853cbb0c3b05c8fb2fc30b78b04554e6e2f5de9b& https://cdn.discordapp.com/attachments/734581723937112115/1254283790919012362/image.png?ex=6678ee4f&is=66779ccf&hm=9b6ef39a084dda201fefa3de537655e1f879d15fd6b52d036e67dd0899934e31& https://cdn.discordapp.com/attachments/734581723937112115/1254284198160764978/image.png?ex=6678eeb0&is=66779d30&hm=35e1b155c8842433382f7e7645f31fadd440ee970f5db2ef38a7bfc602372e8e& NOTE: The sprite has been cleaned up a bit of the whiteness around its horns since tested, and the 'bops' verb has been removed. ## Changelog :cl: Rathen Ivanov add: Added Employee Of The Month Special "Chief Screws Plush" for your use and carrying! /:cl: --- .../code/game/objects/items/plushes.dm | 10 ++++++++++ modular_zubbers/icons/obj/toys/plushes.dmi | Bin 44204 -> 45561 bytes 2 files changed, 10 insertions(+) diff --git a/modular_zubbers/code/game/objects/items/plushes.dm b/modular_zubbers/code/game/objects/items/plushes.dm index 96b9b255c1cda..c3b6d23c11993 100644 --- a/modular_zubbers/code/game/objects/items/plushes.dm +++ b/modular_zubbers/code/game/objects/items/plushes.dm @@ -143,3 +143,13 @@ attack_verb_continuous = list("shoots (and misses)", "batongs", "annoys", "harmbatons", "magdumps") attack_verb_simple = list("shot (and missed)", "batong", "annoy", "harmbaton", "magdump") squeak_override = list('sound/weapons/gun/general/bolt_rack.ogg' = 1) + +/obj/item/toy/plush/cescrewsplush + name = "Chief Screws Plush" //Plush for Steals The Screwdriver/SteamStucKobold, sprited by stickygoat. and Amorbis + desc = "An adorable blue Lizard plushie wearing a Chief Engineer's Uniform, Rocket Boots, and Meson Goggles. It has a strange, silicone pocket on its underside..." + icon = 'modular_zubbers/icons/obj/toys/plushes.dmi' + icon_state = "cescrewsplush" + attack_verb_continuous = list("slaps", "plaps", "smears") + attack_verb_simple = list("slap", "plap", "smear") + gender = FEMALE + squeak_override = list('sound/misc/soggy.ogg'=1) diff --git a/modular_zubbers/icons/obj/toys/plushes.dmi b/modular_zubbers/icons/obj/toys/plushes.dmi index cdbf43fb0e6918f6284a9259cd596ed6ca546448..806d4c6ab5644ea645d94c4f8d6c77b9d75442ef 100644 GIT binary patch delta 6561 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 T_~cLq00000NkvXXu0mjf*qjR~ delta 5193 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 Date: Sun, 23 Jun 2024 20:30:07 +0200 Subject: [PATCH 19/30] Automatic changelog for PR #1676 [ci skip] --- html/changelogs/AutoChangeLog-pr-1676.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1676.yml diff --git a/html/changelogs/AutoChangeLog-pr-1676.yml b/html/changelogs/AutoChangeLog-pr-1676.yml new file mode 100644 index 0000000000000..babbbaedff31f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1676.yml @@ -0,0 +1,4 @@ +author: "Rathen Ivanov" +delete-after: True +changes: + - rscadd: "Added Employee Of The Month Special \"Chief Screws Plush\" for your use and carrying!" \ No newline at end of file From 41fab714023caddb2509453685c85697192e2822 Mon Sep 17 00:00:00 2001 From: Cursor <102828457+theselfish@users.noreply.github.com> Date: Mon, 24 Jun 2024 18:08:47 +0100 Subject: [PATCH 20/30] Unlocks the Outlast stuff, gives it to vendors. (#1673) ## About The Pull Request ![image](https://github.com/Bubberstation/Bubberstation/assets/102828457/e3a0d886-6011-4b8f-b9c6-2c8286b4b94d) ![image](https://github.com/Bubberstation/Bubberstation/assets/102828457/b7346dd7-085b-4ed7-aae6-1722050c2aaf) ## Why It's Good For The Game These items were already in the game, but barely anyone uses them. I made the Medical ones subtypes of Medical gear so they aren't a downgrade, and left the previous ones as items usable by everyone. The leather apron especially. Part of my 'stop making items loadout exclusive' push. ## Proof Of Testing ## Changelog :cl: add: The Outlast items are no longer stuck in Loadout hell, yay! /:cl: --------- Co-authored-by: Cyprex <35031555+Cyprex@users.noreply.github.com> --- .../code/modules/clothing/outfits/outlast.dm | 33 ++++++++++++++----- .../loadout_items/loadout_datum_glasses.dm | 8 +++-- .../loadout_items/loadout_datum_gloves.dm | 6 +++- .../loadout_items/loadout_datum_suit.dm | 19 +++++------ .../code/modules/vending/wardrobe.dm | 10 ++++++ 5 files changed, 54 insertions(+), 22 deletions(-) diff --git a/modular_zubbers/code/modules/clothing/outfits/outlast.dm b/modular_zubbers/code/modules/clothing/outfits/outlast.dm index 7e7616fb57b4e..6f6b9db89f6cc 100644 --- a/modular_zubbers/code/modules/clothing/outfits/outlast.dm +++ b/modular_zubbers/code/modules/clothing/outfits/outlast.dm @@ -1,5 +1,5 @@ /obj/item/clothing/suit/leatherapron //Sprite by pacertest on discord - name = "Leather Apron" + name = "leather apron" desc = "A somewhat sterile apron made from thick leather, perfect for sawing limbs off without getting your uniform bloody." icon = 'modular_zubbers/icons/obj/clothing/outlast.dmi' worn_icon = 'modular_zubbers/icons/mob/clothing/outlast.dmi' @@ -20,20 +20,35 @@ /obj/item/surgical_drapes, /obj/item/storage/pill_bottle, /obj/item/tank/internals/emergency_oxygen, + /obj/item/forging/hammer, + /obj/item/forging/tongs, + /obj/item/forging/billow, ) -/obj/item/clothing/glasses/surgerygoggles //Sprite by pacertest on discord - name = "Surgery Goggles" + +/obj/item/clothing/glasses/hud/health/surgerygoggles //Sprite by pacertest on discord + name = "surgery goggles" desc = "A pair of goggles worn to protect the eyes from viscera flying off a patient, a wonderful development in medical technology." icon = 'modular_zubbers/icons/obj/clothing/outlast.dmi' worn_icon = 'modular_zubbers/icons/mob/clothing/outlast.dmi' icon_state = "surgerygoggles" -/obj/item/clothing/gloves/longrubbergloves //Sprite by pacertest on discord - name = "Long Rubber Gloves" + +/obj/item/clothing/glasses/surgerygoggles //Sprite by pacertest on discord + name = "recovery goggles" + desc = "Like biker goggles, but creepier!" + icon = 'modular_zubbers/icons/obj/clothing/outlast.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/outlast.dmi' + icon_state = "surgerygoggles" + +/obj/item/clothing/gloves/latex/nitrile/longrubbergloves //Sprite by pacertest on discord + name = "long rubber medical gloves" desc = "Pricy somewhat sterile gloves that are thicker than latex, these ones extend almost past the elbow. Excellent grip ensures very fast carrying of patients along with the faster use time of various chemical related items." icon = 'modular_zubbers/icons/obj/clothing/outlast.dmi' worn_icon = 'modular_zubbers/icons/mob/clothing/outlast.dmi' icon_state = "longrubber" - clothing_traits = list( - TRAIT_QUICKER_CARRY, - TRAIT_FASTMED - ) + +/obj/item/clothing/gloves/longrubbergloves //Sprite by pacertest on discord + name = "long rubber gloves" + desc = "Not as rewarding as the hurting, sadly." + icon = 'modular_zubbers/icons/obj/clothing/outlast.dmi' + worn_icon = 'modular_zubbers/icons/mob/clothing/outlast.dmi' + icon_state = "longrubber" diff --git a/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_glasses.dm b/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_glasses.dm index 40be21c53bc3e..e4e0e11de3e60 100644 --- a/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_glasses.dm +++ b/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_glasses.dm @@ -4,6 +4,10 @@ ckeywhitelist = list("thedragmeme") /datum/loadout_item/glasses/surgerygoggles - name = "Surgery Goggles" + name = "Recovery Goggles" item_path = /obj/item/clothing/glasses/surgerygoggles - restricted_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER) + +/datum/loadout_item/glasses/surgerygoggles/med + name = "Surgery Goggles" + item_path = /obj/item/clothing/glasses/hud/health/surgerygoggles + restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER) diff --git a/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_gloves.dm b/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_gloves.dm index a06428bf9390c..d6cf9dab45fe1 100644 --- a/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_gloves.dm +++ b/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_gloves.dm @@ -10,7 +10,11 @@ /datum/loadout_item/gloves/rubber_gloves name = "Long Rubber Gloves" item_path = /obj/item/clothing/gloves/longrubbergloves - restricted_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER) + +/datum/loadout_item/gloves/rubber_gloves/med + name = "Long Rubber Medical Gloves" + item_path = /obj/item/clothing/gloves/latex/nitrile/longrubbergloves + restricted_roles = list(JOB_MEDICAL_DOCTOR, JOB_CHIEF_MEDICAL_OFFICER, JOB_GENETICIST, JOB_CHEMIST, JOB_PARAMEDIC, JOB_ORDERLY, JOB_CORONER) /datum/loadout_item/gloves/tactical_maid //Donor item for skyefree name = "Tactical Maid Gloves" diff --git a/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_suit.dm b/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_suit.dm index 21871d6b19df4..bdb944f227e8e 100644 --- a/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_suit.dm +++ b/modular_zubbers/code/modules/loadouts/loadout_items/loadout_datum_suit.dm @@ -1,3 +1,12 @@ +/datum/loadout_item/suit/secjacket + name = "High-Vis Security Jacket" + item_path = /obj/item/clothing/suit/armor/vest/secjacket/blue + restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER) + +/datum/loadout_item/suit/leather_apron + name = "Leather Apron" + item_path = /obj/item/clothing/suit/leatherapron + //Donator items V V V /datum/loadout_item/suit/runner_engi @@ -20,16 +29,6 @@ item_path = /obj/item/clothing/suit/cloak/shawl ckeywhitelist = list("thedragmeme") -/datum/loadout_item/suit/secjacket - name = "High-Vis Security Jacket" - item_path = /obj/item/clothing/suit/armor/vest/secjacket/blue - restricted_roles = list(JOB_WARDEN, JOB_DETECTIVE, JOB_SECURITY_OFFICER, JOB_HEAD_OF_SECURITY, JOB_CORRECTIONS_OFFICER) - -/datum/loadout_item/suit/leather_apron - name = "Leather Apron" - item_path = /obj/item/clothing/suit/leatherapron - restricted_roles = list(JOB_MEDICAL_DOCTOR,JOB_CHIEF_MEDICAL_OFFICER) - /datum/loadout_item/suit/collared_vest name = "Collared Vest" item_path = /obj/item/clothing/suit/armor/vest/collared_vest diff --git a/modular_zubbers/code/modules/vending/wardrobe.dm b/modular_zubbers/code/modules/vending/wardrobe.dm index b3defefa10ebe..edacc281f2600 100644 --- a/modular_zubbers/code/modules/vending/wardrobe.dm +++ b/modular_zubbers/code/modules/vending/wardrobe.dm @@ -13,8 +13,18 @@ /obj/item/clothing/head/costume/bubber/jester = 3, /obj/item/clothing/under/rank/civilian/bubber/clown/jester = 3, /obj/item/clothing/shoes/clown_shoes/bubber/jester = 3, + /obj/item/clothing/glasses/surgerygoggles = 3, + /obj/item/clothing/gloves/longrubbergloves = 3, + /obj/item/clothing/suit/leatherapron = 3, ), ), ) +/obj/machinery/vending/wardrobe/medi_wardrobe + zubbers_products = list( + + /obj/item/clothing/glasses/hud/health/surgerygoggles = 3, + /obj/item/clothing/gloves/latex/nitrile/longrubbergloves = 3, + /obj/item/clothing/suit/leatherapron = 3, + ) From c3c501cd4b3304dbde7578f998e4e798503e711a Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Mon, 24 Jun 2024 19:22:39 +0200 Subject: [PATCH 21/30] Automatic changelog for PR #1673 [ci skip] --- html/changelogs/AutoChangeLog-pr-1673.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1673.yml diff --git a/html/changelogs/AutoChangeLog-pr-1673.yml b/html/changelogs/AutoChangeLog-pr-1673.yml new file mode 100644 index 0000000000000..a4eee49786c5f --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1673.yml @@ -0,0 +1,4 @@ +author: "theselfish" +delete-after: True +changes: + - rscadd: "The Outlast items are no longer stuck in Loadout hell, yay!" \ No newline at end of file From e9719649da2ce2c1ff7fe798207589f95650f528 Mon Sep 17 00:00:00 2001 From: Cursor <102828457+theselfish@users.noreply.github.com> Date: Mon, 24 Jun 2024 19:16:26 +0100 Subject: [PATCH 22/30] Updates and Adds Missing Items to Multisec vendor (#1670) ## About The Pull Request Aeri mentioned the Battledress wasn't in the Multisec Vendor. I then went insane and checked every clothing file for unadded Sec Items (barring Donator stuff that's another pipeline). And a few unadded to anything items. And a few near impossible to obtains. I also made the multivendor not black. I'm not a spriter, so it's just a mishmash. ## Why It's Good For The Game Items shouldn't be locked to the Loadout. ## Proof Of Testing
    Screenshots/Videos ![image](https://github.com/Bubberstation/Bubberstation/assets/102828457/5663704a-fd7f-4660-8bce-968fd0206454) ![image](https://github.com/Bubberstation/Bubberstation/assets/102828457/b5e1f225-9aed-41b2-891c-6f5e7bad6e32) ![image](https://github.com/Bubberstation/Bubberstation/assets/102828457/31111e12-941d-4861-a623-1d75ed5e1399) ![image](https://github.com/Bubberstation/Bubberstation/assets/102828457/5554c5b2-7d94-4f53-8cf9-c9f633e90b07) ![image](https://github.com/Bubberstation/Bubberstation/assets/102828457/290f3e0f-033a-4fda-87ff-ad389308f024)
    ## Changelog :cl: add: Added some unused clothing items to the MultiSec Vendor. Perhaps you can find them if you're savvy enough with a Multitool. fix: Fixed a few missing items not being in the MultiSec Vendor. Also removed a duplicate item. image: New Multisec Vendor sprite. Two-Face edition. /:cl: --------- Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com> --- .../code/game/machinery/vending/multisec.dm | 49 +++++++++++++++++- .../code/game/machinery/vending/multisec.dmi | Bin 2559 -> 0 bytes .../icons/obj/machines/multisec.dmi | Bin 0 -> 2592 bytes 3 files changed, 47 insertions(+), 2 deletions(-) delete mode 100644 modular_zubbers/code/game/machinery/vending/multisec.dmi create mode 100644 modular_zubbers/icons/obj/machines/multisec.dmi diff --git a/modular_zubbers/code/game/machinery/vending/multisec.dm b/modular_zubbers/code/game/machinery/vending/multisec.dm index 91d4156655e3d..ff350ba559428 100644 --- a/modular_zubbers/code/game/machinery/vending/multisec.dm +++ b/modular_zubbers/code/game/machinery/vending/multisec.dm @@ -1,7 +1,7 @@ /obj/machinery/vending/wardrobe/sec_wardrobe name = "\improper MultiSec Outfitting Station" desc = "A vending machine stocked with a multitude of security outfits, including standardized uniforms in multiple colors and general equipment. Now with more Multi!" - icon = 'modular_zubbers/code/game/machinery/vending/multisec.dmi' + icon = 'modular_zubbers/icons/obj/machines/multisec.dmi' icon_state = "multisec" light_mask = null products = list() // Overriding this to the default to prevent any issues when building the product menu @@ -23,6 +23,11 @@ /obj/item/clothing/under/rank/security/officer = 10, /obj/item/clothing/under/rank/security/officer/skirt/blue = 10, /obj/item/clothing/under/rank/security/peacekeeper = 10, + /obj/item/clothing/under/rank/security/peacekeeper/skirt = 10, + /obj/item/clothing/under/rank/security/peacekeeper/shortskirt = 10, + /obj/item/clothing/under/rank/security/peacekeeper/miniskirt = 10, + /obj/item/clothing/under/rank/security/peacekeeper/trousers = 5, + /obj/item/clothing/under/rank/security/peacekeeper/trousers/shorts = 5, /obj/item/clothing/under/rank/security/skyrat/utility = 6, /obj/item/clothing/shoes/jackboots/sec = 10, /obj/item/clothing/head/security_garrison = 10, @@ -43,16 +48,23 @@ /obj/item/storage/backpack/satchel/sec/redsec = 6, /obj/item/storage/backpack/duffelbag/sec/redsec = 6, /obj/item/clothing/under/rank/security/officer/redsec = 6, + /obj/item/clothing/under/rank/security/peacekeeper/armadyne = 6, + /obj/item/clothing/under/rank/security/peacekeeper/armadyne/tactical = 6, /obj/item/clothing/shoes/jackboots = 6, + /obj/item/clothing/shoes/jackboots/peacekeeper/armadyne = 6, /obj/item/clothing/head/beret/sec = 6, + /obj/item/clothing/head/beret/sec/peacekeeper/armadyne = 6, /obj/item/clothing/head/soft/sec = 6, /obj/item/clothing/head/beaniesec = 6, /obj/item/clothing/mask/bandana/red = 6, /obj/item/clothing/gloves/color/black = 6, + /obj/item/clothing/gloves/combat/peacekeeper/armadyne = 6, /obj/item/clothing/under/rank/security/officer/skirt = 6, /obj/item/clothing/under/rank/security/skyrat/utility/redsec = 6, /obj/item/clothing/suit/toggle/jacket/sec/old = 6, /obj/item/clothing/suit/armor/vest/secjacket = 6, + /obj/item/clothing/suit/armor/vest/peacekeeper/armadyne = 6, + /obj/item/clothing/suit/armor/vest/peacekeeper/armadyne/armor = 6, ), ), list( @@ -77,12 +89,45 @@ /obj/item/clothing/head/beret/sec/navyofficer = 6, /obj/item/clothing/under/rank/security/officer/formal = 6, /obj/item/clothing/suit/jacket/officer/tan = 6, - /obj/item/clothing/head/beret/sec/navyofficer = 6, /obj/item/clothing/head/helmet/metrocophelmet = 6, /obj/item/clothing/suit/armor/metrocop = 6, /obj/item/clothing/suit/armor/metrocopriot = 6, + /obj/item/clothing/accessory/badge/holo = 10, //I know there's a box of them but, why not have more, eh? + /obj/item/clothing/accessory/badge/holo/cord = 10, + /obj/item/clothing/head/helmet/blueshirt = 3, + /obj/item/clothing/suit/armor/vest/blueshirt = 3, ) + +//CONTRABAND: Basically for less serious/hard to cat stuff like the Cowboy and Bluecoat stuff. And for stuff that shouldn't be easy to get like HUD varients. + + + contraband = list( + /obj/item/clothing/under/colonial/nri_police = 3, + /obj/item/clothing/suit/british_officer = 3, + /obj/item/clothing/head/cowboy/skyrat/cattleman/sec = 3, + /obj/item/clothing/head/cowboy/skyrat/cattleman/wide/sec = 3, + /obj/item/clothing/head/fedora/det_hat/cybergoggles = 3, + /obj/item/clothing/glasses/hud/eyepatch/sec = 3, //No flash protection on the eyepatches, so they're worse than the sunnies. + /obj/item/clothing/glasses/hud/eyepatch/sec/blindfold = 3, //Ditto + /obj/item/clothing/glasses/hud/ar/aviator/security = 3, //Printable, but you have to choose between HUD and flash protection. + /obj/item/clothing/glasses/hud/ar/projector/security = 3, + /obj/item/clothing/mask/gas/sechailer/half_mask = 3, + /obj/item/clothing/under/rank/prisoner/classic = 6, //To be given to Prisoners. + /obj/item/clothing/head/hats/caphat/parade/fedcap/sec = 3, + /obj/item/clothing/suit/fedcoat/modern/sec = 3, + /obj/item/clothing/mask/gas/soviet = 3, + /obj/item/clothing/mask/gas/german = 3, //As far as I can tell, this is nowhere else in the game. + /obj/item/clothing/under/rank/security/corrections_officer = 2, //If, or more likely when the Brig Officers abandon them, you can now get 'em here! Yay! Wahoo! + /obj/item/clothing/under/rank/security/corrections_officer/skirt = 2, + /obj/item/clothing/under/rank/security/corrections_officer/sweater = 2, + /obj/item/clothing/under/rank/security/corrections_officer/sweater/skirt = 2, + /obj/item/clothing/suit/toggle/jacket/corrections_officer = 2, + /obj/item/clothing/head/soft/veteran = 1, + /obj/item/clothing/head/helmet/toggleable/justice = 1, //More than one of these in the Vendor and they'll get annoying fast. Hence why Justice2 isn't here. + ) + payment_department = ACCOUNT_SEC + /obj/item/vending_refill/wardrobe/sec_wardrobe machine_name = "MultiSec Outfitting Station" diff --git a/modular_zubbers/code/game/machinery/vending/multisec.dmi b/modular_zubbers/code/game/machinery/vending/multisec.dmi deleted file mode 100644 index 1dabaf397fe4d413de6392ed6b1a9def0381526e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2559 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 Date: Mon, 24 Jun 2024 20:25:02 +0200 Subject: [PATCH 23/30] Automatic changelog for PR #1670 [ci skip] --- html/changelogs/AutoChangeLog-pr-1670.yml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1670.yml diff --git a/html/changelogs/AutoChangeLog-pr-1670.yml b/html/changelogs/AutoChangeLog-pr-1670.yml new file mode 100644 index 0000000000000..ca06734c1e2af --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1670.yml @@ -0,0 +1,6 @@ +author: "theselfish" +delete-after: True +changes: + - rscadd: "Added some unused clothing items to the MultiSec Vendor. Perhaps you can find them if you're savvy enough with a Multitool." + - bugfix: "Fixed a few missing items not being in the MultiSec Vendor. Also removed a duplicate item." + - image: "New Multisec Vendor sprite. Two-Face edition." \ No newline at end of file From 65978c9a4f2a35520e05da317cca96ebfc46033a Mon Sep 17 00:00:00 2001 From: Shroopy <46693163+Shroopy@users.noreply.github.com> Date: Tue, 25 Jun 2024 02:15:06 -0700 Subject: [PATCH 24/30] Fixes copy-paste error in character_directory.dm (#1680) ## About The Pull Request Changes a duplicate of `/datum/preference/choiced/scalie_pref/create_default_value()` in character_directory.dm to `/datum/preference/choiced/other_pref/create_default_value()`, which is missing ## Why It's Good For The Game Good code is good :3 ## Proof Of Testing It compiles ## Changelog :cl: fix: fixed a copy-paste error in character_directory.dm /:cl: --------- Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com> --- .../code/modules/client/verbs/character_directory.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modular_zubbers/code/modules/client/verbs/character_directory.dm b/modular_zubbers/code/modules/client/verbs/character_directory.dm index ed184dba3c810..3e09e614d72f6 100644 --- a/modular_zubbers/code/modules/client/verbs/character_directory.dm +++ b/modular_zubbers/code/modules/client/verbs/character_directory.dm @@ -119,7 +119,7 @@ GLOBAL_DATUM(character_directory, /datum/character_directory) /datum/preference/choiced/other_pref/apply_to_human(mob/living/carbon/human/target, value, datum/preferences/preferences) return FALSE -/datum/preference/choiced/scalie_pref/create_default_value() +/datum/preference/choiced/other_pref/create_default_value() return "Unset" /datum/preference/choiced/demihuman_pref From 0426f99a5cf14a6c06d6a3015d13ea44c192e7ab Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Tue, 25 Jun 2024 11:15:49 +0200 Subject: [PATCH 25/30] Automatic changelog for PR #1680 [ci skip] --- html/changelogs/AutoChangeLog-pr-1680.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1680.yml diff --git a/html/changelogs/AutoChangeLog-pr-1680.yml b/html/changelogs/AutoChangeLog-pr-1680.yml new file mode 100644 index 0000000000000..1983742013002 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1680.yml @@ -0,0 +1,4 @@ +author: "Shroopy" +delete-after: True +changes: + - bugfix: "fixed a copy-paste error in character_directory.dm" \ No newline at end of file From 6c3404fa79cebdee3c5c3ff21e71e46fac2ea24e Mon Sep 17 00:00:00 2001 From: codehonky <168614353+codehonky@users.noreply.github.com> Date: Tue, 25 Jun 2024 05:59:16 -0400 Subject: [PATCH 26/30] Bluespace Experi-Scanner (#1525) ## About The Pull Request Adds a bluespace experi-scanner to the game which unlocks with the Applied Bluespace tech node and can perform experiments instantly and from range. ## Why It's Good For The Game The first thirty minutes of science gameplay in a shift is typically the exact same grindfest, and any roleplay from asking departments to open for early upgrades/experiment scans loses all glamour after the first few times a scientist performs it. The alternative to walking around with a bluespace scanner is just building copies of the machines for experiments in science anyway, which still lacks roleplay. QoL change for science that encourages walking outside the department more without counterhopping and allows it to engage in roleplay shticks sooner. ## Proof Of Testing I ran and tested it locally. ## Changelog :cl: add: Added new bluespace experi-scanner. image: Added a simple reskin of the experi-scanner for the bluespace variant. /:cl: --------- Co-authored-by: Waterpig <49160555+Majkl-J@users.noreply.github.com> Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com> --- code/__DEFINES/~~bubber_defines/experisci.dm | 2 ++ .../experiment/handlers/experiment_handler.dm | 4 ++++ .../experiment/handlers/experiment_handler.dm | 11 ++++++++++ .../modules/experisci/handheld_scanner.dm | 19 ++++++++++++++++++ .../research/designs/experisci_designs.dm | 11 ++++++++++ .../modules/research/techweb/all_nodes.dm | 6 ++++++ .../mob/inhands/items/devices_lefthand.dmi | Bin 0 -> 357 bytes .../mob/inhands/items/devices_righthand.dmi | Bin 0 -> 366 bytes modular_zubbers/icons/obj/devices/scanner.dmi | Bin 0 -> 630 bytes tgstation.dme | 4 ++++ 10 files changed, 57 insertions(+) create mode 100644 code/__DEFINES/~~bubber_defines/experisci.dm create mode 100644 modular_zubbers/code/modules/experisci/experiment/handlers/experiment_handler.dm create mode 100644 modular_zubbers/code/modules/experisci/handheld_scanner.dm create mode 100644 modular_zubbers/code/modules/research/designs/experisci_designs.dm create mode 100644 modular_zubbers/icons/mob/inhands/items/devices_lefthand.dmi create mode 100644 modular_zubbers/icons/mob/inhands/items/devices_righthand.dmi create mode 100644 modular_zubbers/icons/obj/devices/scanner.dmi diff --git a/code/__DEFINES/~~bubber_defines/experisci.dm b/code/__DEFINES/~~bubber_defines/experisci.dm new file mode 100644 index 0000000000000..46f4bfc3f116b --- /dev/null +++ b/code/__DEFINES/~~bubber_defines/experisci.dm @@ -0,0 +1,2 @@ +/// Experiment handlers with this flag will bypass the proximity flag check when trying to scan something +#define EXPERIMENT_CONFIG_WORKS_FROM_RANGE (1 << 4) diff --git a/code/modules/experisci/experiment/handlers/experiment_handler.dm b/code/modules/experisci/experiment/handlers/experiment_handler.dm index b153c5157ea4f..ab974ffc5d0f8 100644 --- a/code/modules/experisci/experiment/handlers/experiment_handler.dm +++ b/code/modules/experisci/experiment/handlers/experiment_handler.dm @@ -132,6 +132,10 @@ if(!(config_flags & EXPERIMENT_CONFIG_IMMEDIATE_ACTION) && !do_after(user, 1 SECONDS * skill_modifier, target = target)) //SKYRAT EDIT: Research Skill (simple research) return if(action_experiment(source, target)) + // BUBBERSTATION EDIT START + if (config_flags && EXPERIMENT_CONFIG_WORKS_FROM_RANGE) + user.Beam(target, icon_state = "rped_upgrade", time = 0.5 SECONDS) + // BUBBERSTATION EDIT END playsound(user, 'sound/machines/ping.ogg', 25) to_chat(user, span_notice("You scan [target].")) user.mind.adjust_experience(/datum/skill/research, 5) //SKYRAT EDIT: Research Skill (simple research) diff --git a/modular_zubbers/code/modules/experisci/experiment/handlers/experiment_handler.dm b/modular_zubbers/code/modules/experisci/experiment/handlers/experiment_handler.dm new file mode 100644 index 0000000000000..d3cf846594ab0 --- /dev/null +++ b/modular_zubbers/code/modules/experisci/experiment/handlers/experiment_handler.dm @@ -0,0 +1,11 @@ +/datum/component/experiment_handler/proc/bs_ignored_handheld_experiment_attempt(datum/source, atom/target, mob/user, proximity_flag, params) + SIGNAL_HANDLER + if ((isnull(selected_experiment) && !(config_flags & EXPERIMENT_CONFIG_ALWAYS_ACTIVE)) || config_flags & EXPERIMENT_CONFIG_SILENT_FAIL) + return . + bs_try_run_handheld_experiment(source, target, user, params) + . |= COMPONENT_AFTERATTACK_PROCESSED_ITEM + return . + +/datum/component/experiment_handler/proc/bs_try_run_handheld_experiment(datum/source, atom/target, mob/user, params) + INVOKE_ASYNC(src, PROC_REF(try_run_handheld_experiment_async), source, target, user) + return COMPONENT_CANCEL_ATTACK_CHAIN diff --git a/modular_zubbers/code/modules/experisci/handheld_scanner.dm b/modular_zubbers/code/modules/experisci/handheld_scanner.dm new file mode 100644 index 0000000000000..a52b7528cccd5 --- /dev/null +++ b/modular_zubbers/code/modules/experisci/handheld_scanner.dm @@ -0,0 +1,19 @@ +/obj/item/experi_scanner/bluespace + name = "Bluespace Experi-Scanner" + desc = "A version of the handheld scanner used for completing the endless experiments of modern science from range." + icon = 'modular_zubbers/icons/obj/devices/scanner.dmi' + icon_state = "bs_experiscanner" + lefthand_file = 'modular_zubbers/icons/mob/inhands/items/devices_lefthand.dmi' + righthand_file = 'modular_zubbers/icons/mob/inhands/items/devices_righthand.dmi' + +/obj/item/experi_scanner/bluespace/LateInitialize() + var/static/list/handheld_signals = list( + COMSIG_ITEM_PRE_ATTACK = TYPE_PROC_REF(/datum/component/experiment_handler, try_run_handheld_experiment), + COMSIG_ITEM_AFTERATTACK = TYPE_PROC_REF(/datum/component/experiment_handler, bs_ignored_handheld_experiment_attempt), + ) + AddComponent(/datum/component/experiment_handler, \ + allowed_experiments = list(/datum/experiment/scanning, /datum/experiment/physical), \ + disallowed_traits = EXPERIMENT_TRAIT_DESTRUCTIVE, \ + config_flags = EXPERIMENT_CONFIG_IMMEDIATE_ACTION|EXPERIMENT_CONFIG_WORKS_FROM_RANGE, \ + experiment_signals = handheld_signals, \ + ) diff --git a/modular_zubbers/code/modules/research/designs/experisci_designs.dm b/modular_zubbers/code/modules/research/designs/experisci_designs.dm new file mode 100644 index 0000000000000..a3932149f39d4 --- /dev/null +++ b/modular_zubbers/code/modules/research/designs/experisci_designs.dm @@ -0,0 +1,11 @@ +/datum/design/experi_scanner/bluespace + name = "Bluespace Experimental Scanner" + desc = "A version of the experiment scanner that allows for performing experiment scans from a distance." + id = "bs_experi_scanner" + build_type = PROTOLATHE | AWAY_LATHE + materials = list(/datum/material/iron = SHEET_MATERIAL_AMOUNT*7.5, /datum/material/glass =SHEET_MATERIAL_AMOUNT * 2.5, /datum/material/silver = HALF_SHEET_MATERIAL_AMOUNT*2.5) + build_path = /obj/item/experi_scanner/bluespace + category = list( + RND_CATEGORY_EQUIPMENT + RND_SUBCATEGORY_EQUIPMENT_SCIENCE + ) + departmental_flags = DEPARTMENT_BITFLAG_SCIENCE diff --git a/modular_zubbers/code/modules/research/techweb/all_nodes.dm b/modular_zubbers/code/modules/research/techweb/all_nodes.dm index 9f91f089fdff6..93f4ec9364da3 100644 --- a/modular_zubbers/code/modules/research/techweb/all_nodes.dm +++ b/modular_zubbers/code/modules/research/techweb/all_nodes.dm @@ -12,6 +12,12 @@ research_costs = list(TECHWEB_POINT_TYPE_GENERIC = 1000) required_experiments = list(/datum/experiment/scanning/random/plants/wild) +/datum/techweb_node/practical_bluespace/New() + . = ..() + design_ids += list( + "bs_experi_scanner", + ) + /datum/techweb_node/ai_adv/New() . = ..() design_ids += list( diff --git a/modular_zubbers/icons/mob/inhands/items/devices_lefthand.dmi b/modular_zubbers/icons/mob/inhands/items/devices_lefthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..f6aae4ec1cb75bbd240bcb584bfa781710f04533 GIT binary patch literal 357 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|ei2$DvS0L?d=W1YJpr@zD&Bd#) zZ7eA%>ErEtL+G9kP>!)A$S;_|;n|HeAg8n{B%;J6wK%ybv!En1KaYW-Voq>aK~d@V zFTn*Lzdq6O*3~+9=6vvmP=kxc4<6~9_t8AbP}I}A!@@Yo__DE=!kkBwj!X(s2-aL_ zVYhXW!d8vV7M6zk`dd9ZyNy*huaHxw*Q!avZ*JL0~qMm}8(|2%A(wXi#vgLC;yA zjk6|9o7Qy7fqmga#*Cgo11>j4Sq5dTcEQ+rkrF#^2#ATf>AOlW%TB21Yto1jFz|Cb yclqFo7y%D&=WCDJPO&y#2uhLD)+%4Y%;22IuYN=N!AhVj7(8A5T-G@yGywpPM0i{P literal 0 HcmV?d00001 diff --git a/modular_zubbers/icons/mob/inhands/items/devices_righthand.dmi b/modular_zubbers/icons/mob/inhands/items/devices_righthand.dmi new file mode 100644 index 0000000000000000000000000000000000000000..00d78d33add772544ed7dda3471e3cf32f798a16 GIT binary patch literal 366 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0J3?w7mbKU|ei2$Dv*Z=?jJKMSH=;-L_>2Y)M z>T4TIN=o{8`ziD^&r9Atdi*h^u~qe(|5g(w7T zuC%b*x=3NG#%2pkLw)_N9-ZCBs+(6xEScYJyjH`|T=a<9lc2DIuf>eF85p)(%I#Eg z@capMK(nWdV~9s*a)Jcw;)D;3ZVE@3SQ-SFT3T9I44z8z^71b9aX;w5?!&6nv`8r+ zZ9-5G!!o9@WaD6s%euO}vpF*}H4U~dTzW%BQmXIhoj?OFH%3#&MLG>d7a4*g86HY4 z&~(t^J`fXFqCDXglfm^f5_ef#A{m}8vSwPV!@=(wZg7N=!7`1nX=y{b6VN#fp00i_ I>zopr0P<*i!2kdN literal 0 HcmV?d00001 diff --git a/modular_zubbers/icons/obj/devices/scanner.dmi b/modular_zubbers/icons/obj/devices/scanner.dmi new file mode 100644 index 0000000000000000000000000000000000000000..c66b7836abb9a85a7b96d0f979ae440e29bf8245 GIT binary patch literal 630 zcmV-+0*U>JP)`MZ00001bW%=J06^y0W&i*He|l6{ zbVOxyV{&P5bZKvH004NLQ&wu$p!427}5j(f?4 zcHNfk{oixOv?)oJNbJ|7?bxDKk-w5-6X*W*iv$3!NT{wyL?{w#34s2g;6n)YfRN?= z{Yy1~vH;jrZ31wULilhvs!sI)t7ioq4Zuslc9+iWIqi$7;gjje(9P>H1jc6;9-Vsw zP^+OHh(15F=wHkT91tZu6M5R|`(D=}UNlrZ*cyjQ0MMYJiq{v8=_vC@*a1*a&UHXd zHX#a2yuIG$^^SGIq)1-?i1f5TZ*--1lBk`CAhI{=;L|;NUPr$?fhTWi zAG-b&khB5t`8IC?e6nB{V2B-nA+`b5pycHDFO=K`_4c9Fb%%v&_y4lK0MG&tQ{-9+ Qm;e9(07*qoM6N<$f&@Dox&QzG literal 0 HcmV?d00001 diff --git a/tgstation.dme b/tgstation.dme index c0079af1d8231..2290c621cf34e 100644 --- a/tgstation.dme +++ b/tgstation.dme @@ -488,6 +488,7 @@ #include "code\__DEFINES\~~bubber_defines\colors.dm" #include "code\__DEFINES\~~bubber_defines\combat.dm" #include "code\__DEFINES\~~bubber_defines\economy.dm" +#include "code\__DEFINES\~~bubber_defines\experisci.dm" #include "code\__DEFINES\~~bubber_defines\footsteps.dm" #include "code\__DEFINES\~~bubber_defines\jobs.dm" #include "code\__DEFINES\~~bubber_defines\misc.dm" @@ -8698,6 +8699,8 @@ #include "modular_zubbers\code\modules\emp_overhaul\organ.dm" #include "modular_zubbers\code\modules\ert_overrides\modified_equipement.dm" #include "modular_zubbers\code\modules\events\ghost_role\blob.dm" +#include "modular_zubbers\code\modules\experisci\handheld_scanner.dm" +#include "modular_zubbers\code\modules\experisci\experiment\handlers\experiment_handler.dm" #include "modular_zubbers\code\modules\experisci\experiment\types\scanning_fish.dm" #include "modular_zubbers\code\modules\fishing\fishing_minigame.dm" #include "modular_zubbers\code\modules\fluff\sex_barrier.dm" @@ -8848,6 +8851,7 @@ #include "modular_zubbers\code\modules\reagents\reagent_containers\cups\glassbottle.dm" #include "modular_zubbers\code\modules\research\designs\ai_module_designs.dm" #include "modular_zubbers\code\modules\research\designs\comp_board_designs.dm" +#include "modular_zubbers\code\modules\research\designs\experisci_designs.dm" #include "modular_zubbers\code\modules\research\designs\machine_board_designs.dm" #include "modular_zubbers\code\modules\research\designs\mechfab_designs.dm" #include "modular_zubbers\code\modules\research\designs\medical_designs.dm" From 865873385fb115888f9803d545073f3a420f1cbf Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Tue, 25 Jun 2024 11:59:41 +0200 Subject: [PATCH 27/30] Automatic changelog for PR #1525 [ci skip] --- html/changelogs/AutoChangeLog-pr-1525.yml | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1525.yml diff --git a/html/changelogs/AutoChangeLog-pr-1525.yml b/html/changelogs/AutoChangeLog-pr-1525.yml new file mode 100644 index 0000000000000..a469c0d079c91 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1525.yml @@ -0,0 +1,5 @@ +author: "codehonky" +delete-after: True +changes: + - rscadd: "Added new bluespace experi-scanner." + - image: "Added a simple reskin of the experi-scanner for the bluespace variant." \ No newline at end of file From e3bc1e0caf5d80d220ec623e56d7dacf7c247dab Mon Sep 17 00:00:00 2001 From: Cursor <102828457+theselfish@users.noreply.github.com> Date: Tue, 25 Jun 2024 11:36:29 +0100 Subject: [PATCH 28/30] Makes the Rat Monarch Gender Neutral (#1682) ## About The Pull Request Title. ## Why It's Good For The Game Oversight. On TG the Rat is a King, always male. But I ported female sprites, they can be a female. And rather than actually code I thought it'd be simpler to just set their gender to neutral/they so a female rat isn't using masc pronouns and a male fem, etc, etc. ## Proof Of Testing One line. I don't know why. It doesn't even matter how hard you try. ## Changelog :cl: add: The Rat Monarch gender reveal party has been cancelled. /:cl: --- modular_zubbers/code/modules/ratqueen/regalrat.dm | 1 + 1 file changed, 1 insertion(+) diff --git a/modular_zubbers/code/modules/ratqueen/regalrat.dm b/modular_zubbers/code/modules/ratqueen/regalrat.dm index 950f0223ad8f3..57a74975ed8a8 100644 --- a/modular_zubbers/code/modules/ratqueen/regalrat.dm +++ b/modular_zubbers/code/modules/ratqueen/regalrat.dm @@ -4,6 +4,7 @@ var/datum/rat_fashion/current_look /// Press this to change your rat outfit var/datum/action/cooldown/rat_fashion/fashion_select + gender = PLURAL /mob/living/basic/regal_rat/Initialize(mapload) . = ..() From 4faf78f4daaaa4f67ef0427b2e9a8a5e8a5f47f3 Mon Sep 17 00:00:00 2001 From: Bubberbot <151680451+Bubberbot@users.noreply.github.com> Date: Tue, 25 Jun 2024 12:40:52 +0200 Subject: [PATCH 29/30] Automatic changelog for PR #1682 [ci skip] --- html/changelogs/AutoChangeLog-pr-1682.yml | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 html/changelogs/AutoChangeLog-pr-1682.yml diff --git a/html/changelogs/AutoChangeLog-pr-1682.yml b/html/changelogs/AutoChangeLog-pr-1682.yml new file mode 100644 index 0000000000000..65dcaff72c403 --- /dev/null +++ b/html/changelogs/AutoChangeLog-pr-1682.yml @@ -0,0 +1,4 @@ +author: "theselfish" +delete-after: True +changes: + - rscadd: "The Rat Monarch gender reveal party has been cancelled." \ No newline at end of file From f005da9864591e2a73e7bbd205f9a5b730c6efbc Mon Sep 17 00:00:00 2001 From: Arturlang <24881678+Arturlang@users.noreply.github.com> Date: Tue, 25 Jun 2024 22:02:22 +0300 Subject: [PATCH 30/30] fix dum linter issue by commenting out a if (#1683) --- code/modules/events/_event.dm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/code/modules/events/_event.dm b/code/modules/events/_event.dm index f4fd0e5b0e89c..e381275f29d84 100644 --- a/code/modules/events/_event.dm +++ b/code/modules/events/_event.dm @@ -104,9 +104,9 @@ triggering = TRUE // We sleep HERE, in pre-event setup (because there's no sense doing it in run_event() since the event is already running!) for the given amount of time to make an admin has enough time to cancel an event un-fitting of the present round. - if(alert_observers) - // message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name]. (
    CANCEL) (SOMETHING ELSE)") // SKYRAT EDIT REMOVAL - // sleep(RANDOM_EVENT_ADMIN_INTERVENTION_TIME) // SKYRAT EDIT REMOVAL + // if(alert_observers) + // message_admins("Random Event triggering in [DisplayTimeText(RANDOM_EVENT_ADMIN_INTERVENTION_TIME)]: [name]. (CANCEL) (SOMETHING ELSE)") // SKYRAT EDIT REMOVAL + // sleep(RANDOM_EVENT_ADMIN_INTERVENTION_TIME) // SKYRAT EDIT REMOVAL // SKYRAT EDIT ADDITION BEGIN - Event notification Makes an attention-grabbing sound, gives admins two notifications spread over RANDOM_EVENT_ADMIN_INTERVENTION_TIME instead of just the one. // BUBBER EDIT START - Only delay on roundstart