* Save 0.6-0.7s of init time by splitting registering lists of signals into its own proc, and optimizing QDELETED
* modular RegisterSignals
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Fixes the identification section not appearing in PDAs and improves its appearance just a bit (while also fixing some runtimes) (#71467)
## About The Pull Request
Yeah so turns out that #71420 broke the display of the identification
section in PDAs (and by extension, all modular (I guess not really
modular anymore) computers), because it forgot to remove a now unused
variable from the interface. However, while investigating this, I
strolled upon many more bugs and other general unresponsiveness of the
interface, so I went ahead and fixed those.
There's also no longer an empty set of `()` on both of the fields if
there's no ID inside of the computer anymore, because that was stupid.
## Why It's Good For The Game
Bug bad, fix good. Multiple fix, even better.
## Changelog
🆑 GoldenAlpharex
fix: PDAs (and by extension, modular computers) now can see the ID
section at the top of their main screen again, which means that PDAs can
have IDs imprinted on them again.
fix: Fixes the ID section not displaying anything when there wasn't any
ID inserted in it, even if it had an imprinted name and job.
fix: Fixes the "Eject ID" and "Imprint ID" buttons not being disabled
when there's no ID in the computer/PDA.
fix: There's no longer any empty () by in the "ID Name" and "Assignment"
fields of the ID section of computers when there's no ID in them.
/🆑
* Fixes the identification section not appearing in PDAs and improves its appearance just a bit (while also fixing some runtimes)
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Wirecarp mass PDA now edits the TARGET computer (#71483)
## About The Pull Request
Wirecarp's mass pda perms feature broke when I had switched 'target
computer' for the host of the application instead, likely due to a copy
paste error. This fixes that, allowing the RD to once again give people
PDA perms.
## Why It's Good For The Game
Wirecarp now works as intended.
## Changelog
🆑
fix: Wirecarp now lets you give people mass PDA perms again.
/🆑
* Wirecarp mass PDA now edits the TARGET computer
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Fixes negative payment in NTpay & Encodes name param sent to admins in fax (#71491)
## About The Pull Request
NTpay wasn't validating negative input serverside, allowing for negative
payment to users(Negative - Negative = Positive, so it adds money to the
senders account.) Also encodes a parameter that was sent unsanitized to
admins.
## Why It's Good For The Game
## Changelog
🆑
fix: Fixes a NTPay exploit.
/🆑
* Fixes negative payment in NTpay & Encodes name param sent to admins in fax
Co-authored-by: CocaColaTastesGood <47264839+CocaColaTastesGood@users.noreply.github.com>
* Fixes all modular computers being called "processing unit" (#71478)
## About The Pull Request
That's it, really. The processing unit was giving its name to the
console, rather than it being the other way around.
## Why It's Good For The Game
It's nice when machines are named the way they're meant to be named.
## Changelog
🆑 GoldenAlpharex
fix: Modular computers will now no longer all be called "processing
unit", and will all have their own unique names once again.
/🆑
* Fixes all modular computers being called "processing unit"
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* quick reorder
* nakamura part 1
* nakamura finished maybe
* blacksteel does not actually make black steel
* renames the folder, special metals part 2 for blacksteel
* WHERE WE PLAY NOTHING BUT ROCK, ROCK, AND MORE ROCK
* file pathing
* blacksteel done
* nri surplus start
* interest stuff, company flags, nri surplus completion
* deforest medical
* theres gonna be multiple nakamuras actually
* donk co
* the prices are behaving strange
* those are a tad expensive
* im so confused
* ticks the other companies to see if maybe they're responsible
* also maybe that?
* on jod bro they just needed to all be the same name
* kahraman mining tools
* nakamura tools
* nt-bolt defense equipment
* the two g*n companies
* ammo company
* good lord what is happening in there
* STOP TALKING ABOUT GUNS, IM TIRED OF HEARING ABOUT IT
* hopefully the last few bits of gun-centricity (i don think that's a word
* price adjustment
* changes what can be a freebie
* those should be the other way around
* well that'd just make the descriptions incorrect now would it
* 1st batch of changes
* pt2
* oopsies (makes every test fail)
* then king minos told me "DIE" and I was like 💀
* some of those things could cause problems
* they even spelled asbestos wrong
* ultrakrill (funny)
* i hate this dumbass """"""advanced"""""" ammo box thing
* nakamura was a bit hard to get interest from
* not much a fan of how interest goes down
* those mod cores should be cheaper
* again fuck this stupid ''''''''advanced'''''''' ammo box shit
* price adjustment
* misinput
* Update accretion_incompatibility.dm
Co-authored-by: John Doe <gamingskeleton3@gmail.com>
Co-authored-by: Zonespace <41448081+Zonespace27@users.noreply.github.com>
* Adds support for non-science techwebs (+Config) (#71070)
## About The Pull Request
This is an expanding of
https://github.com/tgstation/tgstation/pull/69708
Adds a config to not connect machines to a techweb at the start of a
round
Adds the ability to multitool a server to get its techweb in its buffer,
which can then be used on machines to sync them.
Adds support for some machines to not cry when they don't have a techweb
linked to it, in case they actually don't.
If the config to not have machines connected to the science server is
enabled, research servers will make their own techwebs instead. This is
barebones though and would need more work if this option is used.
For misc stuff:
- I replaced checking ``GLOB.machines`` for research servers, to instead
check ``SSresearch.servers``, where we can use ``as anything``.
- Removed unused vars on the RD server control
- I renamed the operating computer's .dm file to remove the capitalized
letter from it. It's now operating_computer instead of Operations.
## Why It's Good For The Game
This is adding support for 2 different cases that can be used in the
future:
1. Off-station roles, we can make roles like Oldstation have their own
techweb so they don't ruin science's efforts, or use their advanced
research to get things we don't want, or even possibly have some
blacklist webs for ghost roles (like teleporters) so that way we don't
need to have this dance where we have to give them a very specific
amount of materials for them to do things while not being able to get a
teleporter and leaving. I heard discussions that people wanted this a
while back, and one of the main things preventing this from happening is
the lack of support. Hopefully this is encouragement to make it a
reality, because I think it would be a really cool expansion of ghost
roles and a good way to prevent them from messing with the round in
progress.
2. Downstreams who want to do different things with Science. Personally
I made this PR with voidcrew(shiptest) in mind and think this would make
their lives easier. I didn't expand too much on this because I'm leaving
up mostly to the downstreams to figure out what they want to do with
these systems.
## Changelog
This generally isn't really player facing, since most of the changes
would only come into effect if the config is enabled??
🆑
fix: Research servers now only show servers connected to their techweb.
/🆑
* Adds support for non-science techwebs (+Config)
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Fixes a bug where chunky fingers were preventing roundstart PDA use (#71301)
## About The Pull Request
Fixes#71180#70422 Removed the !allow_chunky check introduced by #66358 ,I've
re-added it.
I've tested this and can confirm PDAs are usable again while modular
consoles remain unusable.
## Why It's Good For The Game
Fixes a rather frustrating bug
## Changelog
🆑
fix: Roundstart PDAs can once again be used by people with chunky
fingers.
/🆑
* Fixes a bug where chunky fingers were preventing roundstart PDA use
Co-authored-by: NamelessFairy <40036527+NamelessFairy@users.noreply.github.com>
* Removes Syndicate cyborg's messaging app (#71134)
## About The Pull Request
Syndicate borg apps weren't changed to cyborg subtypes when those were
added in.
## Why It's Good For The Game
Closes https://github.com/tgstation/tgstation/issues/71116
## Changelog
🆑
fix: Syndicate Cyborgs no longer have the PDA messaging app.
/🆑
* Removes Syndicate cyborg's messaging app
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Strays away from GLOB.machines when possible (#71100)
## About The Pull Request
This replaces needless GLOB.machines with more precise lists whenever
one existed, plus adding a new one for CTF machines.
## Why It's Good For The Game
GLOB.machines holds every single /obj/machinery in the game, so checking
the whole list for stuff is pretty big. This aims to cut that down by
using smaller lists whenever possible. I also gave CTF a new list
because it checked machines very often.
## Changelog
Nothing player facing.
* Strays away from GLOB.machines when possible
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Removes tablet cell parts (#71078)
## About The Pull Request
Removes cell parts and cell part cells, now tablets directly stole a
power cell in them, and uses regular stock cells like every other
machine in the game. This also makes it less confusing because people
are more used to stock cells over computer cells. Because cells
generally hold more power than computer ones, I bumped up the active
power usage from 50 to 75.
## Why It's Good For The Game
We are nearly finished removing all parts, holy cr*p
## Changelog
🆑
balance: Tablets now use regular cells instead of computer cells.
balance: Tablets no longer need a power cell component to hold power
cells.
/🆑
* Removes tablet cell parts
* Feex
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Re-adds the clown's PDA virus honking (#71035)
## About The Pull Request
Re-adds the Clown's virus disk's ability to make machines, airlocks, and
computers honk, which was removed in the transition from PDA to modular
computer.
Fun fact: This was broken for a long time, I had fixed it in
https://github.com/tgstation/tgstation/pull/64443 before it got
accidentally wiped off the face of the earth.
To anyone who isn't aware:
- Clown's virus disk has 5 charges
- You can use these charges to install viruses in computers, airlocks,
and machines if they're screwed open (computers dont need to)
- This will make them honk when used.
- You can get charges back by slipping people with the PDA while the
virus disk is installed in it (which it is by default)
- The max charges you can get at once is 5.
## Why It's Good For The Game
A feature that was lost in the PDA to modular computer transition, now
re-added. It's a cool feature and I personally would use it if I played
bad jobs.
Things actually working is a 🛩️
## Changelog
🆑
fix: Clown PDA virus disk can once again be installed in machines,
computers, and airlocks.
/🆑
* Re-adds the clown's PDA virus honking
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Easy's Super Omega "unarmed strike based species var moved to limbs" refractor, unarmed strike striking with specific body parts rather than it just being flavor, and brain based attacking limb selection extra chunky edition. And also bodypart traits.
* Removed all the conflicts, and started converting all the arms and legs to the proper typepaths
* Actually makes the game compile :)
* Makes the maps compile too!
* Early mirror of #71143 because it's more relevant to us
Co-authored-by: itseasytosee <55666666+itseasytosee@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* NtOS Emojipedia - PDA Emoji Messaging For All (#70829)
An Emojipedia app has been added to tablets, given to Mimes and Curators by default, allowing anyone to know all emojis. Additionally, emojis can be used in tablets by every job now.
* NtOS Emojipedia - PDA Emoji Messaging For All
* update emoji list to be valid
* animated emojis
Co-authored-by: san7890 <the@san7890.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Fixes the messenger app not being responsive when certain buttons are clicked (#71077)
## About The Pull Request
The buttons to toggle the ringer, to toggle the sending/receiving and
the button to see message history all stopped being responsive, because
the information they were changing when pressed was wrongly kept in
`ui_static_data()` rather than `ui_data()`. Now, they're back in
`ui_data()`, and behave as expected once again.
## Why It's Good For The Game
A non-responsive TGUI interface is probably the saddest thing to see.
## Changelog
🆑 GoldenAlpharex
fix: SpaceMessenger was now updated to 6.4.8, bringing you more
responsiveness than ever (so long as ever is shorter than seven days
ago)!
/🆑
* Fixes the messenger app not being responsive when certain buttons are clicked
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* Fixes detomatix's name (#71075)
## About The Pull Request
I accidentally replaced it with 'attacking_item' because i am demented
and can't stop abusing my clipboard.
## Why It's Good For The Game
🛩️
## Changelog
🆑
fix: Detomatix cartridges are no longer called attacking items.
/🆑
* Fixes detomatix's name
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Adds Station's Date To NTos Window (check the time+date on your tablet!) (#70754)
* The date and time is now displayed in NtOS tablets, showing the in-game date (540 years after current), bringing the feature from old PDAs over.
* Adds Station's Date To NTos Window (check the time+date on your tablet!)
Co-authored-by: san7890 <the@san7890.com>
* Add AltClick removes pAIs for tablets (#68251)
* Add AltClick removes pAIs
* Add context screentips for pAIs to tablets
* Fix screentip context syntax error
* Fix syntax error
* Merge remote-tracking branch 'upstream/master' into patch-10
* Refactor contextual screentips to work
* Fix runtimes
* Apply code review changes
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Add balloon alert to tablet items
* Refactor screentips to be more robust
* Change add_context to be more robust
* Add more balloon alerts
* Some idiot set user to null so I gotta remove this
* Change pen screentip to display inserted item
* Add screentip to insert items
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Add AltClick removes pAIs for tablets
Co-authored-by: Tim <timothymtorres@gmail.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fixes some inconsistencies with computers (#70679)
* Modular computers now have their initial name if they don't have an idenfitication and job, which previously meant they would have the name ()
* Removes MACHINE modular computer's process, because all it did was update the name, then call computer's process. Now it just does what every computer does, BUT UpdateDisplay on ITEM modular computers will now update the machine's name.
* Additionally, I moved the modular computer processor's New to an Initialize, and removed the shutdown_computer code, because we already register update_icon signal to update the computer's appearance, why do we need to do it twice?
* Fixes some inconsistencies with computers
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Misc PDA code improvements (#70555)
* How to conflict with PRs: A guide
* Removes unnecessary support for the now-removed job disks from Tablet's TGUI menu, and tablet's ui_act.
* Adds autodoc comments to computer files
* Removes the unused 'unsendable' var on computer files
* Generally improves code on tablets, now process isn't looping through every idle thread twice!
* Moves the check for program in idle_threads above checking if supported by hardware, because it's already running, so there's no need to check.
* eh
* revert a scipaper change
* Misc PDA code improvements
* updated contract_uplink
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>
* Removes a ton of unused tablet vars, re-organizes the rest (#70344)
* Removes a ton of unused vars, re-organizes the rest
Removes a ton of unused vars from Modular computers
Re-organizes the rest, and adds autodoc comments to most of them
Moved 2 vars (saved_image and invisible) from the tablet to the messenger app, since that's where it was used. I didn't see the point of having these vars be on every computer anyways, only PDAs have the app.
Renames Clown's honk virus var
Makes Messenger app's saved image, actually used.
* static list and NODECONSTRUCT_1 check
* oops
* Removes a ton of unused tablet vars, re-organizes the rest
* cryopod
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: tastyfish <crazychris32@gmail.com>
* Modular computer fixes (#70606)
* Moves a lot of modular computer attackbys to the cpu instead, which is what handles it all. This allows their parts to be removed and the console deconstructed/repaired once again.
* Modular computer fixes
Co-authored-by: GoblinBackwards <22856555+GoblinBackwards@users.noreply.github.com>
* Fixes communication being nearly impossible (except over radio) when there's a null client in the global player list (#70404)
* Fixes communication being nearly impossible (except over radio) when there's a null client in the global player list
* Updates our modular play_vox_word() proc
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* [NO GBP] Fix traitor PDA uplinks to be accessible by illiterate people (#70368)
* Illiterate people can now use a PDA in hand to open their uplink immediately if they are the owner of the uplink.
* [NO GBP] Fix traitor PDA uplinks to be accessible by illiterate people
Co-authored-by: Tim <timothymtorres@gmail.com>
* Fixes the formatting in the Messenger app's message history and makes the current ringtone appear in the input box when trying to change it (#70458)
* Changing your PDA ringtone now has your current ringtone in your input box, like the previous PDAs used to.
* The incoming Messenger messages are now HTML encoded in message history, allowing it to display apostrophes and such.
* The prompt to send a PDA message now shows you the person you're trying to send a PDA message to.
* Fixes the formatting in the Messenger app's message history and makes the current ringtone appear in the input box when trying to change it
Co-authored-by: GoldenAlpharex <58045821+GoldenAlpharex@users.noreply.github.com>
* The curator's PDA now works in space (#70319)
* The curator's PDA is now long-ranged
The Curator's PDA is now long ranged and allows for it to be used while out in space.
I recently removed the modular computer parts that allowed PDAs to be upgraded to connect to NTNet while on different Z-levels, so thought this would be a good replacement since Curators are a space exploration job, so being able to still talk to other players or use the newscaster app while away, is something I think would be beneficial.
* The curator's PDA now works in space
* Gives vanguard PDA long range as well
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Tastyfish <crazychris32@gmail.com>