Commit Graph

11789 Commits

Author SHA1 Message Date
Ghom
ce0a9c932e Shrunk arrow from pointing at things. Command roles unaffected thanks to id trims (also new skillchip). (#85892) 2024-08-18 16:08:08 -04:00
Ghom
e5761e0bfc Porting and adapting food sprites from other repos (plus a couple original resprites) (#85759) 2024-08-18 16:07:35 -04:00
Emmett Gaines
8b0cd15e2c Makes map view hiding a bit more robust against unusual circumstances (#85900)
While in the middle of a destroy chain the mob can no longer be
associated with the client you need to clear huds from. This allows you
to just pass a client into a different proc and has some more error
checking to hopefully avoid visible issues for players if something goes
wrong.

This fixes a runtime I cam across while working on something else.
2024-08-18 21:55:31 +02: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
SmArtKar
f5e15535b0 Random spraypaint setting now properly paints large decals (#85917)
## About The Pull Request

Found by Melbert on discord, caused by paint mode not applying when
painting random decals.

## Changelog
🆑
fix: Random spraypaint setting now properly paints large decals
/🆑
2024-08-18 04:22:18 +02:00
Kyle Spier-Swenson
4d1639b04c Revert "Assorted changes to job assignment code and logging." (#85929)
Reverts tgstation/tgstation#85308

![image](https://github.com/user-attachments/assets/eb74d378-29da-44f0-bd14-89c95654cb4e)
2024-08-17 15:26:08 -07:00
Timberpoes
1eef540054 Assorted changes to job assignment code and logging. (#85308)
## About The Pull Request

This PR does a couple of minor things:
Makes the job debug logging a bit easier to follow.
Minorly brings some SSjob code up to code standards, converting proc
names to snake_case and doing some otherm is cleanup.
Refactored some stuff into different procs, updated some comments.

And some major things:
Changes the job assignment logic.
Old behaviour
> Assign dynamic priority roles
> Force one Head of Staff (if possible)
> Assign all AIs
> Assign overflow roles (bugged in 2 ways)
> Shuffle the available jobs list once, at the start of the random job
assignment loop
> Pick and assign random jobs for random players from High prefs down,
with a priority on Head of Staff roles
> Handle everyone that couldn't be assigned a random job

New behaviour
> Assign dynamic priority roles
> Assign all Head of Staff roles to players with High prefs
> If no Head of Staff was made in the above way, force one Head of Staff
(if possible)
> Assign all AIs
> Assign overflow roles (fixed)
> Prioritise and fill unfilled head roles at each job priority pref
level, from High prefs down.
> Build a list of all jobs that each unassigned player could be eligible
for at the above pref level.
> Pick a job from that list at random and assign it to the player.
> Handle everyone that couldn't be assigned a random job.

In reality there should be little impact on overall job assignment, the
code changes read more as semantics. For example, the priority check for
filling Head slots will have the same candidate pool in both old and new
versions, but in the new version we're more clearly saying that Heads
are important and we want to prioritise filling them for the sake of
round progression even though the outcome in new and old is the same.

A key change will lead to an increase in assistants - Overflow fixes.

Currently the code block to do early assignments to the Overflow role
doesn't work - or works but not as you'd expect. The idea was is that
because enabling the Overflow role in the prefs menu is an On/Off toggle
that sets the job to High priority when enabled and prevents any other
High priority pref, players that have the Overflow role enabled will
**always** get it. It's their highest priority job with infinite slots.
So we do a pass right at the start to give everyone with the Overflow
role enabled that role and save us wasting time later on in random job
code giving them that same role but with more work.

The problem is the code for this only assigns the Overflow role to
people with it set to Low priority in their prefs, resulting in log
readouts like:
```
[2024-07-27 09:49:43.469] DEBUG-JOB: DO, Running Overflow Check 1
[2024-07-27 09:49:43.469] DEBUG-JOB: Running FOC, Job: /datum/job/assistant, Level: Low Priority
[2024-07-27 09:49:43.472] DEBUG-JOB: FOC player job enabled at wrong level, Player: Radioprague, TheirLevel: Medium Priority, ReqLevel: Low Priority
[2024-07-27 09:49:43.472] DEBUG-JOB: FOC player job enabled at wrong level, Player: Caluan, TheirLevel: High Priority, ReqLevel: Low Priority
[2024-07-27 09:49:43.473] DEBUG-JOB: FOC player job enabled at wrong level, Player: Caractaser, TheirLevel: High Priority, ReqLevel: Low Priority
[2024-07-27 09:49:43.473] DEBUG-JOB: FOC player job enabled at wrong level, Player: Apsua, TheirLevel: High Priority, ReqLevel: Low Priority
[2024-07-27 09:49:43.475] DEBUG-JOB: FOC player job enabled at wrong level, Player: Bebrus2, TheirLevel: Medium Priority, ReqLevel: Low Priority
[2024-07-27 09:49:43.475] DEBUG-JOB: AC1, Candidates: 0
```
Where nobody gets pre-assigned the overflow role because their prefs are
all set to the High priority from being toggled... Except wait a second,
some people have it at Medium priority when it should just be a No
Role/High Priority Role toggle?

And herein we meet a problem. My hypothesis is that traits and stuff
that change the overflow have allowed players to set the "ordinary"
overflow role of Assistant to Medium and/or Low priority.

This still shows as enabled in the prefs menu, but leads to an outcome
where a player with assistant enabled is assigned Cook instead.
```
[2024-07-27 09:49:47.775] DEBUG-JOB: DO, Running Overflow Check 1
[2024-07-27 09:49:47.775] DEBUG-JOB: Running FOC, Job: /datum/job/assistant, Level: Low Priority
...
[2024-07-27 09:49:43.475] DEBUG-JOB: FOC player job enabled at wrong level, Player: Bebrus2, TheirLevel: Medium Priority, ReqLevel: Low Priority
...
[2024-07-27 09:49:47.987] DEBUG-JOB: Running AR, Player: Bebrus2, Job: /datum/job/cook, LateJoin: 0
```

So players with the Overflow job pref set to Low (an unexpected state,
should be disabled or High) would be guaranteed to get that role if none
of the higher priority Head of Staff/AI/Dynamic roles took over via the
bugged "force overflow for people with the pref enabled" proc.

Players with the Overflow job pref set to High would be guaranteed to
get that role if none of the higher priority Head of Staff/AI/Dynamic
roles took over via the random job assignment code giving them their
Highest priority role thanks to the infinite job slots of the Overflow.

And players with the Overflow job pref set to Medium (an unexpected
state, should be disabled or High) would get Assistant if the shuffle
step of the available jobs list put Assisstant before any of the other
jobs they had prefs enabled for at Medium that weren't already filled,
otherwise they'd get another random job.

This code is now changed to ignore the priority the player has set when
looking for people to fill the overflow role. As long as it **is**
enabled, the player will get it unless they're forced into a dynamic
ruleset role (AI when malf rolls) or a Head of Staff role due to their
other prefs (they have RD set to med or low, and no other player has a
Head of Staff at high so they get randomly picked and miss the overflow
role).

This will increase the number of assistants in shifts where their pref
state has Assisstant in the bugged Medium priority, but doesn't change
it for bugged Low and not-bugged High/On priority.

On the other side of the coin, we have how the random jobs are picked.
They're kinda not random, and I noticed this reading the logs then
reading the code.

The list of available jobs to pick from is randomly shuffled - but only
**once**. All players pull from a list of jobs in the same order. So you
end up with a log block like this:
```
[2024-07-27 09:49:47.985] DEBUG-JOB: DO pass, Player: Pierow, Level:3, Job:Botanist
[2024-07-27 09:49:47.985] DEBUG-JOB: Running AR, Player: Pierow, Job: /datum/job/botanist, LateJoin: 0
[2024-07-27 09:49:47.985] DEBUG-JOB: Player: Pierow is now Rank: Botanist, JCP:0, JPL:2
[2024-07-27 09:49:47.986] DEBUG-JOB: DO pass, Player: Daddos, Level:3, Job:Botanist
[2024-07-27 09:49:47.986] DEBUG-JOB: Running AR, Player: Daddos, Job: /datum/job/botanist, LateJoin: 0
[2024-07-27 09:49:47.986] DEBUG-JOB: Player: Daddos is now Rank: Botanist, JCP:1, JPL:2
[2024-07-27 09:49:47.986] DEBUG-JOB: FOC job filled and not overflow, Player: Bebrus2, Job: /datum/job/botanist, Current: 2, Limit: 2
[2024-07-27 09:49:47.987] DEBUG-JOB: FOC player job not enabled, Player: Bebrus2
[2024-07-27 09:49:47.987] DEBUG-JOB: DO pass, Player: Bebrus2, Level:3, Job:Cook
[2024-07-27 09:49:47.987] DEBUG-JOB: Running AR, Player: Bebrus2, Job: /datum/job/cook, LateJoin: 0
[2024-07-27 09:49:47.988] DEBUG-JOB: Player: Bebrus2 is now Rank: Cook, JCP:0, JPL:1
[2024-07-27 09:49:47.988] DEBUG-JOB: FOC player job not enabled, Player: Redwizz
[2024-07-27 09:49:47.988] DEBUG-JOB: FOC job filled and not overflow, Player: Redwizz, Job: /datum/job/cook, Current: 1, Limit: 1
```

The list is shuffled into an order of something like `list("Scientist",
"Botanist", "Cook", "Sec Officer", ...)` then iterated over for each
player. So every random job selection goes:
> "Does Player1 have Scientist enabled and at the right priority? No?
Okay, Botanist? Yes? You get botanist."
> "Does Player2 have Scientist enabled and at the right priority? No?
Okay, Botanist? Yes? You get botanist."
> "Does Player3 have Scientist enabled and at the right priority? No?
Okay, Botanist has no slots left so we'll remove it from the list. Okay,
Cook? Yes? You get cook."
> "Does Player4 have Scientist enabled and at the right priority? No?
Okay, Cook has no slots left so we'll remove it from the list. Okay, Sec
Officer? ..."

This can lead to stacked individual departments if it gets randomly
rolled to the start of the list in the shuffle, and completely empty
departments if they end up at the end.

On high pop shifts this is probably less of an issue. Player prefs add
noise to this and as departments at the front fill up, those at the back
pick up some of the lower pref players.

But have you ever had a shift where there's just like... No fucking sec
even though there's tons of players? The logging (before I made changes
in this PR) was a bit ass, but my hypothesis there is that sec officer
was shuffled right at the end of the random job list, so every other
department was filled up before sec officers were picked.

To mitigate this, I made the list shuffle every single time the game
picks a random available job for the player. This should lead to a more
balanced selection of available jobs by avoiding situations where the
code is biased towards packing some departments by accident.
## Why It's Good For The Game

Overflow fixes mean people who go to their prefs and see the Overflow
Role is On will all have the same experience - They will be the Overflow
role.

More random random job selection should prevent individual departments
having a jobs be stacked when it would have otherwise been possible for
a more balanced selection but the code unintentially biased random
departments to be overstaffed and understaffed each shift.
## Changelog
🆑
fix: Having the Overflow Role set to On will properly ensure you get
that role at a High priority as intended by the game code.
fix: Job selection is now a little bit more random. Fixes an
unintentional bias in random job assignment that could lead to
feast-or-famine for roles where everyone is assigned one job and nobody
is assigned another job.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2024-08-17 14:27:45 -06: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
SmArtKar
2bb73bd33e Fixed random lipstick texture, fake syndie lipstick no longer can randomly spawn (#85880)
## About The Pull Request

Closes #85876 
Also adds a variable to blacklist lipstick from randomly spawning. While
fake lipstick doesn't apply its traits it still has its sprite and name
which could confuse players

## Changelog
🆑
fix: Fixed random lipstick texture, fake syndie lipstick no longer can
randomly spawn
/🆑
2024-08-17 15:18:28 +02:00
Ghom
cab4a7580a lights placed on walls with the RLD now face the correct direction. (#85875)
## About The Pull Request
They ought to face away from the wall, not toward it.

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

## Changelog

🆑
fix: lights placed on walls with the RLD now face the correct direction.
/🆑
2024-08-17 01:23:57 -04: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
Ghom
d9168e7254 Adds a treasure chest to the ocean/beach fishing spot. (#85276)
## About The Pull Request
This PR adds a treasure chest that can be fished from the ocean if
you're lucky enough (or have enough explosives or lobstrosities to do it
for you). The treasure chest is basically a mystery box (like the ones
from the deathmatch) with a couple catches; the treasure chest can be
opened up to 18 times in total before breaking down, however, it can
only be opened up to 3 times per spaceman, encouraging the player to
share it with others.

Here the possible loot by the by:
- A toolbox containing a master fishing rod, all the hooks and reels,
fish feed, an experi-scanner, an aquarium kit and a can of super baits
- A box containing a lazarus injector, a cup and a bottle of strange
reagent which you can use to revive fish now
- A circuit board for a pre-emagged fishing portal generator
- A master fishing rod
- A can of super fishing baits
- A fish case containing Tiziran fish
- A fish case containing Syndicate fish
- An old, yet fairly strong cutlass
- An old laser gun which fires only 5 shots before running out
- A crank laser musket
- A smoothbore disabler
- A surplus bolt action rifle
- A ration pack
- A can of squid ink
- A bottle of aged rum that forces you to switch to the piratespeak
language
- A money bag with some doubloons inside
- A piratespeak manual
- Pirate armored coat
- Pirate armored hat
- A pre-loaded cannon
- Four trash cannon balls
- Four cannon balls

## Why It's Good For The Game
Mystery boxes are fun, from the little fanfare they play to the
potential loot they can give, and I had an old treasure chest I had
sprited for fun years ago around so I've come up with an entertaining
idea. If you think the loot list is a bit too hot, I can cool it down a
bit.
Also yeah, I wanted to make fish revivable with strange reagent, since
you can already do it with lazarus injectors even though using a lazarus
injector for this would be a severe waste of mining points.

## Changelog

🆑
add: Added a treasure chest you can rarely fish from the ocean/beach,
with loot being a mix of fishing and piratey stuff.
add: You can revive fish with strange reagent now.
/🆑
2024-08-16 15:53:52 +02:00
Waterpig
2000b07e29 Fixes welding and coil logic on robotic limb fixing (#85857)
## About The Pull Request

Before, trying to fix an undamaged limb would have you whack the person
with the wires, or burn them with a welder. This is quite counter
productive when trying to repair someone. Now it cancels any further
attacks when you click on an uninjured limb, and tells you about it.


![image](https://github.com/user-attachments/assets/1fc94d15-5508-4fa2-bdfa-bde856eaba20)

## Why It's Good For The Game

I won't accidentally smack someone with a burning welder without combat
mode on just because their chest happens to have no damage.

## Changelog

🆑
fix: Trying to repair someone's undamaged limb with a welder or wires no
longer has you smacking them
/🆑

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-08-16 15:25:32 +02:00
YesterdaysPromise
fec946e9c0 /Icon/ Folder cleansing crusade part, I think 4; post-wallening clean-up. (#85823)
Hello everybuddy, your number three rated coder-failure here to clean up
some mess. This PR accomplishes some of the more major structural clean
up changes I wanted to do with /obj/ folder, but decided to wait on
until wallening gets merged, and so, time has come. Several things to
still be done, although I know these cleaning PR's are quite a load, so
will wait for this one to get done with first.

## Why It's Good For The Game
Saner spriters, better sprites, less annoyance. Also deleted a whole
load of redundancy this time around, a lot of sprites which existed
simultaniously in two places now got exit their quantum superposition.
2024-08-15 20:22:02 -07:00
grungussuss
9a64fa934b SFX for RCD, RPD, Plumbing constructor (#85754)
## About The Pull Request
Hooked the switch sound on `ui_act`:
- RCD
- RPD
- Plumbing constructor
Added pickup and drop sounds for:
- RCD
- RPD
RPD also does the click sound when placing things.


https://github.com/user-attachments/assets/e6c2cb76-6a0a-4db9-9c25-961d41b84516

## Why It's Good For The Game
Immersion.
## Changelog
🆑 grungussuss
sound: added new sounds for RCD, RPD and Plumbing Constructor.
/🆑
2024-08-16 01:16:24 +02:00
Shadow-Quill
96f179f319 No longer hear radio sounds if you're deaf. (#85778)
## About The Pull Request

Checks if you're deaf before playing either the radio send sound, or the
receive sounds.
Fixes #85452

Additionally removes a repeated suicide_act for suiciding with a radio.
Other existing act is @ R558-R560

## Why It's Good For The Game

Can't hear a radio bloop if you can't hear.

## Changelog



🆑
fix: You can no longer hear radio sounds if you're deaf.
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-08-16 01:04:31 +02:00
Ben10Omintrix
4d43710d44 fixes rcds accounting for player dir only before construction (#85824)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! --> rcds now build based off of player's dirs right
before the object gets built

## Why It's Good For The Game

<!-- Argue for the merits of your changes and how they benefit the game,
especially if they are controversial and/or far reaching. If you can't
actually explain WHY what you are doing will improve the game, then it
probably isn't good for the game in the first place. --> closes #85810

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
fix: fixes rcds accounting for player dir only before construction
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-08-15 23:14:44 +02:00
tralezab
6b095f2574 Fixes bedsheets laid incorrectly onto beds (#85837)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

Fixes #85571

## Why It's Good For The Game

Just a push in the direction of a de-jank'd wallening

## Changelog

🆑
fix: bedsheets are laid on beds properly now
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
2024-08-15 19:20:31 +02:00
grungussuss
34e97a986f Allows RPD to place atmos meters on layer 1 and 5 (#85293)
## About The Pull Request
Why are we restricting atmos techs from doing this?
## Why It's Good For The Game
atmos meters are very useful and there is no reason to restrict them
from layer 1 and 5
## Changelog
🆑
qol: atmos meters can now be attached to layer 1 and 5
/🆑
2024-08-15 11:54:12 +01:00
grungussuss
ac2b4ef826 [no gbp] Consistency of sheet sounds (#85739)
## About The Pull Request
### Removed pickup/drop sounds from some items until a replacement comes
a long:
- paper sheets
- meat sheets
- bamboo sheets
- cotton
- bone 
- pizza sheets 
## Why It's Good For The Game
fuck.
## Changelog
🆑 grungussuss
sound: some sheets that shouldn't be making metal sounds no longer make
those sounds
/🆑
2024-08-15 08:15:40 +00:00
Joshua Kidder
e12519edb7 Gives upgraded hydro trays to the terrarium lavaland spawn vault (#85350)
## About The Pull Request



This gives deluxe hydroponics trays to the lavaland seed vault mob spawn
area, which are just trays with t4 parts.
## Why It's Good For The Game
Gives better trays to the seed vault, which will let them hydroponic
just a little harder.

## Changelog
🆑 Bisar
qol: The preserved terrarium vault now has tier 4 hydroponics trays,
making volume based tray chemistry take less time.
/🆑
2024-08-14 14:00:43 +02:00
grungussuss
a4a92eb84c Toolbox, medkit, cardboard box sounds. (#85337)
## About The Pull Request


https://github.com/user-attachments/assets/155210d1-d0ae-404e-b69c-a0d185306db6

### Added container rustle sounds for:
- medkit
- box
- toolbox

### Added container open sounds for:
- box
- toolbox

### De-hard coded container rustle sounds so now you can change the
sound path on subtypes.
## Why It's Good For The Game
- Hearing the same cloth rustling SFX for boxes, toolboxes and medkits,
when they're clearly not made of cloth is immersion breaking, let's fix
that.
- giving players satisfying sounds when they open containers and an
overall diversity of sounds will reduce ear fatigue
- rustle SFX were previously hard coded and you couldn't change them or
change the `vary` boolean, we should keep the code customizable and
allow contributors to add more rustle sounds by implementing this
framework.
## Changelog
🆑 grungussuss
sound: added rustle sounds for: toolbox, medkit, box
sound: added open sounds for: toolbox, box
code: added support for giving container items rustle sounds
/🆑
2024-08-14 13:46:51 +02:00
Joshua Kidder
e94974360e Holding a tactical item (cardboard cutout, plants) now gives TRAIT_UNKNOWN, replaces your name with the name of the tactical item (#85567)
## About The Pull Request

I added TRAIT_UNKNOWN to the code for picking up and dropping potted
plants. Picking them up will make you totally anonymous (and
suspicious). This is the same thing that infiltrator suit and heretic
shadow cloak does.

I also added in some code that changes your displayed name to the name
of the item, and then I had to jiggle ID code a bit so it wouldn't
display your worn ID; it'll now display the forced name of the tactical
object.

## Why It's Good For The Game

Becoming an absolute master of disguise by hiding with a potted plant is
hilarious. Causing people to become immensely paranoid of anyone holding
a potted plant is very on-brand. Dropping the potted plant to reveal
you're in full infiltrator gear or heretic aura is also a funny double
bluff. The total anonymity afforded by this is balanced out by the fact
that you have to use both hands to hold the plant so you can't defend
yourself at all if you're making use of it.
## Changelog
🆑 Bisar
add: The interns remembered to water the plants around the station;
their foilage is so thick that it totally hides the identity of anyone
holding them!
/🆑

---------

Co-authored-by: Ubuntu <ubuntu@ip-172-26-7-23.us-east-2.compute.internal>
2024-08-14 13:46:13 +02:00
Chen Marisa
e842dfccfc Add reaction search to service cyborg (#85441)
## About The Pull Request

This PR adds the "Reaction Search" button to the cyborg shaker, and
allows you to select between the internal beaker, and whatever's in the
beverage holding apparatus.

## Why It's Good For The Game

Very helpful for cyborgs who want to make drinks but don't have access
to a chemical/booze/soda dispenser to open the reaction search menu.

## Changelog
🆑
add: the cyborg shaker in service borgs now have the ability to open the
reaction search menu
/🆑
Sorry for the branch/repo confusion, I'm going to make a separate github
account for tgstation itself since github wont let me have tgstation,
and a fork of tgstation, on my account lol.


https://github.com/user-attachments/assets/d7ef6425-de83-48c6-b829-fbf7ac379941
2024-08-14 13:44:35 +02:00
r3dj4ck0424
809dad7478 Adds bowls to a lot of recipes (#85573)
## About The Pull Request
<details>
<summary> Causes the following foods to drop a bowl when eaten
</summary>
Fried Eggplant Polenta <br>
Hua Mulan Congee <br>
Herby Cheese <br>
Pineapple Salsa <br>
Chips and Salsa <br>
Beef Stroganoff <br>
Sambal <br>
Desert snail cocleas
</details>

<details>
<summary> Adds a bowl to the following recipes </summary>
Desert snail cocleas <br>
Sambal <br>
Hurricane Fried Rice <br>
Ikareis <br>
Hawaiian Fried Rice <br>
Ketchup Fried Rice <br>
Mediterranean Fried Rice <br>
Egg Fried Rice <br>
Bibimbap <br>
Bulgogi Noodles <br>
Yakisoba Katsu <br>
Martian Fried Noodles <br>
Simple Fried Noodles <br>
Setagaya Curry <br>
Po Kok Gai <br>
Galinha De Cabidela <br>
Katsu Curry <br>
Beef Bowl <br>
Salt Chilli Octopus Bowl <br>
Kansai Bowl <br>
Eigamudo Curry <br>
Pineapple Foster <br>
Sprout Bowl <br>
Beef Stroganoff <br>
Chips and Salsa <br>
Pineapple Salsa <br>
Herby Cheese <br>
Hua Mulan Congee <br>
Fried Eggplant Polenta
</details>

Causes Loaded poms-franzisks to drop a plate when eaten, and adds a
plate to the recipe

## Why It's Good For The Game

Closes #85509 
There's a whole bunch of recipes that have bowls in their sprites, and
many of them drop bowls when eaten. (Quite a few of them have the
"salad" recipe type, which drops a bowl by default.) But this was very
inconsistent. Some bowl-sprited foodstuffs neither dropped or needed
bowls, and some of them dropped bowls without requiring them in the
crafting. This PR should help make things a lot more consistent, and
until and unless someone redoes the sprites this should be a good enough
solution.
(I also added a plate to the loaded poms-frazinsks for roughly the same
reason.)
Since this also stops the crewmates from conjuring bowls out of thin
air, this should make bowls a bigger seller in the dinnerware vendor.

## Changelog
🆑
fix: In light of recent allegations of wizardry among the kitchen staff,
our cooks will now need bowls when crafting food that comes in bowls.
This should also stop said bowls from vanishing once the food is gone.
/🆑
2024-08-14 13:35:50 +02:00
nesquik
afc1e53014 Clarify what the Medical Cyborg Omnitool Upgrade does (#85729)
## About The Pull Request
Changed the text of the medical cyborg omnitool upgrade to specify it
increases surgery speed, and adds the advanced scanner.


## Why It's Good For The Game
I had a hard time figuring what this upgrade does. This should make it
clearer for everyone why it is good, given it has not much visual
feedback.

## Changelog
🆑
qol: Clarified what the Medical Cyborg Omnitool Upgrade does
/🆑
2024-08-14 13:29:19 +02:00
Astrogem2
7e0b463823 Durathread bundles and sinew make their proper noises instead of metal clang sounds. (#85485)
## About The Pull Request

Adds cloth noises to durathread bundles and meat noises to sinew strands
to stop them from making metal clang noises.

## Why It's Good For The Game
Fixes https://github.com/tgstation/tgstation/issues/85433, fixes
https://github.com/tgstation/tgstation/issues/85503

## Changelog

🆑
fix: Raw durathread bundles and sinew strands no longer make metal clang
sounds.
/🆑
2024-08-14 13:22:45 +02:00
GPeckman
f69284be5b Abductors can no longer be converted by conversion antags (#84766)
## About The Pull Request

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

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

In #77887 I have introduced a food buff system with placeholder buffs to
not bloat that PR with balance-related things to allow people to add
their own effects and discuss the particular effects in separate PRs.

The goal is to have:

- Some default buffs for all food. Currently there's only Haste that
scales with food complexity.
- Some interesting buffs tied to food categories or specific dishes

This PR is a first part of this change.

- Adding an indicator to Cooking UI that food does something special
- Added **Spaghetti Carbonara** dish that gives Italian speech.

![image](https://github.com/user-attachments/assets/2035a97a-6048-4636-bd49-d1ea3390a50e)

- Added **Jupiter Cup Cake** that gives shock immunity instead of it
being randomly given by high-complexity dishes.

![image](https://github.com/user-attachments/assets/3260339d-0167-4840-9b76-10371959e16c)

- Made **Omelette Du Fromage** give French speech.
- Made **Mime Tart** give Mute trait
- Made **Clown Cake** give Waddle Walk trait
- Made **Stuffed Legion** give Ashstorm Immune trait

## Why It's Good For The Game

Foodening PR was incomplete, this PR is a step towards the completion.

## TODO

- [X] Pick a certain dish to give the French speech
- [X] Pick a certain pasta to give the Italian speech
- [X] Pick a certain dish for the shock immunity buff
- [x] Add an indicator to the cooking UI that a dish has a special
effect
- [x] Add more food effects per suggestions

## Changelog

🆑
qol: Dishes with a special food effect are marked in the Cooking UI
add: New Spaghetti Carbonara dish that makes people Italian temporarily
add: Omelette Du Fromage makes people French temporarily
add: Shock Immunity is no longer a random level 4-5 food buff, but a
buff given by a new Jupiter-Cup-Cake
add: Mime Tart gives Mute trait
add: Clown Cake gives Waddle Walk trait
add: Stuffed Legion gives Ashstorm Immune trait
/🆑
2024-08-14 13:10:21 +02:00
hack-wrench
c5e2321313 add syndie lipstick (#85249)
## About The Pull Request

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

## Why It's Good For The Game

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

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

## Changelog


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

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

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

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

🆑
add: add syndicate branded lipstick to uplink (6 TC), after applying
lipstick *kiss deals damage equal to energy gun
fix: fix wallhit sound for projectile
/🆑
2024-08-14 13:04:29 +02:00
nesquik
83dde48caa Add a janitorial 'borg plunger (#85475)
## About The Pull Request
I got annoyed at not being able to plung vents when there's a clog. This
PR corrects that. I copied all of the cyborg mop attributes to make
this. This is my first PR on this server, but I did test it on a local
server, and it indeed, plungs.

## Why It's Good For The Game
More content for janitorial cyborg. They really should have a plunger,
to be honest. It just makes sense to me.

## Changelog
🆑
add: Added a cyborg plunger for janitorial modules
/🆑
2024-08-14 12:38:50 +02:00
Odairu
e8b717aa5d Fixes a bug that made it so radios inside objects would blare out their comms to everyone around them (#85676)
## About The Pull Request
Currently things like bounty cubes that are not supposed to be
broadcasting comms, are doing so for the department their nested radio
is set to.
This happens because when an encryption key is put into a radio that is
off and that radio has its channels recalculated, all of the default
channels on the encryption key (in the case of bounty cubes, supply) are
set to being on and the radio 'forgets' that its supposed to be off
until it is turned back on, then turned off again. Obviously we cannot
do this to a radio inside of an object in game, as we have no way of
accessing it, so I am adding a check for if the radio is off at the end
of recalculatechannels() and if it is off, it will turn it on, then back
off so it can remember
## Why It's Good For The Game
fixes a rather minor bug which gives anyone free [insert comms channel
here] for any object with a radio inside that is given an encryption
key, my example being a bounty cube with a radio and an encryption key
for cargo.

This could also be solved by going through every single instance of a
nested radio and taking away their keys and instead doing
set_frequency(FREQ_<DEPARTMENT>) However, this would nip the bug in the
bud when otherwise the way its been being written should be working.
## Changelog
🆑
fix: fixed nested radios with encryption keys giving free comms
/🆑

---------

Co-authored-by: Odairu <39929315+Odairu@users.noreply.github.com>
2024-08-14 12:32:41 +02:00
SmArtKar
35523291ca Adds arms/legs coverage to armored gloves/shoes, adds a unit test to check for former (#85667)
## About The Pull Request
Turns out HANDS and FEET coverage doesn't actually apply armor to the
body, at all, making it entirely useless. Despite this, a lot of
clothing still does it! So I added ARMS and LEGS flags to gloves/shoes
that do it respectively and wrote a unit test for it that will yell out
a list of all items missing coverage while having non acid/bio/fire
armor (three snowflake types)

as discusses with melbert on discord

## Why It's Good For The Game
...features working as intended?

## Changelog
🆑
balance: Multiple gloves/shoes that had armor values but failed to apply
them got fixed
/🆑
2024-08-14 12:31:40 +02:00
SmArtKar
2e0b577eba Fixes DNA sampler attack chain heck (#85662)
<!-- Write **BELOW** The Headers and **ABOVE** The comments else it may
not be viewable. -->
<!-- You can view Contributing.MD for a detailed description of the pull
request process. -->

## About The Pull Request

Closes #85656

## Changelog

<!-- If your PR modifies aspects of the game that can be concretely
observed by players or admins you should add a changelog. If your change
does NOT meet this description, remove this section. Be sure to properly
mark your PRs to prevent unnecessary GBP loss. You can read up on GBP
and its effects on PRs in the tgstation guides for contributors. Please
note that maintainers freely reserve the right to remove and add tags
should they deem it appropriate. You can attempt to finagle the system
all you want, but it's best to shoot for clear communication right off
the bat. -->

🆑
fix: Fixed DNA samplers not being able to interact with non-scannable
objects
/🆑

<!-- Both 🆑's are required for the changelog to work! You can put
your name to the right of the first 🆑 if you want to overwrite your
GitHub username as author ingame. -->
<!-- You can use multiple of the same prefix (they're only used for the
icon ingame) and delete the unneeded ones. Despite some of the tags,
changelogs should generally represent how a player might be affected by
the changes rather than a summary of the PR's contents. -->
2024-08-14 12:28:59 +02:00
SmArtKar
ac750f358f Fixed monk staffs not displaying a wielded sprite (#85767)
## About The Pull Request

Closes #85764

## Changelog
🆑
fix: Fixed monk staffs not displaying a wielded sprite
/🆑
2024-08-14 12:19:01 +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
Waterpig
e7bfcac8bb Laser pointers no longer make felinids phase through diagonal gaps (#85755)
## About The Pull Request

Someone forgot the dir argument, making it possible to phase through
diagonal gaps.

## Why It's Good For The Game

One less bug. I like my gbp

## Changelog

🆑
fix: Felinids no longer phase through diagonal gaps upon seeing a laser
/🆑
2024-08-12 16:16:02 +02:00
grungussuss
aebeed5c96 Ore ore ore ore ore... sounds. (#85738)
## About The Pull Request
Closes https://github.com/tgstation/tgstation/issues/85615

#### Applied to:
- all ore subtypes, except bluespace polycrystals
- Sandstone blocks

### Video:


https://github.com/user-attachments/assets/7fdd322a-4f57-4df7-bd72-e6400382b58b
## Why It's Good For The Game
immersion.
## Changelog
🆑 grungussuss
sound: ore and sandstone blocks have their own sound
/🆑
2024-08-11 15:07:31 +02:00
Da Cool Boss
06aa7b846a Fixes Donk Co. & Waffle Corp Trademark Issues (#85686)
## About The Pull Request
All references to "Waffle Co" and "Waffle Company" have been scrubbed
and replaced with appropriate branding. "The Waffle Corporation" may be
shortened to "Waffle Corporation", "Waffle Corp" or "Waffle Corp." only.

All references to "Donk Corp." and "Donk Corporation" have been scrubbed
and replaced with appropriate branding. "Donk Company" may be shortened
to "Donk", "Donk Co" or "Donk Co." only.
## Why It's Good For The Game
Keeps these names consistant and lore accurate.
## Changelog
🆑
spellcheck: fixed many incorrect spellings of Waffle Corp and Donk Co.
/🆑

---------

Co-authored-by: BlueMemesauce <47338680+BlueMemesauce@users.noreply.github.com>
2024-08-09 23:22:53 -04:00
Rhials
0ff56a766e Fixes ziptie pickup/drop sounds (#85630)
## About The Pull Request

This removes the pickup/drop sounds from zipties, inherited from
handcuffs.

I elected to keep the `cuffsuccesssound` the same, as I feel like the
sound is appropriate for conveying zipties being tightened off.
## Why It's Good For The Game

Closes #85616, I hope. The issue report wasn't very descriptive so I'm
not sure if I've missed anything here.
## Changelog
🆑 Rhials
sound: Zipties no longer make handcuff noises when picked up or dropped.
/🆑
2024-08-07 04:56:37 -04:00
OrionTheFox
93e81ee348 Adds some missing Knife worn icons (#85488) 2024-08-04 13:13:50 -04:00
SmArtKar
5639f9b6d3 Cable coil and welding tool healing now loops. Fixed heal message not displaying when healing someone else (#85377)
## About The Pull Request

Using cable coil or welding tools to heal robotic bodypart will now
restart the interaction once the part is successfully healed, similarly
to how sutures/meshes work. To ensure that this doesn't instantly heal
whoever it is applied to, they now take 1 seconds to apply to someone
else after the first loop (same as click cooldown, basically).
Self-application still takes 5 seconds.

There also was an (I think?) unreported issue with them not actually
displaying the heal messages when used on someone else because the
messages were inside of self-healing check.

## Why It's Good For The Game

Clicking on self every 5 seconds can get annoying, same reasoning as to
why sutures/meshes loop. And bug is just a bug, not much to say here.

## Changelog
🆑
qol: Cable coil and welding tool healing now loops similarly to
sutures/meshes
fix: Fixed cable coil/welding tool heal message not displaying when
healing someone else
/🆑
2024-08-01 14:56:27 +00:00
Waterpig
cd615e0751 Fixes flashdark (#85454)
## About The Pull Request

Flashdarks now actually produce darkness. The bugfix that broke this
added their fix to them even though the bug didnt apply here. (#79240)


![image](https://github.com/user-attachments/assets/5c23ac5d-ce73-4b40-92c9-2c7c2770730b)

closes https://github.com/tgstation/tgstation/issues/68638

## Why It's Good For The Game

A bugfix is good for the game.

## Changelog

🆑
fix: Flashdarks now broduce darkness upon toggling
/🆑
2024-08-01 14:45:43 +02:00
SmArtKar
28855c4a70 Bamboo staffs can now be wielded, bostaff no longer disappears forever when wielded (#85443)
## About The Pull Request

Closes #85431

## Changelog
🆑
fix: Bamboo staves can now be wielded
fix: Bostaff no longer disappears forever when wielded
/🆑
2024-08-01 14:42:30 +02:00
grungussuss
1263b6a73e [no gbp] Fixes rods not having sound_vary on (#85361)
## About The Pull Request
rods are an item subtype, not a sheet. naturally I only applied
`sound_vary` to the sheet parent
## Changelog
🆑
fix: rod sounds will now vary in pitch
/🆑
2024-08-01 01:00:19 +02:00
Helg2
be9a9c0e33 [NO GBP] Fixes emergency climbing hooks spawning on not multi-z stations. (#85381)
## About The Pull Request
I naively assumed that `if(LAZYLEN(SSmapping.multiz_levels))` which was
already present was doing something and didn't proceed with testing
stuff further, well turns out it doesn't.
## Changelog
🆑
fix: Emergency climbing hooks now shouldn't spawn on non multi-z
stations.
/🆑
2024-07-31 22:24:02 +02:00
SmArtKar
099745d67c Silicons and simplemobs can also hear radio chatter now (#85347)
## About The Pull Request

Closes #85334

## Changelog
🆑
fix: Silicons and simplemobs can also hear radio chatter now
/🆑
2024-07-31 18:15:07 +02:00
Nick
b9dfb7a44f Power cell overlay now updates when exiting an object's contents (#85079)
## About The Pull Request
The charge indicator overlay on power cells is now properly updated when
the cell is charged/discharged. Before, you could use a power cell until
it's empty and the overlay wouldn't change at all.
## Why It's Good For The Game
The overlay is there to indicate the charge of the cell. It should work.
## Changelog
🆑
fix: The charge indicators on power cells now work properly.
code: Removed some now redundant power cell appearance updates
/🆑

---------

Co-authored-by: jimmyl <70376633+mc-oofert@users.noreply.github.com>
2024-07-31 17:08:07 +02:00
grungussuss
f0575ec415 The Soundening: Security and guns edition. (#85309)
## About The Pull Request


https://github.com/user-attachments/assets/9c47c512-ff22-4832-9524-fd6f3e6147c7

Pickup sounds for:
- all guns
- riot shields
- handcuffs
- batons and telebatons
- pepper spray 
- all grenades

Storage open sound for:
- security belt, security webbing, all holsters

Successfully cuffing someone now has its own satisfying sound!
## Why It's Good For The Game
The most combat intensive role in the game doesn't have these sounds to
complement their gameplay, these sounds will increase the amount of
danger audio cues you can listen for and give feedback to players on
what others are doing.
## Changelog
🆑
sound: guns have pickup and drop sounds
sound: security belts and holsters have opening sounds
sound: handcuffs have pickup and drop sounds
sound: stun batons and telescopic batons now have pickup and drop sounds
sound: grenades have pickup and drop sounds
sounds: riot shields and telescopic shields have pickup and drop sounds
sound: successfully handcuffing someone has sound
/🆑
2024-07-31 14:59:22 +01:00