In this PR:
Destroy() fixes backported from PR #1783.
JaniPDA fixes & improvements.
Chickens no longer consume their own eggs.
Language adding in setup is now 100% more sane.
Chemical dispensers now actually check that the user is still alive before renaming.
Ghosts are now marked as non-simulated atoms.
Non-simulated atoms no longer trigger proximity listeners.
Vendors no longer accept synthetic tools as stocking options.
Fixes#812.
Fixes#1877, Fixes#1929.
Fixes#1930.
Fixes#1152, Fixes#1917.
Fixes#1902.
Fixes#1165.
changes:
Removed shim for old spark system.
Converted all calls to old spark system with calls to new one.
Processor-based effects are no longer pooled, as it had minimal performance impact and was breaking things.
Tweaked some visible_messages for rogue drones.
PB effects' handling of location is now done at the /datum/effect_system level.
Ports the newest bay wizard version, with some additions and changes.
General changes:
-ported the newest bay wizard
-wizards can select some school of magic, which also changes their spell selection as whole.
-added several new spells, like raise dead, contracts that bind the person with the wizard, and more.
-added wands, limited sources of certain types of effects/spell, also with their own bad effects for non wizards
-changed the wizard checks to a faction check instead of a mind check
-fixed wizards without certain slots due to race being fucked over due to it
-added new artifacts
-balanced some spells like the emp
-added a lot of new sounds to spell, mostly from tg
-remove horse mask from spell selection, also, you can melt the mask with acid now
-wizard's spell are now displayed at round end like traitors and what they did buy
-also fixes vaurca, and vox, antags spawning without a mask by default
All files deleted and disabled were either:
Not touched for 2+ years
Replaced with native DM functions (JSON specifically)
Generally replaced with newer iterations
This is it. The big one.
Risk: Very large. This modifies or rewrites several important systems.
Some things still need balancing, but that's probably better done if/when this hits dev.
changes:
New smooth lighting system.
Machinery split into three processes: machinery, powernet, pipenet Removed due to breakage. Refactored into multi-step process.
Mob process rewritten.
NanoUI process rewritten.
Objects process rewritten.
Tweaked color output of station lights.
Slime core lights now emit colored light.
Fixed light update frequency issue with fire alarms, hydroponics trays, and airlocks.
Increased light emission from bolted airlocks.
Miscellaneous performance improvements.
New datum pool implementation.
New lighting usage profiler.
Lighting system now tracks UV light, which is not visible to players.
Space now has a parallax effect.
Disabled Spin View verbs due to incompatibility with the new lighting system.
Disabled hallucination view spin due to incompatibility with the new lighting system.
Lighting system now initializes in the lobby before the round starts to reduce BoR deadtime.
Added UV light tracking to lighting engine; dionae now gain energy exclusively from UV light.
Added colored lighting to a few consoles that used default (white) light.
Fixes#1489Fixes#1499
Grippers basically torn up and remade, i went down to the root and incorporated them into cyborg click and inventory code. This should make them resistant against future bugs.
Fixes all current known gripper bugs. Grippers work properly with all the stuff they should. Minor tweaks to borg modules.
In addition, i went and raided VG, TG, paradise and bay repositories, and ported all their best sprites that were suitable for us. VG station was the most lucrative by far, about 70% of the new ones came from there.
FIxing lamarr cage having no click cooldown when being smashed.
Fix other missing cooldown checks in some other places
Fix#1448
Fix spiders egg implantation being borked
Fix#1458
Fix some issues with the bulldog sprites
Fix#1444 by replacing the regular vault with one with random loot, but, loaded with valuable/rare items instead of just junk
The long waited sock update;
Socks are being added as another underwear like option, with some exclusive ones for females. Only humans (and squish) can have them atm.
Also, I am nearly sure this will work.
Baymerge changed the attack proc, i think by removing a default value, and a lot of things broke because they weren't using the function correctly.
This proc does three main things.
Adds a default to /obj/item/proc/attack to target the chest when no target zone is supplied.
Fixes the lack of a target zone in many attack procs, properly defining it so it'll get passed to the parent, and ensure that bodypart-specific targeting works.
Removes most instances of code to retrieve the user's selected zone, and instead to use the zone passed into the attack function. saves duplication of effort.
Adds pointing at things with alt+rightclick uasing some hacky code wizardry, thanks to kaiochao on the byond forums.
Also adds simple spam control to pointing, and changes the point verbs from using View, to Range, which is mildly faster
Also adds the ability to alt+click to eject your ID from PDAs and many computers. Anything to save on laggy rightclicks
Prevents developers, and those with certain other admin perms, from seeing the 'flash' object whenever they rightclick anywhere. This is a constant annoyance
No changelog since it doesn't concern the general playerbase
Added alt-attack function to held items/weapons, triggered by holding alt while clicking. Opens a lot of future possibilities. Works for cyborgs too. Only trays use it right now.
Overhauled trays to be useful and not-broken. See changelog for specifics.
Greatly decreases the number of objects that need to be created (currently 3 event handlers in total vs basically 3 per datum)
The price is a slower lookup of listeners but on a per round basis it should still be much less than the current startup time penalty.
Allows movable atoms to follow other movable atoms, as quickly as BYOND allows. Also supports following atoms inside other atoms.
However, this only works fully when Move() or forceMove() is utilized. Setting loc directly will not raise the moved event.
Send message should work, also updated all the procs to their baystation
equivalent instead of simply using our old code (shoulda done this in
the first place)
Adds back in AI buttons/interface, for easier access to verbs.
Send-Message and Take-Picture verbs for AI appear to be bugged/unusable,
holding off on fixing in case of any bay updates.
Fixes a Stat() runtime that occasionally occur if the client was logged out when the sleep() was done sleeping.
Fixes delays when using alt+Turf click.
Makes the alt+Turf click panel only update when viewed instead. Seems like the better performance fix option in general.
Makes the alt+Turf click panel always use the "Turf" name, consistency.
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.