Ported the clickcatcher from tg/bay. You can now click black spots to turn. Isn't that handy, especially with vision cones.
Reworked fullscreen overlays into an easier and better system, courtesy of PsiOmegaDelta.
Similiarly, added fadeout animations to all pain overlays, plus unconsciousness.
Fixed the vampire frenzy overlay never showing.
Unconsciousness is now FULL darkness.
Flashing mobs is now an inbuilt proc.
Reconnecting as a borg will now display you with the correct module on your HUD.
Being reset by an admin as a borg will now show you the right 'nomod' module on your HUD.
Scientific grippers can now grip enough stuff to be able to build mechs.
Science borgs now get cable coils, an experimental welding tool, and wirecutters.
Science borgs now get a fancy new module sprite, sprited by myself, with love.
Tweaked a hell of a lot of silicon code to make synthetics better.
Synths with scrambled codes that prevent them from being on robotics computers will now appear on Merc camera networks.
Both variants of the engineering borg can now deploy the malf borging machine.
Medical borgs no longer get polyacid sprays, instead getting Wulumunusha CMO Hyposprays, which cause muteness.
You must now be on help intent to use items like crowbars and screwdrivers on borgs. Otherwise you hit them with it.
Ports (and adjusts) Baystation12/Baystation12#12521 et al. Essentially brings our visualnet code up to the standard of three years ago, rather than five.
Side effects of merging may include but are not limited to loss of AI vision, helmet camera failure, garbage collection implosion, infinite turf loops, and unintended layer shenanigans.
High-level changes:
Overall, visualnet/chunk procs have been renamed and refactored to be clear as to their function.
Fix some layering issues related to magic numbers, these have been set to constants.
Visualnets now track source movement rather than overriding individual mob/obj procs.
Adds obfuscation underlay to complicate memory fudging to remove camera static.
Cameras now only add themselves to the cameranet if they're on open (non-restricted) networks.
Helmet cameras now use cameras themselves rather than network defines.
Adds a sorted object list insertion helper.
The Camera MIU (presently unused) should now function properly.
Unused cultnet / cult mask deleted because refactoring that would likely kill the few brain cells I have left
This PR will lead us towards the Promised Day, for in its wake there shall be much celebration and ecstasy as this world becomes a world suitable for developer hegemony. The first strike is thusly;
All << is converted into to_chat().
This PR is a package of fixes for a few cooking issues, and also (largely unrelated but its been annoying me for weeks) more fixing on the Flash issue.
Fixes the cooking sound not being set on cookers
Very thoroughly re-examines all interactions with cooking machines and their verbs, adds safety checks, alters contexts as intended. This gets rid of all the problems with mouse/ghost/AI fuckery.
Note that AIs can toggle the oven door and the power on cooking machines, this is by design.
Animals can remove food from exposed cooking containers, this is also by design.
Sets cooking containers to NOREACT, to prevent some issues with recipes being unmakeable because ingredients would become dough.
Tweaks oven heat loss a little more
Adjusts the mix flag on several potentially problematic recipes to prevent certain undesireable things ending up in finished products (like flour and eggs causing a lump of dough to be ejected from a finished cake)
Alters quite a few recipes which used a whole egg as an ingredient, to use egg yolk instead. Partly becase it makes more sense in context, and partly because cooking containers don't support adding whole eggs. There are now no fryer/oven recipes that need an intact egg.
Scales up plain bread to be a little closer to the other specialised breads in terms of reagent quantity.
Removes a redundant spellburger recipe because item checks use istype
And the flash issue:
For those who missed it, several months ago we had an issue with an object named "flash" appearing in the rightclick menu anywhere, for anyone with admin/dev powers. It was constantly annoying. After enduring the mysterious thing for months i found the cause, it's a hud element. Setting mouse opacity fixed it.
Anyways my fix wasn't comprehensive enough. Several other huds for non human mobs duplicate this thing. So ive set mouse opacity on them too
Mainly because of human monkeys, which should get their hud because they are monkeys not because they are small (otherwise, those poor Resomi). And also because not all small mobs should have the monkey HUD.
Fixes#11583.
HUD positions are now relative the client view screen edges instead of absolute.
We don't currently use custom client view ranges, but this potentially makes it more reasonable to implement (an example is a new short sighted species of ours).
Port of https://github.com/d3athrow/vgstation13/pull/5984.
Updates Bump() code.
Intents now use constants.
Simple animals can now use languages without overriding say().
There is now a difference between being able to smash normal and reinforced walls.
Reworks simple_animal/attackby so that constructs don't need to override it simply to add damage resistance.
Rewrites gun.dm. Reorganizes the firing procedure into logical procs and cleans up some unnecessary variables or demotes them to the subtypes that actually care. Energy weapons that create their own projectiles no longer care about in_chamber. Launcher support is much more natural now.
Cleans up duplicated cyborg energy weapon power supply code. Adds support for energy weapons to recharge from external power sources, unifying cyborg and hardsuit mounted weapons. Incorporates the cyborg taser recharging mechanism. Cleans up laser tag gun duplication
Changes path strings to actual paths. Changes relative paths to absolute paths.
Renamed several targeting vars to make their purposes more clear.
Fixed targeting not handling firing correctly for certain subtypes.
This should have little/no gameplay effect right now, just paving the
way for directional lights.
Replaced handle_rotation() on buckly things with this.
Signed-off-by: Mloc-Argent <colmohici@gmail.com>