Commit Graph

2066 Commits

Author SHA1 Message Date
SyncIt21
b306c28675 General maintenance for RPD (#88047)
## About The Pull Request
**1. Code Improvement**
- Moved global pipe crafting recipe list into
`code/__DEFINES/globalvars/list` folder because its a global list & it
should belong there. Reduces size of RPD file
- Moved `datum/pipe_info` into `code/__DEFINES/globalvars` folder
because it's used by both RPD & crafting recipe so its a global var.
Reduces size of RPD file
- Replaced a bunch of `usr` with the proper user variable when available
  - Autodoc for procs & vars
 
**2. Refactor**
- Attack chain for RPD has been refactored to `interact_with_atom()` &
`interact_with_atom_secondary()`


## Changelog
🆑
refactor: improved attack chain code for rapid pipe dispenser
code: organized lists & global vars for rapid pipe dispenser into their
own respective files & improved a bunch of code
/🆑
2024-12-07 15:34:23 +01:00
Ghom
6b543476da Aquarium kits can now be printed + other tweaks. (#88068)
## About The Pull Request
Aquarium kits can now be printed from service, cargo, science
protolathes and the autolathe too, from half a sheet of metal. You still
need the other materials to set it up but it should be fairy simple if
you can access a proto/autolathe.

The 'Growth/Reproduction' setting for aquariums has been renamed to
"Safe Mode", which, on top of disabling features such as growth,
reproduction, evolution, power generation etc etc, will also disable the
water, temperature and food requirements for keeping the fish alive.
Useful if you want a purely ornamental aquarium or you have to skidaddle
somewhere else for a while.
The lawyer, as well as prefilled aquariums start with 'Safe Mode'
enabled.

The 'Aggressive' fish trait has been replaced with 'Territorial', which
is exactly the same but the fish won't lash out unless the aquarium is
populated by five fishes or more. No more angelfish viciously attacking
the guppy and goldfish in prefilled aquariums.

Tweaked a couple values around hunger and fish health loss when starving
or in a bad environment to cause slightly less damage.

Lastly, added screentips to the aquarium component, which is something
I've forgot to do in the PR that brought it.

## Why It's Good For The Game
Aquariums may be a complex feature, but as far as I can tell, I had been
neglecting the possibility of aquariums as simple room decoration for a
while (outside of the beauty-related mechanics), and the constant
maintenance (and perhaps a bit of knowhow) they require makes them awful
at that. Also, the "growth/reproduction" setting really didn't have a
reason to be before, since it didn't offer any tangible benifit to turn
it off, so I had to revamped it.
Also it's been proven by now that keeping aquariums as cargo-orderable
stuff is just bad.

As for the fish trait change, it just sucks to see the angelfish shank
the goldfish with no way to solve it other than removing the
hyper-aggressive killer fish from san diego fella.

## Changelog

🆑
balance: Aquarium kits can now be printed from cargo, service, science
protolathes as well as the autolathe. They no longer have to be ordered
from cargo.
balance: Revamped the "Growth/Reproduction" setting for aquarium to
"Safe Mode", which also disables the food, temperature and water
requiremenets of aquariums, making it useful for purely decorative
aquariums.
balance: Replaced the "Aggressive" fish trait with "Territorial". No
more angelfish shanking the goldfish and guppy in prefilled aquariums
with less than 5 fishes.
qol: Added screentips to aquariums.
/🆑
2024-11-29 18:11:59 +01:00
Ben10Omintrix
173185ea9a [no gbp] few repairbot fixes and some beacon pathing improvements. (#88144)
## About The Pull Request
this fixes some few sentient repairbot-related issues that were reported
a few days ago. ive also given sentient repairbots a new simple UI to
manage their materials.

![image](https://github.com/user-attachments/assets/bc269769-439e-4aa8-82ca-e433c031fbec)

while I was at it, i also fixed bots continuously trying to path to
unreachable beacons, which can be quite costly since they're regularly
very far away.

## Why It's Good For The Game
closes #88067

## Changelog
🆑
fix: repairbots no longer get flashed by their own welder
fix: repairbots no longer break glass tables they step on
fix: repairbots can no longer flush their own welders
fix: fixes some runtimes when emagged repairbots try to deconstruct
things
fix: fixes sentient repairbots not being able to see or remove their
material counts
/🆑
2024-11-27 11:29:20 -07:00
Lucy
33bacfbf09 [NO GBP] ACTUALLY allow dot radio prefixes to also work with the tgui-say radio prefix display (#88207)
## About The Pull Request

imagine fucking up a port of _your own code_

(i plead "silly")

## Why It's Good For The Game

things working is good

## Changelog
🆑
fix: ACTUALLY allow dot radio prefixes to also work with the tgui-say
radio prefix display.
/🆑
2024-11-27 03:15:14 +01:00
Isratosh
dd288b2c52 Revert "replaces reputation locks with instead being prohibitively expensive based on rep" (#88184)
Reverts tgstation/tgstation#87382

huge noob trap with unclear UI

bypasses the utility of side objectives granting reputation

the time lock is no longer a time lock

@Watermelon914 

🆑
balance: Time-gated traitor uplink gear is returned to being hard
reputation locked with a static price.
/🆑
2024-11-25 19:54:02 +00:00
SmArtKar
708cd110e6 Fixes a random zero in nuke ops uplink UI (#88147)
## About The Pull Request


![u3plza5](https://github.com/user-attachments/assets/a88d079a-2a29-4be7-ac1c-9d3433fa34ff)

## Changelog
🆑
fix: Fixed a random zero in nuke ops uplink UI
/🆑
2024-11-24 04:53:56 -08:00
Jeremiah
bbdc331218 Hotfix: Tgui panel light mode [No gbp] (#88069)
## About The Pull Request
Makes light mode light again. There is some weirdness going on with
imports that I must troubleshoot longer. This will work in the meantime
## Why It's Good For The Game
it brite

![image](https://github.com/user-attachments/assets/9f1fa64f-1d9f-4aa8-8cff-9a8b16e191b0)
## Changelog
🆑
fix: TGUI panel light mode should no longer be gross gray
/🆑
2024-11-21 20:37:23 +01:00
Ben10Omintrix
d2c8e10e26 Repairbots (#86084)
## About The Pull Request
adds repairbots to the game!

![repairbot](https://github.com/user-attachments/assets/8c492c7c-6c12-4095-89f6-cc97ae1edbc0)

this pr serves as a massive rework and buff to floorbots. i was a bit
sad that they dont get built much anymore so ive given them tons of more
utilities and uses.
Repairbots still inherit to place tiles and repair breaches. but they
can now rebuild walls, rebuild windows and repair structure and
machinery. Also Ive given them voicelines to add more character to them.
In short, they are very depressed with their job (however they express
their happy go lucky attitude when u emag them where they will start
deconstructing the station)

to demonstrate capabilities, here's a slightly sped up clip of some
repairbots patching up an area that was maxcapped 4 times:

https://github.com/user-attachments/assets/bddac3b0-1984-4571-85d3-c5283dd7c0de

When repairbots feel threatened, they will retract into their little
toolbox which u can pick up and hold in ur hand, either to conveniently
carry and plop them down at breached sites, or to bash skull with it

U can build them using a toolbox, proximity sensor, cyborg arm and a
conveyor belt

## Why It's Good For The Game
refactors floorbots and makes them alot more useful tools for engineers
to use


## Changelog
🆑
refactor: floorbots have been refactored, please report any bugs
add: adds repairbots to the game!
/🆑
2024-11-19 15:19:44 -05:00
Jeremiah
68ade832cc Adds Tgui styles library (#87964)
## About The Pull Request
Since tgui-core is stable (and headless) now, we can use its
accompanying [tgui-styles](https://github.com/tgstation/tgui-styles)
library to import our official component styles. This means we can
delete them here!
## Why It's Good For The Game
Less confusing for contributors trying to fix components. Fix them in
the official repo!
## Changelog
N/A
There should be NO visible difference
2024-11-19 15:16:15 -05:00
tonty
6e29e20bde Fixes haunted 8-balls (#87969)
## About The Pull Request

Haunted 8-balls had the condition for their UI flipped, so it would hide
it when it was supposed to show it and vice-versa. This fixes #83120

Also fixed some bad UI work so it's a bit nicer

## Scariest Story (Try Not To Get Scared)


https://github.com/user-attachments/assets/ba5341f1-8025-4931-b3d5-73e0ecf82788

## Changelog

🆑
fix: Haunted 8-balls are now usable again (FINALLY)
fix: Haunted 8-ball UI now correctly displays your selected answer
qol: Made the haunted 8-ball UI look a pinch better. Just a smidge. 
code: Haunted 8-balls no longer use a duplicate answer list
/🆑

<!-- 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-11-18 12:41:20 +01:00
jimmyl
f88edca079 replaces reputation locks with instead being prohibitively expensive based on rep (#87382)
## About The Pull Request

makes reputation locked gear instead be very very expensive and get
cheaper as you get to that rep
price initially starts at 3x 0 rep and climbs to 1x as you approach the
needed reputation


https://github.com/user-attachments/assets/7696e776-6058-474a-b028-f120c90df45e


## Why It's Good For The Game

Reputation locking you out until youre exactly or above that rep kinda
sucks as it locks you out of doing the things you want because you dont
have the rep yet so you gotta AFK in a locker or stare into a wall or
play the really poorly made objectives

with this change you can sacrifice much more TC to have it early
still prevents roundstart medbay bombing: syndbomb costs 33tc roundstart
or so

## Changelog
🆑
balance: makes reputation locked gear instead be very very expensive and
get cheaper as you get to that rep
/🆑
2024-11-17 05:09:16 +01:00
Jeremiah
19a543ee27 [tgui] Tgui core components D-M (#87763)
## About The Pull Request
Swaps out local components for tgui-core components for interfaces D-M

I'm doing this in small batches for easier debugging.

## Reopened:
With the release of tgui core v1.3, I am much more confident that the
library can replace our usage. I've expanded this PR to many more UIs
for testing
## Why It's Good For The Game
Centralized, maintained component library that many external developers
contribute to
## Changelog

n/a
2024-11-16 15:07:05 -05:00
SmArtKar
34156c60f2 Removes N-Spect scanner's and scanner gate's ability to scan people for contraband (#87882)
## About The Pull Request
What title says. Handheld N-Spect scanners and scanner gates can no
longer scan people for contraband. N-Spect scanners can still scan items
and storage containers.

## Why It's Good For The Game

Contraband scanners are a direct (and pretty much binary) antag check
(which goes against our general disdain towards antag checks) and a
significantly faster and easier bag check (which goes against our server
policy established eons ago). This interaction isn't logged either which
is also very bad.
There is no way to avoid being caught if someone comes up to you
intending to scan/bag check you, which is why bag check policy was made
in the first place - if you don't agree to it, you must have something
to hide. Scans aren't logged either, you can only check nspect's says to
see if there was an attempted scan but not if its been finished or what
the results were.

## Changelog
🆑
del: Removed N-Spect scanner's and scanner gate's ability to scan people
for contraband.
/🆑
2024-11-16 13:53:44 +01:00
Lucy
f4a077c6fe Refactors some more UIs to use DmIcon (#87886)
## About The Pull Request

Upstream port of
https://github.com/Monkestation/Monkestation2.0/pull/4215

This changes some tgui UIs that used icon2base64/getFlatIcon to display
items to instead use DmIcon, just passing the icon/icon_state instead.

To be specific: the ORM, the "ore container", and the order console
(produce, mining, and bitrunning vendors)

<details>
<summary><h3>UI screenshots / proof of testing</h3></summary>

![2024-11-12 (1731458275) ~
dreamseeker](https://github.com/user-attachments/assets/b1c60677-b117-4c23-8076-8b5072130d55)
![2024-11-12 (1731458281) ~
dreamseeker](https://github.com/user-attachments/assets/b64d3c2f-4754-4e5d-991a-2df69d86eb2a)
![2024-11-12 (1731458286) ~
dreamseeker](https://github.com/user-attachments/assets/287d8db1-8acb-4c4c-a2f0-66227a477d19)
![2024-11-12 (1731458388) ~
dreamseeker](https://github.com/user-attachments/assets/f69f5d51-5cdc-442c-971d-a4abedd4a3d2)
![2024-11-12 (1731458391) ~
dreamseeker](https://github.com/user-attachments/assets/53a95e88-ac41-4f97-a409-10b19d130376)


</details>

## Why It's Good For The Game

gfi bad, especially in ui(_static)_data, dmicon good.

## Changelog
🆑
refactor: The ORM, "ore container", and order console UIs (produce,
mining, bitrunner vendors) now load icons in a more efficient manner.
/🆑
2024-11-14 19:10:22 +01:00
Andrew
5f18c16bf6 Chem Dispenser icon shadow [NO GBP] (#87868)
## About The Pull Request


![image](https://github.com/user-attachments/assets/5220c8ce-5f75-4a4a-944b-66ac5f458c53)

Didn't manage to processs the last suggestion under
https://github.com/tgstation/tgstation/pull/87576 by @Iamgoofball
Even though it was so obvious and brilliant idea.

Now no need to have a separate highlight color for buttons on PH color
mode.

## Why It's Good For The Game

Nice UI

## Changelog

🆑
qol: Chem dispenser UI droplets now have a shadow to not blend with the
background
/🆑
2024-11-14 01:24:14 +01:00
Fikou
0f26f6e9ee modsuit given traits use refs + fixes their deletion not working right + need boot out for ai to move (#87726)
## About The Pull Request
so there is a problem of:
if 2 modsuit modules were to apply the same trait and 1 were removed,
shit would break
so now all instances of mod_trait applied to the modsuit wearer are refs
instead, with mod_trait used for stuff added to items as that isnt
likely to have the same thing
also qdeleted modsuits delete their parts apparently accidentally
removed at some point. the previous time they did it caused qdel loops
but this time it doesnt
makes boots need to be out for an ai to move someone in a modsuit
improves the ui, non-standard cores now have unique colors for the
charging bar, and you can extend/retract things from ui, also adds a
configurable button to config menu so that the tether doesnt repurpose
the pin function made for circuits
redoes modsuit balloon alerts to use simpler language
makes the weapon recall module make you pick up the weapon if its on
your tile as throws dont work on same tile

![image](https://github.com/user-attachments/assets/97a0eb85-8127-4297-b679-3e5488ce73be)


## Why It's Good For The Game
futureproofing (also technically presentproofing, if you wear something
like infiltrator and normal back modsuit and both have ai control they
both will give you a trait)
also ai movement doesnt have any checks currently, i think it makes
sense that it would require your boots to be out so that the ai has
something to move
fix stuff change break boom wack
2024-11-13 12:29:35 -06:00
Jeremiah
13ac419b9b [tgui] Fixes sassy warnings (#87776)
## About The Pull Request
Sass was warning about deprecated APIs in our codebase. Went through and
fixed them

Used sass-migrator tool as much as I could, some were by hand

### Updated:
Sass would no longer let you run functions on hex color codes so I went
through and HSL'd them all, how cool! If you have a simpler way to
approach this, let me know

Adds a tool to convert hex to HSL
## Why It's Good For The Game
None of this

![image](https://github.com/user-attachments/assets/35d3dbeb-f62f-4485-bb2e-889c5d4453e2)
## Changelog

N/A
2024-11-13 16:08:26 +13:00
SyncIt21
21aee3112f [NO GBP] Fixes some item interactions (#87856)
## About The Pull Request
- Fixes #87854


## Changelog
🆑
fix: flatpacker accepts circuitboards with left click
fix: rcd can deconstruct tables
fix: you can open panels of destructive analyzers with screwdriver right
click. Use right click or combat mode with items for default
interactions
fix: flatpacker & machines with local storage can be RPED'd again
/🆑
2024-11-12 18:13:42 +01:00
harryob
1ff17b848c fixes tgui DraggableControl not focusing on first click (#87834)
closes #86536

## About The Pull Request

we were attempting to focus a hidden element, which appears to just fail
silently. if we wait until it should be rendered in the dom, it'll be
focused correctly

i'm not 100% just throwing a `setTimeout(() => {}, 0)` is appropriate -
this is a scary class component that i can't throw a useEffect at. it
works, though

i'll pr it over to tgui-core ifff this is all good

## Why It's Good For The Game
clicky buttons clicky click working click

## Changelog
🆑
fix: certain tgui inputs no longer require 2 clicks to open
/🆑
2024-11-12 17:18:48 +01:00
grungussuss
61ca36dc71 More accessibility options and pref menu (#87549)
## About The Pull Request
- added accessibility tab in prefs menu
- put darkened flashes option into this menu
- added `darken screen shake` pref, for motion sick people, darkens your
screen when experiencing screen shake.

<details>
OUTDATED 


![image_2024-10-29_023038297](https://github.com/user-attachments/assets/db9cfe23-74f7-413a-8d84-496384b3d3bf)

</details>


https://github.com/user-attachments/assets/e3fd43ad-a65c-47dc-add2-6c93048e8b61

## Why It's Good For The Game

makes it easier for people with disabilities to play the game.
## Changelog
🆑 grungussuss
qol: you can now mitigate motion sickness from screen shake by enabling
"darken screen shake" in preferences
/🆑

---------

Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
2024-11-12 09:08:51 +13:00
Ghom
c8f3048289 Fixes the randomizer fishing portal not working as intended. (#87794) 2024-11-10 21:28:59 +01:00
Andrew
b5ff24545b Chem dispenser droplets colored (#87576)
## About The Pull Request


![image](https://github.com/user-attachments/assets/35492711-3ba9-4c5e-b013-ef8d39ac633f)

Made the droplets show the reagent color (or PH color if ph display is
enabled)

## Why It's Good For The Game

Better UX when you know your colors.

## Changelog

🆑
qol: chem dispenser droplets in UI colored as their reagent
/🆑
2024-11-10 12:30:20 +01:00
harryob
263a6937ed fixes missing icons in abductor console (#87759)
## About The Pull Request
grabs the icon for the item correctly. also typescripts the interface
because blessed type safety would've prevented it being missing in the
first place. and clears some random deprecations

## Why It's Good For The Game
pretty icons 👍 
loading icons 👎 


![image](https://github.com/user-attachments/assets/ec524a52-fff5-4c67-b3fb-88fbfd5988af)


## Changelog
🆑
fix: the abductor console now correctly loads images of equipment
/🆑

closes #87565
2024-11-09 11:06:30 +01:00
Jeremiah
200e0a3dbd [tools] Removes the second dev server connection (#87727)
## About The Pull Request
This
![Screenshot 2024-11-06
215752](https://github.com/user-attachments/assets/6933ff60-11c2-472e-8d06-a1f43fa9b48e)

Apparently this was connecting http for ie8 support, which we dropped a
long time ago in #79974.

I added some early returns to the code as well
## Why It's Good For The Game
Code cleanup
## Changelog

n/a
2024-11-08 23:03:02 +01:00
Jeremiah
d131084830 [tgui] Dependency updates (#87723)
## About The Pull Request
Some various dependency updates for tgui
## Why It's Good For The Game
Shiny!
## Changelog

N o p e n/a
2024-11-08 16:08:29 +13:00
_0Steven
1365e6079c Fix NTNRC duplicate message jank and new message header, makes program headers actually update when there's none. (#87610)
## About The Pull Request

As before, more fiddling with NTNRC, more bugs.
This time, the same user sending the same message within the same second
would cause this message to spawn a new copy each time the channel was
opened, until the UI was closed and re-opened.
Looking into it, this seemed to be because we would set the `Box`'s
`key` value to the message contents:

<b0d71024c0/tgui/packages/tgui/interfaces/NtosNetChat.jsx (L156)>
Which isn't actually unique.

To fix this, we instead make each channel keep track of an incrementing
`id` number to assign to each message, and convert the `messages` list
to an associative list using those numerical ids stringified.
We don't just use the list index as a key, as we later may want to
target specific messages, so a consistent unique key is important.

This fixes our primary issue.

In the process of making the rest of the code account for this, I
noticed that the NTNRC program header that's supposed to show new
messages in the active channel when the program is idle didn't actually
work.
Just at all.
So I rewrote the entire thing, and it now tracks the last read message's
id rather than the full message, and sets this when you actually
background the program. The rest still runs on process tick, where it
updates the header if there's a new message with a different id on top.

Finally, the header part of the UI wasn't actually updating if there
were no headers, so now it forwards a lack of headers change as well.
## Why It's Good For The Game

Reduces more NTNRC jank.
Good if shit like, actually works.
## Changelog
🆑
fix: NTNRC no longer endlessly duplicates messages with duplicate
contents upon switching channels.
fix: The new message header you get when NTNRC runs in the background
actually works.
fix: NtOS header actually updates if there are no program headers.
/🆑

---------

Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2024-11-08 03:19:47 +01:00
Jeremiah
8522aeac41 [tgui] Bumps node & yarn versions (#87700)
## About The Pull Request
- Node 22 LTS and Yarn 4.5.1
- Removes windows 7 compatibility support
- Set to install for you on the next build
- CI also bumped to Node LTS
## Why It's Good For The Game
Oil change for TGUI. Up to date and fresh!
## Changelog

N/A
2024-11-05 18:18:48 -05:00
Ghom
e6253c7812 Adds a score for all species of fish that you've caught. (#86049)
## About The Pull Request
I'm adding a score that tracks which types of fish you've caught across
multiple rounds. To do so, I had to add a new score subtype that manages
the score value not being a number. Thankfully the achievement code is
fairly flexible so not a whole lot had to be done, although I've to add
a new column to the achievements table in the DB, because the 'value' is
for integers, while we need one for text strings ~~(the contents of the
list are converted to text with a delimiter before being saved cuz I'm
not sure if and how our DM slash SQL integration handles using lists
directly and I don't want to waste time finding it out)~~.

EDIT: It's mostly done beside the reviews that are going to point out
things that need to be changed. The UI changes are done. It's time for
reviews.

Here are screenshots of the UI with all fish still uncatched beside one
(I've since then the typo on its name and removed an extra zero from the
index number, as well as a nit with the spacing between cells):

![immagine](https://github.com/user-attachments/assets/a1dcfeb6-6d26-461e-aaa1-97c619f5cbfa)

![immagine](https://github.com/user-attachments/assets/768f6621-c992-4932-9bca-979dd1e43d6f)


## Why It's Good For The Game
We have about dozens over dozens of different fish in the game now, many
of which are just fluff anyway. It's getting to the point it's perhaps
doable to add a score or something to be a braggard about.

## Changelog
🆑
add: Added a new score that keeps track of all different fish that
you've caught between shifts.
server: Added a new schema table to store the aforementioned entries and
the ckeys associated to them, with an additional timestamp column.
/🆑
2024-11-04 13:48:25 -08:00
grungussuss
d09316667a Sound mixer attempt 2 (#87529)
## About The Pull Request

![image](https://github.com/user-attachments/assets/131caab0-5495-4f28-b9e0-46ce4ebc7b40)
## Why It's Good For The Game
gives players more control over how loud they want certain sounds to be
## Changelog
🆑 grungussuss
sound: the volume that ship ambience, ambience, radio noise and
announcements play at can now be tweaked in preferences, check your
preferences!
/🆑
2024-11-05 09:13:38 +13:00
zxaber
3cfde345be Removes SiliConnect from borg PDAs, expands their self-status app instead (#87350)
## About The Pull Request
- SiliConnect is no longer a default app for cyborgs.
- RoboTact, the borg self-status app now has a Network tab, which lists
other borgs' status.
- The Network tab will only list borgs connected to the same AI as you.
If your AI goes down, you lose connection to other borgs' status info.
- Your AI is also listed on the Network tab, with their own status in a
very binary good/bad form.
- Syndicate borgs are able to see other syndicate borgs on the Network
list, even though they lack an AI.
## Why It's Good For The Game
SiliConnect was recently added to the default borg apps list. But it has
a lot of features that borgs can't actually use, and so feels rather
messy. It was added with the goal of letting borgs see eachother's
status, and so I've ported that functionality into RoboTact. SiliConnect
is no longer a default borg app (though it *can* be installed if a borg
and human really want it to be).

Showing the AI's status is certainly a balance choice. But it's not
really that much of a secret when the AI dying already adjusts the
monitors across the station to a BSOD image. On the flip side, we get to
shut off borg status sharing when the AI goes offline, which is neat.
## Changelog
🆑
del: SiliConnect, a tool meant for Roboticists, is no longer included by
default on borgs.
add: RoboTact, the borg self-status app, now shows the status of other
borgs synced to the same AI. Syndicate borgs can likewise see
eachother's status, even without an AI.
balance: RoboTact also shows their synced AI's very basic status of
functional or offline.
/🆑
UI Pictures:

![image](https://github.com/user-attachments/assets/1a5b6cbc-daa6-43a7-8ff6-95119d84eb83)
Dead AI:

![image](https://github.com/user-attachments/assets/f9f1668c-ae5b-4867-8634-590b573a968c)
Syndicate borgs do not see station borg status, but can see eachother's

![image](https://github.com/user-attachments/assets/085a0745-4c18-4a45-bcb4-ef93fa5b799f)


~~Drafting because I need to do edge-case testing, and the AI box isn't
quite functioning correctly when the borg has no AI master.~~
2024-11-04 06:10:07 +00:00
larentoun
3033120efd Scanner Gate - species are not hardcoded (#87374)
## About The Pull Request
Removes hardcoded checks in the proc to a list, where available to scan
species can be added.

The available list has NOT been changed, the screenshot only shows
var-edited scanner gate.


![image](https://github.com/user-attachments/assets/89cf8920-108d-48b8-88ee-2a0faaa2aa2c)

## Why It's Good For The Game
Less hardcoded stuff is good. More support for future species when
added.

## Changelog
🆑
refactor: Species detection on scanner gate has been updated from
hardcoded list to a variable. You can VarEdit using species' id
/🆑
2024-11-02 14:26:39 +01:00
_0Steven
f107a56773 Fixes NTNRC username sorting, additionally makes subcategories sort alphabetically. (#87616)
## About The Pull Request

While looking into getting the NTNRC username list sorted, I found out
that it was _already_ supposed to be sorted by status, but just got
broken in a pr that removes the program status variable forwarded for
this reason.

In this pr we simply add a `get_numerical_status()` proc that converts
the new logic into a number we can sort by, then make the tgui sort
account for this.
Additionally, we make it sort alphabetically in its subcategories, for
sanity's sake.
It now sorts by operator perms first, then
online>away(background)>offline, then alphabetically.

While I dislike operators being at the top regardless of their status,
it seems like that is how it was intended to work, and doing so sanely
would requite rethinking how names are coloured entirely. On the other
end, I think it's potentially good to have operators be at the top and
thus easily pingable at all times.
## Why It's Good For The Game

Fixes broken status sorting.
Alphabetical sorting makes finding a specific user to mute or ping them
less of a pain.
## Changelog
🆑
fix: NTNRC channel user list is sorted by status again. It goes
operator>online>away>offline.
qol: NTNRC channel user list is now alphabetically sorted under its
status subcategories.
/🆑
2024-11-02 14:01:16 +01:00
_0Steven
61cef6c342 Fix NTNRC muting not working at all. (#87606)
## About The Pull Request

When fiddling around with NTNRC, I noticed that muted clients... can
still talk.
While the input bar is reddened and displays a mute message, it isn't
actually disabled- even more so, there's no sanity checks for being
muted on the `ui_act(...)`.

In this pr we just make it so the input gets disabled, and add a sanity
check to avoid people bypassing it.
## Why It's Good For The Game

...good if the app's muting feature like, actually works.
## Changelog
🆑
fix: NTNRC muting actually works again.
/🆑
2024-11-01 13:11:43 +01:00
_0Steven
df7e74afb9 Makes input buttons gray out when disabled, instead of solely disabling the input part you get after clicking. (#87588)
## About The Pull Request

While fiddling with NTNRC netadmin mode, I noticed that while renaming
is blocked on `strong = TRUE` channels like `#cargobus`, it doesn't gray
out the button like for deleting the channel.
Instead, clicking it still opens the input menu!... But that part _is_
disabled, thus being just an uninteractable black bar.

So in this pr we just make input buttons' `onClick` not work if
`disabled`, and apply `Button--disabled` to itself if so.
## Why It's Good For The Game

Grayed out button is much better than uninteractable black bar,
especially when normal disabled buttons are _also_ grayed out.
## Changelog
🆑
fix: NTNRC "rename channel" button is now grayed out when unusable.
fix: Genetics console "create advanced injector" button is now grayed
out when unusable.
/🆑
2024-11-01 00:29:57 +01:00
Jerry
20c8149706 Add option to disable sparks when spawning supply pod (#87463)
## About The Pull Request

The sparks that are created before the supply pod gets deleted are now
optional, and can be set with a button in the "Harmful effects" section.


![image](https://github.com/user-attachments/assets/5e3a741d-917e-4260-8685-db74cdd926f9)


* Closes #86799.
## Why It's Good For The Game

Allows admin to spawn supplies without lighting a room on fire because
of a hint of plasma in the air.
## Changelog
🆑
admin: make sparks optional when sending a supply pod
/🆑
2024-10-26 16:53:13 +02:00
Vekter
7f3f0ba86e Changes entertainment radio to be darker (#87459)
## About The Pull Request

I made the entertainment radio text a little less eye-searing.


![image](https://github.com/user-attachments/assets/d95c10aa-cfa1-4365-922b-b3a5c03e3bfd)

![image](https://github.com/user-attachments/assets/aed97d39-2938-4fdb-8ccc-930a65deb592)

![image](https://github.com/user-attachments/assets/436632c1-59eb-4fb4-a632-0c3b2448e45a)
## Why It's Good For The Game

I'm sure it looked kind of okay on dark mode, but for us light mode
heathens, entertainment chat could be kind of hard to read sometimes.
This shade looks better and, while not as bright, I think fits the role
better - I went for something similar to the kind of blue/grey of a
reporter's suit.
## Changelog
🆑 Vekter
fix: Changed the color of entertainment radio to be darker
/🆑
2024-10-26 15:39:04 +02:00
Time-Green
d170a410d4 Recovered Crew | Medical+Cargo Respawns (#87072)
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
Co-authored-by: _0Steven <42909981+00-Steven@users.noreply.github.com>
Co-authored-by: SmArtKar <44720187+SmArtKar@users.noreply.github.com>
2024-10-26 09:36:57 +02:00
Lucy
e16828f166 Add a separate preference for hearing AI VOX announcements (#87097)
## About The Pull Request

This adds a new preference, "Enable AI VOX announcements", which allows
you to toggle hearing the vocal AI VOX announcements.

Previously this was handled by the "Enable announcement sounds" setting,
but tbh having it lumped in with that sucks because it's very reasonable
to be okay with announcement dings, while not wanting to hear voxtest or
some shit.

## Why It's Good For The Game

I DO want to hear the normal announcement dings, but I ***never*** want
to hear the vocal AI announcements, and spamming "Stop Sounds" for every
single word to skip past it is annoying as hell.

## Changelog
🆑
add: Added a separate preference for hearing vocal AI announcements
(also known as VOX), as opposed to lumping it into the "Enable
announcement sounds" preference.
/🆑
2024-10-24 04:14:12 +02:00
zxaber
7429dc69b9 Silicons can now use dropped PDAs (but still cannot access Messenger) (#87343)
## About The Pull Request
- Removes the restriction from borgs and AIs opening PDA interfaces.
- Adds a restriction on Messenger if the PDA is being viewed by an AI or
Cyborg *and* the PDA is not a silicon-type PDA. Messenger is completely
unusable in this case.
- The AI's own PDA is unaffected, due to it being a silicon-type PDA.
Downstreams that give Borg PDAs the Messenger app should likewise be
unaffected. Though mainly unrelated to the PR, pAIs were also tested and
have not been affected.
## Why It's Good For The Game
Back before tablets and PDAs were squished together, silicons could
access tablets freely. TGUI PDAs were restricted from Silicons mainly to
keep parity with the old PDAs, of which Messenger is the major feature
that was ported over. Thus, I'm blocking Messenger specifically while
allowing the rest of a PDA's features to be unblocked.

As an aside, the old fluff text `It doesn't feel right to snoop around
like that...` was kinda terrible, since there are many times you do, in
fact, want to snoop. The AI trying to track down a known killer's
accomplice would want to snoop. The Malf AI that's trying to trick the
Captain would want to snoop. The prior owner of the PDA before they were
borged wouldn't even feel like it's snooping. So now it's a connection
refused thing, not an AI's feelings thing.
## Changelog
🆑
balance: Borgs and AIs can now access dropped PDAs. The Messenger app
does not work over a remote connection, however.
/🆑
Messenger interface when accessed remotely, by the by;

![image](https://github.com/user-attachments/assets/2df8ab39-97be-4472-bb18-528d79028c7b)
2024-10-23 16:08:10 +03:00
SmArtKar
87d9aae03b Removes big manipulator's use mode (#87391)
## About The Pull Request

Removes big manipulator's use mode due to how incredibly janky and
unstable it is in the background. We should not be spawning a human
every time an item is used.

## Why It's Good For The Game

This can cause extreme amounts of lag and almost crashed manny recently.

## Changelog
🆑
del: Removed big manipulator's use mode
/🆑
2024-10-23 07:26:18 +02:00
SmArtKar
df00d85356 Eye wounds, scars and a new ~Pirate~ RP quirk (#87209)
## About The Pull Request

Upon getting stabbed in your eyes or having a bullet fly through your
head there's a chance (minor for stabbing, extremely low for headshots)
you'll receive a new "Eye Puncture" wound which causes profuse bleeding
out of your now-empty eye hole. Once healed you'll have to deal with a
scar on your eye which cannot be cured and requires surgical
replacement. Eye scarring will reduce your eyes' max health by 15, give
you a minor screen tint and a fancy visual on your character sprite.
Getting scarring on both eyes will turn you completely blind.


![image](https://github.com/user-attachments/assets/c1ae4ff3-6844-405d-819b-9c390511e321)

This PR also introduces a new quirk which gives you eye scarring on the
eye of your choice and an eyepatch to go alongside it, just make sure
that it sits on the right eye.

Also added medical(white) subtype of eyepatches to loadout for those who
want that version instead. Credits to AnturK on discord for the idea.

## Why It's Good For The Game

Its a neat lil' feature that makes the game more immersive, and unlocks
more roleplay opportunities for players. New quirk gives access to this
feature for players who want to make it a part of their character's
backstory (or maybe as a part of permanent scar roleplaying).

## Changelog
🆑
add: Getting stabbed or shot in the eyes has a chance of giving you a
new wound and a semi-permanent scar, blinding you on one side
add: Added new "Scarred Eye" quirk which blinds you on one eye but gives
you a fancy eyepatch
add: Medical eyepatches have been added to loadout
/🆑

---------

Co-authored-by: Time-Green <7501474+Time-Green@users.noreply.github.com>
2024-10-19 13:39:19 +02:00
Xackii
9871a63e60 Big manipulator update. MORE MANIPULATES!!! (#86827)
## About The Pull Request

Added new settings for the manipulator:

0. Added item in claw overlay. Now you see what object manipulator is
using.
1. Type to take. Manipulator can take items and crates(also livings but
with emag).


https://github.com/user-attachments/assets/8d0a557f-339e-44c5-a48d-5c81c20ca611

2. Modes. Manipulator now have drop/use/throw mode that change
manipulate process with object in claws:

- Drop: Can drop item in  floor/storage (selected by priority).
- Use: Will try to use item in claws on living/structures/machinery
(selected by priority). Need tasting.
- Throw: Just throwing the item away!!! Throw range can be modified.


https://github.com/user-attachments/assets/71a204c5-2816-4826-9540-9fcb9699046b



https://github.com/user-attachments/assets/d38c80cc-3018-45bd-92d3-d1e693e4d586

   

https://github.com/user-attachments/assets/0b745fe6-df3b-4682-8f21-91d87feae84a

3. Priorities. Now you can configure what types of objects the
manipulator will work. Manipulator will choose which object to work with
using a priority list: selects the type with the lowest number. If
manipulator cannot find an item from priority 1, he will look from
priority 2 and so on. can be disabled by clicking on the only 1 priority
button. In this case, the manipulator will not finish its work and will
wait until the desired type of object appears.

4. Emag act. Now manipulator can be emaged. In this case he will have
the opportunity to take living mobs and drop em or THROW AWAY!!!!


https://github.com/user-attachments/assets/27d8b710-ec59-4931-9ca4-4770e929ea7b

If you find secret functions that I didn’t write about, it means I
forgot about them.

## Why It's Good For The Game

![Manipulator_Enjouer](https://github.com/user-attachments/assets/246cac47-410a-4e5b-955d-12c84b7fec63)

As many have said, Manipulator has too few functions. Adds more options
for building -death traps- logistics networks and other automated
manipulation capabilities.

## Changelog
🆑
add: Manipulator now shows what objects he is dragging.
add: Manipulator now can take more then just items.
add: Manipulator now have 3 modes to choice: drop/use/throw.
add: Manipulator now have priorities.
add: Manipulator now can be emaged.
/🆑

---------

Co-authored-by: Jeremiah <42397676+jlsnow301@users.noreply.github.com>
Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
Co-authored-by: Ben10Omintrix <138636438+Ben10Omintrix@users.noreply.github.com>
2024-10-16 21:47:05 +02:00
Y0SH1M4S73R
c597ea9850 syndicate sleeper agents can forge custom objectives (#87180)
## About The Pull Request

The removal of the ability for midround traitors to take progression
objectives had the run-on effect of preventing them from using their
uplink to view their primary objectives, which also means they cant
forge custom objectives. This PR changes that, and provides additional
logic in uplink ui code to account for uplinks belonging to traitors
with one type of objective but not the other.

## Why It's Good For The Game

Fixes #86763
2024-10-16 12:18:30 -05:00
carlarctg
2b0485d0c8 Adds a flipping skillchip, the Chipped quirk, a chip connector implant, and a quirk to spawn with it. (#87082)
## About The Pull Request

Added the FOSBURY skillchip, found in hacked toy vendors.
This skillchip allows you to bypass the emote cooldown when flipping or
spinning. However, if used too often, it will lower the chip's
integrity. At first, this is harmless, emitting sparks only, but at a
certain point, your head starts smoking, your brain begins
short-circuiting, and once the chip has lost all integrity your head
will explode in a shower of gore, giving you a cranial fissure!

Added the Chipped quirk. It allows you to spawn with one skillchip. Of
note here is that the only chips you can spawn with are the 'default'
skillchips found in the toy vendor, you can NOT spawn in with the
fosbury chip or with the musical one.

Added the Chip Connector quirk. It contains a new implant, the chip
connector, which allows you to install and take out skillchips at any
time. Being EMPed will cause it to drop one random skillchip, and if you
try using it while it's malfunctioning you'll take out a bit of your
brain instead. It can also be made at the exosuit fabricator after basic
research.

Renamed the organ slots for brain implants and made the connector
implant take the CNS slot.
## Why It's Good For The Game

> Added the FOSBURY skillchip, found in hacked toy vendors.
This skillchip allows you to bypass the emote cooldown when flipping or
spinning. However, if used too often, it will lower the chip's
integrity. At first, this is harmless, emitting sparks only, but at a
certain point, your head starts smoking, your brain begins
short-circuiting, and once the chip has lost all integrity your head
will explode in a shower of gore, giving you a cranial fissure!

During the time flipping was bugged to have no cooldown or delay, it was
really funny seeing people flip at increasingly higher speeds. Many
people miss it, and to be honest, so do I. But everything needs limits
or it stops being funny and ends up being overdone. To this end this
skillchip lets people relive those days of glory, until they go out in a
beautiful explosion. The chip will last a very long while if well taken
care of, and there are plenty of warning signs before it gets too risky
to use, but we know what players are actually gonna do, and I am looking
forward to it.

> Added the Chipped quirk. It allows you to spawn with one skillchip. Of
note here is that the only chips you can spawn with are the 'default'
skillchips found in the toy vendor, you can NOT spawn in with the
fosbury chip or with the musical one.

Chips can be kind of neat sometimes, and I think always having one as
part of your character can make for some fun things as the consistency
of it makes it more likely to stick in your mind to do stuff with.
> 'but can't you just go to the vendor at the start of every shift?'
Sure. But we have loadouts. We have tagger, musician, and many other
things that are 'roundstart bloat', and while that by itself is not an
excuse, it's part of the design of character setup: Minimizing the time
spent running around the station for things your character is supposed
to have for their personality/roleplay/gimmick. They're paying the cost
of quirk points for it, anyways.

> Added the Chip Connector quirk. It contains a new implant, the chip
connector, which allows you to install and take out skillchips at any
time. Being EMPed will cause it to drop one random skillchip, and if you
try using it while it's malfunctioning you'll take out a bit of your
brain instead. It can also be made at the exosuit fabricator after basic
research.

I like the idea of having a gross usb drive on the back of your brain
that you shove chips into and out of, especially if it drops pieces of
your brain when malfunctioning. It also adds a little bit of extra
relevance to skillchips now that you don't need to spend 15 (!!!)
seconds inside a skillstation to add one. The cost is, as stated, quite
literally losing your brain on EMP's and the moderately expensive sum of
4 points.

> Renamed the organ slots for brain implants and made the connector
implant take the CNS slot.

It annoys me that there were organ slots for 'anti drop implant'. Now
they're just slots for anything meant to connect to the
cerebellum/central nervous system, making it less brute forcey and also
adding the start of some fun exclusivity between brain implants.
## Changelog
🆑
add: Added the FOSBURY skillchip, found in hacked toy vendors. This
skillchip allows you to bypass the emote cooldown when flipping or
spinning. However, if used too often, it will lower the chip's integrity
and cause malfunctions.
add: Added the Chipped quirk. It allows you to spawn with one base
skillchip. (not the one above)
add: Added the Chip Connector quirk. It contains a new implant, the chip
connector, which allows you to install and take out skillchips at any
time.
code: Renamed the organ slots for brain implants and made the connector
implant take the CNS slot.

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-10-14 10:47:43 +02:00
Lucy
0ad195aa01 Allow dot radio prefixes to also work with the tgui-say radio prefix display (#87095)
## About The Pull Request

Port of https://github.com/Monkestation/Monkestation2.0/pull/1549

This makes tgui-say also properly show the channel preview thing with
`.c`, rather than only `:c`

## Why It's Good For The Game

dot prefixes are superior, and it's best if tgui-say works properly with
'em

## Changelog
🆑
fix: Allow dot radio prefixes to also work with the tgui-say radio
prefix display.
/🆑
2024-10-10 15:46:26 +02:00
Ben10Omintrix
34a15c690c Bring your pet to work day! (#86879)
## About The Pull Request
Adds a new neutral station trait where people are able to bring their
personal pets to show off to the rest of the crew (or to donate to the
chef). Before joining, players will be able to customize their pets



https://github.com/user-attachments/assets/5a5cda18-e551-4f87-b649-67a6940ffc6a

u can set their name, gender, pet carrier color, and teach them give
them a unique dance sequence trick. if players dont wish to opt in, they
also have the choice not to

## Why It's Good For The Game
adds a new station trait which people can RP around, whether its by
competitively comparing pets, or resolving conflicts around pets being
killed/kidnapped. Ive also GAGsified pet carriers, so people can now
have the option to recolor those too

## Changelog
🆑
add: adds a new station trait, "bring your pet to work" day
/🆑
2024-10-08 09:57:19 +13:00
siliconOpossum
75c9de1c76 Fixes paper real-time previews (#87068)
## About The Pull Request
The preview for writing on paper was _supposed_ to update in real time,
but was broken by the changes in #80616, simple one line fix.

## Why It's Good For The Game 
fixes #81868, I'm pretty sure the bit about newlines is either them
misremembering behavior or mixing it up with a bug in another UI.
## Changelog
🆑
fix: The preview for writing on paper updates in real-time again
/🆑
2024-10-07 14:28:43 +02:00
LemonInTheDark
ec7afeab72 Adds a Map Changelog Entry Category (#87034)
<!-- 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

This should hopefully cut down on mappers using the add:/fix:/del: tag
I've talked to the maptainers about this and they seem to not be
concerned about gbp in their own system, so we should be trying to push
mappers away from using add/remove/(maybe? closing issues is cool) fix
tags and such to avoid overlap.

I've intentionally not linked this to a label due to the Map Edit label
autodetecting anyway. Should be directed only at players.

This does mean less label resolution on mapping prs, not sure how I feel
about that but I didn't want to duplicate the old image
add/remove/change labels.

Requesting wider input on this and also pinging to notify.
@tgstation/commit-access @tgstation/maptainers 

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

🆑
map: added a map specific changelog entry
/🆑

<!-- 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-10-05 09:40:00 -04:00
Ghom
b86a8adf5f [NO GBP] Small fishing tweaks and fixes. (#86948) 2024-09-29 23:20:26 +02:00
jimmyl
0771b1b3a7 adds some "factory" machines (#86063)
## About The Pull Request



https://github.com/user-attachments/assets/4ceb4c0f-d5ef-4fc0-8436-d7eec5b6f396



https://github.com/user-attachments/assets/56ddd387-7376-4c35-a067-1adccbddeecd



https://github.com/user-attachments/assets/dda6cc2b-614a-4adb-a8f4-2c03b51162e0



https://github.com/user-attachments/assets/fa7697fb-f484-48a0-bb85-ee0c2f4867e2



https://github.com/user-attachments/assets/02de4b24-2fa0-4a1e-b147-df9500109b3c



https://github.com/user-attachments/assets/b56c03ab-49c9-487f-a99f-fcba5ce038ac



https://github.com/user-attachments/assets/52bae5a4-68b0-4f25-99c1-1b677b99790a

i didnt feel like recording the lathe and crafter for a suitable file
size again but essentially the crafter crafts and the lathe lathes

all machines but the router and sorter are cable powered (suitable on
lavaland)
theyre researched roundstart

they can receive any resource that bumps into it if that resource is on
the conveyor

## Why It's Good For The Game
more fun engineering stuff
and perhaps mining given these are more efficient but require effort to
set up
https://hackmd.io/@jimmyl/S1dZRZosC
## Changelog
🆑
add: added the manufacturing
smelter,router,sorter,crafter,lathe,crusher,unloader
/🆑

---------

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2024-09-29 14:58:27 +02:00