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

Police Tonfa - Sec Stun Baton alternative #10112

Merged
merged 21 commits into from Mar 28, 2024

Conversation

Nakalon
Copy link
Contributor

@Nakalon Nakalon commented Oct 30, 2023

About The Pull Request

This adds a new subtype of police baton, the Wooden Baton and places it up for purchase in the sectech vendor.

The idea was copying the deputy baton and change it so it feels better to play with and is more available.

The baton inherits most regular baton traits however the following is different:

  • It displays attack animation on stamina attacks.
  • It has less brute damage than the other batons (12). Having now the same brute (8) and throw damage (7) as the stun baton but, like the billy club, applies stam damage on harm as well (same as brute, 8)
  • Deals more stamina damage (25) than the Deputy Baton (20) but considerably less than the Detective Baton (55)
  • It has no cooldown as opposed to the Deputy Baton (10) and Detective Baton (20).
  • Targeting different limbs has different outcomes:

Targeting the torso is the fastest way to stam crit.
Targeting the head will knock the target unconscious if his stamina damage is above 89.
Targeting the hands will disarm the person after 3 hits.
Targeting the legs makes the target trip.

A Huge Huge thanks to Haliris, without him losing like 3 hours explaining things to me this would have never happened.
Another Huge thanks to Absolucy who helped me with the cooldown and emoting.
Also a hearty thanks to Benbot, Tonty and Dejaku for giving me what I needed to figure out how to solve my problem!

Why It's Good For The Game

It's meant to add an interesting alternative to the stun baton. Thus creating more RP opportunities for different types of characters (flavor).
It's meant to FEEL like combat without actually hurting the individual and meant to give a better conclusion to an arrest than a 2 tap stun baton if the suspect decides to fight.
It also would be difficult to type bait someone into stamcrit with this weapon.
By giving different limb targeting different outcomes more flavor is added to how the player decides to roleplay with the weapon.
Adds tactical depth as to which limb to target.

Concerns

Since I couldn't really force a custom emote I had to go through a different route of making a Knock-Out very clear. It may be a little too immersion-breaking right now and more on the funny side. I personally enjoy it but it is currently not at the level I wanted it to be.
I was unable to test both the Force Say and Knock-out at the same time for obvious reasons. It SHOULD work currently, but I have no proof other than the chatbox text disappearing as seen on the video.
📝Tweaks done, only thing left to do if possible is to make the emote show up in runechat how I originally intended, but this can be done at a later date.

Testing Photographs and Procedure

Screenshots&Videos

🆕CURRENT STATE:
https://youtu.be/TroaLrOI5aU

image

image

image

image

Changelog

🆑 PinkSuzuki feat Absolucy
Added: Police Tonfa
Added: Police Tonfa available at SecTech Vendor.
On this Weapon, limb attacks work as such on any intent but harm:

  • Torso: 4 hits to Stam-Crit unarmored.
  • Head: Knocks a target to Sleep if stamina damage is above a certain threshold, 5 hits to Sleep.
    When Knocked-Out the target will be healed of all stamina damage.
    Knock-Out has a duration of 8 seconds and a Cool-Down of 16 seconds (per target).
  • Arms: Deals some stamina damage to the limb, but transfers the rest to the torso.
    Disarm happens at 3 hits unarmored. 8 hits unarmored to Stam-Crit.
  • Legs: Deals some stamina damage to the limb, but transfers the rest to the torso.
    Attacking a Stam-Disabled leg trips the target. This ability has a 3-second cooldown (per target).
    Tripping has a duration of 0.7 seconds.
    Limb disabled at 2 hits unarmored. 7 hits unarmored to stam crit.
    Harm Intent deals 8 brute damage and 8 stamina damage.

Code: Added a get_staminaloss proc for item/bodypart

/:cl:

Adds farting to Bee Station
This reverts commit 68de4ce.
Adds a wooden baton. Included in sectech vendor.
Reduced cooldown to imitate regular combat.
Changes how the weapon functions upon targeting different body parts.
Nerfs knockdown to the ground.
@Nakalon
Copy link
Contributor Author

Nakalon commented Oct 31, 2023

Made changes to adress finger's concerns. Have updated the PR to reflect them.

https://youtu.be/PfaXlDFxoFc

https://youtu.be/q6Z-Hb7A9JM

@itsmeow
Copy link
Member

itsmeow commented Oct 31, 2023

How is this different from the billy club, flavor wise?

@Nakalon
Copy link
Contributor Author

Nakalon commented Oct 31, 2023

How is this different from the billy club, flavor wise?

I like how the Billy Club feels, but you can't use it for arrests because of the damage it deals according to the rules. Also the billy club has no solo stamina loss option. I would be fine with moving these changes to the billy club (on intents other than HARM) if you think its better! But I liked the idea of "billy club lite"

I also intended to sprite this black in the future, if I'm able to figure that out and perhaps add different sounds. Depends on how its received by everyone!

However, I should note it behaves more like classic batons already in the game than the billy club!

And the billy club already has its niche in breaking windows and shields!

@Fronsis
Copy link

Fronsis commented Oct 31, 2023

As OP pointed, Billy Club purpose is to break shields and smash windows with the bonus of cracking some skulls open.

This item looks interesting and seems like a fairly better version than what the det and heads of staff get, unsure about the sleep resetting stam damage it's an.. interesting interaction? but i'm sure it could cause more missplays than anything. Specially as you pointed it out, when another officer is helping you arrest someone, considering that Sec is supposed to play as a team that would end up happening a lot and could become quite frustrating, if anything at least it requires to target the head but i don't see the logic on a bash to the head that puts you to sleep and heals your stam damage

@Nakalon
Copy link
Contributor Author

Nakalon commented Oct 31, 2023

As OP pointed, Billy Club purpose is to break shields and smash windows with the bonus of cracking some skulls open.

This item looks interesting and seems like a fairly better version than what the det and heads of staff get, unsure about the sleep resetting stam damage it's an.. interesting interaction? but i'm sure it could cause more missplays than anything. Specially as you pointed it out, when another officer is helping you arrest someone, considering that Sec is supposed to play as a team that would end up happening a lot and could become quite frustrating, if anything at least it requires to target the head but i don't see the logic on a bash to the head that puts you to sleep and heals your stam damage

Hey Morgan! This was only a solution made so that the player wouldn't be able to lock some into sleep forever. My idea being that the sleep is long enough for even the newest sec players to handcuff them. However, having consecutive hits heal stam damage is a bad solution and I've thought of a better way to do it now! Will update today!! Thank you for your feedback!

Changes how the knock out blow to the head works.

Adds a sound, an emote and flavour text to it.
Also adds force say.

Reverts changes made to how new attacks would heal the targets stam damage.
Also adds a cooldown to a batons ability to sleep (20 seconds)

Added some lines to make code easier to read.
@Nakalon
Copy link
Contributor Author

Nakalon commented Nov 1, 2023

New changes made to the head attack.

Describing them above shortly.

https://youtu.be/inqs5_EeZhA

Capitalizes the O in "Knock-Out!" to make it more like something you'd see in a fighting game.
@Nakalon
Copy link
Contributor Author

Nakalon commented Nov 1, 2023

Edited the change log as I didn't know exactly how it was used.
It now reflects only the changes made by this PR when it gets merged to the game.

This, I believe, is ready for review!

@DarnTheMarn
Copy link
Contributor

This is more personal preference, but RNG combat sucks. Sometimes it'll fuck you, sometimes it'll save you. It'd be more consistent with the rest of the baton if the leg sweep had a 100% chance of applying on the fifth strike since that's where it'd average out since the sleep already applies past a certain amount of hits already

@Nakalon
Copy link
Contributor Author

Nakalon commented Nov 1, 2023

This is more personal preference, but RNG combat sucks. Sometimes it'll fuck you, sometimes it'll save you. It'd be more consistent with the rest of the baton if the leg sweep had a 100% chance of applying on the fifth strike since that's where it'd average out since the sleep already applies past a certain amount of hits already

Good idea! I do agree with you! I also don't think RNG combat is good.
However, to make sure that you can't expect it and somehow have a second person with a flash ready to cheese the trip I made it like this.

I could make it so it trips you past a point indeed, but that would make you be able to knockdown lock people, unless I also add....

Hold on, I'll add stamina regen to both the disarm and leg trip!

Thank you Darn for the idea!!

Uh I just rethinked this. Don't think it would be that simple for the legs, however I will think of a way to do it for arms

FURTHERMORE: I should add the trip is merely there for flavor, there is significant combat advantage to making the target trip for such a small time span I can think of!

@DarnTheMarn
Copy link
Contributor

Uh I just rethinked this. Don't think it would be that simple for the legs, however I will think of a way to do it for arms

Does this mean it is staying RNG? Not very clear lol. As for knockdown locking people, if they have enough time to whack your legs enough to keep you knocked down indefinitely you would have stayed stunned anyway. I do disagree with your last bitm knockdowns are quite powerful. They are a big time slow, and if you knock someone on the floor you can quickly shove them over and start a grab fight over whatever they are holding. Harder to pull off than it was pre nerf but it stops them from clicking on you which is pretty good imo.

@Nakalon
Copy link
Contributor Author

Nakalon commented Nov 1, 2023

Uh I just rethinked this. Don't think it would be that simple for the legs, however I will think of a way to do it for arms

Does this mean it is staying RNG? Not very clear lol. As for knockdown locking people, if they have enough time to whack your legs enough to keep you knocked down indefinitely you would have stayed stunned anyway. I do disagree with your last bitm knockdowns are quite powerful. They are a big time slow, and if you knock someone on the floor you can quickly shove them over and start a grab fight over whatever they are holding. Harder to pull off than it was pre nerf but it stops them from clicking on you which is pretty good imo.

What I meant was that this knock down lasts less than a second. Its there more for flavour other than anything.
Other police batons are able to speedrun an arrest with trip and flash.
I don't mean to keep it RNG, but since its there for flavour its not REALLY important that I change that before this gets merged, so I will think about it at a later point. Even before that if I have a better idea!

Adds some balance changes to ensure limb damage cannot be cheesed to reach stam crit faster.

Also adds a new get_staminaloss proc for limbs.
@Nakalon
Copy link
Contributor Author

Nakalon commented Nov 2, 2023

Made some adjustments related to @DarnTheMarn 's concerns.
Removed RNG totally.
Removed a possible exploit regarding limb stamina damage.
Added Tripping as a skill with cooldown that comes into effect when you hit a stamina disabled leg.
Removed the possibility of disabling both arms at the same time (at least now it should be nigh impossible).
Added a get_staminaloss proc for limbs

https://youtu.be/fgCGlcEEHH8

Nevermind, the program farted on me, will need to re-record. In the meantime will adjust a small number value which escaped me with the hole bunch of code I had to make for this.

@Nakalon Nakalon requested a review from tontyGH November 2, 2023 03:40
Missed some of the original values in recoding. They are now back.
@Nakalon
Copy link
Contributor Author

Nakalon commented Nov 2, 2023

Tweaked some numbers back to what they where before I rewrote everything.

https://youtu.be/v9Jjpvs8Zz0

Replaces the weapon cooldown by a per target.
Adds diminishing returns to random limb switching.
Cleans up the code some.
Adds the funny sound to tripping.
Adds proper logs and attack messages.
People on the ground can't be tripped anymore.
I think thats it.
@Nakalon
Copy link
Contributor Author

Nakalon commented Nov 2, 2023

This is now at a very epic state. I'm finally happy.

https://youtu.be/tjf4e3q4LLQ

code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
code/modules/surgery/bodyparts/bodyparts.dm Outdated Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
@Nakalon
Copy link
Contributor Author

Nakalon commented Nov 6, 2023

In addition to tring to adress Jix's concerns, I'm currently making a sprite for this item

@Nakalon
Copy link
Contributor Author

Nakalon commented Dec 19, 2023

See https://hackmd.io/@PowerfulBacon/bodyzone_targeting for a guide to updating the bodyzone targeting code, or ping me on discord for more help.

I don't think that link is working!

Also regarding balance, I felt that that could be changed later, I think the stun baton is too strong so I made this with that in mind!

@PowerfulBacon
Copy link
Member

Try now

@Nakalon Nakalon marked this pull request as draft January 5, 2024 22:54
@Nakalon
Copy link
Contributor Author

Nakalon commented Jan 5, 2024

converting this to draft while I don't fix what need fixing

@Nakalon Nakalon marked this pull request as ready for review January 13, 2024 23:03
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
code/game/objects/items/melee/misc.dm Outdated Show resolved Hide resolved
@DarnTheMarn
Copy link
Contributor

I had a thought, since this is purchasable from the vendor, what's to stop any security officer from just batoning people to stamina crit, then bonking them on the head with this repeatedly to knock them and keep them unconscious. That would effectively make escaping a non starter even if you had a freedom implant or a buddy with you and is not very fun.

@Nakalon
Copy link
Contributor Author

Nakalon commented Jan 16, 2024

I had a thought, since this is purchasable from the vendor, what's to stop any security officer from just batoning people to stamina crit, then bonking them on the head with this repeatedly to knock them and keep them unconscious. That would effectively make escaping a non starter even if you had a freedom implant or a buddy with you and is not very fun.

The sleep mechanic has a per mob cooldown. So while you can use a stun baton and then this as opposed to using a flash lets say, you can't keep them down forever. You can theoretically keep them down for as long as your stun baton is charged, but if I remember correctly this has like a 16 second cooldown. And when you're knocked unconscious you're healed of stamina damage. So it would be a challenge, but its more a stun baton problem haha

@Fronsis
Copy link

Fronsis commented Jan 16, 2024

Also people is most likely to use the baton as the go-to in most scenarios, if a meta develop around that it can be tweaked

Does this tonfa do any brute damage or just stamina damage? And what kind of sounds does it do when hitting? The one similar to det baton?

@Nakalon
Copy link
Contributor Author

Nakalon commented Jan 16, 2024

Also people is most likely to use the baton as the go-to in most scenarios, if a meta develop around that it can be tweaked

Does this tonfa do any brute damage or just stamina damage? And what kind of sounds does it do when hitting? The one similar to det baton?

Stamina damage only in any intent but harm. Theres a video of it! Yes it does the det sound effect!

I doubt this would be much used by how weak it is, but I'll have to see how people use it to change the damage levels accordingly

@DarnTheMarn
Copy link
Contributor

Also people is most likely to use the baton as the go-to in most scenarios

That doesn't matter, the hypothetical gamer would use the stun baton to get them down and then use this to keep them down permanently. What is the per mob cooldown, it should be pretty high considering sleep is a win condition you shouldn't need to proc it very often.

@Nakalon Nakalon marked this pull request as draft January 18, 2024 03:06
@Nakalon
Copy link
Contributor Author

Nakalon commented Jan 25, 2024

Also people is most likely to use the baton as the go-to in most scenarios

That doesn't matter, the hypothetical gamer would use the stun baton to get them down and then use this to keep them down permanently. What is the per mob cooldown, it should be pretty high considering sleep is a win condition you shouldn't need to proc it very often.

I thought I replied to this. The cooldown is of 16 seconds.
Which means you can't sleep someone after the first sleep for 16 seconds, not without another tonfa, not without a colleague that uses a tonfa.
The person won't be able to be knocked down for 16 seconds.

@Nakalon
Copy link
Contributor Author

Nakalon commented Jan 26, 2024

I buffed stamina damage on chest and head to more plausible numbers. Also added stamina damage to harm intent to compensate for how low the brute damage is, its the same as the brute damage, but will probably help if you decide to switch intents in the middle of the fight.

@Nakalon Nakalon marked this pull request as ready for review January 26, 2024 18:54
UnibelUnibel added a commit to UnibelUnibel/NSV13 that referenced this pull request Feb 29, 2024
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.

Looks like all the requested changes requested were handled a while ago and I'd rather not lose this after all the work that went into it.

@Rukofamicom Rukofamicom dismissed itsmeow’s stale review March 28, 2024 09:49

Old and addressed

@Rukofamicom Rukofamicom added this pull request to the merge queue Mar 28, 2024
Merged via the queue into BeeStation:master with commit 7d69906 Mar 28, 2024
8 checks passed
DrDuckedGoose pushed a commit to DrDuckedGoose/BeeStation-Hornet that referenced this pull request May 11, 2024
* Farting

Adds farting to Bee Station

* Revert "Farting"

This reverts commit 68de4ce.

* Adds Wooden Baton

Adds a wooden baton. Included in sectech vendor.

* Reduced Cooldown

Reduced cooldown to imitate regular combat.

* Tripping & Disarm change

Changes how the weapon functions upon targeting different body parts.
Nerfs knockdown to the ground.

* Changes to Head targeting behaviour + Removing Stamheal on attack

Changes how the knock out blow to the head works.

Adds a sound, an emote and flavour text to it.
Also adds force say.

Reverts changes made to how new attacks would heal the targets stam damage.
Also adds a cooldown to a batons ability to sleep (20 seconds)

Added some lines to make code easier to read.

* Capitalization

Capitalizes the O in "Knock-Out!" to make it more like something you'd see in a fighting game.

* Balance Adjustements and New Proc

Adds some balance changes to ensure limb damage cannot be cheesed to reach stam crit faster.

Also adds a new get_staminaloss proc for limbs.

* Small Number Tweak

Missed some of the original values in recoding. They are now back.

* The Near-Prefection update.

Replaces the weapon cooldown by a per target.
Adds diminishing returns to random limb switching.
Cleans up the code some.
Adds the funny sound to tripping.
Adds proper logs and attack messages.
People on the ground can't be tripped anymore.
I think thats it.

* New Naming and Sprite

A new name to the Baton, now its called OMNI Beater. Also has a new sprite and all that jazz

* Code Fix, Cooldown Fix, and Damage Buff

Fixes Cooldown - By Lucy
Tweaks the numbers a bit.

* oups, small number tweak

I made a mistake

* Name Change

Just a name change

* its good now

* Kat simplification

Co-authored-by: itsmeow <itsmeow@itsmeow.dev>

* Concerns adressed and buff

* added stamina damage on harm

---------

Co-authored-by: itsmeow <itsmeow@itsmeow.dev>
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.

None yet

10 participants