Commit Graph

1329 Commits

Author SHA1 Message Date
EnterTheJake
8436d3e0de Adds a Quiver to the Syndie rebar + various rebar and bolt improvements. (#86116)
## About The Pull Request

Adds a quiver to the traitor "Syndicate Rebar" kit, can be used to store
rods and reload the Rebar more efficiently.


![image](https://github.com/user-attachments/assets/bedc98d5-4b2d-4a68-b598-0853c17d73cb)


Fixes Rebar bows having more ammo than intended.

Rebar bows will now draw their string with left click instead of just
the use button.

Quivers are now a neck storage item.

Hydrogen bolts have lost their ability to embed and pierce an infinite
number of targets in exchange for a small damage buff , increased
accuracy on bodyparts and the ability to pierce walls.

## Why It's Good For The Game

This PR is the fruit of a discussion spanned over the course of several
months between me and KingKumaArt (the creator of the rebar bows.), He's
now busy abroad, so I'm pushing these changes in his stead.

**Changes to the syndie rebar and quivers**

The syndicate rebar bow is a fun albeit slightly underwhelming weapon,
at least compared to its direct competitor, the revolver.

The numbers prove this, as according to the charts it's very rarely
bought on LRP and doesn't even show on the MRP charts.


https://superset.moth.fans/superset/dashboard/4/?native_filters_key=cBYTbRt2At8pt1VkwV8O7NEZZZeDiIQ5fZgSMfjoICB0yow1BWJXDG5SyV9MJKTf

I think most of the issues with the weapon can be attributed to the
horrible jank that surrounds it.

Reloading and storing ammunition for this weapon is a management
nightmare, as the rods cannot be stacked and have to be manually loaded
by hand, making it horrendous to use in combat.

While that's fine for the makeshift crew version, Traitor weapons should
be more realiable in a combat scenario.

**So i'm squashing both problems by introducing a traitor version of the
quiver.**

It comes packed with the box you get the crossbow from, can be worn on
the neck, stacks up to 20 rods, and features an action button that
allows you to slowly chamber your rods into the rebar.

Video demonstration: https://www.youtube.com/watch?v=nG9efFOyauw

The crew version has also been moved to a neck storage item, but has
half the capacity and lacks the ability to quick reload.

I've also made the firing process slightly less annoying by having left
click draw and undraw the string; as it stands, you have to alternate
left click and use on hand after each shot, which is just jarring.

Created 2 new variables to replace the ALWAYS_HIT_TRAIT, so we don't
have to slap a new trait every time we want to dictate how accurate a
gun or projectile should be at range.

Lastly, I fixed an issue that allowed the bow to fit 1 extra bolt than
its intended capacity. if you were to chamber your last rod, it does end
up nerfing the burst of the syndie variant, as it drops down from 4 to
3, but the smoother reload should make up for it.

**Hydrogen bolts**

As it stands, all the atmosian bolt variants occupy different niches and
they are more or less balanced.

Except for the hydrogen bolts.

With zauker bolts doing 60 toxin damage, guaranteed embed, and Syndie
bolts doing 55 brute + the high delimb chance, Hydrogen bolts just don't
have any real purpose to exist with their lower damage and lack of the
ability to delimb.

Metallic hydrogen in general doesn't have any good applications, the
armor is weaker than your run of the mill sec vest, the axe is a
downgrade over the roundstarting one....; I could go on, point being
that something that requires in depth atmos knowledge and 30-40 minutes
of hard work shouldn't be outclassed by what's readily available at the
start of the shift.

So what if we made the hydrogen bolts go through walls?

Long range weaponry is a niche that remains mostly unfilled in the
traitor arsenal.

The syndicate rebar technically does have a scope, but requiring direct
line of sight makes it unreliable and far too risky to use, since you
could be jumped at any times while you are zoomed in.

So i've made the hydrogen bolts a weaker version of the nukie penetrator
rounds, with slightly lower damage, no infinite pierce and inability to
damage the AI core.

I've also improved their long range accuracy, as these bolts are meant
to be accurate at longer ranges, (they drop off massively past the 15
tiles)

Now yes, the bolts will be accessible to the crew as well, so why am I
discussing this as if it were a traitor change?

Well for starters, the actual applications of a crew atmos tech using
these are fairly limited.

Regular rebar bows can only fire 1 shot at a time, don't have a scope,
and you won't get much mileage out of the wall piercing component unless
you get thermals or x-rays, which are very much a stretch to acquire as
an atmos tech.

In the hands of a traitor, however, I can see it as a potential use for
a long-range sniping tool, if you are willing to commit half of your
round to make the bolts that is.

## Changelog

🆑
add: A Syndicate Rebar Quiver has been added to the uplink
qol: Left clicking with a rebar crossbow will now draw/undraw the
string.
balance: Rebar quivers are now a neck slot item.
balance: Hydrogen bolts damage has been upped to 55 brute and can now
pierce through walls, they no longer have infinite piercing and can no
longer embed however.
code: removed the TRAIT_ALWAYS_HIT_ZONE, replaced with 2 new variables.
fix: fixes rebar crossbows having a higher capacity than intended if a
bolt had already been chambered.
/🆑

---------

Co-authored-by: Xander3359 <66163761+Xander3359@users.noreply.github.com>
2024-09-04 12:59:08 +02:00
tgstation-ci[bot]
9a9b428b61 Wallening Revert [MDB Ignore][IDB Ignore] (#86161)
This PR is reverting the wallening by reverting everything up to
8868a5d1fe and replaying the PRs skipping
#85491.

The following 239 (39 + Wallening Main PR excluded) PRs need to be
replayed (DO NOT EDIT THIS LIST MANUALLY, IT IS USED BY THE BOT TO TRACK
PROGRESS):

  - [x] #85777 - Reverted in 3
  - [x] #85767 - Reverted in 2
  - [x] #85763 - Reverted in c
  - [x] #85762 - Reverted in 2
  - [x] #85760 - Reverted in dbc19df13b033ac8bb5a83fa38c5cf140cf31836
  - [x] #85733 - Reverted in 22f17d057eac71661b86c3f2186489568c130043
  - [x] #85721 - Reverted in 6d90643dbbc90f3d21f2d25dc85dc4d4f706d6a3
  - [x] #85719 - Reverted in c52954648309ad4786238f409cd33142d486190f
  - [x] #85705 - Reverted in 3b5ddabfd5ab2cfec226a643be6e8a8fd656c831
  - [x] #85684 - Reverted in cbc1839625f44ba67bcd5489c3629ef98e31b2d4
  - [x] #85662 - Reverted in 69cac24e236604c262093abea7b9566ecbd092c4
  - [x] #85663 - Reverted in f394c3b1430d346b0598abf19fe511b30c3f4676
  - [x] #85673 - Reverted in 8a9ae0411488c9c779a54c5c41076238c230a304
  - [x] #85718 - Reverted in f8f18d8b626e963b06555f76850702740d5de0c3
  - [x] #85667 - Reverted in a1365766d178b727b6c6b503ad410e9d88d57ddd
  - [x] #85683 - Reverted in 3bdb0207d883de8db6f726d976025517cc6d3cba
  - [x] #85676 - Reverted in 0a5d667b2c8a9a2519af2a4fda8cd39f568e5049
  - [x] #85661 - Reverted in 49fc6bc1815133644d7173aa7914ede6c900218a
  - [x] #85682 - Reverted in b41efe96fd72228b079319ac07c660f4cd974af6
  - [x] #85695 - Reverted in 89a173b136cb0297070cef39c5bc9783b6323f02
  - [x] #85654 - Reverted in 1e4836b5173a40fbeb8755e0fb76ebc8d39fe1e0
  - [x] #85655 - Reverted in b4dde41eebd0422e1ec440b4d8d54229fc9617f4
  - [x] #85634 - Reverted in 0c352fc785762da025a68873438593b508f757d9
  - [x] #85700 - Reverted in 1327cf7fe48d7f4fd227120508f77c831aefa4ca
  - [x] #85633 - Reverted in c71c8c9d43112a1f4c6331bbba546881dcffd59d
  - [x] #85649 - Reverted in 73484337077f616878e63208d9bf2309f0d2e579
  - [x] #85475 - Reverted in 839f700001a57646109e75332d5311fe27bbc957
  - [x] #85467 - Reverted in 6f08421f64d01b13775d146cf7a451f9f38e195a
  - [x] #85472 - Reverted in 63c6a9b04e72e8130df5eeb2861c75f80a97e3de
  - [x] #85300 - Reverted in 7c776034f34ee6a76810c1a3779f169f2430c418
  - [x] #85249 - Reverted in 257d02273751fc1f939f76756f70b614a6e06789
  - [x] #85236 - Reverted in f9f4c444c8fc027dea87d4dbe0ebb8dd6bc67154
  - [x] #85299 - Reverted in f24ddff51dc3fec7145a2e97f057f1b286921db3
  - [x] #85228 - Reverted in cb8c318f7e2183d9f941c582f79e4c8b2503d95c
  - [x] #84910 - Reverted in 2a562ca26d9d13f335c276487f66edaa0d21b3bd
  - [x] #84889 - Reverted in 679da6885b034bcd8843f7f4c855388bce263733
  - [x] #84766 - Reverted in 4035dd7adee74af0fed82c14a8749585b2ab1c96
  - [x] #85607 - Reverted in dc9a0462b4c287cee2d541925f8a9988d18d9d85
  - [x] #85618 - Reverted in 2a06f57c89939dc31e9273ef250bd050cff17ff1
  - [x] #85619 - Reverted in b98661affc90e44c68a58c05e57cdf1dfd094c93
  - [x] #85608 - Reverted in 57a935126233f90255aef0a55dab16524be1faac
  - [x] #85648 - Reverted in ab82c66a95d4fbff86040b421a86cc82dca73009
  - [x] #85692 - Reverted in f04fac92bd3594f12f244bae9ea0c5c300c737fb
  - [x] #85544 - Reverted in 7b1198eb5c700e85ec163e60828c01fac55a9909
  - [x] #85631 - Reverted in 81c04ceb553f9887d59f8edf8b2526ff3807264b
  - [x] #85529 - Reverted in 2a7e2c8e3856d67cdefda0d25803393070a6e996
  - [x] #85525 - Reverted in 6ed2d9f28a9333c705eafd21acf54771b8e4db36
  - [x] #85514 - Reverted in a4fa2aa79d93b69d15e0fb9cb1fb7a5bc288bb34
  - [x] #85520 - Reverted in 6e1bd4b11cd55e36cab332c5a0c90c76a2e43703
  - [x] #85521 - Reverted in 79afdac194da5f42b38fb0fdfc394f2b8d485266
  - [x] #85519 - Reverted in a967cae1fb3feea23fdf196595e496431740f52d
  - [x] #85513 - Reverted in e3934edf8794f93a37dc7f63c60aa64ed7b60736
  - [x] #85498 - Reverted in cf1fadbc54a1365362aaeb142cbbd4e2c3be6f15
  - [x] #85485 - Reverted in 2a650ef9c0454bd650d6a13d10c0cb71bb134b2b
  - [x] #85494 - Reverted in bbb97958010dc0f74cee279fd304a7fcaccb625e
  - [x] #85552 - Reverted in f1780715bd054300e50e9102ad150c76690d4ca1
  - [x] #85724 - Reverted in 6933699cef8b01f9aef989f36ca079680a2777ff
  - [x] #85735 - Reverted in a6564f19226ef3969bec0573b49fa772d6e6df31
  - [x] #85729 - Reverted in f728d121a2f27a3cc7973fc2041df9b7193b796d
  - [x] #85704 - Reverted in 38f5b034a3370eda4657a2a5a6adcf3df6ec280c
  - [x] #85660 - Reverted in 7db39869d37ff5b39574d88ffc872449ab5b457c
  - [x] #85752 - Reverted in 1f2988028b7cccad121fc658d6547d89453703b7
  - [x] #85592 - Reverted in 263cbcfcb54746a9361369d86b44cc3e2d375199
  - [x] #85580 - Reverted in a92d53624198dce844c108b5dbea09cf2a16cd10
  - [x] #85573 - Reverted in a7d51042355798038ced44f64e987261b85e93bc
  - [x] #85534 - Reverted in 31787e7d1ce4fec2ce20776672099bf35486a296
  - [x] #85511 - Reverted in 2567a2eb56cdb7058f89ea298e53197147198d82
  - [x] #85508 - Reverted in 69de2ac16c20d968adcd19f0732fd2f84a4ae90e
  - [x] #85680 - Reverted in 44437ac406c708b9a3ab3b47f4e3c10e77a0b91b
  - [x] #85551 - Reverted in 7f17d428fd2787a6982534bfc9ac9188fd4b8675
  - [x] #85478 - Reverted in bd9e575dafc62dc7e1259e8c19199ba15d82be4f
  - [x] #85476 - Reverted in 4ce8052076de0bb52f1ed87663920e98482ade62
  - [x] #85593 - Reverted in 9ff5924d3d56fcba3f180fc4b539568fb2013323
  - [x] #85441 - Reverted in db96015adaec01f3fbcb978796a0d7abd5668932
  - [x] #85567 - Reverted in 62696ad04fb34fd946708309bd3e439db9b3f488
  - [x] #85337 - Reverted in 1267e9f002d03c33187afd2e734e95a78a5ca6ac
  - [x] #85348 - Reverted in 4fcc3c659ee2a38d978e137252309644d5adde8f
  - [x] #85350 - Reverted in e691c833dd5aca2e7808591516e8443e8ccf1b27
  - [x] #85744 - Reverted in 251578d2868a691981b824a268c540b9c15a424e
  - [x] #85772 - Reverted in bc6804a04aa9368074bcc853e689c8fe6de2cb3a
  - [x] #85797 - Reverted in a05e36ec4a0129ff6901ea07488120b54a8ee124
  - [x] #85787 - Reverted in a5393f94b9e71d9ea0625e5fcfb5baaf16af38d3
  - [x] #85742 - Reverted in cd99a2aeaa1347b790c9bfdae35e41900e2ada9a
  - [x] #85440 - Reverted in 8b5ead7c7f0d8087b41256a296e730443752f17d
  - [x] #85739 - Reverted in 3511aae5a4798104220b79ad0e5b2b357dc1e83b
  - [x] #85293 - Reverted in fc687ca36ef476ab9080f0c62b427ab0af533d68
  - [x] #85716 - Reverted in 130b32a222a7585cfdde71aa561fb8b2c7d8083b
- ~~[ ] #85848 - Reverted in f6c46ca2f5cb2d039e4b26731570ca801741cc5d~~
(SKIPPED)
  - [x] #85795 - Reverted in 4684c3325a9135b6bf10eb43026f373993bf605d
  - [x] #85859 - Reverted in 0e0838fe11b7d9af4f62af4f7388ed8fb57bf49c
  - [x] #84873 - Reverted in 34407b79a45718a305f3bfe3fac7f129b4f1c51f
  - [x] #85864 - Reverted in 4b25a209c5019bb65922cd793aff339f20c3d026
- ~~[ ] #85845 - Reverted in a326246e81b7b9242bbf45e7ab3b31caf9ce8147~~
(SKIPPED)
  - [x] #85844 - Reverted in bdf1e6c1e3469884550d3211e51ec9303a022482
- ~~[ ] #85843 - Reverted in 41a8acb196af0988372b06ade7131d07d03daab3~~
(NOT BEING INCLUDED)
- ~~[ ] #85840 - Reverted in 4807bacea8418000f84d62ca0fb122846cab4929~~
(NOT BEING INCLUDED)
- ~~[ ] #85837 - Reverted in bc9edfa8666de14ca4e57e466146d753182a3a71~~
(NOT BEING INCLUDED)
  - [x] #85865 - Reverted in 14c958b465af40f0ff28b100047c4c572919ae19
- ~~[ ] #85818 - Reverted in a77256f74e2d330f5f76141eb9c994a8e5e45810~~
(NOT BEING INCLUDED)
  - [x] #85822 - Reverted in caba685be95fd336f0b09e88bccfb8856d5ad9b4
  - [x] #85794 - Reverted in 0d4de984eb8513d065e8ac724e8cde11f01d4ef7
  - [x] #85756 - Reverted in 9c5a7e1a5f895851493e149ccb5cd50e35cd6101
  - [x] #85852 - Reverted in 74303e5bbae8426a073d068ef4342d8acc420a09
- ~~[ ] #85841 - Reverted in e5831ce3cc87765cb13e6d342417bc1730780392~~
(NOT BEING INCLUDED)
- ~~[ ] #85834 - Reverted in 1be665204da791ec7520d0799c015157fc625953~~
(NOT BEING INCLUDED)
  - [x] #85792 - Reverted in 33b4e48175040f9f76ef83d3154f10c69589b6ad
  - [x] #85646 - Reverted in fd23a0d6c4c96470b688dc0a35370c61c7e32f61
- ~~[ ] #85799 - Reverted in 4a7a6d812f2f301c1e749c92f324223f9bde8a39~~
(NOT BEING INCLUDED)
  - [x] #85819 - Reverted in 8bf001b7889d3a4282947cd332833c473b98eac1
  - [x] #85479 - Reverted in 6aeb5ef4582c03febe0c914185d29f75df4d5d94
- ~~[ ] #85824 - Reverted in 9ca3edfaa17d97306ac73207ef32fd1272061f6b~~
(SKIPPED)
  - [x] #85406 - Reverted in 702280ff48c8aef44f4da9a85eb33a7bc5faa013
  - [x] #85778 - Reverted in ce0ec5c685aadb02ae049d6714f1d2fd6dae1f26
- ~~[ ] #85851 - Reverted in 610c68b275cf3c54181d36ce48bd97b0cce0665c~~
(NOT BEING INCLUDED)
  - [x] #85754 - Reverted in 5cbdda00c5335db79ea50aedba097de1d06bf91b
  - [x] #85266 - Reverted in abdfec798e5223dfa9d67e1967d7618454dbec28
- ~~[ ] #85823 - Reverted in 86b766abd3d77af8ad835a3464fc5ff95cc11079~~
(NOT BEING INCLUDED)
- ~~[ ] #85842 - Reverted in 7ddd47e26ef1bc336e92a6675a33ec3191039c16~~
(NOT BEING INCLUDED)
  - [x] #85857 - Reverted in e32312ee20e9fdccb6dd7c4dc2d185540bd2276b
  - [x] #85856 - Reverted in 7d5d74c2b55a08ef5553568e996053157359dbe2
  - [x] #85276 - Reverted in 1d6fa881e4aef1e6b368d5b6809bccb021fbbd2a
  - [x] #85886 - Reverted in f27d6cabdf8f06f29926616345fa82c4e1e48708
- ~~[ ] #85771 - Reverted in 019d898b601c9ef4d45b7ee0f2144518ee127ca9~~
(SKIPPED)
  - [x] #85464 - Reverted in adc00417795deb85f8aa6170b0f0a07c40c8798c
- ~~[ ] #85870 - Reverted in d69b998420bfb39693bb59b9b9a20611880fdafa~~
(NOT BEING INCLUDED)
- ~~[ ] #85869 - Reverted in 0063c69f111bb67144f9b379476250ce86c99eee~~
(NOT BEING INCLUDED)
  - [x] #85530 - Reverted in b40c93399411d277b3899e149196f3eb974f841f
- ~~[ ] #85871 - Reverted in 63908bbd0a71d0a2bd0a4691816c17cc9eb5310c~~
(NOT BEING INCLUDED)
- ~~[ ] #85832 - Reverted in b29dab083f091198d65a9b0754536f13a935dc2c~~
(SKIPPED)
- ~~[ ] #85825 - Reverted in d072b294ca3bc526df5128df45653db97ba38fe1~~
(NOT BEING INCLUDED)
  - [x] #85632 - Reverted in 290092c7d826aa5b100a38cd4bacc5330b39a934
  - [x] #85902 - Reverted in 76118d620e71f1819a9385863b689d9a8d4ea810
  - [x] #85906 - Reverted in 82623c2cc0fd9aee3e79c95fe5558146c59bc941
  - [x] #85907 - Reverted in 68b7305f21240ca28c33afc904ee532966b7c4bd
  - [x] #85449 - Reverted in ab86a79339ef7b01ceb08dc7279c698927ebcbfa
- ~~[ ] #85875 - Reverted in 0a1fcda90e638e66d574c247e93f0669d0c27b0e~~
(NOT BEING INCLUDED)
- ~~[ ] #85861 - Reverted in 6dad5111aa144860371c93a2d78094fe3d39a7e1~~
(NOT BEING INCLUDED)
  - [x] #85264 - Reverted in dc1d2dcc995f33fc5773e037f5171e9516897281
  - [x] #85726 - Reverted in dbd9ec81586c87c1ab2afc43d43c4f020907dc1b
  - [x] #85730 - Reverted in 7de2c2a1d012ccb03f82c6beabd71a66aa0f910a
  - [x] #85880 - Reverted in 02169d2f28611765997fa332dda69c8031436fd1
  - [x] #85176 - Reverted in e3c85aae1cf665c9892bf7280b7b48ea42323198
- ~~[ ] #85887 - Reverted in 56b35f294b303fd30fbd7685011d37b456d584c7~~
(NOT BEING INCLUDED)
  - [x] #85883 - Reverted in 53be06a505ebd8581114bba8590e378d387b6c1a
- ~~[ ] #85882 - Reverted in a8877ff0083ca5753e3d3b1b9c9edc3613fa6570~~
(NOT BEING INCLUDED)
  - [x] #85895 - Reverted in 741235d41b3a19a40434653f1c14fc0999fac9c3
- ~~[ ] #85746 - Reverted in b7aebb6e5788f6c484173f0a5e29f042ea0c8560~~
(NOT BEING INCLUDED)
- ~~[ ] #85889 - Reverted in d677231d8c55efcd2cf427d510d961cd00f186c7~~
(NOT BEING INCLUDED)
- ~~[ ] #85888 - Reverted in 693f79abae54980ee098d602ed79926d51d5094b~~
(NOT BEING INCLUDED)
  - [x] #85898 - Reverted in 4f41fda23e6b9711aef5d00836591c1ac230612e
- ~~[ ] #85821 - Reverted in 738c9a75f65c4a376da36ad208e1fd8fdeac1ff0~~
(NOT BEING INCLUDED)
  - [x] #85694 - Reverted in f7ea4d19cdaa2067c87c43362b514c684b56b1f3
  - [x] #85308 - Reverted in 4a89b62774da5e9ec9ea241c60ec2a99f51f9bed
  - [x] #85904 - Reverted in 999dbe1773cc7488c629bb8d0d21be5454dbef60
- ~~[ ] #85901 - Reverted in bbf832da9e0c61ad25221530df3b1e93cace25dd~~
(NOT BEING INCLUDED)
- ~~[ ] #85896 - Reverted in 542fe408728faaef8a16869e13c4661018a8a07c~~
(NOT BEING INCLUDED)
  - [x] #85927 - Reverted in 7dc87df28e79ef3e9f3fad83cc0907d2dc867c47
  - [x] #85908 - Reverted in bcca80f073a486ca7908e9636d0e8b275c2085bf
  - [x] #85929 - Reverted in 094bf3610a73961f6433a52ada1a52f25d853738
  - [x] #85877 - Reverted in 5874cafd0dab8d3bd61cf1f662793c2708f42dcc
  - [x] #85903 - Reverted in b3ba8fffc5548e0f2ae6bada3baf10bad3c75e54
- ~~[ ] #85913 - Reverted in 67f7ec48d20f9a64ce4664fa2c452a25b60db59e~~
(SKIPPED)
  - [x] #85914 - Reverted in 7efcd3a5f7fef33c2a1625386bfead80a6ed5309
  - [x] #85917 - Reverted in fc50a5ff998d0e7269131a029e533e90e9dc3c54
- ~~[ ] #85949 - Reverted in 10a8e0f5c69e3ca1eb6e26f00945bfe226598bc2~~
(NOT BEING INCLUDED)
- ~~[ ] #85338 - Reverted in 847549ab938f77464829b1392a1b6f2b2f4b9e8f~~
(SKIPPED)
- ~~[ ] #85922 - Reverted in 3d9388249b8c322aac5dd4980d4ab4673ca01006~~
(SKIPPED)
  - [x] #85923 - Reverted in 2c6ffa4decf40eb52a92353aeb98aee8cbc7b4a2
- ~~[ ] #85920 - Reverted in 1de5b03981d9fcf9c2e6823bffa515fb939aa541~~
(NOT BEING INCLUDED)
  - [x] #85919 - Reverted in 1773e9baccdc941285f56ccb416f5c7125b031ef
  - [x] #85271 - Reverted in aecf8002cf2807a76b6b295867e50392b4bc4534
  - [x] #85918 - Reverted in 023ec3a4d1b1b2fc8f596fea65a77ddc9a06689f
  - [x] #85924 - Reverted in e4886079ad90f33628ac59e0793dfbbc8b8b9420
  - [x] #85928 - Reverted in 7470b7d5ac40be21c345e8825f4c4efc4738e29f
  - [x] #85926 - Reverted in 7761c9e3a1f442f37d4db4b27e5d78fae95edf00
  - [x] #85900 - Reverted in 633736cb0655dc464e9794666c63ae6ec7689826
  - [x] #85909 - Reverted in a47c7ec8a77bd02f8b7bb1ce3c621efbe57077c3
- ~~[ ] #85931 - Reverted in 9bc7a412982da6fbdb9cd24570d98877b76a45c3~~
(NOT BEING INCLUDED)
- ~~[ ] #85894 - Reverted in c15e1711656929aeb59f482145ecf029b40d58b8~~
(SKIPPED)
- ~~[ ] #85759 - Reverted in f45d70be0ffb9bf007bfa18a1bd1b5ce23d6dcfc~~
(SKIPPED)
- ~~[ ] #85892 - Reverted in fc08dc1a7160f584c94e368962eb56c18dccc86a~~
(SKIPPED)
- ~~[ ] #85915 - Reverted in 428f475c26f383998a689560a16de86da3f17557~~
(NOT BEING INCLUDED)
  - [x] #85222 - Reverted in 66e7ac2f00735c90acdb69a50c9e485a0f4e1552
  - [x] #85150 - Reverted in 3079387f926e41febb576105ec0b3acec2f7beba
  - [x] #85935 - Reverted in ce6114f644593ead295763362a61d19077f22acf
- ~~[ ] #85936 - Reverted in f601fa796bce7e70645a84fff91391cbb6ed8e37~~
(NOT BEING INCLUDED)
  - [x] #85937 - Reverted in 64242f589df3d9118fd5c09d19574758260c76a1
- ~~[ ] #85940 - Reverted in a979c6c24705a8729efab5eca40840f1c8070f1d~~
(NOT BEING INCLUDED)
- ~~[ ] #85942 - Reverted in 9562c14083212fc962b8687663ba5fac2ebfdd1a~~
(NOT BEING INCLUDED)
  - [x] #85944 - Reverted in adf8e1927e4b9886c9042d6a0eaaef74e4e0e102
  - [x] #85605 - Reverted in 88dbfb4f859f12549e8cf8ed5204ee8d7183d40f
  - [x] #85945 - Reverted in dea9e79a9c298eae05b8d173d8df4a37218e2d9c
  - [x] #84964 - Reverted in 234481fb1d92a266768fcbca49245151236803ed
  - [x] #85952 - Reverted in c62d87ab54d687db64b1551b319195527ca92924
  - [x] #85953 - Reverted in bd0e46245ccb597081b8baa4f81ff85949f672be
- ~~[ ] #85943 - Reverted in 697b6841391354885ef2d314d9185b8eee7a5cb0~~
(NOT BEING INCLUDED)
  - [x] #85946 - Reverted in f4afd4d330b6fc28397f7707bca8773d44cb15ed
  - [x] #85950 - Reverted in 394fffcb836f32f4e1b1fd91a621249e0e5d7d67
  - [x] #85955 - Reverted in 2230a5bc141cd11fc79ccf6b4b653257508a7e65
  - [x] #85319 - Reverted in fdaddd9cd6ed0bdd1cd78ba3c9729035936abcbd
- ~~[ ] #85934 - Reverted in 41bb6122b6d6e3c38c500d5ddf63808836ab090e~~
(NOT BEING INCLUDED)
- ~~[ ] #85255 - Reverted in 3e213b8554b40e53f6429969d6e9dbaa357fb09e~~
(SKIPPED)
- ~~[ ] #85961 - Reverted in 6f3d000b3601dc7f75f7edd221fab3edc3bbbd8c~~
(NOT BEING INCLUDED)
  - [x] #85956 - Reverted in a5bf22a93ca1a149ca839e6c874d088b32c7c25f
  - [x] #85958 - Reverted in c964a46741bd26a600bb75bc6463c629c11c914f
- ~~[ ] #85969 - Reverted in b599cd4bd3ae223210eb0d3b47c3bd814e1cb08c~~
(NOT BEING INCLUDED)
  - [x] #85252 - Reverted in 5a0e2f31a6e1093ab47970056f5bb3af54172e12
  - [x] #85984 - Reverted in b000da82f62bb48b059a881d596f3a2e7d985d21
  - [x] #85137 - Reverted in 1f31b558e41fc66d5da9db30a83d89cbb9949eae
  - [x] #85881 - Reverted in f3913f94c4557c4fc9d5605cd8e875accabebda6
  - [x] #85972 - Reverted in d3afed87a3a8eed7e0016512d2186b6aded0fca9
  - [x] #85998 - Reverted in 3d286b763cf2f7fe11b6f0ccb2456130570726c2
  - [x] #85358 - Reverted in 75f84bda1b3c80d54ae94a567bf96016aaae45b2
- ~~[ ] #85964 - Reverted in be1aeb010afa20c1b6949218d8911ee9e900b3d7~~
(SKIPPED)
  - [x] #85960 - Reverted in 69cbfce1529377ce7cd998ab474add0d61650d7f
  - [x] #85992 - Reverted in 89e4a7bb0b793461338ba1b0a3d332bf78ef140c
  - [x] #85967 - Reverted in d398e418eb340f309be523514ae0befdf1869560
  - [x] #84888 - Reverted in bb98eb09f06a1fdc0bbb733d6a42d711e6d477bc
- ~~[ ] #85983 - Reverted in 81152a9cd347eb7b4073758e2e96490e6e729ca9~~
(NOT BEING INCLUDED)
  - [x] #85976 - Reverted in 93c091347ca8f04763b91fd4c39ccdff848a0d50
- ~~[ ] #85962 - Reverted in de32ea25b534c725e3d55418ef0363145f0ed2b0~~
(NOT BEING INCLUDED)
  - [x] #85977 - Reverted in 393652a1ef065014748ae6977a9f36b32c99dc7c
  - [x] #85959 - Reverted in 52e6e07eb98bcb74a423934b14d5850dbf2c6647
- ~~[ ] #85988 - Reverted in a5853ccde46b5fee2d9eb31755384de15e7a5a87~~
(SKIPPED)
- ~~[ ] #85974 - Reverted in eab20ba04e6b06f862a0fb35cedb6374af7b93c0~~
(SKIPPED)
  - [x] #85939 - Reverted in ca85b05692f55f6b3e4bd0b3f30c63f89531c33f
  - [x] #85878 - Reverted in 3b3d3dbff9148e46b01f3af28f17f66bef4dfd16
  - [x] #85858 - Reverted in 08d6082e62d07117170ff5ffd065daad1278e853
  - [x] #85651 - Reverted in b76ab4a2114dd0eb78336878b2825d9919c210cc
  - [x] #85505 - Reverted in 0958eaa7b6f4d48400bea4e215e11edaa933ba8a
- ~~[ ] #85352 - Reverted in 620cec18618e514bbe4d3eb0a0d0db1528b9d312~~
(SKIPPED)
  - [x] #85279 - Reverted in ba0fd529ef94ba793fe2eee40975533fe8f475e3
  - [x] #85954 - Reverted in d7fe0336f2a968b93fd02361814930236e3b8ddf
- ~~[ ] #85996 - Reverted in 5fbd62139e0c1b668aaaf35d249d527cdc276b93~~
(SKIPPED)
  - [x] #85994 - Reverted in c99a03c6833ac58e0288111953573f697488234f
  - [x] #85470 - Reverted in fbd5ac46d84d27455cbcf5f998741124ed6de625
- ~~[ ] #85981 - Reverted in dc74c75011ddfb1b16d644fd2ca5607599532d6f~~
(NOT BEING INCLUDED)
  - [x] #86011 - Reverted in b14b42e70e2bd21f19d443065b2342e4591c5e05
  - [x] #85820 - Reverted in 26248546b9f7d0fedec52e7b2f7def40d457e29f
  - [x] #86013 - Reverted in e17ac14f53d08be988f0516e7c39d31496a35184
  - [x] #85986 - Reverted in 4021ffea0b1bbb1f6c5b26a296abd5a8bda1d5b3
  - [x] #86019 - Reverted in c0801b3aa5dbdd33ca7c6c81e80c9fa573ada9e1
  - [x] #86010 - Reverted in 10dff005729305b75deaf1c5755a94125fa5141d
  - [x] #86029 - Reverted in 664619213db52930fa22007561dad01fe8bb3de4
  - [x] #86024 - Reverted in e74ea4368cbd2cd085aa6e8bbe83db07800b0bd4
  - [x] #86022 - Reverted in 0b2fc6a1f478c48546b161fd3ddd571f7ed6000f
  - [x] #86015 - Reverted in b99d93592dbf8840a035f22f26b64bcf27c817cb
  - [x] #85415 - Reverted in d6102c7339838675c03eb771d7a3b5a9bea4035d
- ~~[ ] #85703 - Reverted in 339b7edf3c0318f9f02922018d6918211660234f~~
(SKIPPED)
  - [x] #85890 - Reverted in 4e54f376e07071f84ed283e7468e334aaf6e4e02
  - [x] #86046 - Reverted in 0bbe2c9a048c229d151682e08aca1fa176c3ad91
  - [x] #86008 - Reverted in a0a0635cd6618618c49fda7cf150231d62a14236
  - [x] #86042 - Reverted in fa376315a064b945ed9846225c7f48e38e9b55ed
  - [x] #85891 - Reverted in 603dcd691e9eaad0a610c60c94fee522391bd2b3
  - [x] #86040 - Reverted in e42fc7618194b4b01cb68ca0c61385e465d0cb05
  - [x] #86025 - Reverted in 536bb25fe91845fe05bb7d512d8e73cc193b67ff
  - [x] #86012 - Reverted in 5cb4ec5bdf87653a5bb651c536f21423db30887e
  - [x] #86004 - Reverted in e9536143e78e3b0614d3ce6ee2c9a40005ba9b91
  - [x] #85989 - Reverted in 88a92322c2f028d2e3a2be18951d35d1135a6268
  - [x] #86044 - Reverted in d0a5fb5956be23144e325d3d51f53cb103dd5bbe
  - [x] #86001 - Reverted in 195c3597044315c9b10d002e6196911ac0622c45
  - [x] #86030 - Reverted in 5265796286b481d34fc91a1f8c58b6373d23415e
  - [x] #86055 - Reverted in e82138798cda028b673fe7ac83890e5a6b9e16d2
  - [x] #86057 - Reverted in c921900e6151552aa0768b4c9d7cc58c58dfbcc0
  - [x] #86014 - Reverted in c004d4e989a2faa672793f58fd98bd6fded8194e
  - [x] #85304 - Reverted in 611510bd7f65ee06738b7344326d72f57a131f8a
  - [x] #86061 - Reverted in f14b0a245dcf164bb99f7696e180847bb5be9b11
  - [x] #86075 - Reverted in 5339fe6c098d48769eda3f9935aa3488faa73097
  - [x] #86089 - Reverted in 10b5398e6b55f4799ca7d6740ac50c031e157c43
  - [x] #86081 - Reverted in ba86f43383cd2e8417c0a465c23fe3227fcd5520
  - [x] #85609 - Reverted in 9e5208feaca3163b7f4237c316d880161933777f
  - [x] #86114 - Reverted in cf410a97b8348381f96cc784a6489d7c1dea49ba
  - [x] #86023 - Reverted in a7a2e95c0c1b0598f15019934c80ccc80a9f89af
  - [x] #86027 - Reverted in 9cf71611befac64d26d326c060ef082262aeca70
  - [x] #86016 - Reverted in b67fa06e1559c8de87899bd06d09891b4c7ae947
  - [x] #86095 - Reverted in dc5abd827bb56e1609afe5a9d2bdd957d40cc75c
  - [x] #86105 - Reverted in f5b8e7ecbe99cb38e829a98a4f6eb2c200af8b91
  - [x] #86070 - Reverted in 6c460bbc22827bdbc566b524b8e6a959cbb61c37

After that some startup commits on this branch need to be reverted then
it can be merged.

---------

Co-authored-by: tgstation-ci <179393467+tgstation-ci[bot]@users.noreply.github.com>
Co-authored-by: Jordan Dominion <Cyberboss@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: MrMelbert <kmelbert4@gmail.com>
2024-09-03 10:41:51 +02:00
DrTuxedo
531486b995 Curator LIVE Journalism (#86046)
## About The Pull Request
The first Curator now spawns with a **Broadcast Camera**, a normal-sized
item that can be wielded to start a live broadcast to all entertainment
screens across the Station! It also broadcasts sound through a new
Entertainment radio channel that can be spoken into by the Curator. The
broadcast name can be changed by right-clicking the camera.
<details>


https://github.com/user-attachments/assets/cfe2a147-15b3-4a96-85e2-3082376a0e9a

</details>

Also adds a new clothing set to the Heroic Beacon of the Curator themed
around Journalists containing some unique clothing, a microphone, a
Press badge used for shoving into people's faces and crafting more
clothes (like Press armor and helmet), and also a set of 1 TV and 1
entertainment radio in-case station does not have places to watch
Curator's brilliant broadcasts.


![press_drip](https://github.com/user-attachments/assets/ea264e13-01b8-46c4-87cd-6b174bc5b470)
## Why It's Good For The Game
The job of Curator has 3 things it can do:

- Curate Library (lol)
- Explore Space
- **Create News!**

Although the Curator does have extended access to the Newscaster -
that's not enough of content. Inspired by the Combat Correspondent from
the Colonial Marines server - Curator now has a **Broadcast Camera**!
Using it they can show the station what the most important matters that
are going on without lifting the butts of their comfortable chairs.
No matter what Curator will report: Security raiding Medbay? Interviews
of Cargo Techs complaining about Command? Maybe even shows produced in a
studio? Anything really!

Also, entertainment screens will get more use, as right now they only
_sometimes_ broadcast Bitrunning avatars and nothing else unless admins
mess with them.
## Changelog
🆑 DrDiasyl aka DrTuxedo
add: Curator has received a new BROADCAST CAMERA which can broadcast the
surroundings LIVE on Entertainment Screens/ Alongside with some other
Journalism related gear in his Heroic Beacon
sound: Entertainment screens now play muffled speech when hearing a
message on Entertainment frequency
/🆑
2024-08-25 00:21:12 +02:00
Ghom
73081bcff0 Add messages (paper, photos, cash) in bottles. (#85703)
## About The Pull Request
This PR adds a new persistent feature: message inside bottles. These are
basically glass bottles with inside a piece of paper, a photo or space
cash (no holocredits, and most bills rarely go over 1000 credits anyway)
from a previous round, which can be fished at the beach, or from the
relative fishing portals.

Each piece of written paper or photo that isn't map-loaded has a roughly
a 0.2% chance to be added to the message bottles database at the end of
the round. However, you can also manually toss a glass bottle with
inside a paper/photo/bill into the ocean (or a fishing portal generator
with the ocean/beach module loaded) for guaranteed results.

The bottles are removed from the database once fished up by the by,
unless tossed back into the ocean.

I've also offset a couple bottle sprites that weren't properly aligned
(for the message overlays).

TODO:
- [x] add a couple (20 prob or less) message bottle spawners to the
beach away mission or something.
- [x] add a few sounds for adding and removing the message from the
bottle. (pickup/drop sounds already handle that)
- [x] test it properly.

## Why It's Good For The Game
I think it'd be neat to have a way to send photos, snarky "seek grass"
messages, as well as the occasional financial aid to future players, and
furthermore, another thing to tie fishing to.

## Changelog

🆑
add: You can place papers, photos and cash bills (no holochips) inside
bottles and then toss them into the ocean (or fishing portal gen with
relative settings) with right-click, for others to fish them up on
future rounds.
/🆑
2024-08-24 01:31:38 -04:00
Ghom
c77c50ae3d Athletic Fishing Gloves and Fishing Module to fish without a fishing rod (#85415)
## About The Pull Request
This PR adds a pair of fishing gloves that let you fish and work out at
once, and also a MODsuit module that lets you use MOD gloves to do the
same thing (without the workout, an external fishing rod has to be
inserted first). In both cases, you can equip or unequip bait, hook and
line by using the fishing rod interface which you can open by
right-clicking the gloves. To get both of them, you've to perform the
first fish scanning experiment.

I had to refactor the profound fisher component a bit to do this.

## Why It's Good For The Game
Interweaving a few different features with fishing. Fishing and
Athletics are both skills, so I thought it'd be nice if it were a way to
take advantage of both, and level them up accordingly. Also fishing
gloves with maxxed out athletics can make fishing a lot noticeably
easier at higher difficulty.

## Changelog

🆑
add: Added Athletic Fishing Gloves and Fishing Glove Module to the
advanced fishing tech node. Both can be used to fish without having to
hold a fishing rod. The athletic fishing gloves will also train your
athletics skill.
/🆑
2024-08-23 21:29:09 +00:00
klorpa
e1bf793264 Spelling and Grammar Fixes (#86022)
## About The Pull Request
Fixes several errors to spelling, grammar, and punctuation.
## Why It's Good For The Game
## Changelog
🆑
spellcheck: fixed a few typos
/🆑
2024-08-23 21:49:46 +02:00
Ghom
7fcfc9dc1c Fishing toolboxes (and maint) now come with a paper slip containing fishing-related tips. (#85279)
## About The Pull Request
Fishing is full of stuff that goes under the radar with little
visibility and the [wiki page](https://tgstation13.org/wiki/Fishing) is
outdated as fuck (look at all those ugly old codersprites oh my
goodness). I don't want to shove tip of the rounds for something so
niche but a few tips inside the fishing toolboxes people get sometimes,
as well as maintenance shouldn't hurt.

This PR is for currently a draft until the other PRs are in. Many of the
tips refer to stuff that hasn't been merged yet.

## Why It's Good For The Game
I cannot trust the wiki contributors to do a good job at it nor keep up
with the continuous changes I do. Also these might help players
sometimes.

## Changelog

🆑
add: Fishing toolboxes (and occasionally maintenance) now come with a
paper slip containing fishing-related tips.
/🆑

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
2024-08-21 15:25:03 +01:00
Ghom
659e6f0ca2 Fishing expansion 2: one-year later boogaloo (#85252)
## About The Pull Request
This PR mainly adds more fish and more fishing spots to the game, while
refactoring a few aspects of the fishing minigame.

Listing out with the new fish:
- Arctic char: mainly filler content for the ice hole fishing spot
- Sockeye Salmon: ditto but also provides better fillets that boost the
quality of resulting food items when cooked or used in recipes
- Soulfish: joke content, found by the cursed spring ruin
- Skin Crab: also a joke found by the cursed spring
- Bump-Fish: filler for the sand fishing spot
- Burrower Crab: ditto, reusing a fish sprite I made last year
- Sand Surfer: ditto
- Three-Eyed Goldfish: It's a reference, doh
- Stingray: A modestly weaponizable fish (whoops I've forgot to set the
hit sounds), it possess a few traits that make it deliver bits of venom
each time you hit someone with it
- Swordfish: Huge-ass fish that may require two hands to wield (or not,
if the RNG wants to make it smaller). Stats-wise, it's more or less the
equivalent of the captain sabre, if not stronger (and more unwieldy due
to size and weight). Becomes weaker when dead. Also gives better quality
fillets.
- Chainsawfish: A mutation of the goldfish with some size, weight and
traits requirements, but can also be found on emagged fishing portals.
Stronger than the swordfish, it behaves sort of like a chainsaw, with
the similar tool behaviour and var values. Also becomes weaker when
dead.

As for the fishing spots, you can now fish on sand turfs, at the cursed
springs or on ice. Rivers/jungle water now has its own fishing spot
datum, and no longer uses the generic fishing portal one. To fish on
ice, you first have to carve a hole with a pick or a shovel.

I've also refactored the fish "AI" hardcoded stuff used in the fishing
minigame into their own datums, which let me add a few fancier ways to
how the fish moves during the minigame (i.e. the soulfish moving at 1
FPS or the chainsawfish getting faster and faster).

As for the sword and chainsaw fish, their potential strength is balanced
out by the need of keeping them alive, as well as the potential
cumbersomeness, two-handed wielding and potential slowdown from the
excessive weight of the fish (Thank you Big Slappy for the inspiration).

Other minor changes include: Pufferfish giving better quality fillets
(too bad they're poisonous, I'll go and make a skillchip to let cooks
safely separate the poisonous liver from the fillets); McGill The
lawyer's goldfish) having a 15% of being three-eyed; the aforementioned
slowdown from fish weight and two-handed carry from fish size; a couple
new fish icons (the ones that hint you on what you're trying to catch)
for the fishing minigame; a few adjustments to prevent self-reproducing
fish from ignoring the population cap and let fish with a stable
population of 1 to crossbreed (also gotta make a different PR to let it
happen rarely without the crossbreeding trait).

This PR is still a WIP, gotta test it several times.

## Why It's Good For The Game
Fishing is something I've been working on for about a year now, but
there are still a few places where it's kinda lackluster, like there's
not enough diverse fishing spots or useful fish (I'll be working on a
separate PR to make the logistic of a carrying a fish around without
letting it die a tad easier). Also, look at these sprites:

![new
fish](https://github.com/user-attachments/assets/49c55065-32b0-44ec-ac12-74b3a1763f50)

Can you guess which is which?

## Changelog

For the sake of not dumping players with niche information 90% of the
players won't understand, I'll keep the CL pretty generic

🆑
add: Added twelve new fish types to the game. Some are cool, other are
not, some come with their own special traits and some are straight-up
weapons.
add: Added more fishing spots to the game. Sand, ice, rivers, the cursed
spring...
balance: A few fish like salmon, swordfish and pufferfish (poisonous
btw) now give better quality fillets when butchered, which can improve
the quality of food that uses them even further.
balance: Excessive fish weight will make the fish slowier to carry,
while excessive size may make it require two hands.
balance: Adjusted size, weight and cooldowns of several fish, for the
better.
/🆑
2024-08-20 06:46:11 +02:00
carlarctg
2f69fe6190 Adds three new deathmatch maps - Ragnarok, Lattice Battles, Species Showdown (#85319)
## About The Pull Request

Adds three new deathmatch maps.

### Important nonDM Balance Changes

Cult daggers fit on belts.

Heretic blades fit on belts.

Veil shifters fit on belts.

I really don't know why these didn't, it makes inventory management
rather annoying at times. It also screwed my loadouts over.

Cursed Blades fit on cult robes. They're cult equipment after all.

Bronze suits fit toy watches!!

### Ragnarok


![ragnarok](https://github.com/user-attachments/assets/b20b0974-b1e3-4d1f-9c46-03c56da3eebf)

A vicious battle in the jungle, between the three major religious sects:
Prove your deity's might! And try not to upset any primates. Or fall
into the chasm.

Going clockwise:

**Cultist Invoker**: Wielding a mirror shield, shielded robes, a sword,
and some bolas, this cultist has a 'well-balanced' set of equipment to
annihilate their opponents.

**Cultist Artificer**: This set harnesses the blood magicks - with
spells of stunning, blood rites, and ranged hallucinations, with a
wicked Cursed Blade and Veil Shifter as implement, and Berserker Robes
to finish the look.

**Holy Crusader**: Nullifying most, but certainly not all, of the
fearsome arsenal of the opponents with the null rod at their belt, the
Crusader packs a dangerous claymore and armor to protect them from the
demons.

**Rat'var Apostate**: Hey, what's that guy doing there in the dark? They
don't have any magic because their god is Fucking Dead, but they're
still going to show up for a token effort. Good luck!

**Heretic Scribe**: This mad soul wields an antique rifle and an
assortment of other dangerous relics, with a set of magic geared towards
staying far apart, picking enemies off from range and evading their
attacks for the final blow.

**Heretic Warrior**: With the deadliest of Mansus Magic at their
disposal, this warrior is only limited by their ability to juggle all
their spells at once - don't get overwhelmed sorting your spells while
an Invoker runs at you with a sword and shield and makes you cry
yourself to death.

### Lattice Battles


![spleef](https://github.com/user-attachments/assets/03391656-4544-4230-8a40-ab6349a1458c)

A fresh change of pace: In this pacifist map, the only way to kill your
opponents is to snip the lattices and catwalks from under them. Watch
your step.

### Species Warfare


![species_warfare](https://github.com/user-attachments/assets/35b4acc5-10db-403b-ac0f-78fac8d41e8a)

Prove the might of your static by duking it out with every other kind of
crewmember out there. Features a messy dorms, a ticking-timebomb atmos,
a rather sterile robotics, a slippery closet, a fluffy medbay, and an
energetic bridge.
Mirror Shields now shatter on throw (which stuns and hurts)

## Code changes

Added two new traits, TRAIT_ACT_AS_CULTIST and TRAIT_ACT_AS_HERETIC.
Added these as an OR to respective IS_X checks. Added new GET_X checks
for them, which do not check the trait.

Tidied up the file those are in.

Added belt_contents() to outfits, but it dosen't work....

Added a heretic rust sister-type to rust walls and floors.

Fixed a typo in cult ascension.

## Why It's Good For The Game

These maps all aim to do something interesting and unique with DM rather
than the usual deathfest and hugging of random crates.

Ragnarok allows players to practice unusual and rare magical mechanics,
similar to Ragin' Mages.

Lattice Battles adds SPLEEF to the game, which I think is awesome.

Species Warfare is, I think, fun and funny. Each 'department' has
incredibly chaotic and thematically-appropiate content for the species
its meant to symbolize, and I look forward to the chaos that every round
in it is inevitably going to have.

> Mirror Shields now shatter on throw.

I'm surprised they didn't! Since they aren't used anywhere I can do what
I want with them.

## Code changes

> Added two new traits, TRAIT_ACT_AS_CULTIST and TRAIT_ACT_AS_HERETIC.
Added these as an OR to respective IS_X checks. Added new GET_X checks
for them, which do not check the trait.

I think this is a clever solution to the problem of 'what if I want
someone who acts as the antag, but isn't?' Some procs do need the datum
to modify it, so there's GET_X, but those aren't common and don't seem
likely to be an issue.

> Added belt_contents() to outfits, but it dosen't work....

Help would be very much appreciated, I don't know what I'm doing wrong
here. It's only used for the heretic scribe's unfathomable curio.
Some post-PR cleanup coming up.

## Changelog
🆑
add: Added three new DM maps - Ragnarok, Lattice Battles, Species
Showdown.
/🆑
2024-08-19 13:47:27 +00:00
John Willard
1880003270 Reworks silicon/ai access checking & fixes some ui_act's (#84964)
## About The Pull Request

Currently to check for Silicon access, we do:
``if is silicon or is admin ghost or has unlimited silicon privileges or
has machine remote in hand``
What has unlimited silicon privileges? Bots, Drones, and admin ghosts.
To check for AI access, it just checks for AI instead of silicon, and
doesnt check for unlimited silicon privileges.

This was kinda silly, so I thought I should make this a little easier to
understand.
Now all silicon/ai traits come from ``AI_ACCESS_TRAIT`` or
``SILICON_ACCESS_TRAIT``. I made a single exception to keep Admin ghost,
since now instead of being a var on the client, we moved it to using the
same trait but giving it to the client instead, but since we have to
keep parity with previous functionality (admins can spawn in and not
have this on, it only works while as a ghost), I kept previous checks as
well.

No more type checks, removes a silly var on the mob level and another on
the client.

Now while I was doing this, I found a lot of tgui's ``ui_act`` still
uses ``usr`` and the wrong args, so I fixed those wherever I saw them,
and used a mass replace for the args.

Other changes:

- machinery's ``ui_act`` from
https://github.com/tgstation/tgstation/pull/81250 had ``isAI`` replaced
with ``HAS_AI_ACCESS``, this has been reverted. Machine wands and admin
ghosts no longer get kicked off things not on cameras. This was my
fault, I overlooked this when adding Human AI.
- Human AI's wand gives AI control as long as it's in your hand, you can
swap to your offhand. I hope this doesn't end up going horribly,
otherwise I'll revert this part. It should let human AIs not have their
UI closed on them when swapping to eat food or use their door wand or
whatnot.
- Bots previously had special checks to scan reagents and be
unobservant, I replaced this with giving them the trait. I also fixed an
instance of unobservant not being used, so now statues don't affect the
basic creature, whatever that is.

## Why It's Good For The Game

This is an easier to understand way of handling silicon access and makes
these mobs more consistent between eachother.
Other than what I've mentioned above, this should have no impact on
gameplay itself.

## Changelog

🆑
fix: Statues don't count as eyes to creatures.
fix: Human AIs and Admin ghosts no longer get kicked off of machines
that aren't on cameranets.
/🆑
2024-08-19 10:43:45 +00:00
John Willard
b6d3e114da Adds taunting as a replacement for spin/flip in style meter and parrying (#85605)
## About The Pull Request

Replaces spin/flip's uses in mining's style meter and bitrunner's
projectile parrying and instead uses a new emote, taunt. It also does
not play a sound effect for emoting, only when you successfully block a
projectile.

The parrying time from the flip was 1.4 seconds, with taunting it is now
0.9 seconds. Taunting also has a cooldown of 1.5 seconds between uses.

https://www.youtube.com/watch?v=cJGuEqNhqUs


https://github.com/user-attachments/assets/1c6bf8b2-6a0d-4ae2-9b5b-9c6e619e76d6

## Why It's Good For The Game

Spin and flip are emotes that get a little boring and repetitive, which
makes its complete overuse quite annoying to see.
Compared to spin, taunting is a quick turn, which stacked with the
cooldown, makes it a shorter and un-overusable emote.

It also has a cooldown of 1.5s between hits, so players now actually
have a limit to how much they can parry/style. Currently if you have
some way to regenerate stamina damage, you're pretty set to spam parry
all projectiles at essentially no cost, since emotes cost nothing to
use, removing the limit of having to actually time it.
I wouldnt say falling over is necessarily a downside since anyone who
uses these items for a while can quickly figure out exactly hwo to
maximize parrying time.

## Changelog

🆑
add: Added Taunting, a faster and cooldowned version of the Spin emote.
balance: Wizards blocking projectiles with Transparence and the
bitrunner matrix skillchip now have a visible effect of deflecting the
projectile.
balance: The bitrunner skillchip now uses taunt instead of flip.
balance: The style meter now uses taunting instead of flips and spins.
/🆑
2024-08-19 01:05:56 +00:00
Ghom
ff3b73dc82 Refactored the fish case and examining fish. New bluespace fish case to fit large fish inside a backpack. (#85271)
## About The Pull Request
I've refactored the FISH_SAFE_STORAGE trait into an element, mainly
because there were a few problems with how it worked: It wasn't stopping
hunger from raising, ditto with the breeding wait, and it offered no
healing whatsoever, which I find kind of a bummer. The new element will
keep the fish from getting any hungrier or ready to reproduce and will
heal them up to 65% of their base health.

Also, I've added a new bluespace fish case as a techweb design, found
along with other stuff in the advanced fishing node, though if you want
I can move it to a bluespace node. This should make it possible to
reasonably store and carry around larger fish.

Examining a fish will no longer give out readings on weight and size if
you haven't at least attempted fishing once (you can get to novice level
in less than a minute). While examining a fish with apprentice level or
higher will also give readings on the general conditions of the fish (is
it starving? drowning? has it lost a considerable chunk of health?). The
fishing skillchip also gives you these traits.

I've also converted two fish variables into traits, because fish have
waaaay too many variables. and gave some topdown shading to the
pre-existing fishbox sprite.

## Why It's Good For The Game


## Changelog

🆑
add: Added a bluespace fish case to the advanced fishing node.
balance: Fish cases will keep a fish from getting hungrier or ready to
reproduce, while also healing it up to 65% health.
balance: Examining a fish with zero fishing skill whatsoever won't give
a reading on its size and weight. Conversely, examining one with the
skill leveled two times will give general information on if it's
starving, sick, hungry, or dead.
/🆑
2024-08-18 06:06:17 -07:00
necromanceranne
0b68257da1 Drunken Brawlening: Intoxication alters your unarmed effectiveness, bartenders are stronger fighters while drunk, deterministic stagger combo is back (your average assistant doesn't get knockdowns) (#85449)
## About The Pull Request

### Intoxication and Punching

Being drunk juuuust enough allows you to land stronger punches and take
punches a little more easily.

However, being TOO drunk makes you WORSE at these things, and makes your
unarmed accuracy an unarmed PENALTY. Don't get drunk if you can't hold
your liquor.

However, fighting drunk makes you really sick, so be careful as to not
suddenly start vomiting everywhere.

### Drunken Brawler

Bartenders are now drunken brawlers. They gain additional punching
prowess if they're ever intoxicated, it does not matter how much nor do
they ever suffer a penalty as a result of being TOO drunk.

The more damage the bartender has taken, the stronger they hit back.
(added by recommendation from WalterTruck) I have to mess the scaling on
this more.

### Stagger Combo/Unarmed Combos

The stagger combo is back, but significantly less stun heavy except on
the extreme ends of unarmed upgrading.

When your opponent has been sufficiently damaged enough, staggered and
doesn't have any riot protection gear on, you can inflict additional
status effects when you punch an opponent.

The necessary value for this effect is: Half the target's Brute and Burn
damage combined exceeds a value of: Limb accuracy + armor block (min.
40. max 200)

While the thresholds are more deterministic, the effects are random. The
better you are at punching, the better the effect, but the higher your
targets armor, the weaker the effect. All effects are positive for the
attacker and negative for the target.

The dice roll is such; (a roll between -20 to 20) + limb accuracy -
armor block

| Stage/Value | Effect |
| ------------- | ------------- |
| Stage 1 (-Infinity to 0  | Staggered for 1 second |
| Stage 2 (1 to 10)  | Eye Blur for 5 seconds |
| Stage 3 (11 to 30)  | Eye Blur, Dizzying, Confusion for 5 seconds |
| Stage 4 (31 to 40)  | Blindness, Dizzying, Confusion for 5 seconds |
| Stage 5 (41 to 45)  | Knockdown for 4 seconds |
| Stage 6 (46 to Infinity) | Knockdown for 4 seconds, 5 Brute with huge
wound chance |

Stages 5 and 6 are not possible to reach for roundstart humans who
aren't intoxicated. It is almost impossible to get high effects against
someone who is in full security gear as a roundstart human

### Minor Changes

Any unarmed related thresholds or values that would use Stamina damage
now use half of the total of Burn and Brute damage on the relevant
individual. This affects punch accuracy, the threshold for getting a
stagger combo, and the threshold for someone being more vulnerable to
grabs.

## Why It's Good For The Game

I just really wanted to add some drunken brawling/drunk fist style
martial art stuff because I thought it would be fun, and bar brawls are
where most people start fist fights. It's thematically entertaining.

The bartender, by extension, should be pretty proficient at this kind of
brawling. It also works out great when working with chefs to beat people
up with their fists in their own, more unrefined style.

The situation with the unarmed knockdown/stamina pr was kind of a mess,
since at the time I was already going to take it out after discussing
things with Walter and we were working out some alternatives together.
But uh...well, it wasn't to be. Particularly, there was a lot of stuff
in unarmed fighting that used Stamina damage that didn't actually get
removed at all. So this cleans that up.

I said I'd find a good alternative down the line to fill that gap, and
this is it. For your run-of-the-mill fistfights, there are no random
knockdowns. It's only when you are actually trying to brawl with a
cybernetically enhanced human that this kind of thing starts to crop up.
Or your opponent is a golem. Or you are both really drunk (and thus
everyone starts vomiting because they're getting beaten up)

The average assistant beating up another assistant is at best going to
inflict some eye blurring and dizziness, assuming the fight even lasts
that long. But this should be sufficient to create space to escape, or
even meaningfully disable someone who might simply be invading your
department. It is much less helpful against a more sufficiently geared
opponent.

The main reason for focusing on this is to give the average joe some
kind of way for a heel turn in the event they're having to scuffle with
departmental invaders or escape some determined opponent. It does not,
however, allow them to manhandle a nuclear operative in an elite suit
while our would-be hero is entirely butt-naked and drunk. Not that they
shouldn't try, that's funny as hell.

Thus, the effects chosen are more useful for escaping and befuddlement
than necessarily stopping the fight outright. If you have improved arms,
your arms are weapons and start to act like them, so you start seeing
more significant results.

It is also a nice thematic tie to unarmed's zany cousin; tackling, since
the randomized effects are borrowing the logic form there, and it is
cool to have those tied a bit closer.

## Changelog
🆑
add: Drunken fist fighting now has bonuses and penalties based on how
intoxicated you are. Controlled liquor intake could make you a better
brawler. Though you might vomit if you go too hard.
add: Bartenders are now Drunken Brawlers. If they're drunk at all (no
matter how drunk), they're stronger at fist fighting.
add: Reintroduces the deterministic stagger combo. The effects of the
combo are more varied, and based on attacker unarmed effectiveness and
the defender's armor. Read the PR for more details. It's complicated.
qol: Unarmed effects that would utilize stamina values now use a split
of half brute, half burn to determine outcomes or for meeting
thresholds. This affects; punch accuracy, stagger combo thresholds and
grab vulnerability thresholds.
/🆑
2024-08-17 00:31:10 +00:00
YesterdaysPromise
fec946e9c0 /Icon/ Folder cleansing crusade part, I think 4; post-wallening clean-up. (#85823)
Hello everybuddy, your number three rated coder-failure here to clean up
some mess. This PR accomplishes some of the more major structural clean
up changes I wanted to do with /obj/ folder, but decided to wait on
until wallening gets merged, and so, time has come. Several things to
still be done, although I know these cleaning PR's are quite a load, so
will wait for this one to get done with first.

## Why It's Good For The Game
Saner spriters, better sprites, less annoyance. Also deleted a whole
load of redundancy this time around, a lot of sprites which existed
simultaniously in two places now got exit their quantum superposition.
2024-08-15 20:22:02 -07:00
MrMelbert
ed2f017923 Digitigrade clothing sprites (feat. GAGS and 0 sprite bloat) (#85406)
## About The Pull Request

Use GAGS to auto-generate digitgrade leg sprites based off of 1 basic
template + color sampling.
Icons are cached relatively aggressively, like female sprite variations.
So no need to worry about that.

The result: All of these sprites with only **3** icons added (the base
template, and the masks)
Obviously it's not perfect - some of the sprites (like the engineer's
jumpsuit) lose some "luster", but it does the job if I do say so myself.


![image](https://github.com/user-attachments/assets/5c23dc97-8716-490c-898c-58b1e01a8a02)

Only applied to undersuits, for now. 

## Why It's Good For The Game

- Allows Lizards to show off their handicap, rather than hiding it or
necessitating they use skirts.

- (Ideally) leads to an uptick in Digitigrade abuse (due to being easier
to identify), which is also a net positive.

- Implemented without any common issues revolving alt bodytype clothing
sprites (those being maintainability and sprite bloat)

## Changelog

🆑 Melbert
add: Auto-generated digitigrade clothing sprites for most jumpsuits
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-08-15 23:28:02 +02:00
DATAxPUNGED
34aa2bc50e Paraplegics can choose to not have legs. (#85716)
## About The Pull Request

This is a bounty that was made by ophaq, and claimed by me.

Gives paraplegic the option to be an amputee, and appear on station
without their legs. They are still paralyzed, so no amount of mechanical
legs is gonna let them walk again.

## Why It's Good For The Game

Character customization is a good thing and lets people make their
little characters suffer in new ways, this one in specific *actively
lowers your max HP*, which is gonna certainly be fun.

## Changelog

🆑
qol: Paraplegics can now opt into appearing on the shift without their
legs.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-08-15 12:02:29 +01:00
Ben10Omintrix
4273fc9dd9 idle basic mobs can plan again (#85348)
## About The Pull Request
idled basic mobs now instead of completely shutting off, will be
delegated to a much lower priority subsystem to do their planning.

## Why It's Good For The Game
Mobs can now perform their functions without needing players to be
nearby in a way that doesnt starve other subsystems. this allows animals
such as goldgrubs to eat ores, lobstrosities to fish, seedlings to tend
plants (and many others) without needing any players nearby

## Changelog
🆑
fix: idle basic mobs will now plan behaviors rather than completely shut
down
/🆑
2024-08-14 13:50:44 +02:00
itseasytosee
3eeda64275 Moves more species traits to bodyparts +bugfixes (#85692)
## About The Pull Request
I've retaken up the crusade to make species specific features modular,
with the end goal of being able to essentially ship of thesis a person
without causing any strangeness (eg, currently if you take an abductor
and replace every body part and organ with a human one including the
brain they still don't need to breath.) To make that a reality we will
need to develop a few more robust tools but here are some easy fixes for
right now.

Changes are:
lizard:
TRAIT_TACKLING_TAILED_DEFENDER -> moved to Lizard Brain
monkey:
TRAIT_GUN_NATURAL -> moved to Primate Brain
Ethereal:
TRAIT_NO_UNDERWEAR -> moved to chest
TRAIT_FIXED_HAIRCOLOR -> removed (had no implementation)
TRAIT_TENACIOUS (illustrious) -> Not functional, fixed by making it an
element that the brain applies
Moth:
TRAIT_TACKLING_WINGED_ATTACKER -> moved to chest
TRAIT_ANTENNAE -> moved to head
## Why It's Good For The Game
Makes sense. More fun for mad scientist types/limbscambler
## Changelog
🆑 itseasytosee
fix: illustrious ethereals now properly get the tenacious trait
code: more species features have been moved to their individual body
parts.
/🆑
2024-08-14 13:16:45 +02:00
GPeckman
f69284be5b Abductors can no longer be converted by conversion antags (#84766)
## About The Pull Request

Basically what the title says. Abductors cannot be converted by
bloodbrother/revs/cult. They will NOT show up as having a mindshield,
however.
## Why It's Good For The Game

Abductors are, by design, incredibly strong. You are not meant to be
able to win against them, and this is reflected policy-wise by the fact
that they're a restricted antagonist. However, this is still a problem
when conversion antags get involved. If an abductor becomes a cultist or
a revolutionary, then suddenly every other player who isn't also
converted has to deal with an abductor without the normal restrictions.
It's not fun to play against and in general just shouldn't happen.
## Changelog
🆑
balance: Abductors (the antag, not the species) can no longer be
converted by any antagonist.
/🆑
2024-08-14 13:10:57 +02:00
hack-wrench
c5e2321313 add syndie lipstick (#85249)
## About The Pull Request

Add syndicate branded lipstick for stealth operations, super-secret
formula allows you to do similar energy gun damage with just a kiss,
leaving a distinctive laser-like mark.

## Why It's Good For The Game

The traitor arsenal is replenished with a new method of killing, elegant
and without suspicion. Just send an air `*kiss`!
You might ask what makes syndie kiss different from mime gun, besides
similar characteristics to egun:
- Causes burn damage
- It's the emote `*kiss` after lipstick application that does the
damage, not the lipstick itself
- It has standard kissing cooldown
- Kisses always fly to the head, good for the investigation
- Can fly through windows and lattice
- Unlimited number of lipstick uses
- Could be wiped out, unlike mime gun
- Can be reapplied after wiping off

In addition to adding lipstick, also:
- Fix wallhit sound, accidentally hit a wall and no sound came out of
it, and not just with a kiss
- Kiss log no longer contains on hitting the kisser name, but there is a
log about sending a kiss

## Changelog


![image_2024-07-25_20-02-34](https://github.com/user-attachments/assets/f74be8d5-8d9b-46a8-a2e7-019644d9f880)

![image_2024-07-25_20-02-53](https://github.com/user-attachments/assets/8f8d97dd-caf0-49a6-873d-b80d0acfc217)

![image_2024-07-25_20-27-48](https://github.com/user-attachments/assets/74ccea72-7f31-4771-8e8e-56a23109ccec)

![image](https://github.com/user-attachments/assets/2d4d52fe-067e-460a-91a7-a2a9cfa93cd3)

🆑
add: add syndicate branded lipstick to uplink (6 TC), after applying
lipstick *kiss deals damage equal to energy gun
fix: fix wallhit sound for projectile
/🆑
2024-08-14 13:04:29 +02:00
LemonInTheDark
4b4e9dff1d Wallening [IDB IGNORE] [MDB IGNORE] (#85491)
## What's going on here

Kept you waitin huh!

This pr resprites most all walls, windows and other "wall adjacent"
things to a 3/4th perspective, technical term is "tall" walls (we are
very smart).

If you're trying to understand the technical details here, much of the
"rendering tech" is built off the idea of split-vis. Basically, split a
sprite up and render it on adjacent turfs, to prevent seeing "through"
walls/doors, and to support seeing "edges" without actually seeing the
atom itself.

Most of the rest of it is pipelining done to accommodate how icons are
cut.

## Path To Merge

Almost* all sprites and code is done at this point. 
There are some things missing both on and off the bounty list, but that
will be the case forever unless we force upstream (you guys) to stop
adding new shit that doesn't fit the style.
I plan on accepting and integrating prs to the current working repo
<https://github.com/wall-nerds/wallening> up until a merge, to make
contribution simpler and allow things like bounties to close out more
easily

This pr is quite bulky, even stripping away map changes it's maybe 7000
LOC (We have a few maps that were modified with UpdatePaths, I am also
tentatively pring our test map, for future use.)
This may inhibit proper review, although that is part of why I am
willing to make it despite my perfectionism. Apologies in advance.

Due to the perspective shift, a lot of mapping work is going to need to
be done at some point. This comes in varying levels of priority. Many
wallmounts are offset by hand, some are stuck in the wall/basically
cannot be placed on the east/west/north edges of walls (posters), some
just don't look great good in their current position.

Tests are currently a minor bit yorked, I thought it was more important
to get this up then to clean them fully.

## What does it look like?


![dreamseeker_hBsU6wCu91](https://github.com/user-attachments/assets/5392fa3b-60f6-40ea-876f-e686f25f996a)

![dreamseeker_CTiK0Je5iR](https://github.com/user-attachments/assets/1aee23bd-a5ec-4679-b094-d044401b7222)

![dreamseeker_HYkS1Q9GRq](https://github.com/user-attachments/assets/bad8844b-3179-4856-8684-f912e14e844a)

![dreamseeker_Pa18tgyKYp](https://github.com/user-attachments/assets/c2e1d222-9e5c-4500-8829-dd065428644a)

![dreamseeker_BfOBwS2mjH](https://github.com/user-attachments/assets/7dc51153-111d-4b17-93c3-8389daa6b60b)

![dreamseeker_iJazOumiMQ](https://github.com/user-attachments/assets/5837e203-3865-4f60-854e-62b4875c6b99)

## Credits

<details>
<summary>Historical Mumbojumbo</summary>

I am gonna do my best to document how this project came to be. I am
operating off third party info and half remembered details, so if I'm
wrong please yell at me.

This project started sometime in late 2020, as a product of Rohesie
trying to integrate and make easier work from Mojave Sun (A recently
defunct fallout server) with /tg/.

Mojave Sun (Apparently this was LITERALLY JUST infrared baron, that man
is insane) was working with tall walls, IE walls that are 48px tall
instead of the normal 32. This was I THINK done based off a technical
prototype from aao7 proving A it was possible and B it didn't look like
dogwater.

This alongside oranges begging the art team for 3/4th walls (he meant
TGMC style) lead to Rohesie bringing on contributors from general /tg/,
including actionninja who would eventually take over as technical lead
and Kryson, who would define /tg/'s version of the artstyle. Much of the
formative aspects of this project are their work.

The project was coming along pretty well for a few months, but ran into
serious technical issues with `SIDE_MAP`, a byond map_format that allows
for simpler 3/4th rendering.
Due to BULLSHIT I will not detail here, the map format caused issues
both at random with flickering and heavily with multiz.

Concurrent with this, action stepped down after hacking out the
rendering tech and starting work on an icon cutter that would allow for
simpler icon generation, leaving ninjanomnom to manage the project.

Some time passed, and the project stalled out due to the technical
issues. Eventually I built a test case for the issues we had with
`SIDE_MAP` and convinced lummox jr (byond's developer) to explain how
the fuckin thing actually worked. This understanding made the project
theoretically possible, but did not resolve the problems with multi-z.
Resolving those required a full rework of how rendering like, worked. I
(alongside tattle) took over project development from ninjanomnom at
this time, and started work on Plane Cube (#69115), which when finished
would finally make the project technically feasible.

The time between then and now has been slow, progressive work. Many many
artists and technical folks have dumped their time into this (as you can
see from the credits). I will get into this more below but I would like
to explicitly thank (in no particular order) tattle, draco, arcanemusic,
actionninja, imaginos, viro and kylerace for keeping the project alive
in this time period. I would have curled up into a ball and died if I
had to do this all myself, your help has been indispensable.

</details>

<details>
<summary>Detailed Credits</summary>

Deep apologies if I have forgotten someone (I am sure I have, if someone
is you please contact me). I've done my best to collate from the git
log/my memory.

Thanks to (In no particular order):
Raccoff: Being funny to bully, creating threshold decals for airlocks
aa07: (I think) inspiring the project
ActionNinja: Laying the technical rock we build off, supporting me
despite byond trying to kill him, building the icon cutter that makes
this possible
ArcaneMusic: Artistic and technical work spanning from the project's
start to literally today, being a constant of motivation and positivity.
I can't list all the stuff he's done
Armhulen: Key rendering work (he's the reason thindows render right), an
upbeat personality and a kick in the ass. Love you arm
Azlan: Damn cool sprites, consistently
Ben10Omintrix: You know ben showed up just to make basic mobs work, he's
just fuckin like that man
BigBimmer: A large amount of bounty work, alongside just like, throwing
shit around. An absolute joy to work with
Capsandi: Plaques, blastdoors, artistic work early on
CapybaraExtravagante: Rendering work on wall frames
Draco: SO MUCH STUFF. Much of the spritework done over the past two
years is his, constantly engaged and will take on anything. I would have
given up if not for you
Floyd: Early rendering work, so early I don't even know the details.
Enjoy freedom brother
Imaginos16: A guiding hand through the middle years, handled much of the
sprite review and contribution for a good bit there
Iamgoofball: A dedication to detail and aesthetic goals, spends a lot of
effort dissecting feedback with a focus on making things as good as they
can be at the jump
Infrared: Part of the impetus for the project, made all the xenomorph
stuff in the MS style
Jacquerel: A bunch of little upkeep/technical things, has done so much
sprite gruntwork (WHY ARE THERE SO MANY PAINTING TYPES)
Justice12354: Solved a bunch of error sprites (and worked out how to
actually make prs to the project) Thanks bro!
Kryson: Built the artstyle of the project, carrying on for years even
when it was technically dying, only stopping to casually beat cancer. So
much of our style and art is Kryson
KylerAce: Handled annoying technical stuff for me, built window frame
logic and fully got rid of grilles.
LemonInTheDark: Rendering dirtywork, project management and just so much
fucking time in dreammaker editing sprites
Meyhazah: Table buttons, brass windows and alll the old style doors
Mothblocks: Has provided constant support, gave me a deadline and
motivation, erased worries about "it not being done", gave just SO much
money to fill in the critical holes in sprites. Thanks moth
MTandi: Contributed art despite his own blackjack and hookers club
opening right down the road, I'm sorry I rolled over some of your
sprites man I wish we had finished earlier
Ninjanomnomnom: Consulted on gags issues, kept things alive through some
truly shit times
oranges: This is his fault
Rohesie: Organized the effort, did much of the initial like, proof of
concept stuff. I hope you're doin well whatever you're up to.
san7890: Consulting on mapper UX/design problems, being my pet mapper
Senefi: Offsetting items with a focus on detail/the more unused
canidates
SimplyLogan: Detailed map work and mapper feedback, personally very kind
even if we end up talking past each other sometimes. Thank you!
SpaceSmithers: Just like, random mapping support out of nowhere, and
bein a straight up cool dude
Tattle: A bunch of misc project management stuff, organizing the
discord, managing the test server, dealing with all the mapping bullshit
for me, being my backup in case of bus. I know you think you didn't do
much but your presence and work have been a great help
Thunder12345: Came out of nowhere and just so much of the random
bounties, I'm kind of upset about how much we paid him
Time-Green: I hooked him in by fucking with stuff he made and now he's
just doin shit, thanks for helping out man!
Twaticus: Provided artistic feedback and authority for my poor feeble
coder brain, believed in the project for YEARS, was a constant source of
❤️ and affirmation
unit0016: I have no god damn idea who she is, popped out of nowhere on
the github one day and dealt with a bunch of annoying
rendering/refactoring. Godspeed random furry thank you for all your
effort and issue reports
Viro: A bunch of detailed spriting moving towards 3/4ths, both on and
off the wallening fork. If anyone believed this project would be done,
it was viro
Wallem: Artistic review and consultation, was my go-to guy for a long
time when the other two spritetainers were inactive
Waltermeldon: Cracked out a bunch of rendering work, he's the reason
windows look like not dogwater. Alongside floyd and action spent a TON
of time speaking to lummox/unearthing how byond rendering worked trying
to make this thing happen
ZephyrTFA: Added directional airlock helpers, dealt with a big fuckin
bugaboo that was living in my brain like it was nothing. Love you
brother

And finally:
The Mojave Sun development team. They provided a testbed for the idea,
committed hundreds and hundreds of hours to the artstyle, and were a
large reason we caught issues early enough to meaningfully deal with
them. Your work is a testament to what longterm effort and deep detailed
care produce. I hope you're doing well whatever you're up to. Go out
with a bang!
</details>

## Changelog
🆑 Raccoff, aa07, ActionNinja, ArcaneMusic, Armhulen, Azlan,
Ben10Omintrix, BigBimmer, Capsandi, CapybaraExtravagante, Draco, Floyd,
Iamgoofball, Imaginos16, Infrared, Jacquerel, Justice12354, Kryson,
KylerAce, LemonInTheDark, Meyhazah, Mothblocks, MTandi, Ninjanomnom,
oranges, Rohesie, Runi-c, san7890, Senefi, SimplyLogan, SomeAngryMiner,
SpaceSmithers, Tattle, Thunder12345, Time-Green, Twaticus, unit0016,
Viro, Waltermeldon, ZephyrTFA with thanks to the Mojave Sun team!
add: Resprites or offsets almost all "tall" objects in the game to match
a 3/4ths perspective
add: Bunch of rendering mumbo jumbo to make said 3/4ths perspective work
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: = <stewartareid@outlook.com>
Co-authored-by: Capsandi <dansullycc@gmail.com>
Co-authored-by: ArcaneMusic <hero12290@aol.com>
Co-authored-by: tattle <66640614+dragomagol@users.noreply.github.com>
Co-authored-by: SomeAngryMiner <53237389+SomeAngryMiner@users.noreply.github.com>
Co-authored-by: KylerAce <kylerlumpkin1@gmail.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
Co-authored-by: Runi-c <5150427+Runi-c@users.noreply.github.com>
Co-authored-by: Roryl-c <5150427+Roryl-c@users.noreply.github.com>
Co-authored-by: tattle <article.disaster@gmail.com>
Co-authored-by: Senefi <20830349+Peliex@users.noreply.github.com>
Co-authored-by: Justice <42555530+Justice12354@users.noreply.github.com>
Co-authored-by: BluBerry016 <50649185+unit0016@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: SimplyLogan <47579821+loganuk@users.noreply.github.com>
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Rob Bailey <github@criticalaction.net>
Co-authored-by: MMMiracles <lolaccount1@hotmail.com>
2024-08-14 09:07:45 +00:00
Jacquerel
2077d9a27b Add some missing mob traits to VV list (#85462)
## About The Pull Request

I noticed admins talking about how `TRAIT_VENTCRAWLER_ALWAYS` was
missing from the VV dropdown, which is a useful one to be able to stick
on arbitrary mobs. I fixed that and while I was there, also went down
the mob trait list and added some other ones that were missing (chiefly
because they're new and whoever added them didn't think to put them in
the separate list).

I'm not going to go down the whole list because there's a lot.

## Why It's Good For The Game

Admins kept asking why they couldn't make people ventcrawl using VV and
now they can.
Probably nobody was asking for the other ones but now they can use them.
Some of them are even useful.

## Changelog

🆑
admin: Adds some missing traits to the mob trait list in VV
/🆑
2024-08-01 14:44:37 +02:00
SmArtKar
3b364b1cea Mining MODsuit sprite changes + balance (#85353)
## About The Pull Request

Slightly slimmed down the helmet, changed belt into plates, recolored
brown parts to blue and added a few more glowy bits to the mining
MODsuit.


![image](https://github.com/user-attachments/assets/a6e3113f-205e-401d-881a-fc87925cec7f)

Here's what it looks like currently


![image](https://github.com/user-attachments/assets/887be8c1-fe0c-4d8f-b574-051cf6c78c0e)

Mining MODsuit now hides belts, has THICKMATERIAL while active and got
large capacity storage. Eating apparatus no longer has an on-person
sprite. Adjusted drill module active sprite to actually fit on your hand
instead of being slightly to the side.

## Why It's Good For The Game

Currently the MOD looks a bit goofy, I tried making it a bit more
streamlined without removing the bulk and look of a reinforced explorer
exosuit. Belts are hidden for the sake of visuals, as almost all miners
wear riggings which do not fit with the MOD spritework at all. While
inactive it has THICKMATERIAL but for some reason loses it when
activated, which doesn't make much sense. Its a thick, armored
spacesuit.

Eating apparatus isn't a module that people around you need to be
acutely aware of, nor did it look particularly good. I tried respriting
it but there's not much to be done with 12 pixels worth of space.

Large storage is a rather impactful change - currently only loader and
advanced (CE's personal) MODs have it, and more can be printed after
researching advanced engineering MODsuit designs (from my experience,
usually done by ~40 minute mark). Storage space is a very important
aspect, and mining MODs already have high competition with ash drake and
H.E.C.K. armors. Having less storage makes them a weird sidegrade,
arguably even a downgrade, to roundstart explorer gear that has been
upgraded with plates; its only real advantage is being able to pass
through lava and freeing a pocket previously occupied by your ore
satchel due to arcmining nerfing its main purpose (ore mining). While
this still is technically worse than roundstart backpacks, this should
allow them compete with with other equipment in terms of usability.

## Changelog
🆑
balance: Mining MODsuits are now considered thick clothing and gained
expanded storage.
image: Mining MODsuits got a slight glowup and hide belts now
/🆑
2024-07-31 14:53:51 +01:00
SmArtKar
de5c9f5820 Heart eater wizard perk no longer works activates on organs that haven't been used before (#85367)
## About The Pull Request

Closes #85364
Organs now mark themselves after being removed from someone, which is
that the perk checks for

## Changelog
🆑
fix: Heart eater wizard perk no longer works activates on organs that
haven't been used before
/🆑
2024-07-31 14:44:53 +01:00
Ghom
2535df375d Carps, frogs and young lobstrosities now fear the fishing hat! (#85380)
## About The Pull Request
Carps, frogs and young lobstrosities now fear legendary anglers wearing
the legendary fishing hat and will flee. The item is skill-locked, so
only those that have maxxed out the skill can wear it.

Differently, adult lobstrosities and megacarps (and suicide frogs, which
are used nowhere) do not flee but will still prioritize them over the
rest.

## Why It's Good For The Game
I'm putting some emphasis on the "fish fear me" _(lobstrosities and
frogs aren't exactly fish but it'd been quite boring to only include
carps)_ and also making the hat a bit more than just some cosmetic
novelty.

## Changelog

🆑
add: Carps, frogs and young lobstrosities now fear people wearing
fishing hats! Adults and megacarp favour the 'fight' part of the fear
reflex however.
fix: The hat stabilizer module now inherits the clothing traits of the
attached hat.
/🆑
2024-07-31 14:38:37 +01:00
Ghom
a89673b68d Making fishing a bit more bearable. (#85326)
## About The Pull Request
Ok, I've had a bit of false memories about fishing being easy. It's
actually tough. It also has some issues that I didn't completely
understand until very recently.

First of all, I thought anything that count as a bait would be good
enough for fishing, but it turns attaching a raw meatball doesn't remove
dud chances from fishing spots. Having finally played with the feature
enough, I came to realize it's quite dumb to have something like that IF
you have a bait regardless of quality. We have other ways to handle bait
related stuff.

Second, I've lowered the time to raise a lobstrosity slightly. Waiting
20 minutes to get an adult one is a tad much if you add in all the prep
needed for it. Conversely, I've also increased their feeding frequency.
I think they should eat a bit more than once every 15 minutes to
survive. 10 should be ok.

I've also halved the reproduction timeout for the sludgefish. When I
first added it. I didn't take in consideration I'd have later have made
it so newly spawned fish would be on cooldown for double the standard
duration.

The abstract fishing rod that "profound fisher" mobs use now comes with
the same omni-bait advanced fishing rods use, so that they can catch all
kind of fish with less bad RNG.

Buffed the fishing skill a bit.

Aquariums that unanchored (except pre-filled ones) and do not
auto-connect to plumbing; ferer issues if you were to build one near the
toilets. They alo have the 'enable breeding' enabled by default.

I've also re-increased the deceleration of the minigame bait. Making the
controls less slippery.


## Why It's Good For The Game
I've been suffering from some Mandela effect about fishing. It's
definitely more challenging when the server isn't shitting the bed.

## Changelog

🆑
qol: Aquariums start unanchored and don't autoconnect to plumbing. Their
reproduction prevention is also disabled by default.
balance: Made it a tad easier to control the bait during the minigame.
Buffed the fishing skill. No fishing duds at all when using ANY bait.
balance: Chasm Chrabs take less time to grow into Lobstrosities but need
food a bit more frequently.
balance: "Profound fisher" mobs will have less RNG-dependant time
fishing.
fix: You can now ACTUALLY interact with other things while fishing if
the fishing rod isn't in your active hand.
/🆑
2024-07-29 16:49:48 +01:00
grungussuss
71c35b60ff Maintenance ambience (#85256)
## About The Pull Request
Sounds: 



https://github.com/user-attachments/assets/8e384d9f-44b0-4f67-9dd0-ef2c037c6d69



https://github.com/user-attachments/assets/2334136c-aada-483f-a0c1-d129bd536d3a



https://github.com/user-attachments/assets/1c103424-5dc7-4aa0-bd26-c6d7bde335de



https://github.com/user-attachments/assets/6809903b-6714-4249-ad64-86dd6c7142e7



https://github.com/user-attachments/assets/753062a7-0292-41ec-a335-4ac065969b22



https://github.com/user-attachments/assets/c186aa8f-4dc3-4dab-be38-72b0079eae0c
## Why It's Good For The Game
Soundwork contributes to horror greatly and maints are the horror part
of space station 13, these sounds should make them a bit more creepy.
## Changelog
🆑 grungussuss and Kayozz
sound: more maintenance ambience has been added
/🆑
2024-07-29 15:55:57 +01:00
Vekter
5b23db8a2c Fixes exploit allowing players to open Bag of Holding rifts in the Heretic dimension (#85330)
## About The Pull Request

This PR prevents players from opening a BoH tear in the Heretic
dimension areas. It also introduces a new area flag, "NO_BOH", which can
be added to areas to replicate this behavior.

## Why It's Good For The Game

This prevents the (very unlikely) edge case that someone manages to open
a BoH tear in one of the funny hand rooms, which is bad not only because
it fucks over anyone else who gets sacrificed, but could also interfere
with other things on that z-level (shuttles, other Lazy Template areas,
etc).

Messing with some new code here, so if there's better ways to handle
this, by all means, chime in. This is a much more elegant method than
just banning anything but the station.
## Changelog
🆑 Vekter
fix: Fixes an exploit that allowed players to open a Bag of Holding rift
in the Heretic dimension.
/🆑

---------

Co-authored-by: Kapu1178 <75460809+Kapu1178@users.noreply.github.com>
2024-07-28 21:26:34 -06:00
SmArtKar
bab0287356 Mining headset upgrade - Callouts and volume boosters (#85008)
## About The Pull Request

![dreamseeker_SOPW0zf89I](https://github.com/user-attachments/assets/0fa4921f-0b5c-41fe-bf70-56f21c28f579)

Shift + middle clicking while wearing a mining headset will open a
callout radial, after moving your mouse over one of the options a
callout emote will appear where you pointed (No need to click on the
radial button). Callouts have a 3 second cooldown to prevent spam and
glow in the dark due to how dark lavaland is (normal point emotes do
not)
There are 6 options: pointing, danger, attack, mine, defend and
reposition. Your callouts are colored in your runechat color. This is
done via a component so later if needed it could be added to other
headsets/mobs/items. Callouts also can initiate basic mob orders, being
a better way to command your minebots in combat.

Additionally, they also boost your speech back to normal levels in
low-pressure environments, ensuring that your runechat is still nice and
readable.

## Why It's Good For The Game

This would make coop mining much more enjoyable, as stopping to type
mid-fight is more often than not a death sentence on lavaland. With
arcmining's vents cooperating is actually beneficial, and I feel like we
should incentivize miners to do it more often by providing them with
tools for it.

## Changelog
🆑
add: Mining headsets now allow you to make callouts via pointing. You
can use them to communicate with fellow miners or order your army of
bots and raptors!
add: Mining headsets keep your voice loud and clear in low-pressure
environments (not vacuum!)
/🆑
2024-07-28 20:06:30 +02:00
Ghom
b99de8cb9c Refactored the on_hit_effect into an element. (#85034)
## About The Pull Request
on_hit_effect is now an element, which uses signals instead of
callbacks.

## Why It's Good For The Game
Easy peasy almost lemon squeezy. It's a good thing that I had made the
AddElementTrait proc so we can manage multiple sources of a common
element. It's much better to use signals than callbacks for components
and datums with several possible sources, kinda like how it's been donw
with the relay_attackers element.

## Changelog
N/A
2024-07-23 13:50:55 -06:00
Ghom
c91c50f937 You can now raise lobstrosities from chasms chrabs. (#84969)
## About The Pull Request

Lobstrosities can now be raised from aquarium icemoon/lavaland chrabs.
First of all, you've to get a live chrab, an aquarium, and some fish
feed. Second, you place the chrab inside the aquarium and turn the
'allow breeding' settting on (should probably rename it to a more apt
name now). Keep the chrab well fed, and possibly with some friends and
props in the same aquarium until it develops into a hopefully calm
juveline lobstrosity and plops out of the aquarium (it can take some
time). From there you can tame it by feeding it its favorite food: arms
and lavaloop fish, and wait another dozen minutes for it to mature into
a fully grown lobstrosity.

Juveline lobstrosities are basically smaller and weaker lobstrosities,
if not slightly faster in some ways. Unlike their taller counterparts,
they can be tamed. Once done so, they'll retain their tamedness once
grown up. Regardless, tamed lobstrosities can be given the pet command
to fish for things by pointing at them. Thanks BenMatrix for the
profound fisher component, woo.

The chrab's weigth and size influence the growth speed of the first
stage faster, meaning bigger chrabs (may require crossbreeding) will
turn into juveline lobstrosities quickly. Amongst other things
influencing the resulting mob are fish traits:
Several traits have been given effects that apply to the mob, such as
nocturnal regeneration, being venomous or being able to fly akin space
carps. Also a new one that prevents the resulting lobstrosity from fully
developing

Now tested.

## Why It's Good For The Game
I'm building upon fishing and aquarium stuff, which has been an interest
of mine in a good while, though most of it doesn't have that many
practical uses, I'm slowly trying to make it cooler, and chasm chrabs
growing into lobstrosities is pretty much in line with the fluff texts
for the fish.

Eventually I'll have to add tips inside fishing toolboxes, otherwise
people won't know even half of it.

## Changelog

🆑
add: You can raise lobstrosities from chasm chrabs inside an aquarium
with the 'allow breeding' setting on. Keep the fish well fed, healthy
and not lonely if you don't want an hostile one.
add: Juveline lobstrosities (from chasms, plasma rivers, or aquariums,
xenobio too) can be tamed with arms and lavaloop fishes.
add: For lobstrosities grown from aquariums, they can have additional
effects based on the fish traits they had in the aquarium, like being
venomous or even flying.
/🆑
2024-07-23 19:39:32 +01:00
Andrew
c04af38744 Dehydrator, machine version of drying rack (#85141)
## About The Pull Request


![image](https://github.com/user-attachments/assets/7b2cf788-7590-4d0b-a5f3-bfeec8276565)

Added dehydrator, a machine version of drying rack.

Replaced the second fryer with this rack on some maps to be available
roundstart.

Also changed the colors of Smart Fridge to be more in line with other
kitchen appliances.

## Why It's Good For The Game

We have plenty of recipes requiring dried items, and it's silly that the
chef has to break down a cafeteria table to build a rack for regular
recipes.

## Changelog

🆑
add: Dehydrator, a machine version of drying rack, with a circuit board
and available on some kitchens roundstart.
image: Updated the color palette of Smart Fridge
/🆑
2024-07-21 21:59:05 -07:00
SmArtKar
2c0f5d181a Datumizes pod types (#85033)
## About The Pull Request

Changes supply pods to use datums instead of a massive nested list to
store data and index defines as styles. Complete feature parity.

## Why It's Good For The Game
this is nightmare fuel to work with

![image](https://github.com/user-attachments/assets/851ea009-508b-4958-996e-d46a758b2f62)

and this is a sin against nature and god

![image](https://github.com/user-attachments/assets/6b0cd374-1305-4fe6-9ab6-4912c9cb4461)

![image](https://github.com/user-attachments/assets/88c83f60-af9d-4ea9-af5f-c0810a6d9c66)
ends up as

![image](https://github.com/user-attachments/assets/2cb9e264-895d-49b9-b228-e04ac1353ba1)
which is ???

Using a nested list to store pod data is a very bad idea, it has
horrible formatting, is unreadable without having index defines open in
a second tab and is not extendable. And as you can see above, if someone
added another pod type before 14th everything would break because other
pod type lists **__only have 8 elements__** instead of 10 like the
seethrough one does.

## Changelog
🆑
refactor: Pod code now uses datums instead of being a huge nested list
/🆑
2024-07-21 13:52:21 -07:00
norsvenska
5f80128fa9 Corrects 200+ instances of "it's" where it should've been "its" instead (#85169)
## About The Pull Request

it's - conjunction of "it" and "is"
its - possessive form of "it"

grammar is hard, and there were a lot of places where "it's" was used
where it shouldn't have been. i went and painstakingly searched the
entire repository for these instances, spending a few hours on it. i
completely ignored the changelog archive, and i may have missed some
outliers. most player-facing ones should be corrected, though
## Why It's Good For The Game
proper grammar is good

## Changelog
🆑
spellcheck: Numerous instances of "it's" have been properly replaced
with "its"
/🆑
2024-07-21 13:41:37 -06:00
carlarctg
c261389549 Adds Untie Shoes, a 1-point wizard spell. (#84880)
## About The Pull Request

Added Untie Shoes. This is a wizard spell that's seemingly weak but has
some power under the surface.

The first level unties, then knots shoes.
The second level allows you to tie jackboots and the like.
The third level allows you to summon shoes if the target has none.
And, for the true pranksters out there, the fourth level makes
invocations silent and gestureless.

Also, it always slows noncarbons down a bit.

It's also given to clowns after Jubilation, and the wizard themself, at
max level for the latter, if they dont have it already.

### Why would you ever pick this??

Knotted shoes make the wearer unable to walk without being stunned and
tripping on the floor. Let that sink in! Anyone hit twice by the spell
is forced to crawl around or risk stepping on broken glass. Worse, they
need to go through a looong process to untie their shoes to even drop
them.
This spell has infinite range, although casting from beyond screen range
or through zlevels multiplies the cooldown by ten, which is excellent
for softening up targets.
It's a 1-point, ranged, supportive spell with low cooldown, which makes
it excellent as a deterrent for harassing wizards at long range -
something they often lack answers to.
It's great for whittling down antimagic charges.
It's funny.

## Why It's Good For The Game

This spell is silly, comical, yet also very versatile and adds a rather
large amount of depth to Wizard while also expanding on shoe knotting,
which is inherently funny and rarely looked at.

I also wanted it to work through camera consoles because that's
EXTREMELY funny. The long cooldown should prevent it from being too
annoying.

## Changelog

🆑
add: Adds Untie Shoes, a 1-point wizard spell. It can be upgraded to
untie jackboots, summon shoes to untie, and become completely silent!
/🆑
2024-07-21 00:28:33 -04:00
Time-Green
2672a93c66 Voidwalker Balancing, Fixes and Additions (#85045)
## About The Pull Request

Balances
- Stops voidwalkers from breaking glass at all, and throwing items
Voidwalkers started using spears to break electrified windows to space
area's. Throwing bypasses too many safety checks, and shouldn't be their
main means of combat either way
- No hitting anyone in crit
Voidwalkers were using weapons to try and kill as many people as
possible without kidnapping
- Only able to pull people
Voidwalkers were dragging bags around with a personal armory. It also
just looks goofy as hell
- Increases space dive enter to 3 seconds (from 2) and decreases space
dive exit (from 2 seconds to 1)
The original value was pretty fast, and is being used to slip out of
combat if anyone ever comes after them. This is intended to a certain
degree, but it was a bit too strong
- Void Eater becomes blunt during use, needs kidnappings to refresh
Yeah... For some it's being used as a murderbone antag, forgoing
kidnappings completely. This change makes murderboning significantly
more difficult without bothering good faith players. It goes from 25
damage to 15 in 0.5 damage increments.
This slightly decreases take-down potentially against people with
low-mood, but clicks that go SCRUNGE release dopamine so it balances
- Gives voidwalkers chunkyfingers, preventing stun baton and gun use
Voidwalker originally had this, but I figured I'd keep it out to give
people to freedom to be more opportunistic in combat, but a significant
portion defaulted to getting a stunbaton as quick as possible so they
could avoid engaging in actual combat
- Removes eye slots
They're already flash immune. People don't know this so they're all
rushing sunglasses. It just looks weird when the space monster is
wearing glasses :/. They can still wear scarves if they decide to be
fashionable
- Void eater applies 10s of NODEATH
Yeah fuck it why not? It also prevents succumbing and takes out a lot of
cheese
- Removed Voidwalker armor
They had 10% brute and 20% burn armor. I didn't really think much about
the original change, figured they'd be too weak otherwise, but turns out
they're sufficiently strong and this kinda deviates from the intended
"ambush antag" by making them stronger in sustained combat
- Voided go to a safe turf instead of a random one
Actually just a mistake on my part. Dumping mute people in the turbine
plasma burn chamber is cruel, even for a coder

Fixes
- The Unsettle ability line of sight didn't check for line of sight :/

Addition:
- Gives Voidwalker telepathy. I originally kept it out because whatever
but honestly I think it's fine and gives them the chance to communicate
if they ever need to. I've also given the abilities it's own sprite and
background cause good vibes

## Why It's Good For The Game

The original testmerges I spectated went very well! I had it testmerged
on Terry and the rounds where I observed were played in very good faith
and played a spooky antag incredibly well. I've also seen others play
incredibly fun rounds!

It seems to have gone downhill a bit though (or Terry is high-RP?). I've
observed a few rounds on other servers and the way it's played is not
great. I originally kept as little handrails as I could as to give
people the most freedom possible in playing the spooky antag, but some
people dissappoint me so, so incredibly deeply.

It's just been merged but I'm already seeing players ignoring kidnap
mechanics in favor of roundremoving as many people as possible, giving
up any semblance of stealth in favor of carrying around mini armories.
Another spent it's time breaking windows to vent as much of the station
as possible. I also knew it would happen, but not this much. I probably
should've had this PR up a bit sooner but I've gotten really into
Hardrock TerraFirmaCraft (seriously it's _sooo_ good).

I can keep going "Argh, players!!" but honestly I've been incredibly
naive. These set of balance changes set out to cripple gameplay
optimizers while leaving good faithed players unaffected for the most
part, bringing it closer to the original design doc I wrote and away
from just being another murderbone machine

## Changelog
🆑
add: Gives voidwalker telepathy
fix: Fixes the Unsettle ability ignoring line of sight (which was it's
sole gimmick, im just dumb)
balance: Voidwalkers cannot break windows anymore or throw objects
balance: Voidwalkers can no longer harm people in crit
balance: Voidwalkers can only pull mobs
balance: Voidwalkers' space dive enter has been increased by 1 seconds,
but dive exit decreased by 1 second
balance: Void eater becomes blunt during use. Kidnap people to refresh
it
balance: Removes voidwalker glasses slot
balance: Gives voidwalkers chunky fingers
balance: Voidwalker applies NODEATH on hit
balance: Voided victims get dumped in safer places
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-07-20 21:41:44 +01:00
SmArtKar
9cdea961cc Refactors projectile parrying and makes it actually possible. (#84973)
## About The Pull Request

Due to how projectile code currently operates its (almost) impossible to
parry projectiles and completely impossible to projectile boost them, as
they move away from you instantly after being shot. Parrying others
projectiles requires them to be slow enough and to land on a tile right
in front of you on their last move of their tick, as else they instantly
hit you.
I moved parrying component from being on user to being on projectiles
themselves and added TRAIT_MINING_PARRYING which allows users to
actually perform the parries. This allows me to get rid of parry code
existing on all projectiles and add a "grace period" mechanic - now you
can parry projectiles by clicking on any turf they moved through in the
last 0.25 seconds. Parrying actually runs when projectiles hit you if
you clicked on the correct turf during same grace period timer. This
also acts as lag compensation, allowing players with high ping to
utilize this mechanic. Projectile boosting occurs when you hit a tile
the projectile moved through in first 0.25 seconds of its existence.
Parry also occurs on click instead of attack_hand due to this, so you
can parry projectiles while holding your
accelerator/crusher/resonator(what even?) - which is also important to
make projectile boosting possible as firing sets your click cooldown -
making attacking the turf impossible (another roadblock on ultrakill
players' path)

Projectile boosting now grants x1.5 damage multiplier and +40% speed
instead of x1.15 and +20% like parrying, since its significantly harder
to perform.

Crusher projectiles now can be parried/boosted. Crushers are ***the***
badass miner weapon, but they weren't possible to boost - probably
because it'd be pointless due to their lack of damage. Now boosting a
crusher blast gives it 10 damage, +3 range and makes the mark it applies
always count as backstab for additional style (although doing so is very
tricky due to speed/range)

Crusher marks are now a STATUS_EFFECT_REFRESH effect and no longer
per-user. This means that anyone can blow up anyone else's mark and
applying new ones refreshes the timer. Trophy effects of the person who
detonated the mark are the ones actually applied.

also cleaned up pixel_move a bit

## Why It's Good For The Game

Parrying refactor - parries are a very cool mechanic which is almost
impossible to execute in-game (and boosting is physically impossible)
and even if "fixed" would require perfect server performance and single
digit ping. Making them slightly easier to execute and adding a grace
period will allow more players to utilize it and also make it possible
to do parrying/boosting on highpop.

Boosting damage/speed buff - Boosting is harder to perform, and while
with parrying damage/speed is a nice bonus to the fact that your face
doesn't explode outwards from a death bolt, for boosting its the only
reason why you'd do it (beyond style points)

Crusher boosting - Crushers are more often used by skilled miners as
they are a high risk/high reward weapon. Them not being boostable is
rather disappointing as boosting is supposed to be a thing for extremely
skilled miners to do, essentially turning crushers into deadweight for
those who wanted to use style meters.

Unified crusher marks - Mobs being able to have multiple crusher marks
made fighting very confusing for rare coop crusher miners, as you
weren't able to tell if you could detonate the mark or not. This should
make coop fighting more viable as marks can now be comboed if you have
good cooperation with your teammate.

## Changelog
🆑
refactor: Refactored parrying to be projectile-side and not user-side.
add: You can now parry crusher projectiles to give them some more range,
add damage and make the mark always count as a backstab.
add: Projectile parrying has been significantly improved, making
parrying and boosting projectiles actually possible. Includes a small
grace period as lag compensation for players with higher pings.
balance: Crusher marks can now be detonated by any crusher, not only the
one that applied it, as to incentivise coop mining for crusher users.
balance: Projectile boosting now gives a significantly bigger damage and
speed increase
/🆑
2024-07-20 00:48:07 +02:00
SmArtKar
dfb12f91d6 HUD traits now apply their corresponding hud automatically. Most clothing/item/etc sources of HUDs now only use traits (#84984)
## About The Pull Request

Currently if you want to apply a HUD you usually add both its trait and
the HUD itself. Only exceptions are things like simplemobs where you
should avoid adding the hud trait since it adds security/med DB access
and such, but there is no cases where you'd want to apply the trait and
not apply the hud.

Requested by Melbert about a week ago.

![image](https://github.com/user-attachments/assets/8af3e9cc-ea22-4cee-86ec-54c397291727)

## Why It's Good For The Game

This makes working with HUDs significantly easier, as you no longer have
to bother with manually adding/removing them. Also potentially removes
an edge case where if your hud could get removed while keeping the
trait.

## Changelog
🆑
refactor: HUD traits now apply their corresponding hud automatically
/🆑
2024-07-19 01:24:07 +02:00
MrMelbert
34f3f479ae Small hulk cleanup / nukes TRAIT_IGNOREDAMAGESLOWDOWN (#85003)
## About The Pull Request

I was investigating a bug with hulk in which using it while damaged
doesn't put you back on full speed

I noticed `TRAIT_IGNOREDAMAGESLOWDOWN` on its own was subtly broken, in
that it did nothing if the user did not call `updatehealth` afterwards

And guess what, most (if not all) uses of the trait did not do this, so
it never applied correctly

So I nuked the trait entirely, made all uses of it use the same thing
morphine uses (`/datum/movespeed_modifier/damage_slowdown`)

And since I was auditing this I saw the ball module was broke, it
removed the immunity but never added it. Quick fix

I also cleaned up some Hulk stuff while I was in the area because I was
in the area. I removed all instances of `check_mutation` and replaced it
with trait checking because it made more sense.

I also also fixed a bug with the simple flying element never removing on
detach because I touched something that uses it for the above change.

## Changelog

🆑 Melbert
fix: Using hulk (and a myriad of similar effects) now properly updates
your movespeed to ignore the damage movespeed penalty
fix: Some things which temporarily make you fly don't make you fly
forever
fix: MODsuit ball module now properly makes you immune to damage
movespeed penalty when in ball form
fix: Adding Hulk via VV dropdown doesn't default to adding the strongest
hulk available (that which is used by the medieval pirates)
/🆑
2024-07-17 01:14:08 +02:00
carlarctg
a378fea3e0 Split security gloves from black gloves, gave sprites to those and tackling gloves, moves tackling to right-click (#84909)
## About The Pull Request

Added security gloves, which have the fast cuff trait. Normal black
gloves no longer have them.

Adds sprites for security and tackling gloves, moves tackling to
right-click!

Also added blue security gloves for the blue sec PR. Whoever merges it
first will, assumedly, add it then.

Sprites here:

![image](https://github.com/user-attachments/assets/034628df-91b4-4c17-b018-a67beb76ae1c)


Moved tackling to right click.

## Why It's Good For The Game

> Added security gloves, which have the fast cuff trait. Normal black
gloves no longer have them.

Didn't make any sense that normie gloves had these. It was an
undocumented feature! Why can jannies fast cuff!

> Adds sprites for security and tackling gloves, moves tackling to
right-click!

Really smells that these don't have sprites so I quickly slapped some
up, edited from tackler and CE insuls.

> Also added blue security gloves for the blue sec PR. Whoever merges it
first will, assumedly, add it then.

We can't have blue sec with red gloves!!!

> Moved tackling to right click.

It's so fuckin annoying to accidentally tackle when you're trying to
throw something. It's the biggest thing that prevents me from putting on
gloves. Now it'll rarely, if ever, be a problem: Pressing right click
while thowing mode is on is unlikely to ever happen accidentally.

## Changelog

🆑
add: Added security gloves, which have the fast cuff trait. Normal black
gloves no longer have them.
imageadd: Adds sprites for security and tackling gloves, moves tackling
to right-click!
imageadd: Also added blue security gloves for the blue sec PR. Whoever
merges it first will, assumedly, add it then.
qol: Moved tackling to right click.
/🆑
2024-07-15 21:33:05 -06:00
_0Steven
1f65065ec0 Allows humans with a robotic voicebox installed, MMIs, and posibrains to use silicon emotes, and simple/basic bots to beep (#84912)
## About The Pull Request

### EDITED, see spoiler for previous about section.

This pr adds the `TRAIT_SILICON_EMOTES_ALLOWED`, which is now used to
determine what can perform silicons emotes instead of typechecks.
We do this by adding a `trait_required` var to emotes, which if set is
checked for in `can_run_emote(...)` and means the mob must have that
trait to use the emote.

We then adds this trait to all of the mobs previously capable of using
silicon emotes and the beep emote, being:
All silicons, basic bots, simple bots, orbies, and brain mobs.
In addition, we add the trait to robotic voicebox users.

Finally, it makes beeping a silicon emote.

What this changes is that robotic voicebox users can beep and use other
silicon emotes, basic and simple bots can actually beep, sentient orbies
could use other silicon emotes, and brains can beep and use silicon
emotes.
Previously brains where on the allowed types list for beeping, but
living emotes also blocked brains generally, so they couldn't _actually_
beep.

<details>
  <summary>Previous About Section</summary>
  
All this really does is add a new trait, `TRAIT_SILICON_EMOTES_ALLOWED`,
which when given to a human allows them to use silicon emotes.
It does this by adding the `/mob/living/carbon/human` type to the
allowed types for these emotes, but then adding an additional check to
`can_run_emote(...)` for these emotes to block it for humans if they
don't have the trait.
We add it to the typecache because the base checks for
`can_run_emote(...)` would block if not for that, but we _do_ want the
other checks it runs.
  
</details>

## Why It's Good For The Game

I just think it'd be fun, really. Like, _I'd_ want to beep at people
when I'm going out of my way to augment the shit out of my character.

It's an item primarily accessible by roboticists and transhumanists,
both of which are encouraged/required to interact with silicons, so I
think this'd lead to fun interactions for those that do commit to
getting the silicon-speech tongue replacement.

Finally, I mean, it's a funky synthesizer that makes you sound like a
silicon. Why shouldn't it let you synthesize these sounds too? Hell,
even its attack verbs are beeping and booping already.

### EDITED, additional justification:

It's weird for basic/simple bots to be able to use all other silicon
emotes except beeping.

MMI'd brains/posibrains being able to beep looked intentional, just
broken. This fixes that.
I feel we might as well just allow them to use other silicon emotes
while we're at it.
2024-07-15 20:58:59 -05:00
Xackii
2165300a01 Adds 9 wizard perks (#83262)
## About The Pull Request

Add new spells category for wizards: Perks. perks are not really spells,
but useful (and not so useful) improvements for your wizard which
provide more variety for builds.
https://youtu.be/eeVvUkVE3xQ
All perks cost 2 points, they work without wizard’s uniform, cannot
refund, effect start only at the station (perks will not work at the
wizard’s base). Perk can only be purchased once.

9 added perks:
1. Four Hands - gives you 2 extra hands.
2. Worm Born - on death, wizard turns into a large worm and can no
longer return to his previous form.
![Снимок экрана 2024-06-02
223645](https://github.com/tgstation/tgstation/assets/120736708/2dfac647-4c3c-4824-8320-73fc98cc61fd)
3. Dejavu - every 60 seconds returns wizard to where he was 60 seconds
ago and restores his health to the amount he had 60 seconds ago.
4. Sale Off - When buying something from a book of spells, wizard has a
chance not to spend points for the purchase, depending on the purchase
price. 1/2/3/4 price chance 50/25/15/10%. You can no longer refund
purchases.
5. Gamble - Give wizard 2 random perks.
6. Heart Eater - By eating someone's heart, the wizard has a chance to
either increase his maximum HP and stamina by 25 or lose 10 percent of
his maximum HP but get a random mutation.
7. Slime Friends - Slimes is your friends now. Every 20 Seconds you
spend 50 nutriments to spawn random big angry slime.
8. Transparence - wizard becomes half transparent, any projectiles pass
through, but you loses 25% of max HP and you get a stalker who will
follow you to the station to kill you.
9. Magnetism - Wizard gain gravitational anomaly that orbit around him,
which attracts objects and people.
https://youtu.be/gp6ZtTrZu7I

## Why It's Good For The Game

Gives the wizard more options to create a fun and interesting builds

## Changelog

🆑
add: new wizard spells category - perks.
add: adds 9 wizard perks.
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-07-15 16:28:41 +01:00
paganiy
e2b755c728 If you can't shoot a gun, then... JUST TOSS IT AT THEM (#84827)
## About The Pull Request
Adds a new trait TRAIT_TOSS_GUN_HARD (which currently comes from the
Sleeping Carp scroll, ninja MODsuit, berserk armor, being a medieval
pirate or highlander). The owner of this trait deals an additional
**10-20** (depending on the size of the weapon) damage to the enemy by
throwing a gun, and also knocks them for 0.5 seconds. If a ballistic
weapon **with a magazine** was thrown, then the magazine is removed and
the bolt is racked, and if **without a magazine**, then all cartridges
(revolvers) or chambered one is removed. Here's a preview of how it
works:


https://github.com/tgstation/tgstation/assets/126676387/2a56eb74-6d37-4343-a685-3bf7159ab628


## Why It's Good For The Game
It's classic

![how-to-use-a-gun-in-katana-zero](https://github.com/tgstation/tgstation/assets/126676387/2d2e6be8-5fa2-4084-8928-a56bbf5fc82e)
## Changelog
🆑
add: If you can't shoot a gun, then... JUST TOSS IT AT THEM (for 0.5
seconds of knockdown and 10-20 an additional brute damage)
/🆑

---------

Co-authored-by: paganiy <leunscrupuloustrolle@gmail.com>
2024-07-15 14:10:01 +01:00
Xackii
d2d768d906 Remove double TRAIT_BOXING_READY declaration. (#84903)
## About The Pull Request
![Снимок экрана 2024-07-12
084448](https://github.com/user-attachments/assets/1d6c7459-d7ec-4133-bc04-4bf0aeea65e2)
2024-07-14 20:03:52 -06:00
Time-Green
89cf4c7787 The Voidwalker | New Midround Antagonist (#84674)
## The Voidwalker

Adds a new antagonist, the Voidwalker! 
It's a rare antag that spawns in space when there's at least 40 people
Design doc is here: https://hackmd.io/jE4YScP8RPykXo37rTBV2Q (there's
some deviations)
No biddle

## Summary
Spooky space antag that moves around space, ambushing people either in
space or near space. They can move through glass, have an ability to
stamina drain you if they remain in your vision for 8 seconds, can
temporarily remove glass windows to drag you through them and deal
~~stamina damage~~ incredibly violence. Upon being taken, they can be
kidnapped and cursed, muting and pacifying the person and sending them
to the void.

## Passive

![image](https://github.com/tgstation/tgstation/assets/7501474/e2bbac33-bac8-4eb9-9042-994904ebec18)

![image](https://github.com/tgstation/tgstation/assets/7501474/b76df700-84d4-4722-bf6f-2e2049c345b3)

Passive abilities:

- Permanent space flight and indoor flight
- Space regen
- Slowdown when in gravity
- Space camo (very low alpha when in space
- Can freely move through unshocked glass
- Mute, but can hear all station frequencies (excluding binary)
- Will quickly die when on planets or moons (obviously can't roll on
icebox)
- 10 brute armor and 20 burn armor. They can't wear any form of armor
and don't have any get out of jail free cards, so I think it'll help
with their survivability a slight bit

## Abilities
**Void eater:** Literally just a light-eater but instead of eating light
it instantly shatters windows, but restores them after a few seconds

**Space Dive:** New ability that lets you move under the station with a
2 second do_after, so they can still get to closed of space spots
without being as annoying as heretic space shift

**Unsettle:** Remain in view of the target for 8 seconds to give them a
short stun, slurring and 80 stamina damage, but announce your presence
and location to them. Both you and your target can move, as long as you
remain in their view.

**Space Kidnap:** When your target is incapacitated and in space, you
can drag them into the cosmic void. They'll be returned cursed after
undergoing a sort of reverse heretic sacrifice (more on that in the next
section).

[Showcase of all the above abilities!](https://youtu.be/NJ01H28PV9w)

## Voided Crew
A brain trauma received when you get kidnapped. While under it's
influence, you are muted and pacified. You will die in planetary gravity
and cannot enter space.


![image](https://github.com/tgstation/tgstation/assets/7501474/ea90bf9b-b8d1-4d46-8c69-7b0900e8e50c)

It can be cured with a lobotomy or by dying in planetary gravity. 
You get warned to avoid the Voidwalker. The voidwalker now does extra
damage and gets the option to glass gib you if you die, leaving just a
brain

## Loot
On death, the Voidwalker shatters into glass and drops a cosmic skull.
Looking into the skull gives you a stable version of the Voided brain
trauma. It doesn't give you pacifism and doesn't ban you from space. It
also makes you space immune and gives you the ability to walk through
unshocked glass after 2 seconds do_after.

Sprites for the cosmic skull by Justice12354 and Rex9001! I'll throw up
a video showcasing death and their sprites on Sunday

## Why It's Good For The Game
We don't have any space centered antagonists. The closest we have are
Space Dragons, but they have to go deep into the station anyway. I'm
also quite fond of simpler antagonists, like revenant and nightmare.
Give people the tools, and they'll make the fun themselves.

I've been comparing the Voidwalker with the Nightmare. Both are goalles,
simple antagonists, but where the Nightmare's gimmick is darkness, the
Voidwalker's gimmick is space.

They also get a dark tentacle arm so they can murderize people, but it
only gets them to crit. After that they can drag people into the "void"
to kidnap them. This is mostly to encourage the Voidwalker not to just
space them cause that's kinda lame. They still can though, just in-case
it would be very funny

## Changelog
🆑 Time-Green, Justice12354, Rex9001
add: Adds the Voidwalker, a new rare space based midround antagonist!
code: Adds the ability to texture limbs and bodypart_overlays
Sprite: Cosmic skull sprites by Justice12354 and Rex9001
/🆑

- [x] Add a better kidnapping mechanic, instead of just teleporting
someone to a station turf
- [x] Add an armblade or weapon or something, unarmed combat is kinda
ass for this
- [x] Fix the antag preview not rendering textures
- [x] Prevent them from space phasing when in combat so they can
actually be killed in space combat, even if really fucking hard
- [x] Nerf visibility for people with space parallax disabled, probably
also something to improve camo with colored parallax
- [x] Replace the stamina damage stuff
- [x] Cool rework of space phase idea I have
- [x] Update/implement vidual effects
- [x] Implement names

## Considerations
There's a few things that I might change or implement later, depending
on how it actually plays.

It's a space focused antag, but there might not be enough people near
space in a given round. An ability to let them "capture" area's or let
them turn into a meteor or something might be needed later if they turn
out to be too passive.

They might also be _too_ oppressive in space. I designed them for
near-space combat, but may've made them insanely overpowered in in raw
space combat.

Probably wont do biddle, but might add more powers that you can reroll
every few minutes or something (like blob). Either wat it wont be this
PR

---------

Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-07-14 18:57:44 +00:00
ArcaneMusic
43e62163fe Adds a Contraband trait, and implements contraband as a mechanic to security bounties. (#84003)
## About The Pull Request

This PR does a few things but centrally it's all centered around
mechanically enforcing what items are and are-not considered contraband
in-game.

### What does something being contraband MEAN?

Contraband items are visually indistinguishable from non-contraband. If
an item is Contraband, it can only be detected in two ways:
* After being scanned by an N-Spect scanner, which is a standard item
security item, assuming it still has a charge to do so.
* Via a scanner gate, which can now be upgraded with an N-spect scanner
to allow for it to scan a person and all their contents for contraband.

### What items ARE contraband?

Contraband items are intended to be determined both logically and
through other relevant examine text. However, here's the short list of
items that are considered contraband, reserving the right to expand the
list.

<details>
  <summary>In hindsight it's kind of a long list.</summary>
  
* Items that have "contraband" or "illegal" in the name or description.
* Items that allow for the player to obtain other illegal items, that
are NOT particularly stealthy.
* This means that a syndicate uplink is NOT considered contraband, as
they're typically hidden on your person as something else.
* Stealth items under the syndicate uplink, the revolutionary flash, and
some mapped in dangerous items that can come from both syndicate and
company-aligned resources are not considered dangerous.
* Items that are purchased from cargo after emagging or switching to
extended cargo range.
* Items purchased FROM syndicate uplinks, the wizard knowledge scroll,
or other antagonist shops.
* Cursed artifacts/tools magically produced by cultists or heretics.
* Items purchased from the blackmarket.
* Items purchased from the contraband section of vending machines.
* Some drugs and overtly dangerous or criminal byproducts.
  
</details>

### How does this interact with the round?
Well, primarily, this is an aid for in-game enforcement of space law.
Based on the length of the above list, we have a LONG, LONG list of
items in-game that are technically considered, in one way or another,
illegal to have on the station, and yet without either metaknowledge of
what those items are, or how they're used, security officers lack some
of the certainty of how to deal with these kinds of encounters.

Additionally to the knowledge aspect of this trait, security officers
may now receive a new civilian bounty to collect items that are
considered contraband, also giving them an incentive to look for and
confiscate contraband that's been found across the station while
upholding space law.

### Other minor changes that I rolled into this

Security has a bounty for 3 different rechargers, and considering access
limitations, most security players aren't going to make this exchange,
so I've lowered the required amount down to 1.

Adjusted the N-spect scanner's description to match it's new
functionality.

The Civilian bounty TGUI now has an additional 1 point of padding to
make it feel less cramped.



https://github.com/tgstation/tgstation/assets/41715314/c3cd4752-b03a-4e0b-959e-1252fcc2369d

**Updated as of 6/19/2024:**
Additionally, some storage items will block the presence of contraband
when going through a contraband aligned scanning gate. These items
include the infiltrator modsuit core, storage implant, void cloak, the
aptly named smuggler's satchel, and the chameleon kit's backpack.

**Updated as of 6/23/2024:**
N-spect scanner now has contextual screentips.

**Updated as of 6/29/2024:**
Scanner gates are now available in all lathes that have a feature
specific to how scanner gates function. So, includes cargo (contraband),
security (weapons), and medbay (diseases).

## Why It's Good For The Game

Originally, this started out as a way to be able to provide more
in-character and in-flavor bounties for security officers, because they
suck! Most security bounties as they exist right now do the worst
possible things from all respective bounties:
* They detract away from a job's actual responsibilities as opposed to
working with them.
* They're best completed while sitting next to your lathe and running
items back to the bounty pad.
* They exist with such esoteric rarity of high quantity of items that
it's miserable to fulfil.

As a result, I started work on this as a framework to allow security
officers to be further incentivized to collect contraband across the
station, either as a result of the gamemode or just through routine
patrols across the station.

Implementing it as a learning tool for security as well just happened to
work out as an additional bonus, and having a function in-game allowing
newer or less experienced players to know if an item is considered
dangerous or conspicuous also works as a particularly good way to
provide information where a player may not know what they're up against.

If nothing else, this might be interesting to try, and if not, I'll just
snip out the QOL changes from it and we'll see how it goes.

Going forward, I am a bit hesitant about the contraband scanner gate
mode, and as such, will try working with the admin team to determine if
that's a good feature to keep around for game health, while hoping to
give it a chance in the fullness of time.

## Changelog

🆑
add: Items spawned via traitor uplinks or are known illegal contraband
on the station can now be scanned and identified as such by the N-spect
scanners in security. These only applies to overt traitor or antagonist
items, and "stealth" items will not be seen as such.
add: Scanner gates can now be upgraded by using an N-spect scanner on it
to unlock "contraband scanning" mode.
add: Security officers can now be offered a bounty to turn in pieces of
contraband.
add: Some stealthy storage items like storage implants, smuggler's
satchels, void cloaks, the infiltrator modsuit, and the chameleon
backpack will block the presence of contraband on your person when
placed inside.
qol: N-spect scanner contextual screentips.
balance: Recharger security bounties ask for a quantity of 1, down from
3.
qol: security, cargo, and medbay have access to scanner gate boards.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-07-11 03:08:25 +02:00
MrMelbert
dcca367dd8 Random language trait tweak (#84816)
## About The Pull Request

- Splits the trait into two, one that affects only bots (like the
original version) and one that only affects machines
- Only mapload bots are affected (again)
- Only mapload machines are affected
- The Automated Announcer is immune

## Why It's Good For The Game

I made this trait a while back and then someone else changed it to be
far more disruptive and annoying without adjusting the weight, so I feel
like I have the right to reign it back in a little bit.

This aims to retain some of the charm intended behind the original trait
while maintaining some of the changes made to it.

## Changelog

🆑 Melbert
add: Bot Language station trait split into two: One that affects bots
(retains the old weight and cost) and one that affects machine (half
weight, double the cost)
del: Bot Language station trait and (new) Machine Language station trait
no longer affect newly created machines or bots, just those present at
game start
del: Machine Language station trait cannot affect the Automated
Announcer in telecomms
/🆑
2024-07-10 12:44:39 -07:00
Ghom
aba588abb5 Buffs the Matrix Flip skillchip (#84658)
## About The Pull Request
Amps up the duration of the flip and the bullet dodging to 1.4 seconds
(from 0.8). EDIT: I've added a check to prevent matrix-flipping into
stamcrit (unless the emote wasn't intentional) and lowered the stam cost
very slightly to allow for a fifth flip.

## Why It's Good For The Game
I've tested the thing, with and without stun immunity (which prevents
stamcrit from overusing it), hulk, rapid gloves, against the colossus
and turrets at the tdome. It's pretty meh overrall, having to keep
spamming the flip hotkey to keep it going, and the duration isn't all
that useful since you can't easily foresee when something or someone's
going to fire at you, or react in time. This is likely going to stay a
gimmick, albeit a less crappier one.

## Changelog

🆑
balance: Buffed the matrix flip skillchip duration. Lowered the stamina
cost very, very slightly.
qol: You can now longer matrix-flip yourself into exhaustion, unless the
emote is unintentional.
/🆑
2024-07-10 12:39:50 -07:00
ArcaneMusic
26f6235a53 Fixes ore vents floating after a tendril collapses nearby. (#84730)
## About The Pull Request

Ore vents now provide a trait to the turf they spawn on,
TRAIT_NO_TERRAFORM, which does exactly what it says on the tin,
preventing the turf from being able to change into something else, like
a chasm. Ore vents already have `move_resist =
MOVE_FORCE_EXTREMELY_STRONG`, so they shouldn't be movable by any other
means anyway, resulting in them being stuck in the turf that they
spawned without admin tomfoolery.

![image](https://github.com/tgstation/tgstation/assets/41715314/84b1706c-a739-4e6a-9d7c-92940113d656)

## Why It's Good For The Game

Fixes #84463. Reasonably, too, we'll one day have other uses for
something that needs to avoid the turf changing on it as well such as
this.

I also sorted the turf traits because they were starting to get
non-alphabetical and I know that'll drive someone crazy if I don't fix
that while it's still early.

## Changelog

🆑
fix: Ore vents that are caught in the cross-fire of a lavaland tendril
collapsing will now spare the ore vent and it's associated turf.
/🆑
2024-07-08 22:12:34 +02:00
Rhials
6c30e75656 Admin narrations now let you pick a text formatting span to use in your message (#84723)
## About The Pull Request

This adds a menu to all admin narrate verbs that allows you to select a
span type for your message. This includes global, direct, world, subtle,
and headset narrates.

This includes (nearly) all forms of text span. Some were not included,
like OOC announcements, centcom priority announcement headers, the span
used for hyperlink text, stuff like that. They're mostly all there, but
the stuff that probably shouldn't be showing up under a generic chat
message has been excluded. There's well over 100 of these things, so
pick whatever you want.

Due to the way this works, you can close the spans in the message
mid-string, in case you wanted to have multiple text formats in the
message. You can also just format text the old-fashioned way if you
really wanted.


![image](https://github.com/tgstation/tgstation/assets/28870487/3ef57ba8-972f-4cf6-95af-d0cfd6d7c169)

**_Fun fact -- When using admin OOC spans, the reply will copy whatever
your admin OOC color is._**

![image](https://github.com/tgstation/tgstation/assets/28870487/e9b5f7c0-5a07-49e8-bcc3-57e7adf6cf52)

Yeah I'm sure you can tell I'm a super mature person by what the test
messages I used here were. Laugh it up. Just know that I'm laughing too,
like a grade schooler who just learned their first swear words.
## Why It's Good For The Game

No more futzing about with copypastes and big long text files with the
span formatting already written out. Now, you can just pick them from a
list. Neato!

This will increase adminbus immersion by a factor of at least 3-5%
assuming all projections and the data we have been provided holds true.
## Changelog
🆑 Rhials
admin: Narrate verbs will now allow you to pick what text formatting
span you want to use before you send them, if any.
/🆑
2024-07-08 03:26:09 +00:00