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

Tonfa updates #11200

Merged
merged 7 commits into from
Oct 4, 2024
Merged

Tonfa updates #11200

merged 7 commits into from
Oct 4, 2024

Conversation

PowerfulBacon
Copy link
Member

@PowerfulBacon PowerfulBacon commented Jul 16, 2024

All in all, I realise that making unique weapons without combat mode is near impossible, so this is the best that you get for now.

About The Pull Request

Changes several aspects about the tonfa, simplifies a lot of the behaviour (since it was unnecessarilly complex) and tries to keep some unique behaviours.

  • Removes the knock-out
  • Removes the weird and confusing variable damage code, it is very difficult to reason about something that changes its damage depending on the target's health.
  • Significant code improvements through simplifications.
  • Aiming for legs will knockdown targets with enough stamina damage, and will push them back to give them some time to recover and prevent chain attacks.
  • Fixes armour code using the wrong damage type.
  • Tonfa will now deal 5 damage on help mode. This is relatively minor considering the stamina damage and is still non-lethal, but if you are going to be using physical force against a target then they are going to need to get a bit of medical attention afterwards.
  • Tonfa is now the same size as the baton

Unarmoured:

Bodyzone Stun baton Tonfa
Chest/Head 3 hit crit, 0/24 brute help/harm, knockback 4 hit crit, 20/48 brute help/harm
Legs 3 hit disable 4 hit knockdown, 5 hit disable
Arms 2 hit disable 4 hit disable

Security Armour:

Bodyzone Stun baton Tonfa
Chest/Head 4 hit crit 7 hit crit
Legs 3 hit disable 4 hit knockdown, 5-7 hit disable
Arms 2 hit disable 4 hit disable

Captain Armour:

Bodyzone Stun baton Tonfa
Chest/Head 5 hit crit 8 hit crit
Legs 2 hit disable 4 hit knockdown, 6-7 hit disable
Arms 3 hit disable 4 hit disable

Why It's Good For The Game

The previous tonfa used bodyzone targeting code incorrectly, had some very complicated logic for what should be simple behaviours and had some things that people didn't find fun. I'm not a fan of having more security weapons that need balancing, but at least there are some unique properties to justify its existence.

The tonfa is a stun baton with EMP immunity, so it should be slightly worse than it while still having at least some unique element to give it a reason to exist.

Testing Photographs and Procedure

image

See testing tables above for results.

Changelog

🆑
code: Significant code improvements on the tonfa.
balance: Tonfa no longer causes unconciousness or paralysis, instead using regular stamina damage.
balance: Tonfa's damage has been standardised to make it easier to balance.
balance: Tonfa leg attack causes knockdown and pushback if the target has enough stamina damage.
balance: Tonfa is now the same size as the baton
/:cl:

@TsunamiAnt
Copy link
Contributor

Why the pushback to prevent chains? I thought the whole reason for the tonfa was comboing hitchains?

@PowerfulBacon
Copy link
Member Author

There is nothing special about the tonfa for combing or hit-chaining, it is a standard melee weapon by all accounts. The push-back is to prevent the knock-down being an immediate win by giving the other person a short chance before the next attack, and to give them the advantage of being in the defending position.

@TsunamiAnt
Copy link
Contributor

huh. fair enough. Is the knockdown longer then? Because it used to be just like a small stumble. Otherwise you're kinda hitting your enemy to give them an advantage.

@PowerfulBacon
Copy link
Member Author

Knockdown ranges from 0 to 4 seconds between 22 and 72 damage.

@Fronsis
Copy link

Fronsis commented Jul 16, 2024

Would it be possible to include a short video showcasing the knockdown-push back of the Tonfa alongside the action of critting someone? The rest seems fair enough to have it on a table, I recall you've shown recordings for testing evidence in the past like in your slowdown PR's. You can't really give a good feedback or to confirm the testing evidence solely based on a screenshot that show some naked spacemen, i, and i'm sure others, would greatly appreciate a video for testing evidence.

As for the rest it seems these are good balancing changes for the Tonfa

That's all thank you.

@PowerfulBacon
Copy link
Member Author

Ah yea, my laptop is on windows 11 so PRs on that always have video since it's built into snipping tool but anything on my PC is pictures.

@Rukofamicom
Copy link
Contributor

Would you consider making tonfa the same size as batons? This was one of the bigger upsides it had alongside emp immunity - they take up half the size of a baton.

@PowerfulBacon
Copy link
Member Author

Okay

@DarnTheMarn
Copy link
Contributor

It should also take up the same slot on the sec belt as the stun baton so you can't carry two baton type items on you at a time just saying.

@TsunamiAnt
Copy link
Contributor

MERGE IT ALREADY!!!!

Copy link
Contributor

@Rukofamicom Rukofamicom left a comment

Choose a reason for hiding this comment

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

I would still like to see the Tonfa as a large sized item, but not enough to block this.

code/game/objects/items/melee/misc.dm Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
Copy link
Member

@EvilDragonfiend EvilDragonfiend left a comment

Choose a reason for hiding this comment

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

Code looks alright, but I think Bacon should merge this himself when he thinks it's good to go.

Copy link

This pull request has conflicts, please resolve those before we can evaluate the pull request.

@Nakalon
Copy link
Contributor

Nakalon commented Sep 7, 2024

It took me a long while to make this weapon.
I made it with the little knowledge I had available and I did the best I could.

I don't know if the result of my work reflected my goals or intentions.
When I made the Tonfa I didn't want it to be a suitable alternative to the stun baton.

It was meant to be a Roleplayers weapon.
You couldn't use the billy club in combat because you'd be bwoinked.
And at the time the stun batton was a 2 hit stam crit, so that was boring.
I wanted to create something dynamic and fun.

Hits to the legs would sometimes trip the target, but it wasnt anything useful, it was like half a second or so accompanied by a banana peel sound effect.
Hits to the arms would make people drop their weapon as other batons.
Hits to the torso would be the most efficient way to stam crit a target.
The final hit to the head was meant to be a secondary tool that could be used as a flash, giving enough time to handcuff the enemy.
I never understood what people had against the sleep that they don't have against the flash.
It at least has a funny sound to it, and it lasts no longer than the alternative.

I remember at that time, I had decided to make the weapon rather weak. But I was told otherwise. I was told to increase the damage, which was something I didn't really want to do to begin with.

Its all well and good with cleaning up my awful code and all that, but I think this basically kills what I had envisioned for the weapon.

It becomes another boring tool. Another Stun baton, which was what no one wanted it to become.

I know you know better than me, and that I'm probably wrong and speaking on behalf of my idea.

But please, please consider just cleaning the code, making the weapon bigger and nerfing the damage, but keeping the weapon and its unique skills as they are.

This was meant to be a flavor weapon, for RP, for people who enjoy that 1v1 with the unruly bar patron armed with a stool.

Please please consider my words, even if you decide to go against them.
Cheers!

@Nakalon
Copy link
Contributor

Nakalon commented Sep 7, 2024

#10982

Whoever made this did not understand why I made the tonfa AT ALL.

"Using the tonfa is a nightmare. I understand it is intended to be used as a backup currently, but it doesn't do enough stamina damage to knock someone out usually requiring upwards of 6-7 hits."

No it was not. At all. As I've stated previously.

That high amount of hits was ideal, and I wanted it to be like 10 at the time.

I beg, revert these damage changes, see how the meta shifts for a week or so and make a final decision.

@@ -299,6 +299,7 @@
if (H.check_shields(src, 0, "[user]'s [name]", MELEE_ATTACK))
return
if(check_martial_counter(H, user))
log_combat(user, target, "attampted to attack", src, "(blocked by martial arts)")
Copy link
Contributor

Choose a reason for hiding this comment

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

spelling

@@ -104,7 +104,7 @@
transparent = TRUE

/obj/item/shield/riot/attackby(obj/item/W, mob/user, params)
if(istype(W, /obj/item/melee/baton))
if(istype(W, /obj/item/melee/baton) || istype(W, /obj/item/melee/tonfa))
Copy link
Contributor

Choose a reason for hiding this comment

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

should probably include /obj/item/melee/classic_baton subtypes too, no?

It should clunk if I hit it with a tonfa, stunbaton, Billy club, or det baton

Copy link
Member Author

Choose a reason for hiding this comment

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

I'll let it work for any melee weapon that isn't sharp

code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
@Rukofamicom Rukofamicom added this pull request to the merge queue Oct 4, 2024
Merged via the queue into BeeStation:master with commit 40604cc Oct 4, 2024
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants