From 8f35c15c0652b13a7447e85bf2748bd65b826096 Mon Sep 17 00:00:00 2001 From: ReeZer2 <63300653+ReeZer2@users.noreply.github.com> Date: Mon, 29 Jul 2024 23:31:06 +0300 Subject: [PATCH 01/23] fix: Some minor fixes (#1467) * fix: Some minor fixes * fix fix --- Resources/Prototypes/Entities/Objects/Misc/implanters.yml | 2 +- Resources/Prototypes/Voice/speech_verbs.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Entities/Objects/Misc/implanters.yml b/Resources/Prototypes/Entities/Objects/Misc/implanters.yml index 9d5920853c89..c2936829932e 100644 --- a/Resources/Prototypes/Entities/Objects/Misc/implanters.yml +++ b/Resources/Prototypes/Entities/Objects/Misc/implanters.yml @@ -254,7 +254,7 @@ - ResearchDirector - Scientist - Borg - - label: corvax-hidden-desc-FreedomImplanter-syndicate + - label: corvax-hidden-desc-StorageImplanter-syndicate # ss220 fix whitelistMind: components: - TraitorRole diff --git a/Resources/Prototypes/Voice/speech_verbs.yml b/Resources/Prototypes/Voice/speech_verbs.yml index 0da9ab653fbe..a134ba992503 100644 --- a/Resources/Prototypes/Voice/speech_verbs.yml +++ b/Resources/Prototypes/Voice/speech_verbs.yml @@ -68,7 +68,7 @@ - chat-speech-verb-reptilian-1 - chat-speech-verb-reptilian-2 - chat-speech-verb-reptilian-3 - - chat-speech-verb-insect-2 + # - chat-speech-verb-insect-2 #ss220 fix - type: speechVerb id: Skeleton From b65011c8ea7ed6763cb8333ca650a12c1dd000e7 Mon Sep 17 00:00:00 2001 From: Maxon Date: Mon, 29 Jul 2024 20:32:11 +0000 Subject: [PATCH 02/23] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index d9f1acafe8b3..d4394fe5a783 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4200,3 +4200,17 @@ id: 334 time: '2024-07-28T23:38:38.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1468 +- author: ReeZii + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u043E\u043F\ + \u0438\u0441\u0430\u043D\u0438\u0435 \u0438\u043C\u043F\u043B\u0430\u043D\u0442\ + \u0430 \u0425\u0440\u0430\u043D\u0438\u043B\u0438\u0449\u0435" + type: Fix + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u044D\u043C\ + \u043E\u0446\u0438\u044F \u0436\u0443\u0436\u0436\u0430\u043D\u0438\u044F \u0432\ + \ \u0447\u0430\u0442\u0435 \u0434\u043B\u044F \u044F\u0449\u0435\u0440\u0438\ + \u0446" + type: Fix + id: 335 + time: '2024-07-29T20:31:07.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1467 From f1967c1540874a6365fa6d9ebe963c95ed7815a2 Mon Sep 17 00:00:00 2001 From: Mira <42539014+MiraHell@users.noreply.github.com> Date: Mon, 29 Jul 2024 23:37:49 +0300 Subject: [PATCH 03/23] Fix cryo teleport (#1482) * check station * better --- .../TeleportAFKtoCryoSystem/TeleportAFKtoCryoSystem.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Content.Server/SS220/TeleportAFKtoCryoSystem/TeleportAFKtoCryoSystem.cs b/Content.Server/SS220/TeleportAFKtoCryoSystem/TeleportAFKtoCryoSystem.cs index e5f388d159d9..b4664ce0c0ee 100644 --- a/Content.Server/SS220/TeleportAFKtoCryoSystem/TeleportAFKtoCryoSystem.cs +++ b/Content.Server/SS220/TeleportAFKtoCryoSystem/TeleportAFKtoCryoSystem.cs @@ -124,7 +124,7 @@ public bool TeleportEntityToCryoStorage(EntityUid target) var cryostorageComponents = EntityQueryEnumerator(); while (cryostorageComponents.MoveNext(out var cryostorageUid, out var сryostorageComp)) { - if (TryTeleportToCryo(target, cryostorageUid, сryostorageComp.TeleportPortralID)) + if (TryTeleportToCryo(target, cryostorageUid, station.Value, сryostorageComp.TeleportPortralID)) return true; } @@ -136,8 +136,11 @@ private bool TargetAlreadyInCryo(EntityUid target) return EntityQuery().Any(comp => comp.StoredPlayers.Contains(target)); } - private bool TryTeleportToCryo(EntityUid target, EntityUid cryopodUid, string teleportPortralID) + private bool TryTeleportToCryo(EntityUid target, EntityUid cryopodUid, EntityUid station, string teleportPortralID) { + if (station != _station.GetOwningStation(cryopodUid)) + return false; + var portal = Spawn(teleportPortralID, Transform(target).Coordinates); if (TryComp(portal, out var ambientSoundComponent)) From abc832f2f8d4d69648d01ff8049bf6e7f7ac7309 Mon Sep 17 00:00:00 2001 From: EstKemran <157578255+EstKemran@users.noreply.github.com> Date: Mon, 29 Jul 2024 23:46:04 +0300 Subject: [PATCH 04/23] Tacticool s resprite (#1483) * tacticool_s-resprite * tacticool_s-resprite --- .../Entities/Clothing/Uniforms/jumpskirts.yml | 4 +-- .../Entities/Clothing/Uniforms/jumpsuits.yml | 4 +-- .../equipped-INNERCLOTHING-monkey.png | Bin 0 -> 2473 bytes .../equipped-INNERCLOTHING.png | Bin 0 -> 1587 bytes .../Jumpskirt/tacticool_s.rsi/icon.png | Bin 0 -> 714 bytes .../Jumpskirt/tacticool_s.rsi/inhand-left.png | Bin 0 -> 997 bytes .../tacticool_s.rsi/inhand-right.png | Bin 0 -> 900 bytes .../Jumpskirt/tacticool_s.rsi/meta.json | 30 ++++++++++++++++++ .../equipped-INNERCLOTHING-monkey.png | Bin 0 -> 1491 bytes .../tacticool.rsi/equipped-INNERCLOTHING.png | Bin 0 -> 1420 bytes .../Uniforms/Jumpsuit/tacticool.rsi/icon.png | Bin 0 -> 642 bytes .../Jumpsuit/tacticool.rsi/inhand-left.png | Bin 0 -> 997 bytes .../Jumpsuit/tacticool.rsi/inhand-right.png | Bin 0 -> 900 bytes .../Uniforms/Jumpsuit/tacticool.rsi/meta.json | 30 ++++++++++++++++++ 14 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 Resources/Textures/SS220/Clothing/Uniforms/Jumpskirt/tacticool_s.rsi/equipped-INNERCLOTHING-monkey.png create mode 100644 Resources/Textures/SS220/Clothing/Uniforms/Jumpskirt/tacticool_s.rsi/equipped-INNERCLOTHING.png create mode 100644 Resources/Textures/SS220/Clothing/Uniforms/Jumpskirt/tacticool_s.rsi/icon.png create mode 100644 Resources/Textures/SS220/Clothing/Uniforms/Jumpskirt/tacticool_s.rsi/inhand-left.png create mode 100644 Resources/Textures/SS220/Clothing/Uniforms/Jumpskirt/tacticool_s.rsi/inhand-right.png create mode 100644 Resources/Textures/SS220/Clothing/Uniforms/Jumpskirt/tacticool_s.rsi/meta.json create mode 100644 Resources/Textures/SS220/Clothing/Uniforms/Jumpsuit/tacticool.rsi/equipped-INNERCLOTHING-monkey.png create mode 100644 Resources/Textures/SS220/Clothing/Uniforms/Jumpsuit/tacticool.rsi/equipped-INNERCLOTHING.png create mode 100644 Resources/Textures/SS220/Clothing/Uniforms/Jumpsuit/tacticool.rsi/icon.png create mode 100644 Resources/Textures/SS220/Clothing/Uniforms/Jumpsuit/tacticool.rsi/inhand-left.png create mode 100644 Resources/Textures/SS220/Clothing/Uniforms/Jumpsuit/tacticool.rsi/inhand-right.png create mode 100644 Resources/Textures/SS220/Clothing/Uniforms/Jumpsuit/tacticool.rsi/meta.json diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml index 28c6625b0ca4..8fd007ca50c0 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpskirts.yml @@ -475,9 +475,9 @@ description: Uniform for subpar operative LARPers performing tactical insulated glove theft in deep space. components: - type: Sprite - sprite: Clothing/Uniforms/Jumpskirt/tacticool_s.rsi + sprite: SS220/Clothing/Uniforms/Jumpskirt/tacticool_s.rsi #SS220-tacticool_s-resprite - type: Clothing - sprite: Clothing/Uniforms/Jumpskirt/tacticool_s.rsi + sprite: SS220/Clothing/Uniforms/Jumpskirt/tacticool_s.rsi #SS220-tacticool_s-resprite # Too cool for sensors to be on - type: SuitSensor randomMode: false diff --git a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml index ab521ef8a607..f74a2baa7dad 100644 --- a/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml +++ b/Resources/Prototypes/Entities/Clothing/Uniforms/jumpsuits.yml @@ -822,9 +822,9 @@ description: Uniform for subpar operative LARPers performing tactical insulated glove theft in deep space. components: - type: Sprite - sprite: Clothing/Uniforms/Jumpsuit/tacticool.rsi + sprite: SS220/Clothing/Uniforms/Jumpsuit/tacticool.rsi #SS220-tacticool_s-resprite - type: Clothing - sprite: Clothing/Uniforms/Jumpsuit/tacticool.rsi + sprite: SS220/Clothing/Uniforms/Jumpsuit/tacticool.rsi #SS220-tacticool_s-resprite # Too cool for sensors to be on - type: SuitSensor randomMode: false diff --git a/Resources/Textures/SS220/Clothing/Uniforms/Jumpskirt/tacticool_s.rsi/equipped-INNERCLOTHING-monkey.png b/Resources/Textures/SS220/Clothing/Uniforms/Jumpskirt/tacticool_s.rsi/equipped-INNERCLOTHING-monkey.png new file mode 100644 index 0000000000000000000000000000000000000000..15a340e529f067601a4d96d1a3273db69d7401e7 GIT binary patch literal 2473 zcmV;a30C%rP)OeC7LZjcX?lCDy}bei^Q zl`4?-0a*57%21)1GPRo2M4{6pY%qc+c30 zl=>%```&%;-QPLqo_pWD?;IeHJo5NTgJhz7mkl%ku#Lz46CBrVCuG0@+@msNmkmmI z{wM&Ig&S}{D3i8Sa&G1>TQ%LiPIAHwT>DKfuJG7-JVz+|C%7mf8QFAiZtkIdhfk8A z;8K|HNKOAmtCIZ8nUNvVk_vxaHXuW-KoWJg&k%Z?b(%5`pCo1foP)@K z0|MDsJBh!tp&TLrumwO%1=de_0R|kfA-6qA1`t}d%xL0FRn_on`JK{>qgfBsv`E|Yt+?gNAPY6MR?eW;gHESQJQfH9VAb!Z{H_IOTrr7rkt_osIhLVt2+#-( z4ToWB>c4=>7ZwyI+C(9Q0?2XARD!eT(fF(m`5AcQCz`-ckZJ(QZvm#fxvq|$PknJ8 zDl2O!dBfAs(7L(#c`9#Btu^a&0aG5iu*Zc;qcPAUP$uLrGnypxE93~llxKo?Jg$WD z;_E_SZ=5=EurTFC0J!?rS#tHQvwQNhUPoo|nElvr5PF4FNHPHSJ}QTnM=N8=1Oa{w zvU=VKT)8pH7)7U!98BUvc+7hlJ!U`Py$_H14v{?OBn<%^^J2GS zMi7Es$NNL!P4VRw{PTL-F?wREE2Cv?ou1liZ^88o3Psr)8(iPfMdeRM%c2@(BxP?&1sb5ZxEOkx7LDzvtzN7;)fe-h zJNs>LEv!LJtv(?K&tH#yFnrCa?ii7_CXh4)E__llH=W=g>; zZ(ImK5Vy1g4hSyRAI7bY6EXmSk0UaapE@iyp61|e= z7b~w_3__q|1h(35a)HGlgmB};t}_pyeT7Q%d;8c+W`Y|Zj=h>*G85gXPp56P_%`p& zdT5=vygojY)6LMoKX;WjS}NDl@z-mEx)b^biq2Nhc8oxX??n1Ky2!s~ds=pmjfBAB z9><%1R7bCqzs_+ntoyFrth=`m2pP(1O52X;yo`8tQ>FfFdM;)t))Y3?8`rOo&q!X1 z%E8k{y;56Vr&br2symODCMK7^j4rDE!H7~5ULw`TlF*Giv)J>5eX~GWP`}}mRH!21 z5Rfe8P%D(TpSB`twC#7H*qIu);=S#LSetqZ-6{5Gmx+7t7lmZ_nls_9*~W{{THpuA z57ActHaZDSO$XrKv!uy&>Zf#IHCMyr*nK!t<0fbXtbhOW z-0TR4TH|xpSW$Bfy$=oW#g`t~@Q0zZa<&NPv_X$$9X&uQl#=fRfVD^zDyj|8_>F@w zKI4JHLJcfF@YD09l6tst+X?^q(w7tE5uf-9xus$=XR0;AXVWeSZ*9ThgC?k|(j))& z+yC%vjn6F0YEza0o~bQ^k|HfsRg^+-BMjF+aYAXKnhH``UJAtpN^s1s$kl6K{Gs5+ zzW8PB1`$n%l6QQKU#pedOvcDIzib0c|1ZAQUs_pDS)XfUn_rdzs*E}ah9XI1AO6ch z>o-D?oT~r0`SZvlk360@NL~u3+AKW@ki8E0%6b5Zyx?(r07i=W906R;M;=*z0(aR; ze))29ZaE}GfoVvdh3DguX(h^*X_QzpP%BKs{ciBK8*8s9IL=fwf zw^SvEnj_q0tAfgU`<#l-CAUW-(CbtQKc?ma_{k2_a%j_I=i^5I))ji*KN0_Om2=?u z>uCW6rp%z*F+S{pY;f<<`wDSgPYb9}rc4qgGI|ZNNbRp|i%s}Va>`35qFAD!32YARRC+jslHg?&5my-#pp3yg|Rn2%$^fGf1rSd!BTLe;<`7@cY<dg?=V`wT@$`5)hvE8^)w%6{Ol9Z>b)-cH`z1-mynOT`zqc_Y(0C z*cLp5e>fIb$2EAjo#^WUH17Gzt#mQ^8+T@N_Mrgt4_C#kI900FxUTG|^BYM3~ac}Z&?0fdQjlVnG5Dq`gx??NC zE*q#C%IRU0^?s58q++iRB5%KcYu`pl2TXhzD{4+_p7%Q6rM@bCQTdLNg+RugPcQBqM|fKm8D9ldZ`4-g$O~FLPa^1-y1m;0TLHPMa2yc z+*%1lR4TYNNK{BgEzppvp;8+fBh^Y`J1zO~k4Qq&bkQ5{+l)8s^}O{uL1I728hds; z-+SMCGhXi-=D~vp4<7!<;C8NSnzkj%)a_~J3v)?r&tt7%U&Y+))SA<|IJb4t9w5MG zy&{prW#K9+kaKzHVito+w3>r$TEOpTwY9ZIUpAX%sdSnp6ZgpeR8YSF26T3I=XnF4 zp`SVzlblv{erb70I15hW3qC`?6B|g1q541wZAZtGY+~XMc{T#ZQA8*zfb6{4h-5OpVKXX+2)NFfg7Y{|6-t{RkWTy=H8vkRau{c4Bn5Kn z!zKr7AJ(`P#M-|<16Y7lHQ03$9oy!jd7$j<7W;+p(3B=^HO`Fo`RoPx;0+}Uh4kKYW* zE)MVEdnk$>Y%>5Sz!oNk{lE&?pR)L#Q&d(wWUDJ#mdRvD{ByH$=JWYjrNRQY6+lGO zLJ%t>@Mc5@$M;`-^L^g9mtTC=)*#b(5%srTdzIA?_*Yg|`0VVgEf0cxCx~}q=9f9z zpMP;qybxc0^tvJTV1K0I)3={7_J*M|$87D8=PAY?Y-=O=L)xIe{`i>o#@U|=UjOW! z9(LlrivNx5>R2Ma!0r(Fm2ZWCyfGMH4UM%7{@AsIa_i9C0*1$8WCvCF!RbQ0qUE`WQuvkj zfWiKV2IN2fJi*3BCyjpjE@Sl97`uG+t}qhDD_cO|hxviW3QqZLGvM1ZFH}E&`rwmsf zp9PX41qQXZcWsATZol8hZ``=HcIfGYl{@%DEuLP}qS0HAN_q%s;<7?}dl!#JZy6V> zch&ROVD1kS^t;6`aO&_=#wJ$O1t0v05zG-=I`pF8uz>Xub^rAC|!Lu(aHy zQL}&~05~t7#E^?2`e&`&=Z?UJk>9T8aYIH*f{;WY2>?WLwHU=fh=S<+#^WocV*jCo z#tfF6dNCIIMWu+qM=FiUH90I%LF7@8Qmer#Kn~ypZgW|#Q1P@79BqPTGULdM-_Mc> zcN~==?*V2`R$>*}kpP%#h^@!~8Mri^fFyuSZda<_OyCl58U&I6=A9P_w@L(b7Hq-y z)a6jp9$+@4)Ds~paGQhlEAamDF5BxLytE(c1O=~G?cPnHGw{l(6L}oPY@mRAK0vO| zL)+96U^DR)Yl6aL8P5mEHXxVTmS+8|0_BVV>3l$;`aG1QM5~W2$N2!W4ZP490Y*C` zKsp~#j{3YR%4LIX24Kml??CP!ALV?&V1I<2{qDMJ0ywb&tJ;nQKP(34!GN(1_TGAl1z6$$V lOgdHK!Gi}69twdm_AkKp%bd(Z{Jn zC_G7`(HODn#x?q#?m~$DHs>Y*NFs?MsG0_7r>AEjllg3}(UyweT%GB4OD+fkT_c&Q zR!wrl4=_pGh+q=XNp4t48U#DP8xbc4S;=)>w~+h`V;?PRId~S8cxYxnOAp1vyOHBQ z#yN@XgkuS!(U?~d1YXzmCa!CTHTpnXx?AL>?@HTxLYBRfDEiXr#Bt98R84E9QgIR< zzrd?yg-GYdNWdR3NvuFWic`x97w`u>sZ_iH01b|Fu7ab0+F^};yv4#-f(Ic9_JbV^ zzuJ0_W-K@q8UTQ!-ZM~Ei1h|W`t3wu{f&K`JHeq4+M~@EZ_Jpxw-?!PEgn=L zEdRBog9?1g{eZ1R?*C3g1d@-2B^VhM0Do7;Px&pGibPRCt{2n$Kz)K^(`w6H17bMU5o7s}Yqp7D^xikzVRO$)%?pnyYWnK180N z&yXibp-<35N(zn8_7DX({)0qi3F~co$j-1@b$4}i-DEy6tj@Z>{mplO^JkqOAdyHU z5{X12kw_#GiNq_EQqSdZKSL;``23+rSl#*A39*hd*_>2XP5{>UapnB%WNq035D@~b zGK5TT;@Xn@SXt(d07hgpK|>oM03gjqb*LTy>D{+HMN2fMQUIiT*W`6tGDppUiP8FL zEF}U|ElbsS0+w^b=i&*3HbPX@vaaoE$sASV38?YJP`x=YxjikJo7-8sn1pr_U zOd8pIbliISGt+FhXf&n*;1R*^GYTPu7cb1+1yn6dcTy?TbsamY6ab*E>xhKIP!t7* zVL(w7)O8(=+Z)IGX~`VjNu~I8Ztd9{ZtrSNg1qq9-mw^l0drt-=a>)x&}_G6vd69y zVQ(5Dx&UEL_4<7nhQUv;&mNtg$=q)wSPF)1Z)-p~7AsT0Dj~na41{?>_(l zHp4Fg0KaP;G}?Fgas79qjYY8(0RW(|mj?i7@ffzFj}7m1AJAyu0RS$4{h8>@lMrAY zXZ#dE$SmOHhN7;Sh8IDf{r>?{0KXmZ8!3R_4)~1}z;6fqMhf7!1AZfXCAjK4MWa0X z2#^B!?SS719|J@q`b}|^XCDE9%MW0iqV|ngYgd}re<|?4%*n@ZnCjq@jDSzqd?(uR z=>%B-8rld^`_pgS-T+pkZ6Zu1r~>eO1lASU(aI@sEkaNQutUv(iQat+(U?jn500000NkvXXu0mjfykE*e literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Clothing/Uniforms/Jumpskirt/tacticool_s.rsi/inhand-right.png b/Resources/Textures/SS220/Clothing/Uniforms/Jumpskirt/tacticool_s.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..f4735c9d9de7a7dcbe75b6f845ebede02886ba93 GIT binary patch literal 900 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 tF-?U+;nesvI?BwVi9vR(8q5CoU)qO0mc zXm!(7e}D)Tp*0q)f<#jxQIkw6vCd>@eoShgd@t|3o_X`$%RTSSn=HH^2yfnchf$Ov$;8gdn<0SP*DB-{eD}s*;MsLL)8{$#QtoP zz5oVPt0QgR;2!PLu@rOK)cMu5RqZUCra#=HJ&6sXh*9(*i0jbM3u=1$7ymx#ESPFP zS1M_TYxfpApMPdRXT_g$b0Qo1BnI%*gR}MevhV!kl&rYj4gxt3c1G8Wsx$cWUZR z>MX$6|86``PdxdQ)(@KmvJ3st-*ggUGk|7XZ+Q0?wIe&W@6gZjw;|q+e*AT5fK!-R zjNNQD+w_AlyBs{m>nJF3#AW~uKvxWm{U8i#uZO%YDSg`>s*P4tEiW&N^#5L(SNVKi z^%*Si*Z}C+3<*e>5%gii!=cBYe|fE~-$C7>_O5ppK1{-J5@`MLvJz`R(fJo!QL3 zUqJuX@8SE(%F2p5S{)SYi!xw*bXc7z71U=JC-vj6zWvp|o;ZF;&CfMpfMiH9?~UzK zgQchS%Sa#8=KfJX&;BJI&p2AAUpwT#r^0||O9gfN)~q^sxU3zA0mLVlC%c{n(1(L? z7}|jJ0c=1(_LujF^v%Bucuqrzt}uw&0kvlVpLJv#oTnK_5XgDzXG-iF1^*6@8Kx-n zX!HAECS(CEHOdBDagX*S#0KEf$8Y$l1R;t(!BY+Gcs|KGGy!7=XZO_E>usry=h06> zYygg*`NB^D?5>z`KKp=Y0Ul@dE`V`)7IJv@N%h6Q2r18LnrU1q7`-B>mqtH!6MXmO z7o7{={N!f=oDECysP=BN)%q5T#bU8oEEbEUw*-G#?k3`2g+X!mfa?_^oZ5oUblcFrst(AF8&@)Scx-IKoxVHe-}9n~6mbAB`&2FF^*5Bt zab6$`e!O|R-G*YGO5km*t_`@-ED!|%&hwKPyh!2QyIG$*f(?`3f7hmsjAQ{31wj-5 z2=Qt$1%uE9(fggpSJLv*k%RsSp_*PX7VWx_E6@}DB*trUbXW;9PXS3=4K{%^pb70j zO)|208bzW_Fev69nJE-hZJ|4ka`+w))Kn>}(1`*-sYYx?25@L;CP5ScE*@8^?j^JY zl1_ps0KuJ?1h*;(#169eSN(pvOq{Km)m)?I`|;08bq~0NqJ1P1g`ur<4hc= zJQ^PzcEU>KN~w)*I~>A86;ZB-^RUt6;58u%z{COl#Yd0MOX0X8GsZ`U-BV|;r*$xv zk50bQB29h`*l3Js51`{O5XB#z&hXlL_P+;Q3pS8F+(uK9REHfp8A4gG6@^J?Qn?(q zcs6AJ4--V#MwoT_M`@%vl_Cy6REqU73!=1=oKQ>rL5SDn_m}rLyNkl|vJZxD=Y6x^do!~$EX9ZsBSwrM2qAnk zg{hLLRE)7C`r!X&FUeS$xcp^-R~1(xqP3R%`Z+L(dx7UYx?1e?m#7;$z)_7 zVz&Lm5m!7>NklQBWxy-0Vm5n?{P-v){zIQK}Kp#Bvs(-s!)S6uA7AQ>Jy34FiOJuL#6cgzQ zx$j&eRWT z1%TX*f^3&EKtyMotMh3hN-5&eowQ@Z+rT4VH@F=8e&fTX4g4gc(Rq`2^7tODugsB= z7qtAMJQl$t57;MNT6|g4GN64E0(&37QkCar!?T+^*f*(R_M(&vH}LA+?$}qn{Op13 z%*=9!gCNA+9I*4brF8;A4R}!~<`P!>lpXAwLWvVmvSIdqsi8BoJaOFa%M+tpH}tY_ z-vw6t6eb{;M6B{WtMWVsqzc7cs$uq|IL1Xm=tYDhxbS96xXpmWDtPxBTLHY?{-nM9 zfY$#&(9el)!3g4j-hIuOQ+REu#$G>v=%_rME=5z+1!nD?dEMX%#d}-b;H+-&tN+Bz c{|h4e4FP~NtLyPJK>z>%07*qoM6N<$f}BY)TL1t6 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Clothing/Uniforms/Jumpsuit/tacticool.rsi/inhand-left.png b/Resources/Textures/SS220/Clothing/Uniforms/Jumpsuit/tacticool.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..c52b43551706adb2f612917a447d7bfe014abd7f GIT binary patch literal 997 zcmVPx&pGibPRCt{2n$Kz)K^(`w6H17bMU5o7s}Yqp7D^xikzVRO$)%?pnyYWnK180N z&yXibp-<35N(zn8_7DX({)0qi3F~co$j-1@b$4}i-DEy6tj@Z>{mplO^JkqOAdyHU z5{X12kw_#GiNq_EQqSdZKSL;``23+rSl#*A39*hd*_>2XP5{>UapnB%WNq035D@~b zGK5TT;@Xn@SXt(d07hgpK|>oM03gjqb*LTy>D{+HMN2fMQUIiT*W`6tGDppUiP8FL zEF}U|ElbsS0+w^b=i&*3HbPX@vaaoE$sASV38?YJP`x=YxjikJo7-8sn1pr_U zOd8pIbliISGt+FhXf&n*;1R*^GYTPu7cb1+1yn6dcTy?TbsamY6ab*E>xhKIP!t7* zVL(w7)O8(=+Z)IGX~`VjNu~I8Ztd9{ZtrSNg1qq9-mw^l0drt-=a>)x&}_G6vd69y zVQ(5Dx&UEL_4<7nhQUv;&mNtg$=q)wSPF)1Z)-p~7AsT0Dj~na41{?>_(l zHp4Fg0KaP;G}?Fgas79qjYY8(0RW(|mj?i7@ffzFj}7m1AJAyu0RS$4{h8>@lMrAY zXZ#dE$SmOHhN7;Sh8IDf{r>?{0KXmZ8!3R_4)~1}z;6fqMhf7!1AZfXCAjK4MWa0X z2#^B!?SS719|J@q`b}|^XCDE9%MW0iqV|ngYgd}re<|?4%*n@ZnCjq@jDSzqd?(uR z=>%B-8rld^`_pgS-T+pkZ6Zu1r~>eO1lASU(aI@sEkaNQutUv(iQat+(U?jn500000NkvXXu0mjfykE*e literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Clothing/Uniforms/Jumpsuit/tacticool.rsi/inhand-right.png b/Resources/Textures/SS220/Clothing/Uniforms/Jumpsuit/tacticool.rsi/inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..f4735c9d9de7a7dcbe75b6f845ebede02886ba93 GIT binary patch literal 900 zcmV-~1AF|5P)Px&K1oDDRCt{2n$K?9FdWCft|n9tQ8J{Ggr*ft{iCTDDos81-u4NmUi$`nm!0+; zop#*|bcb;rXw4cx8cpOw*k#@U>?I^YZW(p5`XgDG7^Cm+=bz)mKLZ+#Mx)VaG#ZUY zqtR%dEoa>}VT|E_FK690N!l&GFvgzV>xv-cuMaj9>L>*-7B3J&U^N^7VBusaT;;Yp z0KnpD41T=~QNu^mYB;RESqA_T-1SAf)o>U95>AG>dNUE=wmPV9)|qQNnIFf~7_RNW zZFSUJp1^H&m}@(Tr*XE;c4qd>1~9|YDKPgQtcHVl8Z!Ve3}bc0Yk=#Dr!kvHu+YDZ z%oG5?c03Q1QXK5%-eJI<~abAQUs$R48stGUyr9TD5YyO>ER@G8HOPS3jl)AaB1J%DZo1=4W*PK zjG|<_^3k6|xZW^|GMa(qPRKaGGEL&zjxdf=ni=tAdl^{Nv#8m%9b%bguI7vb!YIPU zVU6*6FdB-&xj3w`ptgY5}Uz z4p1#XHQE8H1*k?lK(zqX>W@z1(LM3UjaZW z`8dzSitF#+h;4K7_EUA{&p(TRcV9*JwKB#74|l+?`=3E-^f5D-0VyX`2B}@)`4nK5 zX(AX6Hvq8uW}Qz7=GqR=!Vmzs`|)j^npbAkUE$y1WGIXW%6n!&2C17MB+m>K<>1SV ztOF`{WO8E15acZY0000 Date: Mon, 29 Jul 2024 20:47:09 +0000 Subject: [PATCH 05/23] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index d4394fe5a783..a53d9ff8eefd 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4214,3 +4214,15 @@ id: 335 time: '2024-07-29T20:31:07.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1467 +- author: Creamy + changes: + - message: "\u0418\u0437\u043C\u0435\u043D\u0451\u043D \u0441\u043F\u0440\u0430\u0439\ + \u0442 \u0442\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0433\u043E\ + \ \u043A\u043E\u043C\u0431\u0438\u043D\u0435\u0437\u043E\u043D\u0430 \u0438\ + \ \u0442\u0430\u043A\u0442\u0438\u0447\u0435\u0441\u043A\u043E\u0439 \u044E\u0431\ + \u043A\u0438-\u043A\u043E\u043C\u0431\u0438\u043D\u0435\u0437\u043E\u043D\u0430\ + ." + type: Tweak + id: 336 + time: '2024-07-29T20:46:05.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1483 From f0d36d38645be8f6079386e5e354ca342e92c21b Mon Sep 17 00:00:00 2001 From: EstKemran <157578255+EstKemran@users.noreply.github.com> Date: Mon, 29 Jul 2024 23:47:21 +0300 Subject: [PATCH 06/23] CapHeadLoadoutsChanges (#1484) --- .../Loadouts/Jobs/Command/captain.yml | 4 ++-- .../Prototypes/Loadouts/loadout_groups.yml | 4 ++++ .../SS220/Loadouts/Jobs/Command/captain.yml | 18 ++++++++++++++++++ 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/Resources/Prototypes/Loadouts/Jobs/Command/captain.yml b/Resources/Prototypes/Loadouts/Jobs/Command/captain.yml index dbe20466b411..94233d523f14 100644 --- a/Resources/Prototypes/Loadouts/Jobs/Command/captain.yml +++ b/Resources/Prototypes/Loadouts/Jobs/Command/captain.yml @@ -56,7 +56,7 @@ - type: startingGear id: CaptainCap equipment: - head: ClothingHeadHatCapcap + head: ClothingHeadCaptainCap #SS220-CapHeadLoadoutsChanges # Neck - type: loadout @@ -131,4 +131,4 @@ - type: startingGear id: CaptainWintercoat equipment: - outerClothing: ClothingOuterWinterCap \ No newline at end of file + outerClothing: ClothingOuterWinterCap diff --git a/Resources/Prototypes/Loadouts/loadout_groups.yml b/Resources/Prototypes/Loadouts/loadout_groups.yml index dd54ebeca5c6..dd9056f47be7 100644 --- a/Resources/Prototypes/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/Loadouts/loadout_groups.yml @@ -47,6 +47,10 @@ loadouts: - CaptainHead - CaptainCap + #SS220-CapHeadLoadoutsChanges-Begin + - CaptainBeret + - CaptainHeadHat + #SS220-CapHeadLoadoutsChanges-End #ss220-loadout-captain-begin - CaptainWhiteHead - CaptainWhiteBeret diff --git a/Resources/Prototypes/SS220/Loadouts/Jobs/Command/captain.yml b/Resources/Prototypes/SS220/Loadouts/Jobs/Command/captain.yml index 286091395741..6e707468bb1b 100644 --- a/Resources/Prototypes/SS220/Loadouts/Jobs/Command/captain.yml +++ b/Resources/Prototypes/SS220/Loadouts/Jobs/Command/captain.yml @@ -22,6 +22,24 @@ jumpsuit: ClothingUniformWhiteJumpsuitCaptain # Head +- type: loadout + id: CaptainHeadHat + equipment: CaptainHeadHat + +- type: startingGear + id: CaptainHeadHat + equipment: + head: ClothingHeadCaptainHat + +- type: loadout + id: CaptainBeret + equipment: CaptainBeret + +- type: startingGear + id: CaptainBeret + equipment: + head: ClothingHeadBeretCap + - type: loadout id: CaptainWhiteHead equipment: CaptainWhiteHead From 5e7232c7d98e3c861396c158e17df4b4641e41c3 Mon Sep 17 00:00:00 2001 From: Maxon Date: Mon, 29 Jul 2024 20:48:25 +0000 Subject: [PATCH 07/23] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index a53d9ff8eefd..7d8b2abf83c8 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4226,3 +4226,14 @@ id: 336 time: '2024-07-29T20:46:05.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1483 +- author: Kemran + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0431\u0435\u0440\ + \u0435\u0442, \u0444\u0443\u0440\u0430\u0436\u043A\u0430 \u0438 \u0448\u043B\ + \u044F\u043F\u0430 \u041A\u0430\u043F\u0438\u0442\u0430\u043D\u0430 \u0432 \u043B\ + \u043E\u0434\u0430\u0443\u0442 \u041A\u0430\u043F\u0438\u0442\u0430\u043D\u0430\ + ." + type: Add + id: 337 + time: '2024-07-29T20:47:21.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1484 From 4bb94238819b4c96cf162f2c7e431021a8ab74be Mon Sep 17 00:00:00 2001 From: Gnomeev <137652177+Gnomeev@users.noreply.github.com> Date: Tue, 30 Jul 2024 16:20:37 +0300 Subject: [PATCH 08/23] Destructible Box (#1487) --- .../Structures/Storage/Closets/big_boxes.yml | 37 ++++++++++++++----- 1 file changed, 28 insertions(+), 9 deletions(-) diff --git a/Resources/Prototypes/Entities/Structures/Storage/Closets/big_boxes.yml b/Resources/Prototypes/Entities/Structures/Storage/Closets/big_boxes.yml index 0c5db15c7c42..91edc7bf2ca4 100644 --- a/Resources/Prototypes/Entities/Structures/Storage/Closets/big_boxes.yml +++ b/Resources/Prototypes/Entities/Structures/Storage/Closets/big_boxes.yml @@ -35,6 +35,24 @@ entity_storage: !type:Container - type: Damageable damageContainer: Box + # ss220 box fix begin + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 60 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WoodDestroyHeavy + - !type:SpawnEntitiesBehavior + spawn: + MaterialCardboard: + min: 2 + max: 4 + - !type:DoActsBehavior + acts: [ "Destruction" ] + # ss220 box fix end - type: Sprite noRot: true sprite: SS220/Structures/Storage/closet.rsi #SS220-Closet-Resprite @@ -91,15 +109,16 @@ parent: BaseBigBox components: - type: InteractionOutline - - type: Destructible - thresholds: - - trigger: - !type:DamageTrigger - damage: 15 - behaviors: - - !type:DoActsBehavior - acts: [ "Destruction" ] - + # ss220 box fix begin + # - type: Destructible + # thresholds: + # - trigger: + # !type:DamageTrigger + # damage: 15 + # behaviors: + # - !type:DoActsBehavior + # acts: [ "Destruction" ] + # ss220 box fix end #For admin spawning only - type: entity From 2f464a940ec74be2c12c066e8318173e99b18594 Mon Sep 17 00:00:00 2001 From: Maxon Date: Tue, 30 Jul 2024 13:21:43 +0000 Subject: [PATCH 09/23] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 7d8b2abf83c8..3668bb4a9e3c 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4237,3 +4237,13 @@ id: 337 time: '2024-07-29T20:47:21.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1484 +- author: Gnomeev + changes: + - message: "\u0422\u0435\u043F\u0435\u0440\u044C \u043D\u0435\u0432\u0438\u0434\u0438\ + \u043C\u0430\u044F \u0438 \u043E\u0431\u044B\u0447\u043D\u0430\u044F \u043A\u043E\ + \u0440\u043E\u0431\u043A\u0430 \u0440\u0430\u0437\u0440\u0443\u0448\u0430\u0435\ + \u043C\u044B!" + type: Tweak + id: 338 + time: '2024-07-30T13:20:37.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1487 From 177cea7f98a364a3dcab5f2cc0ee07999629722e Mon Sep 17 00:00:00 2001 From: Gnomeev <137652177+Gnomeev@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:38:01 +0300 Subject: [PATCH 10/23] Security Loadout Update (#1485) * loadouttweakn1 * cringe-fix --- .../Prototypes/Loadouts/loadout_groups.yml | 19 +++++- .../Jobs/Security/head_of_security.yml | 66 +++++++++++++++++++ .../Jobs/Security/security_officer.yml | 60 +++++++++++++++++ 3 files changed, 142 insertions(+), 3 deletions(-) diff --git a/Resources/Prototypes/Loadouts/loadout_groups.yml b/Resources/Prototypes/Loadouts/loadout_groups.yml index dd9056f47be7..b651e62f01f5 100644 --- a/Resources/Prototypes/Loadouts/loadout_groups.yml +++ b/Resources/Prototypes/Loadouts/loadout_groups.yml @@ -900,6 +900,7 @@ - HeadofSecurityHead - HeadofSecurityBeret - HeadofSecurityBigCap #SS220-FreedomHoSCap + - HatCapHoS #ss220 sec loadout update - type: loadoutGroup id: HeadofSecurityJumpsuit @@ -910,6 +911,10 @@ - HeadofSecurityTurtleneck - HeadofSecurityTurtleneckSkirt - HeadofSecurityFormalSuit + - JumpsuitHoSGrey #ss220 sec loadout update + - JumpsuitHoSBlue #ss220 sec loadout update + - JumpskirtHoSParadeMale #ss220 sec loadout update + - JumpsuitHoSParadeMale #ss220 sec loadout update # - HeadofSecurityFormalSkirt SS220-RemoveFormalSkirtLoadouts - type: loadoutGroup @@ -920,6 +925,7 @@ - HeadofSecurityCloak - HeadofSecurityMantle - SecurityHolster #SS220-HoS-Holster + - MantleHOSShoulder #ss220 sec loadout update - type: loadoutGroup id: HeadofSecurityOuterClothing @@ -927,6 +933,7 @@ loadouts: - HeadofSecurityCoat - HeadofSecurityWinterCoat + - WinterHoSUnarmored #ss220 sec loadout update - type: loadoutGroup id: WardenHead @@ -959,15 +966,17 @@ - SecurityHelmet - SecurityBeret - SecurityHat + - HatCowboyBlack #ss220 sec loadout update -#SS220 holster loadout begin +#SS220 neck loadout begin - type: loadoutGroup id: SecurityNeck name: loadout-group-security-neck minLimit: 0 loadouts: - - SecurityHolster -#SS220 holster loadout end + - SecurityHolster #SS220 holster loadout + - Headphones #SS220 sec loadout update +#SS220 neck loadout end - type: loadoutGroup id: SecurityJumpsuit @@ -981,6 +990,7 @@ # - SeniorOfficerJumpskirt #SS220 Seniors roles - SecurityJumpsuitTurtleneck #SS220-MoreTurtleneck-Begin - SecurityJumpskirtTurtleneck #SS220-MoreTurtleneck-End + - JumpsuitSecBlue #ss220 sec loadout update - type: loadoutGroup id: SecurityBackpack @@ -1004,6 +1014,8 @@ - ArmorVest - ArmorVestSlim - SecurityOfficerWintercoat + - CoatSecurityOvercoat #ss220 sec loadout update + - VestArmorSec #ss220 sec loadout update - type: loadoutGroup id: SecurityShoes @@ -1012,6 +1024,7 @@ - CombatBoots - JackBoots - SecurityWinterBoots + - BootsJackSec #ss220 sec loadout update - type: loadoutGroup id: SecurityPDA diff --git a/Resources/Prototypes/SS220/Loadouts/Jobs/Security/head_of_security.yml b/Resources/Prototypes/SS220/Loadouts/Jobs/Security/head_of_security.yml index 0632ce24307d..99b50a4f8ea9 100644 --- a/Resources/Prototypes/SS220/Loadouts/Jobs/Security/head_of_security.yml +++ b/Resources/Prototypes/SS220/Loadouts/Jobs/Security/head_of_security.yml @@ -1,3 +1,40 @@ +# Jumpsuit +- type: loadout + id: JumpsuitHoSParadeMale + equipment: JumpsuitHoSParadeMale + +- type: startingGear + id: JumpsuitHoSParadeMale + equipment: + jumpsuit: ClothingUniformJumpsuitHoSParadeMale + +- type: loadout + id: JumpskirtHoSParadeMale + equipment: JumpskirtHoSParadeMale + +- type: startingGear + id: JumpskirtHoSParadeMale + equipment: + jumpsuit: ClothingUniformJumpskirtHoSParadeMale + +- type: loadout + id: JumpsuitHoSBlue + equipment: JumpsuitHoSBlue + +- type: startingGear + id: JumpsuitHoSBlue + equipment: + jumpsuit: ClothingUniformJumpsuitHoSBlue + +- type: loadout + id: JumpsuitHoSGrey + equipment: JumpsuitHoSGrey + +- type: startingGear + id: JumpsuitHoSGrey + equipment: + jumpsuit: ClothingUniformJumpsuitHoSGrey + # Head - type: loadout id: HeadofSecurityBigCap @@ -7,3 +44,32 @@ id: HeadofSecurityBigCap equipment: head: ClothingHeadBigCapHoS + +- type: loadout + id: HatCapHoS + equipment: HatCapHoS + +- type: startingGear + id: HatCapHoS + equipment: + head: ClothingHeadHatCapHoS + +# Neck +- type: loadout + id: MantleHOSShoulder + equipment: MantleHOSShoulder + +- type: startingGear + id: MantleHOSShoulder + equipment: + neck: ClothingNeckMantleHOSShoulder + +# Outer +- type: loadout + id: WinterHoSUnarmored + equipment: WinterHoSUnarmored + +- type: startingGear + id: WinterHoSUnarmored + equipment: + outerClothing: ClothingOuterWinterHoSUnarmored diff --git a/Resources/Prototypes/SS220/Loadouts/Jobs/Security/security_officer.yml b/Resources/Prototypes/SS220/Loadouts/Jobs/Security/security_officer.yml index 21f680dfd8b2..f3f90cae94df 100644 --- a/Resources/Prototypes/SS220/Loadouts/Jobs/Security/security_officer.yml +++ b/Resources/Prototypes/SS220/Loadouts/Jobs/Security/security_officer.yml @@ -32,3 +32,63 @@ id: SecurityJumpskirtTurtleneck equipment: jumpsuit: ClothingUniformJumpskirtTurtleColorBlack + +- type: loadout + id: JumpsuitSecBlue + equipment: JumpsuitSecBlue + +- type: startingGear + id: JumpsuitSecBlue + equipment: + jumpsuit: ClothingUniformJumpsuitSecBlue + +# Head +- type: loadout + id: HatCowboyBlack + equipment: HatCowboyBlack + +- type: startingGear + id: HatCowboyBlack + equipment: + head: ClothingHeadHatCowboyBlack + +# Neck +- type: loadout + id: Headphones + equipment: Headphones + +- type: startingGear + id: Headphones + equipment: + neck: ClothingNeckHeadphones + +#Outer +- type: loadout + id: VestArmorSec + equipment: VestArmorSec + +- type: startingGear + id: VestArmorSec + equipment: + outerClothing: ClothingOuterVestArmorSec + +- type: loadout + id: CoatSecurityOvercoat + equipment: CoatSecurityOvercoat + +- type: startingGear + id: CoatSecurityOvercoat + equipment: + outerClothing: ClothingOuterCoatSecurityOvercoat + +# Shoes +- type: loadout + id: BootsJackSec + equipment: BootsJackSec + +- type: startingGear + id: BootsJackSec + equipment: + shoes: ClothingShoesBootsJackSec + + From 42e8f13b739b70a809a22a2d8e3ee1367f408558 Mon Sep 17 00:00:00 2001 From: Maxon Date: Wed, 31 Jul 2024 08:39:06 +0000 Subject: [PATCH 11/23] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 3668bb4a9e3c..59567dcb70b6 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4247,3 +4247,12 @@ id: 338 time: '2024-07-30T13:20:37.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1487 +- author: Gnomeev + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u043D\u043E\u0432\ + \u044B\u0435 \u0432\u0435\u0449\u0438 \u0432 \u043B\u043E\u0434\u0430\u0443\u0442\ + \u044B \u0421\u0411!" + type: Add + id: 339 + time: '2024-07-31T08:38:01.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1485 From 1501f9acedffe619f707e7c70c3a57a4216160b4 Mon Sep 17 00:00:00 2001 From: EstKemran <157578255+EstKemran@users.noreply.github.com> Date: Wed, 31 Jul 2024 11:43:53 +0300 Subject: [PATCH 12/23] SnuffBox (#1491) * SnuffBox * Ashtray * Update consumable_stacks.yml --- .../consumable/Smokeables/snuff-box.ftl | 2 + .../VendingMachines/Inventories/cigs.yml | 2 + .../Objects/Consumable/Smokeables/case.yml | 55 ++++++++++++++++++ .../Prototypes/Stacks/consumable_stacks.yml | 6 +- .../Smokeables/Snuff/snuff-box.rsi/closed.png | Bin 0 -> 319 bytes .../Snuff/snuff-box.rsi/inhand-left.png | Bin 0 -> 288 bytes .../Snuff/snuff-box.rsi/inhand-right.png | Bin 0 -> 288 bytes .../Smokeables/Snuff/snuff-box.rsi/meta.json | 43 ++++++++++++++ .../Smokeables/Snuff/snuff-box.rsi/open.png | Bin 0 -> 462 bytes .../Smokeables/Snuff/snuff-box.rsi/snuff1.png | Bin 0 -> 225 bytes .../Smokeables/Snuff/snuff-box.rsi/snuff2.png | Bin 0 -> 236 bytes .../Smokeables/Snuff/snuff-box.rsi/snuff3.png | Bin 0 -> 234 bytes .../Smokeables/Snuff/snuff-box.rsi/snuff4.png | Bin 0 -> 227 bytes .../Smokeables/Snuff/snuff-box.rsi/snuff5.png | Bin 0 -> 217 bytes .../Smokeables/Snuff/snuff-box.rsi/snuff6.png | Bin 0 -> 203 bytes 15 files changed, 105 insertions(+), 3 deletions(-) create mode 100644 Resources/Locale/ru-RU/ss220/prototypes/entities/objects/consumable/Smokeables/snuff-box.ftl create mode 100644 Resources/Prototypes/SS220/Entities/Objects/Consumable/Smokeables/case.yml create mode 100644 Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/closed.png create mode 100644 Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/inhand-left.png create mode 100644 Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/inhand-right.png create mode 100644 Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/meta.json create mode 100644 Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/open.png create mode 100644 Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff1.png create mode 100644 Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff2.png create mode 100644 Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff3.png create mode 100644 Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff4.png create mode 100644 Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff5.png create mode 100644 Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff6.png diff --git a/Resources/Locale/ru-RU/ss220/prototypes/entities/objects/consumable/Smokeables/snuff-box.ftl b/Resources/Locale/ru-RU/ss220/prototypes/entities/objects/consumable/Smokeables/snuff-box.ftl new file mode 100644 index 000000000000..4fa33feeb3c6 --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/prototypes/entities/objects/consumable/Smokeables/snuff-box.ftl @@ -0,0 +1,2 @@ +ent-SnuffBox = табакерка + .desc = Небольшая коробочка с крышкой, предназначенная для хранения табака. diff --git a/Resources/Prototypes/Catalog/VendingMachines/Inventories/cigs.yml b/Resources/Prototypes/Catalog/VendingMachines/Inventories/cigs.yml index d2acb62f8598..3b8187f7e9be 100644 --- a/Resources/Prototypes/Catalog/VendingMachines/Inventories/cigs.yml +++ b/Resources/Prototypes/Catalog/VendingMachines/Inventories/cigs.yml @@ -7,6 +7,8 @@ CigPackBlack: 2 CigPackMixed: 2 CigarCase: 1 + SnuffBox: 2 #SS220-Snuff-box + Ashtray: 7 #SS220-Snuff-box SmokingPipeFilledTobacco: 1 Vape: 1 Matchbox: 5 diff --git a/Resources/Prototypes/SS220/Entities/Objects/Consumable/Smokeables/case.yml b/Resources/Prototypes/SS220/Entities/Objects/Consumable/Smokeables/case.yml new file mode 100644 index 000000000000..e657fded9835 --- /dev/null +++ b/Resources/Prototypes/SS220/Entities/Objects/Consumable/Smokeables/case.yml @@ -0,0 +1,55 @@ +- type: entity + id: SnuffBox + parent: [ BaseStorageItem, BaseBagOpenClose ] + name: snuff box + description: A case for holding your cigars when you are not smoking them. + components: + - type: Sprite + sprite: SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi + layers: + - state: closed + - state: open + map: ["openLayer"] + - state: snuff1 + map: ["snuff1"] + visible: false + - state: snuff2 + map: ["snuff2"] + visible: false + - state: snuff3 + map: ["snuff3"] + visible: false + - state: snuff4 + map: ["snuff4"] + visible: false + - state: snuff5 + map: ["snuff5"] + visible: false + - state: snuff6 + map: ["snuff6"] + visible: false + - type: Storage + grid: + - 0,0,2,1 + - type: Item + sprite: SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi + size: Normal + shape: + - 0,0,1,1 + storedRotation: 90 + - type: StorageFill + contents: + - id: GroundTobacco + amount: 6 + - type: ItemCounter + count: + tags: [Smokable] + composite: true + layerStates: + - snuff1 + - snuff2 + - snuff3 + - snuff4 + - snuff5 + - snuff6 + - type: Appearance diff --git a/Resources/Prototypes/Stacks/consumable_stacks.yml b/Resources/Prototypes/Stacks/consumable_stacks.yml index e7feab7b5202..63927a4029fe 100644 --- a/Resources/Prototypes/Stacks/consumable_stacks.yml +++ b/Resources/Prototypes/Stacks/consumable_stacks.yml @@ -36,21 +36,21 @@ name: ground tobacco icon: { sprite: /Textures/Objects/Misc/reagent_fillings.rsi, state: powderpile } spawn: GroundTobacco - maxCount: 5 + maxCount: 1 #SS220-Snuff-box - type: stack id: GroundCannabis name: ground cannabis icon: { sprite: /Textures/Objects/Misc/reagent_fillings.rsi, state: powderpile } spawn: GroundCannabis - maxCount: + maxCount: 1 #SS220-Snuff-box - type: stack id: GroundCannabisRainbow name: ground rainbow cannabis icon: { sprite: /Textures/Objects/Specific/Hydroponics/rainbow_cannabis.rsi, state: powderpile_rainbow } spawn: GroundCannabisRainbow - maxCount: + maxCount: 1 #SS220-Snuff-box - type: stack id: LeavesTobaccoDried diff --git a/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/closed.png b/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..3978a9c142c1480159dc7a9fab0373d80648fd66 GIT binary patch literal 319 zcmV-F0l@x=P)Px#`AI}UR9J=Wlrd@oK@^6+fRG?8Ro&EE}|VD+xC5>*mey|NqQ;3@D1CD2j4t9;64OAz2yW!CaST|8RV)hdoqS>j+rOECx5<|0u#`WmSawd_g7^LJ zwM}3=>jLmP+F*Qfw%Y=<8ke=@VgrEjFZXRC(-nV2FTHXf(R3}>Rutu~oB{XhM$KtZ RN!0)V002ovPDHLkV1iJyhx`Bl literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/inhand-left.png b/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..10fb051f75b027ea0123a8f491236d388a96a267 GIT binary patch literal 288 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|Zh5*mhE&XX zdrOy($xz_vN6zaFE!qMiVh2?Ne7`Yy^lhHB=7^F&MbnxC3Ok(dE>Nh^I3ewE`2X^- zyb>S?A}>mONSE403^{@k&)M08Qur_i6T dKQS;oNEW}BnS;Y;ab5&g94khV^tE~ORDte*j z#n(?9yPx$h)G02R9J=WmAy&>K@i9PeiXT4Ih%tVIs25xGH+lPu<#{RQrM;v1;HYSFQApN zO6LPYeg zK7XdgCVkYZBiZ$Bf1|kv0O+>gtg$aa6R}MZASXclYy0mn?ZoCB3M2t3jiZXTU9Y6= zD4b;zT%zBL$uV;Y5L_16v7zCI4ZkTq^86;;N`~C(g9WK0d90N-hBp-(@(Cqx<9W7*eVoVN9)DN{PeFb6tu6!6l@eS_#t@fEMQm zTcBQ0vH(9|U~Fpn9mm0NI0T?pZwgwf05gG^6oB@n2tHbkfX~OWwxe)ouK2j#rZGk@ z$0Py#2k3U@UqBQACs*ose0T8y*R|(RSbHHVC@5Gvf6%IuRT`sCY5)KL07*qoM6N<$ Ef~vE{wEzGB literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff1.png b/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff1.png new file mode 100644 index 0000000000000000000000000000000000000000..d90cd5853980ffdb530b062879b73594dda0d7b6 GIT binary patch literal 225 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}vproLLn2z= zUUcL-WFXM`F#dL{Gv|)3y%WqoX6fX zOLOUzU*(ZrJ2Gcwtd0GiJW=>jPl#%+J;Q^&>Ma{~n!jXt9`onSa_8pFtci0t3Xi3> zz20KbryP4d_ubv4G6C1WTD4mU#~Cj*JhAUd&F=px+fD=@x>wDxW^0U`{}L@j?k#^C kIuw*@_Iqe9y&{(X`JsNqw8^*T16|DE>FVdQ&MBb@0P=8R^Z)<= literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff3.png b/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff3.png new file mode 100644 index 0000000000000000000000000000000000000000..9fae6badff1ba0fd588f39fe2872085f1bb270e7 GIT binary patch literal 234 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}OFUg1Ln2z= zUfjrg$Uva=;eD1R7S}vO)VMct{x)FcUXm(mrNR|FPiCjW46au@p6&bf<=$kz9>Zf2 z$^YhNTgn~ZSoNOKB2W8Z>62Xo?ek2;)pS>ASw6qIbM`dGRbE~%!{z?;J+QhI!?Esh z$qi*C-HEx(E-ZqHmz>sdXX@!lcR2g6<9>d7@5()u4XcJLa2S-JKjvanD{;k h<@@52$vu&;nM)$f0&960{{!92;OXk;vd$@?2>^?6Su_9u literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff4.png b/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff4.png new file mode 100644 index 0000000000000000000000000000000000000000..f36dc4afe90b4abf276f997adff7b99b54079afd GIT binary patch literal 227 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}b3I)gLn2z= zp4-TK$Uwm1;(V5twb5taoD#x=8@<4DXyv%kv&^^N>JAA ZeaF@qFW693!Vh#PgQu&X%Q~loCIDZ#S$Y5f literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff5.png b/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff5.png new file mode 100644 index 0000000000000000000000000000000000000000..01c4b157fc6c4ae816089293c7086dfe77233e22 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}lRaG=Ln2z= zUNGchG8ACFFrU}yOp>}{+$rt~JN*r7zi*5j*-n1Z!t z6gz(4yQK9jCV>5m&S@@*tHGtLL0&V08g;ar>gx~h`w;l*+Z9m-rA54VwXD8x4EUi8 PbRL7JtDnm{r-UW|1+-ND literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff6.png b/Resources/Textures/SS220/Objects/Consumable/Smokeables/Snuff/snuff-box.rsi/snuff6.png new file mode 100644 index 0000000000000000000000000000000000000000..13385911d96cbb01b9e3181c9de70f3b08049cb1 GIT binary patch literal 203 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}t)4E9ArY-_ z&l&O^R^V~C$iGS{DfJoG-Ks-~BcM}JCAbXR}s_5Dnx zzVFu<*$r#C8LBf~I9)h@oKw{D3UHT5KC`u!@%t4EF{3#e{y+yYc)I$ztaD0e0sssG BPA~uf literal 0 HcmV?d00001 From e9f1cccac5dbfae03bfab667fc4ab537011fd89a Mon Sep 17 00:00:00 2001 From: Maxon Date: Wed, 31 Jul 2024 08:44:57 +0000 Subject: [PATCH 13/23] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 59567dcb70b6..5520d031c005 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4256,3 +4256,29 @@ id: 339 time: '2024-07-31T08:38:01.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1485 +- author: Kemran + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u0430 \u0442\u0430\u0431\ + \u0430\u043A\u0435\u0440\u043A\u0430, \u0441\u043E\u0434\u0435\u0440\u0436\u0430\ + \u0449\u0430\u044F \u0432 \u0441\u0435\u0431\u0435 6 \u0438\u0437\u043C\u0435\ + \u043B\u044C\u0447\u0451\u043D\u043D\u043E\u0433\u043E \u0442\u0430\u0431\u0430\ + \u043A\u0430." + type: Add + - message: "\u0428\u0435\u0439\u0434\u0438\u0421\u0438\u0433 \u0414\u0435\u043B\u044E\ + \u043A\u0441 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0434\u0432\ + \u0435 \u0442\u0430\u0431\u0430\u043A\u0435\u0440\u043A\u0438." + type: Add + - message: "\u0428\u0435\u0439\u0434\u0438\u0421\u0438\u0433 \u0414\u0435\u043B\u044E\ + \u043A\u0441 \u0434\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0441\u0435\ + \u043C\u044C \u043F\u0435\u043F\u0435\u043B\u044C\u043D\u0438\u0446." + type: Add + - message: "\u0423\u0431\u0440\u0430\u043D\u0430 \u0432\u043E\u0437\u043C\u043E\u0436\ + \u043D\u043E\u0441\u0442\u044C \u0441\u0442\u0430\u043A\u0430\u0442\u044C \u0438\ + \u0437\u043C\u0435\u043B\u044C\u0447\u0435\u043D\u043D\u044B\u0439 \u0442\u0430\ + \u0431\u0430\u043A, \u043A\u043E\u043D\u043E\u043F\u043B\u044E \u0438 \u0440\ + \u0430\u0434\u0443\u0436\u043D\u0443\u044E \u043A\u043E\u043D\u043E\u043F\u043B\ + \u044E." + type: Remove + id: 340 + time: '2024-07-31T08:43:53.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1491 From a922d27168d2a5a1b6228821620c559f50618635 Mon Sep 17 00:00:00 2001 From: EstKemran <157578255+EstKemran@users.noreply.github.com> Date: Wed, 31 Jul 2024 18:52:48 +0300 Subject: [PATCH 14/23] Carpet&Natural Tiles (#1052) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * carpet * fix&sourse * fix * fix * Update Resources/Prototypes/SS220/Tiles/floors.yml Co-authored-by: Kit0vras <123590995+Kit0vras@users.noreply.github.com> * send * aaaaaaaaaaaaaaa * Update tiles.yml * Update floors.yml * какой блять шаролайн **** * Update planet.yml * sand-fix * localisation * fix? * Update meta.json * Revert "Update meta.json" This reverts commit 295f1cb8d39d9fa46c3f709eff7aad05295c680d. * Revert "fix?" This reverts commit cc6c04986eda3a114069471ca8d1b6de0313c42f. * Revert "sand-fix" This reverts commit 3909179e2ed534e48dc73d46e6bb61b7a79cfdbd. * Revert "Update floors.yml" This reverts commit 0a4187a63a191660b31b973983d1e258f58267d8. * Revert "Update tiles.yml" This reverts commit 149ce231d0996ca1b0037912e4abd34a590dd124. * Revert "aaaaaaaaaaaaaaa" This reverts commit 9562e4818bd545d68a1c42c53f659055072c1d8f. * revert-sand * Update floor_tile_stacks.yml --------- Co-authored-by: Kit0vras <123590995+Kit0vras@users.noreply.github.com> --- Resources/Locale/ru-RU/ss220/tiles/tiles.ftl | 12 ++ .../SS220/Entities/Objects/Misc/tiles.yml | 157 ++++++++++++++- .../SS220/Stacks/floor_tile_stacks.yml | 56 ++++++ Resources/Prototypes/SS220/Tiles/floors.yml | 189 ++++++++++++++++++ Resources/Prototypes/SS220/Tiles/planet.yml | 113 +++++++++++ .../tile_sh.rsi/carpet-black-inhand-left.png | Bin 0 -> 694 bytes .../tile_sh.rsi/carpet-black-inhand-right.png | Bin 0 -> 694 bytes .../Tiles/tile_sh.rsi/carpet-black.png | Bin 0 -> 192 bytes .../tile_sh.rsi/carpet-blue-inhand-left.png | Bin 0 -> 317 bytes .../tile_sh.rsi/carpet-blue-inhand-right.png | Bin 0 -> 322 bytes .../Objects/Tiles/tile_sh.rsi/carpet-blue.png | Bin 0 -> 217 bytes .../tile_sh.rsi/carpet-cyan-inhand-left.png | Bin 0 -> 304 bytes .../tile_sh.rsi/carpet-cyan-inhand-right.png | Bin 0 -> 311 bytes .../Objects/Tiles/tile_sh.rsi/carpet-cyan.png | Bin 0 -> 214 bytes .../tile_sh.rsi/carpet-green-inhand-left.png | Bin 0 -> 314 bytes .../tile_sh.rsi/carpet-green-inhand-right.png | Bin 0 -> 315 bytes .../Tiles/tile_sh.rsi/carpet-green.png | Bin 0 -> 217 bytes .../carpet-magenta-inhand-left.png | Bin 0 -> 701 bytes .../carpet-magenta-inhand-right.png | Bin 0 -> 701 bytes .../Tiles/tile_sh.rsi/carpet-magenta.png | Bin 0 -> 217 bytes .../tile_sh.rsi/carpet-orange-inhand-left.png | Bin 0 -> 309 bytes .../carpet-orange-inhand-right.png | Bin 0 -> 308 bytes .../Tiles/tile_sh.rsi/carpet-orange.png | Bin 0 -> 216 bytes .../tile_sh.rsi/carpet-purple-inhand-left.png | Bin 0 -> 315 bytes .../carpet-purple-inhand-right.png | Bin 0 -> 322 bytes .../Tiles/tile_sh.rsi/carpet-purple.png | Bin 0 -> 217 bytes .../tile_sh.rsi/carpet-red-inhand-left.png | Bin 0 -> 304 bytes .../tile_sh.rsi/carpet-red-inhand-right.png | Bin 0 -> 311 bytes .../Objects/Tiles/tile_sh.rsi/carpet-red.png | Bin 0 -> 214 bytes .../tile_sh.rsi/carpet-white-inhand-left.png | Bin 0 -> 677 bytes .../tile_sh.rsi/carpet-white-inhand-right.png | Bin 0 -> 681 bytes .../Tiles/tile_sh.rsi/carpet-white.png | Bin 0 -> 210 bytes .../SS220/Objects/Tiles/tile_sh.rsi/meta.json | 110 ++++++++++ .../Planet/dirty_water.rsi/dirty_water.png | Bin 0 -> 12178 bytes .../Tiles/Planet/dirty_water.rsi/meta.json | 26 +++ .../Tiles/Planet/stagnant_water.rsi/meta.json | 14 ++ .../stagnant_water.rsi/stagnant_water.png | Bin 0 -> 2097 bytes .../Textures/SS220/Tiles/attributions.yml | 10 + .../Textures/SS220/Tiles/carpetblack.png | Bin 0 -> 148 bytes Resources/Textures/SS220/Tiles/carpetblue.png | Bin 0 -> 151 bytes Resources/Textures/SS220/Tiles/carpetcyan.png | Bin 0 -> 148 bytes .../Textures/SS220/Tiles/carpetgreen.png | Bin 0 -> 151 bytes .../Textures/SS220/Tiles/carpetmagenta.png | Bin 0 -> 151 bytes .../Textures/SS220/Tiles/carpetorange.png | Bin 0 -> 151 bytes .../Textures/SS220/Tiles/carpetpurple.png | Bin 0 -> 151 bytes Resources/Textures/SS220/Tiles/carpetred.png | Bin 0 -> 148 bytes .../Textures/SS220/Tiles/carpetwhite.png | Bin 0 -> 152 bytes Resources/Textures/SS220/Tiles/mud.png | Bin 0 -> 974 bytes Resources/Textures/SS220/Tiles/rocks.png | Bin 0 -> 2902 bytes Resources/Textures/SS220/Tiles/wasteland.png | Bin 0 -> 3186 bytes 50 files changed, 686 insertions(+), 1 deletion(-) create mode 100644 Resources/Prototypes/SS220/Tiles/planet.yml create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-black-inhand-left.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-black-inhand-right.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-black.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-blue-inhand-left.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-blue-inhand-right.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-blue.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-cyan-inhand-left.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-cyan-inhand-right.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-cyan.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-green-inhand-left.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-green-inhand-right.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-green.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-magenta-inhand-left.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-magenta-inhand-right.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-magenta.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-orange-inhand-left.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-orange-inhand-right.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-orange.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-purple-inhand-left.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-purple-inhand-right.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-purple.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-red-inhand-left.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-red-inhand-right.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-red.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-white-inhand-left.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-white-inhand-right.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-white.png create mode 100644 Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/meta.json create mode 100644 Resources/Textures/SS220/Tiles/Planet/dirty_water.rsi/dirty_water.png create mode 100644 Resources/Textures/SS220/Tiles/Planet/dirty_water.rsi/meta.json create mode 100644 Resources/Textures/SS220/Tiles/Planet/stagnant_water.rsi/meta.json create mode 100644 Resources/Textures/SS220/Tiles/Planet/stagnant_water.rsi/stagnant_water.png create mode 100644 Resources/Textures/SS220/Tiles/carpetblack.png create mode 100644 Resources/Textures/SS220/Tiles/carpetblue.png create mode 100644 Resources/Textures/SS220/Tiles/carpetcyan.png create mode 100644 Resources/Textures/SS220/Tiles/carpetgreen.png create mode 100644 Resources/Textures/SS220/Tiles/carpetmagenta.png create mode 100644 Resources/Textures/SS220/Tiles/carpetorange.png create mode 100644 Resources/Textures/SS220/Tiles/carpetpurple.png create mode 100644 Resources/Textures/SS220/Tiles/carpetred.png create mode 100644 Resources/Textures/SS220/Tiles/carpetwhite.png create mode 100644 Resources/Textures/SS220/Tiles/mud.png create mode 100644 Resources/Textures/SS220/Tiles/rocks.png create mode 100644 Resources/Textures/SS220/Tiles/wasteland.png diff --git a/Resources/Locale/ru-RU/ss220/tiles/tiles.ftl b/Resources/Locale/ru-RU/ss220/tiles/tiles.ftl index 53933e1a6909..ca4daeeb22c7 100644 --- a/Resources/Locale/ru-RU/ss220/tiles/tiles.ftl +++ b/Resources/Locale/ru-RU/ss220/tiles/tiles.ftl @@ -22,3 +22,15 @@ tiles-shuttle-glass-floor = стеклянный пол шаттла tiles-reinforced-uranium-glass-floor = урановый бронестеклянный пол tiles-reinforced-plasma-glass-floor = плазменный бронестеклянный пол tiles-damaged-glass-floor = поврежденный стеклянный пол +carpet-white = белый ковёр +carpet-black = чёрный ковёр +carpet-red = красный ковёр +carpet-magenta = пурпурный ковёр +carpet-purple = фиолетовый ковёр +carpet-blue = синий ковёр +carpet-cyan = голубой ковёр +carpet-green = зелёный ковёр +carpet-orange = оранжевый ковёр +tiles-mud = грязь +tiles-rocks = камень +tiles-wasteland = пустошь diff --git a/Resources/Prototypes/SS220/Entities/Objects/Misc/tiles.yml b/Resources/Prototypes/SS220/Entities/Objects/Misc/tiles.yml index 62a73c9738fc..a4153eea91e4 100644 --- a/Resources/Prototypes/SS220/Entities/Objects/Misc/tiles.yml +++ b/Resources/Prototypes/SS220/Entities/Objects/Misc/tiles.yml @@ -475,4 +475,159 @@ - Plating - FloorWoodTileRed - type: Stack - stackType: FloorTileItemWoodTileRed \ No newline at end of file + stackType: FloorTileItemWoodTileRed + +# Carpet + +- type: entity + name: white carpet floor + parent: FloorTileItemBase + id: FloorTileItemCarpetWhite + components: + - type: Sprite + sprite: SS220/Objects/Tiles/tile_sh.rsi + state: carpet-white + - type: Item + heldPrefix: carpet-white + - type: FloorTile + outputs: + - Plating + - FloorTileCarpetWhite + - type: Stack + stackType: FloorTileStackCarpetWhite + +- type: entity + name: black carpet floor + parent: FloorTileItemBase + id: FloorTileItemCarpetBlack + components: + - type: Sprite + sprite: SS220/Objects/Tiles/tile_sh.rsi + state: carpet-black + - type: Item + heldPrefix: carpet-black + - type: FloorTile + outputs: + - Plating + - FloorTileCarpetBlack + - type: Stack + stackType: FloorTileStackCarpetBlack + +- type: entity + name: red carpet floor + parent: FloorTileItemBase + id: FloorTileItemCarpetRed + components: + - type: Sprite + sprite: SS220/Objects/Tiles/tile_sh.rsi + state: carpet-red + - type: Item + heldPrefix: carpet-red + - type: FloorTile + outputs: + - Plating + - FloorTileCarpetRed + - type: Stack + stackType: FloorTileStackCarpetRed + +- type: entity + name: magenta carpet floor + parent: FloorTileItemBase + id: FloorTileItemCarpetMagenta + components: + - type: Sprite + sprite: SS220/Objects/Tiles/tile_sh.rsi + state: carpet-magenta + - type: Item + heldPrefix: carpet-magenta + - type: FloorTile + outputs: + - Plating + - FloorTileCarpetMagenta + - type: Stack + stackType: FloorTileStackCarpetMagenta + +- type: entity + name: blue carpet floor + parent: FloorTileItemBase + id: FloorTileItemCarpetBlue + components: + - type: Sprite + sprite: SS220/Objects/Tiles/tile_sh.rsi + state: carpet-blue + - type: Item + heldPrefix: carpet-blue + - type: FloorTile + outputs: + - Plating + - FloorTileCarpetBlue + - type: Stack + stackType: FloorTileStackCarpetBlue + +- type: entity + name: green carpet floor + parent: FloorTileItemBase + id: FloorTileItemCarpetGreen + components: + - type: Sprite + sprite: SS220/Objects/Tiles/tile_sh.rsi + state: carpet-green + - type: Item + heldPrefix: carpet-green + - type: FloorTile + outputs: + - Plating + - FloorTileCarpetGreen + - type: Stack + stackType: FloorTileStackCarpetGreen + +- type: entity + name: cyan carpet floor + parent: FloorTileItemBase + id: FloorTileItemCarpetCyan + components: + - type: Sprite + sprite: SS220/Objects/Tiles/tile_sh.rsi + state: carpet-cyan + - type: Item + heldPrefix: carpet-cyan + - type: FloorTile + outputs: + - Plating + - FloorTileCarpetCyan + - type: Stack + stackType: FloorTileStackCarpetCyan + +- type: entity + name: purple carpet floor + parent: FloorTileItemBase + id: FloorTileItemCarpetPurple + components: + - type: Sprite + sprite: SS220/Objects/Tiles/tile_sh.rsi + state: carpet-purple + - type: Item + heldPrefix: carpet-purple + - type: FloorTile + outputs: + - Plating + - FloorTileCarpetPurple + - type: Stack + stackType: FloorTileStackCarpetPurple + +- type: entity + name: orange carpet floor + parent: FloorTileItemBase + id: FloorTileItemCarpetOrange + components: + - type: Sprite + sprite: SS220/Objects/Tiles/tile_sh.rsi + state: carpet-orange + - type: Item + heldPrefix: carpet-orange + - type: FloorTile + outputs: + - Plating + - FloorTileCarpetOrange + - type: Stack + stackType: FloorTileStackCarpetOrange diff --git a/Resources/Prototypes/SS220/Stacks/floor_tile_stacks.yml b/Resources/Prototypes/SS220/Stacks/floor_tile_stacks.yml index eeb00f62670d..226ff75adda5 100644 --- a/Resources/Prototypes/SS220/Stacks/floor_tile_stacks.yml +++ b/Resources/Prototypes/SS220/Stacks/floor_tile_stacks.yml @@ -154,3 +154,59 @@ name: tile red wood floor spawn: FloorTileItemWoodTileRed maxCount: 30 + +# Carpet + +- type: stack + id: FloorTileStackCarpetWhite + name: white carpet floor + spawn: FloorTileItemCarpetWhite + maxCount: 30 + +- type: stack + id: FloorTileStackCarpetBlack + name: black carpet floor + spawn: FloorTileItemCarpetBlack + maxCount: 30 + +- type: stack + id: FloorTileStackCarpetBlue + name: blue carpet floor + spawn: FloorTileItemCarpetBlue + maxCount: 30 + +- type: stack + id: FloorTileStackCarpetOrange + name: orange carpet floor + spawn: FloorTileItemCarpetOrange + maxCount: 30 + +- type: stack + id: FloorTileStackCarpetCyan + name: cyan carpet floor + spawn: FloorTileItemCarpetCyan + maxCount: 30 + +- type: stack + id: FloorTileStackCarpetMagenta + name: magenta carpet floor + spawn: FloorTileItemCarpetMagenta + maxCount: 30 + +- type: stack + id: FloorTileStackCarpetGreen + name: green carpet floor + spawn: FloorTileItemCarpetGreen + maxCount: 30 + +- type: stack + id: FloorTileStackCarpetPurple + name: purple carpet floor + spawn: FloorTileItemCarpetPurple + maxCount: 30 + +- type: stack + id: FloorTileStackCarpetRed + name: red carpet floor + spawn: FloorTileItemCarpetRed + maxCount: 30 diff --git a/Resources/Prototypes/SS220/Tiles/floors.yml b/Resources/Prototypes/SS220/Tiles/floors.yml index 3098bd97026e..59eb0cb1065f 100644 --- a/Resources/Prototypes/SS220/Tiles/floors.yml +++ b/Resources/Prototypes/SS220/Tiles/floors.yml @@ -682,3 +682,192 @@ collection: FootstepTile itemDrop: ShardGlass heatCapacity: 10000 + +################### +- type: tile + id: FloorTileCarpetWhite + name: carpet-white + sprite: /Textures/SS220/Tiles/carpetwhite.png + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepCarpet + barestepSounds: + collection: BarestepCarpet + friction: 0.25 + itemDrop: FloorTileItemCarpetWhite + heatCapacity: 10000 + +- type: tile + id: FloorTileCarpetBlack + name: carpet-black + sprite: /Textures/SS220/Tiles/carpetblack.png + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepCarpet + barestepSounds: + collection: BarestepCarpet + friction: 0.25 + itemDrop: FloorTileItemCarpetBlack + heatCapacity: 10000 + +- type: tile + id: FloorTileCarpetRed + name: carpet-red + sprite: /Textures/SS220/Tiles/carpetred.png + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepCarpet + barestepSounds: + collection: BarestepCarpet + friction: 0.25 + itemDrop: FloorTileItemCarpetRed + heatCapacity: 10000 + +- type: tile + id: FloorTileCarpetMagenta + name: carpet-magenta + sprite: /Textures/SS220/Tiles/carpetmagenta.png + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepCarpet + barestepSounds: + collection: BarestepCarpet + friction: 0.25 + itemDrop: FloorTileItemCarpetMagenta + heatCapacity: 10000 + +- type: tile + id: FloorTileCarpetPurple + name: carpet-purple + sprite: /Textures/SS220/Tiles/carpetpurple.png + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepCarpet + barestepSounds: + collection: BarestepCarpet + friction: 0.25 + itemDrop: FloorTileItemCarpetPurple + heatCapacity: 10000 + +- type: tile + id: FloorTileCarpetBlue + name: carpet-blue + sprite: /Textures/SS220/Tiles/carpetblue.png + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepCarpet + barestepSounds: + collection: BarestepCarpet + friction: 0.25 + itemDrop: FloorTileItemCarpetBlue + heatCapacity: 10000 + +- type: tile + id: FloorTileCarpetCyan + name: carpet-cyan + sprite: /Textures/SS220/Tiles/carpetcyan.png + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepCarpet + barestepSounds: + collection: BarestepCarpet + friction: 0.25 + itemDrop: FloorTileItemCarpetCyan + heatCapacity: 10000 + +- type: tile + id: FloorTileCarpetGreen + name: carpet-green + sprite: /Textures/SS220/Tiles/carpetgreen.png + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepCarpet + barestepSounds: + collection: BarestepCarpet + friction: 0.25 + itemDrop: FloorTileItemCarpetGreen + heatCapacity: 10000 + +- type: tile + id: FloorTileCarpetOrange + name: carpet-orange + sprite: /Textures/SS220/Tiles/carpetorange.png + baseTurf: Plating + isSubfloor: false + deconstructTools: [ Prying ] + footstepSounds: + collection: FootstepCarpet + barestepSounds: + collection: BarestepCarpet + friction: 0.25 + itemDrop: FloorTileItemCarpetOrange + heatCapacity: 10000 + +- type: tile + id: FloorTileMud + name: tiles-mud + sprite: /Textures/SS220/Tiles/mud.png + baseTurf: FloorDirt + isSubfloor: false + footstepSounds: + collection: FootstepGrass + heatCapacity: 10000 + +- type: tile + id: FloorRocks + name: tiles-rocks + sprite: /Textures/SS220/Tiles/rocks.png + variants: 9 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.09 + baseTurf: FloorDirt + isSubfloor: true + footstepSounds: + collection: FootstepTile + heatCapacity: 10000 + +- type: tile + id: FloorWasteland + name: tiles-wasteland + sprite: /Textures/SS220/Tiles/wasteland.png + variants: 9 + placementVariants: + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.0 + - 1.09 + baseTurf: FloorDirt + isSubfloor: true + footstepSounds: + collection: FootstepTile + heatCapacity: 10000 +################### diff --git a/Resources/Prototypes/SS220/Tiles/planet.yml b/Resources/Prototypes/SS220/Tiles/planet.yml new file mode 100644 index 000000000000..00a11abc9c65 --- /dev/null +++ b/Resources/Prototypes/SS220/Tiles/planet.yml @@ -0,0 +1,113 @@ +- type: entity + id: FloorDirtyWaterEntity + name: грязная вода + description: Пить это явно не стоит... + placement: + mode: SnapgridCenter + snap: + - Wall + components: + - type: FloorOccluder + - type: Transform + anchored: true + - type: SyncSprite + - type: Clickable + - type: Sprite + sprite: SS220/Tiles/Planet/dirty_water.rsi + drawdepth: BelowFloor + layers: + - state: dirty_water + - type: SolutionContainerManager + solutions: + pool: + maxVol: 9999999 #.inf seems to break the whole yaml file, but would definitely be preferable. + reagents: + - ReagentId: Water + Quantity: 9999999 + - type: SolutionRegeneration + solution: tank + generated: + reagents: + - ReagentId: Water + Quantity: 100 + - type: DrainableSolution + solution: pool + - type: SpeedModifierContacts + walkSpeedModifier: 0.5 + sprintSpeedModifier: 0.5 + - type: Physics + bodyType: Static + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.5,-0.5,0.5,0.5" + layer: + - SlipLayer + mask: + - ItemMask + density: 1000 + hard: false + - type: FootstepModifier + footstepSoundCollection: + collection: FootstepWater + params: + volume: 8 + +- type: entity + id: FloorStagnantDirtyWaterEntity + name: грязная вода + description: Пить это явно не стоит... + placement: + mode: SnapgridCenter + snap: + - Wall + components: + - type: FloorOccluder + - type: Transform + anchored: true + - type: SyncSprite + - type: Clickable + - type: Sprite + sprite: SS220/Tiles/Planet/stagnant_water.rsi + drawdepth: BelowFloor + layers: + - state: stagnant_water + - type: SolutionContainerManager + solutions: + pool: + maxVol: 9999999 #.inf seems to break the whole yaml file, but would definitely be preferable. + reagents: + - ReagentId: Water + Quantity: 9999999 + - type: SolutionRegeneration + solution: tank + generated: + reagents: + - ReagentId: Water + Quantity: 100 + - type: DrainableSolution + solution: pool + - type: SpeedModifierContacts + walkSpeedModifier: 0.5 + sprintSpeedModifier: 0.5 + - type: Physics + bodyType: Static + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.5,-0.5,0.5,0.5" + layer: + - SlipLayer + mask: + - ItemMask + density: 1000 + hard: false + - type: FootstepModifier + footstepSoundCollection: + collection: FootstepWater + params: + volume: 8 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-black-inhand-left.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-black-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..c1db5dfc067e61ccabe9f6eede39ea588ed41f5f GIT binary patch literal 694 zcmV;n0!jUeP)EX>4Tx04R}tkv&MmP!xqvTcx5E2P=p=WT@g`K~%(1t5Adrp;lE=H#a9m7b)?+q|hS93y=44-aUu+?gRX_5>w5#aX{59 zBN>kg>CCDSd_@-q;X@xrC1&b#qL_eZece+h)m@ZldH4NU-AdMEfKMQvWx8PzZxBy! zS~}-_;xH>n3h_Ddm_ZjLe&o9B@*C&8!+xF_Hd4uX;xMt0Z(+HGS;0_=r-&nps!_f_ z?Xtpoi?dp)u*N<43qx6LWtr==h7iXhmLNiaj0%bA{&2mgcLvo&**6K+x{2DHD}_Qx;~+y&}Y+x|Yb?fMB2cm}StroUVRWkkQ^yM%b&{u?`QN)8KCzT=v;H>);P!M1CXLwC2oL& zLtrFN+3Ozf?r5Fczdeol{Qzd7a-u6*U$6iG0P9IaK~#90?b@*pf-n??;iK^Zu*@vL z>SkQs^qF;YHEzzhICJ3*>Sl<81ZYi&|F^Lmn$x@WN&o-=0002^FN;{ghyBq@l3AnM z{W|zR+s)29x0WQGFQ;hdT*U~@v%;G-vbG+bVQnpIYq=y;M1& literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-black-inhand-right.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-black-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..c9e8455b5058b8209dbfd2bed755b344874dfebd GIT binary patch literal 694 zcmV;n0!jUeP)EX>4Tx04R}tkv&MmP!xqvTcx5E2P=p=WT@g`K~%(1t5Adrp;lE=H#a9m7b)?+q|hS93y=44-aUu+?gRX_5>w5#aX{59 zBN>kg>CCDSd_@-q;X@xrC1&b#qL_eZece+h)m@ZldH4NU-AdMEfKMQvWx8PzZxBy! zS~}-_;xH>n3h_Ddm_ZjLe&o9B@*C&8!+xF_Hd4uX;xMt0Z(+HGS;0_=r-&nps!_f_ z?Xtpoi?dp)u*N<43qx6LWtr==h7iXhmLNiaj0%bA{&2mgcLvo&**6K+x{2DHD}_Qx;~+y&}Y+x|Yb?fMB2cm}StroUVRWkkQ^yM%b&{u?`QN)8KCzT=v;H>);P!M1CXLwC2oL& zLtrFN+3Ozf?r5Fczdeol{Qzd7a-u6*U$6iG0P9IaK~#90?b@M^!axwl@$bkzKs(hn zEfzeBzuZFan8aqjgiY{n`ada&Pr}JVg8djD2|5$h$_C6{^ZQoG+(jhESDtaBt;Z^RzZP0Luzp z6JVChvLf_Naw_hVYnIEs)%kLY)(=X+kV#I(*uDoR;MpXnVr<{DPXGV_0000000000 zJXo(bq3@ld#h7C68dYT-?%%14uE+m#-MufXbOnQ_tDnm{r-UW|xvxaw literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-blue-inhand-left.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-blue-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..5cde874bfdd6f608e40cd5ee50ab4fe94054e999 GIT binary patch literal 317 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|zI(bjhE&XX zd&`io$w8p?;c~+uM^B~Bsq7D!<{XeN;InOuJ1%^qibb3GOU_o4?DUS-mQq8-fAQ|0 zZ=CTlS7rnn!NBlfzs@qQdvE>yChgjG@o|;h-}$+P1+P<-J$J?TP2O8<>6$TX`nqiC znXlBcv)1!uXU%-IY+de@XG^*N9GM>a;y~T=YbV`eZ&y5ZDO^_PCz5_HeNr2XeuL@O zH7iAr&Mg1#{EUY)uHpN+)>#bq=P1_OLo5Z`Y`}f{(F40${+Umlo=pEW`>~1s-5b6| zAHM!r?^^h6m-{4>UwsMRSbuzjkdsoru|Al@!tmfd=jTtQ{WB{Y1wp2Gy85}Sb4q9e E0LMLtmH+?% literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-blue-inhand-right.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-blue-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..62de62ecc4826c9a97d3744552d36c378792db88 GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|{&>1LhE&XX zduwCwAqRohhsR&0xR-ULC@<1(XqdwFqQPp1(So_F8>R?#2)w={y>_zdBNnT&gX)Sm zfBfHc)z3g`Z;l%i&=>}W0~>mr>U`KgQQv*1Dz<&{jXgQ!l0mbcX(IKkF}i3a;+-CO(j{?@2aEb8C< z>{-+k*=_3&e*IxP{cg3{%>Vc9e~DeqxaaY^zww+CewCUE8UJ8mU}$^8vwnH0Tu8EJ PH^>lAS3j3^P6ZwW7#M8$>}B}p z&mSH=Kb`+qk3Ow@dSc?U*^dw1+E6xmPK|BdmOC?E%6VRT wW!-dHJmIzM!I#_{zD|1bh4sNC76yU$+?-#_bQmSR$$<>x#ntJXR(`Xas%9zv{p8v?mj#?Q+F3VbEX!DS z>-R;?b0@Ft`#-l~qvyG!SN4U^hu8=ve<`YI zRrUVz$9vOQdkrtV$du^%+|4_;n3EwYThO&AcJ*}uz5gq`*`l&PyY(6_=QXY3eOOd? z(Luyf#4@)ce815FmKhAf2~0i@UbBQe-%+e*yR+@H#j0n*PXEsGF=feWops!%2y`2R Mr>mdKI;Vst03BUY%K!iX literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-green-inhand-left.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-green-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..faa2a2f6d7b7c6cc7487206dbe86bba33854f220 GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|zIeJghE&XX zd&`jPkb^+$!{r@~whju6-3gg*6N~yPcx-1zL`89WCadeHoQ>j8jF8xLljGq3*FjI- z8X4d1V*#4Lz|io2(+sVO>O0n+Sz4=qzqI->$9H4#>mweM^4dSAe2?)HlzKihTWj_6 zrwey&iIXh-`EUQqHIHnH8`s~6YUO)VmN!?zbZR`~qAM$A3okwP(3J`_i#|O6 z7~dUq`JJ+-)E;+(-%LGsm1op49?P3_W*ST z^mL9PPrSJ@BhU~Ah6U04l3Fh&2~9fVF=^ZB`!Dt{`xSY%No8v5<-EO}-~P*LSG+Fy zaeKASoVL$}74DPY8_nr=j-2!B`?b)2Z;x_i=9Tz4Op;u>lQVR3PS@)vYBK{P_gFCG z&)rk%Rs6Z6%QtBI`+D^UH&tdY%DX?;A8aFpxFe~nw(!+mw~O2p-S_O>EB3SHZFY(6 zzY~?;@6G4a`)-~ap3N|SM|Hg>W6~K44$rjF6*2UngELsSA75g literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-magenta-inhand-left.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-magenta-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..0665d719b5fe134fb37ee15afcf32f35f7fd6cd7 GIT binary patch literal 701 zcmV;u0z&EX>4Tx04R}tkv&MmP!xqvTcx5E2P=p=WT@g`K~%(1t5Adrp;lE=H#a9m7b)?+q|hS93y=44-aUu+?gRX_5>w5#aX{59 zBN>kg>CCDSd_@-q;X@xrC1&b#qL_eZece+h)m@ZldH4NU-AdMEfKMQvWx8PzZxBy! zS~}-_;xH>n3h_Ddm_ZjLe&o9B@*C&8!+xF_Hd4uX;xMt0Z(+HGS;0_=r-&nps!_f_ z?Xtpoi?dp)u*N<43qx6LWtr==h7iXhmLNiaj0%bA{&2mgcLvo&**6K+x{2DHD}_Qx;~+y&}Y+x|Yb?fMB2cm}StroUVRWkkQ^yM%b&{u?`QN)8KCzT=v;H>);P!M1CXLwC2oL& zLtrFN+3Ozf?r5Fczdeol{Qzd7a-u6*U$6iG0P;yhK~#90?b;y@!Y~xZ@ehLO1)6MT z7RyEE=XV288~_D3;7SC8-~?MzfvqftEDM5Vr6XDR|J=mBHt#*xCjkHe0002szbvK- zK5q6wl3MR{x}Qg%vt8FAGggwcyB;RH=W>eBswhM2oi2}?8trpE74i@&defF4Y9Y<_!7!2><{9 z000000001hS=g@Y@acQVBpV{X)PFgyiZYCSNlyMe{%g6h-9D0}(R&25FTl5Z1hX%| jx0@uhF94e)0DyQ;u!nXs|My9X00000NkvXXu0mjf2KP2m literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-magenta-inhand-right.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-magenta-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..3058b6466bebcbcf44c36ec0210d7303100d6c7a GIT binary patch literal 701 zcmV;u0z&EX>4Tx04R}tkv&MmP!xqvTcx5E2P=p=WT@g`K~%(1t5Adrp;lE=H#a9m7b)?+q|hS93y=44-aUu+?gRX_5>w5#aX{59 zBN>kg>CCDSd_@-q;X@xrC1&b#qL_eZece+h)m@ZldH4NU-AdMEfKMQvWx8PzZxBy! zS~}-_;xH>n3h_Ddm_ZjLe&o9B@*C&8!+xF_Hd4uX;xMt0Z(+HGS;0_=r-&nps!_f_ z?Xtpoi?dp)u*N<43qx6LWtr==h7iXhmLNiaj0%bA{&2mgcLvo&**6K+x{2DHD}_Qx;~+y&}Y+x|Yb?fMB2cm}StroUVRWkkQ^yM%b&{u?`QN)8KCzT=v;H>);P!M1CXLwC2oL& zLtrFN+3Ozf?r5Fczdeol{Qzd7a-u6*U$6iG0P;yhK~#90?b;#E0x=MV;qNDyT11mw zgGFEn_rT-10VocD;=ch`A{YcG=q44|%3^>JpbJYvvdg}YYo=l{`P_^I000000DyM+ zOBLpWSr7n`B+wCO0!y#is*s!OI1&+}M{>tdpvJzny?rldOxXeYZXV z0000000000008h{KA6R_cM~NqM4oYX*CM~LeNC>%pSkSb$Gze8{-)_F4d54d?;j;V jYSz_Anbs!&0MKS9iDh-9El6nx00000NkvXXu0mjfA+0x5 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-magenta.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-magenta.png new file mode 100644 index 0000000000000000000000000000000000000000..9969cd7082a105269f78384eb6790e0a2d0531af GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}lRaG=Ln2y} z6C_v{Cy4Zv9PsE_BzJh#e}iwI->;WYu{i$bgNJuQPI4Uu( zww_g7ecJv%57qXRZ4fAG5Lqs9$9>YABn>;2Hn8Y3;gSQJfo1?zwmxzW`YB?WV8Y_& z3?njRnOs7TgN!`6lD9hljN++3fd*V|2T!muTx^g{OSwPS8R$F)Pgg&ebxsLQ0E*pF Aq5uE@ literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-orange-inhand-left.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-orange-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..115ad1d53e5e5c80a89b02a9e37f56d911976044 GIT binary patch literal 309 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|-g~+@hE&XX zdut=_Ap?QdhwMewtgNn^oW&9t(@w}3u<;yWDp~VTL_{P{LuV%2!j2}5V~$-v_UpOM zTf6&pjS$cTAozDWY1Mj!TVy&xJm_k}9^qY~?} zJeqM0-_K2*)o^EyV!b^h#5NFVzzwvb_LrQ|$+i>vU*r33AG>s8`jbcJAMX#FUHw+s tQ);if!EdIT-4N2#=r_{_PbP*F-x`_~fE@q; literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-orange-inhand-right.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-orange-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..e881c1fafacb20d7d95c0c9ba3e8aa2d61332cc6 GIT binary patch literal 308 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|-g&w>hE&XX zdut=_Ap?QdhwMd;kDHp5ZZ>xHvCe3;JS1TtzD2#xdcNXq!a;RTV~%Iao^fI#@>wX%?ede@!aPzr6&w0E5jvp0Q)^y1j zNHHx|gb`c#7#FR2>=AqK|C1|idyn4}PW`6=azY9-gLR~wa@~@kZ$Q^Ec)I$ztaD0e F0ssLIPu2hc literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-purple-inhand-left.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-purple-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..4cdc76b45a374291eeece5820cb815ed7eebd78e GIT binary patch literal 315 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|zIwVihE&XX zdrMKM$wB1UNB`rS1ZRtAT|Fmi!*J61f#DZ{c?XLv!n#Fo37M}uo5*9N!)@I2KYnq| zn?2ueRSN-40D^y~vsOKL{O^tG$z5*SpQnDP=c|0WJx$$nm!03_y~Vb!855`8+vTQT z9sc^&f}U$vt8VUIlO2+>wExeMe&06-@}6%?Q-3{c!JH#YUOiJ$`>Htkih31eRQT%B ztwNL8%I(wq=D%S5@h)Z!C&$^BpT7%3>;#kD1t+xszutXbMO>-)RbF5BnlH}gCof)q zTe;IjS;M$Pg^{79nmOOL^tHS8mT4eEJYD@<);T3K F0RTUXhL->U literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-purple-inhand-right.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-purple-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..ea57d49341fd57c043ff0eea72cdc9209bede128 GIT binary patch literal 322 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|{&>1LhE&XX zdrL8o*-)VM;q_HV3Z}oE)G+D7DwFUNj7?P?Pb6L{7PZY&*3#wtY9!5960j<)cW&Mi zkKH%_Cr@MVaqB z<5?+3HS6mwGuB?xowaA`(VVGGrB*F_7yV3n8~ko@(ON&w6|sv?ZCz<{a^a7ecW#+- zT@!u1nYrVc=-JgpZ;xv7dEVdme{O^KWSOpgwf=UD5L-dy2avT(ze}X*yPWHMRv+7a z=kPbv-E#KNw^Y}!i{Jk~|Jb_g4DSlR*M%}IDU9u%;sey&plQvtV`6Fc`}s4pKxTNl L`njxgN@xNA{9ld{ literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-purple.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-purple.png new file mode 100644 index 0000000000000000000000000000000000000000..4df47b126a687f0c2f9182152d8ec20ee5de54b5 GIT binary patch literal 217 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}lRaG=Ln2y} z6C_v{Cy4Zv9PsE_RB?FTe}iwk-=CLku~3!lc&Kj^?{uN2i7V%c@_%Ck0|SmCFT*|m z|MBSg>HI%&_-V!41jQ!|j((au`hn^LYdm@6J0ZkKm8IEs|J>6bkmJDNKTFcux|HoGkS&R2E^HQbu_Mg)1xoET8K<$XnrAbd%CFWdyFo!F7(eC+1>7JjM z{*>umWjXRpXXhV?gpF literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-red-inhand-right.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-red-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..fb4f87b32f001c92983fb93acc1ff02d0118407e GIT binary patch literal 311 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=jKx9jP7LeL$-D$|K6<)1hE&XX zd&{=(kbywk!+b%#I~SICO=&ZJlWD)!jxDqjs>Eq}e~Z+?;dL7(M`0rHFa zLZ{xl_++=tDlMRt2@hA=(ObFi7JrPp&T{44%8zza)htE7pIkdPSU!29opnRPvV>*F zelHK6GihV(e{06`K-uKqakWekD?#Lg{^Z-sE>-t!5?AVH*&Kge$@|8>wCj)iW6Iyp z-+lM(zqEI5ya}DVzfTuZIQu$lNy=BCbJyHt4Jj%q|D5Lg6=Z~`tDnm{r-UW|Wrm1a literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-red.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-red.png new file mode 100644 index 0000000000000000000000000000000000000000..2b51f0dea994d1adcd1deb421dbb48ae869b75c2 GIT binary patch literal 214 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz#^NA%Cx&(BWL^R}6FglULn2z= zPTk1aU?AYSU*RMh<7KO<)fR2%9)^TDwd53-Z8S9QYGJ`=lfyw8=YnG7bJBsyeceXv=wBnht)4#KPPrk@WM>BXw0^P>o M>FVdQ&MBb@070u%jQ{`u literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-white-inhand-left.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-white-inhand-left.png new file mode 100644 index 0000000000000000000000000000000000000000..38093fafffe5dc19a916b2c69be9980c2a596c6d GIT binary patch literal 677 zcmV;W0$TlvP)EX>4Tx04R}tkv&MmP!xqvTcx5E2P=p=WT@g`K~%(1t5Adrp;lE=H#a9m7b)?+q|hS93y=44-aUu+?gRX_5>w5#aX{59 zBN>kg>CCDSd_@-q;X@xrC1&b#qL_eZece+h)m@ZldH4NU-AdMEfKMQvWx8PzZxBy! zS~}-_;xH>n3h_Ddm_ZjLe&o9B@*C&8!+xF_Hd4uX;xMt0Z(+HGS;0_=r-&nps!_f_ z?Xtpoi?dp)u*N<43qx6LWtr==h7iXhmLNiaj0%bA{&2mgcLvo&**6K+x{2DHD}_Qx;~+y&}Y+x|Yb?fMB2cm}StroUVRWkkQ^yM%b&{u?`QN)8KCzT=v;H>);P!M1CXLwC2oL& zLtrFN+3Ozf?r5Fczdeol{Qzd7a-u6*U$6iG0NP1JK~#90?b zzG*xCWLV$LcRM1qtZE&nS^8nwozV}A^ur=Wo=92M`g%SthF3g}|8iCv5R$XTd;|QK zv)X`=oHgbHDDp(IdnzI#**%qUntz(J=I=KE0000000000005%!-5c22Be>dL=Y0Op zaaq;6^(Xm|ip-gcJQ2S~w6#YN{QyFH1kn#5v`G^E0BDi`0QP$Wdk~(nQy}gS00000 LNkvXXu0mjfTd5|l literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-white-inhand-right.png b/Resources/Textures/SS220/Objects/Tiles/tile_sh.rsi/carpet-white-inhand-right.png new file mode 100644 index 0000000000000000000000000000000000000000..cb65021c607db4f3981a1d39435cdfe1756ea003 GIT binary patch literal 681 zcmV;a0#^NrP)EX>4Tx04R}tkv&MmP!xqvTcx5E2P=p=WT@g`K~%(1t5Adrp;lE=H#a9m7b)?+q|hS93y=44-aUu+?gRX_5>w5#aX{59 zBN>kg>CCDSd_@-q;X@xrC1&b#qL_eZece+h)m@ZldH4NU-AdMEfKMQvWx8PzZxBy! zS~}-_;xH>n3h_Ddm_ZjLe&o9B@*C&8!+xF_Hd4uX;xMt0Z(+HGS;0_=r-&nps!_f_ z?Xtpoi?dp)u*N<43qx6LWtr==h7iXhmLNiaj0%bA{&2mgcLvo&**6K+x{2DHD}_Qx;~+y&}Y+x|Yb?fMB2cm}StroUVRWkkQ^yM%b&{u?`QN)8KCzT=v;H>);P!M1CXLwC2oL& zLtrFN+3Ozf?r5Fczdeol{Qzd7a-u6*U$6iG0NzPNK~#90?bqL>m<#hK-00000004j_Da#9It##H~ z_w6iGwAr(~7|g%xdtu5(rfhUP1d5Z?UCyV?{4w7nPEuE0Ynif{{*!J4#!T{8_~stf zfR`ruVZOP02XH(DiuR!-DcXmsuJwE=-^e%j>Kgz6000000000001xhW?Mt~C7_#;G z*p!XpBz4{ArR!afKhy5s+q;fhXR>qhrBO7Eztpop0@#nVFksb(tJq zYwiE=(UDJ!5AXeO%kcu^^7CQ`53kK#u3@J#wV%JI?LYaJ#!{7L?q8Am_q!on;gNmfsU1*H@;zPbLH-?cb>ct(D|z*>u(GpedW&KWsp`ZLzT8jJG1f%%4m8^Km3D5j1lHtK}-?LvdHhYO$z`Ry8wS^%$0h7i7Kf9X|){o@hCKYhYDjmSAeDFtH; zoOQB(z4xfzCS3Xps;UxsODRYxiQRN&qw&o*?XRjTecKQulMs6J&>GvJfM zoEG>)gGEL7>|l%$W3k_Pv~P~k&Oj-^P8!oZiQ@S%0zg$&(3QqiW*poeFP^<*q# zp3#(A97-ug9L7A)v}f8N_>8J2XVo+fa?axX>%GT(o{-+ns3xE(HRiOSz3ULFgtmB* zf9wL>%LeV61FUyY3NT|O&WG(UgaEBI{c~+Fl?4a4$2g8iDZx1>>$Ciq{sL7gsB?zC zvzT3kUo5=$sH#f#U*9>Dih|3SC$z>PMP2uLZ31L)%j^H{@96`*iE{G0Wsc|rl% zU$68)B-dYQ-HSmLlIv5;Y-NQ9CPQw`;8qCXl{WGiG^Z#07F(Z)uuV+td{gwSK zVWHodG=k4C_cioDPRwXJ$Lco@>Y!n23b->Cw8diy3-sUpyMO&tN=XciUq)+<+$l_D zMjb8Eor3B#>Q^m%=P`Wlp*|)#G|RG}LxZWzXzw~;Um@Np`30Usw!x$CGxUS8e?Ey)Hu%<)X|Djaul=g3dU)ajA5Q<)C(yZ`wC;8VZZY*_chK> zC)ke)IA;uL0(=EKR!BLC5yVK&Af+T3h`KjeE;DS~&@UoysNgmVrd1S|{5 z)V%Cab_zq9pk6!VV}<$i2>VeXyq|Cy&a%F$l*nqWmAzC-QM7$@xGX(6Q*B_3k;rS` z0sYX6!NwF}1_gD{sE%ah`q4q(IrN_{Fi!K(Qr7ENrSX4l# z8Z7$^v=!`k9@bk-rxEJoRcESFs1vQ*99xuKg>-+_zxm6z_0NBC!mK*;Sa&6U-BUGadfz`ue~8Z~m*FIQ8UcSi73M@; z=sSn%XpmZ<*|j9}rC=BaIOilnrkr5L3fOCkcE1GV=Lj1#rG;TZ3y;_q#45pOhZy5c z8FJVkt|@Nkp-hF?WRzV6budtdQgoa%Dc!E6hoNY!E(O?Y)UAj5d6hqCNeg{;*Y%T= zL%1vpa?aRwJ25oZI9N~7Lmf0yTj0Bf_Ud$X+Da)&k^N$!4zxag2`Hxo8#I=%AeW3f zSy{g+HTK5?=4rZ#gslJSXkcoKsSdEUMGlFAfN_`yiu_t@Np+WHL6d8Yc_#Tc`k$8> zAp}@sVee~TuMrg4khNCQ-?nK*ep4G*@5ojoS_~q>e<|+m+=6=C@kk0`a?#3rh}|58GRgKy+zq6 zG{IpQ2C1I`kn!XhzVj%jh-scE)mfcPj1dp^4kKnnm+{cvLqQ?LfL*t{SwCDBxK9=I zKpUwp88gT+rNAo|yf5+|yZ!Z?lSR0DM|D5oS?2OH@)j&L)*f0%;Euax>q z|FI9SA8FsKzCc|vrZPi2Iuvd;f>~*;sT4F+I+O~idf;?EQHpMilv_9YZ|;Fy97H~Oz$IJB`w2;nRJ zll>{EO9svv>QXRcfvM?y*|EC84Xm}O6lK4zsi7{ErKEgy7UMMHg?|wF^^gDf4?h6_ znhHLV=iNQ*v7Bevk4n;vl*r?S7^r^i6yg$rrh*Mx0GfH8DJ}L1iwaN^MHcV<6-cTm z0|-+<^Sq`t$qGo5hKT0b(C^NZ2$6C^lSwdhU!$BN>bk}>Pb7Rr>84K(Wk*pu#2~5t zJkQwg_BgwN%7~9Z3;|;o&=xNsT^`fT`qMn2(iNteYR7VlNcRfWi4@9CfE}Pu4zVdv zmvRG!aipBejNQW?`U6GBv7 z&$Kp|R_q9{uMp?2^QWGnKy@PQgzb;ZA+kRTnlTZ`H%*fOavVU-6TZ^_ z-OGDS&*P2!DJQYxCfC3@uK|`a>KG%YX%ZZV0x+$g^3_3bhIw{_*q{E#|M1`b)ZTSi zmYF05i&=R7#;~D7}g< zBhCa&j+qel=rZ6dQhsj{Vi4fd7$Zi+4sK4%&H9XIlu}@g6#$h}dH2t;ze9r%gJc2LQo5=xMgBP(f!0^~{p$|w!Z|eW^^Jf$kahxFpc<<@38+)Vw z4vpxF@q^f8=mCf^N{4N`ewe~H^*=q2XnHI7j&yQXpgiZiW|_0B-{krR%(jLyWOXTk zx_0EaBgFQn9~~<8jCU^|U^|C2Ml63G#ON5E<$70Zjd`A_jq)}khKL6o5o1Kxb|?>o zdhQ;V%K(PdP`-)>af`Rb9Awm-mmE`yshzoqd1Ai zHth!(x}M((B5_EnpWi3TEkk4VHgOPS!D+Z{Q6Sf&+hO;x7jSR;u54Irz|J|$%MA54BE^IU93_P}uRQb{kLK9o zBc5RmMSXUlECcJ`6{=yo`yHCvU!DJ^tkhbI4SMgtDL=PPxr6~A`e$J8%l)_Saif1{ ztgO%b&7~{rFlQ>OzSKWJ9WpLsy!Wy`w+|U?-Ri#v?a%IE5ASL;y_IZ>&r1kFI$_)O zxAJq~kuF_L?;)Ll^(=3n>TQDl@#T*{F*-YAjd+1lIp?k*8ApFcO97B_cNNad1*+AE z2cYR1M4ge4(KZdC(yJ#5A;=4M_d6V3-QoQ18F`F|b3j@Mu$$*uKrK$KSODHcYc0-h z5Jabj;>czrit zdrW1<=mYFXZL9REB6+RG{_zNjs>xj==h|IxjYIe2QREL(K$sTTprzzuxjBnjmPH(+ zuJn!k)>`N{UVvKwC{;nIB05DaC)S;R-9Z^@o2LJF6m)(_Yfpb5JgDz`cz-=Wj5sr3 z>8um|qp1)NK({AsAXf!O6L{q&E&mO-G5w*z@%00q-+o%aO-=Q7yYJ9P!X%ckNG7xU?b?n$7!1oO`VY_Z&HBv!U}wY*jN5cu{cqd7zH3nL z8|0iYl?6?y0d+m3^{W=9HfY}*MgC=65a%fR-(qT8euQM1U&!yABQC(v!qjV~?FkR7 zlfCJ1xt9&JGcflK>fitG|Kl%0Zdq%fI0WD+O4`S12-iV;DETlq#}?x}-4YYnGks6# zv;GSKBF?(6NervE7SGsQY4K=HEx2(UQB{?YX7~`MR~5YXI9<-)T>s0p#x4N9Li2PR z4Zd9ed^z8EP4=SOJ#f~+{U;sfdB(KN|KjU!Te55bd;nsM)Uo(oi}U%6qVWG~eFo_` zayG|SN&pT3+cLlyBlYaxs{c|7s<#Q#JbjbI^ey=>{Y6SIJ_uan0+4!E{l=lHDqM#C zUv&R3{pF@?;E2p^U+!4wH&p)3Vfhzbe_m!OJ+?d*t+fE&yKaZ_JvoP%zuwcoW&Mf` zoYPvP4IXeLz-O&r*Z|r1`K9=YI?E!%I1ut&GM-P*P=AhCBBjIWP9eY6z?6Zfh>xE> zVi*T}>tS!lsXIsFwry`f9Zt`iCoSpwG*7}2*rrJUrCQAsfh*%Qq96L3f6po1wkOT+ z!KDlv0YC?_yWh+D{m{!_0KQ5S>%B+wq;cslxbzo!&o7@XladcT8(~TbZAohUu}a97c++0l0uj7$bQ#WCxTY3{6?-hM$J<>C zWh$g4QF^jO%%4ZJZ7ast!qacSl0MhXU%jflpnQB+HvfqqHa0<_8^4JAbmQuph7F2zaOpT-S(j?+!9Ed4q ztp(0W${aQ*PU)vIL){rF2ghslV@Je)o^2w!3}4qUwUu;}({0`(-+H*FMwm!naSq7+ zHM5xK8J%hnT}F4m!;mKUOtf#tp7_sl7ACcB>u>a5I|9U5|K_n?+ja!Zvi`X)uj~5C zk8l~~P)XUighkTtEf6}-v)H!v7Q?xRd!()d+aJH5-!&NZECiuaigc&=kQWr z+tnB`qX8X$U1{M{PxB;)o4N4jU4i?t!TIq*>%+_XEW3lk*p1jdkVj@-0;iMXG@?O+ z5hJD4AfU@xCu;-1`EnLI>h57L^0_x2m&g7q`O_HTK9IiR3J#Sua&RP_rU~AAYVr0K z1A4e!jRiBR{z?pEaBkP_ME}R{?(qEnv*pO2B{jdJ>fBh5l+_}%&7LOUUK<{uaI3GfxvUL)&*=1EJ7hOw&XhZ7ei2ain&N zz9VpDNF(*Yzc+{~Blg#pmF{s}|AmFo8t%QiX;Hag5PTv^>NrYD$2@!HSd4i_y{C*N zcWTWZh~UzxtNhD(7WvIa{@v>XrnHFsJTKAY8f8Z;x@}p(0B0!$(|p~7=GYRSV5L@f zXb4r`=>PKZ3_L|NrG_1=l>&U#|2#}^=Ss2|)_*!*YhJ-tGWFS~vcPuK%FP{wg*TOj zxGG=he_m)7g5@`N4pC*1pIN9ryR|)-cj)5) zpB?lYkEO($maU!ijsBgruJlkhjxfe3mrQFgC?_iz9HCjbICaB8!A*kkzI!+lanZGmeX zMi-!7SS<5`!_eY1on`WCTIr;ABDPptJVqaYSfD04{M>`zJ?!a)QxtHEjnNnb_p*_- ziG4Mq*)>>7B*U{#HkYZK^E?v)WM!?zDj^<-Xu(R>niM%^nr|4VQEGW!n^E%dd4PE$ zVtUrvy6%-7H);|$ri`Qp7h4}$vp3tdABH+zbqOr0*vET^FZ}%;h z5@7FZR7#0+;mI#{9(JsdJ})=&GooxQ(TcfL<0!<3pQAeyvY11@)CtY5!RVH+^v`?& z9%%ZO{^NNO>>#>~_O3%c8*z+W#{-~@=Vc>nt4kryh_|%=dyTefpxD&*&YA&oG#ML-n&o4*vXzj>aaDkVXX*|NMo zGx40g&Z+q9Fpi__`<5r-Uw62CJVSrTVt;j8BOpQ_*|`*P?m{EZq<@^#SMoDIg4b_K zjbR*M*!xHnULQ_f#xB4lplO=*P$U>=oYM&^CaBFYNlHZh<@6p{YZ?G{EhU=X;^KQW z&|-j`3QJv=w3Hs@dxK8b0`$-mF)y=l19*LAt>v6?#1W%UDMVsBt z`aTizPVxt6K)4E9u#Q2!Wm#~*;ktfrC2hp#tNhzBTrP$9SuV5a-|2Oar!4w^8b1gi z#@(5mv(%R8Z}q?1=zs7d8fbZUo?2x2ca<0U^J@*S=#Y~91ql=8Wxi?8X|3^mdX_1` zrnleL{|58jI^ShkuBpAc?tl0WsP+1rtNsgUM1I>}SBl24S)VQ18~t;a&FZWEz4wxN z%b0r?&?I{!f2%1_ko*Zik`d*$Z86WY4CFC?r0Jck&!xnd_FvaEOwL)nH!H;N8%$xw z=o2u};s5;Z6YNQ045JL-aQeLM2rxokNI39@qbK zqHKg`nE7EqW;=|u?b`wXCNjX#QkK%zohTlC6u@ljMEDsW={Ky3FzcN4wl&Fn#SxTi z*)3qn>z4zixev_&ec$8UjW9g~;9?wvpJ5uW@_)LZIkqtG3YM@)kGQI+_shQ0~zfub0^8o$1V2FdTk9FM&1{yyC1Gy zjJ9$pxMmJ)2mD-y{wn|ZdWQqEGq)T8c0!zi@?R|f{_%iizs`b8`HJTEv$PdCJK-mU zfWZ3q4tdUqe;7soN-22nZ|*Q)kdXg9ufKcPBj3?EX%o!=Ty_(5e?|E@`w-ikryKeA zj|ap*jF^{M?3{JS_Q2(Y*uSOqyZasDp8kxD>S`N3ol(QoQU-d;YlHUep!&GJfyNmp zdWn7%Z{wVk2*QTIo8rBfi7G7L==nY-pvzJ}Fm|nSc1biU3 zX)Iq@(exGt6rHBWga&l634kWDd8b- z+AIvgVYum#)O#-gb<u&3!QA^r%me(h@L zzx#Lp@Dr!L>a~OZC1G6aTCQ)~;?bL#K!!2jczS?R$);%}6_OSm5B97;O^lJih{e&w z)2>3jP@1V99hx20c030#jw5!e6^5b>8o6AfEpLKMLRFP)X4(U3q_r7{0|?RQ`Y2XO zhEU9l8mcp>-$F(=xji(biRjKD$ohQvIs4%EVT8PX)k=qghkAx_K<#R%7Z$UP#3NU$ zv3%#Dj6(fE2{yswqx0&xc<71^Z9Av2y-5gw;3&L4*MVQkA5ROu)c-K_NI4;wjBy+Z z6!cN_&ykNGeg~ez-~*r=gEA4f{&YUUSYj7;$|IK2$-BzN|9hAe)SqQ#%I!d_(d-`f2r9xXl^Fdt{RSYOzrE{(SH6Trq7@^rZK$E| ztc-=GDnq}`H*)|CTzuId-Cmuw#UG^i`=X{xJwDPnsH&9Is43GNe5?|cCU+KSD=gE3 z`YmpHuOS4~t|sLANCOy6u4TfC2`bzp=g6-gi72B#WFcHI+CI-S>cK$0uxPwrzYV zIs{C6ja5Q-zr(W5@H23@EXz$xi=DqeG}MB6hTMF_2W43nbjhRa6m<=jh^Ue{e<@S8 zT!U5rO`*O$|DN|=<^;C;UrK@fsOUPgl5d8ISpRNU!`wTdtuPIf=zqJfJiNpF0H3ZU zE(agy2+-pi-o2zd8_W}Aea^J!d4?a2bc*zyMVJDX5>bCp0$4H&lZVIJyAER}enh1! z*>kS>nVC3t0rjhvoZ=G%E8+K?CIW!@Jga~IfBw(E>>m&0&HgY71(tuDJ-mPzokQps zeEDpthManq57$YwZMwpTmw%JF1l-ct-ios|Y}?VzFy&8Qug`1qJ%vo?^qxF2I}Pc7 zuPJYQqhV4d(Skuto^0HLbG9SLr2ZU#b$#xOvn*UA@`2$xkxQ;EpI|!(#Cwo)zJfzX zVnJ4K)32_-{Vl%tu&!%~5L_E7{gafZ%vvrUBOko`ph(EezsS$ZPQ$qKfciz*Gz4zfAmrGKYZ+w z-(N2v*^+Ix-3sBjZ!~bzLBW+E#J3u6vzv^F3c%;?698cUco6-c&L`3Dww&Toc6Kgb zc7C{yzg#Y2Kl41xt->r{(_3)QYF_u>-gPjoyRkpEaoz(4>li2}oa6fNzh|ex@5k8! zXI8q;pc63N*ncU7_NH91F}9;E*XE{c005VdC(LWV^!fCRuInWA1gICisEF`!5&^%Q z&^zKNG+#!Bd6MsPxuEMh0cz%XMqRI$7=Y%&LkB|H^F`8sU1_2H>c${#ygM6AgEf@` z-ExwUB!y*z<_+DZ^5(&(3X|TE!Tp$J*l}zsDuScGLNAGim8M+G<38 zM!9)?K6qmnaCmVP=gT-jDMi*l;Tfj2s8+eQ@4{49j)vQ^2mnGqOTT!Wt`36@uY7Ni zOu3Q&%L%;}t>~ZE;9HFNGM8w)~yZ`N7hjDd&=gV0@z!r2k&p1(v z3>p}lrfW9Ak(}F|jNeGRcwJ+Mon!&Vn42_xtA9S=F-BQ`KrdM%JJ9WY1}r=4V%xd8 zvH!Jf<JEZ@cX5~3e{PIFfYb^AmLs}xL`F4toGXMZLqs7iSWG_0PVGuO8 z2mjHb-Cq&)^X2^2j5ae2E32U{Su&YzpP4ZL2Bb=%3rO>^LLQ^6UnhIh#xgHzM3s@x z;YRuVaGDiern}nCS&(AjdJ)L7ERq$lgXr2$sIjtsq?%J|?)4U4E-e_O4kGv;WnDh3~E%jeh8F$X9&dUvwGTX;giY+ItI9vt!y$ z)cM+frT?~gBFGpc>!+%S{<#gzzdwuvWpXadJ&f#h*!H&_Gsa|6qB|hJ)PILY958nW ztaqaS5Q%Wcx=bm_EkC|%ke{i0!U1^8^WhAK&xEf%3?2>LPu4mZK>C*T-ox!YrL*e` zUiu4myPX&{8v!3~-ssxZvQb?B@C$EAN7h)_o+1oKs<^w>$*m&rXex^UBpkh%kFW*w zQc5tOl=b=aEEA4Qa$)8aZ~oW?G(Q8?YmeOn0in}r5am7I-P1q&{V36iJ?FNb;-{)A zsoFx=5|edqtW~f#Fy$?pC7LC|98y}rO-v7oZ51B#7=~7#RVXGXnZ3F zg=P85X{`=cbr$Vi2Y*;28S@5?EmW3_(BIDRfa*a4P8laj3e^yrvjamr_O>;eo=tTD2Ft?Lrb z!!wTS40b>CH}@KB(Rb5Y*cU|Iefs^ooAvF3$J6iM$=bZZ-16BXAMJ zo9`R+QOI9nv8o$9SXvY1RMb z_vah^Z_CFmu*r{73i!cdd>*7U;F6B_pYa^&K0PkzY>nkIBO#*tEB3zyM>&iAQhxo$ zl=8iS%j9k1A4b9q z-V~Tr!T+)fVXmLBG7}JoK-Y>-8S!Zp!|R8hYSFblxGW3!i1Xo@7XnnaHFCYD7R%|w zvy4*$xQT^;?ST`uuL3rg9dv?IiF-9+Qb=D$!oQ&$oLxV0`WcTNpm~-_*Y==2o{qSVW!S zilG|zNEg6tFC*o50IuIwn5OCG&Vy2D+ApqI!B&2DeEe+pfB$%pa$?&KW;|)T|D1x4 z;|TBlwM1C;KYYG?)Bd{q9R^z#*&-#zRxBS1%W0|?%Ba&YtA0RC(H2|g}6 zwzTrC{yAt{Ymxsr-*l$fuC^Q$#uETQ{n!8NfBy>)BJdyH5_R&LQf?Q8uYif#KIZ3i z{pSGG$Llpl2QD3cuo&kFkFQ=}_@_@Y)Uh4j+183YpU(HkHBVHpZjBBAn%WB~Lcj4y zKTniFd~t~cD{4_u-k1C2eBifiIj*mF-R@?69+KHU%-iPm`QE!P*LS;GsG-1>amby4 zZHthR;xE_#QvQ9nL;S<|H?40w2h^3w&mX7c!^6hG#2u~IZ_BMI<$sL+*_Jp$#+M2q zMbSTh6Ox_%7Dr-WOPG~^qyG6rvcIN(e`t_QxzWF%@Ed?`+o|G@fc`D|#}8IMy1M-s zF0aomJl;o+;@pv72gUm_jw9~x?*FR%UDJxg{g2f@ce2d(t2zwq$&kx^h0fHdR`i+M zE+a^w+uOdqB{C>GXD4V8{whc!~ru8;;3xLw%cbC6hKh6js zwpmyNtW2%1A06fTtU-ew7wE2>41f)gX{FvZ00@LZAJIU6QKM-w7z3)) z_-nenKHqd?I|uZIZZ+CaU0LDVRuxBpeRrS|skeCFzmxX@fT>+X{um?Fx(_@ST}naQ zw(B6$0}*y255{kOhD0fE3z|VVSh#cy#H<6igRsHW5fuzqjG@9cDGK4!8#5=(uL6u zK>26&Z;U|%bvyV=R18+q`t;32^g+%A6OOinM68$lyL$>8rUpR#h7ZI0n`_UPHh!i5 zoU?ojfipVN*@DKj01`ewf4+Vb@i+hQyPvj($UnC0cBo&q#Qi=M>HYUZ4~!Xi=74_e z=^nqA4NPrey+twwWw;e+`!NUh#A+-uz{4A`ok7rAqk6E&mcGEk^Vd1k*I^EBk7$xG z@lr~{)#uMi%dN&M|9@%dLJvRQ^3uOdkr=ggFX;}1?YG@xTEBe!Si^Yw4qw?3$TAhW zl!Vc00YBHFlG&&0hdkB{2&>X~Hk?yAU6K4zXH+M;Er*rb7LSA5qtsZLV3e`(MHB2; zS*P-!#i z-C_1o^v{QLOMB;1gKdEadU%+I`}a+$VIFG~4f;aQo-&vj^no1asc^}Bxm>VQEk+mQ zn~Z#s4Zj0VR5DS^T8rlUo#PD_;V545Xyg4=s5C8E`8{wgLwQ;9AAyW{qm1|MwYH z#lARFjEIx~!}9>Z;=ZMS8E_nwloZX1b>*1E*N`!}SN;8>EdJ3-c-uI~^L%#?NIJgR9<)T})rMyx8%i9uWqw=#jGTzJ_XFt?Vp z3)EFLkm7ugSqdDLY(SG1 z8hUGpOF@#SdoI0en-;yvq?}=&2qbt0?>**iO+HP?PYL!VOA$*xN4Uvw>*ya(c<<-Z zhvxyC9K$#wB8UiG-{FqGpJ6Gm6lxm8+OLB0)RE0s5QPx1pHiVFJ@I8I%t<E; zxn4P9PLtM1EsRE36QX7wY$KaN%{t zq#}!&l{l7+RF&Eovgx^wiS(49+^TDd$@}V+<_nnyw!(MV)ZoIrwvhw}yUS9^j~i6p1Oq7OZAMjI*B4 zfK(+!i`&+)PxC~);s~xosz`6Ot?8Zzy#FfAjyD2_$bNq;oSrVYicx$S$ZLJE z+tp}RG%BvHs-kSFa51FgfV{K#O+z>(hNq7BTWLjI6^hzj@dfo=1ILV`lvk`!KeVOa zQ~SOZH`T-hbKIuJ923rMYeco!vKaBs5k6jU+nV92o9U&h4C63k?7Z!aQ7+(fd1l|bZyeB1{RLfv8v;Fq#n&r=H+V5`An>_Qp z{qBaFpH_^o1Nn0-J~5R+lMPr`-1OXWlj}tRbXK+K;&5c_ha~Pe=AjI)}MOP16uVp#Jd&O^NV&n95i7 z#bF$aWqY^4kY{zf`hSf&TX;KdQAtLED)!c+yI2;J6eG6W&F$arNc)k#?@O8YiQ#xe z)*k=k0y$@NS5~$5yJASfZXm1T-Zc!5r_#cznkS;O!tq=fv0SbRkKK$THycJRJxTi! zyQ*+61H)MQM*?;u>^f}*M@N;Zx~T@eq8{^;Pt_=k-cz!@P-^Im*J-!^!F*S=hKh_en{ by~Y0ll=?wF-bP0l+XkKCdDpr literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Tiles/carpetblue.png b/Resources/Textures/SS220/Tiles/carpetblue.png new file mode 100644 index 0000000000000000000000000000000000000000..60232ec847f19122e5135aec51da9de168e0e8dc GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8prEIx zi(`mKXY!P-nrV+GrzC*DkFPH+uiorQ`ZbY*SO1Q$l o*iPc>!4>>&wFVHO2Cp23H%DHs4{!eU1ZXIOr>mdKI;Vst0CV^>AOHXW literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Tiles/carpetcyan.png b/Resources/Textures/SS220/Tiles/carpetcyan.png new file mode 100644 index 0000000000000000000000000000000000000000..2e2245eaa626542a861a7b290eec13c8f9142fd2 GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8prD(l zi(`mK=iBoec@HQE9B`<2HtS#!YBprIKFs6kdXOuA*XBF1Uo5@XGJJSH_uj`oMw_*@ s*>|VjUg*%s#L6Y25wO6av1y52!pjf&oMmp^Koc1}UHx3vIVCg!00iSM3jhEB literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Tiles/carpetgreen.png b/Resources/Textures/SS220/Tiles/carpetgreen.png new file mode 100644 index 0000000000000000000000000000000000000000..5822533e3ea0ebad156e267d4d0d9db2e2d6407e GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8prEIx zi(`mKXYv%?YiX08Bqe~rkFS5EuiorQn%Kp|!}BI6#(sWnGe_X`vlg$K1Lb>uC0t=& oY$x&c;0k`XS_6nsgI5lNMdR~&)B6R}frc`8y85}Sb4q9e08IKaK>z>% literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Tiles/carpetmagenta.png b/Resources/Textures/SS220/Tiles/carpetmagenta.png new file mode 100644 index 0000000000000000000000000000000000000000..3af0816c6097e2732f99b216043af57a9a985ff2 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8prEIx zi(`mKXR^*UkBLu2k`q9n;@@A*SO1Q$l o*iPc>!4>>&wFVHO2Cp0jp4%Vzjj#KL0S#sFboFyt=akR{05Z)nr~m)} literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Tiles/carpetorange.png b/Resources/Textures/SS220/Tiles/carpetorange.png new file mode 100644 index 0000000000000000000000000000000000000000..800699e86d2711980554ecadd4cff1e70ac60e8c GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8prEIx zi(`mKXR^*Vp(#&N6B9t7;@?mHt2cWl?%Kn{!xOYe=e*tjMvlPgXDwbe2g>*SO1Q$l o*iPc>!4>>&wFVHO2Cp0j=Dz3evle*T01ajEboFyt=akR{03pgTtN;K2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Tiles/carpetpurple.png b/Resources/Textures/SS220/Tiles/carpetpurple.png new file mode 100644 index 0000000000000000000000000000000000000000..a7b26717e3505320db3f5a08e2214e6849b19779 GIT binary patch literal 151 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8prEIx zi(`mKXY!Y;8e)&8q$Geq#rMCKS8w*1eVWL_!_zb;=>2~CW{$w=XDwbe2g>*SO1Q$l o*iPc>!4>>&wFVHO2Cp23h_i3)jY_qBfrc`8y85}Sb4q9e08^te#{d8T literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Tiles/carpetred.png b/Resources/Textures/SS220/Tiles/carpetred.png new file mode 100644 index 0000000000000000000000000000000000000000..05985288b2eba5765541eb4c9f3fc1ec5b1180cd GIT binary patch literal 148 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1SJ1Ryj={WI14-?iy0WWg+Z8+Vb&Z8prD(l zi(`mK=iBoec@HQE9B`;-mR1n#JZQvjeV8X;=?Sj*U7PR3o-wS_WZ3ZD_kBe)^Sr3* qmj6$^4OrmN$i&Jeq5)($2G!q>eY*Y|r&uu1L4SDs6Y*;ORX%-lSy>&seee?_M&sm6W360Wc>wv+gJ pa0S0xt--72K=~es&;lW8hDJeIy~XUR*MO!nc)I$ztaD0e0szaBE|CBL literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Tiles/mud.png b/Resources/Textures/SS220/Tiles/mud.png new file mode 100644 index 0000000000000000000000000000000000000000..1bf43cd5cd404aaad5bc408402498330fe948276 GIT binary patch literal 974 zcmV;<12O!GP)JG<c{({y6AFzJ07R_N+bQB2Kc41#zP(}(;lhHX8t1*Ds!jw>a2$vJ?L@ZW0xjdI zu8SkB#XMye z?~N=XV&sx?D(DMcs2>tSGG8I)oL@r(l=((zA$A~)>ZNgDnJ1KlU7@9MzeY1aIbR6bZxG?Sf$@xvymKo#etlBJ;EX6(` zBF|YBDi5{R06NV*_-)mexSnsu7rwVFAh~pNjiG9{k}#%}8E1ZbelYE*p5_FzfCe?j zUTiexnp&zMn%~{2%MLOQJ*u{}d9_ve^ibkxC{%*E#?ns2$QL!fzh54voLs*;khXgP zPe9KRuY^iuFII%UMw4Yo$UNN;qpB^N)#wBN}gkyVL>6$m%3<64Y%@Ki3R}2 zkE3yAtFZxqpoF8>eC|%28RI>T0c(-6JfA1y$UMF7JwG%9fJF!F1CdUx@d}ytgUk?e zgG{G$o)5|eOjvb5g~Ui1-(#$yQVq~>QPL?~+)p)vDLW4RD#hB0d6Fq9y;EGL(5rS7 z`;Za5J9Sz57KFP-lMzTsrsDI~xFSzm-;&M4S|_sZJCcMcWo1`MMo)cRH@>*~uidad zD<7EFl=I!+&p%I|l8vUupM=`_aZv+akbJsr^$*29ys`j*<-5i`BcH2u5#o?@PKl& z2MC96wY8LL%jL_rub`SG*`JWK`0NkoX~ORF_phh_Z&NaHk^eu`IpvKKOjCM`l-;RA wvDFKB`Sm|5KJM9w^v)B!8^4}!s1FVP0hKVTTU+?NfB*mh07*qoM6N<$f~H8)LI3~& literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Tiles/rocks.png b/Resources/Textures/SS220/Tiles/rocks.png new file mode 100644 index 0000000000000000000000000000000000000000..24644e4147da52da55fabfc58167135503a0b0eb GIT binary patch literal 2902 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 Date: Wed, 31 Jul 2024 15:53:53 +0000 Subject: [PATCH 15/23] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 5520d031c005..3a9a6462996c 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4282,3 +4282,16 @@ id: 340 time: '2024-07-31T08:43:53.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1491 +- author: Kit0vras + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B 9 \u0440\u0430\ + \u0437\u043D\u043E\u0446\u0432\u0435\u0442\u043D\u044B\u0445 \u043A\u043E\u0432\ + \u0440\u043E\u0432." + type: Add + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B 3 \u0442\u0430\ + \u0439\u043B\u0430 \u0433\u0440\u0443\u043D\u0442\u0430 \u0438 2 \u0442\u0430\ + \u0439\u043B\u0430 \u0432\u043E\u0434\u044B." + type: Add + id: 341 + time: '2024-07-31T15:52:48.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1052 From c74b602f82f7471bec27eab946a87240a3ccefb3 Mon Sep 17 00:00:00 2001 From: NightmareStalker <162575884+NightmareStalker@users.noreply.github.com> Date: Thu, 1 Aug 2024 16:18:39 +0700 Subject: [PATCH 16/23] More Directional windows (#1476) * add * marksoutsideourfilesblya * tablya * littlefixtexsclockwindows * fixprice? * fixspacesinmeta * whatthe... * whatthe...double2 * renamed2folders * locale+addcrafturaniumwindows --- .../Locale/ru-RU/ss220/directionalwindows.ftl | 59 + .../Entities/Structures/Windows/ruranium.yml | 4 +- .../Entities/Structures/Windows/uranium.yml | 4 +- .../Graphs/structures/windowdirectional.yml | 2 + .../Recipes/Construction/structures.yml | 36 + .../Structures/directionalwindows.yml | 1665 +++++++++++++++++ .../Graphs/structures/directionalwindows.yml | 711 +++++++ .../Structures/directionalwindows.yml | 507 +++++ .../O-shaped.rsi/clock_window.png | Bin 0 -> 805 bytes .../O-shaped.rsi/frosted_window.png | Bin 0 -> 428 bytes .../directionals/O-shaped.rsi/meta.json | 47 + .../O-shaped.rsi/plasma_reinforced_window.png | Bin 0 -> 433 bytes .../O-shaped.rsi/plasma_window.png | Bin 0 -> 336 bytes .../O-shaped.rsi/reinforced_window.png | Bin 0 -> 434 bytes .../O-shaped.rsi/tinted_window.png | Bin 0 -> 428 bytes .../uranium_reinforced_window.png | Bin 0 -> 439 bytes .../O-shaped.rsi/uranium_window.png | Bin 0 -> 341 bytes .../directionals/O-shaped.rsi/window.png | Bin 0 -> 321 bytes .../U-shaped.rsi/clock_window.png | Bin 0 -> 1702 bytes .../U-shaped.rsi/frosted_window.png | Bin 0 -> 881 bytes .../directionals/U-shaped.rsi/meta.json | 47 + .../U-shaped.rsi/plasma_reinforced_window.png | Bin 0 -> 915 bytes .../U-shaped.rsi/plasma_window.png | Bin 0 -> 630 bytes .../U-shaped.rsi/reinforced_window.png | Bin 0 -> 875 bytes .../U-shaped.rsi/tinted_window.png | Bin 0 -> 881 bytes .../uranium_reinforced_window.png | Bin 0 -> 891 bytes .../U-shaped.rsi/uranium_window.png | Bin 0 -> 635 bytes .../directionals/U-shaped.rsi/window.png | Bin 0 -> 597 bytes .../directionals/angular.rsi/clock_window.png | Bin 0 -> 1604 bytes .../angular.rsi/frosted_window.png | Bin 0 -> 770 bytes .../directionals/angular.rsi/meta.json | 47 + .../angular.rsi/plasma_reinforced_window.png | Bin 0 -> 801 bytes .../angular.rsi/plasma_window.png | Bin 0 -> 574 bytes .../angular.rsi/reinforced_window.png | Bin 0 -> 765 bytes .../angular.rsi/tinted_window.png | Bin 0 -> 770 bytes .../angular.rsi/uranium_reinforced_window.png | Bin 0 -> 771 bytes .../angular.rsi/uranium_window.png | Bin 0 -> 572 bytes .../directionals/angular.rsi/window.png | Bin 0 -> 551 bytes .../DamageOverlay_12.png | Bin 0 -> 856 bytes .../DamageOverlay_4.png | Bin 0 -> 551 bytes .../DamageOverlay_8.png | Bin 0 -> 764 bytes .../cracks_directional_ang.rsi/meta.json | 23 + .../DamageOverlay_12.png | Bin 0 -> 710 bytes .../DamageOverlay_4.png | Bin 0 -> 449 bytes .../DamageOverlay_8.png | Bin 0 -> 628 bytes .../cracks_directional_doub.rsi/meta.json | 23 + .../DamageOverlay_12.png | Bin 0 -> 517 bytes .../DamageOverlay_4.png | Bin 0 -> 338 bytes .../DamageOverlay_8.png | Bin 0 -> 445 bytes .../cracks_directional_o.rsi/meta.json | 23 + .../DamageOverlay_12.png | Bin 0 -> 1114 bytes .../DamageOverlay_4.png | Bin 0 -> 651 bytes .../DamageOverlay_8.png | Bin 0 -> 978 bytes .../cracks_directional_u.rsi/meta.json | 23 + .../directionals/double.rsi/clock_window.png | Bin 0 -> 1361 bytes .../double.rsi/frosted_window.png | Bin 0 -> 506 bytes .../Windows/directionals/double.rsi/meta.json | 47 + .../double.rsi/plasma_reinforced_window.png | Bin 0 -> 541 bytes .../directionals/double.rsi/plasma_window.png | Bin 0 -> 376 bytes .../double.rsi/reinforced_window.png | Bin 0 -> 539 bytes .../directionals/double.rsi/tinted_window.png | Bin 0 -> 506 bytes .../double.rsi/uranium_reinforced_window.png | Bin 0 -> 525 bytes .../double.rsi/uranium_window.png | Bin 0 -> 379 bytes .../directionals/double.rsi/window.png | Bin 0 -> 373 bytes .../Windows/directional.rsi/meta.json | 30 +- .../uranium_reinforced_window.png | Bin 716 -> 530 bytes .../directional.rsi/uranium_window.png | Bin 642 -> 388 bytes 67 files changed, 3279 insertions(+), 19 deletions(-) create mode 100644 Resources/Locale/ru-RU/ss220/directionalwindows.ftl create mode 100644 Resources/Prototypes/SS220/Entities/Structures/directionalwindows.yml create mode 100644 Resources/Prototypes/SS220/Recipes/Construction/Graphs/structures/directionalwindows.yml create mode 100644 Resources/Prototypes/SS220/Recipes/Construction/Structures/directionalwindows.yml create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/clock_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/frosted_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/meta.json create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/plasma_reinforced_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/plasma_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/reinforced_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/tinted_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/uranium_reinforced_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/uranium_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/clock_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/frosted_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/meta.json create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/plasma_reinforced_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/plasma_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/reinforced_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/tinted_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/uranium_reinforced_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/uranium_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/clock_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/frosted_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/meta.json create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/plasma_reinforced_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/plasma_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/reinforced_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/tinted_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/uranium_reinforced_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/uranium_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_ang.rsi/DamageOverlay_12.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_ang.rsi/DamageOverlay_4.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_ang.rsi/DamageOverlay_8.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_ang.rsi/meta.json create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_doub.rsi/DamageOverlay_12.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_doub.rsi/DamageOverlay_4.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_doub.rsi/DamageOverlay_8.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_doub.rsi/meta.json create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_o.rsi/DamageOverlay_12.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_o.rsi/DamageOverlay_4.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_o.rsi/DamageOverlay_8.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_o.rsi/meta.json create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_u.rsi/DamageOverlay_12.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_u.rsi/DamageOverlay_4.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_u.rsi/DamageOverlay_8.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_u.rsi/meta.json create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/clock_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/frosted_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/meta.json create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/plasma_reinforced_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/plasma_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/reinforced_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/tinted_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/uranium_reinforced_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/uranium_window.png create mode 100644 Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/window.png diff --git a/Resources/Locale/ru-RU/ss220/directionalwindows.ftl b/Resources/Locale/ru-RU/ss220/directionalwindows.ftl new file mode 100644 index 000000000000..4c45896c3b40 --- /dev/null +++ b/Resources/Locale/ru-RU/ss220/directionalwindows.ftl @@ -0,0 +1,59 @@ +ent-WindowDirectionalAng = направленное окно угловое + .desc = Смотри, не заляпай. +ent-WindowReinforcedDirectionalAng = направленное бронеокно угловое + .desc = Смотри, не заляпай. +ent-PlasmaWindowDirectionalAng = направленное плазменное окно угловое + .desc = Смотри, не заляпай. +ent-PlasmaReinforcedWindowDirectionalAng = направленное плазменное бронеокно угловое + .desc = Смотри, не заляпай. +ent-UraniumWindowDirectionalAng = направленное урановое окно угловое + .desc = Смотри, не заляпай. +ent-UraniumReinforcedWindowDirectionalAng = направленное урановое бронеокно угловое + .desc = Смотри, не заляпай. +ent-WindowClockworkDirectionalAng = направленное заводное окно угловое + .desc = Смотри, не заляпай. + +ent-WindowDirectionalU = направленное окно П-образное + .desc = Смотри, не заляпай. +ent-WindowReinforcedDirectionalU = направленное бронеокно П-образное + .desc = Смотри, не заляпай. +ent-PlasmaWindowDirectionalU = направленное плазменное окно П-образное + .desc = Смотри, не заляпай. +ent-PlasmaReinforcedWindowDirectionalU = направленное плазменное бронеокно П-образное + .desc = Смотри, не заляпай. +ent-UraniumWindowDirectionalU = направленное урановое окно П-образное + .desc = Смотри, не заляпай. +ent-UraniumReinforcedWindowDirectionalU = направленное урановое бронеокно П-образное + .desc = Смотри, не заляпай. +ent-WindowClockworkDirectionalU = направленное заводное окно П-образное + .desc = Смотри, не заляпай. + +ent-WindowDirectionalDoub = направленное окно двойное + .desc = Смотри, не заляпай. +ent-WindowReinforcedDirectionalDoub = направленное бронеокно двойное + .desc = Смотри, не заляпай. +ent-PlasmaWindowDirectionalDoub = направленное плазменное окно двойное + .desc = Смотри, не заляпай. +ent-PlasmaReinforcedWindowDirectionalDoub = направленное плазменное бронеокно двойное + .desc = Смотри, не заляпай. +ent-UraniumWindowDirectionalDoub = направленное урановое окно двойное + .desc = Смотри, не заляпай. +ent-UraniumReinforcedWindowDirectionalDoub = направленное урановое бронеокно двойное + .desc = Смотри, не заляпай. +ent-WindowClockworkDirectionalDoub = направленное заводное окно двойное + .desc = Смотри, не заляпай. + +ent-WindowDirectionalO = направленное окно О-образное + .desc = Смотри, не заляпай. +ent-WindowReinforcedDirectionalO = направленное бронеокно О-образное + .desc = Смотри, не заляпай. +ent-PlasmaWindowDirectionalO = направленное плазменное окно О-образное + .desc = Смотри, не заляпай. +ent-PlasmaReinforcedWindowDirectionalO = направленное плазменное бронеокно О-образное + .desc = Смотри, не заляпай. +ent-UraniumWindowDirectionalO = направленное урановое окно О-образное + .desc = Смотри, не заляпай. +ent-UraniumReinforcedWindowDirectionalO = направленное урановое бронеокно О-образное + .desc = Смотри, не заляпай. +ent-WindowClockworkDirectionalO = направленное заводное окно О-образное + .desc = Смотри, не заляпай. diff --git a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml index 686709dcf6c9..25410df538b3 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/ruranium.yml @@ -65,10 +65,10 @@ components: - type: Sprite sprite: Structures/Windows/directional.rsi - state: uranium_reinforced_window + state: uranium_reinforced_window #SS220-Resprite - type: Icon sprite: Structures/Windows/directional.rsi - state: uranium_reinforced_window + state: uranium_reinforced_window #SS220-Resprite - type: Construction graph: WindowDirectional node: uraniumReinforcedWindowDirectional diff --git a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml index 41be15e820f8..4c1db67e8188 100644 --- a/Resources/Prototypes/Entities/Structures/Windows/uranium.yml +++ b/Resources/Prototypes/Entities/Structures/Windows/uranium.yml @@ -63,10 +63,10 @@ components: - type: Sprite sprite: Structures/Windows/directional.rsi - state: uranium_window + state: uranium_window #SS220-Resprite - type: Icon sprite: Structures/Windows/directional.rsi - state: uranium_window + state: uranium_window #SS220-Resprite - type: Construction graph: WindowDirectional node: uraniumWindowDirectional diff --git a/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml b/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml index 96f009fabb76..7847795ba71c 100644 --- a/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml +++ b/Resources/Prototypes/Recipes/Construction/Graphs/structures/windowdirectional.yml @@ -28,6 +28,7 @@ - material: ReinforcedPlasmaGlass amount: 1 doAfter: 3 + - to: uraniumWindowDirectional steps: - material: UraniumGlass @@ -136,6 +137,7 @@ doAfter: 2 - tool: Anchoring doAfter: 3 + - node: uraniumWindowDirectional entity: UraniumWindowDirectional edges: diff --git a/Resources/Prototypes/Recipes/Construction/structures.yml b/Resources/Prototypes/Recipes/Construction/structures.yml index b182c042c5da..8c9de756e3e1 100644 --- a/Resources/Prototypes/Recipes/Construction/structures.yml +++ b/Resources/Prototypes/Recipes/Construction/structures.yml @@ -1729,4 +1729,40 @@ state: state1 objectType: Structure placementMode: SnapgridCenter + +- type: construction + name: directional uranium window + id: UraniumWindowDirectional + graph: WindowDirectional + startNode: start + targetNode: uraniumWindowDirectional + category: construction-category-structures + description: Clear. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Structures/Windows/directional.rsi + state: uranium_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced uranium window + id: UraniumReinforcedWindowDirectional + graph: WindowDirectional + startNode: start + targetNode: uraniumReinforcedWindowDirectional + category: construction-category-structures + description: Clear. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: Structures/Windows/directional.rsi + state: uranium_reinforced_window + objectType: Structure + placementMode: SnapgridCenter #SS220-craft-end diff --git a/Resources/Prototypes/SS220/Entities/Structures/directionalwindows.yml b/Resources/Prototypes/SS220/Entities/Structures/directionalwindows.yml new file mode 100644 index 000000000000..e48e92276ab6 --- /dev/null +++ b/Resources/Prototypes/SS220/Entities/Structures/directionalwindows.yml @@ -0,0 +1,1665 @@ +#angular directional window +- type: entity + id: WindowDirectionalAng + parent: BaseStructure + name: directional window angular + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: WallMount + arc: 360 # interact despite grilles + - type: Tag + tags: + - Window + - type: MeleeSound + soundGroups: + Brute: + collection: GlassSmack + - type: Sprite + drawdepth: Mobs + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: window + - type: Icon + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: window + - type: InteractionPopup + interactSuccessString: comp-window-knock + messagePerceivedByOthers: comp-window-knock + interactSuccessSound: + path: /Audio/Effects/glass_knock.ogg + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.36" + density: 1500 + mask: + - FullTileMask + layer: + - GlassLayer + fix2: + shape: + !type:PhysShapeAabb + bounds: "0.49,0.49,0.36,-0.49" + density: 1500 + mask: + - FullTileMask + layer: + - GlassLayer + - type: Repairable + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: ExaminableDamage + messages: WindowMessages + - type: RCDDeconstructable + cost: 4 + delay: 2 + fx: EffectRCDDeconstruct2 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Airtight + noAirWhenFullyAirBlocked: false + airBlockedDirection: + - South + - East + - type: Construction + graph: WindowDirectionalAng + node: windowDirectionalAng + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_ang.rsi + - type: StaticPrice + price: 20 + +- type: entity + id: PlasmaWindowDirectionalAng + parent: WindowDirectionalAng + name: directional plasma window angular + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: plasma_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: plasma_window + - type: Construction + graph: WindowDirectionalAng + node: plasmaWindowDirectionalAng + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_ang.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassPlasma: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 70 + - type: RadiationBlocker + resistance: 1 + +- type: entity + id: WindowReinforcedDirectionalAng + parent: WindowDirectionalAng + name: directional reinforced window angular + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: reinforced_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: reinforced_window + - type: Construction + graph: WindowDirectionalAng + node: windowReinforcedDirectionalAng + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 10 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_ang.rsi + - type: Damageable + damageModifierSet: RGlass + - type: RCDDeconstructable + cost: 4 + delay: 4 + fx: EffectRCDDeconstruct4 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassReinforced: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 50 + +- type: entity + id: PlasmaReinforcedWindowDirectionalAng + parent: WindowDirectionalAng + name: directional reinforced plasma window angular + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: plasma_reinforced_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: plasma_reinforced_window + - type: Construction + graph: WindowDirectionalAng + node: plasmaReinforcedWindowDirectionalAng + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 36 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_ang.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1000 + behaviors: #excess damage, don't spawn entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 600 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassPlasma: + min: 1 + max: 2 + PartRodMetal: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 150 + - type: RadiationBlocker + resistance: 2 + +- type: entity + id: UraniumReinforcedWindowDirectionalAng + parent: WindowDirectionalAng + name: directional reinforced uranium window angular + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: uranium_reinforced_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: uranium_reinforced_window + - type: Construction + graph: WindowDirectionalAng + node: uraniumReinforcedWindowDirectionalAng + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_ang.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassUranium: + min: 1 + max: 2 + PartRodMetal1: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 140 + +- type: entity + id: UraniumWindowDirectionalAng + parent: WindowDirectionalAng + name: directional uranium window angular + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: uranium_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: uranium_window + - type: Construction + graph: WindowDirectionalAng + node: uraniumWindowDirectionalAng + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_ang.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassUranium: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 80 + +- type: entity + id: WindowClockworkDirectionalAng + parent: WindowDirectionalAng + name: directional clockwork window angular + description: Don't smudge up the brass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: clock_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: clock_window + - type: Construction + graph: WindowDirectionalAng + node: windowClockworkDirectionalAng + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 10 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_ang.rsi + - type: Damageable + damageModifierSet: RGlass + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassClockwork: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 50 + +#U-shaped directional window +- type: entity + id: WindowDirectionalU + parent: BaseStructure + name: directional window u-shaped + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: WallMount + arc: 360 # interact despite grilles + - type: Tag + tags: + - Window + - type: MeleeSound + soundGroups: + Brute: + collection: GlassSmack + - type: Sprite + drawdepth: Mobs + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: window + - type: Icon + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: window + - type: InteractionPopup + interactSuccessString: comp-window-knock + messagePerceivedByOthers: comp-window-knock + interactSuccessSound: + path: /Audio/Effects/glass_knock.ogg + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.36" + density: 1500 + mask: + - FullTileMask + layer: + - GlassLayer + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,-0.36,0.49" + density: 1500 + mask: + - FullTileMask + layer: + - GlassLayer + fix3: + shape: + !type:PhysShapeAabb + bounds: "0.36,-0.49,0.49,0.49" + density: 1500 + mask: + - FullTileMask + layer: + - GlassLayer + - type: Repairable + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: ExaminableDamage + messages: WindowMessages + - type: RCDDeconstructable + cost: 4 + delay: 2 + fx: EffectRCDDeconstruct2 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 1 + max: 3 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Airtight + noAirWhenFullyAirBlocked: false + airBlockedDirection: + - South + - East + - West + - type: Construction + graph: WindowDirectionalU + node: windowDirectionalU + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_u.rsi + - type: StaticPrice + price: 30 + +- type: entity + id: PlasmaWindowDirectionalU + parent: WindowDirectionalU + name: directional plasma window u-shaped + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: plasma_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: plasma_window + - type: Construction + graph: WindowDirectionalU + node: plasmaWindowDirectionalU + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_u.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassPlasma: + min: 1 + max: 3 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 100 + - type: RadiationBlocker + resistance: 1 + +- type: entity + id: WindowReinforcedDirectionalU + parent: WindowDirectionalU + name: directional reinforced window u-shaped + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: reinforced_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: reinforced_window + - type: Construction + graph: WindowDirectionalU + node: windowReinforcedDirectionalU + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 10 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_u.rsi + - type: Damageable + damageModifierSet: RGlass + - type: RCDDeconstructable + cost: 4 + delay: 4 + fx: EffectRCDDeconstruct4 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassReinforced: + min: 1 + max: 3 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 70 + +- type: entity + id: PlasmaReinforcedWindowDirectionalU + parent: WindowDirectionalU + name: directional reinforced plasma window u-shaped + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: plasma_reinforced_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: plasma_reinforced_window + - type: Construction + graph: WindowDirectionalU + node: plasmaReinforcedWindowDirectionalU + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 36 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_u.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1000 + behaviors: #excess damage, don't spawn entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 600 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassPlasma: + min: 1 + max: 3 + PartRodMetal: + min: 1 + max: 3 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 200 + - type: RadiationBlocker + resistance: 2 + +- type: entity + id: UraniumReinforcedWindowDirectionalU + parent: WindowDirectionalU + name: directional reinforced uranium window u-shaped + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: uranium_reinforced_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: uranium_reinforced_window + - type: Construction + graph: WindowDirectionalU + node: uraniumReinforcedWindowDirectionalU + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_u.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassUranium: + min: 1 + max: 3 + PartRodMetal1: + min: 1 + max: 3 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 230 + +- type: entity + id: UraniumWindowDirectionalU + parent: WindowDirectionalU + name: directional uranium window u-shaped + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: uranium_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: uranium_window + - type: Construction + graph: WindowDirectionalU + node: uraniumWindowDirectionalU + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_u.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassUranium: + min: 1 + max: 3 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 130 + +- type: entity + id: WindowClockworkDirectionalU + parent: WindowDirectionalU + name: directional clockwork window u-shaped + description: Don't smudge up the brass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: clock_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: clock_window + - type: Construction + graph: WindowDirectionalU + node: windowClockworkDirectionalU + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 10 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_u.rsi + - type: Damageable + damageModifierSet: RGlass + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassClockwork: + min: 1 + max: 3 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 70 + +#double directional window +- type: entity + id: WindowDirectionalDoub + parent: BaseStructure + name: directional window double + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: WallMount + arc: 360 # interact despite grilles + - type: Tag + tags: + - Window + - type: MeleeSound + soundGroups: + Brute: + collection: GlassSmack + - type: Sprite + drawdepth: Mobs + sprite: SS220/Structures/Windows/directionals/double.rsi + state: window + - type: Icon + sprite: SS220/Structures/Windows/directionals/double.rsi + state: window + - type: InteractionPopup + interactSuccessString: comp-window-knock + messagePerceivedByOthers: comp-window-knock + interactSuccessSound: + path: /Audio/Effects/glass_knock.ogg + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.36" + density: 1500 + mask: + - FullTileMask + layer: + - GlassLayer + fix2: + shape: + !type:PhysShapeAabb + bounds: "0.49,0.36,-0.49,0.49" + density: 1500 + mask: + - FullTileMask + layer: + - GlassLayer + - type: Repairable + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: ExaminableDamage + messages: WindowMessages + - type: RCDDeconstructable + cost: 4 + delay: 2 + fx: EffectRCDDeconstruct2 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Airtight + noAirWhenFullyAirBlocked: false + airBlockedDirection: + - South + - North + - type: Construction + graph: WindowDirectionalDoub + node: windowDirectionalDoub + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_doub.rsi + - type: StaticPrice + price: 30 + +- type: entity + id: PlasmaWindowDirectionalDoub + parent: WindowDirectionalDoub + name: directional plasma window double + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/double.rsi + state: plasma_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/double.rsi + state: plasma_window + - type: Construction + graph: WindowDirectionalDoub + node: plasmaWindowDirectionalDoub + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_doub.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassPlasma: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 70 + - type: RadiationBlocker + resistance: 1 + +- type: entity + id: WindowReinforcedDirectionalDoub + parent: WindowDirectionalDoub + name: directional reinforced window double + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/double.rsi + state: reinforced_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/double.rsi + state: reinforced_window + - type: Construction + graph: WindowDirectionalDoub + node: windowReinforcedDirectionalDoub + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 10 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_doub.rsi + - type: Damageable + damageModifierSet: RGlass + - type: RCDDeconstructable + cost: 4 + delay: 4 + fx: EffectRCDDeconstruct4 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassReinforced: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 50 + +- type: entity + id: PlasmaReinforcedWindowDirectionalDoub + parent: WindowDirectionalDoub + name: directional reinforced plasma window double + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/double.rsi + state: plasma_reinforced_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/double.rsi + state: plasma_reinforced_window + - type: Construction + graph: WindowDirectionalDoub + node: plasmaReinforcedWindowDirectionalDoub + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 36 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_doub.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1000 + behaviors: #excess damage, don't spawn entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 600 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassPlasma: + min: 1 + max: 2 + PartRodMetal: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 150 + - type: RadiationBlocker + resistance: 2 + +- type: entity + id: UraniumReinforcedWindowDirectionalDoub + parent: WindowDirectionalDoub + name: directional reinforced uranium window double + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/double.rsi + state: uranium_reinforced_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/double.rsi + state: uranium_reinforced_window + - type: Construction + graph: WindowDirectionalDoub + node: uraniumReinforcedWindowDirectionalDoub + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_doub.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassUranium: + min: 1 + max: 2 + PartRodMetal1: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 150 + +- type: entity + id: UraniumWindowDirectionalDoub + parent: WindowDirectionalDoub + name: directional uranium window double + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/double.rsi + state: uranium_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/double.rsi + state: uranium_window + - type: Construction + graph: WindowDirectionalDoub + node: uraniumWindowDirectionalDoub + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_doub.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassUranium: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 85 + +- type: entity + id: WindowClockworkDirectionalDoub + parent: WindowDirectionalDoub + name: directional clockwork window double + description: Don't smudge up the brass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/double.rsi + state: clock_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/double.rsi + state: clock_window + - type: Construction + graph: WindowDirectionalDoub + node: windowClockworkDirectionalDoub + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 10 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_doub.rsi + - type: Damageable + damageModifierSet: RGlass + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassClockwork: + min: 1 + max: 2 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 50 + +#O-shaped window +- type: entity + id: WindowDirectionalO + parent: BaseStructure + name: directional window o-shaped + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: WallMount + arc: 360 # interact despite grilles + - type: Tag + tags: + - Window + - type: MeleeSound + soundGroups: + Brute: + collection: GlassSmack + - type: Sprite + drawdepth: Mobs + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: window + - type: Icon + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: window + - type: InteractionPopup + interactSuccessString: comp-window-knock + messagePerceivedByOthers: comp-window-knock + interactSuccessSound: + path: /Audio/Effects/glass_knock.ogg + - type: Physics + - type: Fixtures + fixtures: + fix1: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,0.49,-0.36" + density: 1500 + mask: + - FullTileMask + layer: + - GlassLayer + fix2: + shape: + !type:PhysShapeAabb + bounds: "-0.49,-0.49,-0.36,0.49" + density: 1500 + mask: + - FullTileMask + layer: + - GlassLayer + fix3: + shape: + !type:PhysShapeAabb + bounds: "0.36,-0.49,0.49,0.49" + density: 1500 + mask: + - FullTileMask + layer: + - GlassLayer + fix4: + shape: + !type:PhysShapeAabb + bounds: "0.49,0.36,-0.49,0.49" + density: 1500 + mask: + - FullTileMask + layer: + - GlassLayer + - type: Repairable + - type: Damageable + damageContainer: Inorganic + damageModifierSet: Glass + - type: ExaminableDamage + messages: WindowMessages + - type: RCDDeconstructable + cost: 4 + delay: 2 + fx: EffectRCDDeconstruct2 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. + behaviors: + - !type:DoActsBehavior + acts: [ "Destruction" ] + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - trigger: + !type:DamageTrigger + damage: 25 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlass: + min: 2 + max: 4 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: Airtight + noAirWhenFullyAirBlocked: false + airBlockedDirection: + - South + - East + - North + - West + - type: Construction + graph: WindowDirectionalO + node: windowDirectionalO + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_o.rsi + - type: StaticPrice + price: 50 + +- type: entity + id: PlasmaWindowDirectionalO + parent: WindowDirectionalO + name: directional plasma window o-shaped + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: plasma_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: plasma_window + - type: Construction + graph: WindowDirectionalO + node: plasmaWindowDirectionalO + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_o.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassPlasma: + min: 2 + max: 4 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 130 + - type: RadiationBlocker + resistance: 1 + +- type: entity + id: WindowReinforcedDirectionalO + parent: WindowDirectionalO + name: directional reinforced window o-shaped + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: reinforced_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: reinforced_window + - type: Construction + graph: WindowDirectionalO + node: windowReinforcedDirectionalO + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 10 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_o.rsi + - type: Damageable + damageModifierSet: RGlass + - type: RCDDeconstructable + cost: 4 + delay: 4 + fx: EffectRCDDeconstruct4 + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 #excess damage (nuke?). avoid computational cost of spawning entities. + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 50 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassReinforced: + min: 2 + max: 4 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 90 + +- type: entity + id: PlasmaReinforcedWindowDirectionalO + parent: WindowDirectionalO + name: directional reinforced plasma window o-shaped + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: plasma_reinforced_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: plasma_reinforced_window + - type: Construction + graph: WindowDirectionalO + node: plasmaReinforcedWindowDirectionalO + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 36 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_o.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 1000 + behaviors: #excess damage, don't spawn entities. + - !type:DoActsBehavior + acts: [ "Destruction" ] + - trigger: + !type:DamageTrigger + damage: 600 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassPlasma: + min: 2 + max: 4 + PartRodMetal: + min: 2 + max: 4 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 270 + - type: RadiationBlocker + resistance: 2 + +- type: entity + id: UraniumReinforcedWindowDirectionalO + parent: WindowDirectionalO + name: directional reinforced uranium window o-shaped + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: uranium_reinforced_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: uranium_reinforced_window + - type: Construction + graph: WindowDirectionalO + node: uraniumReinforcedWindowDirectionalO + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_o.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassUranium: + min: 2 + max: 4 + PartRodMetal1: + min: 2 + max: 4 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 300 + +- type: entity + id: UraniumWindowDirectionalO + parent: WindowDirectionalO + name: directional uranium window o-shaped + description: Don't smudge up the glass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: uranium_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: uranium_window + - type: Construction + graph: WindowDirectionalO + node: uraniumWindowDirectionalO + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 3.333 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_o.rsi + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 200 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassUranium: + min: 2 + max: 4 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 170 + +- type: entity + id: WindowClockworkDirectionalO + parent: WindowDirectionalO + name: directional clockwork window o-shaped + description: Don't smudge up the brass down there. + placement: + mode: SnapgridCenter + snap: + - Window + components: + - type: Sprite + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: clock_window + - type: Icon + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: clock_window + - type: Construction + graph: WindowDirectionalO + node: windowClockworkDirectionalO + - type: Appearance + - type: DamageVisuals + thresholds: [4, 8, 12] + damageDivisor: 10 + trackAllDamage: true + damageOverlay: + sprite: SS220/Structures/Windows/directionals/cracks_directional_o.rsi + - type: Damageable + damageModifierSet: RGlass + - type: Destructible + thresholds: + - trigger: + !type:DamageTrigger + damage: 150 + behaviors: + - !type:PlaySoundBehavior + sound: + collection: WindowShatter + - !type:SpawnEntitiesBehavior + spawn: + ShardGlassClockwork: + min: 2 + max: 4 + - !type:DoActsBehavior + acts: [ "Destruction" ] + - type: StaticPrice + price: 90 diff --git a/Resources/Prototypes/SS220/Recipes/Construction/Graphs/structures/directionalwindows.yml b/Resources/Prototypes/SS220/Recipes/Construction/Graphs/structures/directionalwindows.yml new file mode 100644 index 000000000000..df2581a2d482 --- /dev/null +++ b/Resources/Prototypes/SS220/Recipes/Construction/Graphs/structures/directionalwindows.yml @@ -0,0 +1,711 @@ +#angular directional window +- type: constructionGraph + id: WindowDirectionalAng + start: start + graph: + - node: start + edges: + - to: windowDirectionalAng + steps: + - material: Glass + amount: 2 + doAfter: 2 + + - to: windowReinforcedDirectionalAng + steps: + - material: ReinforcedGlass + amount: 2 + doAfter: 3 + + - to: plasmaWindowDirectionalAng + steps: + - material: PlasmaGlass + amount: 2 + doAfter: 2 + + - to: plasmaReinforcedWindowDirectionalAng + steps: + - material: ReinforcedPlasmaGlass + amount: 2 + doAfter: 3 + + - to: uraniumWindowDirectionalAng + steps: + - material: UraniumGlass + amount: 2 + doAfter: 2 + + - to: uraniumReinforcedWindowDirectionalAng + steps: + - material: ReinforcedUraniumGlass + amount: 2 + doAfter: 3 + + - to: windowClockworkDirectionalAng + steps: + - material: ClockworkGlass + amount: 2 + doAfter: 3 + + - node: windowDirectionalAng + entity: WindowDirectionalAng + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 1 + - tool: Anchoring + doAfter: 2 + + - node: windowReinforcedDirectionalAng + entity: WindowReinforcedDirectionalAng + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 1 + - tool: Prying + doAfter: 2 + - tool: Screwing + doAfter: 1 + - tool: Anchoring + doAfter: 2 + + - node: plasmaWindowDirectionalAng + entity: PlasmaWindowDirectionalAng + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetPGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: windowClockworkDirectionalAng + entity: WindowClockworkDirectionalAng + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetClockworkGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: plasmaReinforcedWindowDirectionalAng + entity: PlasmaReinforcedWindowDirectionalAng + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRPGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: uraniumWindowDirectionalAng + entity: UraniumWindowDirectionalAng + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetUGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: uraniumReinforcedWindowDirectionalAng + entity: UraniumReinforcedWindowDirectionalAng + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRUGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + +#U-shaped directional window +- type: constructionGraph + id: WindowDirectionalU + start: start + graph: + - node: start + edges: + - to: windowDirectionalU + steps: + - material: Glass + amount: 3 + doAfter: 2 + + - to: windowReinforcedDirectionalU + steps: + - material: ReinforcedGlass + amount: 3 + doAfter: 3 + + - to: plasmaWindowDirectionalU + steps: + - material: PlasmaGlass + amount: 3 + doAfter: 2 + + - to: plasmaReinforcedWindowDirectionalU + steps: + - material: ReinforcedPlasmaGlass + amount: 3 + doAfter: 3 + + - to: uraniumWindowDirectionalU + steps: + - material: UraniumGlass + amount: 3 + doAfter: 2 + + - to: uraniumReinforcedWindowDirectionalU + steps: + - material: ReinforcedUraniumGlass + amount: 3 + doAfter: 3 + + - to: windowClockworkDirectionalU + steps: + - material: ClockworkGlass + amount: 3 + doAfter: 3 + + - node: windowDirectionalU + entity: WindowDirectionalU + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetGlass1 + amount: 3 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 1 + - tool: Anchoring + doAfter: 2 + + - node: windowReinforcedDirectionalU + entity: WindowReinforcedDirectionalU + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRGlass1 + amount: 3 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 1 + - tool: Prying + doAfter: 2 + - tool: Screwing + doAfter: 1 + - tool: Anchoring + doAfter: 2 + + - node: plasmaWindowDirectionalU + entity: PlasmaWindowDirectionalU + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetPGlass1 + amount: 3 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: windowClockworkDirectionalU + entity: WindowClockworkDirectionalU + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetClockworkGlass1 + amount: 3 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: plasmaReinforcedWindowDirectionalU + entity: PlasmaReinforcedWindowDirectionalU + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRPGlass1 + amount: 3 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: uraniumWindowDirectionalU + entity: UraniumWindowDirectionalU + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetUGlass1 + amount: 3 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: uraniumReinforcedWindowDirectionalU + entity: UraniumReinforcedWindowDirectionalU + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRUGlass1 + amount: 3 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + +#double directional window +- type: constructionGraph + id: WindowDirectionalDoub + start: start + graph: + - node: start + edges: + - to: windowDirectionalDoub + steps: + - material: Glass + amount: 2 + doAfter: 2 + + - to: windowReinforcedDirectionalDoub + steps: + - material: ReinforcedGlass + amount: 2 + doAfter: 3 + + - to: plasmaWindowDirectionalDoub + steps: + - material: PlasmaGlass + amount: 2 + doAfter: 2 + + - to: plasmaReinforcedWindowDirectionalDoub + steps: + - material: ReinforcedPlasmaGlass + amount: 2 + doAfter: 3 + + - to: uraniumWindowDirectionalDoub + steps: + - material: UraniumGlass + amount: 2 + doAfter: 2 + + - to: uraniumReinforcedWindowDirectionalDoub + steps: + - material: ReinforcedUraniumGlass + amount: 2 + doAfter: 3 + + - to: windowClockworkDirectionalDoub + steps: + - material: ClockworkGlass + amount: 2 + doAfter: 3 + + - node: windowDirectionalDoub + entity: WindowDirectionalDoub + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 1 + - tool: Anchoring + doAfter: 2 + + - node: windowReinforcedDirectionalDoub + entity: WindowReinforcedDirectionalDoub + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 1 + - tool: Prying + doAfter: 2 + - tool: Screwing + doAfter: 1 + - tool: Anchoring + doAfter: 2 + + - node: plasmaWindowDirectionalDoub + entity: PlasmaWindowDirectionalDoub + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetPGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: windowClockworkDirectionalDoub + entity: WindowClockworkDirectionalDoub + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetClockworkGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: plasmaReinforcedWindowDirectionalDoub + entity: PlasmaReinforcedWindowDirectionalDoub + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRPGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: uraniumWindowDirectionalDoub + entity: UraniumWindowDirectionalDoub + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetUGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: uraniumReinforcedWindowDirectionalDoub + entity: UraniumReinforcedWindowDirectionalDoub + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRUGlass1 + amount: 2 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + +#O-shaped window +- type: constructionGraph + id: WindowDirectionalO + start: start + graph: + - node: start + edges: + - to: windowDirectionalO + steps: + - material: Glass + amount: 4 + doAfter: 2 + + - to: windowReinforcedDirectionalO + steps: + - material: ReinforcedGlass + amount: 4 + doAfter: 3 + + - to: plasmaWindowDirectionalO + steps: + - material: PlasmaGlass + amount: 4 + doAfter: 2 + + - to: plasmaReinforcedWindowDirectionalO + steps: + - material: ReinforcedPlasmaGlass + amount: 4 + doAfter: 3 + + - to: uraniumWindowDirectionalO + steps: + - material: UraniumGlass + amount: 4 + doAfter: 2 + + - to: uraniumReinforcedWindowDirectionalO + steps: + - material: ReinforcedUraniumGlass + amount: 4 + doAfter: 3 + + - to: windowClockworkDirectionalO + steps: + - material: ClockworkGlass + amount: 4 + doAfter: 3 + + - node: windowDirectionalO + entity: WindowDirectionalO + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetGlass1 + amount: 4 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 1 + - tool: Anchoring + doAfter: 2 + + - node: windowReinforcedDirectionalO + entity: WindowReinforcedDirectionalO + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRGlass1 + amount: 4 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 1 + - tool: Prying + doAfter: 2 + - tool: Screwing + doAfter: 1 + - tool: Anchoring + doAfter: 2 + + - node: plasmaWindowDirectionalO + entity: PlasmaWindowDirectionalO + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetPGlass1 + amount: 4 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: windowClockworkDirectionalO + entity: WindowClockworkDirectionalO + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetClockworkGlass1 + amount: 4 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: plasmaReinforcedWindowDirectionalO + entity: PlasmaReinforcedWindowDirectionalO + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRPGlass1 + amount: 4 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: uraniumWindowDirectionalO + entity: UraniumWindowDirectionalO + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetUGlass1 + amount: 4 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 + + - node: uraniumReinforcedWindowDirectionalO + entity: UraniumReinforcedWindowDirectionalO + edges: + - to: start + completed: + - !type:SpawnPrototype + prototype: SheetRUGlass1 + amount: 4 + - !type:DeleteEntity {} + steps: + - tool: Screwing + doAfter: 2 + - tool: Prying + doAfter: 3 + - tool: Screwing + doAfter: 2 + - tool: Anchoring + doAfter: 3 diff --git a/Resources/Prototypes/SS220/Recipes/Construction/Structures/directionalwindows.yml b/Resources/Prototypes/SS220/Recipes/Construction/Structures/directionalwindows.yml new file mode 100644 index 000000000000..d72c7993cd3f --- /dev/null +++ b/Resources/Prototypes/SS220/Recipes/Construction/Structures/directionalwindows.yml @@ -0,0 +1,507 @@ +#angular directional window +- type: construction + name: directional window angular + id: WindowDirectionalAng + graph: WindowDirectionalAng + startNode: start + targetNode: windowDirectionalAng + category: construction-category-structures + description: Clear. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced window angular + id: WindowReinforcedDirectionalAng + graph: WindowDirectionalAng + startNode: start + targetNode: windowReinforcedDirectionalAng + category: construction-category-structures + description: Clear but tough. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: reinforced_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional clockwork window angular + id: WindowClockworkDirectionalAng + graph: WindowDirectionalAng + startNode: start + targetNode: windowClockworkDirectionalAng + category: construction-category-structures + description: Clear and tough, with a golden tint. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: clock_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional plasma window angular + id: PlasmaWindowDirectionalAng + graph: WindowDirectionalAng + startNode: start + targetNode: plasmaWindowDirectionalAng + category: construction-category-structures + canBuildInImpassable: true + description: Clear and even tougher, with a purple tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: plasma_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced plasma window angular + id: PlasmaReinforcedWindowDirectionalAng + graph: WindowDirectionalAng + startNode: start + targetNode: plasmaReinforcedWindowDirectionalAng + category: construction-category-structures + canBuildInImpassable: true + description: Fire resistant and even tougher, with a purple tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: plasma_reinforced_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional uranium window angular + id: UraniumWindowDirectionalAng + graph: WindowDirectionalAng + startNode: start + targetNode: uraniumWindowDirectionalAng + category: construction-category-structures + canBuildInImpassable: true + description: Fire resistant and even tougher, with a green tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: uranium_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced uranium window angular + id: UraniumReinforcedWindowDirectionalAng + graph: WindowDirectionalAng + startNode: start + targetNode: uraniumReinforcedWindowDirectionalAng + category: construction-category-structures + canBuildInImpassable: true + description: Fire resistant and even tougher, with a green tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/angular.rsi + state: uranium_reinforced_window + objectType: Structure + placementMode: SnapgridCenter + +#U-shaped directional window +- type: construction + name: directional window u-shaped + id: WindowDirectionalU + graph: WindowDirectionalU + startNode: start + targetNode: windowDirectionalU + category: construction-category-structures + description: Clear. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced window u-shaped + id: WindowReinforcedDirectionalU + graph: WindowDirectionalU + startNode: start + targetNode: windowReinforcedDirectionalU + category: construction-category-structures + description: Clear but tough. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: reinforced_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional clockwork window u-shaped + id: WindowClockworkDirectionalU + graph: WindowDirectionalU + startNode: start + targetNode: windowClockworkDirectionalU + category: construction-category-structures + description: Clear and tough, with a golden tint. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: clock_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional plasma window u-shaped + id: PlasmaWindowDirectionalU + graph: WindowDirectionalU + startNode: start + targetNode: plasmaWindowDirectionalU + category: construction-category-structures + canBuildInImpassable: true + description: Clear and even tougher, with a purple tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: plasma_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced plasma window u-shaped + id: PlasmaReinforcedWindowDirectionalU + graph: WindowDirectionalU + startNode: start + targetNode: plasmaReinforcedWindowDirectionalU + category: construction-category-structures + canBuildInImpassable: true + description: Fire resistant and even tougher, with a purple tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: plasma_reinforced_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional uranium window u-shaped + id: UraniumWindowDirectionalU + graph: WindowDirectionalU + startNode: start + targetNode: uraniumWindowDirectionalU + category: construction-category-structures + canBuildInImpassable: true + description: Fire resistant and even tougher, with a green tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: uranium_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced uranium window u-shaped + id: UraniumReinforcedWindowDirectionalU + graph: WindowDirectionalU + startNode: start + targetNode: uraniumReinforcedWindowDirectionalU + category: construction-category-structures + canBuildInImpassable: true + description: Fire resistant and even tougher, with a green tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/U-shaped.rsi + state: uranium_reinforced_window + objectType: Structure + placementMode: SnapgridCenter + +#double directional window +- type: construction + name: directional window double + id: WindowDirectionalDoub + graph: WindowDirectionalDoub + startNode: start + targetNode: windowDirectionalDoub + category: construction-category-structures + description: Clear. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/double.rsi + state: window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced window double + id: WindowReinforcedDirectionalDoub + graph: WindowDirectionalDoub + startNode: start + targetNode: windowReinforcedDirectionalDoub + category: construction-category-structures + description: Clear but tough. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/double.rsi + state: reinforced_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional clockwork window double + id: WindowClockworkDirectionalDoub + graph: WindowDirectionalDoub + startNode: start + targetNode: windowClockworkDirectionalDoub + category: construction-category-structures + description: Clear and tough, with a golden tint. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/double.rsi + state: clock_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional plasma window double + id: PlasmaWindowDirectionalDoub + graph: WindowDirectionalDoub + startNode: start + targetNode: plasmaWindowDirectionalDoub + category: construction-category-structures + canBuildInImpassable: true + description: Clear and even tougher, with a purple tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/double.rsi + state: plasma_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced plasma window double + id: PlasmaReinforcedWindowDirectionalDoub + graph: WindowDirectionalDoub + startNode: start + targetNode: plasmaReinforcedWindowDirectionalDoub + category: construction-category-structures + canBuildInImpassable: true + description: Fire resistant and even tougher, with a purple tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/double.rsi + state: plasma_reinforced_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional uranium window double + id: UraniumWindowDirectionalDoub + graph: WindowDirectionalDoub + startNode: start + targetNode: uraniumWindowDirectionalDoub + category: construction-category-structures + canBuildInImpassable: true + description: Fire resistant and even tougher, with a green tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/double.rsi + state: uranium_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced uranium window double + id: UraniumReinforcedWindowDirectionalDoub + graph: WindowDirectionalDoub + startNode: start + targetNode: uraniumReinforcedWindowDirectionalDoub + category: construction-category-structures + canBuildInImpassable: true + description: Fire resistant and even tougher, with a green tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/double.rsi + state: uranium_reinforced_window + objectType: Structure + placementMode: SnapgridCenter + +#O-shaped window +- type: construction + name: directional window o-shaped + id: WindowDirectionalO + graph: WindowDirectionalO + startNode: start + targetNode: windowDirectionalO + category: construction-category-structures + description: Clear. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced window o-shaped + id: WindowReinforcedDirectionalO + graph: WindowDirectionalO + startNode: start + targetNode: windowReinforcedDirectionalO + category: construction-category-structures + description: Clear but tough. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: reinforced_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional clockwork window o-shaped + id: WindowClockworkDirectionalO + graph: WindowDirectionalO + startNode: start + targetNode: windowClockworkDirectionalO + category: construction-category-structures + description: Clear and tough, with a golden tint. + canBuildInImpassable: true + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: clock_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional plasma window o-shaped + id: PlasmaWindowDirectionalO + graph: WindowDirectionalO + startNode: start + targetNode: plasmaWindowDirectionalO + category: construction-category-structures + canBuildInImpassable: true + description: Clear and even tougher, with a purple tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: plasma_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced plasma window o-shaped + id: PlasmaReinforcedWindowDirectionalO + graph: WindowDirectionalO + startNode: start + targetNode: plasmaReinforcedWindowDirectionalO + category: construction-category-structures + canBuildInImpassable: true + description: Fire resistant and even tougher, with a purple tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: plasma_reinforced_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional uranium window o-shaped + id: UraniumWindowDirectionalO + graph: WindowDirectionalO + startNode: start + targetNode: uraniumWindowDirectionalO + category: construction-category-structures + canBuildInImpassable: true + description: Fire resistant and even tougher, with a green tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: uranium_window + objectType: Structure + placementMode: SnapgridCenter + +- type: construction + name: directional reinforced uranium window o-shaped + id: UraniumReinforcedWindowDirectionalO + graph: WindowDirectionalO + startNode: start + targetNode: uraniumReinforcedWindowDirectionalO + category: construction-category-structures + canBuildInImpassable: true + description: Fire resistant and even tougher, with a green tint. + conditions: + - !type:EmptyOrWindowValidInTile + - !type:NoWindowsInTile + icon: + sprite: SS220/Structures/Windows/directionals/O-shaped.rsi + state: uranium_reinforced_window + objectType: Structure + placementMode: SnapgridCenter diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/clock_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/clock_window.png new file mode 100644 index 0000000000000000000000000000000000000000..6457abfd3e2a73f85d7d23be1d5d1b6e485a23ed GIT binary patch literal 805 zcmV+=1KRwFP)g#8!JN5Yy_g<5u8~F+U`zPyjyejqT0Z$!sk!3Ie?AL zf}uqrT)y@aIN~ds4P$HXFC|#$&bGGHAgQT2e^koX5WcY@fl_P5@vnx`aj^@`zlhin zOv$^~u(cNv5e^IODr0C4bSlfCMxb5Qguts}2kmVC3bPUs*%5kBO}@5BF51%AO@otGX=gnnBf z0_}wIknlLr>3KaA2OfhQAUv)%*x85m)!;iD-1qsQ@$EonhH!jB`t;TY5~Pi4*QoS5 z7l1S#4)6G*eJZ2SJ7ft(^jkd9>oiD34UH$-L6A>2`z%{ zA(DUqu{#({6Mu>}aXvu(COrx;Y4V96qdea>0Khl{A^3o;t3$s!#2!o?x!Qn2+bkfU`yq z)n`hK`FM^D%o>G4~TiHVxC^ih0K(*W_T)Q zoSoGNXcvgx#ES}@=_g484_{2q`T(Vf0=XrpKF}^EJVnyflP)5^;lYRY6#$Q0&%Xfv WOy3b@KS|2~0000-e{`1TjJDyHs=C_ zCXFzVbY}4Z0|^yetzU{y?B@zkfC0ZdK*}Bfz8V1B73bRw;R&44c(T(QjqLYWs&#ZJ zz1PHCPGeP+2v6{IsyLU^xVpX-S8Fz0z0rgwjVw(7swl}#hAK(`a+4kM*J4$a$o~Ea zmTDd4CL>`MJ3%nqg(i*s?&kpcHY4fG;wEpwxgIqQ9G}no+pE*W0N?efY2dfR8I32q z=kldS&#JeGn`GczkH5h{tASPntp-{Rv>IqN@V_dl_1YTb&Vvt#}mrcc%fiosq)Pk>JZ8T%~f$&mc zAHfSP^BGyBv!0#wEW4+EPc45@U3~x(gKCS{z7G}i{wn3gn|3oMnBQJLvvj@wdB;CD zYj0`zm_1JQ;Z)qrcQ;Ib!|n9cYmK*Bj>X4HUgZ-APuvlnev55(r~H!MLz%Pf&(u6z zuUHe7CL4D4r_mGrh#RG+p6V=Xxv?eK$wDqhgek!y=&5!8En@`+COA4!=JX(Hahq~z zo59Z~2g{stMa0VHw%PdX2;$oFvSoR$+@FAlXO;>xZ5PN|+$67bA81q7W5KJn^Wqsy Xr4v6$7@I2tgNVV?)z4*}Q$iB}q-%Nt literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/reinforced_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/reinforced_window.png new file mode 100644 index 0000000000000000000000000000000000000000..247f992a646a56fe80953f4ce5c7a3ca403d5f23 GIT binary patch literal 434 zcmV;j0ZsmiP)iVzY6uJQy+!o_W=6yb!B3Pe+Bc0sqy&B2ag+p`P+7-!HRMJU&r zpzeRVW&(iY`2qlt zwGn4&+7SEQRwi)@#u@JFn)}^WmcN_wa!?qA;l6 ziWz5!!ax>t!Ej_@Fy^fWlVT_-dZ6=Ql4rxgm_tjX2e~$Xe|eIoPN_h%;Bg5jML(|q c=q{dr11@zbNZZ2#U;qFB07*qoM6N<$f}ZEHssI20 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/tinted_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/tinted_window.png new file mode 100644 index 0000000000000000000000000000000000000000..1cfcb8054656c0b7cfb39f6b5cae202e7d49a290 GIT binary patch literal 428 zcmV;d0aN~oP)-L6A>2`z%{ zA(DUqu{#({6Mu>}aXvu(COrx;Y4V96qdea>0Khl{A^3o;t3$s!#2!o?x!Qn2+bkfU`yq z)n`hK`FM^D%o>G4~TiHVxC^ih0K(*W_T)Q zoSoGNXcvgx#ES}@=_g484_{2q`T(Vf0=XrpKF}^EJVnyflP)5^;lYRY6#$Q0&%Xfv WOy3b@KS|2~0000%TTB01U`UIK%JV) zY_WR=7jB#cf$R!pie8%7&+Yqvz-_iW7r zfHY4S0LVh|N8tbzvQXT!Q%z=5MDeN30o)ZI#Q}s8IE&?~G1?%CLnND!{fgTwLv3qb zl{E+@c#UTJ7*@Vm& zE@Yv&lV$U!JHSyKAPdEZd)ncFp?I1n%xD9n4T3dg!J1x;(>!6aQ2kpm zp#-u}Jc>`PFNorBaHC>#dr7N-ryG;j8%}0ZSc>c*_r$(%vEOO#8Ep`N;wTP-8j+u1 hqs`|l0G?;hKL89PA!kvMTFV!LGDZ|Mpjg3p0x1V6#!RisCFuAs2jR#Kw z*R*vXJ=&+N3SbXOocOf|}{bk9yKNG%e+@o0nZs$uKzpVe3sv`Kj&O{ zQq`8<3KKVu|E<b@f`xztz!l2mNNulxf#Zn&G^8MvIr`mXbqR(XR0!PR}lJKD2HrHtycnaVI#f hDC{+_=k?b=#n!N3 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/window.png b/Resources/Textures/SS220/Structures/Windows/directionals/O-shaped.rsi/window.png new file mode 100644 index 0000000000000000000000000000000000000000..eacdd51d9686e8f4d00a6cfa3c331b3d67da2b03 GIT binary patch literal 321 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/meta.json b/Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/meta.json new file mode 100644 index 000000000000..5414656646e4 --- /dev/null +++ b/Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/meta.json @@ -0,0 +1,47 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from skyrat-tg at commit https://github.com/Skyrat-SS13/Skyrat-tg/commit/639e77f6e957bce88d9734b4b97b249738af42b1, uranium windows made via edit by SphiraI(github), clockwork windows from https://github.com/tgstation/tgstation/blob/21b42d49ecf2b87f665b5f122368f6a247676721/icons/obj/smooth_structures/structure_variations.dmi, U-shaped version and resprited uranium windows for SS220 by NightmareStalker(GitHub)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "window", + "directions": 4 + }, + { + "name": "reinforced_window", + "directions": 4 + }, + { + "name": "tinted_window", + "directions": 4 + }, + { + "name": "frosted_window", + "directions": 4 + }, + { + "name": "clock_window", + "directions": 4 + }, + { + "name": "plasma_window", + "directions": 4 + }, + { + "name": "plasma_reinforced_window", + "directions": 4 + }, + { + "name": "uranium_window", + "directions": 4 + }, + { + "name": "uranium_reinforced_window", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/plasma_reinforced_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/plasma_reinforced_window.png new file mode 100644 index 0000000000000000000000000000000000000000..4cf0116a6169e8cb92a5b03edcfceef19cc71810 GIT binary patch literal 915 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/uranium_reinforced_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/U-shaped.rsi/uranium_reinforced_window.png new file mode 100644 index 0000000000000000000000000000000000000000..a5325ef41040d4cd1d70570c7800be06140c7a48 GIT binary patch literal 891 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|T?J zr;B4q#hkaZ_vhUT5IJVwq?)o?^uJgepX8xQjBIhuE1gA49h*%3A1FGr+cRo= zz~(wL!=62VG#eXCc-`(q6vT@?y4U}9H)F#@%L}&GnSV>qWS;9{=`hPJ`^J^k{Il%u zNtu1Uw&CURtL(Zab$K%1>((X)vop9}4bgd~_HJI@Urya;YBz7Pe@p*2 z9RErSHa$=1mpv?J?N(x)EhC$(ap0d+%IPIPBQ9%)Nv=Qt?qK)k2}=&H3p8V6cs;eb zEA&{^Qw9dDu$%YmGxx+2~vW~ zkDOWf_up4(wZAjx%ey^unD3J=a{S$EmCPxZ)?^EQGf~#Bw!0>|$j@Q=rI+8z_L%

oX+TFZzrYx^K)RuS9X=Nj){M*x_6%Zx^4QC^UMO5cYBjNVb+#* z#Rnf)0_=NK&vG(&yxV;I#BR9>ZEM&&1WxW&o6#1-sN|Bur(s~k{y|K`3O^~oPetvF zgymNI2KRa=#h!`5znQ=NcfUVhpm(X^r~49|GZ!oUW^UT=n_}s(#LhY`@t8-<8KFSA nznq79C$2cA`Ik}Y*%!X6jo&IxrIcI;<|YPDS3j3^P6e^^@(eCbraj(E&VTZ zqAo9ESD5H;bmn;X!e^Qjl%+j>^Vl+6_de#?^L)Ac)Z`y;{v zah+c;*%hTQ>rQl5d9*Y|xMN9vg4OI*;-Z&MZ{A;f;2Q(Cg4Q(Fyi3_%l^&T_Wy&x9 z$jor%i}`hv3HLT$dGTY_Yk{vNoU7-F`!}lP_%-alaKU8`|Ak}M&wKy6^_fxV-p>Ys z8#NBj8MO=t`y9jV`LEP}-aUhV!XJx%$K0;e#>cxC%m4jz{I>P8$43PkigT~eV^Fwc zm0kPeSEcx@&y03a``Ph&C>ic=mxb$&#C&FKxWk-rPJM?BBV+f(+-J;No(roqi7Vee z!~Q18Zef?Ga{Ly%2DfwUEm!!%dO}Q{{?*=l{!)0y3;DY@i}r2@rX~hYS3j3^P6?;H<{S~#{OEfi_%>Jol1 zNo0dY(J^VqW50DP<68GL{ropA?c%?W2^KY03=VUS6omZdV%QK@&%2;ueVcRC@5;CK z9{ZoKb7lDO>zkd{^rMxAXN}J+f86QyRd}D&*R29Oeg)1sqA{H{@BO6DNjr6}++puK z_dDy#b*Bff?z61Dep=5HQ(BdC|0&cc#em>nfxcA<72IB_ZhF-}7Vh4`#BycArvu$AAV90!f>BbDk z9LAh84BHsY(iox{W_wsoX6`%g;j6AW{n6@$m4E7ZA5DyymCj&rNk>K2tE|zZifQ*- zH`^5x^5*^h!uXmo%^~Ei_L9nFaxQ;dXQfBzraeFZ^}&_3nF@CouQvSPdR_5RCcE}L z@$yDJ6ZHj_7cRKW;pcE%{+!t<;WMM`!tZP>x7lWYs_Zm-#;jty`skY*EYB}*j1tp- zc>1~OmgmeWcmDTyWUv1UkFL{h9GrjJ3Rg(`EA$3&cD=mv>15 P(+Pv8tDnm{r-UW|;M4;Z literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/clock_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/clock_window.png new file mode 100644 index 0000000000000000000000000000000000000000..c42033bfc6cf404e1fba20a1a8be42c277317d5c GIT binary patch literal 1604 zcmV-K2D|x*P)>dJdwZx_5 z-;}Bt=mlaiXZi6<-Q6cxpqvEM1Nto|NpXOV^Ch6Ci;myy({BK{H&eCV>%cgclkRPd zm31;?dW8CR%U1a@2*O+%`usEyC9*cYPCPTw3y26?T{7vhn2efai3rO z@ROFEpC(T*%Wu1=BA3PF_z;S!Mjp{epNs+&RSlElLzZ({aVKS+jM9w!8%^Eif|yG~ z&nUpe#}e|zLjXY62f#sv`bTB@-rfHPw+1DgYG?TI=ko2@FOwUc-90!ts^H|Pg3j(9 z%YC`85pv5~HlqNae^M`Bhyj!&zHh$)>{rh4TON3&0*MYlBMQL#e^F~c)y{Bq0vw+L zsezM?&h8#u)(9Jap51Pb1Ao6g!`itVsU6VXLktH@j3)G(5|LSULCOI%DsrE}_DhSY z8~{9gT*v~%{&oTcE>3~~@MJXsmj7&vbe>Jo>=gPeFfp3Y@6A*(CX?c3sAc1LZ>NO* zVWmcXMYWoJvf5w@Eck2Nd{uQE=-opB25`gtG>r^kOm%F8{$T}0l{9ht^Owc11@Z*p zvw$1C7(Yz3i~)dXjL=dB0GglQn}rYqm|5DX&EDTXtTz{4&f`yOGMsQltgaM%*;D_L@)m9 zxBf68)B~cL>bxM#08wpr8X=Ntu$7DupG!m6bz^^Q#>8ks4@!`EufMlb!pb^oQJR%? zU~C~MNf$$Wpw}9inM*?lLJ3J_fdZBmQ#ta4LM>romY-YJY9X<(f+1$azMX;I-3e@M zQ$uxn z`5I%ggnWtIJP7%hLF~J4pvy^O;*0_e^wEegCvZNGaZwU{x<=m_g&s5YfE1peHm)Ne%|jaz-Y84c<`v;n4f3Z>Xj;i*17t&M^hM z@?U>ZUmp+!B8drJ%dmJWDi5?^YD_eQrN->ad!@$Q+QPv9nV~3zwo+JJSZa*H%6p~8 z`iGV4n;N^aMN)Ra#pKvZ8 zfHmAM_X&Duh~FM{s}Jz1Pq2GMGw%>`eS%XRg0M%xt3JT3J|PI@89iOV%x6~lm1999 z_-qR?zx4rJpTN=MAe7H8NV$B;ntWlI!by;mFDvWDNT_8R9eaI1kgv|V$q$_aW>dtr ze(M8*u1{E5r*C`h0m~2F0CQ>R&C~}3S)btb`u=|z2y!BU${w5m0000t(Y literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/frosted_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/frosted_window.png new file mode 100644 index 0000000000000000000000000000000000000000..d5801d0149cae4c9b2825d21eae18df7261122dc GIT binary patch literal 770 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|V0* zPZ!6KiaBqi4YM9Qh|~tj9QM$gvOq+wbe67=hm`OK-a9|dtPb2cHa9=PAn)3S=$y$` zJ31zYM2M+Gcs=Y<(kz?A`uAdbxtzqGufq3wZ2tF}Ds?|@#jN= z5qi%o_U_QJ+8c95d;f>csgK{>VP?o#^Y^`zp*aEv1Bw{WXNKAXCUR^dqCEWc?IW=!x;>wjO7x% z3)CL)EoQvJawpNGVOE3n8s}xMmw#m4TwTg5(RZv@n!j|ha^!luH7AN3+%1?kzjT=w z7sEEit>qWro9W9>OHEi4{%M9?z~W6hapr2XdP-->)ivBK+8 z&TU3oyDQr?dIVbycU7{zl5j|za*yxb$4_50u0Ag-_R{weUu)mUT zLEE;>4e!41uG=qg^!zuz0O#8#5&gR>!+3tL2l5UDoqze1Eui`BZic1u^(SUOZ|GaK z^J$XbtK;s8f8v<(i}zNEXMDDNu)ki?=r!19*H~8K^l%SbfN()OQs}JBcDU`HcB8l9 zp5DZhRjU72HcvkA(U#$m;8d9n<^iXwxy~H)WLnWYdF^~@o#!R*`~%)zTEsa2En`5^ mlIr>v7@j}=ynfOKD=aM zI3)OT>kEOWcEx(r_lB88J?`^ac;Hp0?qX+_zfrbpm!9i=yi%rZvWb1)@*)}k%M}uS zML&&_*2bG(ta!+g^DO$ztkYXA&i*O3=<9dszDB>#a_eq0F_bh_Gbr>{cdrxbb6ET3 z+PsIKrymb4>3Fa$x`OlGlg-uv2km@zSD2+gs$+QY`{it*J_B=>yr(y1SEQFO=z6c2 zbl`#j!=%D>yB~RfQ2Sfa9{#-jQgYmL28A2#A0Ep#)p9U=cpO``cTL6B_|x|mt?uD% zOthFd_t}28U&m$RqGz%PoT%)bXk^H};d4XIyX)t5fBxP0nc;GX9Sg&QpmX0Cm?QWX zh&|~0%8 z@`dPnnbOMfSI%SF^38G+YArJPN^Fh1eWkCg*=F+XY=P0im{ zJ7SC#vP;``>4oGyi@xM^WM{0I6{b5IvztJqoP+KGS%?5`=G;@Z3tlN3 zALH}A+a<^JxI)YJ!rSl*Up#NxtDnm{r-UW|TO)V^ literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/plasma_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/plasma_window.png new file mode 100644 index 0000000000000000000000000000000000000000..1fdabc7e67385bcbf7c9afa46ad07190f7a59744 GIT binary patch literal 574 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|Vm+ zPZ!6KiaBp*8|EEy5OB4hI5i{o;&Knci%U3Kt+&fG=&h{jRVZXo+0mwb`6)x@-JKp? zCRe_MM0h#RT9dlwsM5rA`>yAqY3!MH@|A4HyO}EzOsXsx8aREohP^wz`1_8euUpq` zv}D@I!y7mM{iP_ktZ)t0`U!2(|W5ROQcX{ttZ?(})Xj`^x-SL`) z&+(OKs~W%DW5_psAaXW|gJHYBvqiR3`w`EU)UZ#y1rwLEPP?wpeNu138JqIP;29Sz zR`2EHwY%5dSn}`Qbq3Q0-G*MN17Zibo*?Zp|=Zo*(;Q`{R#ip9Mc>x>S+f%+ROiko%kYm0{+dtq0X0tg3o$ zkSB64d=37QG>>)J%@oDT^HYBdZ7wnW9-Dqn@x#Sz`QsNKUXf!k+q<3-tF0;jLT!Z{$XiueFJ|^ j-N%^>1vigB-_Mx6`uN(@%NKG369j{&tDnm{r-UW|A{p|F literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/reinforced_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/reinforced_window.png new file mode 100644 index 0000000000000000000000000000000000000000..587f4e9e00f8373001f523c764b3011141bf0a34 GIT binary patch literal 765 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|V1~ zPZ!6KiaBp*+h^Z)kT@nUuD^Vt%1d_xO_doUmk&-FF{Lln3A=6Per?DU zS*29JVA(QWt>~=_+a_~9d&RV?`xO^&sm;HCu8c=bnHQNoU-8=MX^oAduFIS5uebgj zzsAb;H||!#dHyFRT;6%F>Uz#H?Urhva$H{i|Bd^MS0rY$ZT|Z2+Sj=`yY5~oiN9s- z(7Q3yKsvi*yM4-g2GRUFsWX)fskU|Tx$~HhEjxI%Xf7Y4?e*9HnL_{ZReY{*dsD@* zm7)C2ECnFBhCP70;5b+S4|91D|B7EHcy`MfNb_Db;ksI1S|Frxk6A%x;%Ua)OkQRF zjkXq^4R#ihKX)F?Irrrs%Yh359*>?Zuw_vDt}bC~aq{PnKlTi#I6RHM&R-5p&kUZf KelF{r5}E+Y?orqP literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/tinted_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/tinted_window.png new file mode 100644 index 0000000000000000000000000000000000000000..d5801d0149cae4c9b2825d21eae18df7261122dc GIT binary patch literal 770 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|V0* zPZ!6KiaBqi4YM9Qh|~tj9QM$gvOq+wbe67=hm`OK-a9|dtPb2cHa9=PAn)3S=$y$` zJ31zYM2M+Gcs=Y<(kz?A`uAdbxtzqGufq3wZ2tF}Ds?|@#jN= z5qi%o_U_QJ+8c95d;f>csgK{>VP?o#^Y^`zp*aEv1Bw{WXNKAXCUR^dqCEWc?IW=!x;>wjO7x% z3)CL)EoQvJawpNGVOE3n8s}xMmw#m4TwTg5(RZv@n!j|ha^!luH7AN3+%1?kzjT=w z7sEEit>qWro9W9>OHEi4{%M9?z~W6hapr2XdP-->)ivBK+8 z&TU3oyDQr?dIVbycU7{zl5j|za*yxb$4_50u0Ag-_R{weUu)mUT zLEE;>4e!41uG=qg^!zuz0O#8#5&gR>!+3tL2l5UDoqze1Eui`BZic1u^(SUOZ|GaK z^J$XbtK;s8f8v<(i}zNEXMDDNu)ki?=r!19*H~8K^l%SbfN()OQs}JBcDU`HcB8l9 zp5DZhRjU72HcvkA(U#$m;8d9n<^iXwxy~H)WLnWYdF^~@o#!R*`~%)zTEsa2En`5^ mlIr>v7@j}=ynfO*wEgkT^D9XX2vGW=HEi4mdb^vzcvJFKA-msyt2TmVZKkLBV_llWAw# zn&$KyZfKmy$0N~V@o|cVTPXLg&pGEax&O?IU;BNs($BBaFF)=qKd<`z-q!_<-QDKf z85DE^@0{+he40P2=xKHCVw1QDnpb8VubUuWyyCpgH|D9*=l3L-Z0-6}@r?EH%{I*@a>-Tgva8zb>mr5=GC3H& zKaMGNeSe9s%~O8=ewn3GpS9Q-cIUPwUOJvPn~|Z-bN`O}VK)7L6D&KIY*RFt6*bjO zZqnbA;sqYxZnUhtV#vMWb3@U)-`m$eIe+{dbIIkO0t^komY11L5^Nfx8mx~ouVCGg zjEA{**&^55Hrw7@-N}9?dH>f#&U-Ixd?azE?$lBuD{I%+T#WT@mzc1Wl z1ap5(c+;Kt|HeH=uX%q>B0e&ls;UXjoyUA@*}=PJ&5v&}{5$vc)pm#J_nGJY?N{6^ z=b(E)cC(rXkbKN|h3SqVSO5?6j6-LqW{! zKMG4NEq*?Kkn;RF+iAX!2J_cKqr^*qe= TK-M2%s%G$X^>bP0l+XkKsbpy2 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/uranium_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/angular.rsi/uranium_window.png new file mode 100644 index 0000000000000000000000000000000000000000..ec4206013b01a19d742d09fd723e03b5ead100b2 GIT binary patch literal 572 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|Vnb zPZ!6KiaBp*8|F0|NVLXli3O~VS&%)A?`^=!Y(4?CHl9eUFJhJs`Hm`j2U7SBNUe0X zE;-4%tK?|%E)kc`=0#oi`8)sLPI9m6ci+%lU(Lp^BUbLtz_EBk=H{t?Kg)*4@6OH0 z>UHp0c(}Xrp4iSzyZlL}mn^DFzn&HB{Jrw)UKRm2#jZOKetlb(sae9wAo?TX@;H$;sx)N z4r?4a{`Lj0jSPky<{T4-ZH#7847VAic^h&Y zd>?2<@$_cjU7t7o%H9?R3tb?NGxDv*|zD1 zO7=%5m+89<7$3OozpH-s%ypd$S9dJ2sk5lbigl36znn0A-(SYJcA0y8n`3`{W8d<7 z$;>~>20s~q{B`>eEv^*zclC0|4>n~b@O|>1wdCXz~|at zkf+i2TH9Ir_O$&p}CMx_4|T{TyqpQB}HoTh>EHo zP|b|!UL)4+a;C<6Uid-1OEvY6C2!o6b!`0j<0%J2q0si^vkQNIoq6HT&l_tC4V5-> z$mPG6zr0K1_V>(riCbr!buO0L@k5L4h-c3(jl%yEwj`GZZY#er|MG#O`-6LLIkV+A zMDgutna{)c;NwflOO}dfjYD3m-fs{n4O|qZ|9n#Df+&5)FAt;(UMf9Sar^nza#ElD z519nE4XhgsnQt)Nn8BFCm~)0<8-rOILo|c5af5C{ujB!-1IKt0xD$k1XNhfB+w$)D zG1bR$&MYrX)GpZ^uG=o!`%!*Tz-6bV3r9Dt$9W7F-ar0q-|+gNW9B?p RUSP~Kc)I$ztaD0e0sv~H?g;<@ literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_ang.rsi/DamageOverlay_12.png b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_ang.rsi/DamageOverlay_12.png new file mode 100644 index 0000000000000000000000000000000000000000..dde1356fa9488406eecfbd38e01a903cae2ba686 GIT binary patch literal 856 zcmV-e1E>6nP)s5nU06P`(Wq8(05}xCZaI(-A&Hpb2Pja|HdaECqxvU zxbU8N3C${CUe?bfz`U$eJUtq>2X+q;(U5xl!Ue;;oyIT}gRYWogKA(Sv zhGrE&qzjRjJO>xt`V5abK*5ExuBShCZkm@ha3#p`(dR)Szf2lSft7hv{J#-8DreGX z+JKvYwj{mwdInw*50P)x5_0If4{hn635WuS^2=K&sPIHMCuqK5F*XC5vw(7fqb7JtU}Plc4Q@&R76;Cu7VnY z&_>XE^E~OLuouR&)pqH-Q-WsX}^rfs%k`gT%(bJRzdlG2i2JHohlh zGdzID{w#7*Bt9;7r)KVNnt*3X=0ez-Jl{RY`hZ+r&X^KX@gfB>&GPaQE+@zo@h&cn zL*H#uUHXmoz7o;dssdclY*aWtbwxY^ueVEy8NyFQcFOt)f*;0zw!s#m`T&p3N@9bV zL68nG-q)lLxVFLE#cLakxVAy?Hi+Csc9Wr_+u%QX0HCV{Sr^!KiZ%QNyf&D8f;^`k zBLHKBaygz?!729)Mi$00K3Nqq!acvv=UB zVDts-_6|G^v=F$K&~OvT@dCNtfwNGfM`+Un;O!ka1JG?S#{+2B5vZ{X+{Ff2C3dAW zFN-y8aSWviQclPk>9y;5$Ykg)s*97O?CoAZoSd&8PL}=QWU~q|g#UT_vM9S3IzN1M iis;uDXpZk_B>4?w5S(!!zj0Uq0000oSTV+F)eoDV>OyS91oG4&81@UhpcQG%hBTuZn(C#Vh{$b{Nwl4S*K zdGL90PpP0rL;>Hd*|p8kwaq|}IEgulvqwOT?j#Yp3oxO3fOjMpi0z?kn}^gk_&NIz zAby#@EbQA83Q4}3)NTWS@5@}ZAHev1?ar<~w&&L6iclvoC3moMIj$tQ-31KeIH4m; z^%))_bc|IaJi-zcMG7Bv846u)Jd^6=#9H*mQ&pv|hC?t#h~MK=5fumpEIb7ttbx)` zf)t^!<>_%e^vua<5Q>3@)S-A~4MORg~vuI3>n-B`* z@VljHDKzNXlyC+Z>Lba0{B`eqNCTUTlZ+O z`Bwqu?0W6+_+Fmbfx&|Ngm(89MFJ>xvsylsDEu$@|LG7mz(;lv$jSpmXzPexp5EvA zQvzZE%4>hDvJ%uF1ZSXL0joWEf;xHm42+RP<>{uCd8QfNYGeIY?)wI=J z8ltx{5P&#AEugv|j0^}sEg+Q02=C9z_(*P2Ay*g-3W!c@&=xRCZ;8f^P+)dGzZNJS zF!%r|xL9rLuB{jcVTEWaOp^H#4Q%kH#}LRl!W7_yw(9!`QW4D-Ibumq6*+xMl$bKZ zP=)Zm(vz&y?Z$*d#mQLeTN+joAx>=ES3`oppbHyIF^dZ86jiOP(brt*@r*4Fvn?Q$ zxp}CpY+u1BEgZ5oA6n(oSD$EMHs~vAsOQBC{xy#9=g>;{V=M}TErdVDqz`C0{4t^y zaD+dFR>B|St1!6B@V6y$b%3XUZjEK>08ar{6P(ilF3mcUKr%|b+cV#+5<}BypRl>8 zG~^ZFriY-+(V9O>A;=vfhCG7j&LLnsL{#fbhQ#RZk(7WpN6E9bHMDyKF()Jsh<1Qu zOfvH`>ac8}}=B^FGIf#eMOz8dqDAF1NpAS1;A%BmC~R(G=lltrH# uWau5HTOOdSMge?%9H6A*0Oh6!DE|RLN%JoW*|P-z0000S9~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_ang.rsi/meta.json b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_ang.rsi/meta.json new file mode 100644 index 000000000000..2299888418a8 --- /dev/null +++ b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_ang.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Adapted from https://github.com/space-wizards/space-station-14/ at commit f57e8ec6b9b4b72ef56c8146be0bc159ed2691ee, originally added by Zumorica, and modified for directional use by Darkie, modifired for angular directional for SS220 by NightmareStalker(GitHub)", + "states": [ + { + "name": "DamageOverlay_4", + "directions": 4 + }, + { + "name": "DamageOverlay_8", + "directions": 4 + }, + { + "name": "DamageOverlay_12", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_doub.rsi/DamageOverlay_12.png b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_doub.rsi/DamageOverlay_12.png new file mode 100644 index 0000000000000000000000000000000000000000..515caff076e41d372cedd1b45e97a1bb8eca0a4c GIT binary patch literal 710 zcmV;%0y+JOP)ti8?a9U`$pY~KbW*L6Nk z6TGNr(-h*2aXuvDwu1=PZGT{S8izZ%?x%5>u?zry8i$43QJYdoZLQn>2LLnm0n0JJ zi^+xS9zU_1V^`A;$}Rbj>qj3l#K;}d1^}3)x&Yuw9RPr5inIjB!`vt@^@#-m%TKfo zjf5^j1~drMI4n5yB%2mPFg67PCLaC7DVds%VgN$q5;1-7P#Yyd$gz$2liLZ=5kQS; z@3RFk8U$?blOW{O=iDS1p7%a|j$+_EmlnQt+yB@)&%{DfL&CKx$;nT7DPN7`tSfN>SKQG2 zTetmDD?=P>i>x0DjV|hT|xU2ba)MT7^G& z7^*34u^x}AH&^q!)X=O2esaVf(dO>~;7wRq*{`o_lQZ?^ZD?M}-yvbj=vyT8Lp6Sf z1xi?(Txj=2Nz&wZWG-^8z1n;{L``WJdToBkqhFhxgZ1>H&Cg$hUaDAubV=9J;di_u z8JaDBbuIp@M1#L08ayh!xxG~cY0In0|26`yI+9AKJ`H{ca7N`E7A-{y?ua&juOUc; szH9KGpmI@5O)hp{liy%47!1FNf4CY+Q!4zLlmGw#07*qoM6N<$f|bZSod5s; literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_doub.rsi/DamageOverlay_4.png b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_doub.rsi/DamageOverlay_4.png new file mode 100644 index 0000000000000000000000000000000000000000..1164accb02cfd671b0c0e970b2bafb4444a31cd5 GIT binary patch literal 449 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9F5M?jcysy3fA0|R5R zr;B4q#hkaZ9s8OMcwCuxYpkBrbgymmH?sn+u#UGmYEumtF7nJ-{B3`zL*V`PWm9fl z*~vAnwEB|a-Dxemv-Z@cPHW6N^5FQX>$_c!8Kr6Us&;M%4YZAt2eIS-^ZRm`1UlLg}4uv@cwk^tbm~`}ke9e5ZE7OZsq$s5S{SbNi zkJy9TCez(Oj)#H|!4cDzybG9Aee&HENu!ml+cdnd?}(oAG+RoU^Xsve$Yi%grlGI4 zXPlKiG~uI)-kJ0nCnEM6yUf@u{Pbq!MG;1@F{~N)+@8gR{kx^^YA+V`;adH-Gr6xX zq^lZd*Vl`!N=jT|OQ}k=tv&xwe{3wfWNE#*kLfR(r zNc^8P(o72eok#PqGeng%nubFIy-Jf5#v>el$WS5!3?%STn7>CRlc1b*Bbrm24Dg=R_5rhm0c7aMd*Y@pV)}geBLX@C!JZo^KxS9O-^5w z_3T zea)dJ$;lOZU6QlYMrUR!v~Kg%bcNmEi$`Jv0002kM(-OQ-}VO<`Un27+qRL?eR}S2 zW1-J?f*QCX18x!;$ZhU$^^nz1&J~LbCA9MF^TP{n|j?(*P z`g|Wy9Hx6w>?Z*gD}8Ml^fYD|y3DL^qp!r>o2|ogsne1uX8J6s*e#=?EOQ?fx6)5u zfe>D9z8R?<&KCL;(b5aa64BZTLGrIG*7}JfBaWn{XO{W^00000KgAnCsR%#{QWHA> O0000)HA literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_doub.rsi/meta.json b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_doub.rsi/meta.json new file mode 100644 index 000000000000..c012828e2fd3 --- /dev/null +++ b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_doub.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Adapted from https://github.com/space-wizards/space-station-14/ at commit f57e8ec6b9b4b72ef56c8146be0bc159ed2691ee, originally added by Zumorica, and modified for directional use by Darkie, modifired for double directional for SS220 by NightmareStalker(GitHub)", + "states": [ + { + "name": "DamageOverlay_4", + "directions": 4 + }, + { + "name": "DamageOverlay_8", + "directions": 4 + }, + { + "name": "DamageOverlay_12", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_o.rsi/DamageOverlay_12.png b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_o.rsi/DamageOverlay_12.png new file mode 100644 index 0000000000000000000000000000000000000000..6cb582328cb47b4f72baea4b55d984030c14aad5 GIT binary patch literal 517 zcmV+g0{Z=lP)X=t?=Zbh&pNm1+`+_^ar-yYVJK8O zZ9mB*YL)j825RJJFw2LRx`ryFJH5dipDkxN~IcT)oriJ(j9d8*?O0Zj>Bxdz-b#4Neg7yiiF zl1ojL1fTba@bNm~V2YAO18w9M`J_x_;0uSZ>7a0TjPzshZkDe7Do~1p#1c#0*RcY=0O%$AND})4w>a3v5t69300000NkvXX Hu0mjf92w-I literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_o.rsi/DamageOverlay_4.png b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_o.rsi/DamageOverlay_4.png new file mode 100644 index 0000000000000000000000000000000000000000..48e6b3a16346e7d66609458dfb3e3b1d211d6ff0 GIT binary patch literal 338 zcmV-Y0j>UtP)lT-Fi&@U?xr3pW2$a^(c_Quw zOoH>kx2TGNtk66AqB3!y76^BZ_YPgSpbC`OJ83F+cp z?T%C_1UDWVdjQ}s;Qn}S^po#}O}hH+b=1&1dpjZsAb4k^8UYqv1`xz_5HB*n?`-U(Is^Mm@&A5{06jAz8(vZ8GWAjVharkB$%3PIY6NDYOSIKyKjD1k z6W-ZdYt1J@b`MO$QBZK)g`tNM{beN^fhgGBGMG}qsgQ_h^z#H{85|K=1gpS^Oa;@9 z3h!)OT4~o5mEy0;v?+s{dSW}XCE0HJ7VN@}pe(79fOj^oazds^2{qf)hH@E#k}78J zY%IaO3R3ncjb~~C1;bmOVEBNiU8@$#d7@_5sP5wo#c3AfuAwTCUvvIH(5hsu?l~jU zJQp5qy)B%cicd%+F!2IY(9x6C(8WZa??q%mKGXf7Vf%*R47B!hpbE?GM#Sv&_7r{> n=tVhF1H*Si=^O{qUD1;-t6*Gtm%nup00000NkvXXu0mjfy70eb literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_o.rsi/meta.json b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_o.rsi/meta.json new file mode 100644 index 000000000000..011405373b0c --- /dev/null +++ b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_o.rsi/meta.json @@ -0,0 +1,23 @@ +{ + "version": 1, + "size": { + "x": 32, + "y": 32 + }, + "license": "CC-BY-SA-3.0", + "copyright": "Adapted from https://github.com/space-wizards/space-station-14/ at commit f57e8ec6b9b4b72ef56c8146be0bc159ed2691ee, originally added by Zumorica, and modified for directional use by Darkie, modifired for O-shaped directional for SS220 by NightmareStalker(GitHub)", + "states": [ + { + "name": "DamageOverlay_4", + "directions": 1 + }, + { + "name": "DamageOverlay_8", + "directions": 1 + }, + { + "name": "DamageOverlay_12", + "directions": 1 + } + ] +} diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_u.rsi/DamageOverlay_12.png b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_u.rsi/DamageOverlay_12.png new file mode 100644 index 0000000000000000000000000000000000000000..f808fb7d86c3687763d8a66c757e65e96cca1b41 GIT binary patch literal 1114 zcmV-g1f~0lP)ahe|>z&Oo)zT63q59pbcQhHkHoPgLSE_c8}6O;g7H=F!`?!$4HQtI04 z<(_|_xJQXjLy2vWWi_m{xcQHSPUxOw8AV@kk_gsn>s5mWzaG4IgJ81#;$fK3Ijbl=E4{j^j5seK#NqsA9Z%K)FMo(lQf-qM{0M zjSf=Ikp8B$)f50UfQPeY{$7koQ;NA>Rr!?0IL$*7Vg8sPcRf#qYJ4cuZ#Wa;FY~B~ zg$Z(uc@xwuygAwlK@`%M_M*+vI6)1Km>TkNjbdoPf|Dc&1P1zUp_o|sLb)gO&?6!v z%wHT=hduq;wDIA9H>-va%yopGH42hE=98Q+KoTRjk0DrEN{N)iwYoy2oBJU54yi+c z_6eQ5RZ8A4R($4$<_5ft-EdDG1;#qutHIsla;+!aqS{l?9MO_vEx_UnXikqq4GOE~ z+CHKo!qE|@fQ2C~fmz$wII1nL`T$7?B}o}_obRa>6ciaIJf&%Jf=Cgxr`HLE44glq z1r;rzD>#Ql9G_I~hA+9TMR9Rd5FYY*wqW@Ug0Du+@VA8*N?+qs!@>s~5&lZx#>xUN zdJ5K-9+mOU2}XxM3j`&&tP+cf5G5!P&Da$FETH264QvGzqywaW5NjTASoni6GB3af zSKBYv9e|H~e;W@+g+GC=w6OZ(h2y8h3%59`F;NVE3ZteKV9jc@cWJM&Bnu#{9JV;e zsDcP1e3uxvT?GpqoidA4z#G~MaA{h66>z3js{!(Hpy{dLt;14jjF2gilcO$&DwCj5 z3JFmF`Qjb9r&>mBghc_GIWouM?va`ZZHr44+uFj$6OoBfQAle^>xs}rh!idCrU*dP zG>CG7;tFt!Ha(-~!<=DQCI~330K4x``bY>B+hUXEQHfCqxD@y(p~I(u))%0=MDO#gZ zih0=D6t%7m;$?4c^8dm}iJ-vLcP@=tR&r>?h8X#k gi=%58`O4+-KLQ2;Jxejei2wiq07*qoM6N<$f`s1uuK)l5 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_u.rsi/DamageOverlay_4.png b/Resources/Textures/SS220/Structures/Windows/directionals/cracks_directional_u.rsi/DamageOverlay_4.png new file mode 100644 index 0000000000000000000000000000000000000000..aed4c69e4ad88c5acd62e8c257d88b357eecb454 GIT binary patch literal 651 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 literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/frosted_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/frosted_window.png new file mode 100644 index 0000000000000000000000000000000000000000..99f3d26cae7184168d9c65a3a099666c17d2f10d GIT binary patch literal 506 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|Vn4 zPZ!6KiaBp*Z_GO6AaiVgOsK~z0ao?&>3m$fIwqK(n6~{S^OM{=HO$ZX-d;EwX%%78 zeA4mglHf(Us!I!=Rh|9L+`eC^PO<#E?34Pa#TT9V7`7!Z_Dj*Szq;!W6N8OCN9*G@ zqp1^CwiMi%eSMyM%h9thzHHAqeynP1&#mUf8?SdWG%QwSVA#Iq`s&n>o?U+XP3N5{ zn(4KL{cw@Xs|Q8vX+x6j(gE#SnV*a9XdEW7w4JSnGVgW;iLCs@tgZb+=`-@l1_%c{CNIdM9o zo9^2^vHJVeEW+n_lGiGM_~54(UT!}&IZ{u?yk@&z<&BfZDVZ|1_O@D*jauvsKvy#; zR95#^)rueA{d+^T-=f2IVf)lp%UJz=^xXTud2c*Z?|jBH3`@nB6WLY>%-}J0Sb5Z8 z2BQ{>+F_o6EJJ~`2Cl}F2Fz2Ucv>VEI3*ZiDm9uq8bg=d#Wzp$P!6c--Is literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/meta.json b/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/meta.json new file mode 100644 index 000000000000..078dc79b839d --- /dev/null +++ b/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/meta.json @@ -0,0 +1,47 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from skyrat-tg at commit https://github.com/Skyrat-SS13/Skyrat-tg/commit/639e77f6e957bce88d9734b4b97b249738af42b1, uranium windows made via edit by SphiraI(github), clockwork windows from https://github.com/tgstation/tgstation/blob/21b42d49ecf2b87f665b5f122368f6a247676721/icons/obj/smooth_structures/structure_variations.dmi, double version and resprited uranium windows for SS220 by NightmareStalker(GitHub)", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "window", + "directions": 4 + }, + { + "name": "reinforced_window", + "directions": 4 + }, + { + "name": "tinted_window", + "directions": 4 + }, + { + "name": "frosted_window", + "directions": 4 + }, + { + "name": "clock_window", + "directions": 4 + }, + { + "name": "plasma_window", + "directions": 4 + }, + { + "name": "plasma_reinforced_window", + "directions": 4 + }, + { + "name": "uranium_window", + "directions": 4 + }, + { + "name": "uranium_reinforced_window", + "directions": 4 + } + ] +} diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/plasma_reinforced_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/plasma_reinforced_window.png new file mode 100644 index 0000000000000000000000000000000000000000..1bf19ddf7a991f44d9af6c41ab9769a0bbc9b29b GIT binary patch literal 541 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|VoE zPZ!6KiaBp*E9M_^kZ8L)$FJ?>QCp_v_ zm;TIUkT7%mx5M1=`5QBahTT^u^FLVfHFa}W)qb%T-)Qp6^GNqon5=`@_dPDivglUVH&MOyaxRi)ZGVHt&2DVoG%@ z&n&z=Kd1TL&hFzMj^pV7%@c-wQE}7l%l|z8FTFZu}Yd;A%XHq;%$ahG;jT+s{iG5^l)+oV#z=_g8(ECBN!z))78&qol`;+0H^NgJpcdz literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/plasma_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/plasma_window.png new file mode 100644 index 0000000000000000000000000000000000000000..200c5d6c2f9ebd34ab5d77c5bed0f0b904c73104 GIT binary patch literal 376 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|TR$ zr;B4q#hkaZ4Y>|Eh_KeHC}cn7)j4v^EH;WiA#-YX1;fGOC7Zr5YR!8gf6G=;_ zIx4!fY*2n9&5`5rQI7ecbJ=7avD57{XU?|Z?#%yl+;-~xSuc_HN&EqNjrWJNx~0EB~l`(^O~? zaNnAxsEAKn_UC>mdRx+jTxkQb8 zpz{aa<}>|uTpkRu4Q@;?m`sEm#1~9t*u~Jxa)C8Nr9sa@nX!aXigN+?1?)=P)_-Q) z{(I}*PfF5X_V3!qW3~TtjYG%Vm-{|5Dt?}y&G4sH=1*KNFen*3UHx3vIVCg!0D7E} AH2?qr literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/reinforced_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/reinforced_window.png new file mode 100644 index 0000000000000000000000000000000000000000..bdba7dddaafe13b83cc4de6a636ba10c0c13ba53 GIT binary patch literal 539 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|Vn( zPZ!6KiaBp*ZOl3pAky~VV_J$vmb|0RmgXQCmg9B}7anl`;F5eir)QtjbEm);%s19v zSm@!ra={nDRhJaYw>W#OTG}hJZs*>!|8tKk%zq;HUwNLy*Izf;7<6ts&Fk=Zb7j>Z zRfd9?`>VI^p4Y+Rq7sl@&L3yJ?!BtK+tT}6a<~^iRCw{_SKQJlHU=5l+YAlP*MK4( zez8mMXP87w3v!lJ{r%$d>A}BeT6-C_{w{qho<6zIV0KUQo>%Kve3-2y1T=cKzw?@D z*$fAMN3$@nua&+2-R-a=gTu=E8oxvoS_GUp6v2e+;t%zmg@%WYa)>L>F96aWb$_O6 zCZxs2=*00zZn}T(iOt`a50Nx zr!DsG_>wlca6{C(#G7J=mb+`}&Uni3Xj=GF{kQeM{~rT7dv?_B*Q)!cHB|WQvAe@& z3m$fIwqK(n6~{S^OM{=HO$ZX-d;EwX%%78 zeA4mglHf(Us!I!=Rh|9L+`eC^PO<#E?34Pa#TT9V7`7!Z_Dj*Szq;!W6N8OCN9*G@ zqp1^CwiMi%eSMyM%h9thzHHAqeynP1&#mUf8?SdWG%QwSVA#Iq`s&n>o?U+XP3N5{ zn(4KL{cw@Xs|Q8vX+x6j(gE#SnV*a9XdEW7w4JSnGVgW;iLCs@tgZb+=`-@l1_%c{CNIdM9o zo9^2^vHJVeEW+n_lGiGM_~54(UT!}&IZ{u?yk@&z<&BfZDVZ|1_O@D*jauvsKvy#; zR95#^)rueA{d+^T-=f2IVf)lp%UJz=^xXTud2c*Z?|jBH3`@nB6WLY>%-}J0Sb5Z8 z2BQ{>+F_o6EJJ~`2Cl}F2Fz2Ucv>VEI3*ZiDm9uq8bg=d#Wzp$P!6c--Is literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/uranium_reinforced_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/uranium_reinforced_window.png new file mode 100644 index 0000000000000000000000000000000000000000..3e0761bdc850208032d15c7a49c64d43c0d147dc GIT binary patch literal 525 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|VoJ zPZ!6KiaBp*t@S$`AklWePi+Zrihab9BWVJ&Z{+$Yo@iRR;we|(42LgVY2HEYPE$`i zG#ub*oN+gd>1AL_$I?^*4Moe>4=;Q#jGz51v&!$j{>$*yw{4>s8y;I}2+uslzg4fE zm*LM1;ja_5Q?wL=JAa+HTlMz%yc2nD%kP)Pus<~5vU-dRA6&Cep3l}rb3=?uK@7WA{sU|F4fj6n`m=Su{{Qual3V|6s#ty9qQf4q}v8Wy92~aeUL?~VMNiyMd$fGYm zSZ=P7i{KYJ-0jgSeW0pa+_L1?{y+8$dOnt1{Lh&B>psI4=E*icCkPz?#xH}XtDnm{ Hr-UW|hX>!! literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/uranium_window.png b/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/uranium_window.png new file mode 100644 index 0000000000000000000000000000000000000000..cd9798132de323a52a8f2d01dfe66d17c5eeea68 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|TS3 zr;B4q#hkaZ4YOJTL|oT5_fER$cq?<0=-N8Nqb8bZ;+q@ZBr)Y3@Y+5p?baKGgYka5 z64{OjOsHr6FS9|QyV_ETzb5KUnSQwEs#ji`oxwF0Ri?y z%$Gd(=go2kraP>66b{55;3b)n^GM`sOW6JS@!J=3zFqbIs&49z&*}U5JvPpZ`(>w) Z`j5Yl?T=!pKWj6{d7iF*F6*2UngDY-n?e8p literal 0 HcmV?d00001 diff --git a/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/window.png b/Resources/Textures/SS220/Structures/Windows/directionals/double.rsi/window.png new file mode 100644 index 0000000000000000000000000000000000000000..7252bb9c0aacc946cd2c762ce018c77481715b51 GIT binary patch literal 373 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1|(Ny7TyC=oCO|{#S9GG!XV7ZFl&wk0|TSF zr;B4q#hkaZ9lcruB;4xd{Yow@F|}dmW!ZiyNb1^-wzrEtqcb?0T$t}m%`&-=*gHwQ zL-2&{L0fi~qX)kiy3~D$>wf(4m9f&IRjWNt+MKmtxAKpX(xYF`{*}FHU&1oZxI1O z2$*>1#J|ZixRv#KQvAL##Yhx#<=nBEd#}s(&_6B9)PJueY~%y0H%@hYw!ZJ+XTh!P z`%@?Uyy?%#dVw`V#6f&PAVX|}8)FHh6mbH4_kT0n-CO=NV^`Vr|F5w4$0bT;msWIZB=B+-!5Oi|dG;T zcW5{u(zqhGnq|{!kHG5!mnO}+dGpD$=W5FP-lROAo$`DgTiUO`-MkDdJSwl2USni< z6&Lz_!jp}8eoAlGG;iiR>**q=Ub%*G!NJ-JQOzZf&wN=Hd-q)pGlSnbe@2EWg;wW! zxC_;H-i z9vl0Q+Z{NMCpFDx`<~SFA%{Kir{)9Kn(&GL^U}(m)`%RxU1W0d@mmR<+wUgGn8xKD zNU*qNqCQdYxFSQ1uHDDNd|rk(r+>~6xX1Nijq~oyhi>|M>!-IyuJ3xg_5SqFfej1x z@jqDbNms%AKzm1p!+{R=0PdE)3Wlu?FGyjA++*JJ$KvIh!(X3@*46U^gVXQ55yKC2 eci*SiAKUkGoqc#l)Sw0!$qb&ZelF{r5}E*L|K*tg delta 692 zcmV;l0!#gp1k44HB!2;OQb$4nuFf3k0007pNklng$F7Fcgr;iQu77>31FqmB@)OrbpAjZ7x5P;Qi6LeJR{$ z@}=ORSh;0msec3yg%LfD#(`gdc;wvQ0gh{c`vkZ=1+FwR8Vf-X1VIo4K@bE%5CriT zki&Ib2JSNdX?ErV){fehV{n&d0jmQN=~2t;)n874U0Rm7 zpAd13)da*+iR;?MES5^_qh*PmBG_T`)E)yU@ldE(DuE801Hg9eUnzq91zR^leppfH zFW64a0)JEktnAY8bRs7!&vqgw0u4{^)GT1n2ZR-s7Pwfdhj)Y22W-IK*$GJ*@b)n`GA9ke1MHj$Ok+^ zKHvbc>jR>3z-xRMN8?~0Elcclhd0b1Eaw9NY%SF+%nsNwLRXrh#dLD2j+bj|?eVQz a#(W1DHXIeoeo&JD0000nP<{lTc=bn>TyyEk}MsxWcRY&=lzcpbRlMu=-i`KP^oB7%Mjv3k zz?hVw*TCmc%vi!Oi+cg{g%}3ehG$GK7)-<+*ca?%uwpn1RD-EREXZNr=3DzNpTGY7 m>E&;8Kg|ihuOw10_n%eecz5-GMZp^kK;Y@>=d#Wzp$PyGSet49 delta 617 zcmZo+ZepFFQqNc%_V`xYZO_ASp ziGQ7c+?G>|9omW+E}Rfdh`BW-^Zd<>m%G0gS21TXNuJw!N|~Wz%J*P~siBOWT7j8Y zGE5J%Cp-L>p0Glsk>`Hfto^mV`3^c*Ziq6n+HNLZNTkFi=DsG^_MvWKZj*qkw zLYosM+TiGCJ#){A?Mw2)riYc5rMTRkap35uQ>)JPRb1)ioGtY`VcSvb-cGIqD??Q~ zGZzIdPAz>GpTP6NL`~_oXV%p7zodk(fK(==MyILUq%7@^5ZMtucjm=+dwGAE@GUTW zxXk!V@JdykiFrILymNo=%on@Uc5g)idNA6o1e^AknG?a zob_AlK>0?+!mI;|k4ktM?ELFhwB~-@`zG*Sc&C@Sd{?vSfwPRAYrYiL{)zf8vW`h| zU#3p0X7}tHnF@!0hUFyu`>T9_EkNCYSK47NgJ}*!Dbtk=j8`}V4&x9^Qg`T`ZF?|6 zB;a+Y8=ptWvX6q@Obk&QSBCw}5tiPU|Dq;%%S)T@xn0-lr$6=$oNi%yU=GjAFRb-l uyeIeP_w9;iP72JK%lT@{@%=r#XV{n2=3iQ4|HOv@2s~Z=T-G@yGywn%rWxG; From badd970b70871025498f072797cc67c4897a726a Mon Sep 17 00:00:00 2001 From: Maxon Date: Thu, 1 Aug 2024 09:19:44 +0000 Subject: [PATCH 17/23] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 3a9a6462996c..4a64ab0d51a6 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4295,3 +4295,22 @@ id: 341 time: '2024-07-31T15:52:48.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1052 +- author: NightmareStalker + changes: + - message: "\u0414\u043E\u0431\u0430\u0432\u043B\u0435\u043D\u044B \u0440\u0430\u0437\ + \u043D\u044B\u0435 \u0432\u0438\u0434\u044B \u043D\u0430\u043F\u0440\u0430\u0432\ + \u043B\u0435\u043D\u043D\u044B\u0445 \u043E\u043A\u043E\u043D \u0438\u0437 \u0441\ + \u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044E\u0449\u0438\u0445 \u0441\u0442\ + \u0435\u043A\u043E\u043B, \u043A\u0430\u043A \u043E\u0431\u044A\u0435\u043A\u0442\ + \u044B, \u0442\u0430\u043A \u0438 \u0432 \u043A\u0440\u0430\u0444\u0442" + type: Add + - message: "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u044B \u0442\u0435\u043A\u0441\ + \u0442\u0443\u0440\u044B \u0443\u0440\u0430\u043D\u043E\u0432\u043E\u0433\u043E\ + \ \u0438 \u0443\u043A\u0440\u0435\u043F\u043B\u0435\u043D\u043D\u043E\u0433\u043E\ + \ \u0443\u0440\u0430\u043D\u043E\u0432\u043E\u0433\u043E \u0441\u0442\u0435\u043A\ + \u043E\u043B \u043F\u043E\u0434 \u043E\u0431\u0449\u0438\u0439 \u0441\u0442\u0438\ + \u043B\u044C" + type: Tweak + id: 342 + time: '2024-08-01T09:18:39.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1476 From e065f118ff04e9569e0198b35c4eb50800c7406f Mon Sep 17 00:00:00 2001 From: Ady4ik <141335742+Ady4ik@users.noreply.github.com> Date: Thu, 1 Aug 2024 12:20:56 +0300 Subject: [PATCH 18/23] Gasp fix (#1497) --- Content.Server/Body/Systems/RespiratorSystem.cs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/Content.Server/Body/Systems/RespiratorSystem.cs b/Content.Server/Body/Systems/RespiratorSystem.cs index 161fd6cffec1..c8d6050794a7 100644 --- a/Content.Server/Body/Systems/RespiratorSystem.cs +++ b/Content.Server/Body/Systems/RespiratorSystem.cs @@ -5,6 +5,7 @@ using Content.Server.Chemistry.Containers.EntitySystems; using Content.Server.Chemistry.ReagentEffectConditions; using Content.Server.Chemistry.ReagentEffects; +using Content.Server.Popups; using Content.Shared.Alert; using Content.Shared.Atmos; using Content.Shared.Body.Components; @@ -34,6 +35,7 @@ public sealed class RespiratorSystem : EntitySystem [Dependency] private readonly IPrototypeManager _protoMan = default!; [Dependency] private readonly SolutionContainerSystem _solutionContainerSystem = default!; [Dependency] private readonly ChatSystem _chat = default!; + [Dependency] private readonly PopupSystem _popupSystem = default!; private static readonly ProtoId GasId = new("Gas"); @@ -95,6 +97,11 @@ public override void Update(float frameTime) if (_gameTiming.CurTime >= respirator.LastGaspEmoteTime + respirator.GaspEmoteCooldown) { respirator.LastGaspEmoteTime = _gameTiming.CurTime; + // SS220 emotes begin + _popupSystem.PopupEntity(Loc.GetString("lung-behavior-gasp"), uid, Shared.Popups.PopupType.Medium); + var emoteType = _mobState.IsIncapacitated(uid) ? "CritGasp" : "Gasp"; + _chat.TryEmoteWithoutChat(uid, emoteType, ignoreActionBlocker: true); + // SS220 emotes end _chat.TryEmoteWithChat(uid, respirator.GaspEmote, ChatTransmitRange.HideChat, ignoreActionBlocker: true); } From 883609e2150b18a4543fe8595caa5e07d880f970 Mon Sep 17 00:00:00 2001 From: NightmareStalker <162575884+NightmareStalker@users.noreply.github.com> Date: Thu, 1 Aug 2024 16:21:55 +0700 Subject: [PATCH 19/23] Fixs Toy e-sword and Golden shlepa clown shoes (#1492) * Fixes * Apply suggestions from code review Co-authored-by: Dexler <69513582+DexlerXD@users.noreply.github.com> --------- Co-authored-by: Dexler <69513582+DexlerXD@users.noreply.github.com> --- Resources/Prototypes/Entities/Objects/Fun/toys.yml | 2 +- .../Prototypes/SS220/Entities/Clothing/Sponsor/clothing.yml | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Resources/Prototypes/Entities/Objects/Fun/toys.yml b/Resources/Prototypes/Entities/Objects/Fun/toys.yml index b4eabe08b90a..65a72ed6103d 100644 --- a/Resources/Prototypes/Entities/Objects/Fun/toys.yml +++ b/Resources/Prototypes/Entities/Objects/Fun/toys.yml @@ -1198,7 +1198,7 @@ map: [ "blade" ] - type: Item size: Small - sprite: Objects/Fun/toy_sword.rsi + sprite: Objects/Weapons/Melee/e_sword-inhands.rsi #SS220-esword-fix - type: UseDelay delay: 1.0 - type: PointLight diff --git a/Resources/Prototypes/SS220/Entities/Clothing/Sponsor/clothing.yml b/Resources/Prototypes/SS220/Entities/Clothing/Sponsor/clothing.yml index 0cb06c46afa3..54aec3234b1f 100644 --- a/Resources/Prototypes/SS220/Entities/Clothing/Sponsor/clothing.yml +++ b/Resources/Prototypes/SS220/Entities/Clothing/Sponsor/clothing.yml @@ -154,6 +154,7 @@ - type: FootstepModifier footstepSoundCollection: collection: FootstepClown + - type: WaddleWhenWorn - type: entity parent: ClothingSponsorMaskBase From 4da70c50035232d2515879d658ca91a9e2bfb34b Mon Sep 17 00:00:00 2001 From: Maxon Date: Thu, 1 Aug 2024 09:22:59 +0000 Subject: [PATCH 20/23] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index 4a64ab0d51a6..c9ad87d921e1 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4314,3 +4314,29 @@ id: 342 time: '2024-08-01T09:18:39.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1476 +- author: Ady4 + changes: + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u043E \u043E\u0442\ + \u0441\u0443\u0442\u0441\u0442\u0432\u0438\u0435 \u043F\u0440\u0435\u0434\u0441\ + \u043C\u0435\u0440\u0442\u043D\u043E\u0433\u043E \u0445\u0440\u0438\u043F\u0430\ + ." + type: Fix + id: 343 + time: '2024-08-01T09:20:56.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1497 +- author: NightmareStalker + changes: + - message: "\u0418\u0437\u043C\u0435\u043D\u0435\u043D \u0441\u043F\u0440\u0430\u0439\ + \u0442 \u0418\u0433\u0440\u0443\u0448\u0435\u0447\u043D\u043E\u0433\u043E \u043B\ + \u0430\u0437\u0435\u0440\u043D\u043E\u0433\u043E \u043C\u0435\u0447\u0430" + type: Tweak + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u043D\u0435\ + \u0434\u043E\u0440\u0430\u0431\u043E\u0442\u043A\u0430 \u0441 \u043A\u043B\u043E\ + \u0443\u043D\u0441\u043A\u043E\u0439 \u043F\u043E\u0445\u043E\u0434\u043A\u043E\ + \u0439 \u0432 \u0428\u043B\u0435\u043F\u0441\u043A\u0438\u0445 \u0437\u043E\u043B\ + \u043E\u0442\u044B\u0445 \u0431\u043E\u0442\u0438\u043D\u043A\u0430\u0445 \u043A\ + \u043B\u043E\u0443\u043D\u0430" + type: Fix + id: 344 + time: '2024-08-01T09:21:55.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1492 From d8d6d9ba43cdcc5930cfc3a1ce4c4e5e62f00d79 Mon Sep 17 00:00:00 2001 From: Kirus59 <145689588+Kirus59@users.noreply.github.com> Date: Fri, 2 Aug 2024 00:16:45 +0300 Subject: [PATCH 21/23] Add IgnoreFTLMassLimitComponent (#1498) --- .../Shuttles/Components/IgnoreFTLMassLimitComponent.cs | 7 +++++++ .../Shuttles/Systems/ShuttleSystem.FasterThanLight.cs | 4 +++- 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 Content.Server/SS220/Shuttles/Components/IgnoreFTLMassLimitComponent.cs diff --git a/Content.Server/SS220/Shuttles/Components/IgnoreFTLMassLimitComponent.cs b/Content.Server/SS220/Shuttles/Components/IgnoreFTLMassLimitComponent.cs new file mode 100644 index 000000000000..cd7c6fec0509 --- /dev/null +++ b/Content.Server/SS220/Shuttles/Components/IgnoreFTLMassLimitComponent.cs @@ -0,0 +1,7 @@ +// © SS220, An EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +namespace Content.Server.SS220.Shuttles.Components; + +[RegisterComponent] +public sealed partial class IgnoreFTLMassLimitComponent : Component +{ +} diff --git a/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs b/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs index 28f784f1dda0..8986eac4d052 100644 --- a/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs +++ b/Content.Server/Shuttles/Systems/ShuttleSystem.FasterThanLight.cs @@ -3,6 +3,7 @@ using System.Numerics; using Content.Server.Shuttles.Components; using Content.Server.Shuttles.Events; +using Content.Server.SS220.Shuttles.Components; using Content.Server.Station.Events; using Content.Shared.Body.Components; using Content.Shared.Buckle.Components; @@ -219,7 +220,8 @@ public bool CanFTL(EntityUid shuttleUid, [NotNullWhen(false)] out string? reason if (FTLMassLimit > 0 && TryComp(shuttleUid, out PhysicsComponent? shuttlePhysics) && - shuttlePhysics.Mass > FTLMassLimit) + shuttlePhysics.Mass > FTLMassLimit && + !HasComp(shuttleUid)) //SS220 Add IgnoreFTLMassLimitComponent { reason = Loc.GetString("shuttle-console-mass"); return false; From 187a653d686a842e597e5d6ff49d004149b1c08e Mon Sep 17 00:00:00 2001 From: Anri Date: Fri, 2 Aug 2024 01:12:03 +0300 Subject: [PATCH 22/23] Thermals fix (#1474) * BugFixAndRefactor * BugFix * Licence * FixFixFix * BalanceMoment * CommentFix * QoLAddition * FixIfIssue * Update Content.Client/SS220/Overlays/IgnoreLightVisionOverlay.cs Co-authored-by: Dexler <69513582+DexlerXD@users.noreply.github.com> --------- Co-authored-by: Dexler <69513582+DexlerXD@users.noreply.github.com> --- .../Overlays/IgnoreLightVisionOverlay.cs | 176 ++++++++++++++++++ .../SS220/Overlays/ThermalVisionOverlay.cs | 28 +++ .../SS220/Thermals/ThermalVisionOverlay.cs | 93 --------- .../SS220/Thermals/ThermalVisionSystem.cs | 1 + Content.Server/Mindshield/MindShieldSystem.cs | 12 -- .../ThermalVisionClothingComponent.cs | 2 +- .../Thermals/ThermalVisionImplantComponent.cs | 2 +- .../Thermals/ThermalVisionImplantSystem.cs | 21 ++- Resources/Locale/ru-RU/clothing/glasses.ftl | 8 - .../ru-RU/ss220/clothing/Eyes/glasses.ftl | 9 + .../ThermalVisionProto.yml | 4 +- .../ThermalVisionAction.yml | 6 +- .../SS220/Recipes/Lathes/devices.yml | 16 +- 13 files changed, 241 insertions(+), 137 deletions(-) create mode 100644 Content.Client/SS220/Overlays/IgnoreLightVisionOverlay.cs create mode 100644 Content.Client/SS220/Overlays/ThermalVisionOverlay.cs delete mode 100644 Content.Client/SS220/Thermals/ThermalVisionOverlay.cs delete mode 100644 Resources/Locale/ru-RU/clothing/glasses.ftl diff --git a/Content.Client/SS220/Overlays/IgnoreLightVisionOverlay.cs b/Content.Client/SS220/Overlays/IgnoreLightVisionOverlay.cs new file mode 100644 index 000000000000..d9295ef52e74 --- /dev/null +++ b/Content.Client/SS220/Overlays/IgnoreLightVisionOverlay.cs @@ -0,0 +1,176 @@ +// Original code github.com/CM-14 Licence MIT, EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +using System.Numerics; +using Content.Shared.SS220.Thermals; +using Content.Shared.Mobs.Components; +using Robust.Client.GameObjects; +using Robust.Client.Graphics; +using Robust.Client.Player; +using Robust.Shared.Enums; +using Robust.Shared.Map; +using System.Diagnostics.CodeAnalysis; +using Content.Shared.Mobs; +using Content.Shared.Stealth.Components; +using Content.Client.Stealth; + +namespace Content.Client.SS220.Overlays; + +public abstract class IgnoreLightVisionOverlay : Overlay +{ + [Dependency] protected readonly IEntityManager Entity = default!; + [Dependency] protected readonly IPlayerManager PlayerManager = default!; + [Dependency] private readonly IComponentFactory _componentFactory = default!; + + ///

Defines radius in which you can see entities in containers + protected float ShowCloseRadius; + protected float ShowRadius; + + private readonly ContainerSystem _container; + private readonly EntityLookupSystem _entityLookup; + private readonly StealthSystem _stealthSystem; + /// If use lesser value wierd thing happens with admin spawn menu and GetEntitiesInRange. + private const float MIN_CLOSE_RANGE = 1.5f; + /// Useless const due to how stealth work, but if they change it... + private const float STEALTH_VISION_TRESHHOLD = 0; + public override OverlaySpace Space => OverlaySpace.WorldSpace; + + public IgnoreLightVisionOverlay(float showRadius) + { + IoCManager.InjectDependencies(this); + + _container = Entity.System(); + _entityLookup = Entity.System(); + _stealthSystem = Entity.System(); + + ShowRadius = showRadius < MIN_CLOSE_RANGE ? MIN_CLOSE_RANGE : showRadius; + ShowCloseRadius = ShowRadius / 4 < MIN_CLOSE_RANGE ? MIN_CLOSE_RANGE : ShowRadius / 4; + } + protected override void Draw(in OverlayDrawArgs args) + { + if (PlayerManager.LocalEntity == null) + return; + if (!Entity.TryGetComponent(PlayerManager.LocalEntity, out var mobstateComp)) + return; + if (mobstateComp.CurrentState != MobState.Alive) + return; + if (!Entity.TryGetComponent(PlayerManager.LocalEntity, out ThermalVisionComponent? thermalVision) || + thermalVision.State == ThermalVisionState.Off) + return; + + if (!Entity.TryGetComponent(PlayerManager.LocalEntity, + out var playerTransform)) + return; // maybe need to log it + + var handle = args.WorldHandle; + var eye = args.Viewport.Eye; + var eyeRot = eye?.Rotation ?? default; + + var entities = _entityLookup.GetEntitiesInRange(playerTransform.Coordinates, ShowRadius); + var entitiesClose = _entityLookup.GetEntitiesInRange(playerTransform.Coordinates, ShowCloseRadius); + + foreach (var (uid, stateComp) in entities) + { + var isCloseToOwner = entitiesClose.Contains((uid, stateComp)); + + if (CantBeRendered(uid, out var sprite, out var xform)) + continue; + if (CantBeSeenByThermals((uid, stateComp))) + continue; + if (IsStealthToThermals(uid, isCloseToOwner)) + continue; + if (_container.IsEntityOrParentInContainer(uid)) + if (CantBeVisibleInContainer(uid, isCloseToOwner)) + continue; + + Render((uid, sprite, xform), eye?.Position.MapId, handle, eyeRot); + } + handle.SetTransform(Matrix3x2.Identity); + } + protected abstract void Render(Entity ent, + MapId? map, DrawingHandleWorld handle, Angle eyeRot); + /// + /// function wich defines what entities can be seen, f.e. pai or human, bread dog or reaper + /// Also contains list of components which defines it + /// + /// True if entities could be seen by thermals. Without any other obstacles + private bool CantBeSeenByThermals(Entity target) + { + var states = target.Comp.AllowedStates; + + if (states.Contains(MobState.Dead) && + states.Contains(MobState.Alive) && + target.Comp.CurrentState == MobState.Dead) + return true; + else + return false; + + return true; + } + private bool CantBeRendered(EntityUid target, [NotNullWhen(false)] out SpriteComponent? sprite, + [NotNullWhen(false)] out TransformComponent? xform) + { + sprite = null; + xform = null; + + if (!Entity.TryGetComponent(target, out sprite)) + return true; + if (!Entity.TryGetComponent(target, out xform)) + return true; + + return false; + } + /// + /// function wich defines what entities visible or not. + /// Also contains const values of invis perception + /// + /// True if entities could be seen by thermals. Without any other obstacles + private bool IsStealthToThermals(EntityUid target, bool isCloseToOwner) + { + if (!Entity.TryGetComponent(target, out var component)) + return false; + + if (!isCloseToOwner && + _stealthSystem.GetVisibility(target, component) < STEALTH_VISION_TRESHHOLD) + return true; + + return false; + } + /// function wich defines what entities visible or not. + /// Also contains const values of invis perception + /// True if entities could be seen by thermals. Without any other obstacles + private bool CantBeVisibleInContainer(EntityUid target, bool isCloseToOwner) + { + var blacklistComponentNames = new List() { "DarkReaper", "Devourer" }; + + if (isCloseToOwner == false) + return true; + + var currentEntUid = target; + while (_container.TryGetContainingContainer((currentEntUid, null, null), out var container)) + { + currentEntUid = container.Owner; + + if (currentEntUid == PlayerManager.LocalEntity ) + return true; + if (HasComponentFromList(currentEntUid, blacklistComponentNames)) + return true; + } + + return false; + } + /// Checks if entity has a components from list + /// True if entity has any of the listed components + /// Throw excep if List contains false comp name + private bool HasComponentFromList(EntityUid target, List blacklistComponentNames) + { + foreach (var compName in blacklistComponentNames) + { + if (!_componentFactory.TryGetRegistration(compName, out var compReg)) + throw new Exception($"Cant find registration for component {compName} in blacklistComponents"); + + if (Entity.HasComponent(target, compReg.Type)) + return true; + } + return false; + } + +} diff --git a/Content.Client/SS220/Overlays/ThermalVisionOverlay.cs b/Content.Client/SS220/Overlays/ThermalVisionOverlay.cs new file mode 100644 index 000000000000..f95744e184db --- /dev/null +++ b/Content.Client/SS220/Overlays/ThermalVisionOverlay.cs @@ -0,0 +1,28 @@ +// Original code github.com/CM-14 Licence MIT, EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt +using Robust.Client.Graphics; +using Robust.Client.GameObjects; +using Robust.Shared.Map; + +namespace Content.Client.SS220.Overlays; + +public sealed class ThermalVisionOverlay : IgnoreLightVisionOverlay +{ + private readonly TransformSystem _transformSystem = default!; + + public ThermalVisionOverlay(float showRadius) : base(showRadius) + { + _transformSystem = Entity.System(); + } + protected override void Render(Entity ent, + MapId? map, DrawingHandleWorld handle, Angle eyeRot) + { + var (uid, sprite, xform) = ent; + if (xform.MapID != map) + return; + + var position = _transformSystem.GetWorldPosition(xform); + var rotation = _transformSystem.GetWorldRotation(xform); + + sprite.Render(handle, eyeRot, rotation, position: position); + } +} diff --git a/Content.Client/SS220/Thermals/ThermalVisionOverlay.cs b/Content.Client/SS220/Thermals/ThermalVisionOverlay.cs deleted file mode 100644 index 962365c8ba54..000000000000 --- a/Content.Client/SS220/Thermals/ThermalVisionOverlay.cs +++ /dev/null @@ -1,93 +0,0 @@ -// Original code github.com/CM-14 Licence MIT, EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt -using System.Numerics; -using Content.Shared.SS220.Thermals; -using Content.Shared.Mobs.Components; -using Robust.Client.GameObjects; -using Robust.Client.Graphics; -using Robust.Client.Player; -using Robust.Shared.Enums; -using Robust.Shared.Map; -using Robust.Shared.Prototypes; -using Serilog; -using Robust.Client.ComponentTrees; - -namespace Content.Client.SS220.Thermals; - -public sealed class ThermalVisionOverlay : Overlay -{ - [Dependency] private readonly IEntityManager _entity = default!; - [Dependency] private readonly IPlayerManager _playerManager = default!; - [Dependency] private readonly IPrototypeManager _prototypeManager = default!; - - private readonly ContainerSystem _container; - private readonly TransformSystem _transform; - private readonly EntityLookupSystem _entityLookup; - private readonly float _showRadius; - private readonly float _showCloseRadius; - private const float MIN_RANGE = 0.3f; - public override OverlaySpace Space => OverlaySpace.WorldSpace; - - public ThermalVisionOverlay(float showRadius) - { - IoCManager.InjectDependencies(this); - - _container = _entity.System(); - _transform = _entity.System(); - _entityLookup = _entity.System(); - - _showRadius = showRadius; - _showCloseRadius = _showRadius / 4 < MIN_RANGE ? MIN_RANGE : _showRadius / 4; - } - - protected override void Draw(in OverlayDrawArgs args) - { - if (_playerManager.LocalEntity == null) - return; - - if (!_entity.TryGetComponent(_playerManager.LocalEntity, out ThermalVisionComponent? thermalVision) || - thermalVision.State == ThermalVisionState.Off) - return; - - if (_entity.TryGetComponent(_playerManager.LocalEntity, - out var playerTransform) == false) - return; // maybe need to log it - var handle = args.WorldHandle; - var eye = args.Viewport.Eye; - var eyeRot = eye?.Rotation ?? default; - - if (_showRadius < MIN_RANGE) - return; // can cause execp also need to log it - - var entities = _entityLookup.GetEntitiesInRange(playerTransform.Coordinates, _showRadius); - var entitiesClose = _entityLookup.GetEntitiesInRange(playerTransform.Coordinates, _showCloseRadius); - - foreach (var (uid, stateComp) in entities) - { - if (_entity.TryGetComponent(uid, out var sprite) == false) - continue; - if (_entity.TryGetComponent(uid, out var xform) == false) - continue; - if (_container.IsEntityOrParentInContainer(uid) - && entitiesClose.Contains((uid, stateComp)) == false) - continue; - - Render((uid, sprite, xform), eye?.Position.MapId, handle, eyeRot); - } - handle.SetTransform(Matrix3x2.Identity); - } - - private void Render(Entity ent, - MapId? map, DrawingHandleWorld handle, Angle eyeRot) - { - var (uid, sprite, xform) = ent; - if (xform.MapID != map) - return; - - - - var position = _transform.GetWorldPosition(xform); - var rotation = _transform.GetWorldRotation(xform); - - sprite.Render(handle, eyeRot, rotation, position: position); - } -} diff --git a/Content.Client/SS220/Thermals/ThermalVisionSystem.cs b/Content.Client/SS220/Thermals/ThermalVisionSystem.cs index c046073eb894..6fb2c4f3182c 100644 --- a/Content.Client/SS220/Thermals/ThermalVisionSystem.cs +++ b/Content.Client/SS220/Thermals/ThermalVisionSystem.cs @@ -1,5 +1,6 @@ // Original code github.com/CM-14 Licence MIT, All edits under © SS220, EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt using Content.Shared.SS220.Thermals; +using Content.Client.SS220.Overlays; using Robust.Client.Graphics; using Robust.Client.Player; using Robust.Shared.Player; diff --git a/Content.Server/Mindshield/MindShieldSystem.cs b/Content.Server/Mindshield/MindShieldSystem.cs index 7771ef0007ac..7d962da2ac9e 100644 --- a/Content.Server/Mindshield/MindShieldSystem.cs +++ b/Content.Server/Mindshield/MindShieldSystem.cs @@ -9,7 +9,6 @@ using Content.Shared.Mindshield.Components; using Content.Shared.Revolutionary.Components; using Content.Shared.Tag; -using Content.Server.SS220.Thermals; namespace Content.Server.Mindshield; @@ -33,10 +32,6 @@ public sealed class MindShieldSystem : EntitySystem [ValidatePrototypeId] public const string MindSlaveTag = "MindSlave"; //SS220-mindslave end - //SS220 Thermal implant begin - [ValidatePrototypeId] - public const string ThermalImplantTag = "ThermalImplant"; - //SS220 Thermal implant ends public override void Initialize() { @@ -62,13 +57,6 @@ public void ImplantCheck(EntityUid uid, SubdermalImplantComponent comp, ref Impl _sharedSubdermalImplant.ForceRemove(ev.Implanted.Value, ev.Implant); } //SS220-mindslave end - //SS220 Thermalvisionimplant begins - if (_tag.HasTag(ev.Implant, ThermalImplantTag) && ev.Implanted != null) - { - EnsureComp(ev.Implanted.Value); - } - // else (_tag.HasTag(ev.Implant, ThermalImplantTag) && ev.Implanted != null) - //SS220 Thermalvisionimplant ends } /// diff --git a/Content.Server/SS220/Thermals/ThermalVisionClothingComponent.cs b/Content.Server/SS220/Thermals/ThermalVisionClothingComponent.cs index a046d32b739e..be1202586484 100644 --- a/Content.Server/SS220/Thermals/ThermalVisionClothingComponent.cs +++ b/Content.Server/SS220/Thermals/ThermalVisionClothingComponent.cs @@ -9,6 +9,6 @@ namespace Content.Server.SS220.Thermals; [RegisterComponent] public sealed partial class ThermalVisionClothingComponent : Component { - [DataField, ViewVariables] + [DataField, ViewVariables(VVAccess.ReadWrite)] public float ThermalVisionRadius = 8f; } diff --git a/Content.Server/SS220/Thermals/ThermalVisionImplantComponent.cs b/Content.Server/SS220/Thermals/ThermalVisionImplantComponent.cs index f441689986c3..c68ce5bc2127 100644 --- a/Content.Server/SS220/Thermals/ThermalVisionImplantComponent.cs +++ b/Content.Server/SS220/Thermals/ThermalVisionImplantComponent.cs @@ -10,7 +10,7 @@ namespace Content.Server.SS220.Thermals; public sealed partial class ThermalVisionImplantComponent : Component { [DataField] - public bool IsAcive = false; + public bool IsActive = false; [DataField, ViewVariables] public float ThermalVisionRadius = 8f; } diff --git a/Content.Server/SS220/Thermals/ThermalVisionImplantSystem.cs b/Content.Server/SS220/Thermals/ThermalVisionImplantSystem.cs index f8f04b6957eb..af60b6ed2d5e 100644 --- a/Content.Server/SS220/Thermals/ThermalVisionImplantSystem.cs +++ b/Content.Server/SS220/Thermals/ThermalVisionImplantSystem.cs @@ -1,30 +1,30 @@ //EULA/CLA with a hosting restriction, full text: https://raw.githubusercontent.com/SerbiaStrong-220/space-station-14/master/CLA.txt using Content.Shared.SS220.Thermals; - namespace Content.Server.SS220.Thermals; - /// -/// Handles enabling of thermal vision when clothing is equipped and disabling when unequipped. +/// Handles enabling of thermal vision when impanted with thermalVisionImplant. /// public sealed class SharedThermalVisionImplantSystem : EntitySystem { - public override void Initialize() { base.Initialize(); SubscribeLocalEvent(OnThermalVisionAction); } - private void OnThermalVisionAction(Entity ent, ref UseThermalVisionEvent args) { - if (!TryComp(args.Performer, out var thermalVisionImpalnt)) + if (ent.Comp.IsActive && + HasComp(args.Performer)) + { + RemComp(args.Performer); + ent.Comp.IsActive = !ent.Comp.IsActive; + args.Handled = true; return; + } - if (HasComp(args.Performer) && thermalVisionImpalnt.IsAcive) - RemComp(args.Performer); - else if (!TryComp(args.Performer, out var thermalVision)) + if (!TryComp(args.Performer, out var thermalVision)) AddComp(args.Performer, new ThermalVisionComponent(ent.Comp.ThermalVisionRadius)); else { @@ -32,6 +32,7 @@ private void OnThermalVisionAction(Entity ent, re Dirty(args.Performer, thermalVision); } - thermalVisionImpalnt.IsAcive = !thermalVisionImpalnt.IsAcive; + ent.Comp.IsActive = !ent.Comp.IsActive; + args.Handled = true; } } diff --git a/Resources/Locale/ru-RU/clothing/glasses.ftl b/Resources/Locale/ru-RU/clothing/glasses.ftl deleted file mode 100644 index 480cf4329b2c..000000000000 --- a/Resources/Locale/ru-RU/clothing/glasses.ftl +++ /dev/null @@ -1,8 +0,0 @@ -ent-ThermalVisorChameleon = очки с термальным визором - .desc = Термальный визор позволяет видеть существ сквозь стены, но в конечном радиусе. Функция хамелеон дополняет этот прекрасный инструмент. - -ent-ThermalVisorRND = термальный визор - .desc = Термальный визор позволяет видеть существ сквозь стены, но в конечном радиусе. - -ent-ClothingEyesThermalGlassesSecurity = термальные очки охраны - .desc = Модернизированные солнцезащитные очки с функцией защиты от вспышек, визором СБ и термальными визорами. diff --git a/Resources/Locale/ru-RU/ss220/clothing/Eyes/glasses.ftl b/Resources/Locale/ru-RU/ss220/clothing/Eyes/glasses.ftl index df894787abab..9d0868fabeb4 100644 --- a/Resources/Locale/ru-RU/ss220/clothing/Eyes/glasses.ftl +++ b/Resources/Locale/ru-RU/ss220/clothing/Eyes/glasses.ftl @@ -1,2 +1,11 @@ ent-ClothingEyesGlassesCentcom = очки Центком .desc = Модернизированные солнцезащитные очки с функцией защиты от вспышек и визором СБ. + +ent-ThermalVisorChameleon = очки с термальным визором + .desc = Термальный визор позволяет видеть существ сквозь стены, но в конечном радиусе. Функция хамелеон дополняет этот прекрасный инструмент. + +ent-ThermalVisorRND = термальный визор + .desc = Термальный визор позволяет видеть существ сквозь стены, но в конечном радиусе. + +ent-ClothingEyesThermalGlassesSecurity = термальные очки охраны + .desc = Модернизированные солнцезащитные очки с функцией защиты от вспышек, визором СБ и термальными визорами. diff --git a/Resources/Prototypes/SS220/Entities/ThermalVisionGoogles/ThermalVisionProto.yml b/Resources/Prototypes/SS220/Entities/ThermalVisionGoogles/ThermalVisionProto.yml index 5968f9a585b6..bb01612b5a6c 100644 --- a/Resources/Prototypes/SS220/Entities/ThermalVisionGoogles/ThermalVisionProto.yml +++ b/Resources/Prototypes/SS220/Entities/ThermalVisionGoogles/ThermalVisionProto.yml @@ -3,7 +3,7 @@ id: ThermalVisorChameleon name: optical thermal chameleon scanner description: Useful both for security and cargonia. - suffix: ThermalGoogles + suffix: Syndicate components: - type: ThermalVisionClothing - type: Sprite @@ -34,6 +34,7 @@ id: ThermalVisorRND name: Advanced Thermal Glasses description: This glasses alows you to see persons through the walls in finate radius + suffix: RND components: - type: ThermalVisionClothing thermalVisionRadius: 5 @@ -48,6 +49,7 @@ id: ClothingEyesThermalGlassesSecurity name: Advanced Security Glasses with SecHUD and Thermal Visor description: This glasses provided with SecHUD and Thermal Visor, which alows you to see persons through the walls in finate radius + suffix: SecRND components: - type: ThermalVisionClothing thermalVisionRadius: 5 diff --git a/Resources/Prototypes/SS220/Entities/ThermalVisionImplant/ThermalVisionAction.yml b/Resources/Prototypes/SS220/Entities/ThermalVisionImplant/ThermalVisionAction.yml index 8df5eb3ec062..074b838e67a3 100644 --- a/Resources/Prototypes/SS220/Entities/ThermalVisionImplant/ThermalVisionAction.yml +++ b/Resources/Prototypes/SS220/Entities/ThermalVisionImplant/ThermalVisionAction.yml @@ -1,7 +1,7 @@ - type: entity id: ActionActivateThermalVision - name: ThermalVision - description: I CAN SEE EVERYTYNG + name: Переключить термальные сенсоры + description: Переключает термальные сенсоры в импланте владельца, что позволяет видеть живых существ сквозь преграды в ограниченном радиусе. noSpawn: true components: - type: InstantAction @@ -11,4 +11,4 @@ sprite: /Textures/SS220/Misc/ThermalEye.rsi state: EyeON event: !type:UseThermalVisionEvent - useDelay: 4 \ No newline at end of file + useDelay: 1 diff --git a/Resources/Prototypes/SS220/Recipes/Lathes/devices.yml b/Resources/Prototypes/SS220/Recipes/Lathes/devices.yml index d5d1c9d82b76..2345dde71244 100644 --- a/Resources/Prototypes/SS220/Recipes/Lathes/devices.yml +++ b/Resources/Prototypes/SS220/Recipes/Lathes/devices.yml @@ -3,17 +3,17 @@ result: ThermalVisorRND completetime: 4 materials: - Steel: 200 - Glass: 100 - Plasma: 200 - Plastic: 100 + Steel: 500 + Glass: 300 + Plasma: 600 + Plastic: 400 - type: latheRecipe id: ClothingEyesThermalGlassesSecurity result: ClothingEyesThermalGlassesSecurity completetime: 4 materials: - Steel: 400 - Glass: 300 - Plasma: 200 - Plastic: 100 + Steel: 800 + Glass: 400 + Plasma: 600 + Plastic: 400 From 2deb8b6fc57a5d75f4ea351a0737b5721c36f202 Mon Sep 17 00:00:00 2001 From: Maxon Date: Thu, 1 Aug 2024 22:13:07 +0000 Subject: [PATCH 23/23] Automatic changelog update --- Resources/Changelog/Changelog220.yml | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Resources/Changelog/Changelog220.yml b/Resources/Changelog/Changelog220.yml index c9ad87d921e1..0344928ad53d 100644 --- a/Resources/Changelog/Changelog220.yml +++ b/Resources/Changelog/Changelog220.yml @@ -4340,3 +4340,16 @@ id: 344 time: '2024-08-01T09:21:55.0000000+00:00' url: https://github.com/SerbiaStrong-220/space-station-14/pull/1492 +- author: AlwyAnri + changes: + - message: "\u0418\u0437\u043C\u0435\u043D\u0435\u043D\u043E \"\u0442\u0435\u0440\ + \u043C\u0430\u043B\u044C\u043D\u043E\u0435\" \u0437\u0440\u0435\u043D\u0438\u0435\ + !" + type: Tweak + - message: "\u0418\u0441\u043F\u0440\u0430\u0432\u043B\u0435\u043D\u0430 \u0432\u0438\ + \u0434\u0438\u043C\u043E\u0441\u0442\u044C \"\u0442\u0435\u0440\u043C\u0430\u043B\ + \u044C\u043D\u044B\u043C\" \u0437\u0440\u0435\u043D\u0438\u0435\u043C!" + type: Fix + id: 345 + time: '2024-08-01T22:12:03.0000000+00:00' + url: https://github.com/SerbiaStrong-220/space-station-14/pull/1474