Commit Graph

956 Commits

Author SHA1 Message Date
carlarctg
a378fea3e0 Split security gloves from black gloves, gave sprites to those and tackling gloves, moves tackling to right-click (#84909)
## About The Pull Request

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

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

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

Sprites here:

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


Moved tackling to right click.

## Why It's Good For The Game

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

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

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

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

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

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

> Moved tackling to right click.

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

## Changelog

🆑
add: Added security gloves, which have the fast cuff trait. Normal black
gloves no longer have them.
imageadd: Adds sprites for security and tackling gloves, moves tackling
to right-click!
imageadd: Also added blue security gloves for the blue sec PR. Whoever
merges it first will, assumedly, add it then.
qol: Moved tackling to right click.
/🆑
2024-07-15 21:33:05 -06:00
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
FinancialGoose
44fd12a956 Add interaction sounds to pill bottle (#84924)
## About The Pull Request


https://github.com/user-attachments/assets/111ec50f-9e52-41be-925a-0fb9d880ab3d
## Why It's Good For The Game
More soundscape is good for immersion
## Changelog
🆑
sound: added pickup, dropping and opening sound for pill bottle
/🆑
2024-07-14 20:07:11 -06: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
SmArtKar
a3e65cdfdf Fixes meat producing copious amounts of blood (#84820)
## About The Pull Request
Closes #83665
blood_walk component's amount of blood is actually the amount of tiles
on which the component will leave blood. This makes steaks roughly
consistent with the meat material, as previously they had copious 400
tiles of blood. Since by default blood decals hold 50 blood, this
translates to... 20 thousand units of blood.
Does same for the meatpack which copypasted code from the steak from the
looks of it.

## Why It's Good For The Game

400 tiles is a nonsensical amount of blood for a single steak, and this
is clearly an oversight. Maintainers are welcome to relabel this as
balance if required.

## Changelog
🆑
fix: Steaks and meatpacks no longer have an absurd amount of blood
stored inside of them.
/🆑
2024-07-11 02:22:50 +02:00
Ghom
a1366fc905 Night Vision Goggles update (#84594)
## About The Pull Request
This is a reboot of #84550 but with way less unbearable: mesons are off
the table and I've made the night vision tonalities lighter now, while
also improving the darkness cutoffs of some of them. Btw, you can also
turn night vision googles on/off now. Each pair of departmental night
vision goggles now comes with their own tint to boot.

As always, this doesn't affect nukies and ninjas. They're almost
garaunteed to keep their googles equipped and on at all time, so it
would honestly adulterate the overall experience a little.

Now, for some pictures...

In the dark, **top** row is **old**, **bottom** row is **new**. from
left to right: security, science, standard/meson, diagnostic, health:

![dank](https://github.com/tgstation/tgstation/assets/42542238/4eb0dc3d-5b3a-47b1-ad65-d3da138a9213)

In the light: security, science, no goggles, standard/meson, diagnostic,
health:

![lite](https://github.com/tgstation/tgstation/assets/42542238/6e56262f-8ed6-4ea9-bab7-2110bc589d65)

The screenshots were taken from varedited goggles on the servers because
it's bit faster than booting up a local server, plus I had to finetune a
few things.

## Why It's Good For The Game
So, I kinda wanted to give a bit of screen colors to goggles that was
not some sort of "optional, by default turned off" kind of crap nobody
cares about, however my previous PR was met with a lot of criticism,
which made me rethink how to do it. I honestly don't want it to be a
burden, but I do want to make them a bit fancier tho.

Also the the medical NVs (and perhaps sec NVs) were a bit crappier than
the rest.

## Changelog

🆑
add: Night vision goggles now subtly tint your screen.
add: You can turn your night vision goggles off. Doing so removes the
tint and the eye protection malus.
/🆑
2024-07-07 15:17:37 -04:00
carlarctg
bd14e92d04 Converts slapcrafting into a bespoke element (#84226)
## About The Pull Request

Converts slapcrafting into a bespoke element, used to be ac omponent

## Why It's Good For The Game

Noticed this was a big C and realized there was no real reason for that.
It's the same recipe shared across different items.

## Changelog
N/A

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-07-05 22:20:30 +00:00
Andrew
d1f3fc3fdf Oldstation (Charlie) experiments tweaks [NO GBP] (#84379)
## About The Pull Request

There was a feedback that the new techweb made it harder to do science
on ghost roles, namely Charlie station crew.

This PR makes a few tweaks to oldstation to lower the bar on the
experiments:

- Added a pure N2O tank for easier BZ creation
- Added one diamond to the ai sat to create artificial BS crystal
- Added research console to ai sat with frontier app pre-installed
- Added a gas compressor to Beta station atmos area

Also moved the NTNet relay back to tcomms node as it requires tcomms
parts. And moved chem pack/blood pack from tier 1 to tier 0 per players`
request.

Also fixed the dissection experiments giving the old amount of bonus
points, before the recent point denomination.

Made a few other minor changes to the map.

## Why It's Good For The Game

Charlie is supposed to be friendly for the beginner players, yet the new
experiments are hard to do with the limited resources on Charlie.

## Changelog

🆑
qol: It is easier to do some required techweb experiments on Charlie
station now
fix: Fixed experimental dissection surgeries giving too many points
balance: Techweb: Moved NTNet relay back to tcomms node
balance: Techweb: Moved blood pack and chem pack to the starting node
/🆑
2024-07-01 17:48:19 -07:00
Ghom
35484728f1 Cigarettes and vapes are no longer subtypes of masks. (#82942)
## About The Pull Request
Since non-clothing items can also be worn on several slots, there's no
need for cigarettes/vapes to be subtypes of masks anymore, since that
comes with a few oddities like #82870.

## Why It's Good For The Game
This should fix #82870, with about no side-effect aside them no longer
being edible by moths 🤢.
2024-06-29 12:44:48 -05:00
MrMelbert
4aa7bae77a Moves tool use back higher in the chain, but makes it so tool acts are only called on non-combat-mode (#84083)
## About The Pull Request

### Dilemma 

So we've been running into a dilemma recently as we move more and more
items over (#84070, #83910)

Some things like modsuits, tables, washing machines, storage items want
to do their tool acts before their item interactions

In the past this was perfectly fine, because it was `tool_act` ->
`attack`, but now it's a problem, because it's `item_interaction` ->
`tool_act` -> `attack`.

Rather than resort to snowflaking, my idea is that we can move tools
back up the chain so deconstruction and other similar effects are
handled first, before anything else like putting the tool onto the
table.

### So why does it require non-combat-mode?

A large amount of tool acts early return if the user's on combat mode to
allow the user to smack the thing instead of using the tool on it. So
I've decided to walk back on what I said like a week ago and make this
standardized behavior.

### Misc

Reintroducing `tool_act` as a proc that exist means that atoms can
easily hook certain interactions that must happen very high in the click
chain, such as doing something that block storage insertion. Moves some
of the behaviors I put on the (admittedly rather hacky) new proc to
that.

(Also cleaned up a bit of lockbox and medbot code)

## Changelog

🆑 Melbert
fix: Fixed modsuit interactions slightly. No longer requires combat mode
to use tools on it, plasma core works as intended as well. (Using combat
mode, however, will make you insert the item)
refactor: Refactored lockboxes
refactor: Refactored medbot skin application
/🆑
2024-06-28 16:18:50 -06:00
SmArtKar
4ac4375faf Adds pen clicking, changes most pen typechecks into writing implement checks (#84186)
## About The Pull Request

Fixes #84170 
Adds pen clicking and changes some of edagger and pendriver code to use
it instead.
Also replaces most pen typechecks to writing implement checks where it
makes sense, so now you can rename things with everything you can write
with (crayons)


![3d6NwcATNp](https://github.com/tgstation/tgstation/assets/44720187/f6b3ba2f-f3de-4e40-827f-2bad153a92f4)

Twisting pen caps (for traitor uplinks) has been moved to ctrl + click
instead.
2024-06-24 16:08:37 -05:00
Da Cool Boss
7a8d1fb3a3 Rewrites GLA mail counterfeit device's descriptions (#84215) 2024-06-24 00:06:14 -06:00
GoblinBackwards
d5944df123 Fixes thermal holster trait issues (#83962)
## About The Pull Request
Uses ADD_CLOTHING_TRAIT to store a ref to the individual holster item
that's providing the gunflip trait. This fixes an issue that was
happening where having one holster equipped and dropping or unequipping
another would remove the trait from you, even though you were still
wearing one.
## Why It's Good For The Game
Fixes #83762 
## Changelog
🆑
fix: Fixed thermal pistols sometimes not recognising an equipped holster
when trying to spin them to recharge.
/🆑
2024-06-14 12:24:52 -06:00
MrMelbert
6fea9d999d Small playsound audit, particularly involving portal sounds (#83893)
## About The Pull Request

I was looking at sounds (as you do) and I noticed this


![image](https://github.com/tgstation/tgstation/assets/51863163/25b298ca-31ac-48a0-9f86-c65a8becd532)

These sounds don't exist

We have `portal_open_1`, not `portal_open1`. 
This wasn't caught on compile because they used `""` and not `''`.

So I went through and audited a bunch of playsound uses that don't use
`''`. Only one error, fortunately

Likewise there was a ton of places running `get_sfx` pointlessly
(because `playsound` does it for you) so I clened that up.

However while auditing the portal stuff I noticed a few oddities, so I
cleaned it up a bit.

Also also I added the portal sounds to the wormholes event and gave it a
free ™️ optimization because it was an in-world loop

## Changelog

🆑 Melbert
sound: Portals made by portal guns now make sounds as expected
sound: Wormholes from the wormhole event now make sounds when formed
/🆑
2024-06-13 23:47:37 -06:00
SyncIt21
47be0bffc2 Ctrl click refactor (#83784)
## About The Pull Request
Same idea as #82656 but for ctrl click & ctrl shift click cause why not

- Does your signal & `can_perform_action()` checks using
`interaction_flags_click` flags before delegating the event down to
`ctrl_click()` proc.
- The one new change now is that `ctrl_click()` proc is now blocking,
meaning returning `CLICK_ACTION_SUCCESS` or `CLICK_ACTION_BLOCKING` will
stop the object from getting grabbed/pulled. So remember to return these
values if you want to stop the grab action or return `NONE` if you want
to process the click but still want the object to get grabbed as well

## Changelog
🆑
refactor: Ctrl click & Ctrl shift click has been refactored. Please
report bugs on GitHub
/🆑
2024-06-13 13:29:45 -07:00
MrMelbert
ff6b41aa07 Afterattack is dead, long live Afterattack (#83818)
## About The Pull Request

- Afterattack is a very simple proc now: All it does is this, and all
it's used for is for having a convenient place to put effects an item
does after a successful attack (IE, the attack was not blocked)


![image](https://github.com/tgstation/tgstation/assets/51863163/1e70f7be-0990-4827-a60a-0c9dd0e0ee49)

- An overwhelming majority of afterattack implementations have been
moved to `interact_with_atom` or the new `ranged_interact_with_atom`

I have manually tested many of the refactored procs but there was 200+
so it's kinda hard

## Why It's Good For The Game

Afterattack is one of the worst parts of the attack chain, as it
simultaneously serves as a way of doing random interactions NOT AT ALL
related to attacks (despite the name) while ALSO serving as the defacto
way to do a ranged interaction with an item

This means careless coders (most of them) may throw stuff in afterattack
without realizing how wide reaching it is, which causes bugs. By making
two well defined, separate procs for handing adjacent vs ranged
interactions, it becomes WAY WAY WAY more easy to develop for.

If you want to do something when you click on something else and you're
adjacent, use `interact_with_atom`
If you want to do something when you click on something else and you're
not adjacent, use 'ranged_interact_with_atom`

This does result in some instances of boilerplate as shown here:


![image](https://github.com/tgstation/tgstation/assets/51863163/a7e469dd-115e-4e5b-88e0-0c664619c878)

But I think it's acceptable, feel free to oppose if you don't I'm sure
we can think of another solution

~~Additionally it makes it easier to implement swing combat. That's a
bonus I guess~~

## Changelog

🆑 Melbert
refactor: Over 200 item interactions have been refactored to use a
newer, easier-to-use system. Report any oddities with using items on
other objects you may see (such as surgery, reagent containers like cups
and spray bottles, or construction devices), especially using something
at range (such as guns or chisels)
refactor: Item-On-Modsuit interactions have changed slightly. While on
combat mode, you will attempt to "use" the item on the suit instead of
inserting it into the suit's storage. This means being on combat mode
while the suit's panel is open will block you from inserting items
entirely via click (but other methods such as hotkey, clicking on the
storage boxes, and mousedrop will still work).
refactor: The detective's scanner will now be inserted into storage
items if clicked normally, and will scan the storage item if on combat
mode
/🆑
2024-06-11 21:58:09 -07:00
KingkumaArt
ed4ba0d227 Adds Atmos-themed Rebar Crossbow Ammo Types (and minor balance changes) (#83310)
## About The Pull Request

So this PR comes in two basic parts: the new ammo types and the minor
balance changes. I'll go over each separately.

**--- NEW AMMO TYPES ---** 


![image](https://github.com/tgstation/tgstation/assets/69398298/c031cf87-7bde-4a67-b5fc-109bedcece88)

-- Metallic Hydrogen Ammo: Made from Metallic Hydrogen, obviously. Has
middling damage and no dismemberment chance, but pierces through armor
and enemies like they weren't even there.

-- Zaukerite Slivers: Made from a zaukerite crystal. Does high toxic
damage, and has excellent wounding and embed chances, but lacking in
armor penetration. Also gives 1 second of blurry vision if it hits you!

-- Paper balls: Crafted from a sheet of paper. Mostly just a throwing
joke item, and 99% nonlethal like donksoft. Can be fired from a
crossbow, but also could be used if you wanted to have a snowball fight
on metastation.

-- Healium Crystal Bolts! Crafted (using menu) from the healium grenade
item. Heals 30 of brute/tox/burn, but puts who is hit by it to sleep for
three seconds, limiting its use in actual combat.

-- Supermatter Bolts: Dusts whoever you shoot it at! Absurdly
overpowered! Admin only!

-- A makeshift quiver, made from cutting a o2 tank in half, to store all
the ammo in.

**MINOR BALANCE CHANGES**

-- For some reason I thought the 357, which the traitor crossbow is a
direct competitor to, did 40 damage when making the first version of the
PR, instead of the reality of it doing 60. It's been buffed to 55
damage. (The basic engi one still does 35.)

-- I've been informed that generally, the stressed rebar crossbow isn't
ever used, as the misfire chance isnt worth the extra shot. As such, I
felt it was thematic to say that the stressing procedure involves
messing with the draw system in the fluff, and the stressed one now
takes half as long to rack.

**OTHER CRAP**

-- The rods now drop themselves if you shoot them at a wall. Hopefully.
-- Fixed the the non-bare wound chance on the traitor crossbow not being
increased from the base version.
-- Has a nice electronic discharge noise on firing.

## Why It's Good For The Game

I'm very happy with the reception of the rebar crossbow, and felt that
given it was an engi weapon at heart, giving it some engi-related
ammunition would fit it very well (and also have a good reason for
making zaukerite besides selling it.) The paper balls were more just so
the crew could able to shoot their buddies with it and not maim them.

As for the balance, I feel the tot crossbow being department restricted
is already a strong factor in it being infrequently seen, and if someone
is lucky enough to roll traitor in a job slot, it's a shame if their
job's items aren't worth it. The stressed variant is a similar case, and
I hope it's enough of a buff to encourage its use.

## Changelog
🆑 WebcomicArtist
add: Added zaukerite (high damage/embed, low AP) and metallic hydrogen
(High AP and piercing, but low embed) crossbow ammo for the rebar
crossbows
add: Added healium crystal ammo for the crossbow as well, which heals
whomever you shoot it at.
add: Added admin-only supermatter crossbow bolts that dust you, because
why the hell not.
add: Added non-harmful paper balls. Can be shot from a crossbow, or
thrown at co-workers.
add: Added a quiver made from cutting an o2 tank in half, to hold it
all.
image: added sprites for all the above.
balance: Traitor Engineer Crossbow ammo now does 55 damage instead of
45, to make it compete with revolver.
balance: Stressed Rebar Crossbow now has a shorter delay required to
rack it, but can shoot you in the face on misfire.
fix: fixed rebar crossbow shots not dropping items on hitting walls
fix: fixed traitor crossbow having worse wound chance than the base one
sound: added new crossbow firing sound effect

/🆑

---------

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2024-06-09 02:06:26 +00:00
hack-wrench
79031b3b53 add smoke kit to uplink (#83330)
## About The Pull Request

Add smoke kit (5 grenades) by 2 TC

## Why It's Good For The Game

Smokes can be a good addition for stealth implant, vanishing and slicing
with a katana

## Proof of Testing

<details>
<summary>Screenshots/Videos OLD</summary>
  

![image](https://github.com/tgstation/tgstation/assets/60922927/89b56042-2b25-4f5e-bfd4-b5d088c56abd)

![image](https://github.com/tgstation/tgstation/assets/60922927/56d0c084-6c46-4e58-8931-c30d623858ee)

</details>

## Changelog


🆑
add: Added smoke kit (5 grenades) with four grenades to uplink by 2 TC
/🆑

---------

Co-authored-by: Helg2 <93882977+Helg2@users.noreply.github.com>
2024-05-20 21:12:43 -07:00
Hatterhat
14e27ec462 adds the Ansem/SC, the logical conclusion to the John Splintercell series (#83228)
## About The Pull Request
Replaces the Ansem, SC/FISHER, and suppressor in the Sam Fisher gimmick
bundle with the Ansem/SC, a variant of the Ansem that:
- has an integral suppressor (read: acts like it's always suppressed,
because it is)
- an underbarrel light disruptor (functionally identical to the
SC/FISHER, fired with RMB)
(note: firing the disruptor in combat mode causes the main gun to fire
as if it were being fired akimbo. which it shouldn't, but I'm not sure
how to make it not do that)
- is longer, visually, but not storage-wise, and also visibly has an
underbarrel light disruptor

![image](https://github.com/tgstation/tgstation/assets/31829017/0842d9b9-9b24-4833-aeae-631c3bf1a5d5)

Also added code support for integrally suppressed ballistic guns (with
no separate suppressor overlay), handled by the can_unsuppress variable.

Also fixes the SC/FISHER disrupting APCs for ten times longer than they
probably should have been disrupted.
## Why It's Good For The Game
In regards to the Ansem, SC/FISHER, suppressor:
The Sam Fisher gimmick bundle having the Ansem and SC/FISHER as separate
items always kinda bugged me, since it seemed too clunky for a
sneaky-beaky operator-type to have to juggle two guns (one which you had
to bump to normal-size, leaving it unable to fit in the belt) to break
lights and then shoot dudes in the back of the head. So now it's one
gun, like the M-90gl and its grenade launcher. I think the bundle's rare
enough that it's fine to give them this much.

In regards to the APC thing:
Shooting an APC with a gimmick gun and leaving it unpowered for two
minutes seemed unintentional.

In regards to the code support for integrally suppressed guns:
Maybe someone else will want to put in another integrally suppressed
gun? It was relevant for this use-case.
## Changelog

🆑
qol: The Ansem, suppressor, and SC/FISHER included in the Fisher gimmick
bundle now come together as one whole gun, the Ansem/SC. It's integrally
suppressed, and fires the disruptor on right-click.
fix: The SC/FISHER disrupts APCs for an appropriate amount of time, not
ten times the intended disruption length.
/🆑

---------

Co-authored-by: Hatterhat <Hatterhat@users.noreply.github.com>
Co-authored-by: Zephyr <12817816+ZephyrTFA@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-05-17 09:17:05 +00:00
PKPenguin321
261548f09d Staff of Shrinking for the wizard (#83115)
<!-- 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

Adds a new staff for the wizard that shoots shrink rays. Also a
corresponding wand that comes with the wand belt. Shrinking is a
mechanic already implemented by abductors, but it's not often used
because it doesn't fit their kit super well. That's a huge shame because
shrinking stuff/people is really funny. And you know where funny stuff
fits well? The wizard kit.

OH YEAH and being shrunken now gives you the squash component so you can
be squashed as though you were a roach, though this only deals 10 damage
instead of gibbing you

tiny staff

![68747470733a2f2f696462322e616666656374656461726330372e636f2e756b2f696d616765732f32353836323339392f38333131352f31333237383435323531373936343834343132322e706e67](https://github.com/tgstation/tgstation/assets/8345184/af777602-036f-4171-ad43-5dafa7b29414)
tiny wand

![68747470733a2f2f696462322e616666656374656461726330372e636f2e756b2f696d616765732f32353836323339392f38333131352f393439333932353034373033303238393530372e706e67](https://github.com/tgstation/tgstation/assets/8345184/81241789-404f-4d8e-8473-2ec74b171f55)
exhausted wand turns back to a big wand sprite :)

![68747470733a2f2f696462322e616666656374656461726330372e636f2e756b2f696d616765732f32353836323339392f38333131352f323039323438333731323537303338313239362e706e67](https://github.com/tgstation/tgstation/assets/8345184/c2073952-c16b-4113-9ca9-527cfdbcfd16)


## Why It's Good For The Game

Shrinking stuff is funny, plus it gives the wizard something new to do
besides polymorphing everyone or turning everybody to stone or ei
nathing people.

## 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 it's 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. -->

🆑
add: New funny wizard staff/wand that shrinks stuff.
add: Being shrunken now leaves you vulnerable to being crushed to death.
/🆑

<!-- 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-05-15 03:10:13 +02:00
Jeremiah
c12af14f20 Fixes sabre alt-click (#83162)
## About The Pull Request
Alt click wouldnt draw the sabre bc of dual click actions
## Why It's Good For The Game
Fixes #83159
## Changelog
🆑
fix: Alt click will draw the captain's sabre again
/🆑
2024-05-13 02:35:33 -04:00
paganiy
45b403f296 Fix the RMB action on the cigarettes pack and add a new QoL (#83170)
## About The Pull Request
Fix the movement of a pack of cigarettes under an spaceman when they
interacts with it with the right mouse button.
Also adds a new way to quickly insert cigarettes in the mouth, just
hitting a pack of cigarettes on yourself. Here how it works:


https://github.com/tgstation/tgstation/assets/126676387/9f1442b0-173b-4f2e-a95e-e42fd9269642
## Why It's Good For The Game
It fixes the bug and adds a new quick and convenient way to put a
cigarette in your mouth. That's good, isn't it?
## Changelog
🆑
qol: Now you can put a cigarette in your mouth just by hitting the pack
of cigarettes on yourself.
fix: The cigarette pack no longer moves under the spaceman when they
interacts with it with the RMB
/🆑

---------

Co-authored-by: paganiy <leunscrupuloustrolle@gmail.com>
2024-05-12 08:46:10 -07:00
DrAmazing343
8666801e11 Allows the Coroner's Ritual Knife to go in the Medical belt! (#83113)
## About The Pull Request
Allows the Ritual Knife from the Coroner's Mortidrobe contraband section
to be stored within Medical Belts like any other surgical tool.

## Why It's Good For The Game
Coroners using the Ritual Knife adds excellent flavor to the job.
Allowing it to sit upon their Medical Belt in place of, say, a scalpel
grants convenience to those wishing to roleplay out a more wicked or
occultic Coroner without having to place the Ritual Knife in their bag,
leaving an odd spot open on their Medical Belt.
2024-05-08 17:33:24 -05:00
necromanceranne
6fd6ebd850 Pipegun updates and glowup (#83063)
## About The Pull Request

Updates pipeguns with a brand new set of sprites. Also comes with pipe
pistols; plinkier versions of the pipegun.

![ye
pipeguns](https://github.com/tgstation/tgstation/assets/40847847/dd8ea3db-aa5a-403e-9eca-c3aa2c38b694)


![image](https://github.com/tgstation/tgstation/assets/40847847/9015f1fe-8ed2-4724-844d-7d550d35b890)


![image](https://github.com/tgstation/tgstation/assets/40847847/0d99551a-ecc4-4f2b-a397-46c5f26437f7)

Alters pipeguns away from utilizing shotgun/rifle ammunition towards a
bespoke junk round ammo. These shells are crafted similarly to current
improvised shells. This also removes improvised shells as a shotgun ammo
type. (these new shells aren't shotgun shells to begin with, they're
more like rifle bullets)

Crafting junk rounds produces an entirely unknown projectile in the
shell. You won't know what you get until you fire the gun. Almost in
every instance, however, the shot is beneficial towards killing things.
And they all do about the same amount of damage, so there is hopefully
never a round you didn't want to fire in the gun. Fighting someone with
a pipegun is usually predictable for what amount of damage it will do,
but any additional effects it might have is going to be an unknown
factor. They also brutalize borgs, which is a quality that improvised
shells had previously.

Pipeguns operate as they did before, and do roughly 40 damage per shot
with the majority of their ammo types (less than what they do currently
with .310). They only have one shell in the gun at a time, so every time
they're fired, they must be reloaded.

Pipe pistols do roughly 15 damage per shot, but hold more ammo than the
bigger pipegun. However, they're more likely to veer off-course.

There are regal versions of each of these weapons, and each are more
potent respective of their general rarity. Having one is going to be a
lot more noteworthy.

### Minor changes

Some more clothing items can carry pipeguns in their suit storage.

The icemoon hermit spawns with a heroic laser musket rather than a regal
pipegun (partially because it is too difficult for the hermit to get
more ammo for their gun, and also because the regal pipegun is a more
powerful weapon than previously)

## Why It's Good For The Game

It has been a few years since I added the pipegun, and time was never
particularly kind to it. There are alternative weapons now with
interesting mechanics of their own. The ammunition it used has changed
considerably. And it simply didn't ever feel like a 'junk gun' in a way
that was fun. The original mechanics added to give it that feeling were
just not fun to experience and were removed. So the pipegun has been
left as 'a shitty version of X'. Even the regal pipegun was, at the end
of the day, a shittier version of either a shotgun or cargo rifle.

It didn't feel right not having some kind of unique quality to using
these weapons that help them express themselves as unpredictable trash
weapons built inside of maintenance. But I expressly didn't want to make
it 'unpredictable' in a way that felt unfair on the person getting shot
either. So just giving it more damage was right out. As a compromise, I
reduced the overall lethality of the weapons while introducing a gimmick
that will appeal to those wanting to play out the role of a homeless
lunatic with a shitty homemade gun stalking maintenance. A 'chaos gun'
so to speak. Maybe that will appeal to people.

## Changelog
🆑
balance: Reworks pipeguns to use an unpredictable 'junk round'. You
won't know what you're shooting until you fire it.
add: Introduces a pistol version of the pipegun; the pipe pistol. It is
inaccurate and does significantly less damage, but more portable and has
more ammunition in the gun.
image: Updates the visuals of the pipeguns.
balance: Also improves the Regal varieties of these weapons. By a lot.
balance: More articles of clothing can be used to carry pipeguns in suit
storage.
balance: The Icemoon Hermit comes with a Heroic Laser Musket instead of
a Regal Pipegun.
remove: Improvised shells (the shotgun shell) has been replaced with
improvised junk shells (which don't work with shotguns but do work with
pipeguns).
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-05-08 22:40:28 +01:00
Mothblocks
bc4e7d3b4e Remove data systems in favor of global datums (#82943) 2024-04-29 22:47:36 -07:00
VexingRaven
55a5a05d7b Fix the materials box dropping its contents on creation (#82892)
## About The Pull Request
This fixes the materials box (part of the debug box/admin outfit)
dropping its contents everywhere. The issue is that these stacks will
merge during `PopulateContents` as part of the parent call to
`/obj/item/storage/Initialize` before
`/obj/item/storage/box/material/Initialize` has a chance to change the
size of the box.
## Why It's Good For The Game
Fixes #82705
## Changelog
🆑 VexingRaven
fix: The debug box no longer spills its contents everywhere
/🆑
2024-04-28 22:13:42 +02:00
Jeremiah
c1a775efe1 Implements data systems (#82816)
## About The Pull Request
Subsystems currently come in two different flavors:
1. Systems that process at intervals with the master controller
2. Global data containers that do not fire

And I think they should be split up...


This moves 4 non firing, non init subsytems -> datasystem

## Why It's Good For The Game
Clarity in code
2024-04-22 21:27:15 -06:00
MrMelbert
a21742ff60 Adds ALLOW_RESTING to a bunch of items (#82761)
## About The Pull Request

Allows you to alt-click a bunch of items while resting. 

Fixes #82788

## Why It's Good For The Game

Some of these, such as storage, are bugfixes. You shouldn't need to be
standing up to configure a spray can, or change the direction of your
bedsheet

Others are just sensible changes. 

## Changelog

🆑 Melbert
fix: You can open bags with alt click while resting again
qol: Many items which previously required you to stand to alt-click now
don't, such as bedsheets and spray cans
/🆑
2024-04-20 21:30:10 -07:00
Jeremiah
3842e16a8b Removes virologist job (#82723)
## About The Pull Request
As the title says. Removes the job. Whole wing of medical is still
there.

![Screenshot 2024-04-17
041852](https://github.com/tgstation/tgstation/assets/42397676/b7b55cd6-b6c1-4a0b-97c8-c7d55d4939ed)

(MSO)

![image](https://github.com/tgstation/tgstation/assets/42397676/3be548f4-9558-4d4d-bc7b-d9cbbbac1d5d)

## Why It's Good For The Game
It's boring. It's so boring that when it decides to become unboring it
just attempts to ruin the fun for everyone else
## Changelog
🆑
del: Due to a need for company restructuring, virologists have been laid
off by CentCom and doctors can optionally take their place.
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-04-18 12:52:59 -07:00
Jeremiah
8e3f635b98 Alt click refactor (#82656)
## About The Pull Request
Rewrites how alt click works. 
Based heavily on #82625. What a cool concept, it flows nicely with
#82533.

Fixes #81242 
(tm bugs fixed)
Fixes #82668

<details><summary>More info for devs</summary>

Handy regex used for alt click s&r:
`AltClick\((.*).*\)(\n\t.*\.\.\(\))?`
`click_alt($1)` (yes I am aware this only copies the first arg. there
are no other args!)

### Obj reskins
No reason for obj reskin to check on every single alt click for every
object. It applies to only a few items.
- Moved to obj/item
- Made into signal
- Added screentips

### Ventcrawling
Every single atmospherics machine checked for ventcrawling capability on
alt click despite only 3 objects needing that functionality. This has
been moved down to those individual items.
</details>

## Why It's Good For The Game
For players: 
- Alt clicking should work more logically, not causing double actions
like eject disk and open item window
- Added context menus for reskinnable items
- Removed adjacency restriction on loot panel

For devs:
- Makes alt click interactions easier to work with, no more click chain
nonsense and redundant guard clauses.
- OOP hell reduced
- Pascal Case reduced
- Glorious snake case

## Changelog
🆑
add: The lootpanel now works at range.
add: Screentips for reskinnable items.
fix: Alt click interactions have been refactored, which may lead to
unintentional changes to gameplay. Report any issues, please.
/🆑
2024-04-16 17:48:03 -06:00
Ketrai
df11ec8f34 Adds various quality of life changes for cooking to make it less click intensive. (#82566)
## About The Pull Request

- Increases tray item size by 1 item.

- Ranges and griddles can now be fed from trays.

Click when closed => fill soup pot.
Click when open => fill associated oven tray.
Right click when open => fill tray from oven tray
Click griddle => fill griddle surface.
Right click => fill tray from griddle surface

- Martian batter is now 5u of each ingredient into 10u of batter.

Hopefully will make it bug out less where it makes far fewer reagents
than it is supposed to, fixing reagents, or well soups specifically...
is out of scope for this PR.

- Adds the ability to print soup pots and large trays from the service
lathe

Soup pot: 5 Iron sheets, 0.4 bluespace crystal (given their size of
200U)
Large serving tray: 2 iron sheets

## Why It's Good For The Game

Makes cooking a lot less tedious. Especially for people with low
precision when it comes to filling oven trays. This also bring the
behavior up to parity with how you can click microwaves with trays to
fill them, ditto for the food processor. It also allows chef to use the
whole capacity of an oven, as previously you couldn't easily click 6
cake batters or other giant sprites onto the tiny tray.

The tray is now sized to be able to easily feed a griddle 8 items.

## Changelog

🆑
qol: chef equipment can now deposit and withdraw to/from trays!
qol: chef now has access to griddle and oven sized trays!
qol: service can now print soup pots
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
2024-04-11 20:50:49 -07:00
YesterdaysPromise
e64331f678 Clowns can now make balloon... toys. And also mallets and hats. (#82288)
<!-- 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

Clowns will now start with a box of 24 random long balloons and a
skillchip in their noggin allowing them to create balloon animals by
combining two of them of different colour together. Owners of the
skillchip also gain access to crafting recepies of balloon mallets,
vests, helmets and tophats, all created from long balloons. A crate of
long balloons, with a box of balloons inside, can be bought at cargo, in
case the clown runs out. I might edit this once I wake up, its 3 in the
morning right now.
Oh also, resprited how balloons look in inventory.


![image](https://github.com/tgstation/tgstation/assets/122572637/2d7ce955-c787-48a5-bfda-4613d2eed837)

## Why It's Good For The Game

Balloon animals funny.
Silly features are my favourite kind of features, and this one's
open-ended too.
Someone on the coder chat recommended someone would do it that one time,
here it goes.


## 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 it's 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. -->

🆑
add: Added long balloon box to the clown's starting inventory, and a
skill-chip of long lost honk-motherian knowledge to their brain.
add: Added long balloons. Consequently, added balloon animals to make
from such balloons. Also, balloon top hat, vest, helmet, and a mallet.
Don't ask about the mallet.
add: A long balloons box harvested fresh from the farms on the clown
planet will be able to be shipped in a crate to the cargo department
near you!
add: As per requests; water balloons can now be printed at service
lathe, and entertainment modsuit can now blow long balloons!
image: Balloons will now have an unique sprite when in the inventory,
compared when to on the ground.
/🆑

<!-- 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: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-04-10 23:58:15 +00:00
Jacquerel
f47733d0e3 Final Objective: Battle Royale (#82258)
## About The Pull Request

Adds a new final objective option with a classic premise; the forced
battle to the death.
The concept is that the Syndicate will provide you with an implanter
tool you can use on an arbitrary number of crew members. Once you have
at least 6 (though there is no ceiling) you can activate the implants to
start the Battle Royale and broadcast the perspectives of everyone you
implanted live to the entertainment monitor.

After activation these implants cause you to explode upon death. If at
the end of 10 minutes, more than one person remains unexploded then all
of the remaining implants will detonate simultaneously.
Additionally, one of the station's departments (Medbay, Cargo, Science,
or Engineering) will be chosen as the arena. If after 5 minutes pass
you're not within that department (or if you leave it after that time
has passed) then you will be killed.

The Syndicate plan on both using the recorded footage to study
Nanotrasen technology, and also to sell it as an underground blood
sport, and so have employed a pirate broadcasting station to provide
colour commentary.

The implantation is silent, however it requires you and your target to
be adjacent and stood still for one and a half seconds.
Once implanted, it will occasionally itch and eventually signal to the
implantee that something is up, so once you start implanting someone
you're on a soft timer until you are given away. You can also implant
yourself if you want to do that for some reason.

Removing an implant from someone has a 70% chance of setting it off
instantly, but it _is_ possible. If the implant is exposed to EMP, this
value is randomised between 0 and 100%. You could also try doing surgery
while the patient is wearing a bomb suit or something, that puzzle is
for you to solve and I'm not going to tell you the answers. I'm sure
you'll think of ones I haven't.

## Why It's Good For The Game

Adds a somewhat more down-to-earth but still hopefully exciting and
threatening option which should let people mess around with the sandbox.
The mutual death element provides some roleplaying prompts; nothing
actually _forces_ you to fight apart from fear of death and it may be
possible to find other ways to survive, or perform some kind of
solidarity behaviour with your fellow contestants. Maybe you'll try that
but one of your fellow contestants just wants to be the last survivor
anyway. Maybe you'll pretend you're setting up some kind of mutual
survivorship thing in order to make sure you're the sole survivor.
Gives some people to watch on the bar TV channel.
The crew apparently love playing Deathmatch while dead so we might as
well enable doing it while alive.

Also I'm going to follow this up with a separate PR to remove the Space
Dragon objective and it felt like it'd be a good idea to do one out one
in

## Changelog

🆑
add: Adds a new Final Objective where you force your fellow crew to
fight to the death on pain of... death.
/🆑
2024-04-07 16:37:40 -07:00
Jeremiah
1443ef79d3 Replaces a number of deciseconds into SECONDS (#82436)
## About The Pull Request
Using these search regexes:

Number ending in 0:
`do_after\((\w+), (\d+)0,`
Replace:
`do_after($1, $2 SECONDS,`

Single digit number:
`do_after\((\w+), [1-9],`
replace:
`do_after($1, 0.$2 SECONDS,`

Double:
`do_after\((\w+), (\d)([1-9]),`
Replace:
`do_after($1, $2.$3 SECONDS,`

## Why It's Good For The Game
Code readability
2024-04-04 18:56:08 -06:00
Jacquerel
cdaeb643ce Removes Space Dragon Final Objective (#82259)
## About The Pull Request

See title
I left the item in and removed the antagonist checks from it just in
case an admin wants to fuck around with it, but I can delete that too if
preferred.

## Why It's Good For The Game

This is both our least interesting and least impactful objective.
Turning into a (nerfed) space dragon sort of looks cool maybe the first
time you do it and then after that it isn't. It is sort of disappointing
to see it pop up in the uplink, in my experience.
This Space Dragon generally speaking isn't going to cause significant
death or destruction except on lowpop (where a traitor can just do that
anyway) or if they play in the cheesiest possible manner, it simply
isn't that dangerous by itself.
It is also simply less versatile than just _being a traitor with a lot
of TC_, something you already are when you get it.

Turning into a big animal also just doesn't feel much like something a
traitor should be doing, that's a changeling or possibly wizard sort of
objective.

It also sort of cheapens "real" space dragons by making them show up
this way.

Finally; I just don't like it.
We have enough final objectives now that we don't need to keep this one
just to fill the pool, in my opinion.

## Changelog

🆑
balance: Traitors can no longer turn themselves into dragons.
/🆑
2024-04-02 05:31:26 -04:00
DATAxPUNGED
a155c23d2e [THE QUIRKENING] Adds customization options to Organ Prosthetic, Junkie, Smoker, and Alcoholic! (#82051)
## About The Pull Request

Lets people pick:
- The shitty organ they spawn with (still has the restrictions of not
being possible to get heart when you are a plasmamen, for example)
- Their favorite alcohol to blackout with
- Their favorite brand of cigs
- Their favorite brand of drugs!
A lot of the code was taken from a downstream, made by @Floofies, i
already had my own implementation but it was buggy and not nearly as
clean, then i was made aware of theirs.
## Why It's Good For The Game

Character Customization is good and fun and lets people have more choice
in their roleplay.
## Changelog
🆑
add: Prosthetic organ users are now allowed to pick what they want to
start with.
add: Junkie of all kinds, including smokers and alcoholics, are also
able to pick their favorite type.
/🆑

---------

Co-authored-by: Jacquerel <hnevard@gmail.com>
2024-03-30 23:46:54 +00:00
NeonNik2245
7361eb3d98 makes surgery caps small (#82201)
<!-- 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

Add w_class flag with WEIGHT_CLASS_SMALL, so surgery caps now small
items.

<!-- Describe The Pull Request. Please be sure every change is
documented or this can delay review and even discourage maintainers from
merging your PR! -->

## Why It's Good For The Game

Surgery cap IRL can be easily folded or crumped, so it can can be in
space station.
Also surgery cap now can be put in medical belt, like gloves or medical
mask.
And also I think that normal size instead of small is too much for
decorative cap, that do nothing.

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

## 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 it's 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. -->

🆑
qol: makes surgery cap small
/🆑

<!-- 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-03-25 19:03:37 +01:00
oldyezero
db5cb5b801 Chief Engineer turtlenecks and garment changes. (#81872)
## About The Pull Request
Adds the Chief Engineer's turtleneck and turtleneck skirt to the game,
and makes them and the Chief Medical Officer's turtlenecks available
from round start.

![fakes
lolas](https://github.com/tgstation/tgstation/assets/95556698/e760448f-db09-4aed-a121-d1195da2d950)

## Why It's Good For The Game
Provides more clothing variety for the Chief Engineer and makes the
turtlenecks more accessible to the Chief Medical Officer.
## Changelog
🆑 myraowo
add: Added the Chief Engineer's turtleneck and turtleneck skirt to the
game.
add: Added the Chief Engineer and Chief Medical Officer's turtlenecks to
their respectives garment bags.

/🆑
2024-03-21 11:12:24 +01:00
Ghom
8c6f4180ae Adds a collar bomb to the black market. (#81898)
## About The Pull Request
Originally part of the other blackmarket PR, but it seemed a tad awkward
to have it mandatorily installed on mobs rescued from the holding
facility.

But yeah, this PR adds a neck item that causes the wearer's death with a
5 seconds countdown when triggered, which can be bought from the market
uplinks. The box comes with a yellow button to trigger it, but it can
also hold a signaler (which the wearer cannot tamper) if you wish to use
assemblies. Take note that, upon being worn, the item cannot be removed
by any mean beside beheading iirc (so HARS should counter it), and
fire/acid if you have a ton of patience because of its high armor
values.

## Why It's Good For The Game
More mean and evilish stuff to populate the black market with.

## Changelog

🆑
add: Added a collar bomb to the black market.
add: Added a possible kit to the special syndie bundle B, which also has
uses these collars.
/🆑

---------

Co-authored-by: san7890 <the@san7890.com>
2024-03-16 01:37:10 +00:00
_0Steven
fa8bf29424 Making the fuck you coupon trigger only once, take two (#81953)
## About The Pull Request

So a previous pr attempted to fix the fuck you coupon, by adding 1 to
the arguments.
```dm
(tgstation/code/modules/cargo/coupon.dm, line 87)
cursed.AddComponent(/datum/component/omen, 1)
```
But this was setting the `vessel` rather than the `incidents_left`
argument to 1.
```dm
(tgstation/code/datums/components/omen.dm, line 20)
/datum/component/omen/Initialize(obj/vessel, incidents_left, luck_mod, damage_mod)
```
Moving this argument over one fixes the issue.
```dm
cursed.AddComponent(/datum/component/omen, null, 1)
```

However! We're now skipping over the `vessel` value, which is used to
burn up a curse's vessel once the curse is expended.
Setting this to `src` rather than `null` means the fuck you coupon
actually gets 'expended', which I think it better than just using `null`
or `incidents_left = 1`. The coupon's useless once it's done, and this
way it's cooler anyway.
For consistency, we then also add this behaviour to when the coupon
gives you a heart attack instead.

Then! I noticed there was a _second_ bug with fuck you coupons, where it
would stop prematurely if the location wasn't a mob.
```dm
(tgstation/code/modules/cargo/coupon.dm, line 80-81)
if(!ismob(loc))
	return FALSE
```
However, this also happens when you don't have a free hand for it to put
the coupon in, and thus entirely negating the curse and just giving you
a useless fuck you coupon.
We fix this by just adding a `user` argument to `generate`, which it
prefers to use when available, and is set to the user ripping off the
coupon in the first place.
## Why It's Good For The Game

Fixes #81946.
As fuck you coupons are pretty much useless after expending their curse,
and we have to add the vessel value anyway, I thought it'd be more
fitting to add the coupon as the vessel rather than just putting in
null. Then, for consistency, I felt it'd be best to make them *also*
burn when giving you a heart attack when you already have a curse.
Y'know, it's expending the coupon for it's one-time fuck you!

Also fixes fuck you coupons not actually applying their curse if you
didn't have any free hands for it to put the coupon in when ripping it
off.
## Changelog
🆑
fix: Fuck you coupons ACTUALLY trigger only once again. As a
consequence, they also burn up when expended for their one-time fuck
you.
fix: Fuck you coupons work regardless of whether you had a free hand or
not.
/🆑
2024-03-13 18:02:16 +01:00
Interception&?
1719ad8deb Sticker resprite and rewrite (#81893)
Stealing from Goon is bad, but stickers are actually a good feature, and
loosing those will be a disappointment. This project aims to recreate
'em from scratch without using Jimmyl's and Goon's code. Also,
suspicious icons were resprited and renamed.
2024-03-12 21:16:28 +00:00
Singul0
3d90f6eb8b Adds more syndie-kits! 3 of them to be exact. (#81510)
## About The Pull Request
Adds 3 syndie-kits, two are in the special pool and the other in the
tactical pool. Below are the kits content:

Tactical:
1. Revolutionary (28TC), which contains:
- Hypnotic Flash (7TC)
- Radioactive Microlaser (3TC)
- LSD pills (~1TC)
- Sleepypen (4TC)
- Nagant Revolver (13TC, Comparable to 357. Revolvers (far harder to get
ammo though))
- Megaphone
- Revolutionary bedsheet
- Russian warcoat
- Ushanka
- Contraband poster boxes

![image](https://github.com/tgstation/tgstation/assets/127663818/2fde2a65-edb1-45b7-9d9e-6b19e3239dbd)

Special:
2. Prophunt (29TC), which contains:
- Chameleon Projector (7TC)
- Doorjack (3TC)
- Stealth Implant (8TC)
- Makarov (7TC)
- Thermal Glasses (4TC)

![image](https://github.com/tgstation/tgstation/assets/127663818/f17317fb-b852-4a25-a4b8-57f22365afb4)

3. Sam Fisher (32TC), which contains:
- Spec Ops suit (~6TC comparable to infiltrator suit)
- Night Vision Googles (~3TC)
- Assault belt with assorted items (18TC, refer to image)
- Combat Gloves + Krav Maga (5TC)

![image](https://github.com/tgstation/tgstation/assets/127663818/b903f978-4e77-40b5-9213-21a5d67edbd8)
## Why It's Good For The Game
I use syndie-kits a lot whenever I roll traitor, always found them to be
a quick and easy way to figure out what i'm going to do for the traitor
round. but there's only so much kits that eventually you'd get bored of
getting the same old kits. This PR fixes that! adds 3 different
syndie-kits each with their own little unique gimmick that weren't
present in the kits before.

 more kits = more gimmicks = more fun and engaging gameplay

The Revolutionary kit is centered around it being a budget
revolutionary, you're given a hypnoflash and various other gadgets to
help you get your own small army to do your bidding, also comes with a
drippy (do anyone still use that word anymore?) russian armor and
revolver for self defense.

Prophunt kit is self-explanatory, be the little gremlin you are,
stealing and sneaking your way through a greentext.

Meanwhile the Sam Fisher kit essentially allows you to be an spec ops
agent, getting a myriad of gear that's designed for sabotage and quick
assasinations. comes with a cool armor set
## Changelog
🆑
add: Adds 3 new kits into the syndie-kit spawn pool, 2 for special and
another for tactical
/🆑
2024-03-09 05:12:52 +01:00
wixoa
1a10197544 Remove 2 instances of duplicate argument names (#81757)
## About The Pull Request

I fixed 2 instances of procs having multiple arguments with the same
name. BYOND does not error on these, instead ignoring all but the last.
It's best to remove these for clarity.

## Why It's Good For The Game

N/A

---------

Co-authored-by: san7890 <the@san7890.com>
2024-03-01 13:52:49 -07:00
MrMelbert
977799a2e7 A red spy has entered the base: Adds Spies, a roundstart antagonist inspired by Goonstation's Spy-Thief (#81231)
# Disclaimer: No Goon code was referenced or used in the making of this
PR

## About The Pull Request

[Design Document (Read this for more
information)](https://hackmd.io/@L9JPMsZhRO2wI25rNI6GYg/rkYKM9Yc6)

This PR adds Spies as a new roundstart antagonist type, inspired by
Spy-Thiefs from Goonstation.

Spies are tasked with stealing various objects around the station, from
insulated gloves to the black box, from the clown's left leg to the
bridge's communications console.

For every item stolen, the Spy is rewarded with a random item from the
Syndicate Uplink, plus some items uniquely available to the Spy. Stolen
items are then shipped off and sold on the Black Market Uplink, allowing
the crew - or maybe some other evil-doers - to get their hands on them.


![image](https://github.com/tgstation/tgstation/assets/51863163/f057d480-4545-44da-b8fe-a8d09a5d2dcf)

More ideas for theft items and bounties are welcome. 

## Why It's Good For The Game

See the design document for more information. 

In short: Adds a solo antagonist which has less impact than your
Traitors and Heretics, but more impact than Paradox Clones and Thieves.
In other words: On the same tier as old traitors.

Seeks to embrace the sandbox aspect of antagonists more by having no
precise greentext objective, and instead some suggestions for chaos you
can embark in. Have fun with it!

## Changelog

🆑 Melbert
add: Spies may now roam the halls of Space Station 13. Watch your
belongings closely.
/🆑
2024-03-01 04:41:57 +00:00
bigfatbananacyclops
919a839c8b Fixed the floortile crate, adds them to blackmarket (#81742)
https://github.com/tgstation/tgstation/pull/81512

i accidentally added it to the emagged console it should be on
contraband now.
also added a backpack to present it from interfering.
and its available in uplink

🆑
add: box with a set of floortile camo, which can be ordered in black
market uplink
add: also adds a backpack to camouflage
fix: i had the crate under emagged console, should be fixed now.
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-02-29 22:51:58 +00:00
13spacemen
25909dc932 remove plasmaman check in survival boxes (#81493)
## About The Pull Request
it's already done in wardrobe_removal() there is no need for this check
## Changelog
🆑
code: removed redundant check for plasmamen in survival box code
/🆑
2024-02-16 19:57:59 +01:00
Sylphet
311da1348e Fixes Cargo Lockbox Iconstates (#81481)
## About The Pull Request

The cargo lockboxes didn't update iconstates when locked. Seems like an
oversight given that their parent object does this and there's unused
sprites for this behaviour in this item, so this enables it to use those
sprites that are already in code.

## Why It's Good For The Game

It's hard to know if someone has taken their items or not because an
unlocked case looks identical to a locked one. Also fixes an oversight
idk.

## Changelog
🆑
fix: cargo lockboxes update iconstates correctly now
/🆑
2024-02-16 16:07:11 +01:00
Xander3359
19b2ffd2d3 Contractor loadout adjustment + Price tweak (#81293)
## About The Pull Request
Removes RNG items from the possible pool of items that gets given to
contractors when they buy their kit.
Contract kit:

![image](https://github.com/tgstation/tgstation/assets/66163761/d6009273-6ede-44b4-a2a4-6db4c9030400)
## Why It's Good For The Game

![image](https://github.com/tgstation/tgstation/assets/66163761/ac08bfe9-4186-4e8e-a15b-0077d1e7433f)

![image](https://github.com/tgstation/tgstation/assets/66163761/a1d19780-9a97-407e-af75-842548cd7010)

The idea is that contractors should have the things they need in order
to begin contracting in the first place.
They are given thermals + SyndEye to find targets.
Modsuit/Contractor Suit/Chameleon mask+jumpsuit to conceal/disguise
their identity.
Their Jammer + Baton in order to pull off successful abductions without
getting dogpiled by the entire station.

In their current state, contractors are too weak, when at the end of the
day, the most harm they are doing is temporarily removing a crew member
for like 5 minutes. They should have a bit more power now in order to
have a bit more impact into the round.
## Changelog
🆑
balance: Contractor kit no longer gets RNG items, it's a specific pool
now
/🆑
2024-02-11 15:30:59 +01:00
MrMelbert
12afcb911e Comprehensive cleanup of storage datum, replaces the weakrefs with just refs (because they were managed already) (#81120)
## About The Pull Request

- Large amount of storage datum cleanup.
   - Documentation.
   - Maybe more consistent use of parent vs real_location. 
   - Removes the weakrefs, replaces it with just references.
      - These were already managed references anyways so why bother?
- Removes a bunch of arguments no one used and would ever used so only
the most useful args are left.
 
- Some bugfixes. 

## Why It's Good For The Game

Aiming to make storage easier to work with. The whole intent of this was
to bugfix the whole "weight class" thing that keeps popping up but I had
to do this first.

## Changelog

🆑 Melbert
fix: When placing an item into storage (such as backpacks), all nearby
mobs now get a message, rather than just the first mob.
fix: TGC decks of cards should act a bit less odd when looking inside.  
refactor: Refactored a bit of storage, cleaned up a fair bit of its
code. Let me know if you notice anything funky about storage (like
backpacks).
/🆑
2024-02-05 11:42:03 -08:00
ArcaneMusic
002051a3d5 ArcMining Pr Beta: Version 1.2 (#78524)
This one's not like the last one, so much so that I'm not even going to
outsource the PR description to a robot this time!
Basically, **You should read the PR body before assuming that everything
is the same as last time. It's not.**

## Video Summary
Click the link below to see a video summary of the main features of this
pull request.
https://youtu.be/Aho2omR0mjY?feature=shared

## About The Pull Request
This pull request serves as a large rework of minerals produced by
mining, and by extension mining itself. I'll try and list each change
and it's associated nuance here.

### Ore Vents
The biggest addition to the game with ArcMining is **Ore Vents**. Ore
vents spawn as a ruin on the map, placing a randomized ore vent onto map
generation. Ore vents spawn in 3 different sizes, **Small, Medium, and
Large**. These vents will pick from a pool of materials they can
generate, and will hang out across the map. A player can use a mining
scanner to discover an ore vent, granting a small quantity of **mining
points** to begin with. Once scanned, ore vents will show what minerals
that ore vent will generate after they're fully tapped.

Scanning the vent again will trigger the extraction process. A small
drone will fly down, called the NODE drone, and buckle onto the vent.
Your job during wave defense is to protect the drone and to defeat waves
of randomly spawning mobs (dependent on if you're on lavaland or on
icebox). The quantity, duration, and time between waves is scaled to the
size of the vent you're protecting. Starting by scanning and protecting
lower tier vents earlier in the shift is a safer bet than doing a large
vent in the first few minutes. The drone has 500 health, and can take a
good few hits, but leaving it alone will cause it to meet an unfortunate
end quite quickly.

Cooperation can be your best asset, as mining with allies can greatly
help with wave defense, and mineral points are granted to anyone who
helps with defending the ore vent equally (So 500 * size tier,
regardless of how much help you receive). Once complete, the ore vent
will have a mining machine constructed on top of it, and will start to
dredge up **Boulders** from the earth automatically. More on boulders
later.

Ore vents can be located based on your mining scanner, and will provide
an appropriate audio cue based on if the ore vent has been discovered or
not, and once processed will no longer alert you to it's presence.

**Each station comes with a free vent that produces exclusively iron and
glass, free of charge.** This is to help with shifts where the station
may not have shaft miners to produce minerals, and to provide the
station with a baseline amount of minerals where none may exist
otherwise.

### Mineral Generation
Mineral generation has been completely reworked. Previously, Mineral
Generation had a flat 13% spawn rate in-game. Once minerals spawned,
they would also have a chance to propagate their minerals to nearby
tiles, resulting in a rather massive pool of minerals that could spawn
throughout lavaland on the whole.

This tweaks that, by making minerals in walls spawn based on their
proximity to ore vents on maps that use cave generation. Both the
probability, and quantity of ores spawning in walls is scaled based on
distance, with ore vents looking like large caches of ores found in
walls. This makes following ores found in walls and checking their
quantity of minerals spawned a good indicator of how close you are to a
nearby vent in-round.

This means you can collect some points form both discovering ore vents
first, as well as collecting their surrounding ores, turn those in for
mining points, and then trading them in for gear upgrades to more
effectively take on ore vents. As a result of tweaking the balance of
this, the total amount of ores spawned in walls overall has been
decreased. However, by making more of the process time based, we still
result in a mostly balanced finished product.

### Boulder Processing
On station, there are now three new machines. These are the BRM, the
Refinery, and the Smelter.

- The BRM acts as a teleporter. Instead of needing to carry boulders
back to the station, you can activate the BRM, and it will automatically
pick boulders to teleport back to itself. You can use this to teleport
boulders dredged up from lavaland onto the station for processing. **The
BRM will only lock on to boulders that are resting on an ore vent.**
Moving boulders back by hand will mean you'll have to haul it back by
hand.
- The refinery processes the non-metallic materials out of boulders.
This process sends the materials straight to the ORM, and collects
mining points from the ores smelted in the machine. Swiping with an ID
card lets you withdraw those points for your own personal account, but
remember that these points are for your whole team to share from. The
**Mining points obtained from this process is only 75% of the amount an
equivalent amount of ores would provide.**
- The smelter works nearly identically, however the smelter produces
metallic materials out of boulders instead.
- Once a boulder has had all of it's materials extracted, it's broken
down and deleted from the line. Otherwise, the boulder is spat out for
the next machine to process it (either the refinery or smelter).
- Once there's no minerals left in a boulder of any type, the refinery
or smelter will break the boulder down.
- Boulders **do not stack onto tiles with each other**, so they'll block
each other when pulled or when moving on a conveyor belt.

Boulders can also be processed by hand. Using a mining tool on a boulder
with right click will allow you to break down a boulder into it's
composite ores, but limits you to a maximum of 10 ore per boulder, where
the full amount can be extracted using the proper processing machines.
Also, processing by hand does deal small amounts of stamina damage over
time, do breaking a full large boulder can be particularly taxing.

Additional Boulder Processing Machines can be built, with the BRM board
being obtained from the Protolathe, while the Smelter and Refinery
boards being obtainable from the Autolathe instead. A _boulder
processing beacon_ can also be obtained from the mining points vendor as
a reward to assist with boulder processing. Boulder processing beacons
can be used to spawn in a new BRM, refinery, and smelter on the tile the
user is standing on, however **you'll still need to link them to the
ORM**!

All three machines can be upgraded with Stock Parts, allowing for **more
boulders to be processed at a time**. It does not, however, increase the
amount of minerals received from boulders, or points earned.

### Mining Borg Tweaks
Mining borgs have been given some minor adjustments to compensate for
the changes to mining. Their mineral scanner, which now has an active
component to gameplay, is now a module as opposed to built into the mob.
This module allows for the same ability to discover and start waves of
monsters to fight.

Mining modules will find that their PKA now has a total of 90% mod
capacity as compared to the 80% they had before, to allow for more
robust defense of ore vents.

In addition, all borgs and AIs can interact with the BRM for boulder
collection.

### Mining Mech Tweaks
Mining Mechs have had their utility tweaked as a result of these changes
as well. Mineral scanners to be used on mining mechs now have a larger
radius by comparison to their handheld cousins. Similarly, it now has an
active scanning button, which will actively discovery nearby ore vents.
To begin wave defense, you will need to hop out and scan a second time
however, so that you can properly accept the risks of drawing a horde of
bloodthirsty wildlife towards you and your companions.

Mechs can also manually process boulders, similar to mining tools using
their drill.

### Golem Tweaks
Golems, being more gentle and less aggressive than humans, while being
made out of LITERAL ROCKS, have a greater need to secure access to ores
and minerals to eat. As such, they have adapted to be able to do two new
things:

- Golems may now right click ore vents to be able to manually haul a
boulder out of the vent. This costs a hefty amount of stamina, but it
allows for golems to avoid combat during regular gameplay.
- Golems may now left click a boulder with an open hand in order to
manually process a boulder like a pickaxe. While not faster, it is
consistent and prevents golems from starving if they have access to a
vent, but no ores, somehow.

### Gulag Tweaks
The labor camp, being a camp for rehabilitation and ~~excessive manual
labor~~ has been tweaked. Boulders now replace the random minerals
located on their island, and to acquire their prizes inside, much be
excavated and then broken out of the rock. Now YOU TOO can excavate
minerals and become a true mineral hero by working your way to freedom.

### Mining Point Changes
As a result of fewer mining points being available across the map due to
the new ore spawning mechanics, and the shift in how and when ores will
be coming in, almost every progress based mining point cost has been
reduced by around 10-20%. Many numbers are still subject to change at
present, but the idea is that core progress unlocks should be made a bit
more available earlier in the round before players can start to solo or
duo larger or more difficult ore vents, after which they'll be rolling
in ores.

### Rarities
Every once in awhile, an unusual boulder will get hauled up from the
mineral rich depths of lavaland. These **Artifact boulders** can
occasionally produce rare items, but for now they've mostly just been
pulling up **Strange objects** for science. Nanotrasen Natural Sciences
department will reward you extra points to be collected by boulder
processing machines for successfully extracting one. In the future, this
opens up a passive reward space that mining can reward to the station,
like providing cytology DNA samples, ancient seeds, or other artifacts.

### Misc notes

- Boulders can be stored in all varieties of ore boxes (ground, mech)
should you choose, however as mentioned it's best to leave them where
they spawn and teleport them to the station for convenience.
- Maps that are not subject to cave generation will find that they are
largely untouched in terms of mineral balance.
- Future or existing ruins can now be tweaked to have a mineral balance
cost, as the ore vent ruin does. This will allow us to spawn in more
interesting ruins for pre-made combat challenges.
- There are unique ore vents that spawn across the map, that will summon
a boss mob relevant to that map. If the boss mob is defeated, that vent
will spawn large boulders pulling from every possible ore type that can
spawn. Not for the faint of heart!
- Similarly, the number of ore vents and mineral budget is now
adjustable in the cave generation procs, so maps may spawn with more or
less ore vents as desired for balance.
- Artifact boulders opens up a LOT of room for possible future content
like archaeology, xenoarch, artisci, and other design spaces!
- Megafauna STILL SPAWN ON THE MAP. They just happen to spawn in
addition to boss ore vents.
- **I'll add more to this as I get asked questions and remember things,
this is a huge PR and I'm confident I've missed at least something**

## Why It's Good For The Game

I outlined a lot of this in #78040, so I'll try and keep this relatively
snappy this time, while noting that I've made some concessions to make
the whole system a lot more playable while not trying to break out
design decisions that are at the end of the day, better for the game and
the overall resource balance in round.

Minerals are a very poorly balanced system, and have been since their
inception many years ago. We heavily rely on mineral balance in round,
and yet we've really only balanced it by introducing so much supply that
there's no equivalent exchange for materials that doesn't just heavily
flood the exchanged material. For example, items printed from materials
that are otherwise considered "rare" on master exist in such quantities
and they'll never practically run out in our allotted 90 minute time
slot design. This PR adjusts how ores spawn to a point where we can
minimize the amount of ores that need to exist on the map for mining to
be able to progress, while still providing enough resources for the
station that it covers the needs of the station adequately.

Miners will need to be more strategic about what resources they've
collected, and be able to make decisions about which vents are worth the
risk of attempting to fight, how to prepare for a wave defense, and when
to head back up for upgrades, while finally giving them at least some
kind of incentive to work together and use different equipment.
Resonators make cleaning up the caves around vent easy, sandbags set up
easy defenses for your vent, mechs can serve as a wider range radar
while mining, all while still providing a new gameplay loop to mining.

By limiting the amount of ores that can enter the round from the
massive, massive amounts that were coming into the round beforehand (see
#78346 ), we can make ore processing more meaningful by adding more
gameplay to the processing of minerals. I have some plans for that,
however this PR already got bloated really REALLY badly due to scope
creep and the number of intersecting systems that rammed into each other
to make this PR possible. So that'll be next. Plus, as I've mentioned,
we open up places for ore processing to find fossils, relics, and other
things that can implemented down the line.

Overall, I don't expect this PR to save or kill ore balance, but we gain
a LOT more control over it through the use of our mining defines
attached to this PR, and at the end of the day, that's a great place to
start off of.

## Changelog

🆑
add: Added ore vents. Scanning them with mining scanners shows what
minerals they contain. Scan again to fight off a horde of beasts as your
drone assistant excavates the vent, so the ore vent will produce mineral
boulders!
bal: Ores that spawn in walls now spawn based on their proximity to ore
vents, with their chance to spawn and their minerals contained scaling
from low to high.
add: Added the BRM, Refinery, and Smelter. These pieces of equipment are
used to process ore boulders into minerals for the station. Stock Part
upgrades allow more boulders to be processed at one time. They collect
mining points as well, to be redeemed with an ID card swipe.
add: Boulders are teleported to the station via the BRM if left
untouched. Boulders can also be cracked open for a reduced amount of ore
using pickaxes or golems hands.
add: All stations come equipt with a pre-excavated ore vent, which
produces a basic supply of iron and glass only. Scan other vents for
your critical resources!
add: Look there's a shit ton of changes on mining, for more detail check
out the Pull Request: https://github.com/tgstation/tgstation/pull/78524.
sound: New sounds and noises for your high octane factorio-like
gameplay!
image: All new boulder sprites for the new minerals and rocks added to
the mining gameplay loop, as well as mining machines!
image: Overlays appear over vents when scanned to let you know their
contents at a glance when actively scanned with any mining scanners.
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: SyncIt21 <110812394+SyncIt21@users.noreply.github.com>
Co-authored-by: Jacquerel <hnevard@gmail.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-01-21 11:32:05 -05:00