changes:
Converted all clothing types to Initialize.
Added some missing destroys to some custom items.
Char setup now forcibly initializes the mannequin's contents if SSatoms has not finished yet.
/obj/item/clothing/under no longer does in icon_states() in New().
This pr adds the second essential part of the merchant's implementation, mapping the merchant's shuttle, base and the dock. And more merchant related fixes and tweaks.
-changes how gloves leaving fingerprints works, now there is a chance if they can leave or not, ported from polaris, fixing #3120
-allows for glasses with the flag AIRTIGHT to protect your eyes from phoron, such as science glasses, ported from polaris, mesons and etc
-adds evening gloves, cloth footwraps, toeless working boots and etc at people's requests, ported from several other codebases
-removes the last red security piece we had in the code, the red dot of the sec belt
-adds a icon for badges on the belt
-allows you to flip eye patches to cover different eyes
👎 x 2
changes:
No-occlude lights such as those used by Sunlight are now always queued, eliminating a chance for them to be processed by the instant lighting system (causing lag).
changes:
/datum/wires no longer has an (init) proc.
SMES wires now use timers instead of spawn.
Cleanables' random_icon_states list is now lazy. (eliminates ~4000 lists from dirt)
/obj/effect can no longer be pushed around by conveyor belts.
Lighting overlays are now explicitly prevented from being moved by conveyor belts.
changes:
Converts guns to initialize.
Converts lift control panels to initialize.
Swaps out a spawn in droppods for addtimer.
Fixes a bug where already-opened pod doors would still attempt to prime if hit.
Machinery objects' component_parts list is now automatically populated with the types in the component_types list. Types can have an associated number which is interpreted as an instruction to spawn that number of that type. This eliminates a few Initialize() procs, and simplifies others.
Example:
component_types = list(
/obj/foo/bar,
/obj/baz = 2
)
Other changes:
Cable coils will now no longer force a stack size of 30 when created without their stack size passed as a parameter - this fixes anonymous types not working correctly with cable coils.
A collection of misc. micro-optimizations to the various human update-icons procs.
changes to human update icons:
Removed some unused human layers.
Merged the l_ear and r_ear layers into one layer.
Minor optimizations to update_ears (optimized for only one ear in use)
update_collar() no longer creates an icon each time it runs just to check icon_states.
update_collar() now uses a cached assoc list of icon_states for comparison instead of in IconStates().
Human body types are now cached on first access so the proc doesn't need to be called all the time.
Contained icons now involve less temporary strings.
Manual tail swish now uses client-time timers instead of server-time timers.
Adds a limit to items in the mining vendor. Most items have 10, some items have more/less, all items that come from the shuttle have infinite stock along with some other items like point transfers. And the floodlight comes on the shuttle now.
Makes /proc/gotwallitem use typecaches & a compile-time checked list of types instead of a list of strings. Probably faster, not that it really matters here.
-fixes #3226
-fixes zipties boxes
-fixes the mounted pulse module using the wrong gun
-fixes ballistic guns icons showing as empty when the round starts
-tweaks the uplink vest to include the matching helmet
Fixes hatches & maint overlays not properly being cleared during the door open animation.
Thanks go to TheGreatJorge for figuring out why this was happening.
-fixes being unable to slit people's throat
-fixes the sprite of make's custom item being wrong
-fixes the infestation event using the incinerator area, something that don't seems to exist anymore, it is replaced with the waste disposal now
Bunch of fixes and balance tweaks to the devour system. Notable changes are that xenomorphs can eat people again and that human-types no longer take ridiculous amounts of damage from devour.
changes:
Devour type checks now actually operate on species for human-types and are all-around hopefully more sane.
Replaced an obsolete define with a boolean.
Fixed xenomorphs being unable to swallow human-types.
Rebalanced digestion damage to not kill human-types in one tick.
Digestion now deals fire+brute instead of cloneloss (bite still deals cloneloss as I didn't touch its damage function)
Misc code tweaks.
Adds a shared cooldown to Mice squeaking, soft squeaking, and squealing. no more will we have to endure squeak spam
Tweaks mouse-traps to do 8-14 halloss damage instead of brute. They still do brute, but only 1-3. this'll make giant mouse-trap piles in maint less of a meme.
-fixes #3218
-fixes #3213
Fixes a messed up table at telescience
Fixes a wrong cable at engineering
Fixes a broken uplink item
Fixes a wrong named camera
Changes the location of the heister and merc shuttles in the under station z level to be near the engine pipe area
changes:
Lifts no longer automatically generate lights if they're set to not clear the shaft.
Mapped in lifts now have mapped in small lights, only in the lift cabin.
Port of the merchant mechanics from baystation12.
All of the trader, prices and most essential system are done, as well the job datum and the like. Mapping the shuttle, the base and a new dock will be done in a later pr.
Also adds phazon construction and several other items used in this pr.
The chance of the merchant slow being open at round start can be changed via the config, it is 20% by default.
changes:
Fixed an issue where the segment count argument of orbit() was ignored, leading to the Tesla not animating as it was intended to.
Fixed an issue where /datum/event had two completely unrelated definitions (fixes#3192).
Facing an opaque object with a directional light source will now temporarily change the light to LIGHT_OMNI and halve the range instead of slightly tweaking where the light cone is drawn.
changes:
/obj/effect/list_container/mobl has been replaced with /datum/mobl.
/obj/effect/stop has been removed as it is unused.
/obj/effect/shut_controller has been removed as it is unused.
Uristrunes now cache in SSicon_cache.
-removes the need for word research
-allows nullrods to shatter pylons on hit, to disable forcewalls, close gateways, and turn cult swords in less powerful claymores
-allows ghosts to flicks lights if the round is spooky enough
-renames some cult items
-converts ritual.dm and rune.dm into proper pathing and remove some in world from it
-adds a machine that allows people around it to see ghosts, with some side effects
-manifested ghosts don't count for nar'sie summoning anymore
-manifested ghosts do not use the dummy type anymore, they are their own species with a similar behavior
-visible ghosts can now whisper to people and move small objects around
-fixes #3145