* Fixes spray cans and pipes fitting inside of tablets. (#67057)
They were subtypes of crayons and cigarettes which allowed them to be fit inside. To fix this, the tablet can only hold tiny items and spray cans and pipes have been changed from tiny items to small.
* Fixes spray cans and pipes fitting inside of tablets.
Co-authored-by: ReinaCoder <83892995+ReinaCoder@users.noreply.github.com>
* Mass-PDA perms is configured on Wirecarp (#66889)
Lawyers and Captains spawn by-default with the ability to send mass PDA messages, but the Wirecarp app (so Research Director and Captain) can grant/revoke permission to send PDAs to everyone
* Mass-PDA perms is configured on Wirecarp
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* Fixes the captain's PDA (#66908)
I screwed it up and didn't make the Captain's PDA a subtype of heads, so captain was spawning with the wrong PDA.
* Fixes the captain's PDA
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
* [MDB IGNORE] Removes tablet cartridges + reworks a ton more (#66505)
- All tablets who previously had apps in a cartridge now has them built-into their tablet instead. This means it costs space for it.
- Rebalances the sizes of several apps to help them fit on Command tablets (Cargo ordering costed 20!!)
- Removes tablet cartridges, they've been reworked into a regular old portable disk (the same you use for toxins/borgs)
- Removes Signaller (the module required to run the signaller app) from tablets (likely will remove more in the future)
- Refactors the health/chem scanning app to not be as bad
- Dehardcodes detomatix resistance
- Ability to send PDA's to all is now tied to your access rather than a cartridge
- Moves 'eject disk' button to the very top of the UI
* [MDB IGNORE] Removes tablet cartridges + reworks a ton more
* wew
* wew
* ok
* Update nanotrasen_consultant.dm
* Update nanotrasen_consultant.dm
Co-authored-by: John Willard <53777086+JohnFulpWillard@users.noreply.github.com>
Co-authored-by: Gandalf <9026500+Gandalf2k15@users.noreply.github.com>
* Set steel_sheet_cost for tablets (PDAs) to 2 (#66773)
Destroyed player PDA / tablet drops half of the steel_sheet_cost as a stack on destruction. Having this set to 1 creates zero sized stacks of iron. Rather than fix the code that drops, I just upped this to make it drop 1 sheet on destruction, which is probably the intended effect.
* Set steel_sheet_cost for tablets (PDAs) to 2
Co-authored-by: Iain Price <github@predestined.net>
Materials got removed from the PDA that all crew members spawned with when we switched over to tablets.
This readds that as that was originally done in #57923 (2e309d4ead)
Allowing players to interact through obscure mechanics to bait each other to blow up a microwave in an attempt to charge their tablet is fucking hilarious.
Co-authored-by: ArcaneDefence <51932756+ArcaneDefence@users.noreply.github.com>
* adds pda paper scanning, and gives head job disks the tech web (#66470)
lets you uhhh scan papers i nto your notes app and also uhhh gives all heads the techweb app and also uhhh removes some role tablets because they dont really like need them anymore yeah cool awesome
coming one step closer to orange's vision of having techweb be heads only
* adds pda paper scanning, and gives head job disks the tech web
Co-authored-by: magatsuchi <88991542+magatsuchi@users.noreply.github.com>
* Makes flashlight action button update when flashlight toggles (#66434)
* Makes PDA flashlight action button update when its flashlight toggles
Co-authored-by: Tastyfish <crazychris32@gmail.com>
* Properly adds the syndicate PDA theme (#66376)
Please read and accept our Terms of Use and Privacy Policy before proceeding.
* Installs Syndix on the military tablet PDA
Co-authored-by: Vladin Heir <44104681+VladinXXV@users.noreply.github.com>
* [NO GBP] more tablet additions (#66358)
About The Pull Request
actually makes the damn action button for the flashlight on your device work, as well as fixing clown/silicon/mime names properly showing up
fixes not chunky finger people not being able to use pdas
Why It's Good For The Game
tweaks to make the tablet more user friendly
Changelog
cl
fix: actually makes the flashlight action button work, and fixes silicon/clown/mime names showing up properly on tablets/messenger
/cl
* [NO GBP] more tablet additions
Co-authored-by: magatsuchi <88991542+magatsuchi@users.noreply.github.com>
* Fix skin tone sorting and refactor color procs (#63554)
* Remove superfluous hash from hex2rgb call
Add stack_trace to hex2rgb to catch future nonsense
* Fix skin tone sorting and refactor color procs
Co-authored-by: AndrewL97 <andrewjlove97@gmail.com>
* Fixed spelling of possession, separate, and cemetery (#63203)
Just fixes some spelling for gangs. I also fixed misspellings for "posession" to "possession". Fixed "seperate " to "Separate" Fixed "Cemetary" to "Cemetery"
* Fixed spelling of possession, Separate, and Cemetery
Co-authored-by: Doctor Pope <84367152+Dr-Pope@users.noreply.github.com>
* Modernizing Radiation -- TL;DR: Radiation is now a status effect healed by tox healing, and contamination is removed
* Fixing conflicts
* Makes it compile, yeet all the RAD armor from everywhere (thanks RegEx!)
* Removing more lingering rad armor (woo)
* Damnit powerarmors
* Bye bye rad collectors!
Co-authored-by: Mothblocks <35135081+Mothblocks@users.noreply.github.com>
Co-authored-by: GoldenAlpharex <jerego1234@hotmail.com>
* Adds SHOULD_NOT_SLEEP to Destroy. Why didn't we do this before. (#61943)
* Adds SHOULD_NOT_SLEEP to Destroy. Why didn't we do this before.
Co-authored-by: LemonInTheDark <58055496+LemonInTheDark@users.noreply.github.com>
* 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>
* 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>
* 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>
* 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>
* 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>
* 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>