About The Pull Request
machines and consoles that previously required an inserted ID now check access on worn and inhand ids. They otherwise function identically.
Affected things:
ORM: click claim to claim cash to connected ID (also fixes it)
Mining vendor: uses ID on person or in hand.
medical console: checks worn ID
security records console: checks worn ID
gulag consoles: claim points to worn ID, checks access and point requirements from worn ID
Also some backend refactoring to prisoner management and gulag teleporter consoles
hop console will be next to strip out the shitcode entirely but this at least gets things functional in the mean time, but fully tested this time. It's very late here and I need to sleep. Due to the nature of it it's more elaborate of a rework.
Changelog
cl
tweak: Medical and Security consoles now check access on worn or inhand ID instead of requiring an inserted ID
tweak: mining vendor now reads from ID in hand or on person instead of requiring an inserted ID
fix: ORM is functional again (for real this time)
tweak: ORM claim points button transfers points to worn/inhand ID instead of to an inserted ID, no longer accepts insertions
tweak: Same for gulag consoles
/cl
* * reworked consoles so you can:
* use attackby to insert id
* use alt-click to eject id
* examine to see if alt-click is available
* moved eject_id and insert_id procs to _computer.dm
* added some sound effects
* * prisoner management console new features: insert id with attackby and eject with altclick
* * prisoner management console can't have multiple prisoner id's inserted
* removed unnecessary src. and changed usr --> user
* made gulag teleporter consistent with attackby, altclick and examine.
simplified attackby on card.dm
* equipment reclaimer station consistent with id attackby, altclick-eject and examine.
point claim console consistent with id attackby, altclick-eject and examine.
* ore redemption machine and mining equipment vendor made consistent with id attackby, altclick-eject and examine.
* * reworked all eject/insert ID copypastacodes into procs in _machinery.dm
* * 0's to FALSE
* hopefully i didnt mess up any more things in the resolve
* everything now uses id_insert-proc and doesn't work.
* compiles but doesn't work
* works
* 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
cl Denton
tweak: Most upgradeable machines now show their upgrade status when examined while standing right next to them.
tweak: Added examine messages to teleporter stations that hint at their multitool/wirecutter interactions.
tweak: Renamed teleporter stations from station to teleporter station.
code: Changed the teleporter hub accurate var to accuracy; the old name misled people into thinking that it was a boolean.
/cl
Machines don't really give players feedback about upgrades, aside from machines like the cloner where new functions are unlocked. I'm adding examine descriptions that should help with this:
Yeah yeah I know no opening too many WIP PRs but this one's [ready] and I want to make sure any furthur techweb development doesn't keep using the old reference system which will make refactoring it harder, and this makes it easier for coders to do stuff in theory (at least for me), standardizes getting a node/design, and makes stuff actually GC properly.
* Fixes bluespace crystal memes
* Generalizes refined type check
* generalizes here as well
* Now now, no need to be lazy.
* removes duplicate istype check
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.
* Ore Stacking
* honk
* honk
* component memes
* honk2
* fix overlay off-by-1, sheet singular names
* Give the ores more descriptive names since sheets also have
* whoops debug memes
* atom editor memes
* fixes
* snowdin fix
* Revert "all this wrapping and it's not even christmas (#33035)"
This reverts commit faaf151580.
* Revert "fuck me for forgetting to graph this one"
This reverts commit 45d7acea2f.
* Revert "defines math"
This reverts commit 2817a1737b.
* Makes Station Z Levels a global list
* Things didnt get committed
* Define
* Removes files
* Fix mind.dm
* Wrong list name
* (
* Fixes rev checks and signpost
* Makes it actually compile
* Signpost fix
* I hate these sign posts
* Never use the web editor
* Ports /vg/'s component system
* Fix component signalling itself for addition
* Fix the list arrangement for removal
* Whoops
* Return the existing component if the created one was deleted
* These can't be ints
* ,
* returning TRUE from a callback will mark the event as handled
* Small refactor
* Add powered components
* R e f a c t o r
* More wip
* Fixes et al
* Pure pain
* When bae tells you she was tabs but she was actually spaces
* RReee
* Needs arglist
* Fax
* Fax
* More better
* You fail me yet again git commit
* Some kajiggering, but there we go
* No more 3rd param = variadic
* fix
* Sanity
* Whoops
* Minor thing
* Whoops
* fax
* Better describe the function, + add ..()s
* Fix
* Port to Initialize
* fuk in git
Also changes New -> Initialize in most of them.
renamed: `code/game/machinery/computer/computer.dm` -> `code/game/machinery/computer/_computer.dm`
renamed: `code/game/machinery/machinery.dm` -> `code/game/machinery/_machinery.dm`
Moved all circuitboards to a new folder at `code/game/objects/items/weapons/circuitboards`