Matter Eater now has a very simple counter: cover their mouth!
Helmets and masks which cover the mouth (HEADCOVERSMOUTH and
MASKCOVERSMOUTH flags respectively) now prevent the usage of the matter
eater power.
- Masks which are pushed down won't block usage since they don't cover
the mouth while adjusted.
🆑
tweak: Matter Eater now requires your mouth be uncovered before you can
eat matter.
/🆑
I forgot to include this in the PR I wrote that added the 6 new UI
blocks. Woops!
Anyway, this fixes the GEMK injector.
This also fixes a bug where injecting yourself with a UI that affects
eye colour (i.e. GEMK) wouldn't actually change your eye colour unless
you injected yourself twice (to proc UpdateAppearance a second time,
when really all you needed was update_eyes to be called).
Ports Goon Lighting from /vg/station.
Summary -
This adds smooth edges to all lighting in order to increase the
aesthetic appeal of the lighting system.
It works by using a matrix to change the appearance of the lighting
overlay sprite, which has been changed to be a base for the matrix to
modify.
Ported from /vg/station with the help of @PJB3005. This lighting
system is a hybrid between Mloc's lighting rewrite and Tobba's
Goonlights.
Notable changes:
- Darksight now matters on mobs. The lighting overlays are not
alpha=255 when they are completely dark, meaning you can still see the
floor- assuming you can view the turf at all, because it retains the
luminousity setting.
- This means Tajaran have 100% night vision again as they are
intended to. Humans can see in a 3x3 square centered around
themselves.
- No, I'm not changing this, if it's even possible. This is how
BYOND's lighting is meant to work. If you have any complaints about
game balance, please feel free to make a pull request to change
see_in_dark values, which will be seperately evaluated.
- The lighting controller now runs at world.tick_lag, to emulate the
realtime function of StonedMC. So far with my testing, this hasn't
caused any noticable performance decreases- the lighting system is
obviously more expensive than our previous iteration, however, it's not
the next ZAS ;)
Technical Details:
- /atom/movable/lighting_overlay/proc/get_clamped_lum has been removed,
succeeded by /turf/proc/get_lumcount. They behave identically.
- Turf lighting is actually controlled by four "corner" datums, which
feed information into the overlay.
- The way opacity is factored into the system has changed. Anything
that doesn't use set_opacity is not going to work to block light.
- /area/lighting_use_dynamic has been renamed to
/area/dynamic_lighting, for consistency with /turf/dynamic_lighting.
- Lighting is no longer seperately initialized for away missions. It is
handled in ChangeTurf() as it should be.
Known & Unfixable issues:
- There is a 5-10 second delay from starting the round to the lights
turning on. Attribute it to "the powernet being spun up" if you would
like to- but it's actually just how long it takes the lighting system
to update every single turf on the map.
- When you walk with a light on you, the light will actually jump ahead
of you before you visually get to the tile. This is because of the
movement gliding on mobs, realtime lighting actually goes faster than
the glide takes to complete, so it appears that your lights are moving
faster than you.
Thank you krausy~
Animated Goonlights
This adds an animate() call to the update_overlays() proc. This makes it
so that any light changes will smoothly transition between the changes
instead of instantly changing their appearance.
Also fixes a few issues pointed out on Github.
Change lighting animation (turns out the old one totally breaks if you toggle a light quickly, whoopsies)
Kill LIGHTING_INSTANT_UPDATES
isturf
Allows eyes to track eye-dependent disabilities when removed from the mob.
Farwas and Wolpins are now incurably colourblind (non-genetics based), so going lesser-form and back won't wipe your colourblindness.
Eyes being straight-up deleted (as per how set_species() handles setting up the organs required for the species we're changing to) no longer wipes colourblindness.
Now with more helper procs, less unnecessary commenting, random changes and other cleanliness-related tweaks.
For Vulpkanin and Tajara, it gives them their species-specific
colourblindness but their excellent darksight, too. Otherwise it gives
noir vision.
You can choose this disability at character creation. It is off by
default. You can turn it off via genetics and mutadone.
Fixes Cling Transform&Lesser/Greater form & Darksight bugs
Transforming to an identity will now, with 100% reliability, give you
the exact appearance as that ability bar the body_accessory and the
secondary hair/facial hair colours. Same thing with going from lesser
form to an identity that was not the one you lesser formed with.
Fixes the darksight bug from the last commit, happened 'cause typo.
Woops.
Eye Transplantation Applies Eye-dependent Genes
Transplanting colourblind Vulpkanin/Tajara eyes into a Human gives the Human
the dark_view and unique colourblindness of said Vulpkanin eyes.
Removing colourblind eyes will take the disability with it, meaning the
person will have colour vision/low darksight.
`reset_perspective` from tgstation.
Also adds various support for remote viewing lenses - like cameras not
transmitting xray vision, among other things
Recommit because we're using different compiler versions
This commit changes how NanoUI's live data updating system works.
Previously, data for the template was directly gathered in the
ui_interact proc. Now, it is seperated into the proc `ui_data`.
To players, this does absolutely nothing.
To coders, this opens up the potential for a much more complicated and
fancy graphical updating system in the future, because the data is
available on-demand without ever having to call
nanomanager.try_update_ui.
Characters will now be correctly assigned their species' genetic quirks at spawn.
Cloning will now correctly assign a characters species' genetic quirks.
Changing a character's species (via C.M.A. or whatever might call the set_species proc) will now correctly assign their species' genetic quirks.
Markings will now load correctly from UI and skin tone changes will now
be immediately shown.
Fixes a bug where changing identities to a Vulpkanin with all the
markings as a changeling wouldn't load the markings, and another where
it'd take a body icon update to show the change of skin tone if you were
to change identity to a human.
This is also a likely fix to a bug where, upon changing identities, a
changeling's head would be invisible... Spooky!