Removes a whole bunch of in world loops.
Reworks SSmachinery to hold two lists: all_machines and processing_machines. all_machines contains all machines 5ever. All of them. Literally. Forever. And ever. processing_machines only contains machines that process with the SSmachinery controller.
I checked most types at runtime on the live server to see whether they're in processing_machines or in all_machines, and did debug to ensure that most machinery ends up and stays in all_machines.
Includes a basic UT to make sure all mapped in machinery types remain within the all_machines list post-init.
Removed another typo by me by removing capialization in borg icons all together.
Fixed two borg sprites never getting their eyes due to typos.
Brought order to the robot.dmi file.
This was an incredibly easy fix that removed some stupid code I never should have had to fix. >:(
Hoists should be fixed when this is merged (and if this compiles, given my apparent coding skill).
Fixes#3051Fixes#3055Fixes#3057Fixes#3061
Fixes some food having no taste, also fixe cheese tasting like meat and other minor things like grammar.
Removes the ,45 magazine from the warden's locker, and give them a helmet to match his armor
Fixes a missing window at the main central level
Fixes a messed up hall at central command
Adds a small room for interview for the ccia in the odin, that was left out due to map issues
Adds the captain chair overlay that I forgot to add way back
changes:
Storage objects can now defer shrinkwrapping of contents until the next stackframe if things are being put in them without using fill() (such as autodrobes & BSTs)
SSair init properly yells at the admins when it's done.
Turns the mining flags into light emitting beacons. This is for added ambiance and to make them more useful in the not-at-all lit asteroid of Nümap. They can now be used as waypoint markers!
Preview: https://kama.skullnet.me/index.php/s/E9ko2agfntCCamA
Since I'm sure people could come up with reasons any preset should have a file manager, I added it to all of them. Could undo it later, but it goes well with, say, the Relay program that lets you save (and view!) logs, as well as CERTAIN ROBOTICISTS (and mechatronic engineers) that like to put their forms on the computer.
With the introduction of PR #3023 , 510 and lower are no longer supported. So I removed all compile time defines that were meant to allow for its support and bumped the compiler error guard.
Reposting from PR #2880 because of branches conflict
Finally did find a way to add blueprints to construction cyborg. Engineering cyborg modules are now more related to construct things inside of an area, while construction cyborg is now have all tools which might be needed to create new areas (+APC's, air alarms and such). A bucket and a matter decomplier to a janiborg.
Maint.drones did receive their wires limit being lowered from 30 to 15, wood and plastic dispensers capacity is multiplied by 2, and a standart engi module pack is now contains 45 wire length instead of 30
Ports Baystation12/Baystation12#12658
Changing how the calculation of armor works , instead of just being a check if it is protected fully, half or nothing. Making armor more reliable and less rng dependant.
Also, uranium meteors will irradiate nearby people when they explode.
changes:
Atom types can now define custom adjacency code for the smoothing system.
Walls now draw using the generic icon smoothing system.
Walls now pre-bake colors into their icons instead of doing it client-side with the color var.
Walls can now use the SSoverlay appearance cache; wall icon updates should be faster.
The "rusty" wall type now actually works.
Smoothing now uses mutable_appearance instead of image in some places.
Should be a bit easier on clients, though I haven't done profiling.
This PR breaks 510 compatibility.
Adds an unique type of meat to the cavern dweller, with hyperzine, giving people a reason to hunt them down like carp. Also, replaces the old sculping block sprite with one that shares the same color of our mineral walls.
Adds wielded sprites for the assault rifle, bullup carbine and the AM rifle. Empty sprites for some pistols and also fixes the decloner dealing no damage at all.
Hoists now release hoistees if they wriggle out somehow. Shouldn't happen anyway, but consistency_check should handle any odd shenanigans.
Silicons should be able to be hoisted. Buckling wasn't anchoring them, for some strange reason.
Fixed a bad message, where [user] was used instead of [usr].
You can't directly unbuckle people from hoist hooks.
Fixes an issue where the crew monitoring map would say it was unable to connect to TCOMs when there was no one with suit sensors on but it could still connect to TCOMs.
Reduces the damage taken from shocks, so people won't be husked by bumping into any airlock. Also adds the features of human/electrocute_act to the human proc, so, there is no need to call the carbon proc.
Adds hoists! Traverse Z-levels in style!
Use a hoist kit to deploy it on the same tile as you, in the direction you're facing.
Drag an object or mob to the hoist clamp in order to attach them to it.
Left click on a hoist to move up or down, depending on its current direction. This will also pull anything attached to the clamp along with it.
When the clamp is blocked and can't move up or down further, it will automatically switch direction.
To disconnect someone (or something) from a clamp, drag the clamp to the tile you want to put them on. It must be within one tile of both you and whatever is attached to the clamp.
When you're done using a hoist, you can collapse it back into a hoist kit with the Collapse Hoist verb, for easy transportation.
Hoist kits are not available on the map, so they have to be spawned in.
It is preferred to use hoist kits instead of directly spawning a hoist, where possible, when testing.
This PR contains bugfixes for:
Drones being able to transmit empty messages when talking in local drone chat ("dronesay")
A possible runtime in dronesay, caused by a null-reference in player_list, or a mob not having a client
Underwear and Socks selection in Character Setup breaking when switching genders.
Character loadout is now sanitized each time before it gets displayed. Invalid selections will be reset to "None", when changing the character's gender.
changes:
Body marking icons are now cached in SSicon_cache.
Renamed the body-hair cache (used only by Resomi) to make it more clear what it is.
Humans now use SSoverlay for applying overlays, though they force-compile instead of waiting for it to tick.
Fixed a bug where getFlatIcon() did not work properly with SSoverlay overlays.
Canes and concealed canes have the same size, also fixes and re-adds their old update icon proc. And also, probably fixes beepsky attacking the hos dog.
changes:
Parallax now actually moves properly on Move().
Parallax movement can now be toggled as a preference.
Merged all movable/Move() overrides for performance reasons.
changes:
Replaces a lot of in-world loops with more specific lists.
Recipes are now copied in SSmachinery/Recover()
Fixed bad sorting on all_areas list.
Added skeleton Destroy() to SMESes as they did not have one and are failing to GC.
Seems to shorten SSatoms init a bit, maybe from removal of in-world in MULEs?
changes:
Fixed a bug where non-clothing custom loadout items would not spawn.
Fixed a bug where latejoining AIs would spawn at CC / Cryo instead of the core.
Added more SSjob debug statements.
Fixes#2942.
changes:
Openturf now uses ~200 MB less memory when sunlight is enabled.
Openturf now handles recursive OO copy better.
Lighting objects now update their existing color list if they can instead of creating a new one each time.
The sun can no longer fall out of the sky.
Openturfs should be a little gentler on clients.
Openturf darkening factor can be more easily changed.
Reset-Openturfs no longer hangs SSgarbage.
changes:
Holomaps now use an area flag instead of a proc to determine which areas do not draw on the holomap.
The supply shuttle once more has a roof.
The supply shuttle's landing zone is now dynamically lit.
Turfs only generate visibility updates on Initialize() after mapload - visualnet is not initialized by then anyways.
Merged /datum/gas_mixture/(init) into /datum/gas_mixture/New().
Converted a ZAS proc into a macro.
Made ZAS attempt to remove a turf from a zone instead of always rebuilding it in a certain case.
Macroized two misc procs.
Fixes#2947.
changes:
The station's holodeck is now dynamically lit.
Improved quick-pickup's tick checking & converted to assoc lists instead of if (thing in list).
Fixed an edge case where openspace overlays would not properly cleanup on forceMove to a non-turf.
Fixes#2941.
Fix the most common RTs from Sunday's testing.
Also works on orebags. Limits their capacity to 200, as anything higher than that breaks the fancy inventory system something awful. Maybe I should write a UT to test and confirm this. Expanding: I don't think TICK_CHECK in inventory procs is a good idea, without fully implementing a non-fancy storage subclass. Non-fancy would just be speedy without all of the fancy inventory orientation bullshit. But CBA to do that now and I'm not sure if it's worth it for the edgecase of drone satchels atm.
Adds the following items:
Mr. Monkey - Oz Auman - theiguanaman2
Maraziite Throw Over - Urzkrauzi Vizili - jackboot
Iron Mask - Urzkrauzi Vizili - jackboot
Fixes#2939 by removing the simple animal mind datum that replaced the assigned_role with animal instead of keeping as it is.
Also, adds apprentices to the wizard antag list, allowing them to use aooc and etc.
Fixes#2803Fixes#2553Fixes#2597 (Couldn't find a cleaner way to make this work, unfortunately. Not all procs-as-verbs can be used as procs.)
Fixes#2498Fixes#2912
As it works currently: Electrocute_act, the proc called when anybody gets shocked, has several problems.
As it is now - it only damages the hand. These changes Allow it to "arc" through one of 6 possible arcs:
*left to right hand
*right to left hand
*right hand to right foot
*right hand to left foot
*left hand to right foot
*left hand to left foot
*Snowflake hand to head to hair to ground fuck the braid
the "arcs" Check the siemens_coefficient of the entry and exit points of the Arcs when calculating damage - So you won't take any damage if you have insulated gloves, and I'm not sure if any shoes have that. but it tries to calculate it anyway. Who knows, Janitor might be buffed.
I've also taken the 60 seconds it took to add the proc to simple_animals. it's just flat damage right now though. I'll probably spruce it up in the future if nobody else does.
The proc shouldn't in theory work any differently if you provided a def_zone for it to target - it'll still just damage the one area. but if no specific area is provided. it'll "arc"
-removes the brute reduction from the regular baseline, because robotic limbs already have those
-reduces the industrial brute resist from 0.5 to 0.8, because again robotics limbs already have some
-fixes industrial and shells head not being tagged as vital and makes their max damage be equal as other external organs