* a very calming act
when the world is too much, too fast
* i'm tired
but i have to be efficient, infinite
* lick your lips at the sight of me
a fantasy made reality
This just adds some vars that the refactor will use. Putting this in a separate PR prevent the damage refactor PR from becoming too big (number of files changed) and hard to read and review.
Introduces the resistance_flags bitflag that replaces unacidable and burn_state.
Moves the armor var from item to /obj level and gives specific armor values to many objects, the armor list also gets two new armor types: fire and acid, which will be used in the refactor. the new fire and acid armor values are given to plenty of items.
Adds a large ash and large molten item decal (for future use)
simplifies decal/cleanable/replace_decal() code a bit.
Changes construction() proc to on_construction() for consistency, same for deconstruction().
Made a deconstruct() proc for machinery and computer (also for future use).
1+5 seconds was super lame.
The delays had code related reasons, call time at the least shouldn't ever be below 10 seconds without editing the animation for the hyperspace ripples.
The ignition time is designed to make reserving transit space easier, and if it is ever full, ignition time rate limits how often it attempts to reserve transit space.
There isn't actually enough transit space for all of our shuttles (because their doesn't need to be 99% of the time) but with a call time only 1 second, the syndicates, the miners, security/gulag, people using the white ship, and admins could all spam call their related shuttles and then now you have a case where 1 or 2 shuttles are calling the proc to check for transit space every minute. add on the escape shuttle docking and cargo shuttle docking at that moment, and that number could jump to 4 shuttles trying to reserve transit space every minute, all needlessly.
Also, https://tgstation13.org/phpBB/viewtopic.php?f=10&t=7286&view=unread#p195824 points out that having ignition time too long causes issues. I'd want there to be enough time that when we make ignition more apparent, there is actually time react.
* Shuttle SS keeps track of hostile environments
Instead of changing SSshuttle.emergencyNoEscape manually, datums now
register and clear themselves with the SS, and a hostile environment is
if any datums are registered.
Note that it's datums that can be registered, as rev and blob gamemodes
register themselves.
Overhauling this means that you can have multiple sources of no-recall,
which although can't happen at present, may do so in the future whenever
multi-antag rounds happen.
🆑 coiax
tweak: The AI doomsday device timer is more accurate.
fix: Fixes a bug where the doomsday device would take twice as long as
it should.
/🆑
AI doomsday timer uses world.time, uses fastprocess to make sure the
announcements go out on time, added observer countdown for
the AI doomsday device.
* Fixes bugs
🆑 coiax
fix: Damage to a shuttle while it is moving will now correctly make
transit space turfs, rather than non-moving space.
/🆑
This also makes explosions on lavaland more sane. The mining shuttle
exploded while on lavaland will make ordinary rock, while the gulag
shuttle will expose lava.
🆑 coiax
rscdel: The default shuttle transit time is now
15 seconds.
/🆑
- Fixes shuttle movement spam to spam stun
- Guarantees that all shuttles produce the full
ten second ripple effect before appearing
🆑 coiax
tweak: Gang domination now uses real time rather than game time, making
that 900 seconds an ACTUAL 900 seconds, like shuttle timers.
/🆑
I am currently unable to test this, if someone could that would be
great.
- Removes from Sin of Greed slot machine (also cleans up the visible
message to make a difference between viewer and user)
- Removes from ferry request cooldown
- Removes from knock opening doors and closets
🆑 coiax
rscadd: Due to budget cuts, the shuttle's hyperspace engines now create
a visual distortion at their destination, a few secons before arrival.
Crewmembers are encouraged to use these "ripples" as an indication of
where not to stand.
/🆑
- Adds a new layer RIPPLE_LAYER, above vines, below ghosts
- Ripples appear at 10 seconds (the engines online time) and fade in
from fully transparent to fully visible during that time.