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

Added new martial art: Bayonet Drill #49445

Closed
wants to merge 8 commits into from

Conversation

Aerotinge
Copy link
Contributor

@Aerotinge Aerotinge commented Jun 25, 2021

Summary

Content "Add new martial art: Bayonet Drill"

Purpose of change

I need a military skill in real army, not mystery kung fu or far-away Israel CQB.

Describe the solution

Add a standard US-style bayonet drill combat skill as a martial art.

Bayonet Drill Buffs

Buff Name Requirement Buff Type Duration Effect
Parry Melee 1 OnBlock 1 turn +1 Accuracy. Enables Butt smash technique
Thrust movements Melee 0 OnMove 2 turns, Stacks 2 times +10% damage. Enables Bayonet charge technique
Attack position Melee 0 OnPause 1 turn Blocked damage reduced by 50% of Perception, +1 Block attempts

Bayonet Drill Techniques

Technique Name Requirement Technique Type Effects
Butt strike Melee 1 Block Counter (Normal & Crit) Stab damage reduced to 0%, Stun duration: 1
Bayonet lunge Melee 1 Offensive (Normal & Crit) 75% move cost. 50% Bash damage, +20% Stab damage
Bayonet strike Melee 0 Offensive (Normal) Rapid
Bayonet charge Melee 2 Offensive (Crit) 50% Bash damage, +100% Stab damage, gains Stab armor penetration equal to 25% of Strength, Knockback distance: 1
Butt smash Melee 2 Offensive (Normal & Crit) 75% move cost. +40% Bash damage, Stab damage reduced to 0%, Stun duration: 1, Knockdown duration: 1

Acceptable weapons
Rifles, but

  • Bullpup rifles are no longer acceptable in this MA, for it's compact design pattern. Though British army still practice UK style bayonet drill on their SA80.
  • Sniper/Fictional rifles are also incompetent weapon, obviously.
  • A few carbine, especially those I can't find a record about bayonet.

Problems and issues

  • I have trouble making Butt smash a Block strike a Block Counter type, due to rifle can not block. Tried "arm_block": 0 but not working well.

What left behind

There's still many firearms that is not able to use this martial art. Theorically any rifle with bayonet mount set can use this martial art.
But they're too many...and even shotgun could. I just need some time to find out all of them.

Describe alternatives you've considered

Overall, I try to make its dps close to spear_knife.
The base move per attack of a rifle with bayonet is pretty large(~200) make it hard to be a good martial art
But in early game, it's a decent melee weapon when you're out of ammo.

Testing

Put the files in a5c3b7f and it works as expected.

Additional context

References:
https://www.survivalschool.us/wp-content/uploads/2018/06/FM-21-150-Combatives-1992.pdf
https://wartimecanada.ca/sites/default/files/documents/Bayonet%20training%201916.pdf
My own military service experience

@Aerotinge Aerotinge changed the title Bayonet Added new martial art: Bayonet Drill Jun 25, 2021
@Broken27
Copy link
Contributor

Attack Position is rather weak for an OnPause buff. OnPause buffs require losing turns, so they need to be rather strong to compensate for that.

That said, i don't think buffing it is the best solution here.

Instead, i would make something similar to what Fior does:
Screenshot - 25_06_2021 , 18_12_40

Stand your ground is an static technique, so you have it all the time, but Tactical retreat is a debuff than triggers on move, than basically removes the effect of stand your ground. That means you get the buff as long as you don't move from your tile, but you can still attack etc. So you don't need to outright sacrifice turns like OnPause techniques do.

@actual-nh actual-nh added 0.F Content Freeze Melee Melee weapons, tactics, techniques, reach attack labels Jun 25, 2021
@ghost
Copy link

ghost commented Jun 25, 2021

Toss the changed files in the linter for fix formatting issues.

Comment on lines 1358 to 1360
"learn_difficulty": 5,
"arm_block": 0,
"primary_skill": "stabbing",
Copy link

Choose a reason for hiding this comment

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

Are you going to add a MA manual for these to matter in this PR, or a second one?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I was considering use existing manual_stabbing as a manual book. But I'm not decided yet.
Can I leave it blank?

Copy link
Contributor

Choose a reason for hiding this comment

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

Can we just replicate the knife manual but with the new MA? I'd like to add this would be a good one for learning from NPCs.

@anothersimulacrum
Copy link
Member

CC @Hymore246

@Aerotinge
Copy link
Contributor Author

Instead, i would make something similar to what Fior does:
Screenshot - 25_06_2021 , 18_12_40

I've considered that when I was making OnPause/OnMove Buff.
But a static buff with a negetive onMove buff that would make UI displaying contradictory status.
The player will be in "thrust movements" while hold "attack position", which is also not intuitive.
Maybe a better design could model it better, but so far I do not come up with one.

As for "Attack Position" part.
In my design, the stabbing should work best after a movement. It's an engagement phase.
After that there's two way to go, continue with decent or rapid stabbing or take passive stance, stun enemy, keep a distance and charge again.
(Now it seems the charge part also not modeled well lol)
That's why it's not a big buff, it's only a opening for next charge.

@Shodan14
Copy link

Shodan14 commented Jun 25, 2021

Love seeing more practical martial arts, big props.

"type": "martial_art",
"id": "style_bayonet_drill",
"name": { "str": "Bayonet Drill" },
"description": "Bayonet charge was a common tactic used during the early modern wars. It focuses on move one's body to keep or regain his own balance, and exploits weaknesses in his opponent's balance.",
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
"description": "Bayonet charge was a common tactic used during the early modern wars. It focuses on move one's body to keep or regain his own balance, and exploits weaknesses in his opponent's balance.",
"description": "Bayonet charge was a common tactic used during the early modern wars. It focuses on move one's body to keep or regain his own balance, and exploits weaknesses in his opponent's balance.",

{
"id": "buff_bayonet_drill_onpause",
"name": "Attack position",
"description": "You hold your rifle diagonally across your body at a sufficient distance from the body to add balance and protect you from enemy blows.\n\nBlocked damage reduced by 50% of Perception, +1 Block attempts",
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
"description": "You hold your rifle diagonally across your body at a sufficient distance from the body to add balance and protect you from enemy blows.\n\nBlocked damage reduced by 50% of Perception, +1 Block attempts",
"description": "You hold your rifle diagonally across your body at a sufficient distance from the body to add balance and protect you from enemy blows.\n\nBlocked damage reduced by 50% of Perception, +1 Block attempts.",

Shame that I did not put in M1, Mosin Nagant
and Springfield at the beginning.
@Hymore246
Copy link
Contributor

I'll give some feedback on the style.

At first, I thought that guns shouldn't be able to block. After all, they are designed to shoot not stop attacks. But after some research, I found that historically, rifles have been used to block attacks. This makes sense in real life too. I wouldn't try to shield myself with a pistol but a large gun? I would try to put it between myself and my attacker if I had to.

To answer your question about why you can't get the guns to block, it is because an weapon must have either WBLOCK_1, WBLOCK_2, or WBLOCK_3 as a weapon technique to be able to block. I would recommend as part of this PR that you add WBLOCK_1 to all the rifles in the game to allow them to block attacks.

Vs Taekwando, Krav Maga, and Soujutsu

We need to make sure that Bayonet Drill has a place functionally in the game compared to other styles. It competes with Taekwando and Krav Maga since these styles can be used with rifles and Soujutsu since having a bayonet mod on a gun allows you to perform reach attacks. Weapon styles are tricky to balance and ones that use firearms are even harder. Guns are one of the strongest weapons in the CDDA so we need to keep that in mind when balancing the style. Lets look at the other styles first:

  • Taekwando loses the benefits of any held item (i.e. blocking, weapon techs) but allows full use of the techniques in the style. The techniques focus on status effects with no damage boosts with weapons. Every technique aside from Roundhouse kick has a Stun, a Knockback, or Knockdown effect. Due to the Knockback, it can be hard to use the style offensively so the style ends up being a good backup plan if enemies get too close.
  • Krav Maga on the other hand is a jack-of-all trades hybrid martial art that can be used with some guns, knives and unarmed. It has some group defense buffs and several status effect techniques. The weakness is that nearly everything in the style requires a setup to work. You need several turns for the techniques you want to trigger and its most damaging attack, Bone Breaker, requires you to be unarmed. So it ends up being a style the works defensively while armed with less crowd control than Taekwando but a bit more defense against small groups.
  • Soujutsu was made to be a defensive style because of how powerful kiting enemies with reach weapons is. All of its techniques do knockback with a damage penalty to keep enemies away. It has minor group defense (+1 block) if you don't move and a small damage buff (+15%) when you do move. The style is very simple and compliments kiting very well but isn't good beyond that.

So where does this leave Bayonet Drill? Well, I think the best niche for the style is to a more offensive style that rewards you for attacking mid-ranged opponents. Ideally, I see the style being used when enemies that have already been damaged several times by gunfire. You then rush an enemy and quickly finish them off before turning your attention elsewhere. Unlike the other styles, Bayonet Drill should have damage boosting buffs and techniques with the catch that they only affect Stab damage. The trick here is that we want players to want to put a bayonet on the rifle but we have no way to check for it existing on the backend. So we can slightly reduce the effectiveness of the style by limiting the bonus damage to a type that does not exist on rifles UNLESS you add a bayonet. As mentioned before, we want to be able to be able to block so adding a block counter and some support for it will round out the style.

Comments on Existing Style

  • Parry - I recommend removing this buff. I think the Accuracy bonus would be better elsewhere and you could make Butt Smash a crit block counter instead.
  • Thrust Movements - As I mentioned above, I think the OnMove buff is going to be the "heart" of your style. Having +20% damage and enabling a strong attack technique is fine.
  • Attack Position - I agree that this buff is underpower and not very useful. I get the idea behind it. Pause for defense against group and to reduce damage. However, it just isn't strong enough to be worth using. I think you would get more benefit from just moving away from enemies due to Thrust Movements. This is even more true because you can do reach attacks with the bayonet.
  • Butt Strike - Good Block Counter. The lose of Stab damage sucks but it is very needed for the sake of balance since this counter is about control and not damage.
  • Bayonet Lunge - Too strong. This is crit ok technique that has bonus damage and reduced move cost. This combinations is a lot stronger than most people realize. I would say remove the move cost reduction and bonus Bash damage and increase the Stab damage instead.
  • Bayonet Strike - It is a Rapid. Good filler as always.
  • Bayonet Charge - The big technique of the style. I think this is balanced overall but I recommend removing the knockback since this can lead to a weird situation where you keep criting and knocking the enemy over and over thanks to Thrust Movements. I don't know much about bayonet combat but I don't think that should happen.
  • Butt Smash - Really this is just a stronger version of Butt Strike. As mentioned above, it makes more sense to change this to a block counter. You could make this a crit counter and Butt Strike a normal counter to keep them mutually exclusive.

Example Style
Using your concepting as inspiration, I made a mock up of what I think Bayonet Drill might look like. Keep in mind that you don't have to use any of this if you don't want to. This is an untest draft I made in the span of a few hours. I'll go over each of the buffs and techniques below:

Buff Name Level Available Type Duration Effect
Bayonet Discipline Melee 0 Static Buff - +2 Accuracy, +1 Block effectiveness
Tatical Charge Melee 2 OnMove Buff 2 turns, stacks 2 times +10% damage, +1 Block effectiveness, enables Bayonet Lunge
Spot Weak Point Melee 3 OnCrit Buff 3 turns Gain Stab Armor Penetration equal to 100% of Perception
Technique Name Level Available Type Effect
Bayonet Strike Melee 1 Offensive (Normal) Rapid
Bayonet Lunge Melee 2 Offensive (Crit) Requires Tactical Charge buff, +100% Stab damage
Retaliate Melee 4 Block Counter (Normal & Crit) 60% move cost, Stab damage reduced to 0%, Stun duration: 1

Breakdown:

  • Bayonet Discipline - The bonus Accuracy is a necessary evil due to the fact that all firearms have a negative to-hit penalty. Most have -1 and some have -2. The style will fall apart if you can't hit anything so you need this. With +2 Accuracy you will break even at worst. This is also why Krav Maga has a static that gives +1 Accuracy. Block effectiveness an effect that increases your chance to block attacks. I added it awhile back but most people don't realize it exists. It is hard to describe how effective a +1 is due to the blocking formula but below is the "blocking ability" item code for reference.
static int blocking_ability( const item &shield )
{
    int block_bonus = 0;
    if( shield.has_technique( WBLOCK_3 ) ) {
        block_bonus = 10;
    } else if( shield.has_technique( WBLOCK_2 ) ) {
        block_bonus = 6;
    } else if( shield.has_technique( WBLOCK_1 ) ) {
        block_bonus = 4;
    } else if( shield.has_flag( flag_BLOCK_WHILE_WORN ) ) {
        block_bonus = 2;
    }
    return block_bonus;
}
  • Tactical Charge - Roughly the same as your version but I added block effectiveness to the buff? Why? The reason we wait for enemies to move next to us is to get the first hit. Moving next to them lets THEM get the first hit. Ideally, we want to block that hit and counter so we need a way to protect ourselves from the attack. This is still dangerous and doesn't guarantee a block but it should help. I debated about making the bonus +2 or adding a +1.0 Dodging skill bonus but I think that might be too strong.
  • Spot Weak Point - New buff that gives you Stab Armor Penetration on a crit. This helps emphasize the offensive nature of the style. Also, using Perception provides good synergy with the most gun build and is a great way to make the style noticeable to potention gun using characters.
  • Bayonet Strike - Still a Rapid. Yay.
  • Bayonet Lunge - Combined with Bayonet Charge, this is now the technique that triggers when Tactical Charge is up. Better yet, because this is the only crit technique in the style, it WILL trigger on a critical hit if Tactical Charge is up!
  • Retaliate - Combined Butt Smash and Butt Strike together. Works like Butt Strike but now has a move cost reduction. I did this because swinging a rifle takes a lot of movement and it is hard to design counters around that. But in this cause, you are hit back with the edge of the weapon so it will be naturally faster.

I hope this help. Let me know if you have any questions or comments.

@stale
Copy link

stale bot commented Oct 2, 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 Oct 2, 2021
@faefux
Copy link
Contributor

faefux commented Oct 3, 2021

Hey @Aerotinge. What's going on with this? Still working on it? :)

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

Due to the removal of counters (#51949), the style will probably need an additional tweak to function without a block counter. But that is up to the author to decide what the revised style will look like.

@Aerotinge
Copy link
Contributor Author

Aerotinge commented Nov 21, 2021

Thanks @Hymore246 for revision first, and sorry for replying so late. Haven't played CDDA for months.
In my understanding, WBLOCK_1 flag enables a weapon for being able to block, regardless of the stance of martial art, right.
So it'll make a overall buff for rifles, I'm not going to do it.
And if Block effectiveness required WBLOCK_1, I'm afraid it won't be added into this martial art.

Before Styles, I'd talking the core idea behind bayonet (of course my own opinion)
As you said, "Ideally, I see the style being used when enemies that have already been damaged"
It's not a martial art you can always rely on to kill. It's rather a desperate measure, for (including but not limited to) following circumstances

  • Shit, out of ammo: a dead wish status, you have to bet on one last drill bit kill the monster or you'll die in melee.
  • Damn kid runs too fast to aim: Z kids rush on your face and aim takes one turn, you bet on a block counter of the rifle butt could giving you some extra time, to fire a burst fire steadily then.
  • Charge!!: Personally NOT recommended. Even though the representative image of bayonet drill is portrayed so.

After abstracting the above situation and these canonical actions, I got a martial art that should be

  • making rifle a stab weapon, roughly equivalent to spear_knife, but without range atk (it's not that long)
  • High moves per attack, base weapon - rifle has a grip/stock, which is not an ideal handle for a melee weapon.
  • From melee 0 to Max. melee 2, most of U.S. armies in WWII can do it. Not a difficult-to-learn technique.
  • Able to parry(block). And counter-back with a block, though it's removed in game.
  • Bonus to run and hit tactics. As a trade off with gun fire, it focus on crit.

Now Styles (Finally!), I don't like any static buff since whole bayonet is based on initial actions. And one action after one, there's no static things shared in both movement and stillness.
And don't forget bayonet drill is with rifle, a firearm. Always give priority to firepower if available.
I'll explain my styles design first, and answer your revision.

  • Parry: The opening of blocking, +1 acc for ensuring your next butt smash knockdown the enemy. Gives you time to withdraw for next round gunfire/reload.
  • Thrust Movements: The opening of stabbing, doing good.
  • Attack position: You get the idea behind it. But it's against fast enemy, not group. You just can't run faster than some rapid mon, or aim them steadily. Instead, waiting a block with counter stun (Butt strike) then you're able to do bullets spree.
  • Butt Strike: Your stun and fire key action. Yeah it is all about control.
  • Bayonet Lunge: It looks like -25% move too OP, but don't forget the rifle have a high melee mpa(~140), making it a shitty weapon if the mpa not lowered. A Bayonet Lunge still takes ~100 mpa to deal one hit, with similar dps of spear_knife
  • Bayonet Strike - I am Groot.
  • Bayonet Charge - knockback, indeed, is weird. It purposed to push back enemy for moving and attack continuously. But really weird in-game.
  • Butt Smash: knockdown was used to be an opening for a execution finisher(like Ezio Auditore did) following it up but sooner I found it not suitable for CDDA, the zeds are dead already. True, a crit block counter suits better. It was offensive type simply because it's a continuous technique after a parry in the manual. But it seems better to do this(crit type)

And your revisions,

  • Bayonet Discipline: I did not make acc compensaton a thing because, as I said, a rifle grip/stock is not an ideal handle for a melee weapon. The barycenter of a rifle prevents it from becoming an T1 melee weapon.
  • Bayonet Lunge combined with Bayonet Charge: makes the mpa overall too high. It's like hauling an axe. That won’t be the rhythm of bayonet fighting.
  • Tactical Charge: Charges are risky, basically this is a sacrificial attack, Dodging/Blocking is not taken into consideration.
  • Spot Weak Point: "...emphasize the offensive nature of the style". Actually, I did not want to emphasize Charge tactics. Butt strikes are also useful, and ranged fires are always priority.

breakpoint: Nowadays bayonet drill do emphasize stabbing part and less focus on butt strike part, due to pistol-style grips are so common in modern self-loading rifles such as the AR-15 and M16, making butt strikes hard to practice.

  • Retaliate: swinging a rifle did not takes that a lot of movement in those legacy rifle without a grip, it's actually a rotation. But I agree with your ideas that Combined Butt Smash and Butt Strike together.

So far it's still in a bad shape since I can not make blocking working, and I probably not playing CDDA in the 0.F lifespan.
And removal of block counter made it even worse...
If I can have blocking enabled in a martial art and come up with a better model for butt strikes, I'll be back and finish it.

@I-am-Erk
Copy link
Member

I am closing this as stale for now. If someone would like to pick this project up, or if the original poster returns, please either duplicate it or reopen it.

@I-am-Erk I-am-Erk closed this Dec 14, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Melee Melee weapons, tactics, techniques, reach attack
Projects
None yet
Development

Successfully merging this pull request may close these issues.

10 participants