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.
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:
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.
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.
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
Pretty much fixes hostiles mobs that had a ranged attack being unable to use it if they are controlled by a player, so, we can have human controlled cavern dwellers and combat drones(in case of adminbus).
Also, fixes a broken design that needed mutagen and being able to transfer reagens to species without blood using an iv.
changes:
Converted some list procs to macros (why the fuck was islist() a proc?!)
Removed some old sorting procs and replaced their few remaining calls with sortTim() calls.
Adds hair_wheeler_s to human_face.dmi, and adds a section for "wheeler"
hair in sprite_accessories.dm.
(I tested this and it works.)
The hairstyle is just a modification of "Mulder", adding some more floof, and making the hair itself a bit more grown out, hiding some of the forehead.
Implements mixed secret as a gamemode. It's another snowflake mode which taps into more snowflake functions. :ree:
Went over all references to "secret" and swapped them for a macro where applicable. SSticker.hide_mode now holds a reference to which type of secret was picked. "random" gamemode will now pick from both secret lists for added randomness!
Implementation of https://forums.aurorastation.org/viewtopic.php?f=18&t=8253
Fixes#2832Fixes#2821Fixes#2805
Adds a tint to the bomb suit helmet
Fixes the wizard voidsuit an outdated wizard faction check
Fixes pants don't convering the legs
Fixes hailers showing their messages on the lobby
Reduces the recharge cost of the mounted thermal drill, so, it won't use an entire powercell when you fire it once
changes:
Removed the privacy poll as it is unused.
Observing no longer creates a new mannequin, instead fetching one from SSmobs.
Observer ghosts now have a description again.
Converted new_player.dm to absolute pathing.
Fixed a bad init on holomaps.
Removed a sleep from light fixture Initialize().
Added a queue length stat to the MC panel for Icon Smoothing.
Halved time taken to create lighting overlay objects.
Species & body marking lists are now sorted alphabetically.
Commented out calls to lighting profiler to remove overhead of string interpolation in some procs.
Blood dries instantly if present during mapload instead of setting a timer.
Normalizes some vision flag operations & adds SEE_BLACKNESS to all mobs if the compiler supports it.
Shouldn't break 510 clients even if the server is 511 & using SEE_BLACKNESS.
Should fix some visual glitches with wall-mounted objects being visible when the wall they're on isn't visible.
Removes a bunch of default lists from /obj, /obj/item, and /obj/structure, replacing them with either lazylists or adding behavior to the null value.
Null armor is now considered identical to having armor with 0 armor in each category, null attack_verb results in the text "attacked" being used.
Added more languages for borgs, plus a short explanation on how borg languages work code-wise for future reference
* Swapped the basic and default/classic icons for all modules
Closes#2781
Adds an end game power for changelings (15 genomes points), allowing them to turn into a robust mob for around five minutes.
Fixes some issues with arm blades and shields, also adds a chem costs to using them.
Adds new changeling related sounds.
Removes:
sleep in floorbot/Life() (Fixes#2578)
sleep in medbot/Life()
sleep in farmbot/Life()
a sleep in Diona specific proc chains, which sneaked into human/Life()
a sleep in coldingtons/activate, which sneaked into human/Life()
sleep in bear/misc_command (uncertain if this was ever called in Life(), but hey!)
sleep in corgi/*/Life
This covers all debug references I could find on graylog from the past 30 days.
Refactors:
Removes Nanako-style comments from diona_base.dm which break formatting in VSCode and Github
Swaps diona_base.dm to use to_chat over <<
Experimental tweaks to how parallax's movement hooks work; the current ones appear to be fairly expensive for all movable movement, doing locate(/mob) in src on every forceMove(). This PR creates a new lazylist (contained_mobs) containing a list of every mob directly contained by an object. contained_mobs is updated on mob/forceMove().
Not sure how to handle mobs located deeper than directly inside an object.
Only alternative to this I see is to make SSparallax tick.
changes:
Fixed issues with parallax objects not deleting properly due to hanging refs. (this also seems to fix some mob delete failures, like BSTs)
Fixed issues with hyperzine, inaprovaline, and synaptazine not soft-deleting due to hanging modifier references.
Removed coffee overdoses poisoning Tajara at Mofo's request.
The strong grab feature from the force glove just makes them an insta win in any fight you can reach your target, making any force gloves pretty much bullshit together with the bay grab system. This changes that you can only do the strong grabs with syndicate version of the force gloves
Changed the name of lobotomization to MMI preparation in messages displayed to players.
It still functions the same. This is due to concerns that a lobotomy would not have the described effect, and a medical professional (such as a character performing the surgery) would not call that one.
Currently, a mouse gnawing open a box to get its contents generates about a screen's worth of chatspam. And the same applies to eating a box of raisins or similar large meal. I feel this isn't appropriate for the size of the creature nor the severity of the act. In any case ive come up with a better method.
Main attraction of this PR, is that the box nibbling no longer uses visible messages, it only outputs to chat once, when it finally ruptures. In the meantime, any nibbling which doesn't break the box will instead shake it around and make a nibbling sound. Shaking code stolen from locker resist
Mice nibbling things is a quiet clicking noise, easy to ignore. so its unintrusive
Update: I've now extended this to all animal nibbling, not only boxes, but also on food too. To cut down on chatspam from small animals eating things.
The result of this change is that a creature eating a box or a meal is simultaneously easier than before to notice, if you care about it. And easier to ignore, if you don't care.
Also included, two bugfixes:
Re-adds the reverted console canpass behaviour that was lost a couple patches ago
adds a little robustness fix to animals, to deal with an issue where they were getting their stat set back to 0 without properly waking up. still not sure why it happens but now the icons will properly update when they do
A minor issue that's annoyed me for a long time;
This PR adds ON_BORDER support for attack animations and atom facing, causing you to face and strike in the correct direction when dealing with border objects on the same tile as you. Previously these things would fail and do no animation/facing change
Afaik, border objects really just means single pane windows and windoors right now.
Ladders now have proper open-space shafts. Their sprite has been edited to remove the faux-hole, and also the down sprite is now at the same vertical pixel adjustment as the up sprite, so it looks kinda like they connect.
For security's sake, you can no longer fall down an openspace if there is a ladder on the openspace tile. Strangelly enough there was already code for not falling down if there was a ladder below you.
Added flight to some simple mobs that had been excluded from Alberyk's initial runthrough (parrots, bees, bats, and shades.)
The purpose of this PR is that you can now fly up ladder shafts.
Fixes a bug that gave PAI's all access.
It seems at some point silicons were changed to use an internal ID, and pais were given that same ID which had all access.
Changed it so their internal ID only has basic access and rerouted pai ID functions to it. This restores them to intended functionality, that is: They can only walk in public areas, and wherever their master has access, once the master has scanned their ID
Features:
Removal of BOREALIS (python module) as it's not used.
Removes ToR ban feature in lieu of IPIntel.
New BOREALIS config to alert staff if server starts as hidden.
Adminhelps now inform admins on discord if dibsed (when they were sent to discord anyways).
Adds hub visibility to the server access control panel.
Adds mirror ban spotting via ban panel. It now redirects to the linked ban if one is found.
CCIAA now get alerted as to how many of them are online and active when receiving faxes and emergency messages via Discord.
Removed unused C/C++ libraries. The socket_talk module is a generic UDP shipper, of which Arrow implemented a better version. lib nudge is not even compiled for use. lib_nudge module is uncompiled and no longer used, as we use cURL for the bot.
Removed depracted APIs and config settings related to the previous point.
Whitelisted jobs now appear properly in the job selection window as [WHITELISTED].
Job ban reasons can now be viewed from player preferences window.
Await admin approval for final CCIAA requests and implement. RIP CCIAA.
Fix age bans for jobs and antags (dynamic ones, ofc).
Implement https://forums.aurorastation.org/viewtopic.php?f=18&t=8283
changes:
Machinery now uses machinery_process() instead of process(), allowing machines to be put into SSprocessing-style lists in addition to the machinery list.
Automatic power calculations now involve less proc-calls.
Fixes#2665
Fixes the garden vending machine being the wrong and a missing camera tag
Fixes some body markings having the wrong icon state
Fixes verbs such as select equipment and etc being broken
Removes the belly markings because they were awful
This PR unifies the various manual implementations of custom loadout equip into three procs located inside the job subsystem, as well as updates all custom loadout code to use the new procs.
Fixes custom loadout items not overriding job items in character setup.
IPCs had the var eyes set to default, which caused some really odd and ugly sprite to appear on the side of their monitor, this pr will probably fix this.
Fixes#2622
-adds more clothing for people to play dress up with their spessmen.
-fixes some long description on the ian's shirt
-allows people to toggle night vision glasses and material scanners while wearing them
-tweaks more marking related things