Skip to content
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

Merged
merged 10 commits into from
Nov 22, 2024

Conversation

MaximusRexCM
Copy link
Contributor

@MaximusRexCM MaximusRexCM commented Nov 13, 2024

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.

7

6

5

4

3

2

1

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:

@cmss13-ci cmss13-ci bot added Balance You need to be a professional veteran game maintainer to comprehend what is being done here. Code Improvement Make the code longer labels Nov 13, 2024
Shoutout to Unknown920 and Nanu308 for assistance in troubleshooting and bugfixing!
@Git-Nivrak
Copy link
Contributor

Why are flares being processed anyhow
Maybe while at it look into making them work with timers instead

MaximusRex added 3 commits November 13, 2024 20:43
…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!
@ihatethisengine
Copy link
Contributor

Why are flares being processed anyhow Maybe while at it look into making them work with timers instead

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.

@Nanu308 Nanu308 added Testmerge Candidate we'll test this while you're asleep and the server has 10 players Needs Testing Need to test it on the guinea pigs (production server) labels Nov 17, 2024
cm13-github added a commit that referenced this pull request Nov 17, 2024
@thevandie thevandie mentioned this pull request Nov 17, 2024
3 tasks
cm13-github added a commit that referenced this pull request Nov 18, 2024
cm13-github added a commit that referenced this pull request Nov 18, 2024
@harryob harryob marked this pull request as draft November 18, 2024 08:07
MaximusRex and others added 3 commits November 18, 2024 13:15
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()
@MaximusRexCM MaximusRexCM marked this pull request as ready for review November 18, 2024 18:45
@private-tristan
Copy link
Contributor

Here's a graph comparing Dying Light flares to current flares.
image

cm13-github added a commit that referenced this pull request Nov 18, 2024
cm13-github added a commit that referenced this pull request Nov 18, 2024
cm13-github added a commit that referenced this pull request Nov 18, 2024
cm13-github added a commit that referenced this pull request Nov 19, 2024
MaximusRex added 2 commits November 18, 2024 22:20
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.
cm13-github added a commit that referenced this pull request Nov 19, 2024
cm13-github added a commit that referenced this pull request Nov 20, 2024
cm13-github added a commit that referenced this pull request Nov 20, 2024
cm13-github added a commit that referenced this pull request Nov 20, 2024
cm13-github added a commit that referenced this pull request Nov 20, 2024
cm13-github added a commit that referenced this pull request Nov 20, 2024
cm13-github added a commit that referenced this pull request Nov 21, 2024
Copy link
Member

@harryob harryob left a 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

cm13-github added a commit that referenced this pull request Nov 21, 2024
@harryob harryob added Balance Approved This PR has had its balance and gameplay-affecting aspects approved. Cry to the Head-maint about it. and removed Needs Testing Need to test it on the guinea pigs (production server) labels Nov 22, 2024
@harryob harryob added this pull request to the merge queue Nov 22, 2024
Merged via the queue into cmss13-devs:master with commit d7308e7 Nov 22, 2024
28 checks passed
cmss13-ci bot added a commit that referenced this pull request Nov 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Approved This PR has had its balance and gameplay-affecting aspects approved. Cry to the Head-maint about it. Balance You need to be a professional veteran game maintainer to comprehend what is being done here. Code Improvement Make the code longer Testmerge Candidate we'll test this while you're asleep and the server has 10 players
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants