* Removes download restrictions for NIRN tablets and allows QMs to buy things directly (#59691)
Everyone can now download the NIRN program on computers which allows you to buy or request to buy stuff. QMs now also get to buy things directly. All other people will still only be able to request to purchase something.
* Removes download restrictions for NIRN tablets and allows QMs to buy things directly
Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
* (Hopefully) Stops cryopodded contract targets from breaking contractor uplinks (#59742)
This PR aims to stop contractor uplinks from breaking due to having a target cryopod. When a contract target enters cryosleep, it now manually rerolls the contract.
This PR is admittedly somewhat bandaid-y, as contractors are slotted for removal soon, apparently.
* (Hopefully) Stops cryopodded contract targets from breaking contractor uplinks
Co-authored-by: MrMelbert <51863163+MrMelbert@users.noreply.github.com>
* AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
* Ads
* dddd
* a
* a
* a
* Update uniform_digi.dmi
* Update uniform_digi.dmi
* Update uniform_digi.dmi
* Some random new potted plants!
* a
* Update flora.dm
* a
* fixes
* a
* a
* e
* Logs opening/closing job slots (#59583)
Admins have a hard time telling if all job slots were closed by a bureaucracy error, or if the HoP also helped with that. Also other examples could be an antag closing all Security job positions, which would be hard for admins to tell if done by said antag, or a shitter HoP.
* Logs opening/closing job slots
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Ghosts can open the NT CIMS TGUI by clicking the SM Crystal. (#59475)
* Ghosts can open the NT CIMS TGUI by clicking the SM Crystal.
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
* Makes obj_integrity only updated through procs (#59474)
Having things updating integrity directly is just going to cause more problems down the line as more elements and components depend on being notified of integrity changes. It's an easy mistake to make so making it private should deal with the problem.
get_integrity() might be useful in the future but is mainly a side effect of making obj_integrity private as that also disallows reads.
* Makes obj_integrity private and only updated through procs
* Mirror!
Co-authored-by: Emmett Gaines <ninjanomnom@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
* I hate TGUI even if its better than what we had before
* this is why linters exist
* you need to be a Head or the Warden to get items
* does this please you linter?
* foundation
* basic interactions
* yea I can spell okay?
* linters please leave me alone
* begone debug code
* if you are dead, no interacting
* linters leave me alone
* linters are stealing my soul
* forgot to do this
* sound framework, probably wont work though
* max length, and interaction cooldowns
* message can now be a list and minor code improve
* I am a slave and linters are my master
* fix improper static reference
* add json loading/saving functionality
* default for message is now a list
* jsonize def interactions; implement requirements
* bad
* bug fix; CtrlShiftClick to interact
* minor qol fix
* fix CtrlShiftClick and remove debug code
* haha docker has security measures
* this was painful
* why are you in this branch
* begone
* bruh
* begone
Co-authored-by: Matthew <matthew@tfaluc.com>
Co-authored-by: Matthew J <GoldenKeyboard@users.noreply.github.com>
* use SIGNAL_HANDLER REEEEEE (#59242)
makes as many procs as i can find use the SIGNAL_HANDLER define which i assumed they all already did
* USE SIGNAL_HANDLER REEEEEE
Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
* Gives curators a console for printing portraits not in the round onto canvases (#59146)
* Gives curators a console for printing portraits not in the round onto canvases
Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
* Makes research done from the tablet tracked for the R&D server controller and admin logs (#58328)
* Makes research done from the tablet tracked for the R&D server controller and admin logs
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Adds the ability to download a borg's logs using SiliConnect. (#57300)
About The Pull Request
Adds a function to Siliconnect in which you can tap a borg using a mobile device that is currently running the software, and it will download the borg's logs. These logs list events such as being locked or unlocked, taken offline and being restored, and the process of being emagged. Borg logs will now list the emag user's name as a new user.
Downloading the logs is done by right-clicking the borg while the software is open and active. This will "tap" the borg with the device, initiating the log transfer automatically. The transfer will take eight seconds to complete, requiring you and the borg to stay adjacent the entire time, and the borg will get a large red text alert about the upload when it starts. The logs are also not stored permanently on the device, and will be lost if the app is closed.
This PR also introduces the tap() proc for modular computer programs, and adds functionality the the computers to call it when right-clicking with the tablet as a tool. Should the app use the tap in a meaningful way (such as starting a borg log download), it will return TRUE, and the computer will end the secondary attack chain.
Currently, this requires using a tablet or laptop with Siliconnect, as you cannot tap with a console. Someday I hope to add an additional hardware option for consoles in the form of a wireless hand scanner to replicate tapping.
Why It's Good For The Game
Adds a neat way to "diagnose" a borg acting oddly, assuming you have a way to keep them still. Allows one to view if the borg has been emagged, by whom, what SiliConnect messages the borg has received, the number of law changes that have been made, as well as some other (somewhat fluff) information relating to taking damage and getting upgrades.
Changelog
🆑
add: You can now download a cyborg's internal logs by right-clicking them with a mobile device running SiliConnect. Take a look if one is acting a bit strange, you might find something interesting.
add: Borg integrity (health) is now roughly shown in SiliConnect, under "Condition".
/🆑
To Do:
Fix the to_chat not being sent to the borg when a log transfer breaks due to distance
Add some sort of text feedback when tapping an atom with a device, or viewing one being tapped.
Possibly restrict syndicate borgs from having their logs viewed by SiliConnect (and likewise with station borgs and Roboverlord) Changed my mind on this, will implement later if we find it's needed.
Change the log area of the window to expand naturally rather than use a fixed height
image
I'm not super deadset on the emag user's name being listed. It seems like a neat function unique to having a tablet running Siliconnect (as most of the other info is already available through other means), and one can always pop the brain out for a re-borg and demand the name anyway.
* Adds the ability to download a borg's logs using SiliConnect.
Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
* Adds extended Centcom support for ID console app and misc fixes (#57420)
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Adds extended Centcom support for ID console app and misc fixes
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
* Fix inability to demote certain subordinates with the ID card app. (#57317)
The trim system handles the interaction between heads and their air quotes "subordinates" differently. Instead of checking for head_subordinates - Which is a compiled list for who is and isn't a subordinate of who based on job datums - We instead check for the ability to apply a trim's access template to a card.
This means that if you're able to assign a trim's access as a template, you're able to demote that trim too.
This fixes some edge cases like being unable to demote Security Officer (Department) cards because technically Security Officer (Engineering) and Security Officer (Science) aren't real jobs (insert joke here) - They lack job datums and never get assigned as the HoS's subordinates.
This is a much more modular and intuitive way of handling demotions.
* Fix inability to demote certain subordinates with the ID card app.
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* tgui: Total Moles in SM Monitor, Own Defines File (#57270)
Ever wondered why you failed to setup the scrungularity?
Well, wonder no more! The NT CIMS tab has been made to show total moles. The pressure got kicked however, since it's practically useless. The bar also turns red if your SM is eligible for scrung.
Moved the supermatter defines into it's own files too.
* SM monitor shows total moles & SM gets it's own defines file.
Co-authored-by: vincentiusvin <54709710+vincentiusvin@users.noreply.github.com>
* clown is dead and we have killed him
* bugfixes
* Update jobmanagement.dm
* Update jobmanagement.dm
* thanos snapped clown a little too hard and deleted a comment
* Fixes cargo barcode payouts paying 50x what the sale is worth (#56914)
* Fixes cargo barcode payouts paying 50x what the sale is worth
Co-authored-by: cacogen <25089914+cacogen@users.noreply.github.com>
* NTDownloader UI revamp (#56704)
Revamp of the software downloader program for modular computers.
Changes:
- Programs are now sorted alphabetically with incompatible ones in the end of the list.
- Installed programs are now displayed in the list.
- Added program icons.
- Moved the error messages in place of the download button.
- Only the most important error message is displayed now. Priority: compatibility, access, free space.
- Syndicate programs are now displayed in the same list, but have a warning message from NT (There are no warning messages on syndicate OS).
- Added program categories to improve navigation. The default option "All" contains items from all categories.
- Download progress bar moved in place of the Disk usage bar. Disk usage is updated only after the download is complete, so the information was inaccurate during download. And the download bar now always visible regardless of selected category.
- The old download progress bar (next to the corresponding program) is replaced with "Downloading" indicator with a spinner.
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* NTDownloader UI revamp
Co-authored-by: Andrew <mt.forspam@gmail.com>
Co-authored-by: Aleksej Komarov <stylemistake@ gmail.com>
* [READY] Adds station traits: Small modifiers that can randomly be chosen each round
* conflicts
Co-authored-by: Qustinnus <Floydje123@hotmail.com>
Co-authored-by: Gandalf2k15 <jzo123@hotmail.com>
* Improve ID console name and assignment input (#56662)
reject_bad_name and reject_bad_text doesn't directly sanitize. It's
best not to rely on this proc to sanitize as that's not the point of
it, even though it can sanitize as part of its functioning. Instead,
we explicitly sanitize the input first, then we reject_bad_whatever
on the sanitized input.
It also offers improved feedback to the user instead of failing
silently, and allows numbers as some of our ID cards (For example,
prisoner IDs) have numbers in their registered_names and assignments.
I don't like creating the game world in a state that players cannot
also replicate themselves.
Also swings by the ancient HTML interfaces to bring them up to the
same standard through either sanitizing input or stripping input as
appropriate.
* Improve ID console name and assignment input
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* Various crew tracking fixes (#56591)
Nanite Monitoring program now makes people trackable as if they have enabled their suit sensors, as stated in the program description.
Now you can track people with Nanites Monitoring program using following devices:
Crew pinpointer (arrow)
Crew pinpointer - contractor version (arrow)
Crew pinpointer (proximity)
Lifeline radar (modular computers software)
Also fixed multi-Z tracking for the first three devices. When the target is on different Z of the same station, it shows "?" icon.
Also, the stationary crew monitor will now work properly on multi-Z stations.
* Various crew tracking fixes
Co-authored-by: Andrew <mt.forspam@gmail.com>
* ID Card access change logging, Part 2 (#56155)
I've condensed the logging into a single define, to allow ID card logging to be easily tweaked and to clean up some messy copy-pasted code.
There is no longer admin messaging for Head of Staff accesses, but it's all still logged as it was before.
There is a new option for the Investigate verb.
Which has the complete logging history for ID card changes that are currently tracked, all in one place.
Which admins can ALSO access from Get Current Logs and Get Server Logs for past rounds via id_card_changes.html
* ID Card access change logging, Part 2
Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
* stops code from seeping into ic chat (#56088)
changes the reference in the modular computer code from src to computer as src is a datum
* stops code from seeping into ic chat
Co-authored-by: spessbro <51048066+spessbro@users.noreply.github.com>