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

Reasonable incendiary ammo & dragon's breath #73069

Merged
merged 5 commits into from
Apr 29, 2024

Conversation

RenechCDDA
Copy link
Member

@RenechCDDA RenechCDDA commented Apr 17, 2024

Summary

Balance "Dragon's breath and incendiary ammo don't outclass literal flamethrowers"

Purpose of change

This is what firing four dragon's breath rounds looks like:
https://github.com/CleverRaven/Cataclysm-DDA/assets/84619419/7ede400b-4992-49f0-a6c0-12b8d15c8062

This is patently absurd.

Describe the solution

ea61648 INCENDIARY-effect rounds (dragon's breath, tracer ammo) is not guaranteed to cause fires. Against creatures the chance is reduced to 1%, against flammable terrain 10%*. IGNITE-effect reduced to 50% chance against creatures, 100% against terrain (previously IGNITE did not interaction with terrain). Also swapped IGNITE's duration for flesh vs flammable materials, since it improperly assigned flesh a higher time to burn.

*Caveat: This doesn't even trigger against most terrain. Pre-existing behavior, not in scope, definitely not changing that fact here. Added some comments to very loudly inform future contributors looking at the code.

d9910b1 Basically a bugfix. Since shotguns fire extra projectiles their ammo effects were getting applied to every projectile... Added an optional boolean (default false) to toggle this behavior back on if desired, but otherwise erase ammo effects for projectiles past the first. (I can imagine that e.g. aftershock may want multi-shot projectiles that each cause an explosion at the target, or whatever.)

f7ca944 Nerf the hell out of fire chance for dragon's breath projectiles. Give them a new effect PYROTECHNIC_DISPLAY which looks about as impressive as their pre-PR firing. But that does not do anything besides look impressive. Dragon's breath still retains a small fire chance along their line of fire, and as INCENDIARY ammo they can set their target alight, given they fulfill the previously mentioned conditions.

Describe alternatives you've considered

I wanted to get it to draw explosion fx along the line of fire but fake fire fields that dissipate after a few seconds is fine too, I guess.

Testing

After tweaking dragon's breath fire chance way down:

2024-04-17.06-13-48.mp4

After adding the fake fire effects:

2024-04-17.06-25-13.mp4

Additional context

@github-actions github-actions bot added <Documentation> Design documents, internal info, guides and help. [JSON] Changes (can be) made in JSON [C++] Changes (can be) made in C++. Previously named `Code` Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. [Markdown] Markdown issues and PRs Items: Ammo / Guns Ammunition for all kinds of weapons and these weapons themselves <Bugfix> This is a fix for a bug (or closes open issue) Game: Balance Balancing of (existing) in-game features. json-styled JSON lint passed, label assigned by github actions astyled astyled PR, label is assigned by github actions labels Apr 17, 2024
@RenechCDDA
Copy link
Member Author

Whoops, forgot to comb the ammo lists after I first opened them, will be pushing a fourth commit for that.

@RenechCDDA
Copy link
Member Author

Some "side effects":

Finger laser, laser pistol, and plasma gun remain only INCENDIARY so it will almost never set targets on fire now. They still do regular on-hit damage.

Flamethrower fuels, mech lasers, and handheld laser rifle got upgraded to doing the extra duration onfire effect on hit, somewhat counteracted by them only having 50% chance now. Their ability to set terrain on fire remains.

Flaming arrows just got a 50% nerf to the chance of setting hit creatures on fire. But now they can actually set terrain on fire, so... win?

Aftershock's energy weapons (ALL of them, without discrimination) got upgraded to IGNITE so they are essentially equivalent to pre-change behavior. (Aftershock maintainers who will be notified, please let me know if 50% chance of setting creatures onfire needs to remain 100% for some reason. The actual damage should more or less balance out and vs-terrain effects remain identical.)

Mind over Matter got the same treatment. I didn't even know they had energy weapons...

...Xedra evolved too.

@github-actions github-actions bot added Mods Issues related to mods or modding Mods: Magiclysm Anything to do with the Magiclysm mod Mods: Aftershock Anything to do with the Aftershock mod Mods: Generic Guns Anything to do with Generic Guns Mods: Xedra Evolved Anything to do with Xedra Evolved Mods: Mind Over Matter labels Apr 17, 2024
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Auto-requesting reviews from non-collaborators: @Standing-Storm

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Apr 17, 2024
@Standing-Storm
Copy link
Contributor

Standing-Storm commented Apr 17, 2024

Edit: missed the vanilla behavior change, never mind! All good.

@John-Candlebury
Copy link
Member

Aftershock looks ok with the ignite flag.

d9910b1 Basically a bugfix. Since shotguns fire extra projectiles their ammo effects were getting applied to every projectile... Added an optional boolean (default false) to toggle this behavior back on if desired, but otherwise erase ammo effects for projectiles past the first. (I can imagine that e.g. aftershock may want multi-shot projectiles that each cause an explosion at the target, or whatever.)

Could you add this behavior to the shotgun guass array gunmod in Aftershock too?

@oosyrag
Copy link
Contributor

oosyrag commented Apr 18, 2024

Is it possible for the fake fire effect to use the same sprite as the small fire instead of the explosion sprite?

@RenechCDDA
Copy link
Member Author

AFAIK It's based on intensity. I had set the fake fire effect to be intensity 2-3 (fire and raging fire, respectively) for the demonstration but it's 1-3 in the actual commit. It's JSON stuff

@RenechCDDA
Copy link
Member Author

RenechCDDA commented Apr 18, 2024

Could you add this behavior to the shotgun guass array gunmod in Aftershock too?

I had to add a bit more code to support it on a gun/gunmod level, but done. It's separated out into its own commit so you can easily look it over.

@github-actions github-actions bot removed the BasicBuildPassed This PR builds correctly, label assigned by github actions label Apr 18, 2024
@John-Candlebury
Copy link
Member

Looks good to me. Thanks Renech.

@tenmillimaster
Copy link
Member

Hey this is cool!

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Apr 23, 2024
@Toybasher
Copy link

Toybasher commented Apr 25, 2024

Is there any concern if the disabling multi-hit effects could effect the 20x66mm frag rounds? I haven't ever used them so I don't know if it's exploding buckshot or a single slug. Although we can already toggle the multi-hit effects thing as part of the PR.

@RenechCDDA
Copy link
Member Author

Is there any concern if the disabling multi-hit effects could effect the 20x66mm frag rounds? I haven't ever used them so I don't know if it's exploding buckshot or a single slug. Although we can already toggle the multi-hit effects thing as part of the PR.

They don't fire multiple projectiles, this PR should not affect them in any way.

@Maleclypse Maleclypse merged commit f9b9163 into CleverRaven:master Apr 29, 2024
21 of 27 checks passed
@RenechCDDA RenechCDDA deleted the Fire_ammo branch April 30, 2024 03:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions <Bugfix> This is a fix for a bug (or closes open issue) [C++] Changes (can be) made in C++. Previously named `Code` <Documentation> Design documents, internal info, guides and help. Fields / Furniture / Terrain / Traps Objects that are part of the map or its features. Game: Balance Balancing of (existing) in-game features. Items: Ammo / Guns Ammunition for all kinds of weapons and these weapons themselves [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions [Markdown] Markdown issues and PRs Mods: Aftershock Anything to do with the Aftershock mod Mods: Generic Guns Anything to do with Generic Guns Mods: Magiclysm Anything to do with the Magiclysm mod Mods: Mind Over Matter Mods: Xedra Evolved Anything to do with Xedra Evolved Mods Issues related to mods or modding
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Dragonsbreath rounds are ridiculous.
7 participants