-
Notifications
You must be signed in to change notification settings - Fork 277
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
feat(balance): HEAVY_WEAPON_SUPPORT
flag for large mutation and power armors
#3691
Conversation
If I recall Coolthulhu's argument against was that this makes Huge mutation and mutations that prevent you from wearing PA even more undesirable as they offer little to no unique advantages that make the mutation line worth it. |
Fair, it ends up making both options overlap a bit. The bonuses do combine, so if there was a form of power armor that was compatible with Huge characters, then the best bonus would entail combining Huge with active power armor, encouraging you to stack up both. An alternative would be to make it so active power armor only ever equals the effects of having Large, with Huge still outclassing either option and Large+PA not combining their effects. This would make power armor compete with Large mutation but still be worth upgrading into Huge, which might be more reasonable since that's the point where you can no longer wear power armor. |
You are huge! That means you have huge guts!
Went with the "Huge is an upgrade over power armor" option for now. |
Per feedback this permits treating the 25mm Bushmaster and makeshift version like heavy weapon such as the M2 or Mk. 19, allowing you to reload it and just use it on foot without exploiting code jank. Will also pair well with cataclysmbnteam/Cataclysm-BN#3691 for power armor lovers in BN version but not dependant on it.
1. Renamed flag per Coolthulhu's suggestion. 2. Also removed some test messages I left in by mistake.
data/json/flags.json
Outdated
@@ -1573,7 +1573,7 @@ | |||
"id": "MOUNTED_GUN", | |||
"type": "json_flag", | |||
"context": [ ], | |||
"info": "This weapon is <bad>too unwieldy</bad> to fire on its own and <info>must be mounted</info> on a vehicle or furniture (window, table, mound of dirt, etc.) before use, <info>Large or Huge</info> mutants can fire from the hip with <bad>reduced accuracy.</bad>" | |||
"info": "This weapon <info>must be mounted</info> on a vehicle or furniture (window, table, mound of dirt, etc.) to fire, <info>Large or Huge</info> mutants or those with active <info>Power Armor</info> can fire from the hip with <bad>reduced accuracy.</bad>" |
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.
The "must be mounted" should be rephrased as <bad>
.
Maybe something like "this weapon <bad>can only be fired if mounted</bad> [insert text]. Sufficiently <info>hueg</info> or PA'd shooters can <info>fire from hip</info> <bad>at reduced accuracy</bad>
.
The idea is that the player should see at a first glance why is it bad: most of the time it's bad because you need to mount it, but in some cases, it's bad because you can only fire it at reduced accuracy or when mounted.
data/json/flags.json
Outdated
"id": "HEAVY_WEAPON_SUPPORT", | ||
"type": "json_flag", | ||
"context": [ ], | ||
"info": "This equipment allows you to fire unwieldy weapons without requiring support from mountable terrain, as a <info>Large or Huge</info> mutant could, at the expense of <bad>reduced accuracy.</bad>" |
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.
A <good>
would be helpful. Negating the <bad>
from mountable weapons is worth a greentext.
As for balancing: I'd buff the effect from HUGE. It wrecks slots on everything. At the same time, LARGE doesn't need a big buff. You can even wear PA with it. And PA doesn't need a buff either. Penalizing dispersion doesn't sound like "the right thing". Miss rolls have a cap, but there's always the stray bullet hit chance, so there's a lowcap of hit chance that depends only on distance. I'm considering flat penalty to dispersion. It would mostly affect sniping at very low dispersion where the multiplier no longer does its job. Not sure if it's needed, though. |
Converting power armor to rely on percentage damage reduction would be neat, and possibly a buff that could be shifted to its active state (which can be justified by using flavor from the RM13 that also gains an armor boost when active) in exchange for cutting the base material thickness by however much we feel like. That could be good for a follow-up PR. Easily doable using relic data stuff, though one drawback is I have zero idea how to communicate it to the player since it won't show up on the armor screen. |
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.
changes look OK, logic could be structured better but the original code were very hard to edit in first place. however, it'd be great to rename the function for future contributors.
Co-Authored-By: scarf <[email protected]>
Yeah, been wanting to look at PA, I think the high encumbrance versions making you more or less invincible to most enemies is fine, but light and normal shouldn't stack up so high against rifles and small arms to negate them. I feel like there's an issue with encumbrance not really mattering if you can block all the damage, but it feels like we'd need to redesign the combat to deal with that. (inb4 suffocation) |
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.
huge.mp4
large.mp4
large-pa.mp4
just-pa.mp4
LGTM
HEAVY_WEAPON_SUPPORT
flag for large mutation and power armors
70662ff
Purpose of change
This was a side idea floated during discussion of #1496 that I decided to set aside for another time, since Coolthulhu mentioned in the BN discord if I recall that he wasn't 100% sure about giving this benefit to power armor or not. I figure it's worth making the case that, given it does take a fair bit of effort to get power armor up and running, combined with the idea that it fits thematically (the classic Fallout imagery of a power armored soldier hefting a minigun), it might be reasonable to enable this for active power armor.
In short, implements an item flag that enables access to the ability to use heavy weapons without supporting terrain, and applies it to some appropriate items.
Describe the solution
C++ changes:
HEAVY_WEAPON_SUPPORT
flag to flag.cpp and flag.h.ranged::gunmode_checks_weapon
so that wearing an item with theHEAVY_WEAPON_SUPPORT
flag enables you to fire heavy weapons without needing mountable terrain.can_use_bipod
is able to check if the shooter is riding a mech that allows them to fire from it (i.e. unarmed mechs like the lifter mech), fixing mech cockpits not counting as a stable firing platform and allowing the extra checks inranged::gunmode_checks_weapon
to be replaced with a check forcan_use_bipod
.JSON changes:
HEAVY_WEAPON_SUPPORT
to flags.json, and updated description ofMOUNTED_GUN
flag to hopefully convey all this with a bit less length.HEAVY_WEAPON_SUPPORT
flag to active light, medium, and heavy power armor.HEAVY_WEAPON_SUPPORT
flag to active EM vest in C.R.I.T. mod.Doc changes:
MOUNTED_GUN
flag.Describe alternatives you've considered
Testing
Additional context
I also looked into trying to solve #3644 while I was at it but it's a bit more complex than I was hoping it'd be so bleh.