The Shadowling ability "Extend Shuttle" now prevents the shuttle from
being recalled.
- The announcement when the ability is successful now also informs the
crew of this inability to recall.
Additionally, attempts to recall a shuttle which cannot be recalled due
to the canRecall var will no longer be logged since they don't succeed.
- Lighting process now yields at 10% of a tick and defers at 80% of a
tick
- There is no longer a limit to how many sources/corners/overlays will
update in a single work run
- Source/corner/overlay totals are now simple counts instead of lists
- Lighting update stats now show updates over each of the previous 5
seconds
- Space turfs now remove their starlight when changing to a different
turf, fixing a runtime
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
tgstation/tgstation#22184
- Hijacking the shuttle will make it dock to a new dock on the
syndicate outpost.
- Fixed shuttle_master not calling mobile/dockRoundstart().
- Only Traitors, Changelings, Vampires, Nuclear Operatives, and
Syndicate Deathsquads can now hijack the shuttle.
Includes a refactor for gun turrets (merged into portable turrets), hostile simple_animal behaviour, spells (sounds have been added) and poi_list items.
"wait_message" is now guaranteed to be unset provided that the timer
controller doesn't go down, and it'll be reset anyways by the `spawn` if
nothing runtimes in there
Adds catch modifier support, track wild captures
Adds support for capture modifiers:
- These modifiers adjust the "effective run chance" of the mob,
potentially making it easier or harder to capture a mob based on the
total modifier
- Attempting to capture a mob in melee (running up and smacking it with
pda in hand) now grants a 20% capture bonus (reduces mob's effective run
chance by 20)
- Attempting to capture a mob at range (throwing the pda) does not grant
a bonus
- Support is in place for a client-based catch modifiers, to allow for
possible things such as bonuses or penalties from things like "item
cards" or achieving X number of captures. This is not currently planned
for this PR
Adds tracking of how many wild mobs you have captured to the game UI.
Mobs from trading cards will not increase this value, only mob you
captured from the wild will.
- Bragging rights for now, but could be used for a future "milestone"
system to earn bonuses
More cleanup and fixes
Thrown PDAs now properly trigger capture attempts
Mobs now properly consider their type preferences for spawning (may need
to up whitelist bonus weight)
Mobs no longer will spawn in holodeck areas, since this results in them
sometimes spawning on z2 in the holodeck source "templates"
show_message replaced with audible_message
Spawn area selection cleanup
Mobs will no longer attempt to spawn in the derelict solars,
constructionsite solars, or the unused /area/construction subtypes (the
base type is used, just not the subtypes as far as I can tell)
- Mobs will also avoid spawning on turfs that are not on the station
z-level, in the event an area is mistakenly mapped onto additional
z-levels or something