From 8070fce5e7ec293d984dee953dbecfc88a66896d Mon Sep 17 00:00:00 2001 From: Rane <60792108+Elijahrane@users.noreply.github.com> Date: Sun, 30 Jan 2022 10:20:22 -0500 Subject: [PATCH] =?UTF-8?q?Gives=20Chaplain=20their=20Bible=20=F0=9F=99=8F?= =?UTF-8?q?=20(#6269)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Content.Client/Entry/IgnoredComponents.cs | 3 +- Content.Server/Bible/BibleSystem.cs | 92 ++++++++++++++++++ .../Bible/Components/BibleComponent.cs | 38 ++++++++ .../Bible/Components/BibleUserComponent.cs | 8 ++ Resources/Audio/Effects/holy.ogg | Bin 0 -> 22428 bytes Resources/Audio/Effects/license.txt | 2 + Resources/Locale/en-US/chapel/bible.ftl | 5 + .../Fills/Backpacks/StarterGear/backpack.yml | 10 ++ .../Fills/Backpacks/StarterGear/duffelbag.yml | 10 ++ .../Fills/Backpacks/StarterGear/satchel.yml | 10 ++ .../Objects/Specific/Chapel/bibles.yml | 32 ++++++ .../Roles/Jobs/Civilian/chaplain.yml | 9 +- .../Specific/Chapel/bible.rsi/icon.png | Bin 0 -> 1044 bytes .../Specific/Chapel/bible.rsi/inhand-left.png | Bin 0 -> 889 bytes .../Chapel/bible.rsi/inhand-right.png | Bin 0 -> 1030 bytes .../Specific/Chapel/bible.rsi/meta.json | 22 +++++ 16 files changed, 237 insertions(+), 4 deletions(-) create mode 100644 Content.Server/Bible/BibleSystem.cs create mode 100644 Content.Server/Bible/Components/BibleComponent.cs create mode 100644 Content.Server/Bible/Components/BibleUserComponent.cs create mode 100644 Resources/Audio/Effects/holy.ogg create mode 100644 Resources/Locale/en-US/chapel/bible.ftl create mode 100644 Resources/Prototypes/Entities/Objects/Specific/Chapel/bibles.yml create mode 100644 Resources/Textures/Objects/Specific/Chapel/bible.rsi/icon.png create mode 100644 Resources/Textures/Objects/Specific/Chapel/bible.rsi/inhand-left.png create mode 100644 Resources/Textures/Objects/Specific/Chapel/bible.rsi/inhand-right.png create mode 100644 Resources/Textures/Objects/Specific/Chapel/bible.rsi/meta.json diff --git a/Content.Client/Entry/IgnoredComponents.cs b/Content.Client/Entry/IgnoredComponents.cs index b6b5a3380c..e316faf141 100644 --- a/Content.Client/Entry/IgnoredComponents.cs +++ b/Content.Client/Entry/IgnoredComponents.cs @@ -251,6 +251,7 @@ namespace Content.Client.Entry "ExplosionLaunched", "BeingCloned", "Advertise", + "Bible", "PowerNetworkBattery", "BatteryCharger", "UnpoweredFlashlight", @@ -299,7 +300,7 @@ namespace Content.Client.Entry "ArtifactInteractionTrigger", "Artifact", "RandomArtifactSprite", - "EnergySword", + "EnergySword" }; } } diff --git a/Content.Server/Bible/BibleSystem.cs b/Content.Server/Bible/BibleSystem.cs new file mode 100644 index 0000000000..1c2883be08 --- /dev/null +++ b/Content.Server/Bible/BibleSystem.cs @@ -0,0 +1,92 @@ +using System; +using Robust.Shared.GameObjects; +using Content.Shared.Interaction; +using Content.Shared.Inventory; +using Content.Shared.MobState.Components; +using Content.Shared.Damage; +using Content.Shared.Popups; +using Content.Server.Cooldown; +using Content.Server.Inventory; +using Content.Server.Mind.Components; +using Content.Server.Bible.Components; +using Content.Server.Popups; +using Robust.Shared.IoC; +using Robust.Shared.Random; +using Robust.Shared.Audio; +using Robust.Shared.Player; +using Robust.Shared.Localization; +using Robust.Shared.Timing; + + +namespace Content.Server.Bible +{ + public class BibleSystem : EntitySystem + { + [Dependency] private readonly InventorySystem _invSystem = default!; + [Dependency] private readonly IRobustRandom _random = default!; + [Dependency] private readonly IGameTiming _gameTiming = default!; + [Dependency] private readonly DamageableSystem _damageableSystem = default!; + [Dependency] private readonly PopupSystem _popupSystem = default!; + + public override void Initialize() + { + base.Initialize(); + + SubscribeLocalEvent(OnAfterInteract); + } + + private void OnAfterInteract(EntityUid uid, BibleComponent component, AfterInteractEvent args) + { + var currentTime = _gameTiming.CurTime; + + if (currentTime < component.CooldownEnd) + { + return; + } + if (args.Target == null || args.Target == args.User || !HasComp(args.Target)) + { + return; + } + + component.LastAttackTime = currentTime; + component.CooldownEnd = component.LastAttackTime + TimeSpan.FromSeconds(component.CooldownTime); + RaiseLocalEvent(uid, new RefreshItemCooldownEvent(component.LastAttackTime, component.CooldownEnd), false); + + if (!HasComp(args.User)) + { + _popupSystem.PopupEntity(Loc.GetString("bible-sizzle"), args.User, Filter.Entities(args.User)); + + SoundSystem.Play(Filter.Pvs(args.User), "/Audio/Effects/lightburn.ogg"); + _damageableSystem.TryChangeDamage(args.User, component.DamageOnUntrainedUse, true); + + return; + } + + if (!_invSystem.TryGetSlotEntity(args.Target.Value, "head", out var entityUid)) + { + if (_random.Prob(component.FailChance)) + { + var othersFailMessage = Loc.GetString("bible-heal-fail-others", ("user", args.User),("target", args.Target),("bible", uid)); + _popupSystem.PopupEntity(othersFailMessage, args.User, Filter.Pvs(args.User).RemoveWhereAttachedEntity(puid => puid == args.User)); + + var selfFailMessage = Loc.GetString("bible-heal-fail-self", ("target", args.Target),("bible", uid)); + _popupSystem.PopupEntity(selfFailMessage, args.User, Filter.Entities(args.User)); + + SoundSystem.Play(Filter.Pvs(args.Target.Value), "/Audio/Effects/hit_kick.ogg"); + _damageableSystem.TryChangeDamage(args.Target.Value, component.DamageOnFail, true); + return; + } + } + + var othersMessage = Loc.GetString("bible-heal-success-others", ("user", args.User),("target", args.Target),("bible", uid)); + _popupSystem.PopupEntity(othersMessage, args.User, Filter.Pvs(args.User).RemoveWhereAttachedEntity(puid => puid == args.User)); + + var selfMessage = Loc.GetString("bible-heal-success-self", ("target", args.Target),("bible", uid)); + _popupSystem.PopupEntity(selfMessage, args.User, Filter.Entities(args.User)); + + SoundSystem.Play(Filter.Pvs(args.Target.Value), "/Audio/Effects/holy.ogg"); + _damageableSystem.TryChangeDamage(args.Target.Value, component.Damage, true); + } + + } +} diff --git a/Content.Server/Bible/Components/BibleComponent.cs b/Content.Server/Bible/Components/BibleComponent.cs new file mode 100644 index 0000000000..5727f9171e --- /dev/null +++ b/Content.Server/Bible/Components/BibleComponent.cs @@ -0,0 +1,38 @@ +using System; +using Robust.Shared.Analyzers; +using Robust.Shared.GameObjects; +using Content.Shared.Damage; +using Content.Shared.Damage.Prototypes; +using Robust.Shared.Serialization.Manager.Attributes; +using Robust.Shared.Serialization.TypeSerializers.Implementations.Custom.Prototype; +using Robust.Shared.ViewVariables; + +namespace Content.Server.Bible.Components +{ + [RegisterComponent, ComponentProtoName("Bible")] + public sealed class BibleComponent : Component + { + + // Damage that will be healed on a success + [DataField("damage", required: true)] + [ViewVariables(VVAccess.ReadWrite)] + public DamageSpecifier Damage = default!; + // Damage that will be dealt on a failure + [DataField("damageOnFail", required: true)] + [ViewVariables(VVAccess.ReadWrite)] + public DamageSpecifier DamageOnFail = default!; + // Damage that will be dealt when a non-chaplain attempts to heal + [DataField("damageOnUntrainedUse", required: true)] + [ViewVariables(VVAccess.ReadWrite)] + public DamageSpecifier DamageOnUntrainedUse = default!; + + //Chance the bible will fail to heal someone with no helmet + [DataField("failChance", required:true)] + [ViewVariables(VVAccess.ReadWrite)] + public float FailChance = 0.34f; + + public TimeSpan LastAttackTime; + public TimeSpan CooldownEnd; + public float CooldownTime { get; } = 1f; + } +} diff --git a/Content.Server/Bible/Components/BibleUserComponent.cs b/Content.Server/Bible/Components/BibleUserComponent.cs new file mode 100644 index 0000000000..e9cc7913cb --- /dev/null +++ b/Content.Server/Bible/Components/BibleUserComponent.cs @@ -0,0 +1,8 @@ +using Robust.Shared.GameObjects; +using Robust.Shared.Analyzers; + +namespace Content.Server.Bible.Components +{ + [RegisterComponent, ComponentProtoName("BibleUser")] + public sealed class BibleUserComponent : Component {} +} diff --git a/Resources/Audio/Effects/holy.ogg b/Resources/Audio/Effects/holy.ogg new file mode 100644 index 0000000000000000000000000000000000000000..d3727adb3b85ed855b9483a59acaf89cdd240a9f GIT binary patch literal 22428 zcmeFZbyQSe|0uj?hM~Kgp(F$(B?KIhMmhupM7pI#%Aq@?n<1qo1PPH*LJ&bhLQp_b zKqYJtxCi|{&wbwC`&;+EYu)w!clSCR_SyA0=M(!Ad+*V6axwyN@K5^v+F9r<`y11q z2V;i?-14z?@jWYmtJI(UgOc~(#vL%dv!4G>XFXxi)BYS!D7DJze@XWce}|HUT9~YR05hIu0stidHar648IGC)m6@gdcXBf|&T<2y@wu7t1B`Y_VuSy> zp(O3;0Kfwnexj7}4NccEStmxm6d$ati>}Ol6hVT)vMkZFZ|Cehs~%Rld5#J25|WuC zAp`)l24^&_;n~eLjx&Z4y2Y~k3~}Bs^dT0k#zqi}51}Hjif>h9=*n$Xm#4^W^FJI{ zCJ}x(sdZIs+SIPG2j42hcT9G(@ShvepYK3H@1l&)WKXF~cs6{TKvk{}G}PbELIDi) znLzy>t!6XrNHgo`1drZ0R#5Jjec|U(qO-F9%06g_Za3!`2a6(5p(*&bw47C(8SH+kk z3rRs-oZPli?As`-;a1r;V{yJR(@;yG@~=ceL`B)BDd98y5t5i(pBDo6A*uLJ!tL?A zqGFr)kL%Sws{u7HbWMm08%Zdb7@J%R@G#HuUw9O4HRr!H8@e=`e1jq8zcSXpB?mx4 z6ZJyDii%B@V_L-oA&uV*5P|R+ATaflR~2hl6qexCumd+Bz27FtS0FE zr|2DwE?P}VIZT;2Ob0l;X?M8(DAc_DAA$KRHcPYq{~R6s4xK`)K8V+KM4Q;E{#cYpzmgLyFl0O<~Q*#G-s{=b+07l1GfKLD|1X7paHBk&YEb9A~8iH$kXK?E|R zX<=uL;b(8hBFRfnz%Oaf3n-Cb*^72$Qqo{eCcDz5Y{*+kdrIY=17rlnb4fy3s^ZN% zRYb48K;O-uQ04-M)C+`mpKr=0Td6wy_d;ezf;Da0NGEqFT90DzNi?` z>KK_=<*b@zZ^oDL=U3Hsi9mo}{ZUbnap#=>?_x;YQl7A_D6@j}u~EwM^cJ8EU( z(wkS6H8|}J4Fv@%iIoL;vka9qDk}`dwS+6P4UwE#=~^|Y3PVEyB*3uAK!0Y0(J}RS z-~h7r>@sa%%5L%~Yl&?X`ciXNGD7A}4Xxdojgy%!2HDBFTEn?e8DFJ6)UGhYP!1|1 zhYSuss7Xbpq4I}9U&#I_f||ep`Y*N<+;v5%jsKvV4&av0$W_b-p<6S(>P|5qWVgDe zSNtu>mw)vS_U{z`gJT~nh#F^z;vG4oQB7?vG4wPAAu9UJ-mR_OdDec0|5^W=3unmR z>B2#H_jh3GI8)z3Bmn4n0U+3P(?2SstQiL>I{2Bsj1nUhfNU;&&I(Fp4T0#i|0nyy zFi;;1%TLxj75BhBi~cI2MgSn@1%})bkY4rQkC#w@?E@ zB8cirabh2MGSjuR=#-OW`FXRlEfN}(66*Ud5tGfEo^alH*3DE#XNch*`JbNZ2{2TE=pZn7voJBm& z)Z!MZ%$H8{H2SpowC1$+wClA0bm+A2wCxmUPer1b*{~qvbxlvbBk&^OdYCMS`}3u1 zDQg<-wu~5&i-FfZrn3z1Zxv}jJYMq*J$PMgIu;u2^y8;U%bn-+3qjJB(~sVK4`iHo zcv&kg!0=1SiPf4`)bXV`!*FM(**o=WJr;~p8SfA36|djFWdTkaqMp>|+pf+ib7yu+91^6oIl#0N2kV29)J4Zv&4LMi}{Brr$gm`x+`uMp;&v z(Pbr7MyG;%OS%&jstlL^#CzQ^I%pip2L+u*A4{Pp|5azP)7+ZS{zWuq-w?>JPq?qJY;2PeukLf-Hr?FT-YS zWhdj^qYssKQ`D}twFP;wu3#6O`3Jf!9u;SXmG|#sTDL4Z%PYN$mh~sP4Dna|TVq&@>l!hZY$d^&D_bS_tFM3{H=%HE5t*79>m?YB18by z$iDhEZKtGmSYQE&Ti)*xdfxIVzv#jK6A}#9lP#XrOUTE+hC?)3>B|;hv`vksM8L;A zt}kern7}B&8tL+_FxEPHz16~7$!c-@lmUSke#KGgnS7ExA@xcLR%*SyB?hpwvv(Up z9?+0zvI4J*Fz1%Bz_N|;cLC&J+_`?ItqvAN3Y$~-@QrQ6A3XTZcBeHh=# z8YD$fHqS-!PfMEAlj~YCPFlMbsot)E@Uc)FBwRZ=y_kh$-)c&sW&`_+ zG){(6)j;1oHyzyCG4f)$O2L7E5?4j)HIIVXdUPFOK4d{NZ*9>w*41b+eo%1?y%sAEFq45^@B#3dk)@313xR1p6fXSkP(V&HOSaci!|-g5#r?=-$fK7 z`rFt+RN77v&5yDwR7xM81ZpSrku-+{8xcqwDO~EK<#Ez(CANOdQ!@L+W~0y~1MaFB zNRq%XT}FFwt|nsU6RI%yzB6~jmHn3N%k@sT2|As2<-Rds(x~q%@;-%ueS^N-Yvf4O zFXeEpyK6n0!Yv61H0g~!#U7ZPm#}?SCY$o*3GmYBd?tRxfVn^$-_Bv-l|@CJQk}>; zh9Iif#GryJ4sEjh`HOJg)wbDIO>%(NPooxfQJ@YRKn96tJHNh069fkN6MSOuZhphH z4$LL1in;0|FmZBY6QZ^89pcAy?Xs&?+gVrfgIngjM9syYP)u{OaUK4J( z^{#+A-`w(HcC=jpqjeNSnR0x!$E3 z@|c(ZIP((vw2!z740y8x`})En_lk44lj~fV?;N)*$^kI0De+`W=so(PxesiLt*UqQ zhXFQr`sL@04ld3j`FJ>rFY(e+wxJ;?t#9b5_z$Y;H>ZOo}Y6w8~D0th>4ZmYz9@-RL?W zNO4K6SM8Ar!2Y(u&qj(@akjW#?kam+N}OA}<-NP=zi6Jeha4x1ry9e>b6!F7tH67< zQ|2-NxJdULr0FN!6k2~Hnj9%_(DzU?f}e~g-2s6f*~x$2oxya=LvDO+T}uL-dv)9E zR&4RGz57ySP{Mn_)ibc{eGXG8^Nvof&oDeNTr2yc%!rzo4%~*a>4Uc_vHzSVAUy|o z5Snc@)A-!D1y1dX^Wtz&ao25w1OCz0NxSSkP?Q-po4U-w_kR7(>|W|&GNSTk`|+C0 z{y~Tcl_O?zLc#~c-38$1Srq53gAR)at|kZ9Ms)D@*)mA<&Bht+t9DBR8DSfh=lL#X zwKig6)PVA14qvwBQ(xDtPW~_Ox5v)l2Z0I_e0>uF6kVpIkWFlh;UY)?5?9~s%%*bC z0QBpVt~>`Gkaqj|Y#3V$MGw38aH%$YJ3(E-+-1hZqM7;fosiF3BA8mjqtqV-3D31* zq^o|H65!~)SPGWiksk(MUNPHk-N1kf1~I8eWK1$7gZ#<|NGi`u_?G@NSE1}R!>r)0fhubc`tGL8I39AcI*$Rti^?SD2OVw`dhqizl2P)FsL)!U#;c$$ zs_#2}5XbN8f4eg*QEzQtWdOt8%N1utv1L79;Tdmyhn^&lX$}NfQ;Ii|-gIem9xypB zd7D-$fa51@dPew;H;xP+1JgfrWJAwk%BuPC#IKm$k~O%+gr3>u(DgC1d_<}W3o|2Y zFnE@!CmYgri>ml58&X#y@4KDlg-drDd#6OhM zbG_V$CvP@;z2bm9M)`^^3fMEvxb`{Z(5YqYzrvyr`%c0305>ueUfg+Dlw1qY0(?uC zWdU$l$*nWEUa5q^3^Jv?Jn_y3n5LBNjZo3$8WF3lqmK<9q5BwmZ=!2u9bZYG(WMxo z%iduWRLE7*q7om6jD5Fy24fwbJ^lHFbBEQGbnFHpHtR!|S*sdi`GlWSi-_r4ZTx44 zME0gj#aw9Ylar@PKj7%8r~a93>!i#8J-|C9S@l-pQ*js%j0`Q>B`l`eM|r;mt>R3Q zKPhei$5%?>jx`#jMQM=GTh$Pf+B}kp%_me|&P*h6M#mkrVEJLVA=@vXV`#io3Z+z+ z!Yn_u>JDcof>^W0!YnOkj155Dv$eLe>|U-{2Uudx8`0IJI~95v=P_L3s5oT%72Lg6 zPadJq4IWvUDD3E%8jcwc0mxX5#n|YwLutXuZL&xM+jiNCrI!~Ns?cSo!;_peewBDeSZ^uCLY?RKf%J3`=f_okLRrt<+8i1da3c+$Jc(Vj?-gZr}MHewxi z41;$2y9G$0PFQ&z;j8Ey>vYyX_2gZ8THt9#@~!fLaRD=tFcjbCw^3XG81gQDyU|^* z%nIo^I}2s<;_ZjGP^ie*dlUEo_jC8js#(}ODj4|cg`E&JK%shGIjqdE^cZ060k%pK z#!i4S)J;9)xa2pfE$X(T<1U6XrSMv_TEd5%2-Mxzr^4nU4i^9=rsVOiQP@L^?rL4r z>|fN%&#)VDkqhB>dTxXs3BSa%d1%gQf?Xdj{&t}@W+JC%L0Os-J5f}uAghK%0`VQq zvGD-dy_Xf|>$7wL+=N?HG)+`wT$`BZsqQtLE49~XSNZMza0FGUAIdbc;WC5vL`DYh zq;27sYd0H2lOj)zOE`rkhyxkuDZ|NVl1lEF8C$|$thzZ#hg7vx!M1C|^W{y{@gE!z zV_@&ECTf^cGXYh2x8PvJTtxhZ0mgbkmvD_tDvM{!CWJV``hI%!%LpU}#=i)QqX(3B z^t+8#GrA8RgqgKP8u&0XP#n>pMBlu|-f7>iJu%9C;<>1-aIl_-#7L0=90x>~<Vu zjm3O+*~i_rv=6X`-NF+<3S0X`6{NN>FkkaL$xl@sg;#=kUsUfy0iUrz;vU%xrX8OI zR$rwRmpp#(v?h)##k;opPQ zw?4tp+$*+^)JNilURr<*`*)WT)*TuU7;e&Wzwo;H#a`W4tptQ1ZbfQ=_6jVC(DXSK zC*qS?NHT2{ChDNSo;k@zl-z|MH5%$&#y~;|BKOwV*5;Ab8ISoYuaORTImuV%!4}x6 zvZwL!@Rf|WvA6gq0c$|vZY~ln`&+4nVE5PNr9;+oW*kOL$Of*IaNDOJUd$*&8mAA0 zs&^8-x!Zq5J#Z%gLlzhl3META90u@{yq|&D5M7V1lYuG9kooE;-_x7C^`eoAVztRj(efZ;Amtrs+I`Sb@)8dh5LSr$TyAG# zwahc1Nh|>=%a&Fo&(BGj;_pJ1lW)$tgS1 z;{ib#>QIs1ch`8I$gus+O%9TY*S^J8{rVeI*DN7W8WEqu&yR_pmT>D_*-kc$3ZCoA zQsd#Lv^_|WU=GSX=lV?(W2GAacIL%G@Qx$OUL*VK-D9a30d*_d{He2r8FswraEg^Y z+DTlQ5M~Tl;=A%VRo)}NDxv)`y~>qmv_0QMn+ZrrZRrKwnh@WtEPOnug^q^@YAxV! z-6c3Bz4AT#E0qy(^h(4HCxP@tFvEi;WiZ%yl~VxeMP~*Do0nrFWDfD2wGWF~(?M~Z z>dh>B5hq?d;@*emub)|_4}H5X#;8X%FN6p75FjuJANQ@X}hXaAH(ho}xLvQT0 z^$j?{wpUKr0YDNdRNH@V*m#G5tX2vvMs@<%QH^zE) z5ff_-h|i}|57I-2!R{*djpsgLrznY%ea*x-wP9N6Dg*D;K3d`0z7jJNPXC#OPn|y$ zE*RLpnuEZg%n~Yt!y3r1D_kUFmf_+0-eA;My1!zvm++mpd zSsRSNT1!0Med2vy0HC$i@v-5SJ&s~-?Qxf2fIYq-pjj8ADMrJA24;4upU6oNev=9r zRNje7rPGL?he<}a9PabMD(GHGO#Vd2JG;3RnjQNYY28y14L4BcRh{Od1g{ZIe4E;9p1wGJ9+tZqf#|L@ z{3msNjYG>)u@v}$8&VV210ko&^(N$c>X z!3B|okOGbEVb?ffi@-on8<>QiblcHVB8nJYYW!p;kq@9hn8YSaN~nzr{oXuhSOI(e zwEUdYc_6Y=^05_7GT%U2a|Ofi&#l?{K{ONw82tjIqIrFUiR5*HkA9f37o&q;f1G{{ zZMfMtp|@3v3wF_KM2y=kI?ImU&?-ZLJ-nKI+%YfPFzzeUrFO4{C{zGNo>IS%y>FJYXMAw=XvVKefcbNe)?ym2KGm>-~bwQO(QLZT9-S zFB`3uRt0{qA3&=>XRf=vA`E*&$Gi6$1KvPmAFJ+@X(Nr&of^3O zenqZ3EKl$an*U192K%@2g0P`WGqP&LO(X%`omT8EpR7)A-b%4wP7n6#)%SXIutF_) z+P0`B12W%!?`;lf_-;sno*HSC$jK$TM@(cyTf+@^E%`NZjpxq2PlnTU2oRc3(Rl8C zOg%-=1=C$^Vs(&Xnmgv$NYBYtbA{w4Gk%@vNb5s>M*hj>58u)fagqzs@JVmuns7Ka zA*ocExYH)SuRA6(b^p`Vt~B)6P#@Z=IWxJ?$Q^Zw^djK> zTCDIm1Bj=e44P32yfR9}jEIR5Y7Jgw;*M6cVHuY&I9od(xCr3fhuht%0yY54P|K(d z2$#L`I(qk-TWt|Oy6<{!kbzk9%_Pt(t4CGbm|Bi$ z1>i13QH5QgdN*jV-TMSgkPU$pxP7hzihv9o8asL7eN68ETN6 zlp6eg%r2u%Q8HZWq=52#tO4d8p*D_57#VY?1VNdSh}zo6{oBGq915u(yq?MJ4_qTpdOrydG8W!lZ?&lUJc9vhDs3Gp{%Da&XX z<|c9z$1)k3a|Y^xU(--{?`6Y*j4Z>$r~%Ii*0)+hV4N+J2U-wK3$Rxs3AgD98>%n@ zgg%8?pAlm(x%~s8j^4_RZAWC{6TU4!S2kSsmWV|oejZ;L7&ZQok|RUkle|VnhngV@ zMk+l+s^2J^v{A`qL^LZe#62%DRl%WQC|TP|GZ*I&a$vEDN6m&$`mJT{-G}>VC7{^R z)>^L8(>0L9p?jAq+H}FQ_n|`nQj!zL`>hgep9EU@p(_Ak0GytnsC#fX?a4=`tTX6MgV|XhwuM69k>Uh`ZoH3~7 z?C=RI$mA<$>Z`=>T=|~!RienDMW~OPuT5ZE-Nx$B=T;n}^LEV`zRfo!y6>>Qs$YD1 zE$pV*6Kz3@8?Js)%tN zY*wjql;fE@SH_;uVPV)vv(@d(r*Z3)a3iu&0${MkEGi8oX)H1{bEJ_0j41#t^{R}N)|47`fU-{1np7O4 z5zk9$*Mt|5|B6Dkg$y4Ctj$bXblF!+@UafiQH#9Y# z(M>NA&+GMz#3M?1`2~WLYrkSc>j^L(OAjv4?LBmx0hm@i$0sQ!4OyPV&5)}P#dbo< ze_UM06Y0V8!F+WEnC(WkuenQ_sG$7-I>fV`@4p)10J9i;`Sl32>h1eVv#5J-n+Q~Q z3+eIiW1M{(n6S$v%Lcgd)o)-%K^766M98T1IvFY4>3`6d6%Q1sJ>B3qdz zq@_Y1+w5I5mu#&C>AUTmjbe@(Jut#~v)1jzPkpzLaY^0q1-Zi8n+j zDMCw4noJ5sN2IDOI{F*y~f8Klmqa)XcFZZH$}jg$;WuHiZ^Bf@e`o^9nc zl7~IIMU{+K`OERxIa?*k8%-YX+cqg_TmS4n4gEC~Ib~ygeTSOd^W{`F%yK2@C+zJ8~#xrf}iwj-jaK4cs6PVDcSlF4Y3Pm?w<@V?_`wGgM&n@1stvX z_Wah@C-->ZXrZA8%Jo-gwYBqRD|ulW?mj=0J}KGs#@?5e;r4!vCIZy$cUWRRA)dl0 zn0;7Z*B+SJd#fIy57(HZO^x2pg|FhN@TT4^2&C;XO&Ut8Tc9mw$}c)zINiN_HT3pw zctG>*oSZwXZPO38JQ?TF6cu?H0Ua{MEU^HkO!Oi3HW>gyJFY`>B#SbF`peDPoz=GzMcS zJl%~B^Ywc03ATLnQ8=;cox@7Me1Fi?*F7EP&4=;b!syxzN1m;tgc}__aDF_hRi?2v z-Dsc)UYKZU+piNo?one`{1E8pCE@ucdh_@u^tUAU1s|pG+X!Z8MU!YUdGG)54z?)l zkA6yX%^NIpX?57_98CK zl3me(2jd@b?#cGK#u0(5XA8tX8q5;Fh7)ep8ht_vg^zC@?tJNDJGuN}a2v0wm>vd( zoWeF5f53r$7Q==0<)DJKhYZx#EAY{plRH;@swys0MZLM|-temm`!nKz>w>ynbK!H| zb7VI>j~6-de>ZgI)(~ef4;}2^`u6z=PMIjPYsbb9;eTwsUjNC+^JMAhJPgx+Z2>9T z+a{5Isf%eOFcn%}-_PbZxnZxf4J||8V@3saOwFkleQ|lk8hm*ucK!MkEuiF`l8fb$ zrUg0hH&1zRUu{e8&d&@h076^y*?bkrMy~EK^T41h)N|Gb5AU*(0jEvGLhhK2mXW=V z3|*oVH9-HYy*i;^YaVi>FOH;q@P+JaBL(WXi5=iJsB5?yQbeJYmE>?Rs%ZBGW5I^WMPIT_YnRb*EKQY54x1g z>YQG|z~lAc;DdADJ?gvQ^`7@U)5dxaB#o=2O)nP(`>otAfiP&g6fA3|0LP>P0}>R> zk8BLt=AyL3r2Nw9v2R$b0kaqS>v*_qMNPcQ4d&l(gmv)jVEPsI6A9B8c7UQXZl-(3 z6)q}(wf&eqI#Luw_>)szfQ8Sd~`(y81m_0Eb(?4ooV$15|?Ujx8pfO*A(5wa`nN%4uKnMLH^ zKO9h?0wPi$ioS)<{!E5bQs=b5H;;k)!rT}8xR`RE0VqEC@GUPFi~glmgc}Fu;42+g?&SCB|sGZTH?yHV)bR%!h?v%IDRyp&kpUr%*#sdadb_@^M zTvDhbdq5%p&acjWeyupr{RF{(OIi*`^&`%2Qc$xda(A0X@lf~Dj^(Hn_g&jX?Z*eX z4y#hovR0etI=o}ZydY+k-7^mh1I5&(hsUY;NFcjBfh_ju+ooS^-TLa%O=iT2Rba!> zkuJ-Jtvmfb!4yEJR{G6NIz{7^%C20OI6cr#xd!sf)rO%ZL%h)V4zq01pz4=|Z?!Nl z3?G|XN)muLLG>WA+O(AG{)>yk!>TL#5tQ|WW!N$cm(<=1S0|LVH+c}lq^<<213tes zFBcN>$Jqxh>jE2@H;fv#8i;Y8*9Ri1*@h8OX%c}*dQ*O&F&SP%CJI+f<7@j0ZRx|a z!NFn8`;Cte!fz}PQeK4PiQ(fg=w#Dp8`VKq6B8y2>BQ+2bRR7KU@~o<{?78?)@Q!Ts28Z&v4Hr41B1&wOZI4@JSPl3?Kjw& z@p@N*AT8_D$KxH@xbJHicUbZKb503hc|EeR9r0M^BmB9}%n}g2w9y_@<&&P^=m?z- z8YNad;Z>|yQxtvWU4(vcOe{_^WOogK_}&$g8^pi2EHQWAO^rcw%V4<6?(f3u0PW`S zGhPq@{CWdKUm*KK)P~gT$`_?8{5dbdun*Y<62<{6tXA@{N&RDI4ep(I8f(wq(S1jN zp(85HwzGGAxbiZJU-_2sc%>M$W0G=%`KWoO|i-bx*YBT=^ijL$_# z!r1*qzbNwKGXio9bGh@2195RZ2lkb$N_TqL2@py>|CNr21W=kB>k^Su0nAh1>zW>T z+SL7nF8O1R5o&4S#*edv@&S8wn}n5ed(Q8IBmH?&!^o@03*O$H_X%lu{8*9l_-6r| z5Pul%N$v5;G}8wsG4y3j-S^0yaHQy_J9~;noD; zd|mfg(Vnrna+BO!K8kNlj7w~|$@4?Bf(UFE!H-MQ6028Idr6``Vy`*@AWF01O60M! zrz8R1d?Y(@#Rum+j-(Iod&GW{6zL~V%o)!=dQSGk0*h_D{?=a9@p7>UR|Elt>YK3( zuU9ezK(+Ub>9JxmJdoILQTWF={;eC^j6B#&sy?r--^d74hPj-`>Q}sQ>xum>b5S5I z$n`v3RJ~qmDa1_<=UDuaI|OOkX@09F4UDFqLEj0+RSG_AMc;RQ59rcs6}Ppo*hR9$ zC!PPL<^qT$wdKc6FsfJqwmj67#;a;%ypwMuk0vvoik2GZx0VE0kZ0i)r-rz5wu1US zgO#>mTE02!Vu`aLb+ig6Al(|QLEf*J`9vSx=nDKw%W5m=SgW9bH+qVgjZDwzpI<{}2+?~oY`|#Sy zX6ZfNTKCCeiNe=eI`ld5C#Yn_yA;&V*~+2av7b418s-x(S^^ZugKKX02Z;PDlL<9S z)PhDb(_oBxzK0*qBNJxdl2Ct*88EjKp!|u`tO_{!{F2$Xcus``w_KVdWh{UI{MWy0 zMUsgh);dI1d-E;Sv>Z(r-tmEfmK&DMuAf6Wp<&wvrZ% zv@;#cRl`i(asHgJU>!i{jM?@#MF>_}J3zZC<;|0N`DFXH=ppTp*6N``YtDY|j!%d{ z<76(IO=<23CW^+CI}_L%v;iA#5{w6+94iG)pE9_Zx`Cz3ht=%pNCj{rJ-X(&iyN2Axz*o!@bWA94e2%QCDEr$2Rc2Rinvj z)^b_iiN&j(sA_2=k67qZ%=KA+NF92o>|}iQpRTDxc#|hE4=H|?qEGJSpG7hw+okc zq?TMWWb_|BFAxa4D(mn!6H0|b_NaYup>APvM_tPIg5RZr{_EYYKiB~=J^33s41@i) zA$I`Gh9~xu@Wrx5bB=rOH){jC2Si;l$N1xV6 zcOk7VkaOc!aDvveZ@?mggLoJEW?q3*u; zL=mm8Bg*S2==FjL&-+|8XDRl;np7Wb6n$A(X5>Ta(g4{jG$qAoH=~S*@-MM$tLsI?>|y=cB#|=ZlAz}6 zXnPqNB=2-@Cs$_NeABbJAS8+e*xM&raGZ=jtcy8hP(byLH({@=bi<*6SsN6jW6jws*fsiD>3@Pa zvyA|lzlHd~Aa-yVK_mJ=?+33P5*OTX0oFff0RQf$z1$VVE3=!2lN)?H^Rk6AexT}4 zU@nC7OK_|Vk+DrG+4m)DfI4|>Z#nmwf$_8_q+b4KRABea+arLkvKS%8Hmi%d~S67}2i{O`&O276Q3Hbda$pNO; zn*FU?YEBoxFwsnilai4ZN7ktZGA5N(i$Kduz`m}M95T&aXY8a#@Trmmr9-={Zlo{Q zl4}SaekVl35(j=}tip51oGZDy%GxoFgY#buRxDHT;?j8{x?yFKEQB>fp0%U-+lq?P3N@W%RC&Tw|pND~_M|$Kh-IGZH z|Ij@#QA=MIRBG_K=*hXzli;lDP~7UB2YkBYSu7lM$E04VX3bEV*uDg9gH1T@E?fRy z!v7?TgyHEzI?s>VFTC%fZvXLq1^CO^^A*G|E(gFLsODQO_Die4Xi zPSZe2;bP=(?>uROM*4*nP_1a6k_W~sQWW3he)CjB!_aHnEH**O3?DkCZ^-gn6Vr{(RRB4;ek9M6Z@pv?IP-<*fG+~>Ly_SS9$ahYq1J}RvuPIs;1QZ?Tx z8lL;*Nsv7PK!sOP_R1*P_w*mE((TF@brBe%ycI7IF0M#AGEh~~ zUXR?G%@c0`b2et0d^WULJuAToI3SdiyD}6JSLZk$$LSSa55p4%D1dS%#i+JmIPkz? z$9klu*1YB8kKDh@550#>TCEb^$jg81Q_XzdiiW~z0K);D;Iaovv5B7*M*CyV$vJlc z>qoQKo%wK5m@gvgg}eANB~65do542k+GPhPhc&!ctQ?`JLH^p0vdq{AV{6|sSPwA{ z1WBrVbDysh1H&g|5AF+7E>I9u@5;GL@4~=`;JGU;%lV|hSFBzDVC487wQgAw1$ef& zj9z|1IX=_T=}jWLnY4y&O`iQ79|$S*pUdL~{t2|)k+EM!3y$yYQRqtSTz03%c)I0W zHCaO^l=#tJV)S=z2vx^Jhuvg$!>V&wZv_C*eldEx($w^}AfQ!xsJ>@n)Y_wl@+M6l zvjERRZ`9%0fE3O42EFdv_t^*p=jeo~#%Wv|+oTB z8Ac>&u}EWO%vY(`+%QI!wWHTp4+IXJ4VPsY0c#6kl;sOIPJ9>%YGbZA<(>_aXwOku zksf_<2p&n?NDM9EB#bNDC^hQ@jKv;=?Qkvg<3nDF$rl};Fzz6b3TAD55?dVQ26l#9@6$hbIm)Q+1v{>hy?Z*7o>Ki>eC=>)Z(Ey7Mt!^nt?B z^b$XG(9!$Rl&KN%-bc#U=qb$m+K?lZ0LH@iOOH;VaN2Rp5Aq%nY9H*@kve4g;L49S zzvSz3%?cFADI0WPJq0c$U%V+N_#bS(IyjyO{VNE}Ypq@`vZQc*(h{S}^7h@|Qn_&KJ}nF}@sJ8+Y6U-?G^- zVPcZXmCb!vNm$TedHs_GCAZ~T$T_vRC|({MVXEBCzz>v~w#aZ(kR}DVP?=nWp3BIO zBnPP_8gTr7g$(kcsSrwMAp^)P1{cjONoh|f4H zTdhK5VplDxAGqrC9!~QdfBr?k9iskc9)_g$v>UH!UU;9~2xk#*o=GGh+CiPkf_i{- z-|WQ~VH3ejg>l$?dtx^#Hxo3=3)#G2dEQB$?Q8fxx6KlX#&dNf#;^Y)ZK{gK4S&QY z>t!g82<>u4VW=g8lcXR~o%k_SUX&k}YBc!$aIjqs+J-P#14V!XiZrU^Ml!nt#_GI@ zcD5}VFyJDFQkJ{UIHSHzJurPw6h;(?gt4g@i`Nhf0xAt<3=maeJp0KHGhP6opE03Q zt$V?RK_*rrVW{w5q5koCQaHFixfUw{W1eI6gJEnO2ICY7POROP5|kOO`D`ML`}zOd#lM zu_8XGjW`nZ-syPot3e-WUtKJG@xA<*Dr_nv`|=0b;#*4Uwa4pJH1r+rd$)I6FCmFK z4?n*w=)m^99yw1m9>ZjWPjGak+KEPBQV*xD6}TitrBu*>!qmihhgy7;=gd7{X3bXG zWG#|y{Pcq_LJ7yKWnWJ3IN3ozjZ(Ta4TZ}3^~^@#`bqJt)yFEmw@J~;4MAxgcMbxf zkQ>mW;)01vjH%n6#;FpzNGf|zOxKpeG`gy(v{|COGeK#MN-}QfhYNY!Ep<`yg|J>^ zW@CqeQiR8rz2C}xWa51t1`>I5+Bhg?{nE1KxE7{L{1iu=Ao0NSyk<5GQ=!vmj)%Yy zlA%daTyM;7(C<{t)Mx#s+H%#R7Uzw&z@x^0xShf5*G|Fhf74m%MK5t4Iqc+q8)OXm z{Tk|(FR|30aD2eL(G&HglWsK3Q1e;&9}h(uph*f3cO@p<4dBJ!2UeS?abay-!i|sM zA{2PVLwcVGL2I6Kl7)g^Gi~}=h%kRD}}{4T8(1u)SepH*oFA|U;W)zLf}~C zIoM~%_b0&F=2d;$gwEmpyg%oD%x0#niA;c| z=h*YkMp9ALoonoVQodYn`M7 z^*jcp!OS*$TWrl^OL{@Qfb!1c*Xp1!ixMSuoaO+$Y%=trWiR{2ZAvCev*aZBV_es9 zcSaf`iSmV>fF`j{ZR0~TV$Kxz_=o`MCyB28hb=W4#NTby0ERxfi&_iEm2XZ;`agO& z6L%=vHjLl1F&SI7Mp@>Sbza#j+e@ZUR0tDBNZI$LWC=a8W{;Axh3pZbkU=H;jIpoT zvlb#tDSc1x_Z{E!AKcG%9QSoy=lMHtly&i@6LdPJijyN0~;TA#7MsffWkqA+?-v-RSVh5S2pWcg8 z+^=FhHf;zA3{g#%lXwwK~v5rm=2RisFGRn#{%>K_ohMR zSJki^THG7Z@J!H6lmyMzDEsJK8X1k{EghY1JyIq7e)A*M1SNX-XWLQPFNm6&psgkn z@y*<8t9;(3KEXg0mWAT7X3|Z`a`9YyN4N$Shk<8CH5}PKjYOS9oo@p zP$WYko^AK=U$)xPsHL3GI2%rZg!R*jFwSJF-NI?(q#TG6AyF4y-gxDt8K|+75wX`R zo({yC;4W$NlKgb2>S(9mM#t8g^{Oyx)6P8TV7MnPYY2;f_1!6BpL4i$#9mytj>_9Z zz0Iup_TQ`yylskSA(iXuht`CHs!+1iMm!Kf$09-w& zZiLE%_;v_+vo_?!6ILi}KO*0BA&q6dE{?f>`*A2m7J%$nfy1||t_Rs;0ijWiZU}%> z-#Hi4Y|%`mHWI;;IWSfJb8gQI-j&trczkUqe?!06x?B$v}dosJxgf-EupJeJW zOM&)39kXaXYTR8V@rDIk5kMA+Df~JY&Mzt1);iI>Egs{)tsfr5BrsI(-7~daXcArf zdot$rMa=F@oroN^iebB3(^1fD-ZEPJ(wuN)D&M;{@(6hCm%0}GNqPW)`^%X8N)rXc z1MV8^1MECxQ=6lyF#A;J^GL<+_EJP*6w3&JV#n9W<8>WXC^Vr-Gc2r!{n`6-Y%+<9 zioGIdxctpMJW7UFrp<`pSovsMqR)qS7ZQtQ4(l|bcBzYk%83(FE(1YB z$ULIFdFjB+1lNsmM_UXzEc_2i<8*rbVI)wP$e0NHZMAQIWgWHDWWCNPUzILZkq1!1 zo;wi`d{*yB>(0o~#N3`lM;fICZ|sK`0m%2v9cri%r?vUxH~F?mk|YQbFxH}Qrt#4p zIV2QTyyI{kQ!V0`bh)_9`|vqQ{rmfg+Af@4RGmSkEY2L(%Ig;Ot+fgoV-A*m;<|AF zG*P#8ewFi3FxJVMuN!T57Gnu(#=Ym|!`zwHS2(WT-D!{*sBtus0F22e`rUAn(Ve1V zj@C3Ko{>zag|Y&y6ekbp6M4;b)r_jnAMAZ6L=Q|xnFcqeuiv=@7<=dD> z50^!EyrdBi@Hdsjmrn#5 znyvd#{t{&YZTq9zx`lj^1~VJUeTfOouFQ#)Q`-Fj& zxyDH0CnO12_}`R#fdGy&1$7J4q0w7$jbE4CGUJ0?jQ?@Ts=>6)T%hl~Jqe~>+*T@L zTj1xv+Ma`C{ile|?(A9vL(<@WcK57>(a;J=?a1lci{v775wdSiEM|M?rwhSPB|~ z|qxX1NEZ!E%aZZ<$O(q0VB#aE@wKxv;DcV0o z>1VKVU(#YOJU>Q21p1npi*j-pzm%7Zje>_-{;AD9aUCv&Hgl5`qXjI6m|5-35dDvN*dCqPrBg=662tZ^Mr!qYT&eg4OqiO0xNV zu$`B3UZm9{fKF!d^OBkybOb2*m9h4tEL&ImbxS-$W)bh-u49APNsy6QL4!rl7^i+< zB%?q)Mi?4j^VAH>>SZwTH~+A=K=bNES)?TRNkr;Iylp0PBOR0dhthNP^WuuI$}=G@qtq1oDMh&x@9QovnE5ZOZqH6nPXp|gldNoBGTCHN6q(;z`Hp6K zbTfj?v9718dji{p2b`Ttm)6UoVvGR#N%}eREomYf0s8#U-Gm5yVfEc%0Evb2+5n^9 za@OT7P*aRQXOUICJUGQn3)AyHC37kx4Ohz@t5)zZ?oK5oP}Sq0!!v0m0nGUSKxETB zxzJnH$Qhq6(_T@E&`J<;$Q5$?M`Z}}+{SOZNMw5YWhx%d;{G_BN0G?rJ{@Icrr9+# z>kVxp+V;?UEFg7i zRyJo2dLp_CxYM?3e+0XwjGa@Gotuw|h&Q$=MV5N`wkFS*`|U0SShnE+xYTewrC6jQ zya#s4Y%KzvBt5-v_nlX^mArBUKvOThKH=*oTtlErx?0=xN0G&P>V5WZM)_HOnNvca zTk5Mc;*SGpu5U&&ve*ldu$utnJF8dUpjQrZ3Xu>_-A&e1z3mD!?OYas9pnnHk_sqh zcQrl2`Y}e#Tk5kSNcJ`4M$6NY0E62V7XeN1WqVlpi8g!;{KD{>*E3|UMXE;dP#z<9rM5F z*JLko37571a`7MH&}8@DvQ8PGDYb>CO$9q9AD_#W;ra4JuwQ34XdW z^-`bn54sK9OG-fDZa1?IxIlhH_m2nqMB9MWvI)8F2Er&1@(S}k0XPU7> z$9#HHnc%?$qn*wgxjynhE@u$dfpd%6l2%}`r?dH8zYwL%MjAj)87&Xf(!wo8Me$yS z2X~X?T5R2T0d$(xtU|41j;q;bDF>m8Nu@5*B&Ko`ev%;u-M@UE0>tt9 z`XoHXEdKdt-Q)k&X3*Pd@Co7Xk2dpX&d9*_l90a*Gwq&jh%YUR=*mu3(xj*!ol#M5 zcxWXeKcxDSeN=w2M|wz{x@yUxT-80`XcOC(V@Nxb*ZBvLOJB|E@*j3M>N7VvWwA)jHTF`ktaLYrx#4NV@as^i+b+-W)X_m08O@BEpUFKV{) zeqaOTcf{}f_PI)~+6LYVQy(OGd@ipglVK|>H4h;vZQMhA5KT0TH8bitA9QYs;jNvXp(%W;zDM*%mlSQTnK7@p5fKePBNLvimAGw znKGfj1KjKJ6#6S?>qV!0X8!PE8iGZG=v}}KJMs}7=QWHs4vvK@$=`l%L=ab~E`GY) z{g?CozT|{ntsm|TVtr~l)6}&rlw_o3)9@@44osJ literal 0 HcmV?d00001 diff --git a/Resources/Audio/Effects/license.txt b/Resources/Audio/Effects/license.txt index edac43a6ec..9612726429 100644 --- a/Resources/Audio/Effects/license.txt +++ b/Resources/Audio/Effects/license.txt @@ -16,3 +16,5 @@ poster_broken.ogg taken from https://github.com/tgstation/tgstation/blob/2834383 poster_being_set.ogg taken from https://github.com/tgstation/tgstation/blob/2834383245d2129a106acef3afd17b81e1e64777/sound/items/poster_ripped.ogg fire.ogg taken and edited from https://freesound.org/people/raremess/sounds/222557/ + +holy.ogg taken from https://freesound.org/people/random_intruder/sounds/392172/ and edited diff --git a/Resources/Locale/en-US/chapel/bible.ftl b/Resources/Locale/en-US/chapel/bible.ftl new file mode 100644 index 0000000000..d9547da2de --- /dev/null +++ b/Resources/Locale/en-US/chapel/bible.ftl @@ -0,0 +1,5 @@ +bible-heal-success-self = You hit {THE($target)} with {THE($bible)}, and their wounds close in a flash of holy light! +bible-heal-success-others = {CAPITALIZE(THE($user))} hits {THE($target)} with {THE($bible)}, and their wounds close in a flash of holy light! +bible-heal-fail-self = You hit {THE($target)} with {THE($bible)}, and it lands with a sad thwack, dazing them! +bible-heal-fail-others = {CAPITALIZE(THE$user))} hits {THE($target)} with {THE($bible)}, and it lands with a sad thack, dazing them! +bible-sizzle = The book sizzles in your hands! diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml index 7ee0b64107..94d0ef79fb 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/backpack.yml @@ -102,3 +102,13 @@ - type: StorageFill contents: - id: BoxSurvival + +- type: entity + abstract: true + parent: ClothingBackpack + id: ClothingBackpackChaplainFilled + components: + - type: StorageFill + contents: + - id: BoxSurvival + - id: Bible diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/duffelbag.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/duffelbag.yml index 83ab58aa1c..2a68336e24 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/duffelbag.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/duffelbag.yml @@ -81,3 +81,13 @@ - type: StorageFill contents: - id: BoxSurvival + +- type: entity + abstract: true + parent: ClothingBackpackDuffel + id: ClothingBackpackDuffelChaplainFilled + components: + - type: StorageFill + contents: + - id: BoxSurvival + - id: Bible diff --git a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml index 5824bb3adc..c99730d7af 100644 --- a/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml +++ b/Resources/Prototypes/Catalog/Fills/Backpacks/StarterGear/satchel.yml @@ -81,3 +81,13 @@ - type: StorageFill contents: - id: BoxSurvival + +- type: entity + abstract: true + parent: ClothingBackpackSatchel + id: ClothingBackpackSatchelChaplainFilled + components: + - type: StorageFill + contents: + - id: BoxSurvival + - id: Bible diff --git a/Resources/Prototypes/Entities/Objects/Specific/Chapel/bibles.yml b/Resources/Prototypes/Entities/Objects/Specific/Chapel/bibles.yml new file mode 100644 index 0000000000..58ae330e2a --- /dev/null +++ b/Resources/Prototypes/Entities/Objects/Specific/Chapel/bibles.yml @@ -0,0 +1,32 @@ +- type: entity + name: bible + description: New Interstellar Version 2340 + parent: BaseItem + id: Bible + components: + - type: Bible + damage: + groups: + Brute: -7 + Burn: -7 + damageOnFail: + groups: + Brute: 4 + Airloss: 6 + damageOnUntrainedUse: ## What a non-chaplain takes when attempting to heal someone + groups: + Burn: 10 + - type: ItemCooldown + - type: Sprite + netsync: false + sprite: Objects/Specific/Chapel/bible.rsi + state: icon + - type: Item + size: 15 + sprite: Objects/Specific/Chapel/bible.rsi + prefix: inhand + - type: Storage + capacity: 10 + storageSoundCollection: + collection: storageRustle + diff --git a/Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml b/Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml index edb8c8e992..26c648e41e 100644 --- a/Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml +++ b/Resources/Prototypes/Roles/Jobs/Civilian/chaplain.yml @@ -9,15 +9,18 @@ access: - Chapel - Maintenance + special: + - !type:AddComponentSpecial + component: BibleUser #Lets them heal with bibles - type: startingGear id: ChaplainGear equipment: jumpsuit: ClothingUniformJumpsuitChaplain - back: ClothingBackpackFilled + back: ClothingBackpackChaplainFilled shoes: ClothingShoesColorBlack id: ChaplainPDA ears: ClothingHeadsetService innerclothingskirt: ClothingUniformJumpskirtChaplain - satchel: ClothingBackpackSatchelFilled - duffelbag: ClothingBackpackDuffelFilled + satchel: ClothingBackpackSatchelChaplainFilled + duffelbag: ClothingBackpackDuffelChaplainFilled diff --git a/Resources/Textures/Objects/Specific/Chapel/bible.rsi/icon.png b/Resources/Textures/Objects/Specific/Chapel/bible.rsi/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..3b757af0f300833f1621055d4ebc8de7a9872f48 GIT binary patch literal 1044 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 A{r~^~ literal 0 HcmV?d00001 diff --git a/Resources/Textures/Objects/Specific/Chapel/bible.rsi/meta.json b/Resources/Textures/Objects/Specific/Chapel/bible.rsi/meta.json new file mode 100644 index 0000000000..a253b74d97 --- /dev/null +++ b/Resources/Textures/Objects/Specific/Chapel/bible.rsi/meta.json @@ -0,0 +1,22 @@ +{ + "version": 1, + "license": "CC-BY-SA-3.0", + "copyright": "Taken from tgstation at https://github.com/tgstation/tgstation/commit/40d89d11ea4a5cb81d61dc1018b46f4e7d32c62a", + "size": { + "x": 32, + "y": 32 + }, + "states": [ + { + "name": "icon" + }, + { + "name": "inhand-left", + "directions": 4 + }, + { + "name": "inhand-right", + "directions": 4 + } + ] +}