-
Notifications
You must be signed in to change notification settings - Fork 579
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Flare Rework: Dying Light #7582
Flare Rework: Dying Light #7582
Conversation
Shoutout to Unknown920 and Nanu308 for assistance in troubleshooting and bugfixing!
Why are flares being processed anyhow |
…th ends of their randomness, and set their brightness to a static 7. Gave starshell ash it's own burn out curve. Starts at radius 6 with some variance, and burns down to nothingness.
I created a mess of non-compliant code after discovering broken child objects, and now I have cleaned up the file. Created two procs specifically for flares and starshell ash and reworked process(delta_time) to incorporate them with an early return.
Reworked process(delta_time) to use a singular proc instead of a switch(name) check. Implemented proc overrides in flare child entries instead. Shoutout to ihatethisengine for the advice!
Won't be easy because there are things that interfere, for example acid basically drains fuel from flares. We could also make it so rain/extinguisher/acid spray reduces the fuel. |
Added 1 minute to total fuel time. Changed curve to start burning out from a little quicker, but have flares smolder far longer for more atmosphere.
Moved fuel to the base /obj/ of flare and removed from Initialize()
Flaregun's unique action, firing an invincible flare into the sky, was not working properly nor was what I intend to work towards with flare vs xeno interaction. Gave it a niche of creating a light radius equal to a flares brightest stage for 3 minutes. Made slightly dimmer in power to not step on Mortar Flares toes, and to add atmosphere. Changed lighting subtype from Static to Movable to improve smoothness of the effect.
…into Flare-Rework-Dying-Light
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
much reddit karma from this pr... look at all those updoots
About the pull request
I've always imagined what it'd feel like to play CM with more dynamic flares, and this PR aims to accomplish that. Flares will now behave more like their real life counterparts, starting off strong and slowly fading to darkness. This gives flares around 20% more total staying power, and to compensate, I have increased xenomorph flare damage via acid by 20% across the board.
Flare Burnout: ~45 second burst of 7 tile radius, ~45 seconds of 6 tile radius, ~8.5 minutes of 5 tile(current strength) radius, ~1.5 minutes of 4 tile radius, ~1.5 minutes of 3 tile radius, ~1.5 minutes 2 tile radius,
Initially I forgot starshells even existed, due to how rare it is to see anyone using them! It's a shame, and I've given them some love too. They have a 30 second variance on their initial fuel timer, which simulates the randomness of burning phosphorus. Burns down in a similar fashion to flares.
Starshell burnout: 6 to 6.5 minute initial fuel variance. ~30 seconds 6 tile radius, ~3.5 minutes 5 tile radius, ~30 second 4/3/2 tile radius, and ~1 minute 1 tile light.
Flare mortar shells now have a static radius of 7 and last a tad bit longer. Call them in more often!
Flare gun unique-action creating an indestructible light source for extended period of time isn't what I want in this rework. Instead, they now produce a 3-minute 7 tile radius burst of light at slightly lower luminosity than standard flares.
Explain why it's good for the game
Flare support is a VITAL part of the game, but frankly feels unrewarding with its current state. Having to chuck 4-5 flares to cover an area that you're only passing through feels wrong. This PR makes active flare use in a combat situation MUCH more rewarding in both gamefeel and tactical value, while also enhancing the atmosphere of a slowly darkening marine line. Starshells and flare mortars got some much needed love as well. I've tweaked the timings to what I think both feels good and is balanced. Numbers and timings totally up for change.
Testing Photographs and Procedure
I rigorously tested flare timings, flare gun usage, and xeno acid dousing on local and found no issues.
EDIT: Corrected unintended behavior from CAS flares. Additionally tested and fixed/changed flare mortars and starshells. More testing never hurts!
A showcase of what I want dying light to feel like.
Screenshots & Videos
Put screenshots and videos here with an empty line between the screenshots and the
<details>
tags.Changelog
🆑 MaximusRex
balance: Increased flare duration from a variable 9.5 --> 10.5 minute length to 16 minutes flat.
balance: Flares start out strong (7 radius) and burn down to nothingness.
balance: Increased flare_damage from acid by 20% across the board.
balance: Weak Acid: 150-->180
balance: Medium Acid: 500-->600
balance: Strong Acid: 1875 -->2250 (RIP flare)
balance: Starshell ash fuel variance changed from (4.5 to 6.0) minutes ----> (6.0 to 6.5) minute variance.
balance: Starshell ash starts out semi-bright (6 radius) and burns down to nothingness.
balance: Flare Mortars now have a static 7 tile radius , and variably last from 5 to 6 minutes.
balance: Flare gun unique-action now produces a static 7 tile radius light for 3 minutes. Slightly lower luminosity than normal.
code: Implemented a new proc, flare_burn_down, and incorporated it into process(delta_time).
/:cl: