1885 Commits

Author SHA1 Message Date
Waterpig bb70889f6e TG Upstream Part 1
3591 individual conflicts

Update build.js

Update install_node.sh

Update byond.js

oh my fucking god

hat

slow

huh

holy shit

we all fall down

2 more I missed

2900 individual conflicts

2700 Individual conflicts

replaces yarn file with tg version, bumping us down to 2200-ish

Down to 2000 individual conflicts

140 down

mmm

aaaaaaaaaaaaaaaaaaa

not yt

575

soon

900 individual conflicts

600 individual conflicts, 121 file conflicts

im not okay

160 across 19 files

29 in 4 files

0 conflicts, compiletime fix time

some minor incap stuff

missed ticks

weird dupe definition stuff

missed ticks 2

incap fixes

undefs and pie fix

Radio update and some extra minor stuff

returns a single override

no more dupe definitions, 175 compiletime errors

Unticked file fix

sound and emote stuff

honk and more radio stuff
2024-10-19 08:04:33 -07:00
Waterpig 4c4930c71d Merge branch 'master' of https://github.com/tgstation/tgstation into pulls-tg-to-fix-shit 2024-09-08 00:59:39 +02:00
Ghom 10c2b7364e The fishening v3: Fishing lures. (#86007)
## About The Pull Request
Over half of the line changes are merely from splitting the
fish_types.dm into several files since it was over 1k lines already.

One of the small issues with fishing right now is RNG. You want to get
some specific fish, and you go through all the micromanaging with hooks,
reels and baits only for the random number god to say "nope", and that's
only going to get worse the more fish are in the game.

However, I've a solution: (unconsumable/reusable) fishing lures, each of
which attracts different fish based on different conditions. The only
caveat is that they require to be spun at set intervals (usually 1 to 3
seconds, depending on the lure, with a second-long window). Worry not,
there're visual cues in the form of a green/red light hovering the
fishing float, so you won't get screwed up by the server slowing down or
whatever.
The whole box of lures (12 so far) can be from cargo for the fair price
of 450 credits.

I've also added 5 new fish: monkfish, plaice, pike, another punnier
variant of the pike, perch and squid. The latter is quite special
because of the ink production trait, which lets players use it to blind
others at a close range and when butchered, it yields an ink sac, which
can be processed into a can of squid ink (one less item exclusive to the
produce console), or thrown at people in a sort-of-similar fashion of
banana cream pies (except it's ink).

<details>
  <summary>Images</summary>

Fishing lures (forgot to take my cursor off the veggie one before the
screenshot):

![immagine](https://github.com/user-attachments/assets/8ba7a0f2-2a9f-4177-9c0d-ebeabd8a0ef7)

The five new fish:

![immagine](https://github.com/user-attachments/assets/1c251079-3b39-48bb-af6c-0a35623953a7)

</details>

<details>
<summary>A table of fish catchable wth each lure (excluding
holodeck)</summary>


![table](https://github.com/user-attachments/assets/dee95855-405b-4945-bfc2-70e816e46109)

</details>

A few more things in the CL, baitfish are a thing now.

## Why It's Good For The Game
There should be ways to contrast some of the RNG fishing has. After all,
it's only going to get more random the more fish are in the game.
Furthermore, I find it disappointing that a lot of food stuff is
exclusive to the ingredients console and there're no other ways to get
it.

## Changelog

🆑
add: Added fishing lures to the game. They don't get used up like baits
and let you catch specific kinds of fish, though they need to be spun
every few seconds. The whole set can be ordered from cargo for 450
credits.
balance: The magnet hook now removes dud chances.
add: Added five new fish types: perch, two types of pike, monkfish,
plaice and squid. Squids have a fairly special ink production trait,
which lets you use them (unless dead) to ink people face at close range,
and can be butchered for an ink sac, which can either be processed into
canned squid ink, or thrown at someone.
fix: Refactored throwing a little. Some items (specifically
components/elements) won't be triggered when caught. no more plates
shattering despite being caught for example.
add: Goldfish, lavaloops, needlefish and armorfish can now be used as
baits.
/🆑
2024-09-06 19:50:28 -04:00
Ben10Omintrix 91baa94ac5 event based incapicated and able_to_run (#86031)
## About The Pull Request
this is a revival of #82635 . i got permission from potato to reopen
this, he did almost all the work. i only just solved the conflicts and
fixed all the bugs that were preventing the original from being merged
(but it should be TMed first)

## Why It's Good For The Game
slightly improves the performance of basic mob AI

## Changelog
🆑
LemonInTheDark
refactor: able_to_run and incapacitated have been refactored to be event
based
/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: ZephyrTFA <matthew@tfaluc.com>
2024-09-04 10:02:49 -04:00
r3dj4ck0424 99424053f6 [NO GBP] Re-adds the cytopro to the science areas (#86441)
## About The Pull Request

The Cytopro makes a grand return post-revert! Also renames the starting
petri dishes to "basic sample petri dish"

This noticeably does NOT fix the fact that the machine sells the wrong
sort of labcoat, so I strongly recommend merging #86122 immediately
following this PR.

## Why It's Good For The Game

Puts #85338 and #85996 back

## Changelog

🆑
add: The vendor of cytology equipment, the CytoPro, is once again
available in your local science department!
/🆑
2024-09-04 12:31:02 +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
FeudeyTF 4481704974 Detective Board for evidences (#85609)
## About The Pull Request

Hello. I'm making a board where a detective can attach various papers
and photos that relate to the case he's solving. I made it possible to
create cases, attach evidences, remove evidences. But I couldn't make it
possible to connect the evidences correctly. My experience in this ended
with the fact that the game simply stopped working. That's why I'm
asking for help from more experienced developers.

Full Preview:


https://github.com/user-attachments/assets/f27219bb-4143-46f0-8dd6-1d28cf8876a6

Board on stations:

Meta Station:

![meta](https://github.com/user-attachments/assets/ec7fdccd-17a1-40d3-b93b-17425979a6da)

Delta Station:
Not placed

Tram Station:

![Tram](https://github.com/user-attachments/assets/685f342e-fbcf-4e8b-9d7a-8cc8f82db01a)

Ice Box Station:

![IceBox](https://github.com/user-attachments/assets/7732a258-ca62-4cc9-8575-3998db545a1d)

Wawastation:

![Wawa](https://github.com/user-attachments/assets/c546017d-8f16-4761-b441-cfcf5b8550ad)

NorthStar:

![North](https://github.com/user-attachments/assets/4948bcbe-e7d6-4be1-a214-f24f3ff3f334)

Birdshot:

![Bird](https://github.com/user-attachments/assets/3b3b0eb4-854b-4998-ad4c-ff53c57194fa)


## Why It's Good For The Game

This is good for MRP servers, where detectives can investigate cases
just like in the movies
## Changelog
🆑 FeudeyTF
add: Added board for detective's evidences
/🆑

---------

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
2024-08-27 22:02:31 -07:00
YesterdaysPromise aad0bdfc0d The Cratening: Several crates for several corps! (#85890)
## About The Pull Request

Originally wanted to include those with syndicate-corp themed gear for
nukies, but... I think this might be an useful thing for mappers in
general, and with the wallening hitting, I reckon they will be going
around stuff a lot, so!

most of them pictured!
![Interdyne
1](https://github.com/user-attachments/assets/d84fc8ec-c589-4285-a034-e95323dec168)


## Why It's Good For The Game

Adds representation of several lesser known corporations and a nice
touch of flavour to add to places for mappers!

## Changelog

🆑
add: Added crates of the following varieties; Interdyne, Interdyne
freezer, Tiger Co-Op, S.E.L.F. MI13, A.R.C., Cybersun (4 colour
variants), Waffle Corp, Donk, Gorlex, Gorlex weapons, DeForest, Nakamure
Engineeing, Robust Industries
/🆑
2024-08-24 12:35:19 -04: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
SkyratBot c0946df596 [MIRROR] Fishing toolboxes (and maint) now come with a paper slip containing fishing-related tips. (#29518)
* 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>

* Fishing toolboxes (and maint) now come with a paper slip containing fishing-related tips.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: necromanceranne <40847847+necromanceranne@ users.noreply.github.com>
2024-08-22 04:52:25 +07:00
SkyratBot b76c42417e [MIRROR] Jarvis, add buckshot to the blackmarket. (#29522)
* Jarvis, add buckshot to the blackmarket. (#85470)

## About The Pull Request

![immagine](https://github.com/user-attachments/assets/82a41ea7-9951-43d5-a553-7c9884058bf2)

~discord light-theme big L.~

By the by, these are slightly nerfed buckshots, create big puffs of
powder smoke when fired, damage your gun, and MIGHT blow you up in the
same style of using a detective revolver loaded with .357 if you fire
too many.

Also, the integrity of the firearm now counts towards the damage of
bullets it's fired from.

## Why It's Good For The Game
The blackmarket is a place where you can find illegally illegal, evil
items, along with other trinkets. I thought it'd be a nice place to
reintroduce buckshot with a little downgrading twist after it has been
nerfed (it used to do 60 damage without falloff) AFTER it was removed
from the lathes and the station.

## Changelog

🆑
add: Buckshot is back on the menu, on the blackmarket.
balance: the integrity of firearms now counts toward projectile damage.
A gun that's on the very verge of breaking down will deal half as much
damage.
/🆑

* Jarvis, add buckshot to the blackmarket.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-08-22 04:49:35 +07:00
Ghom 11fce492bb Jarvis, add buckshot to the blackmarket. (#85470)
## About The Pull Request

![immagine](https://github.com/user-attachments/assets/82a41ea7-9951-43d5-a553-7c9884058bf2)

~discord light-theme big L.~

By the by, these are slightly nerfed buckshots, create big puffs of
powder smoke when fired, damage your gun, and MIGHT blow you up in the
same style of using a detective revolver loaded with .357 if you fire
too many.

Also, the integrity of the firearm now counts towards the damage of
bullets it's fired from.

## Why It's Good For The Game
The blackmarket is a place where you can find illegally illegal, evil
items, along with other trinkets. I thought it'd be a nice place to
reintroduce buckshot with a little downgrading twist after it has been
nerfed (it used to do 60 damage without falloff) AFTER it was removed
from the lathes and the station.

## Changelog

🆑
add: Buckshot is back on the menu, on the blackmarket.
balance: the integrity of firearms now counts toward projectile damage.
A gun that's on the very verge of breaking down will deal half as much
damage.
/🆑
2024-08-21 16:27:18 +01: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
SkyratBot 5335e458e0 [MIRROR] portable gravity machine (#29429)
* portable gravity machine (#85694)

## About The Pull Request

https://github.com/user-attachments/assets/98aa2177-ee0f-48d0-bbd4-83d01e688b54

it makes gravity in a radius
you may order it from cargo
may take power from wire instead
## Why It's Good For The Game

good for like space bases and stuff

## Changelog

🆑
add: portable gravity unit, bought at cargo
/🆑

* portable gravity machine

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2024-08-21 06:34:18 +07: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
SkyratBot da3e4798f8 [MIRROR] Adds drawing chalk outlines on dead mobs, white crayons are now called sticks of chalk (#29449)
* Adds drawing chalk outlines on dead mobs, white crayons are now called sticks of chalk (#85918)

## About The Pull Request

![image](https://github.com/user-attachments/assets/1c698b33-3cd9-477c-b7a0-4a1ebb009122)
*The Miami Mutilator is at large once again. Thank god we have such
hardboiled detectives as Manny Pardo on the case.*

This pull request allows for players to use white crayons, which have
now been renamed to sticks of chalk, to generate outlines of dead or
"dead" bodies found throughout the station in an attempt to let
detectives actually set up crime scenes as opposed to, more typically,
just causing them.

Players will attempt to draw a chalk outline if the target is a mob and
the mob is dead (or fake-dead), using a single charge of the
crayon/chalk. Also, adds a quick macro so that we can get the proper
left/right orientation of the dead mob for reference.

## Why It's Good For The Game

Detective should have more thematic, simple ways to organize crime
scenes in-round, and what better way to do that then through existing
items and mechanics that we already have. Also, I was 100% shocked to
learn that these have always been white crayons as opposed to sticks of
chalk, which certainly seems odd. In essence, this change doesn't really
let you do anything "new", but just makes it easier and simpler to do so
in a regular round without nearly as much fiddling.

This mechanic exists exclusively within the afterattack of sticks of
chalk as opposed to all crayons for thematic reasons, but I'm not 100%
sold on that and it would be simple to move over to all crayons if
people feel strongly about that.

## Changelog
🆑
add: White crayons (Renamed to Sticks of Chalk) may now be used on dead
bodies to draw a body outline onto the ground easily.
/🆑

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>

* Adds drawing chalk outlines on dead mobs, white crayons are now called sticks of chalk

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@ users.noreply.github.com>
2024-08-18 22:26:52 +07:00
ArcaneMusic b857200de9 Adds drawing chalk outlines on dead mobs, white crayons are now called sticks of chalk (#85918)
## About The Pull Request

![image](https://github.com/user-attachments/assets/1c698b33-3cd9-477c-b7a0-4a1ebb009122)
*The Miami Mutilator is at large once again. Thank god we have such
hardboiled detectives as Manny Pardo on the case.*

This pull request allows for players to use white crayons, which have
now been renamed to sticks of chalk, to generate outlines of dead or
"dead" bodies found throughout the station in an attempt to let
detectives actually set up crime scenes as opposed to, more typically,
just causing them.

Players will attempt to draw a chalk outline if the target is a mob and
the mob is dead (or fake-dead), using a single charge of the
crayon/chalk. Also, adds a quick macro so that we can get the proper
left/right orientation of the dead mob for reference.

## Why It's Good For The Game

Detective should have more thematic, simple ways to organize crime
scenes in-round, and what better way to do that then through existing
items and mechanics that we already have. Also, I was 100% shocked to
learn that these have always been white crayons as opposed to sticks of
chalk, which certainly seems odd. In essence, this change doesn't really
let you do anything "new", but just makes it easier and simpler to do so
in a regular round without nearly as much fiddling.

This mechanic exists exclusively within the afterattack of sticks of
chalk as opposed to all crayons for thematic reasons, but I'm not 100%
sold on that and it would be simple to move over to all crayons if
people feel strongly about that.

## Changelog
🆑
add: White crayons (Renamed to Sticks of Chalk) may now be used on dead
bodies to draw a body outline onto the ground easily.
/🆑

---------

Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
2024-08-18 15:29:56 +02:00
r3dj4ck0424 23929b39b6 Adds a new cytology-focused vending machine to the science area (#85338)
## About The Pull Request
Creates a new vending machine in the science area, called the CytoPro
and filled with cytology gear (and a few things that might be useful in
xenobiology). This vending machine is added to the cytology labs of all
maps.
Here's how it looks in-game (with the panel screwed open, I was hacking
it to test at the time)
![CytoPro -
Metastation](https://github.com/user-attachments/assets/695c12e6-ee63-47ff-b885-a3c0ca029afc)
The current product list is shown below.
![CytoPro -
Products](https://github.com/user-attachments/assets/95f3cf47-4f2e-4988-958c-1064584d41f6)
![CytoPro -
Contraband](https://github.com/user-attachments/assets/e7918f44-588d-4acd-9025-b12d3da08602)
I've put them in the locations shown below.
Birdshot:
![CytoPro -
Birdshot](https://github.com/user-attachments/assets/8f0eba2e-d118-481d-8122-04ab5815fbb8)
Delta:
![CytoPro -
Deltastation](https://github.com/user-attachments/assets/176a4207-e3cf-4a17-8b19-c20bbce86ff0)
Icebox:
![CytoPro -
Icebox](https://github.com/user-attachments/assets/8eda8bd2-cb88-4adf-bb9e-b54b76281f8c)
Northstar:
![CytoPro -
Northstar](https://github.com/user-attachments/assets/0abec84d-9343-4d28-81b9-7f6cf9efa4f7)
Tram:
![CytoPro -
Tramstation](https://github.com/user-attachments/assets/7a27aa08-655c-468b-a690-bd031b02dfb4)
Wawa:
![CytoPro -
Wawa](https://github.com/user-attachments/assets/6a1dc37a-9834-4613-8cfe-0634184c3caa)

**Feedback on more products welcome!**

## Why It's Good For The Game
Currently, there aren't a lot of backup sources for cytology gear. Most
maps spawn with a single cytology closet containing the necessary gear,
and good luck to you if someone makes off with the supplies before you
get there. In addition to adding a source of backup cytology equipment,
I'm hoping that this new vendor makes cytology quicker and more
accessible.
Plus, science really needed a new vending machine, and I think the
purple-white colour and stylized microscope are neat.
Since the cytology lab is usually located very close to the slime pens,
the addition of monkey cube boxes, xeno bags, and bio suits also helps
support xenobiology projects. If the 14 cubes supplied at round start
are insufficient (which they really shouldn't be) then they can
supplement their supply with the boxes in the CytoPro.
## Changelog
🆑
add: A new vendor of cytology equipment, the CytoPro, is now available
in your local science department!
/🆑
2024-08-18 14:54:19 +02:00
jimmyl 3fc1503fbd portable gravity machine (#85694)
## About The Pull Request



https://github.com/user-attachments/assets/98aa2177-ee0f-48d0-bbd4-83d01e688b54


it makes gravity in a radius
you may order it from cargo
may take power from wire instead
## Why It's Good For The Game

good for like space bases and stuff

## Changelog

🆑
add: portable gravity unit, bought at cargo
/🆑
2024-08-17 21:12:38 +02:00
SkyratBot e80dc84617 [MIRROR] You can sell stuff on the blackmarket now. (#29401)
* You can sell stuff on the blackmarket now. (#85464)

## About The Pull Request
The idea came up during the last blackmarket-related PR (#85066), when
the original creator @ TheChosenEvilOne came and said the LTSRBT was
originally supposed to allow players to sell stuff on the blackmarket. I
replied saying the idea has some potential, and then other github users
followed, also saying it's a good idea.

So, here we are, adding another feature to the LTSRBT, to let you
provide other players with potentially knock-offs and fraudulent (or
genuinely honest) items on the blackmarket.

How you do it is fairly simple: left click the machine to open it, place
the item inside, then right-click to open the UI. From there you can
adjust the name, description and price of the market item. Finally,
click on the "Place on Market" button twice, pay a 30 credits fee, and
it's done. You have an item on the market, and once it's sold, 85% or
the earnings (the price) will be deposited on your account.

By the by, the icon of the item you're trying to sell will also show up
on the market. You should get a picture of what you're getting before
falling for an obvious scam.

![screenie](https://github.com/user-attachments/assets/fae70c25-ab46-4ceb-af9e-f4818d8a1c68)

By the by, it's a cardboard cutout.

## Why It's Good For The Game
This fits the design of the LTSRBT and blackmarket in general.

## Changelog

🆑
add: You can sell items on the blackmarket with the LTSRBT now.
fix: Added some checks to prevent the swapper device and bluespace
anomalies from theorically being able to send things and people to
nullspace.
/🆑

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@ users.noreply.github.com>

* You can sell stuff on the blackmarket now.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@ users.noreply.github.com>
2024-08-17 20:22:14 +07:00
SkyratBot f98da6b5a9 [MIRROR] adds a single pack of experimental medication as a cargo goodie (#29387)
* adds a single pack of experimental medication as a cargo goodie (#85479)

## About The Pull Request
title above.
## Why It's Good For The Game
allows people with hereditary manifold sickness to purchase a single
pack of big pharma endorsed overpriced medicine.

edit: the 2 pack cargo crate has been increased to 600 credits, to
better reflect the goodie case price and because companies taking
advantage of people with medical conditions is soul
## Changelog
🆑
add: big pharma now supplies a single pack of experimental medication as
an easy to access (albeit expensive) cargo goodie!
balance: price for the cargo crate with 2 pill bottles of experimental
medication has been increased to 600 to better reflect the goodie case
price.
/🆑

---------

Co-authored-by: CRITAWAKETS <sebastienracicot@ hotmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>

* adds a single pack of experimental medication as a cargo goodie

---------

Co-authored-by: deathrobotpunch <87455177+deathrobotpunch@users.noreply.github.com>
Co-authored-by: CRITAWAKETS <sebastienracicot@ hotmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@ users.noreply.github.com>
2024-08-17 05:43:47 +07:00
Ghom 85e01a497f You can sell stuff on the blackmarket now. (#85464)
## About The Pull Request
The idea came up during the last blackmarket-related PR (#85066), when
the original creator @TheChosenEvilOne came and said the LTSRBT was
originally supposed to allow players to sell stuff on the blackmarket. I
replied saying the idea has some potential, and then other github users
followed, also saying it's a good idea.

So, here we are, adding another feature to the LTSRBT, to let you
provide other players with potentially knock-offs and fraudulent (or
genuinely honest) items on the blackmarket.

How you do it is fairly simple: left click the machine to open it, place
the item inside, then right-click to open the UI. From there you can
adjust the name, description and price of the market item. Finally,
click on the "Place on Market" button twice, pay a 30 credits fee, and
it's done. You have an item on the market, and once it's sold, 85% or
the earnings (the price) will be deposited on your account.

By the by, the icon of the item you're trying to sell will also show up
on the market. You should get a picture of what you're getting before
falling for an obvious scam.


![screenie](https://github.com/user-attachments/assets/fae70c25-ab46-4ceb-af9e-f4818d8a1c68)

By the by, it's a cardboard cutout.

## Why It's Good For The Game
This fits the design of the LTSRBT and blackmarket in general. 

## Changelog

🆑
add: You can sell items on the blackmarket with the LTSRBT now.
fix: Added some checks to prevent the swapper device and bluespace
anomalies from theorically being able to send things and people to
nullspace.
/🆑

---------

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
2024-08-16 12:47:47 -04:00
deathrobotpunch bd31edf6fe adds a single pack of experimental medication as a cargo goodie (#85479)
## About The Pull Request
title above.
## Why It's Good For The Game
allows people with hereditary manifold sickness to purchase a single
pack of big pharma endorsed overpriced medicine.

edit: the 2 pack cargo crate has been increased to 600 credits, to
better reflect the goodie case price and because companies taking
advantage of people with medical conditions is soul
## Changelog
🆑
add: big pharma now supplies a single pack of experimental medication as
an easy to access (albeit expensive) cargo goodie!
balance: price for the cargo crate with 2 pill bottles of experimental
medication has been increased to 600 to better reflect the goodie case
price.
/🆑

---------

Co-authored-by: CRITAWAKETS <sebastienracicot@hotmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-08-15 23:14:12 +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
SkyratBot a94b3c697a [MIRROR] Raising lobstrosities from chrabs is now a component. Adds in tadpoles which become frogs. (#29147)
Raising lobstrosities from chrabs is now a component. Adds in tadpoles which become frogs. (#85346)

I've componentized part of the code that manages raising lobstrosities
from chrabs so that it can be added to other fish too. As proof of
concept, I've added tadpoles. Tadpoles are not fished like the rest,
instead you merely right-click a puddle and after 5 seconds you'll get
one. Tadpoles are fairly fragile, cannot be butchered, don't reproduce,
require lukewarm freshwater, need to be feed frequently, and become
frogs after about 3 minutes.

A small needed refactor for the chrab code, plus another small fish to
make it easier to complete the first fish scanning experiment.

🆑
add: Added tadpoles, which can be scooped from puddles with right-click.
Functionally they're like most fish, which require an aquarium to
survive, and also need to be fed fairly frequently, however they quickly
become frogs after about 3 minutes of care.
add: Every station now has a couple puddles. One at the public garden
and the other in prison.
qol: Changed the name of an aquarium UI button from "Reproduction
Prevention" to "Reproduction and Growth", as it controls both fish
breeding and growth.
/🆑

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-08-06 21:34:16 +02:00
SkyratBot de9d4ae258 [MIRROR] Stuffing people into contractor pods now unbuckles them first (#29199)
* Stuffing people into contractor pods now unbuckles them first (#85461)

## About The Pull Request
Closes #85451

## Changelog
🆑
fix: Putting people you're fireman carrying into contractor pods no
longer sends both of you to zelda's shadow realm
/🆑

* Stuffing people into contractor pods now unbuckles them first

---------

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2024-08-04 21:12:56 +05:30
SkyratBot 224b8362c7 [MIRROR] Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death (#28683)
* Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death

* Conflict Removal

* Update bow_arrows.dm

* Update bow_arrows.dm

* tthis also update the actual bow & arrow code

* Update arrow.dm

* [MIRROR] Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death [MDB IGNORE] (#3595)

* Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death

* modularize bone dice(???)

* gives the cargo crate arrows

* conflict

* icon updates

rotates our bows the same way, adds invisible pixels for easier loading
to our primitive bows, removes bow/arrow icons that are clones of
upstream's

also a hack for arrow overlays on bows- currently just defaults to
default arrows if an overlay doesn't exist for it, but our only arrows
aren't that distinct with default arrows at that size (we do not have
alternative arrow overlay sprites)

* recipe changes

im not gonna try explaining everything here but the general idea is that
the cargo fletching kit is sorta novelty bows, and the big boy stuff you
get from smithing

* update ammo hud for bows

* this shouldn't be here

* i forgot to save these

cleans up the recipes, ashwalker arrows are just made by combining by
hand (you could already do this, the recipes were a noobtrap)
and the cargo kit is cheaper

* un-nerf the chaplain bow

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Fluffles <piecopresident@gmail.com>

* Update crafting.dm

* Update bow.dm

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
Co-authored-by: projectkepler-RU <99981766+projectkepler-ru@users.noreply.github.com>
Co-authored-by: NovaBot <154629622+NovaBot13@users.noreply.github.com>
Co-authored-by: Fluffles <piecopresident@gmail.com>
2024-08-04 13:01:52 +05:30
SmArtKar 49243c9c9c Stuffing people into contractor pods now unbuckles them first (#85461)
## About The Pull Request
Closes #85451

## Changelog
🆑
fix: Putting people you're fireman carrying into contractor pods no
longer sends both of you to zelda's shadow realm
/🆑
2024-08-01 14:48:12 +00:00
Ghom 36ca9a8559 Raising lobstrosities from chrabs is now a component. Adds in tadpoles which become frogs. (#85346)
## About The Pull Request
I've componentized part of the code that manages raising lobstrosities
from chrabs so that it can be added to other fish too. As proof of
concept, I've added tadpoles. Tadpoles are not fished like the rest,
instead you merely right-click a puddle and after 5 seconds you'll get
one. Tadpoles are fairly fragile, cannot be butchered, don't reproduce,
require lukewarm freshwater, need to be feed frequently, and become
frogs after about 3 minutes.

## Why It's Good For The Game
A small needed refactor for the chrab code, plus another small fish to
make it easier to complete the first fish scanning experiment.

## Changelog

🆑
add: Added tadpoles, which can be scooped from puddles with right-click.
Functionally they're like most fish, which require an aquarium to
survive, and also need to be fed fairly frequently, however they quickly
become frogs after about 3 minutes of care.
add: Every station now has a couple puddles. One at the public garden
and the other in prison.
qol: Changed the name of an aquarium UI button from "Reproduction
Prevention" to "Reproduction and Growth", as it controls both fish
breeding and growth.
/🆑
2024-07-31 15:18:23 +01:00
SkyratBot d0730d9aae [MIRROR] Emergency climbing hooks now spawn in emergency boxes if the station has multi-z level. (#29089)
* Emergency climbing hooks now spawn in emergency boxes if the station has multi-z level. (#85273)

## About The Pull Request
Emergency climbing hooks now spawn in emergency boxes not only on
Icebox, but also on Northstar and Tram.
## Why It's Good For The Game
Firstly, I think it's funny to see some assistant just casually climbing
up from the -1 floor on the sideways of tram, when he fell out of it.

Secondly, trying to get somewhere when the Northstar or Tram got blown
up multiple times is an absolute nightmare if you have no good
flashlight, or something similar.
## Changelog
🆑
add: Emergency climbing hooks now spawn in emergency boxes on all of the
multi-z level stations.
/🆑

* Emergency climbing hooks now spawn in emergency boxes if the station has multi-z level.

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
2024-07-28 13:50:26 +05:30
SkyratBot fc94ed2f53 [MIRROR] (Black)market Telepad (LTSRBT) Update: Restocking Edition (#29094)
* (Black)market Telepad (LTSRBT) Update: Restocking Edition (#85066)

## About The Pull Request
This is a suggestion that was to me several months ago to add the
ability to pay credits to restock the black market. I liked the idea
because it'd add anothe small reason to buy the board, though I had
forgotten about it shortly after and just happened to remember it now.

So, yeah, you can swat the LTSRBT with a holochip to restock the
market(s). The price is shared amongst all pads and starts at 675
credits, but it doubles up everytime this is done, for obvious balance
purposes.

I've also updated included this new feature in the unit test, given the
LTSRBT new sprites and renamed the Blackmarket subsystem to Market,
because of how it can support different types of market datums, not just
the blackmarket

## Why It's Good For The Game
This adds one more reason to buy and build the LTSRBT and make markets
less dependant on the bad side of RNG, if you have the credits. It's a
bit of a money sink.

## Changelog

🆑
add: You can now restock the black market by hitting the LTSRBT with
enough credits. The price doubles each time this is done.
imageadd: Updated the LTSRBT sprites.
balance: Reintroduced the LTSRBT to cargo for 2000 credits vs the
original 4000 (the ansible and crystals to build it are included btw),
and slightly lowered the average blackmarket price for the same item to
account for shipping costs.
/🆑

* (Black)market Telepad (LTSRBT) Update: Restocking Edition

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-07-28 13:49:35 +05:30
Ghom 27d048f6cb (Black)market Telepad (LTSRBT) Update: Restocking Edition (#85066)
## About The Pull Request
This is a suggestion that was to me several months ago to add the
ability to pay credits to restock the black market. I liked the idea
because it'd add anothe small reason to buy the board, though I had
forgotten about it shortly after and just happened to remember it now.

So, yeah, you can swat the LTSRBT with a holochip to restock the
market(s). The price is shared amongst all pads and starts at 675
credits, but it doubles up everytime this is done, for obvious balance
purposes.

I've also updated included this new feature in the unit test, given the
LTSRBT new sprites and renamed the Blackmarket subsystem to Market,
because of how it can support different types of market datums, not just
the blackmarket

## Why It's Good For The Game
This adds one more reason to buy and build the LTSRBT and make markets
less dependant on the bad side of RNG, if you have the credits. It's a
bit of a money sink.

## Changelog

🆑
add: You can now restock the black market by hitting the LTSRBT with
enough credits. The price doubles each time this is done.
imageadd: Updated the LTSRBT sprites.
balance: Reintroduced the LTSRBT to cargo for 2000 credits vs the
original 4000 (the ansible and crystals to build it are included btw),
and slightly lowered the average blackmarket price for the same item to
account for shipping costs.
/🆑
2024-07-27 17:28:13 -04:00
Helg2 854efc7ace Emergency climbing hooks now spawn in emergency boxes if the station has multi-z level. (#85273)
## About The Pull Request
Emergency climbing hooks now spawn in emergency boxes not only on
Icebox, but also on Northstar and Tram.
## Why It's Good For The Game
Firstly, I think it's funny to see some assistant just casually climbing
up from the -1 floor on the sideways of tram, when he fell out of it.

Secondly, trying to get somewhere when the Northstar or Tram got blown
up multiple times is an absolute nightmare if you have no good
flashlight, or something similar.
## Changelog
🆑
add: Emergency climbing hooks now spawn in emergency boxes on all of the
multi-z level stations.
/🆑
2024-07-27 21:36:31 +02:00
SkyratBot 9b51f67162 [MIRROR] Fish ordered from bought fish cases now sells for 1/20th of the normal price (#29070)
* Fish ordered from bought fish cases now sells for 1/20th of the normal price (#85287)

## About The Pull Request
Fish money printer goes brrrr...

But yeah, it turns out just buying and sending back fish crates is
making cargo lotsa money, which is basically an exploit. Good thing
we've the TRAIT_FISH_FROM_CASE trait which we can use to differentiate
fishes from cargo from other more natural sources.

## Why It's Good For The Game
This will fix #85284.

## Changelog

🆑
fix: Centcom technicians have been trained to recognize cargo-bought
fish. You will no longer be able to trick the economy system by buying
fish and sending it right back. Also nerfed fish selling price very
slightly.
/🆑

* Fish ordered from bought fish cases now sells for 1/20th of the normal price

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-07-27 20:05:09 +05:30
SkyratBot 1a492f1342 [MIRROR] Updates Strong-Arm implants to be cooldown based, deal entirely lethal damage (but more of it) (#29035)
* Updates Strong-Arm implants to be cooldown based, deal entirely lethal damage (but more of it) (#85012)

## About The Pull Request

Strong-Arm implants utilize a five second cooldown between activation
(this is per implant, not for both). As a result, the implant does a
larger chunk of damage in one blow. It does not do stamina damage
anymore.

If you strike a mob with either the MOB_BEAST or MOB_SPECIAL biotypes,
you inflict additional damage (40 extra).

You can fit both a toolset implant and a muscle implant into the same
arm.

## Why It's Good For The Game

Strong-arms were really weird implants in that they were not locked
behind any research progression, but instead could be purchased from
cargo. However, they were still not exactly amazing to have, so they
only really get purchased by bored medical doctors, since the implant
was a medical departmental order option (for some reason). I tried
giving them a little extra oomph a while ago, but I never felt like they
were in a particularly good space even after that update.

Borrowing some ideas from an older PR, I've introduced a cooldown to
allow for them to work alongside other unarmed features, but still not
allow them to stack with other effects. It makes them exceptionally good
as opening attacks, but not to the point of being intrusive. They were
also a method of infinite stamina damage, so that has been resolved as
well.

The mob bonus damage makes them a little fun option for miners, really,
that's why I added it. I thought it would be a cute feature, and maybe
incentivize a few to get augmented. I don't think they will, since
augments aren't super useful for miners, but still.

The pairing with toolsets is because they're not quite as useful
generally as the toolsets, and since they are a weaker arm implant in
the progression, I don't feel it is too extreme to have both, because
overall most people will gravitate towards toolsets if they had to
choose.

## Changelog
🆑
balance: Strong-arm implants go on cooldown when activated, but deal
more overall lethal damage on a single blow.
balance: The strong-arm implant does additional damage to fauna and some
other dangerous mobs.
qol: You can pair toolset arm implants with the strong-arm implants.
/🆑

---------

Co-authored-by: Jacquerel <hnevard@ gmail.com>

* Updates Strong-Arm implants to be cooldown based, deal entirely lethal damage (but more of it)

* fix modular

---------

Co-authored-by: necromanceranne <40847847+necromanceranne@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@ gmail.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-07-27 19:59:24 +05:30
SkyratBot 8b12def86c [MIRROR] Datumizes pod types (#28986)
* 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
/🆑

* Datumizes pod types

* [MIRROR] Datumizes pod types [MDB IGNORE] (#3917)

* 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
/🆑

* Datumizes pod types

* modular updates

---------

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: NovaBot13 <novasector13@gmail.com>
Co-authored-by: Fluffles <piecopresident@gmail.com>

---------

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
Co-authored-by: NovaBot <154629622+NovaBot13@users.noreply.github.com>
Co-authored-by: NovaBot13 <novasector13@gmail.com>
Co-authored-by: Fluffles <piecopresident@gmail.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-07-27 19:57:36 +05:30
Ghom e6e5cb9320 Fish ordered from bought fish cases now sells for 1/20th of the normal price (#85287)
## About The Pull Request
Fish money printer goes brrrr...

But yeah, it turns out just buying and sending back fish crates is
making cargo lotsa money, which is basically an exploit. Good thing
we've the TRAIT_FISH_FROM_CASE trait which we can use to differentiate
fishes from cargo from other more natural sources.

## Why It's Good For The Game
This will fix #85284.

## Changelog

🆑
fix: Centcom technicians have been trained to recognize cargo-bought
fish. You will no longer be able to trick the economy system by buying
fish and sending it right back. Also nerfed fish selling price very
slightly.
/🆑
2024-07-26 19:32:47 +00:00
SkyratBot 8b6c7d39ed [MIRROR] Removed a janky fish bounty and introduced exporting fish thru cargo. (#29061)
* Removed a janky fish bounty and introduced exporting fish thru cargo. (#85146)

## About The Pull Request
The fish bounty for specific kind of fish has been removed for being a
bit janky and relying on RNG way too much. The other two remain, and
have had their payout buffed a little to compensate.

To make it make it better, a fish export has been added. Each and every
fish can be sold to cargo, with a selling price determined by their size
and weight, meaning bigger fish sell for more. A fish of default size
and weight generally sells for around 130, rarely goes above 600 for
most fish, yet a few can sell for 1k, and it can **theorically** go all
the way up to ~11k if you were to reach max size and weight for the
biggest fish in the game.

This PR also reduces the weight of the jumpercable a bit for balance
reasons. It's a big, self-reproducing fish that requires no care
whatsoever so it's quite the cash cow, only offset by its rarity (EMAG
or blackmarket RNG). Conversely, I made the bone fish evolution a bit
easier (still a useless-ish braggard niche tbh).

## Why It's Good For The Game
The aforementioned fish bounty was janky, complex, relied on RNG too
much and the info on it didn't really fit in the bounty console. It's
better gone tbh. My fault for adding it in the first place.

As for the fish export, I want something simple, that doesn't require
the fish to be alive rather than dead, with a low payout per fish on
average, to complete the addition of "bomb fishing" from the other PR,
ergo dropping maxcaps in the ocean for shit and giggles, but that can
also have the potential to generate a decent income by cultivating big
fish.

## Changelog

🆑
del: Removed a janky fish bounty
add: introduced exporting fish through cargo.
balance: reduced the average weight of the jumpercable. Conversely,
eased up the requirements for the bone fish evolution.
/🆑

* Removed a janky fish bounty and introduced exporting fish thru cargo.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-07-26 20:39:36 +05:30
Ghom 49b45ee51a Removed a janky fish bounty and introduced exporting fish thru cargo. (#85146)
## About The Pull Request
The fish bounty for specific kind of fish has been removed for being a
bit janky and relying on RNG way too much. The other two remain, and
have had their payout buffed a little to compensate.

To make it make it better, a fish export has been added. Each and every
fish can be sold to cargo, with a selling price determined by their size
and weight, meaning bigger fish sell for more. A fish of default size
and weight generally sells for around 130, rarely goes above 600 for
most fish, yet a few can sell for 1k, and it can **theorically** go all
the way up to ~11k if you were to reach max size and weight for the
biggest fish in the game.

This PR also reduces the weight of the jumpercable a bit for balance
reasons. It's a big, self-reproducing fish that requires no care
whatsoever so it's quite the cash cow, only offset by its rarity (EMAG
or blackmarket RNG). Conversely, I made the bone fish evolution a bit
easier (still a useless-ish braggard niche tbh).

## Why It's Good For The Game
The aforementioned fish bounty was janky, complex, relied on RNG too
much and the info on it didn't really fit in the bounty console. It's
better gone tbh. My fault for adding it in the first place.

As for the fish export, I want something simple, that doesn't require
the fish to be alive rather than dead, with a low payout per fish on
average, to complete the addition of "bomb fishing" from the other PR,
ergo dropping maxcaps in the ocean for shit and giggles, but that can
also have the potential to generate a decent income by cultivating big
fish.

## Changelog

🆑
del: Removed a janky fish bounty
add: introduced exporting fish through cargo.
balance: reduced the average weight of the jumpercable. Conversely,
eased up the requirements for the bone fish evolution.
/🆑
2024-07-26 07:41:31 +02:00
necromanceranne 9f780d3e35 Updates Strong-Arm implants to be cooldown based, deal entirely lethal damage (but more of it) (#85012)
## About The Pull Request

Strong-Arm implants utilize a five second cooldown between activation
(this is per implant, not for both). As a result, the implant does a
larger chunk of damage in one blow. It does not do stamina damage
anymore.

If you strike a mob with either the MOB_BEAST or MOB_SPECIAL biotypes,
you inflict additional damage (40 extra).

You can fit both a toolset implant and a muscle implant into the same
arm.

## Why It's Good For The Game

Strong-arms were really weird implants in that they were not locked
behind any research progression, but instead could be purchased from
cargo. However, they were still not exactly amazing to have, so they
only really get purchased by bored medical doctors, since the implant
was a medical departmental order option (for some reason). I tried
giving them a little extra oomph a while ago, but I never felt like they
were in a particularly good space even after that update.

Borrowing some ideas from an older PR, I've introduced a cooldown to
allow for them to work alongside other unarmed features, but still not
allow them to stack with other effects. It makes them exceptionally good
as opening attacks, but not to the point of being intrusive. They were
also a method of infinite stamina damage, so that has been resolved as
well.

The mob bonus damage makes them a little fun option for miners, really,
that's why I added it. I thought it would be a cute feature, and maybe
incentivize a few to get augmented. I don't think they will, since
augments aren't super useful for miners, but still.

The pairing with toolsets is because they're not quite as useful
generally as the toolsets, and since they are a weaker arm implant in
the progression, I don't feel it is too extreme to have both, because
overall most people will gravitate towards toolsets if they had to
choose.

## Changelog
🆑
balance: Strong-arm implants go on cooldown when activated, but deal
more overall lethal damage on a single blow.
balance: The strong-arm implant does additional damage to fauna and some
other dangerous mobs.
qol: You can pair toolset arm implants with the strong-arm implants.
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-07-24 12:47:03 +00: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 aefec7cb2b 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 15:47:03 -04: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
SkyratBot 1124e5908b [MIRROR] TSA: Scanner Gates and N-Spector update (#28971)
* TSA: Scanner Gates and N-Spector update

* conflict fix and our maps

---------

Co-authored-by: DrTuxedo <42353186+DrDiasyl@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-07-21 09:14:38 +05:30
DrTuxedo 63e2f45ed3 TSA: Scanner Gates and N-Spector update (#85077)
## About The Pull Request
Scanner gates now have a much-refined sprite with dirs.


https://github.com/user-attachments/assets/22659e12-5565-4feb-a8e7-0f1a56c4a99e

_The message in the video is outdated, now working with the formula
`src.say("[detected_thing][reverse ? " not ": " "]detected!!")`_

Scanner gates now can have false positive/negative which depends on the
tier of scanning modules in it:
- Tier 1 - 4%
- Tier 2 - 3%
- Tier 3 - 2%
- Tier 4 - 1%

Scanner gates now loudly blare into chat when they detect stuff.

Now there is a preset scanner gate to detect **GUNS** in main Brig
entrances on maps, they are not upgraded with N-Spector.

***

N-Spector now can not only scan items for contraband but people too. It
takes 4 seconds, makes a loud noise, and warns the person getting
scanned in a chat with bold text.


https://github.com/user-attachments/assets/6aaca7bb-8273-485b-a727-c84f132b92f5

***

Made scanner code using proper cooldowns.

The scanner gate description now tells on which mode it's turned on.

Now smuggler satchel description tells you that it can prevent items
from being detected by contraband scanners.
## Why It's Good For The Game
Scanner gates sprites were ancient and as such been updated.

Scanner gates having false-positive will make sure for Security to
always be on their toes, and also cause interaction between crew who got
false-positive. Also, it finally makes use of scanner gates being
upgradable, as before this there was no reason for using higher-tier
scanning modules for its construction.

Scanner gates blaring into the chat now make it clearer for spectators
to acknowledge why the scanner got triggered.

Putting not upgraded scanners in the Brig entrance doors gives them some
use outside of being sometimes built by bored Security Officers.

***

When N-Spector was upgraded, I immediately thought it should also be
possible to scan people, like how TSA scans people with metal detectors.
It takes around the same time as stripping a backpack, and backpack
searches still would be more effective as they can show stuff that the
scanner cannot detect.

The warning and loud sound make it possible for the person getting
scanned to walk away if they start getting scanned unprompted.
This would not likely cause any trouble, as going up and starting
scanning someone for no reason would be the same as going up to someone
and starting to strip their backpack.

With N-Spector Security can perform more fluff interesting searches. 
## Changelog
🆑 DrDiasyl aka DrTuxedo
add: Scanner gates now blare into the chat the reason why it got
triggered
add: Scanner gates now can have false positives/negatives, and the
chance of them being reduced when they are upgraded
add: Brig entrances now have scanner gates preset to detect GUNS
add: You can now scan people with N-Spector for contraband
image: Scanner gates now have a better sprite with dirs
qol: Scanner gates description now tells to what mode they are set
fix: You no longer can remove N-Spector from scanner gates without
unlocking them first
/🆑

---------

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
2024-07-20 23:35:45 +00:00
SkyratBot ae51c811e0 [MIRROR] Buffing some awful black market items to be less awful. (#28856)
* Buffing some awful black market items to be less awful. (#84895)

## About The Pull Request
With this PR, I'm making some awful or bad blackmarket items less bad
(some are still bad imo). I don't aim to tweak every item that I find
mediocre at best, because it ultimately boils down to opinion and maybe
what I don't like, others do, but also because the feature was designed
to have some "scammy" items in there (the broken chameleon hat is a
prime example).

Moving on, some of the more noticeable changes:
- the old spacesuit in a box should no longer cost thousands of credits
- the thermite bottle now contains enough thermite to melt one r-wall
- replaced the shotgun dart item with a more expensive box of XL shotgun
darts (25 units of reagent capacity vs 15)
- replaced the science googles with a more expensive medical-security
combo HUD (the sprites exist already)
- the donk pocket box item can now spawn subtypes of the donk pocket
box, this includes the gondola box, though it's pretty rare.
- the suspicious pill bottle item can now spawn a pill bottle of
maintenance pills

The rest should be price changes.

## Why It's Good For The Game
Many of the blackmarkets choices are downright a bummer, and I'm not
talking about things like the broken chameleon hat, but stuff such as
shotgun darts, science googles, thermite; I mean, SOME of stuff that's
OBVIOUSLY easy and more convenient to get from a (proto/auto) lathe or
the chemist and just make the blackmarket look kinda bad.

## Changelog

🆑
balance: reduced the prices of some blackmarket items across the board.
balance: the thermite bottle (from the contraband spawner and the
blackmarket), now spawns with 50u of thermite vs 30, enough to melt one
reinforced wall.
add: Replaced the science googles from the blackmarket with a security +
health scanner HUD.
add: Replaced the single shotgun dart from the blackmarket with a box of
XL shotgun darts.
add: The donk pocket box from the blackmarket now comes in different
flavors.
/🆑

* Buffing some awful black market items to be less awful.

* modular edits

* maybe?

* fix icons

* fix

* Update storage.dm

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: SpaceLoveSs13 <68121607+SpaceLoveSs13@users.noreply.github.com>
2024-07-20 21:12:55 +05:30
SpaceLoveSs13 fa2ab65f07 Missed mirrors (#28919)
Handful of missed mirrors (#3739)

* fix duplicate traits

* Adds a Contraband trait, and implements contraband as a mechanic to security bounties. (#84003)

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.

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.

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>

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.

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).

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.

🆑
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.
/🆑

---------



* Adds six new strange object powers! (#84775)

DESIGN CONCEPT: Strange Devices are at their best when they're odd tools
which can help a department out, with some strange drawbacks that make
them interesting and unique. Foam for the Janitor, Flashbang for
Security, Teleporter for tiders, Corgimaker for the chef. They're also
ambiguous enough that they can really be used by anyone for silly
hijinks.

Drink Dispenser: Creates a glass, then fills it up with a random drink.

Bioscrambler: After a noticeable warning, bioscrambles people nearby.
33% chance to be used up on use.

Recharger: Shocks you, but recharges one random item to max battery.

Hugger: Hugs everyone in range as if you had the friendly trait.

DImensional: Converts the surroundings to a random material-theme. Each
use increases cooldown by two seconds.

Disguiser: Drops your clothing to the ground and replaces it with a
delete-on-drop costume and a randomly assigned cardboard ID.

Removed an unused and unusable shock flag.

Removed an unused dumb ghost item.

Added a proc that returns a hex color with the # attached.

> DESIGN CONCEPT: Strange Devices are at their best when they're odd
tools which can help a department out, with some strange drawbacks that
make them interesting and unique. Foam for the Janitor, Flashbang for
Security, Teleporter for tiders, Corgimaker for the chef. They're also
ambiguous enough that they can really be used by anyone for silly
hijinks.

Request by ArcaneMusic! He wanted new abilities to go along with the new
sprites, and approved these.

> Removed an unused dumb ghost item.

please stop using costume subtypes for OP items. whats the damn point of
the subtype if youre just going to screw with it

> Added a proc that returns a hex color with the # attached.

idk why it didnt have this tbh

🆑
add: Adds six new strange object powers! Drink dispenser, bioscrambler,
recharger, hugger, dimensional, disguiser.
code: Removed some unused code and items, and added a proc that returns
a random #colorstring.
/🆑

* [NO GBP] the random spawner loot weight config is not an integer (#84814)

Sets `integer` to false.
Also a tidbit about the `skew_loot_weight` proc, though loot lists with
uneven weights all tend to add a value to all entries so it isn't an
issue.

The config isn't an integer.

N/A

* The techweb no longer erroneously refers to MODsuits as exosuits (#84800)

At some point, some of the techweb node descriptions were changed, so
that it referred to certain modsuits as exosuits. This just changes it
back.

The term "exosuit" is generally used for mechs, not modsuits. The
techweb descriptions should refer to modsuits as modsuits.
🆑
spellcheck: The techweb no longer erroneously refers to MODsuits as
exosuits.
/🆑

* Adds new hairstyle - Short Bangs 2 (#84804)

Adds a new hairstyle called Short Bangs 2.
The hairstyle is basically an edit of the existing double buns, except
the hair buns themselves are removed.

https://github.com/tgstation/tgstation/assets/66234359/38fe3b09-c42b-43e6-9e30-949428aab506

More customization, variety and character flavor is great. Double buns
itself is a good hairstyle but some may not like the hair buns out of
personal preference or that it can look weird on non-human species like
felinids.

🆑 Hardly3D
add: Added new hairstyle: Short Bangs 2
/🆑

* Offset render relays for non-offsetting planes to match highest matching render plane (#84184)

**Alternate title: "Fix blind people getting so blind they become deaf
when going down a flight of stairs"**

So 'bout half a week to a week ago I overheard a friend complaining
about blind people not seeing runechat on lower multi-z levels. Asked a
bit, apparently they'd reported this about half a year ago, and it's
still an issue.
So in my never-ending hubris I decided to just go and fix it!
Now, admittedly? I really _really_ do not get the rendering system we
use.
The simple options were right out: we can't allow the fullscreens plane
to be offset, as this causes issues with looking up/down, or disallow
runechat from being offset, which causes issues with runechat from other
levels.

After poking our very cool and smart rendering guy several times over
the course of the last week, this is what we got to:

We simply make the rendering relays for non-offsetting plane masters
point to the highest rendering plane that matches the target.
We do this by offsetting the rendering relays in place, by adjusting
their plane and layer values to match the new offset, with a new
`offset_relays_in_place(new_offset)` proc called in
`/datum/plane_master_group/proc/transform_lower_turfs(...)`.
Importantly, we compare the current layer values to what they should've
been, so we don't accidentally override relays with custom-set layers.

This fixes our issue (as tested on wawastation):
<details>
  <summary>Images</summary>

![image](https://github.com/tgstation/tgstation/assets/42909981/c6a10e04-dd08-4642-bc4d-d99ae5004a40)

![image](https://github.com/tgstation/tgstation/assets/42909981/740dc894-7495-4c35-b729-ffcc539ca928)

![image](https://github.com/tgstation/tgstation/assets/42909981/986433a7-e66e-408a-8e77-1f1eb89cb67c)

</details>

Fixes #80376.
🆑
fix: You can see runechat above fullscreen overlays on lower multi-z
levels again. Rejoice, blind players. Please report any weird rendering
layering issues.
/🆑

* illegal tech flag got changed

* Automatic changelog for PR #84003 [ci skip]

* Automatic changelog for PR #84775 [ci skip]

* Automatic changelog for PR #84800 [ci skip]

* Automatic changelog for PR #84804 [ci skip]

* Automatic changelog for PR #84184 [ci skip]

* Makes the smoking pipe sprite not give you a phantom stache. (#84898)

The smoking pipe currently gives you a phantom stache. Observe, note the
black background and know this character has no facial hair.

![image](https://github.com/tgstation/tgstation/assets/70115628/2939afa9-e4e4-4ee2-b38b-fc517e207d01)
I basically adjusted the pixels so it'd look better from different
directions.
This is the new look - approximately.

![image](https://github.com/tgstation/tgstation/assets/70115628/55e23d8e-2367-468a-94c2-9c5741f34762)
Smoking pipe is cool for RP but the sprite's fucked.
🆑
image: the smoking pipe's directional looks have been altered to make it
less ugly
/🆑

(cherry picked from commit c499c51bb3)

* Automatic changelog for PR #84898 [ci skip]

(cherry picked from commit 1e80a72dee)

* Revert "Automatic changelog for PR #84898 [ci skip]"

This reverts commit 1ddc7d43de30bb7ef029d1ddd39f86ded94e110c.

* Revert "Makes the smoking pipe sprite not give you a phantom stache. (#84898)"

This reverts commit b66b9d634e5f28e40e800586d4642468049767e6.

---------

Co-authored-by: FlufflesTheDog <piecopresident@gmail.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: carlarctg <53100513+carlarctg@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: GPeckman <21979502+GPeckman@users.noreply.github.com>
Co-authored-by: Hardly3D <66234359+Hardly3D@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: orange man <61334995+comfyorange@users.noreply.github.com>
Co-authored-by: NewyearnewmeUwu <70115628+NewyearnewmeUwu@users.noreply.github.com>
Co-authored-by: SomeRandomOwl <2568378+SomeRandomOwl@users.noreply.github.com>
Co-authored-by: Bloop <13398309+vinylspiders@users.noreply.github.com>
2024-07-20 14:23:18 +05:30
Ghom 4611958e74 Buffing some awful black market items to be less awful. (#84895)
## About The Pull Request
With this PR, I'm making some awful or bad blackmarket items less bad
(some are still bad imo). I don't aim to tweak every item that I find
mediocre at best, because it ultimately boils down to opinion and maybe
what I don't like, others do, but also because the feature was designed
to have some "scammy" items in there (the broken chameleon hat is a
prime example).

Moving on, some of the more noticeable changes:
- the old spacesuit in a box should no longer cost thousands of credits
- the thermite bottle now contains enough thermite to melt one r-wall
- replaced the shotgun dart item with a more expensive box of XL shotgun
darts (25 units of reagent capacity vs 15)
- replaced the science googles with a more expensive medical-security
combo HUD (the sprites exist already)
- the donk pocket box item can now spawn subtypes of the donk pocket
box, this includes the gondola box, though it's pretty rare.
- the suspicious pill bottle item can now spawn a pill bottle of
maintenance pills

The rest should be price changes.

## Why It's Good For The Game
Many of the blackmarkets choices are downright a bummer, and I'm not
talking about things like the broken chameleon hat, but stuff such as
shotgun darts, science googles, thermite; I mean, SOME of stuff that's
OBVIOUSLY easy and more convenient to get from a (proto/auto) lathe or
the chemist and just make the blackmarket look kinda bad.

## Changelog

🆑
balance: reduced the prices of some blackmarket items across the board.
balance: the thermite bottle (from the contraband spawner and the
blackmarket), now spawns with 50u of thermite vs 30, enough to melt one
reinforced wall.
add: Replaced the science googles from the blackmarket with a security +
health scanner HUD.
add: Replaced the single shotgun dart from the blackmarket with a box of
XL shotgun darts.
add: The donk pocket box from the blackmarket now comes in different
flavors.
/🆑
2024-07-15 01:49:13 -04: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
necromanceranne e4adc1a939 Bow Update: Fletching instruction manual, bows using projectile damage multipliers, unhardcoded bow sprites, hot pink death (#84435)
## About The Pull Request

Adds a new crate to the Service section of cargo. The Fletching and
Bow-Making Starter Kit. Comes with some materials and a fletching
instruction manual.

The manual teaches you how to make shortbows (18 force from normal
arrows utilizing projectile multipliers), arrows, holy arrows (but you
need a divine bow to make them), quivers (but they only hold 10 arrows),
plastic arrows and violins. For reasons.


![image](https://github.com/tgstation/tgstation/assets/40847847/576732f2-03b4-47b7-9bad-d85ff06480f0)


### Fixes

Bows now no longer utilize hardcoded sprites for their loaded sprite.
Now they use overlays.

Bows properly become undrawn once fired. No longer can your bow
magically launch arrows by sheer force of will.

## Why It's Good For The Game

Initially I just wanted to provide a way for bow wielding chaplains to
produce additional arrows for their bow. Running out of those always
felt pretty lame. But then I got to thinking; actually, I kind of want
to LARP sometimes as an archer. I think that'd be kind of goofy and fun.
So I bundled that together into a solution for both.

The shortbow is really, really not meant to be a meaningful weapon. It's
just kind of silly, and meant to let people pretend to be Robin Hood and
occasionally hurt someone in a workplace accident. I'm particularly
thinking of clowns being the perfect users for this with their clumsy
trait. I will make this weaker if I have too.

(I am not, at this moment, redoing flaming arrows okay? I saw the code
comment. I know. Not right now. @tralezab, if you have any flaming arrow
sprites lying around, please let me know.)

## Changelog
🆑
add: Fletching starter kit! Make your own bow, shoot your friends in an
unfortunate workplace accident. Replace all those holy arrows you lost.
fix: Bows now properly undraw once they have fired an arrow.
code: Bows now utilize overlays in order to display loaded arrows.
Unique overlays per arrow.
/🆑
2024-07-07 17:57:32 +02:00