- Fixed lighting issues in dorms (added APC to bedroom area, also gave cryo storage and dorm bedrooms their own area subtypes so light switches don't conflict anymore)
- Fixed 0-2 cable "pixel_y = 1" offset (it was making a 1 pixel gap between south-to-end cables on the map)
- Replaced research outpost piping with new subtypes
- Fixed a broken air supply pipe running to the research outpost auxiliary storage area
- Replaced a few plating turfs in space with airless platings
- updated update_icon() for pipes and manifolds to change the color instead of the sprite
- updated subtypes to use global defines for colors instead of hard coded html refs
- added an alpha tweak to hidden pipes for the sake of mapping (DM doesn't render semi-transparent icons correctly, but it does handle var/alpha tweaks) - this is overridden when the pipe is spawned in the game world with New()
(Thinking about it, we could potentially do away with the transparent pipe sprites by just using the alpha variable. May do this later.)
- fixed pipe painter
- unwrenched pipes now inherit their source pipe color, and also inherit it when reattached to a pipe network again
Removed client check from mob so that if a pAI is being held by a SSD client it can still hear.
Removed 3rd deep .loc check 2 is plenty, and was making the proc rather expensive
(if you shove a pAI in a bag and toss the bag into a locker, the pAI will be deaf, you jerk).
Nano manipulators were not lowering build time at all.
Stock and Pico manipulaors were lowering build time by 6%.
This fixes that. Now: Stock = standard build time, Nano = 6% faster, Pico = 12% faster.
My VERY FIRST PR, I used it to make ghost chat be bold, instead of using viewers() to figure out
what ghosts could see the mob, I used get_mob_in_view() which sounded pretty descriptive.
Unfortunately for me it was one of the most CPU intensive ways of determining who could view the speaker for this.
So yeah, removing the second get_mobs_in_view and replacing it with viewers()
Yes this code has been in since Oct/Nov time frame :(
Before: Everytime you say something. This proc is ran. Along with it, recurses through EVERY /obj/ & /mob/ in view's contents, and EVERY /obj/ & /mob/ in that contents...and once again.
After: Fuck recursion, we're going to loop through clients and see if they are within any obj's or mobs within one iteration. MUCH cheaper, and probably less buggy.
If someone can't hear everyone and they are within an object and it's not catching? add it to the list commented for it of type checks.
- Tweaked the pressure delta check to "> 0.5", so pumps will stop transferring minor volumes of air every tick (because a delta of 3.05176e-005 is still greater than 0). This also reduces the calls to gas_mixture/merge() and gas_mixture/remove() significantly once the air in the environment has equalized.
The results after running the game for 10 minutes:
```
Proc Name Self CPU Total CPU Real Time Calls
/obj/machinery/atmospherics/unary/vent_pump/process 0.035 0.141 0.141 3808 <- before
/obj/machinery/atmospherics/unary/vent_pump/process 0.014 0.042 0.043 3808 <- after
```
Fixes#4447
- Added a parent call to each wardrobe subtypes New() proc.
Wardrobes weren't calling obj/structure/closet/New(), so weren't adding items in the same location to their contents when first created.
- Removed wardrobe/New() proc.
So all subtypes don't inherit an extra set of blue uniforms and brown shoes. Only one wardrobe on the map is of this type, and it's on the derelict, so didn't think it was worth making a map change.
- removed double windows
- added pipe dispensers
- removed one rogue wire
- rearranged the atmos monitoring room based on forum feedback
- changed radiation collector blast doors to same switch network
- tweaked poddoor New() function so they render over glass if closed at round start
- setup engine room pipe network to neutralize the SM at round start - it now cools the nitrogen in the chamber
- added extra functionality to advanced airlock "purge" and "secure" buttons
- made a few tweaks to airlock/door controller NanoUI
Applys a client side only layer of colors over the various zones to show if they are connected or not.
Green is your current zone
Blue is adjacent zones that are connected.
yellow is zones that are connected but not adjacent to your current zone.
Red is for zones that aren't connected at all.