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

Adds Bōjutsu Martial Art #50010

Merged
merged 21 commits into from
Feb 12, 2022
Merged

Conversation

SantosValourion
Copy link
Contributor

@SantosValourion SantosValourion commented Jul 17, 2021

Summary

Content "Add new Bōjutsu Marital Art"

Purpose of change

Bōjutsu is a real life martial art that could reasonably be learn in the CDDA world.

Describe the solution

Bōjutsu is a martial art that focuses on using the staff or appropriately sized objects.

Bōjutsu Buffs

Buff Name Requirement Buff Type Duration Effect
Bōjutsu Stance Melee 0 Static - Blocked damage reduced by 100% of Dexterity
Skilled Striking Melee 1 Static - Melee skill increases bash weapon damage cap
Rolling Staff Melee 3 OnMove 1 turn +10% Bash damage, Enables Rolling Strike technique

Bōjutsu Techniques

Technique Name Requirement Technique Type Effects
Front Thrust Melee 1 Offensive (Normal) +20% Bash damage
Knee Strike Melee 2 Block Counter (Normal & Crit) 80% Move Cost, Knockdown duration: 1
Overhead Front Strike Melee 3 Block Counter (Normal & Crit) +40% Bash damage, Stun duration: 1
Rolling Strike Melee 3

Rolling Strike buff

Offensive (Normal & Crit) 75% Move Cost, +50% Bash Damage, Weighting: 2
Feint Melee 4 Miss Recovery 80% Move Cost
Hooking Disarm Melee 5

Armed opponent

Offensive (Normal & Crit) Disarms opponent

Acceptable weapons:
Long Stick, L-Stick, Long Pole, Quarterstaff, Ironshod Quarterstaff, Powered Quarterstaff

Where the Style Shines:
-Good block Damage reduction
-Pausing gives a good speed and damage boast for 1 turn
-Has a Disarm move
-Feint for Miss Recovery
-Possible bash damage rises with melee skill
New formula: bash weapon damage cap = (2 * (strength + bash skill)) + melee skill
Strength and bash skill still raise the bash weapon damage cap more then the melee skill,
but this allows the style to be used by lower strength characters since the style is more Dex based.

Good in a 1v1 situation.

Where the Style fails:
-No extra blocks/dodges
-No grab break
-Moves that cause a knockdown or a stun are a block counter, but style only has one block.
-Damage potential is not super high, meaning killing higher level creatures could be tough.

Bad when fighting groups or higher level enemies.

Describe alternatives you've considered

Adding a different staff martial art like canne de combat or not adding a staff martial art at all.

Testing

I compiled and ran successfully.
In terms of balance I have no idea if it's too strong or too weak compared to other styles.

Additional context

Finding info about Bōjutsu was tough.
References:
https://www.youtube.com/watch?v=T7xZ4gfsaLc
https://www.youtube.com/watch?v=Rbq-B9aSSQE&t=17s
https://www.youtube.com/watch?v=guLjgsNQC6M&t=740s
https://www.youtube.com/watch?v=W077xpabHNM&t=401s
https://www.youtube.com/watch?v=przR22ApYiM

@actual-nh actual-nh added <Enhancement / Feature> New features, or enhancements on existing [JSON] Changes (can be) made in JSON Mechanics: Effects / Skills / Stats Effects / Skills / Stats Melee Melee weapons, tactics, techniques, reach attack [C++] Changes (can be) made in C++. Previously named `Code` labels Jul 17, 2021
@SantosValourion SantosValourion changed the title Adds Bōjutsu Marital Art Adds Bōjutsu Martial Art Jul 17, 2021
@Shodan14
Copy link

Would probably make sense to add the L-stick to weapons as well?

@actual-nh
Copy link
Contributor

Ping: @Hymore246?

@Broken27
Copy link
Contributor

Broken27 commented Jul 19, 2021

Well, this looks mostly fine for me.

Skilled Striking is probably irrelevant since the bash damage cap is rarely an issue - in fact, i am not even sure it stll exists in a meaningful form.

Rolling staff is much more problematic - a 25% move cost discount, which is basically always active (It activates when you move, which is when move cost matters anyway) means than you can magically outrun most enemies just by having a quarterstaff in your hands.

@Shodan14
Copy link

Shodan14 commented Jul 19, 2021

Not sure how it fits with the real life style, but it also feels a bit strange to not have any follow-up techniques to take advantage of stunned/knockdown. I like the defensive block focus though.

@SantosValourion
Copy link
Contributor Author

Rolling staff is much more problematic - a 25% move cost discount, which is basically always active (It activates when you move, which is when move cost matters anyway) means than you can magically outrun most enemies just by having a quarterstaff in your hands.

Yeah the intent was for a faster attack not faster movement, but I guess that's just how the game works. Perhaps it would work better as an onPause move?

Not sure how it fits with the real life style, but it also feels a bit strange to not have any follow-up techniques to take advantage of stunned/knockdown. I like the defensive block focus though.

The IRL style from my knowledge combos from: block -> attack, and possibly into another attack. That final possible attack is represented here by normal attack/another standard technique.

@Shodan14
Copy link

The IRL style from my knowledge combos from: block -> attack, and possibly into another attack. That final possible attack is represented here by normal attack/another standard technique.

Makes sense. I wonder if a rapid strike would fit in there for that double-sided action?

SantosValourion and others added 2 commits July 20, 2021 22:48
Rolling Staff is now a onPause with 5% less move cost, but +10 Bash Damage.
@Broken27
Copy link
Contributor

Yeah the intent was for a faster attack not faster movement, but I guess that's just how the game works. Perhaps it would work better as an onPause move?

You could have a fast attack technique that requires the rolling staff buff to trigger.

Add some weighting to the technique to make more likely to use it instead of another techniques, and you are fine.

@stale
Copy link

stale bot commented Aug 28, 2021

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions. Please do not 'bump' or comment on this issue unless you are actively working on it. Stale issues, and stale issues that are closed are still considered.

@stale stale bot added the stale Closed for lack of activity, but still valid. label Aug 28, 2021
@Maleclypse
Copy link
Member

This has been waiting for a reviewer. I'm putting a note here to myself to review this in the next few days.

@stale stale bot removed the stale Closed for lack of activity, but still valid. label Aug 29, 2021
@Hymore246
Copy link
Contributor

I found this PR yesterday so let me toss in my 2 cents. I agree the style should be in the game. I considered giving staff to Karate in the past (and probably still will) so having a staff style is fine.

At a glance, I think this style is overpowered. It is a weapon style that has a lot of damage boosting techniques that do not require any effort to use. The only one that does require a buff is VERY strong, weighted to happen more often, and comes from an OnMove buff that boosts damage even further. Combined with the damage cap remover (which I am not 100% sure we should do, might want to ask a dev) it does a lot of damage. Lastly, it isn't like the style's weapons need the boost either. The Long Stick (weakest weapon) has 18 bash damage and the Ironshod Quarterstaff (strongest weapon) does 32 bash damage. I don't understand how the "damage potential is super high" is a weakness given all these things. Also, being able to stun or knockdown enemies with a counter is VERY good. Good enough that the counters in Dragon Kung Fu and Medieval Swordsmanship have damage penalties to compensate.

From my research, Bojutsu is versatile. You can strike a lot of way with a Bo Staff so the style has potential. Here are some thoughts that might help improve the style:

  1. Get rid of he damage boosts. If you want to keep one, save the boost for something that requires a buff or is a buff that doesn't happen often.
  2. For the life of me, I cannot find videos of people using the staff spin in a fight. I think it might just be a kata to get the practitioner used to moving the staff around. Still maybe it could be used as a shielding technique/buff to keep enemies at bay? Also having the staff spin as an OnMove buff is a bit silly conceptually because it means the player is spinning that staff 24/7 as they move around the world. Helicopter power!
  3. Misdirection seems to be a big part of Bojutsu. It is really easy to lose track of the staff and get hit with a different side or a different spot than you expected. This might be hard to add to the game but +Accuracy seems like the easiest way to show that. +Crit Chance might work too but that is a strong type of buff.
  4. I recommend using "double strike" as the style's theme/gimmick. Sort of like you hit with one side of the staff and follow up with the other. You could do it a number of different way but the feint/disarm video showed it being a quick follow up to a strike. Maybe a have a Rapid (or even a 50% move cost) tech with high weighting enabled from an OnCrit buff? Another way might be to mess around with move cost reduction when you hit several times in a row.

I don't mean to sound negative or dismissive your work. I just want the style to best possible representation of Bojutsu in CDDA. Best of luck!

@Hymore246
Copy link
Contributor

Hymore246 commented Aug 31, 2021

Oh, almost forgot. You can probably add a few more pole-like weapons to the style. I think a broom and a mop would make sense for the style.

Edit: and maybe the sling staff. I am not 100% if the staff is the right size and quality to use with bojutsu. But if it is most of the community will use your style since they LOVE that weapon.

@Rabidweasel
Copy link

Edit: and maybe the sling staff. I am not 100% if the staff is the right size and quality to use with bojutsu. But if it is most of the community will use your style since they LOVE that weapon.

I believe that there was a semi-recent PR which made the sling staff and quarterstaff nearly identical in terms of size, the sling staff just has a sling on on one end which makes it slightly heavier and less accurate. Whether or not the presence of a sling makes it unsuited to use with this martial art is a different question.

data/json/martialarts.json Outdated Show resolved Hide resolved
@Maleclypse
Copy link
Member

If someone can rebase this I believe it will be ready for merge.

@github-actions
Copy link
Contributor

This is an automated message. Please kindly disregard if you think this is inaccurate.

Automatic spell checking encountered unrecognized words in the following text:

  • Bōjutsu, "The Way of the Staff", is the Japanese martial art of fighting with a staff. Bōjutsu focuses on maintaining a good stance to effectivity block and counterattack.

@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Dec 30, 2021
src/melee.cpp Outdated Show resolved Hide resolved
src/martialarts.cpp Outdated Show resolved Hide resolved
@github-actions github-actions bot added the astyled astyled PR, label is assigned by github actions label Jan 2, 2022
data/json/martialarts.json Outdated Show resolved Hide resolved
Copy link
Member

@GuardianDll GuardianDll left a comment

Choose a reason for hiding this comment

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

Fixing lack of NPC versions of techniques (i hope thats the error)

data/json/techniques.json Outdated Show resolved Hide resolved
data/json/techniques.json Outdated Show resolved Hide resolved
data/json/techniques.json Outdated Show resolved Hide resolved
@github-actions github-actions bot removed the json-styled JSON lint passed, label assigned by github actions label Feb 7, 2022
@github-actions github-actions bot added the json-styled JSON lint passed, label assigned by github actions label Feb 8, 2022
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 [C++] Changes (can be) made in C++. Previously named `Code` <Enhancement / Feature> New features, or enhancements on existing [JSON] Changes (can be) made in JSON json-styled JSON lint passed, label assigned by github actions Martial Arts Arts, Techniques, weapons and anything touching martial arts. Mechanics: Effects / Skills / Stats Effects / Skills / Stats Melee Melee weapons, tactics, techniques, reach attack
Projects
None yet
Development

Successfully merging this pull request may close these issues.