* Citations Step 1 - New Datacore Stuff
* Committing before merging with master
* Initial work on PDA messaging
* Adds support for automated PDA messages
This is just a flag that, when set, replaces the standard (Reply) href with a static "automated message" message
* Citations now generate PDA messages
The target of a citation will be notified via PDA message
* Escaping some non-optimal characters in PDA messages
* Creates a public warrant computer
Initial framework. Computer machine and circuit. Adds it to the DME.
* We're gonna flipflop on this for a while
* Removing unneeded functions
This is a read-only terminal, so we don't need to have all this code for managing entries and updating fields
* Whoops
So this is why byond was warning me about unused vars
* Need some help
Pushing this commit because I got this into a state where it doesn't work right
* Adds support to pay fines!
* Map changes. Adds a warrant console to the hallway outside the brig and law office on Box.
* Adds some checks to fine creation
* Aaaaand more work on paying citations
* Paying citations works! The money goes into the defense budget!
* More functionality and usability changes
* Adds warrant consoles to the rest of the maps
* Cleaning up text
* Rewrote warrant computer to be more up to date.
* Fines are capped to 1000 credits
* Requested changes
* Citations can now be paid with holochips and warrant consoles don't require your ID to be inserted.
* Fines can be paid from security record consoles, and more feedback messages
* Citation payments now actually go into the defense budget for real
* Removing even more unused code!
* Removes unused code (emp_act and ID handling)
* More unused code for the unused code gods
* ID card reference is now just fetching attached name.
* remove simple mob typepath kthx for the remove simple mob typepath kthx gods
* one usr, many M
Credits to Europaisch for help finding all the records stuff
Fixes a few issues I was not aware of with my initial PR
* Being agender is now a distinct DNA value (fixes agender spessmen
turning female when having their DNA referenced, like during cloning
and some rudimentary transformations)
* Neatens up preference code, more in line with previous code, fixes
an issue with male underwear not surviving preference loading and
defaulting to female underwear
* Allows agender spessmen to change their facial hair with mirrors
* Change medical, personnel, and security records from sex to gender
and add "Other" option (they currently display "plural" even for
agendered species like ethereals)
* The -san honorific now applies to plural gender instead of just
neuter with the Chinese Cartoons admin secret (highly important)
I have never really played genetics and only tested the DNA code with
cloning and rudimentary transformations while still in a body (which
causes it to reference the old body's DNA, like with cloning). Please
let me know if there's a better way to do this and/or if this is apt
to create issues.
* 1/4 done? maybe?
* more
* stuff
* incremental stuff
* stuff
* stuff & things
* mostly done but not yet
* stuffing
* stuffing 2: electric boogaloo
* Git Commit and the Kingdom of the Crystal Skull
* make it actually compile
* found more stuff
* fixes
* fix AI laws appearing out of order
* fix windows
* should be the remaining stuff
* this time for real
* i guess it should compile too
* fix sechuds
About The Pull Request
I made a machine board for the PDA message server and added it to the telecomms techweb node. To keep the usefulness of the machine's password, a player built message server won't work until 15 minutes after construction. I've also converted a lot of magic numbers to defines, and changed the departmentType var on request consoles into a bitflag.
I'm open to ideas other than a time gate when it comes to keeping the server password's usefulness.
Why It's Good For The Game
You can't build a Message Server right now. If it's destroyed, PDAs may be knocked out for the rest of the round.
Changelog
cl JJRcop
add: You can now build a new PDA messaging server if you lose it.
tweak: Requests console messages no longer work if the messaging server is offline. Emergency alerts will still function in that case as long as the rest of telecomms is online.
/cl
* yeets a GET_COMPONENT_FROM
* signal rather than component
* Update code/game/objects/items/devices/PDA/virus_cart.dm
Co-Authored-By: Emmett Gaines <ninjanomnom@gmail.com>
* Initial overhaul work and some fixes.
Running into a bug with getting healthanalyzer variables to pass.
Signed-off-by: RaveRadbury <risforradbury@gmail.com>
* Fixes some typos, shortens a message
* Update pai.dm
* Prevents pAI OS from coming up in other windows.
* Moved around some camera stuff, trying to fix lost pAI zoom
* Fixes pAI zoom, adds camera flash
* PAI buttons grey out if they need software first
* Better greying out of buttons in PAI
* Removes unimplemented HUD stuff
* Should make pAI Host Scan require being held (like DNA check)
* Includes host scan as a greyed out hud
* Improved button loop
* Fixes pda icon off-set
* Fixed inconsistent indentation
* Replaces outdated and innacurate checks for scans
Thanks to Cobblestone for the help
* Refactor pAI hud button grey out
* Changes browse to browser
* cleans up the code, gets rid of an error
* Removes indent from #undef
* Removes an unneeded text-align:right
Currently pAIs cannot be configured for DNA and secondary directives
while inside a PDA. If I need to eject my pAI from my PDA, why would I
want to drop it on the floor, especially when it hasn't been configured?
An activated pAI is too valuable to drop from your PDA directly to the
ground.
* Scope locate calls which are immediately checked against a list
* Remove silly use of locate from bible Topic
* Scope various locate calls (needs testing)
* More WIP
* Buff up lightswitches while we're here
* Tidy record browsing code
* Scope a few more locates
These have caused problems in the past (#41917, #39303). Continues #29349.
Also cleans up lightswitch code while I was already touching it.
I recommend a testmerge.
Fixes#39976
A good number of things were missing various parts of the logging (going to GLOB.bombers, not going to client logs, not logging to game, ect), or doing incorrect things like passing admin verbs to saved logs.
Unified all the necessary actions under a single proc log_bomber() which handles everything in most use cases. This way the log isn't all jumbled up with inconsistent messages, everything's one format so you can quickly find what you need to bwoink the right person.
* Refactor several log lines to use datum_info_line and atom_loc_line
* Add default return strings from datum_info_line and atom_loc_line
* Add parentheses around atom_loc_line data
* Change more logs to use atom_loc_line
* Add check in atom_loc_line for turfs to avoid calling get_turf on them
* Re-add removed 'at'
* Replace datum_info_line with key_name and atom_loc_line with loc_name
* Refactor logging functions
* Avoid double-logging self-interactions
* Fallback to simple stringification if all else fails in key_name()
* Rewrite muscle spasm logging to use log_message
* Standardize logging of martial arts
* Tweak individual logging panel look
* Fix individual logging panel source
* When I typed || I really meant &&
* Fix Telecomms logging always showing client logs in the panel
* Reverts addition of buggy ownership log to panel
* Remove colon
* Fix missing log_directed_talk tag
* Add warning for missing type in log_direted_talk
* Change warnings to stack_traces
* Add square brackets around fallthrough key_name() case to help parsing
* Allow atom arguments/src in log_*() functions
* Change log_combat call with null argument to log_message
* Change mecha types' log_message() arguments to match atom and mob version
* Add key_name() case for atoms
* Fix resist_grab() unsetting pulledby before log_combat gets a chance to use it
* Fix log_globally logic
* Add logging for hitting objects with items
* Move log_combat() to atoms.dm
* Use utility functions for object stringification in log_combat()
* Use utility functions for object stringification in log_combat()
* Add missing logs for interacting with display cases
* Rewrite log_combat() comment
* Add missing space in log_combat()
* Add logging for hitting grilles barehanded
* Add missing ..()
* Photography Update
* Pictures logged in their own /data/picture_logs folder rather than normal logs
* Pictures logged in their own /data/picture_logs folder rather than normal logs
* Photos broke, retrying
* Persistence stuff
* I'm almost done I promise!
* Persistence mostly working, compile, etc etc
* Persistence mostly working, compile, etc etc
* Remove something really not needed from the PR
* Prevents duplication
* default to off
* removes check tick
* increase slots in albums to 21
* Allows for singular loading
* Update camera_image_capturing.dm
* Addresses review
* Anturk
* Update camera.dm
* Update misc.dm
* Update datum.dm
* Update camera.dm
add: The vault now contains an ore silo where the station's minerals are stored.
add: The station's ORM, recycling, and the labor camp send materials to the silo via bluespace.
add: Protolathes, techfabs, and circuit imprinters all pull materials from the silo via bluespace.
add: Those with vault access can view mineral logs and pause or remove any machine's access, or add machines with a multitool.
tweak: The ORM's alloy recipes are now available in engineering and science protolathes.
new verb for the PDA that toggles the flashlight, moved the toggle code to a
new proc
why: because i'm tired of having to open the PDA menu at the beginning of every
round to turn on the flashlight
* adds signal and modifies each call of afterattack to call it's inherited proc
* uses new macro for sendsignal()
* map fuck
* skip precommithooks
* combine and negate 2 ifs
* Makes pens ez to remove from pda
Players can now ctrl click on the PDA to remove the pen without having to remove the ID first.
* added instructions when examined.
Like how it tells the user they can use alt-click to remove contents, it now says they can use ctrl-click to remove items from the pen slot.
* PDA can now be dragged without dropping the pen.
When ctrl-clicked it now checks to see if the PDA is on a turf and will only output the pen if its not.
* quick change to examine text.
* comma
* Improved the examine
add: Analyzers can now scan all kinds of atmospheric machinery - unary, binary, ternary, quaternary, you name it. This means stuff like gas pumps, gas mixers, vents and so forth can be analyzed.
tweak: Analyzers now show temperature in kelvin as well as celsius.
tweak: Analyzers now show total mole count, volume, and mole count of all gases.
tweak: Analyzers show everything at slightly higher degrees of precision.
More accurate and advanced analyzers have been something that I think atmos and toxins mains have been wanting for a while now (including myself). It's always a pain to have to manually add 273.15 to every celsius temperature, or have to use outside tools or VV (which isnt usable in actual games) to calculate mole count for a gas mixture. Not to mention, the ability to analyze things like volume pumps and gas filters makes it easier to manage larger atmos setups. This is just a QoL change for people in any of those jobs. In fact, most players probably don't even know what the fuck is a mole is so adding mole readout to analyzers is a good way to get people to understand atmospherics better.
The component is initialized with any combination of three flags, EMP_PROTECT_SELF protects against effects that target the object itself, EMP_PROTECT_WIRES protects against wires being messed with similar to the NO_EMP_WIRES_1 flag which this PR removes, EMP_PROTECT_CONTENTS protects against things that are inside the object like organs, internal "non-virtual" power cells and the like
This enables (but doesn't introduce) new mechanics such as adding EMP shielding at runtime to any atom, or taking it away.
The total number of assets to be sent has been reduced from 1532 to 76, with time between first asset and last going from about 112s to about 7s (a 93% reduction) by my measure. The following assets have been coalesced:
705 pipe images (used by RPD) -> 1 spritesheet + css
595 research design icons (used by R&D console) -> 3 spritesheets + css
116 OOC emoji + 15 language icons -> 1 spritesheet + css
27 PDA icons -> 1 spritesheet + css
11 paperwork stamps -> 1 spritesheet + css