Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign up[CR]Melee combat rebalance #14741
Conversation
Coolthulhu
added some commits
Jan 6, 2016
This comment has been minimized.
This comment has been minimized.
|
Ooh this should be good to see. |
Coolthulhu
referenced this pull request
Jan 8, 2016
Closed
[CR][WIP] Foundation for implementing medieval mod shields #14711
This comment has been minimized.
This comment has been minimized.
|
Hmm. That was surprising, to see the code for the shield PR being done on here instead. Guess I can revert my clusterfuck of an attempted commit, and the other perequisites (making shields take up a hand, prevent wearing multiple shields) are already covered in the PR. Sorry about that. x.x |
Coolthulhu
added some commits
Jan 9, 2016
Coolthulhu
changed the title
[WiP][CR]Melee combat rebalance
[CR]Melee combat rebalance
Jan 9, 2016
Coolthulhu
added some commits
Jan 9, 2016
This comment has been minimized.
This comment has been minimized.
|
More adjustments:
Overall the PR is mostly about nerfing cutting/piercing weapons, which are (still) way stronger than bashing ones. |
BevapDin
reviewed
Jan 9, 2016
|
|
||
| // Three last values are for low damage | ||
| static const std::array<std::string, 6> player_stab = {{ | ||
| "You impale %s", "You gouge %s", "You run %s through", |
This comment has been minimized.
This comment has been minimized.
BevapDin
Jan 9, 2016
Contributor
The strings are not extracted for translation, so attempting to translate them at the end of this function will properly do nothing.
This comment has been minimized.
This comment has been minimized.
Coolthulhu
Jan 9, 2016
Author
Contributor
What is the proper way of doing that? Would translating them inside the arrays cause any unspecified behavior or be executed before translating system is set up or anything like that?
I recall _( str.c_str() ) being used in iuse_actor.cpp - what's the difference between that and those lines?
This comment has been minimized.
This comment has been minimized.
kevingranade
Jan 10, 2016
Member
If it's just a variable being passed to _, it's probably a json string, which has been extracted elsewhere.
As long as the array is initialized inside a function it'll be fine, static type foo = something; has semantics of "do this the first time this code is executed", and if the statement is inside a function that means it happens after gettext is initialized, if it's outside a function is when it's a problem.
This comment has been minimized.
This comment has been minimized.
kevingranade
Jan 16, 2016
Member
This might clarify, _() actually does two things, one is it "captures" the string, which happens in a step where gettext processes (not compiles!) all the source code, all this does is build a list of literal strings enclosed in _().
The second thing kicks in at runtime, where _() becomes a macro that passes the string to the gettext library for translation, this may happen at the same site as where the capture occurs, or it can also happen elsewhere.
As long as the _() invocation happens after the gettext library is initialized (in practice, within any function as I outlined), it will be able to do the translation.
This comment has been minimized.
This comment has been minimized.
|
The only balance issue I'm concerned about is |
This comment has been minimized.
This comment has been minimized.
|
Full dodges when crippled still happens even now, it's just that you have to use quick attacks or pistols to exploit it. As long as you never spend double your speed, you get all dodges and blocks. How about giving some penalty to dodging at low speed instead of forbidding it totally? |
This comment has been minimized.
This comment has been minimized.
|
Good point about the issue being pre-existing, it just makes it a little more pervasive, and yes I was fishing for solutions since I didn't have one ;) This did make me think though, it would be interesting to have moves you expend without doing anything used to like regain your equilibrium and position in combat, giving bonuses (or eliminating penalties) to block/dodge/etc. It could be mediated via martial style. |
Coolthulhu
added some commits
Jan 10, 2016
This comment has been minimized.
This comment has been minimized.
|
At low speed (<100) the dodge results are now multiplied by |
kevingranade
reviewed
Jan 16, 2016
| @@ -1492,30 +1475,24 @@ bool player::block_hit(Creature *source, body_part &bp_hit, damage_instance &dam | |||
| thing_blocked_with = body_part_name(bp_hit); | |||
| } | |||
|
|
|||
| //~ Adjective in "You block <adjective> of the damage with your <weapon>. | |||
This comment has been minimized.
This comment has been minimized.
kevingranade
Jan 16, 2016
Member
I'll just revert while merging, but //~ is a special comment that gets applied to the _("") string on the following line, it actually needed to be added to each of those lines. Unless I've missed something and gettext is way smarter than I think it is.
kevingranade
merged commit ba5c0cd
into
CleverRaven:master
Jan 16, 2016
1 check passed
kevingranade
referenced this pull request
Jan 16, 2016
Merged
Restore string extraction of melee messages. #14862
This comment has been minimized.
This comment has been minimized.
|
Ah, nice. Now I'll be back to ensuring the shield PR is in working order. |
Coolthulhu commentedJan 6, 2016
Problems I'm addressing here:
Leaving for later:
How I'm trying to achieve it:
rng( x, rng( y, rng( z, w ) ) ))As a bonus: