Ports Polaris' integrated electronics system, whichallows for Roboticists & Electricians/Engineers to build custom devices and machines for a variety of purposes.
Adds ringers at Juani's request. Pretty much a console you can use your PDA on to add it to a list, then, there is a button someone can click and it will ping you.
changes:
Stairs now actually work.
Stairs now only move your mob up when you exit the last step.
Walking off the side of a staircase will now cause your mob to faceplant on the ground briefly.
Openturf now handles objects that cover more than one turf properly, such as multi-tile doors.
changes:
Openturf starlight now actually works.
Openturf starlight is now under its own config option, so it can be toggled separately from starlight.
OT starlight no longer re-applies to a turf that already has it set.
Seems to use a fair bit of memory unfortunately, as well as adding a good 25 seconds or so to boot time.
PLAGIARIZED AND REBASE VERSION OF #3409 BECAUSE FUCK GIT
The old Lawgiver code didn't work as intended, with different modes using different charge values and having different recoil. This PR fixes that code, so the lawgiver is now somewhat balanced (No more HE spam yay). Current ammo amounts, from full charge, are:
Stun and Singleshot = 40
Burst = 13ish, just shoots 3 Singleshot in a row
AP = 15
Hotshot and Pellets = 8
Highex = 5 (Original charge cost placed it at 6.6 recurring, brought it down to 5)
changes:
SSoverlays only creates the our_overlays and priority_overlays lists separately and when they're actually used. This should remove a lot of unused lists as priority_overlays is relatively unused.
SSoverlays is now FIFO.
SSoverlays now uses large Cut() operations instead of continuously truncating its processing list.
SSoverlays is no longer a processing subsystem.
Performance tweaks to add_overlay()
SSoverlays no longer tries to re-process atoms that have already forcibly compiled their overlays (like human-types).
With this change, ported from baystation, whitelist loadouts can use lists now, so, you can have one xeno item that is allowed to two different species, like the gear harness.
Edge case where the turf you click is the outside station area, and it has to crawl that fucking massive area.
Also makes the loop generally more efficient.
-Changes almost all of door opening/closing animations to be smooth. Also adjusts some door sprites so they actually can be opened smoothly.
-Fixes minor problems with some door sprites. Usually only few pixels.
-Adds "o_door_open" opened state with panel open to common glass door, lift door and vault door, since these have visible panel even while opened. EDIT: They will now show up correctly when needed. Added a var used to mark doors with panels visible while open.
-Adds opening/closing animations "door_closing_stat" and "door_opening_stat" with lights off to doors that did not have it. EDIT: Should now correctly show up when the door is forced manually.
-Removes many unused duplicate dmi files and icon states in door file.
-Adds new dmi file in doors folder containing misc door overlays. Not used anywhere, purely for reference and spriting.
-Changes the multi-tile airlock to have 4 directions instead of 2. Also makes it correctly update hatches for those directions when moved or built from scratch.
-Adds vault assembly. It can be built like any other door, but it costs 10 sheets instead of 4 and takes double the time to make, since it has double explosion resistance and lot more health.
-Adds elevator door assembly along with icon states into the code. It is currently unused, because I have yet to figure out how to make building lift-doors work, and that will not be included in this PR.
Converts all reagent containers to use Initialize, fixes the hand-chew cool down so it's no longer for everyone, and moves the suit sensor Z-level to the global.dm right above the station name so anyone else using the code can't miss it.
Closes#3363Closes#3361Closes#3362
Mostly aims to reduce meaningless proc-calls in Move() and forceMove(), also inlines the rest of the power calculations in SSmachinery to remove a lot of proc-calls.
Fixes medical residents spawning at the odin at round start
Fixes medical residents being unable to get medical huds via loadout
Fixes#3370
Fixes mechas not using the paint kit skins when destroyed
-adds the mend would spell; a spell that allows the wizard to close bleeding, heal internal bleeding, broken bones and organ damage by selecting the hurt zone
-adds the resurrection spell, that brings a dead target to life, it will not work if he has been dead for too long
-adds mind bend, that allows the wizard to turn his victim into his lobotomized slave, like the vampire thrall power
-buffs some healing spell, summon bats and summon bear
-adds more wizard related sounds
-adds an emote when someone is firing their eye lasers
changes:
use_check() will now show failure messages to the affected mob by default. It still returns the failure reason & permits disabling of messages via. the show_messages parameter.
Lockers now take 2 seconds to weld or disassemble.
A progress bar is now shown to mobs with the progress bars pref enabled while attempting to break out of welded lockers.
Mostly synthetic code cleanup, some tweaks to human examine and ID cards too.
changes:
Synthetic sprint procs have been compressed down to one proc for all machine subspecies vs. one per subspecies.
Synthetic sprint now only stuns synthetics with empty cells for 30 seconds for all types.
Refactored synthetic limb roboticization.
Changed how a lot of synthetic/industrial checks work.
ID portraits are now 128x128, and scaled without blurring.
Species can now specify an examine text color (for their species name) that differs from their flesh color.
Fixed some eye checks not respecting species.vision_organ.
Examine pulse-checking now uses do_mob & has a progress bar.
The cooldown is currently 3 seconds as suggested by this thread
also adds a nifty proc to Aiming to set said cool-down, it's variable.
The proc is "aim_cooldown(x)" with x being the time you want them unable to aim.
Adds drop pods syndicates can use to drop in on locations. It causes breaches and can only target the surface level (minus the arrivals dock, cyro, and the bedroom).
Ports Runtime Station from /tg/, a debugging map meant to speed up boot time during development.
Also adds RTGs, a low-output (< 10 kW) upgradable buildable infinite power source, and allows placement of cables on catwalks.
Adds the ability to upgrade the following:
- Sleepers
- The ore processor
- All cooking appliances (Minus the microwave)
- Tesla Coil
Also makes components not spawn in machines until they are needed (When they are being upgraded) to reduce the objects generated. Adds some new macro's and converts some istypes to use them. And moves stock parts into their own file.
changes:
SSlighting is now FIFO - lights are processed in the order they are received instead of by whatever one was queued most recently.
Instant lighting updates now check CURRENT_TICKLIMIT instead of ITL. ITL has been removed due to it no longer being used.
SSlighting will no longer double-process lighting datums that have already been processed by instant lighting.
Instant/Intelligent lighting updates can now be disabled via. compile-time define.
Sunlight should no longer shine indoors.
Directional lighting now properly updates on direction changes again.
/datum/light_source/novis has been renamed to /datum/light_source/sunlight.
More lighting microoptimizations.
Converted two storage lists to be lazy.