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
Cables now autoconnect on cardinal directions. All cable placement has been completely stripped out and replaced with simple single cable per tile logic.
Low effort demo: https://www.youtube.com/watch?v=fXp8s6ORWbA
Yes I am aware that cutting it is not dropping wire, that version was bugged.
Cables no longer need a knot specifically placed to link to power objects. The sprite is automatically changed to represent this.
The only exception to this logic is that on smes units, due to the terminal being next to the output, they will not link there.
On a technical powernet side, this is the same as old cables once actually placed. They still use the existing powernet system, just the placement and connection works differently.
Old cables have been turned into "pipe cleaners" for wire art purposes. they work just like the old ones, just missing all the powernet functionality, and also you can put them on top of the floor.
Why It's Good For The Game
How obnoxious cables were to both map and work with in game has been something that has annoyed me for a really long time now.
This is both easier for new players to learn, and easier for experienced players to work with.
Along with making in game much more intuitive and easier, it makes mapping much easier as well. Mad lad wjohn was able to rip out all the mapping conversion in one day because of how much faster it is to work with.
cl actioninja and wjohn
add: Cables have been completely reworked. Simple per tile connection logic, automatically connects to things above it. Think minecraft redstone.
add: Old cables have been kept as pipe cleaner. They are non-functional in terms of power, but otherwise have the same connection logic. Also can go on top of tiles.
remove: mech cable layer has been removed because it was terrible shitcode nobody used
tweak: (sort of balance) cable stack sized has been reduced to 15.
/cl
Had to touch a lot of maps because their directions were wrong in the icons
file, so when I changed those every map that had these needed updating. I've
added a script called cornersfix to mapmerge2/map_scripts for downstream
servers.
Basic multiZ mob movement procs (Observers can always move)
Open space, showing what things are below it, and everything that entails. No complex support for dynamic generation just yet.
Decide how openspace should look :/
Atoms falling through open space (NO MOB SUPPORT/DAMAGE/ANYTHING YET.)
//CANCELLED FOR ANOTHER PR - [ ] Being able to see upwards? Downwards is going to be handled by open space.
MultiZ tile atmospherics - EDIT: Working demo! https://puu.sh/B7mUs/3f6274740f.mp4
Bugtest the heck out of this trainwreck.
* Converts all colored plasteel tiles to turf decals.
* Removes now deprecated floor icons and paths.
* Hotfixes on three maps.
* Moves script to its own folder.
* Fixes wild west.
* Fixes holodeck
* Fixes eye rape bug.
* Fixes meta and lavaland biodome ruin having some missing textures.
I added an examine message to the ore silo:
[src] can be linked to techfabs, circuit printers and protolathes with a
multitool.
Also added it to runtimestation, which required me to expand the area a little.
* Fix premapped atmos machines turning on automatically when re-wrenched
* Move on and open variables up to atmospherics base
* Update maps for valve var change
* Rename valve/open to valve/on, add valve/digital/on
* Adds VR Snowdin and Syndicate Trainer
* Replace var edit
* I did forget to add a few
* Adds one full outfit spawn
* internals too
* closet
* Extends same Z level check to monitor and emping
* restricted uplinks
* camera bug fixes
don't talk about the bees
outfit changes
More items
outfit fix
* Adds vr sleepers to runtime station
* More mapping fixes
* Adds telecomms to taunt your enemies
* More restrictions
* Some fixes
* badabing
* More fixes
* emag related changes
* forgot the ract
* Additions
* griff resistance mode
* minor changes
* Removes old centcom away map
* Pushes you out of VR if you try to ghost
* this is :b:roke
* this shit is not :b:roke
* as requested
* move door_assembly types to new door_assembly_types.dm
fixed some stupid airlock varedits
made glass airlocks a subtype of their solid variant
* examine door assembly to see what name is set
move airlock emagged description to examine()
* removed typetext and icontext vars from door assemblies, airlock painter no longer works on door assemblies
removed 'anchored = TRUE, state = 1' copypasta from door assemblies
door assemblies update their name more regularly during construction
added new airlock types to airlock painter on airlocks, and to the RCD
airlock assemblies built with metal are now in a list, you can build many more airlocks
vault door assemblies can be built with 4 plasteel
added a solid version of station2 airlocks, renamed to "public airlock"
glass and mineral sheets are now able to be welded out of door assemblies
* find n replace airlock/glass to airlock/glass_public in maps
door_assembly_glass to door_assembly_public
* made highsec airlocks built with 6 plasteel, removed from RCD and airlock painter
vault doors built with 8 plasteel
removed redundant vars in airlock_types.dm
reverts the dumb rglass 'replacement' addition in door assembly construction
* moved airlock assembly defines to construction defines file
fixed incorrectly named shuttle airlock glass_closed and maint panel protected closed overlays
improved examination message for glass/minerals present in assembly
* airlocks take their dir from the assembly when built from assembly
removed "vertical" variant of survival pod airlock, unneeded
survival pod airlock assembly can have glass applied
solid and glass overlays for survival pod airlocks
* OOPs some airlocks, removes a duplicate door assembly, removes some var edits on maps for a new glass type
* turn copied door assembly code into a proc
some feedback during door assembly construction
door assembly created airlock takes name from base_name if no custom name
moved plasma airlock proc to airlock_types.dm
* Updates floors and decals as well as all relevant maps.
* Fixes centcom compilation errors
* Fixes some missing floors I did not see under blast doors whoops.
* Removes a bunch of tags reeeee
* Removes redundant icon states.
* Updates almost all maps, mostly to deal with /black being changed to /dark.
* Fixes pirate ship too.
* Let's try that again fuck
* Whoops extra area error
* Proper conflict fixes.
* Actual fixes now
* Actual fixes.
* Last couple of fixes hopefully at ninja's request.
* Fix pixel offsets on cables on all maps
* Remove d1/d2 from cables on all maps
The Initialize() on cables already sets d1 and d2 based on icon_state so
these varedits don't actually accomplish anything.