mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-29 17:03:53 +01:00
088409bbe376a7adcd4d1fb747cf4a5e4f257c5b
16 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
74b92c63de |
Adds cool sword mouse cursor maintenance pda app (#84337)
## About The Pull Request Adds a maintenance disk that makes your PDA turn your mouse cursor into a cool sword when it's worn in your ID slot https://github.com/tgstation/tgstation/assets/51863163/ae5c50a1-e6fd-40bb-8957-4af2f6618cba ## Why It's Good For The Game I saw a discord comment about this and it made me laugh. ## Changelog 🆑 Melberte add: Cool Sword Cursor Maintenance App /🆑 |
||
|
|
476973ea6b |
Refactor modular computer (and application) attackby into item_interaction (#84245)
## About The Pull Request Sooooooooo I was recently notified of an issue (#84185) that popped up from me replacing the `attackby(...)` chain on id cards, where it's no longer possible to put money into IDs inside of PDAs by slapping it against the PDA. As I expected, this is because modular computers both still use `attackby(...)`, and would call `attackby(...)` on the ID they contained if hit with cash. https://github.com/tgstation/tgstation/blob/24a23009e8ee4d056b6671c70c41feab1a18590b/code/modules/modular_computers/computers/item/computer.dm#L799 Now this could've been an easy one line no-gbp fix where I just replace it with a direct call to `insert_money(...)` on the ID and call it a day! But hey. Might as well get rid of the `attackby(...)` altogether while we're at it. First off, because the `attackby(...)` proc was getting quite bloated, we split off all the specific item behaviours into `[X]_act(...)` type procs to clean it up. We then make those return item interaction flags, so we can call them on `item_interaction(...)` after the right typecheck passes and immediately return their results. This also involves replacing the `application_attackby(...)` on applications with an `application_item_interaction(...)`, and making it return the item interaction flags too. The code of each subsection isn't significantly different, though reorganized a bit in some cases. Like inserting a computer disks now tries to move it into the computer _first_ before swapping out whichever disk is already in there, so it doesn't swap out the disk if putting the new one in fails. ## Why It's Good For The Game Fixes #84185. Having more stuff be updated to the proper `item_interaction(...)` system is cool and good. |
||
|
|
3f1c159904 |
[NO GBP] Fixing issues with modular computer and circuits. (#81076)
## About The Pull Request It turns out the messenger circuit wasn't working as intended, because list components tend to convert datum keys into weakrefs, creating incoherence between composite datum/atom and simple datum/atom datatypes, which at least just spares us from the headache of clearing the refs on del from lists too. So, taking the shortest path, I decided to adapt the messenger to the weak ref usage. Another thing, instead of refusing altogether to send message that trigger the pda filter regexes, the messenger circuit will instead replace the matches with grawlix, since we have no way to inform whoever's responsible for said message about the filters in an orthodox way. Beside that, I've noticed several of the circuits from my PR were lacking trigger outputs or similar when needed, pretty making them only as half as functional, at least to a noob like me. And another small issue with missing ports from the status display circuit. One more suggestion from moocow is to add a cooldown to the ringtone trigger for the messenger circuit, because he said it's pretty spammy and some admins are fickle. ## Why It's Good For The Game Bugfixing and improvements. ## Changelog 🆑 fix: Fixed the messenger circuit not sending messages. fix: Added several ports to modpc circuits that were missing or needing them. fix: Fixes ever-expanding ports whenever circuits are re-inserted in a modular computer. /🆑 |
||
|
|
f9957b0373 |
Integrated circuits for modular computers (#80530)
## About The Pull Request This PR integrates circuits for modular computers and a good bits of their programs. The peculiarity here is that modular computers have no fixed amount of unremovable components (except the base one with just a couple ports for now), instead, they're added and removed along with programs. With a few exceptions (such as the messenger and signaler), for these program circuits to work, their associated program has to be either open or in the background. For a reason or another, not all programs have a circuit associated to them, still, however the programs with a circuit are still a handful. They are: - Nanotrasen Pay System - Notepad - SiliConnect - WireCarp - MODsuit Control - Spectre Meter - Direct Messenger* - LifeConnect - Custodial Locator - Fission360 - Camera - Status Display - SignalCommander *By the by, sending messages has a cooldown, so it shouldn't be as spammy. If it turns out to not be enough, I can make it so messages from circuit will be ignored by other messenger circuits. The PR is no longer WIP. ## Why It's Good For The Game I believe modular computers could make for some interesting setups with circuits, since they're fairly flexible and stocked with features unlike many other appliances, therefore also a speck more abusable, though limits, cooldowns, logging and sanitization have been implemented to keep it in check. ## Changelog 🆑 add: Modular Computers now support integrated circuits. What can be done with them depends on the programs installed and whether they're running (open or background). add: Modular Consoles (the machinery) now have a small backup cell they draw power from if the power goes out. /🆑 |
||
|
|
971bc2611b |
The Spectre-Meter App, also a bootleg data disk item for the black market. (#80188)
## About The Pull Request This PR adds in a new app that scans the nearby area for "spookiness" (e.g. presence of ghosts, mobs with the spirit biotype, objects made with hauntium or containing hauntium). A bit clunky by all means. It's a maintenance app, and as such is more often found in the rare maintenance computer disks, or downloadable from emagged PDAs (IIRC), or perhaps the black market item which I've also added here as well, that might contain it amongst other things. Oh, if you also have the camera app, it'll let you take pictures of ghosts like the 'camera obscura' does. Oh, and there's also a maintenance version of the arcade program too; just , like, lazier and easier. ## Why It's Good For The Game Mostly a shower thought, 'cause I felt the idea maintenance disks to be quite interesting yet lackluster, almost too niche. As for the remote thought of using the app for validhunting, it isn't something you can reliably get every and every other round, and if someone's got enough ghosts circling them, chances are they're some big, loud antag or doing something so cheeky, that they kinda deserve it. Also, yeah, more black market stuff. Except for the misc section, it's pretty lacking in uniqueness. Screenshot of the UI, taken at the distance of one tile from a revenant:  ## Changelog 🆑 add: The Spectre-Meter modular computer app. A little, amatuerishly coded app that, as the name implies, scan an area for spectral presence. It can be found amongst other apps in maintenance computer disks. add: An easier, lazier version of the Arcade app, also found in maintenance. add: Black market computer disks, which contains programs not readily available to the average assistant. /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
edbc7c5622 |
PDA update (Messenger works while dead, Microwave works, etc). (#80069)
## About The Pull Request This is an update that touches many more things all at once (compared to my other PRs) meant to make PDAs in general feel more consistent and not take away from one of the experiences we want to encourage: interaction between players. 1. Replaced all checks of a 'pda' with a 'modular pc'. This means technically (though not done in-game currently) other modpcs can hold an uplink, and microwaves can charge laptops. 2. Speaking of microwave, they now don't break and require deconstruction if the cell is removed mid-charge. 3. When a Mod PC is out of power, it will now allow the Messenger to work (which now also doesn't consume any additional power), if the app exists on the PC. Here's a video demonstration https://github.com/tgstation/tgstation/assets/53777086/7ae12f81-a271-49b8-95fa-2ba54d2e2d1f 4. Flashlights can't be turned on while the cell is dead 5. I replaced a bunch of program vars with ``program_flags`` and renamed ``usage_flags`` to ``can_run_on_flags``. 6. Added a debug modPC that has every app installed by default. Mafia had some issues in the past that were unknown because Mafia wasn't preinstalled with any tablet so was never in create & destroy nor in any other unit test. This was just an easy solution I had, but PDAs should get more in-depth unit tests in the future for running apps n stuff- I just wanted to make sure no other apps were broken/harddeling. ## Why It's Good For The Game Currently when a PDA dies, its only use is to reply to PDA messages sent to you, since you can still reply to them. Instead of just fixing it and telling players to cope, I thought it would be nice to allow PDA Messenger to still work, as it is a vital app. You can call it some emergency power mode or whatever, I don't really mind the reason behind why it is this way. When I made cells used more on PDAs, my main goal was to encourage upgrading your PDA and/or limiting how many apps you use at once, I did not want this to hit on players who use it as a form of interaction. This is the best of both worlds, I think. The rest of the changes is just for modularity, if some downstream wants to add tablets, phone computers, or whatever the hell else, they can still get just as far as PDAs should be able to get to, hopefully. ## Changelog 🆑 add: PDAs with a dead power cell are now limited to using their Messenger app. fix: Microwaves now stop charging PDAs if the cell was removed mid-charge. fix: Microwaves can now charge laptops. fix: PDA Flashlights can't be turned on while the PDA is dead. fix: You can now hold a laptop up to a camera (if it has a notekeeper app installed) like PDAs already could. /🆑 --------- Co-authored-by: lessthanthree <83487515+lessthnthree@users.noreply.github.com> |
||
|
|
ddd3f53943 |
PDA general maintenance (NTNet downloader rework) (#79741)
## About The Pull Request I deleted the documentation file of ModPCs because it was barebones and had no new information to give that autodoc couldn't. Just to make sure this isn't a net-negative, I improved on much of the autodoc and comments in general around ModPC code to help people understand easier what's going on around it. I also renamed vars that were too easily confused with other var names, and reworked the ntnet downloader a little; - it now has a search bar - it now has more sections to scroll through, hopefully making it more accurate and easy to find what you need. - also organized the apps that were previously shoved in 'other'. - i also upgraded it to a .tsx because why not video demonstration https://github.com/tgstation/tgstation/assets/53777086/cbba4c1c-b8a8-4ba4-8628-aea8389999fc ## Why It's Good For The Game Adds in a lot of comments that were previously missing, clears up some sources of confusion within ModPC code, and improves NTNet Downloader, something I've procrastinated on doing for a very long time now. ## Changelog 🆑 qol: NTNet Downloader now has a search bar, and programs are now better sorted. /🆑 |
||
|
|
6bb2175fa5 |
[BOUNTY] Re-adds Contractors (#79737)
## About The Pull Request Adds Contractors back to the game as a kit that Infiltrators (Only midround/latejoin Traitors, not roundstart) can buy. Buying this will give you access to the new Contractor items in the uplink (which replaces the Contractor shop). I've also refactored things about contractor and how it's handled, such as removed its sleep calls, swapping its UI to tsx, making it actually functional within more modern TG code and the reworked Traitors as a whole, among other things. I also fixed the contractor guide paper (the text was broken) and made contractor kit boxes no longer empty. Contractor items only appear once the contractor kit is purchased, but they can't be bought until you make an account. Video demonstration https://github.com/tgstation/tgstation/assets/53777086/c6aed4e8-bbd4-4ba0-b6a2-9f58fd308d09 Regular Traitors can't access it  The Contractor UI (Modified to not have a shop anymore) - Ignore the Invalid Targets, those appear when there's no possible targets  Roundend report  ## Why It's Good For The Game Contractor was a fun way of playing Traitor that isn't relying on RNG objectives to pop up, this is instead constant stream of content for the contractor that encourages non-lethal play, and is now a viable alternative now that Infiltrators don't have Reputation anymore. Link to bounty: https://tgstation13.org/phpBB/viewtopic.php?f=5&t=35160 Relevant image from bounty  ## Changelog 🆑 add: Infiltrators (Latejoin/Midround traitors) can now buy and use Contract kits again. del: Contractor baton can now only be purchased once. /🆑 --------- Co-authored-by: Jacquerel <hnevard@gmail.com> |
||
|
|
17e16ad0c2 |
Replaces Camera bug with Camera tablet app (#77713)
## About The Pull Request Replaces the Traitor's Camera Bug item with an application that allows you to view camera apps. The difference between this app and the Security one is that it does not have an access requirement, does not make noise (it didn't previously due to a bug, fixed in this PR), and can be installed on PDAs. This can also be installed from syndienet, which means nukies now have a way to see the station cameras while off the ship. Adds Syndicate app disks, which are made of Gold. This is only used by the Camera app as of right now. I also fixed some issues along the way; - Camera tablet app now properly shows cameras - It now properly makes the noises it is supposed to - It clears the viewers properly on the ui being closed or the app being exited. Syndicate app disks ddelete their apps upon being transferred over (like maintenance disks), trying to remain consistent with previous behavior. I also made this for a [personal project I am currently working on](https://hackmd.io/XLt5MoRvRxuhFbwtk4VAUA). I could just make this UI be TGUI, but I thought it could be worth trying to turn it into a better item first. Tracking people is much simpler now- You choose anyone from a list of people found on cameras, and it will try to find a camera that sees them. It follows them until you close the app or switch camera. https://github.com/tgstation/tgstation/assets/53777086/1536ebb9-0c4f-45bb-b593-f98791ea6d23 ## Why It's Good For The Game The Camera Bug is one of the worst traitor items as of current. You can remotely shut off a single camera, something that can be done with basic tools you are likely carrying around anyways, and uses an HTML clunky UI to flip through cameras. This new Traitor item makes it much easier to use, since the camera consoles are something you are likely already used to. It also means emagging a tablet is slightly more useful, and golden data disks are pretty cool. Unfortunately this means that they no longer grant illegal tech, because otherwise you can simply clone the app infinitely for personal use, and deconstruct the disk itself for tech. This can be grinded into gold, but I think if we want an illegal tech item, it'll have to find a new host. Closes https://github.com/tgstation/tgstation/issues/74839 Closes https://github.com/tgstation/tgstation/issues/39975 Closes https://github.com/tgstation/tgstation/issues/53820 ## Changelog 🆑 balance: The Traitor's Camera bug is now a tablet app that works like a silent camera console with an extra ability to track people through their nearby cameras. /🆑 |
||
|
|
8229972398 |
Tablet apps are now deleted when necessary & removes console preset. (#75863)
## About The Pull Request Apps now properly delete themselves when removed, so they don't exist in nullspace anymore. Chat client now actually updates the uid, because its New() didn't call parent. Deletes the 'console' subtype of modular computer Updates how downloading and transferring files are handled Fixes being able to infinitely upload apps to a disk ## Why It's Good For The Game Fixes some more bugs I found with apps and prevents spamming apps in a disk. ## Changelog 🆑 fix: Maintenance data disks now properly transfer from PC to disk fix: Disks can no longer be flooded with the same app repeatedly. /🆑 |
||
|
|
ae5a4f955d |
Pulls apart the vestiges of components still hanging onto signals (#75914)
## About The Pull Request Signals were initially only usable with component listeners, which while no longer the case has lead to outdated documentation, names, and a similar location in code. This pr pulls the two apart. Partially because mso thinks we should, but also because they really aren't directly linked anymore, and having them in this midstate just confuses people. [Renames comp_lookup to listen_lookup, since that's what it does](https://github.com/tgstation/tgstation/commit/102b79694fa8eb57ecf7b36032616a9e368ccced) [Moves signal procs over to their own file](https://github.com/tgstation/tgstation/commit/33d07d01fd336726b4f6f6f1b61bb0b3f11a00dc) [Renames the PREQDELETING and QDELETING comsigs to drop the parent bit since they can hook to more then just comps now](https://github.com/tgstation/tgstation/commit/335ea4ad081ec63c42cfa05856e582cca833af6e) [Does something similar to the attackby comsigs (PARENT -> ATOM)](https://github.com/tgstation/tgstation/commit/210e57051df63f88dac3dd83321236da825aae5e) [And finally passes over the examine signals](https://github.com/tgstation/tgstation/commit/65917658fb8a1e7d28ae23c9437a583d646f0302) ## Why It's Good For The Game Code makes more sense, things are better teased apart, s just good imo ## Changelog 🆑 refactor: Pulled apart the last vestiges of names/docs directly linking signals to components /🆑 |
||
|
|
1c4166c81c |
Tablet UI update (mostly fixes) (#74844)
## About The Pull Request Tablet UIs are now changed when opening/closing an app, instead of constantly checking for a UI change every ui update. Program UI acts no longer call parent, as it was unnecessary, Computers are the ones that should be calling it. Fixes a ton of problems with static data not updating, such as in Messenger, ID management, Siliconnect, and Chat client Chat Client's Admin mode also works again, which was broken when accesses to check was turned into a list. Turns a few lists in Robocontrol into static ones when we aren't changing anything, and makes it actually scan your ID's access. Fixes budget ordering being unable to show the cart/call the cargo shuttle. ## Why It's Good For The Game While I can't seem to find a single issue report on any of the above, these are still problems that should be fixed. ## Changelog 🆑 fix: SiliConnect can download borg logs again. fix: The RD can once again enable Admin mode on Wirecarp fix: NT IRN can once again see the shopping cart and call the cargo shuttle. fix: Chat Client, ID Management and Messenger should now update their UIs properly. code: PDAs will hopefully not lag as much when clicking on buttons (such as in ID management). /🆑 |
||
|
|
5b63228b9a |
Tablets don't close their UI when changing program (and some fixes) (#73635)
## About The Pull Request - Tablets now refresh their page when changing programs, this means the UI will no longer close and reopen itself several times (or even have several UIs open if shit broke hard enough). - Removed tablet's attack self because interact already does everything it had to do. - Header programs now close when minimized (as there's no button to close them in the main menu. - Removed a lot of program UI stuff, it's now handled by the PC itself, such as header data and ui host. - Cut off asset sending from TGUI into it's own proc so I can re-send assets when changing programs - Added an ejection button for machine computers - Fixed ID not ejecting into the user's hand when using 'Eject ID' - Fixes a minor runtime when opening the MODsuit application without a MODsuit already connected. ## Why It's Good For The Game Fixes some bugs that I found with tablets UIS now won't be flickering as bad in front of them, or have inconsistent placement (like when you move your main menu UI, go to Messenger, then it's back to the center of the screen). Video of it in action https://user-images.githubusercontent.com/53777086/221301417-78321149-0c10-475e-bd29-79f5a4ba0597.mp4 ## Changelog 🆑 fix: Being in an application now properly uses the tablet's battery. fix: Messenger and Themify apps now close when minimized, so don't count towards the running app limit. fix: Tablet UIs will now no longer spam open/close the UI when changing applications fix: Using the Eject ID button on tablets now ejects into your hand. fix: Computers now have an Eject ID button refactor: Cut down a lot of copy paste in tablet & program code, now it's mostly done by the tablet. /🆑 |
||
|
|
c58cbb4dfb |
Reworked PDA menu & NtOS themes (#73070)
## About The Pull Request This is a port/rework of https://github.com/yogstation13/Yogstation/pull/15735 - I changed a lot of how it acted (some themes are locked behind maintenance apps). The original author allowed this port to happen, and I really liked how it looked there so I'd like to add it here. ### Applications Removes the hardware configurator application, as all it did was show you your space and battery now that all hardware was removed. These are things your PC does by default, so it was just a waste of space. Adds a Theme manager application instead, which allows you to change your PDA's theme at will. Adds a new Maintenance application that will give a new theme, however it will also increase the size of the theme manager app itself as it's bloatware. ### Menu There's now a bar at the top of the menu showing 'special' tablet apps which, for one reason or another, should stand out from the rest of the apps. Currently this is PDA messenger and the Theme manager Flashlight and Flashlight color is now only an icon, and is shown on the same line as Updating you ID https://cdn.discordapp.com/attachments/961874788706574386/1069621173693972551/2023-01-30_09-10-52.mov  ### Themes Adds a lot of themes to choose from, although SOME are hidden behind Maintenance applications, which will give you a random theme. These are bloatware however, so they come with some extra cost to the app's required space storage. Themes are now supported on ALL APPLICATIONS! If you have a computer theme, you will have that theme in EVERY app you enter, rather than just a select few. ALSO also, emagging the tablet will automatically set & unlock the Syndicate theme, which makes your PDA obvious but you can disguise it if you wish through just re-painting it to something else. https://cdn.discordapp.com/attachments/828923843829432340/1069565383155122266/2023-01-30_05-29-53.mov ### Preferences This also adds a pref for theme, reworking the ringtone code to work with it as well. I also removed 2 entirely unused PDA prefs just 'cause. Screenshot not up-to-date, they now have proper names.  ### Other stuff Made defines for device_themes Added support for special app-side checks to download files Fixed programs downloading themselves TWICE because defines all had the same definition Removes the Chemistry computer disk as it was empty due to chemistry app's removal Removes the 'run_emag' proc, since apps can directly refer to the computer to check for emag status instead. Moved over and added better documentation on data computer files, and moved the ordnance ones to the same file as the others. ## Why It's Good For The Game It makes PDAs a lot more customizable while adding more features to maintenance applications. I think the themes look cool and it fits with PDAs being "personal" anyways. I also explained most of my other arguments in the about section, such as the hardware configuration application. ## Changelog 🆑 Chubbygummibear & JohnFulpWillard add: A ton of new NtOS themes, which are accessible by the new Themify application that comes with all PCs. add: Emagging a PC now defaults it to the Syndicate option (and adds it to go back to it if you wish) add: There's a new maintenance app that gives you rarer themes qol: The NtOS Main menu was moved around, added "header" applications that are shown where the Flashlight is, such as your Theme manager and PDA messenger. code: Made defines for device_themes code: Added support for special app-side checks to download files code: Removes the 'run_emag' proc, since apps can directly refer to the computer to check for emag status instead. fix: Programs no longer download twice. del: Removes the Chemistry computer disk as it was empty due to chemistry app's removal /🆑 --------- Co-authored-by: san7890 <the@san7890.com> |
||
|
|
4c9c28b58d |
Fixes modsuit control application (#73071)
## About The Pull Request Fixes the modsuit control app not properly working Accidentally caused it in a late commit on maintenance applications ## Why It's Good For The Game Closes https://github.com/tgstation/tgstation/issues/72980 ## Changelog 🆑 fix: the MODsuit control maint app now links up to MOdsuits. /🆑 |
||
|
|
af98c74f4a |
Adds maintenance tablet apps (Health analyzer is one now too) (#71738)
About The Pull Request Sprites were generously made by https://github.com/Tramzz This was a branch I've been putting off for months because my hatred for tablet apps brought me to removing computer parts, tablets, and ntnet, however I've now returned (after a lot more procrastination). Adds Maintenance tablet applications to the game, so far there's only three of them, for proof of concept; The health analyzer app (the chem analyzer part is removed entirely) move away from being given to medical/geneticists/detectives/RD. There is on exception, which is the CMO, who gets to have the application on their tablet roundstart. Maybe it could be given to their role disk as well? A camera application: image image MODsuit control application: image image image Maintenance applications stand out from normal tablet apps because they can't be downloaded off the App store, and instead can only be found in maintenance, with a one-use download, cloning the application from a disk to a computer, or vice versa, will delete the old one, meaning you can only have one application at once. Why It's Good For The Game This is more as a proof of concept for maintenance applications, but I also think that the analyzer application wasn't really that good as an app, you should either use a health analyzer or the wand in front of medbay, you shouldn't just have one in your tablet at all times because it makes it lame if your analyzer is stolen. Changelog cl JohnFulpWillard, sprites by Tramzz add: Added Maintenance tablet applications, applications that can't be cloned or downloaded from the store, instead you can find one app in maintenance. balance: The Analyzer tablet application is also a maintenance tablet application now. /cl |