Skip to content

Conversation

@detahramet
Copy link
Contributor

Original Text from #68734, recreated due to a rebase error.

Summary

Features "Weapon Proficiency"

Purpose of change

As it stands, weapon selection in Catacylsm is a choice between the three core damage types of Bash, Slash, and Stab, with the player either selecting whatever does the most damage in the area the have the highest skill, or to choose a sub-optimal weapon for roleplay purposes. This leads to a lack of nuance in weapon selection that isn't as interesting to engage with as it could be.

Describe the solution

This adds a system that adds weapon proficiencies for each melee weapon type across three tier of proficiency. A player can now gain category familiarity, category proficiency, and category mastery for each category. It adds EoCs to allow an increase in each weapon category proficiency, and does so by:

  1. Proc the EoCs on a successful hit on either a Monster or a Character
  2. Compare each weapon category to the wielded weapon
    2.1 On a match with the wielded weapon, check the highest tier of proficiency the player has in that category
    2.2 After finding the highest tier, increment the amount of experience in the relevant tier of proficiency unless already a master
    2.3 Compare the lowest tier of proficiency determined so far to the current tier. If the current tier is lower, set lowest tier to current tier.
  3. After each category is checked, refund a small amount of stamina spent on the swinging the weapon based on the players lowest matching category proficiency
    3.a Familiarity provides a 2.5% refund
    3.b Proficiency provides a 5% refund
    3.c Mastery provides a 10% refund

Describe alternatives you've considered

Other alternatives to this have been tracking proficiency only in the specific item, providing a to-hit bonus based on proficiency, an attack move cost discount, or just leaving the proficiency frame work as it is with no benefit to provide support to later additions.

Testing

  1. New Character
  2. Spawn dummies
  3. Spawn weapon of appropriate category
  4. Attack dummies
  5. Check proficiency gain
  6. Debug set proficiency to each tier
  7. Attack dummies
  8. Observe if results match expectation

Additional context

While functional, the descriptions for both the practice recipes and the proficiencies themselves are kinda dull, suggestions are well appreciated.

@github-actions github-actions bot added [JSON] Changes (can be) made in JSON Melee Melee weapons, tactics, techniques, reach attack EOC: Effects On Condition Anything concerning Effects On Condition <Enhancement / Feature> New features, or enhancements on existing astyled astyled PR, label is assigned by github actions json-styled JSON lint passed, label assigned by github actions labels Nov 7, 2023
Copy link
Contributor

@TheShadowFerret TheShadowFerret left a comment

Choose a reason for hiding this comment

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

There was no rebase error, I saw nothing! Waves hands

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Nov 7, 2023
@TheShadowFerret
Copy link
Contributor

TheShadowFerret commented Nov 8, 2023

The book learns are still gone 👀

3318892
This commit from the old PR has them already applied(but not the above typo fixes)

Copy link
Member

@Maleclypse Maleclypse left a comment

Choose a reason for hiding this comment

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

Once the books are in if they make sense to include in here this is ready for merge. Testing went excellent.

@github-actions github-actions bot removed json-styled JSON lint passed, label assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions labels Nov 8, 2023
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Nov 8, 2023
@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Nov 8, 2023
@Maleclypse Maleclypse merged commit 596437c into CleverRaven:master Nov 8, 2023
Maleclypse pushed a commit to Maleclypse/Cataclysm-DDA that referenced this pull request Nov 16, 2023
* Reimport Backup

* Apply suggestions from code review

Co-authored-by: TheShadowFerret <[email protected]>

* Restore Previous PR Changes

* Updated practice recipes

* Update data/json/recipes/practice/melee.json

Co-authored-by: Termineitor244 <[email protected]>

---------

Co-authored-by: TheShadowFerret <[email protected]>
Co-authored-by: Termineitor244 <[email protected]>
[
{
"type": "effect_on_condition",
"id": "EOC_MELEE_PROF_ATTACK_MONSTER",
Copy link
Contributor

Choose a reason for hiding this comment

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

This doesn't actually seem to be referenced anywhere...?

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 <Enhancement / Feature> New features, or enhancements on existing EOC: Effects On Condition Anything concerning Effects On Condition [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Melee Melee weapons, tactics, techniques, reach attack

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants