Commit Graph

367 Commits

Author SHA1 Message Date
SkyratBot
af6de0b4d4 [MIRROR] Eng/Atmos/CE tablet come with Canary (Alarm monitor) preinstalled (#8233)
* Eng/Atmos/CE tablet come with Canary (Alarm monitor) preinstalled (#61322)

Tablets are often found thrown around a corner of the foyer, and I'm tired of bullying people to use it at this point. It's IMO the most powerful tool engineering has to keep the station in good condition but only a few players ever download anything in a round.

So let's make their lives easier, engineering tablets come preinstalled with Canary and the Atmos with the Gas Scanner too. (Even if I never saw anyone use that, just because the tablet comes preinstalled with the sensor that enables it.)

Canary is a powerful tool to assist on station maintenance that is not well known to the player, maybe this will get people curious enough to open it and start to enjoy having all alarms green as much as I do.

Nothing hurts more than a small breach at science that goes unfixed for half an hour and slowly creep in turning the station into Firelock hell... and nothing is funnier than screaming "Atmos alarm at the HoS Office!" the second it pops up only for the AI to lock the shutters down and tell sec that a random lizard broke the window and is trying to Esword the HoS locker.

* Eng/Atmos/CE tablet come with Canary (Alarm monitor) preinstalled

Co-authored-by: GuillaumePrata <55374212+GuillaumePrata@users.noreply.github.com>
2021-09-17 21:22:33 +01:00
SkyratBot
bf1914c794 [MIRROR] Fixes some stupid behavior in computer hardware code. (#8145)
* Fixes some stupid behavior in computer hardware code.  (#61350)

* Fixes some stupid behavior in computer hardware code.

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
2021-09-14 03:16:00 +01:00
SkyratBot
04302a770a [MIRROR] moves obj_integrity and associated procs to the atom level (#8016)
* moves obj_integrity and associated procs to the atom level

* Feex good

* Whoops forgot the maps

Co-authored-by: Kylerace <kylerlumpkin1@gmail.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-10 16:47:01 +01:00
SkyratBot
eedc63bbff [MIRROR] tgui: Silicon Station Alerts (#7847)
* tgui: Silicon Station Alerts

* 0

Co-authored-by: Arkatos1 <43862960+Arkatos1@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-09-01 16:38:53 +01:00
SkyratBot
eae7233c5b [MIRROR] small refactor to can_interact() so that borg range is fully respected (#7891)
* small refactor to can_interact() so that borg range is fully respected (#60693)

Its a relatively small refactor that changes the previous machinery "can_interact()" proc that literally did a full override despite half of their checks already existing in not one, but TWO parent procs, so i removed the redundant checks, added callbacks to its parents and then added the cyborg range check on the can_interact_with() itself. in doing so i also moved the interaction range var from silicons only, to mobs as a whole and defaulted it to a single tile, silicons override it to 7 (so pAIs and borgs like before) but then set AI and AI.eye to "null", because i have a check in can_interact that if there is no range set, then the range is effectively unlimited. and i even added code for when AI is carded and their wireless transmission is disabled it sets their range to "0" aka, it has no range to do anything even if it could

this was really complicated for me so despite my extensive testing it probably would be a bad thing if any of you want to test my code yourself to ensure there isnt a bug with this (theres no runtimes ive come across)

note: i did a lot of searching and going through machinery to ensure i caught all the little snowflake overrides and added can_interact() checks to them, but i may have missed one or two things, especially maybe a altclick or ctrlclick somewhere, however i believe i caught most of them

one nice side effect of this refactor is that you can actually set another mobs range to something other than 1 tile and they can interact at range, rather than only silicons getting this ability, an admin could VV a human to have a 3 tile arm reach as a meme if they want

* small refactor to can_interact() so that borg range is fully respected

Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
2021-08-31 20:26:36 +01:00
SkyratBot
b0c01e40af [MIRROR] Del The World: Unit testing for hard deletes (#7589)
* Del The World: Unit testing for hard deletes (#59612)

Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>

* Del The World: Unit testing for hard deletes

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: SteelSlayer <42044220+SteelSlayer@ users.noreply.github.com>
2021-08-17 18:58:57 +01:00
SkyratBot
d4e11d2080 [MIRROR] Redoes how alarms are handled, moves their behavior to datums (#7547)
* Redoes how alarms are handled, moves their behavior to datums

* a

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-08-15 23:38:01 +01:00
twilightwanderer
356a8bbe67 Fix the program at the cyborg tablet (#7433) 2021-08-06 14:06:25 +01:00
SkyratBot
61510427ce [MIRROR] Fixes issue where Plexagon HR Core app doesn't allow de-prioritising jobs. (#7354)
* Feex (#60544)

* Fixes issue where Plexagon HR Core app doesn't allow de-prioritising jobs.

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-08-03 20:06:52 +01:00
SkyratBot
9f7d93f3f3 [MIRROR] Remove nanites (#7210)
* Remove nanites

* a

Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-29 00:45:17 +01:00
SkyratBot
f8f51cbd86 [MIRROR] Kills _globalvars/misc.dm (#7152)
* Kills _globalvars/misc.dm

* aaa

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 22:03:21 +01:00
SkyratBot
227b722820 [MIRROR] Job refactor: strings to references and typepaths [This could seriously break things :)] (#7006)
* Job refactor: strings to references and typepaths

* 0

* holy fuck

* Update preferences.dm

* Update preferences.dm

* Update preferences.dm

* Update preferences.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-07-28 21:12:42 +01:00
FlamingLily
fc781c86e3 [NON-MODULAR] Gives borgs the crew manifest NTOS app (#7134) 2021-07-26 16:07:16 +01:00
FlamingLily
4601d90fcc Update card.dm (#7092) 2021-07-25 10:11:00 +12:00
SkyratBot
bb10beb88b [MIRROR] Fixed bug that teleports AI cards (#6810)
* fixed teleporting ai card bug (#60080)

* Fixed bug that teleports AI cards

Co-authored-by: 小月猫 <alina.r.starkova@gmail.com>
2021-07-10 14:08:14 +01:00
SkyratBot
cab78dcf78 [MIRROR] Changes how weather sends sound to players, reduces sound loop overtime (#6627)
* Changes how weather sends sound to players, reduces sound loop overtime (#59284)

* Converts looping sounds from a list of play locations to just the one

* Updates all uses of looping sounds to match the new arg

* Adds an area based sound manager that hooks into looping sounds to drive the actual audio. I'll be using this to redo how weather effects handle sound

* Some structrual stuff to make everything else smoother
Timers now properly return the time left for client based timers
Weather sends global signals when it starts/stops
Looping sounds now use their timerid var for all their sound related timers, not just the main loop

* This is the painful part
Adds an area sound manager component, it handles the logic of moving into new areas potentially creating new
sound loops. We do some extra work to prevent stacking sound loops.
Adds an ash storm listener element that adds a tailored area sound manager to clients on the lavaland z level.
It's removed on logout.
Adds the ash_storm_sounds assoc list, a reference to this is passed into area sound managers, and it's modified
in a manner that doesn't break the reference in ash_storm (This is what I hate)

* Hooks ash storm listener into cliented mobs and possessed objects

* Documents the odd ref stuff, adds an ignore start var to looping sounds, fixes some errors and lint issues

* Applies kyler's review

banging

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Cleans up some var names, reduces the amount of looping we do in some areas

* Makes the code compile, redoes the movement listener to be more general

* fuck

* We don't need to detach on del if we're just removing signals on detach

* Should? work

* if(direct) memes

Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>

* Changes how weather sends sound to players, reduces sound loop overtime

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Kylerace <kylerlumpkin1@ gmail.com>
2021-07-01 02:18:04 +01:00
Gandalf
778a589555 Removes a lot of redundant non-modular changes and maybe fixes cleanbots (#6615)
* oof

* Update _ai_controller.dm

* no need for this anymore
2021-06-30 21:50:50 +02:00
SkyratBot
db3a796876 [MIRROR] Sets RD consoles to have two ID card slots (#6562)
* Sets RD consoles to have two ID card slots (#59830)

* Sets RD consoles to have two ID card slots

Co-authored-by: zxaber <37497534+zxaber@users.noreply.github.com>
2021-06-28 14:16:05 +01:00
SkyratBot
25ed430a8e [MIRROR] Removes download restrictions for NIRN tablets and allows QMs to buy things directly (#6499)
* 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>
2021-06-24 23:03:02 +01:00
SkyratBot
d85a02babd [MIRROR] Refactors move procs to support multitle objects (#6423)
* Refactors move procs to support multitle objects

* Update _blob.dm

Co-authored-by: Rohesie <rohesie@gmail.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-22 22:40:04 +01:00
SkyratBot
175fe71cc0 [MIRROR] (Hopefully) Stops cryopodded contract targets from breaking contractor uplinks (#6420)
* (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>
2021-06-20 22:58:37 +01:00
Gandalf
d0bfc4de04 The Nanotrasen Representative (MY WAY) (#6368)
* 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
2021-06-20 02:23:29 +01:00
SkyratBot
7d1d0e1fad [MIRROR] Refactors most spans into span procs (#6315)
* Refactors most spans into span procs

* AA

* a

* AAAAAAAAAAAAAAAAAAAAAA

* Update species.dm

Co-authored-by: Watermelon914 <37270891+Watermelon914@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-06-16 00:24:49 +01:00
SkyratBot
32f06e2732 [MIRROR] Logs opening/closing job slots (#6254)
* 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>
2021-06-11 03:13:43 +01:00
SkyratBot
6f3b151bb8 [MIRROR] Fixes a bunch of harddels that are sourced from player action (#6252)
* Fixes a bunch of harddels that are sourced from player action

* Mirror!

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-06-11 03:13:33 +01:00
Funce
fc80859839 Bedroom Crew~ (#6117)
* Bedroom Crew <3

* Part 2! <3
2021-06-05 17:38:57 +12:00
SkyratBot
8438e129c0 [MIRROR] Ghosts can open the NT CIMS TGUI by clicking the SM Crystal. (#6140)
* 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>
2021-06-05 16:56:15 +12:00
SkyratBot
fbb78302cf [MIRROR] Makes obj_integrity private and only updated through procs (#6125)
* 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>
2021-06-05 16:35:09 +12:00
Matthew J
aac40d2ed3 [TM-ONLY][DNM] Attempts to remove all instances where a list is accessed with a '?' (#5932)
* 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>
2021-05-25 16:26:39 +01:00
SkyratBot
456f347dfa [MIRROR] USE SIGNAL_HANDLER REEEEEE (#5921)
* 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>
2021-05-25 03:42:11 +01:00
Gandalf
5f10f39257 Expeditionary corps + Black Mesa + Trusted Player System (#5418)
* OH YEAH BOIS BRING THE SALT

* AAAAAA

* AAAAAAAA

* Update tgstation.dme

* AAA

* Update uniform_digi.dmi

* AAAAA

* Update trusted_players.txt

* \ADSA

* AAA

* Update expeditionary_corps.dm

* AAAA

* Update expeditionary_corps.dm

* Update jobmanagement.dm

* Update expeditionary_corps.dm

* AAA

* AA

* Update wildwest.dmm

* AAAAAAAAA

* Update wildwest.dmm

* AAAAAA

* Update clothing.dm

* AAAA

* AAA

* AA

* AA

* AAA

* Merge branch 'master' into exp-corps

* Update _basemap.dm

* Update map_template.dm

* AAAAAAAA

* AAAAAAAA

* fc

* AAA

* Update faithless.dm

* Update faithless.dm

* Update wildwest_skyrat.dmm

* CHANGES EXP TROOPER TO SCIENCE

* OH YEAH

* AAA

* AAA

* Update jobs.dm

* AAA

* AAAAAAAAAAAAAAAAAA

* Update modular_skyrat/modules/exp_corps/code/clothing.dm

Co-authored-by: Tom <tomforde4@gmail.com>

* stupid action button

* aaa

* Merge branch 'exp-corps' of https://github.com/Skyrat-SS13/Skyrat-tg into exp-corps

* Merge branch 'master' into exp-corps

* a

* AAAAAAAAA

* Update sector_c.dm

* WOAH THATS A LOT OF FILES

* AAAAAAAA

* Update black_mesa.dm

* Update black_mesa.dm

* AAAA

* aaaaaa

* Update black_mesa.dm

* a

* 00

* a

* Update black_mesa.dm

* HEDCRABS

* fffff

* aaa

* 000

* AAAAAAAAAAAAAAAAAAAAAAAAAAAAA

* F

* aaa

* NO MORE GOD OPS!

* Update blackmesa.dmm

* 0

* AAAAA

* Update black_mesa.dm

* Update black_mesa.dm

* Update black_mesa.dm

* Update expeditionary_trooper.dm

* Update black_mesa.dm

* Update black_mesa.dm

* a

* a

* a

* a

* Update uniform_digi.dmi

* no raping ears

* Update uniform.dmi

* Update hev_suit.dm

* Update black_mesa.dm

* a

* a

* a

* Update blackmesa.dmm

* Update blackmesa.dmm

* AAA

* Update black_mesa.dm

* Update blackmesa.dmm

* A

* a

* Update job.dm

* Update black_mesa.dm

* Update black_mesa.dm

* Update black_mesa.dm

* Update biohazard_blob_mobs.dm

* a

* Update mold_event.dm

Co-authored-by: Useroth <37159550+Useroth@users.noreply.github.com>
Co-authored-by: Tom <tomforde4@gmail.com>
Co-authored-by: Funce <funce.973@gmail.com>
2021-05-23 17:00:39 +02:00
SkyratBot
746d8f171d [MIRROR] Credits Put Into PDAs/Modular Computers Go Into Inserted IDs (#5872)
* Credits Put Into PDAs/Modular Computers Go Into Inserted IDs (#59180)

* Credits Put Into PDAs/Modular Computers Go Into Inserted IDs

If a PDA or Modular Computer is attacked by something, it now checks to see if it can insert the object into the inserted ID

* Commenting the code

* Added Istype Checks Based on Feedback

* Adding a return to match the style of code in the same block

* Using Iscash instead of Istype spam

Changes the ID, PDA, and Modular Computer code to use Iscash (Apparently this already existed!)

Additionally, physical currency is checked internally instead of externall

* Credits Put Into PDAs/Modular Computers Go Into Inserted IDs

Co-authored-by: Beatrice <83368538+SpaceDragon00@users.noreply.github.com>
2021-05-23 04:39:40 +01:00
SkyratBot
ea9aed5554 [MIRROR] Replace alert usage with tgui_alert (#5815)
* Replace alert usage with tgui_alert

* a

* Update observer.dm

Co-authored-by: Celotajs <81999976+celotajstg@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-21 00:06:09 +01:00
SkyratBot
99634d409f [MIRROR] NTOS Signaler Modular App and hardware part. (#5823)
* NTOS Signaler Modular App and hardware part.

* a

Co-authored-by: ArcaneMusic <41715314+ArcaneMusic@users.noreply.github.com>
Co-authored-by: Gandalf <jzo123@hotmail.com>
2021-05-20 23:31:53 +01:00
SkyratBot
ed876c661c [MIRROR] Gives curators a console for printing portraits not in the round onto canvases (#5810)
* 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>
2021-05-20 22:34:14 +01:00
SkyratBot
1d74e3853c [MIRROR] Cargo console mail clarifications (#5622)
* Cargo console mail clarifications (#58822)

* Cargo console mail clarifications

Co-authored-by: RandomGamer123 <31096837+RandomGamer123@users.noreply.github.com>
2021-05-13 16:23:33 +12:00
SkyratBot
1ca81d9b86 [MIRROR] adds #cargobus and gauntlets (also modernizes ntchat) (#5458)
* adds #cargobus and gauntlets (also modernizes ntchat)

* Update quartermaster.dm

* Update DeltaStation2_skyrat.dmm

* mirrors changes

Co-authored-by: tralezab <40974010+tralezab@users.noreply.github.com>
Co-authored-by: KathrinBailey <53862927+KathrinBailey@users.noreply.github.com>
Co-authored-by: KathrinBailey <evesovereign@hotmail.co.uk>
2021-05-08 14:25:24 +01:00
SkyratBot
0cad04e021 [MIRROR] Makes research done from the tablet tracked for the R&D server controller and admin logs (#5111)
* 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>
2021-04-23 13:47:54 +01:00
SkyratBot
665d46688c [MIRROR] Insulating gloves gives chunky fingers trait (#4931)
* Insulating gloves gives chunky fingers trait (#58407)

* Insulating gloves gives chunky fingers trait

Co-authored-by: Ghilker <42839747+Ghilker@users.noreply.github.com>
2021-04-15 19:58:56 +01:00
SkyratBot
bb058b909c [MIRROR] add cims to engineer and chief engineer tablets (#4907)
* add cims to engineer and chief engineer tablets (#58391)

* add cims to engineer and chief engineer tablets

Co-authored-by: Sparkezel <53384660+Sparkezel@users.noreply.github.com>
2021-04-14 21:03:42 +01:00
SkyratBot
515aadc2f3 [MIRROR] Changes the Science Hub tablet app from RND to Heads (#4883)
* changes research from R&D to Heads (#58325)

* Changes the Science Hub tablet app from RND to Heads

Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
2021-04-13 11:44:23 +01:00
SkyratBot
b261424aaa [MIRROR] Fixes a minor oversight with eigenstasium (#4587)
* Fixes a minor oversight with eigenstasium (#58069)

* Fixes a minor oversight with eigenstasium

Co-authored-by: Thalpy <33956696+Thalpy@users.noreply.github.com>
2021-04-02 01:35:55 +01:00
SkyratBot
2a1d03a49f [MIRROR] Replaces use of handle_atom_del() with Exited() in modular computer hardware. And fixes an issue. (#4357)
* Replaces use of handle_atom_del() with Exited() in modular computer hardware. And fixes an issue. (#57387)

Title. The issue being hardware/on_remove() calling /try_eject() even if the holder is being destroyed, which is quirky. I also replaced an instance of /New() with /Initialize() and deleted a troublesome /Destroy().

handle_atom_del() is awful. Nearly every (minus the storage component; it's a tangled trial of mental gymnastic) behavior implemented there can pretty much be moved to Exited() and it'll work just as fine, if not better against edge cases such as recall spells. But that's not the scope of this PR. I'm here to fix #57161.

* Replaces use of handle_atom_del() with Exited() in modular computer hardware. And fixes an issue.

Co-authored-by: Ghom <42542238+Ghommie@users.noreply.github.com>
2021-03-24 14:57:11 +00:00
SkyratBot
9ffdf58259 [MIRROR] Some explosions code cleanup (#4276)
* Some explosions code cleanup (#57493)

Clears out two deprecated explosions systems (explosion ids and explosion levels)
Refactors a bunch of contents_explosions procs to be maybe slightly faster.
Cleans up a bunch of ex_act code.
Slightly cleaner code
A few less unused vars on /atom and /turf

* Some explosions code cleanup

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-03-21 01:03:36 +00:00
SkyratBot
8b6898a671 [MIRROR] Adds the ability to download a borg's logs using SiliConnect. (#4258)
* 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>
2021-03-20 00:09:29 +00:00
SkyratBot
c2d6dd7d75 [MIRROR] Fixes a ton of harddels (#4215)
* Fixes a ton of harddels (#57736)

Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>

* Fixes a ton of harddels

Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
Co-authored-by: Mothblocks <35135081+Mothblocks@ users.noreply.github.com>
Co-authored-by: ShizCalev <ShizCalev@ users.noreply.github.com>
2021-03-17 20:42:47 +00:00
SkyratBot
a51b300cc6 [MIRROR] Adds extended Centcom support for ID console app and misc fixes (#3961)
* 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>
2021-03-07 00:36:38 +00:00
SkyratBot
5bb65000d1 [MIRROR] Improves SecHUD logic in modcom tablets when worn in the wear_id slot (#3824)
* Updates tablet computer sechud logic (#57351)

* Improves SecHUD logic in modcom tablets when worn in the wear_id slot

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
2021-03-04 01:02:06 +00:00
SkyratBot
f0f1810155 [MIRROR] Fix inability to demote certain subordinates with the ID card app. (#3818)
* 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>
2021-03-03 22:34:09 +00:00
SkyratBot
5a0b30616c [MIRROR] Miscellaneous appearance fixes. (#3771)
* Miscellaneous appearance fixes. (#57133)

* Fixes modular computer runtimes

- Adds a proc to eat the source arg of the update icon signal.

* Fixes a couple things not passing the right args

- Fixes the alien leap hallucination passing a string as the first arg to updat_icon
- Fixes the roulette machine passing the payout as the first arg to update_icon.

* Miscellaneous appearance fixes.

Co-authored-by: TemporalOroboros <TemporalOroboros@gmail.com>
2021-03-03 01:59:21 +00:00