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

Require Wield To Activate Double-bladed ESword #32869

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

thetolbean
Copy link
Contributor

@thetolbean thetolbean commented Oct 17, 2024

About the PR

Despite being balanced around being wielded, the double-bladed esword could be swung using only one hand if activated on the ground and then picked up. Now, the double-bladed esword can only be activated by wielding it, and can not be activated on the ground. This means that throwing it, putting it down, or dropping it turns the blade off.

Why / Balance

Fixes #32772 and enforces intended weapon balancing.

Technical details

Add onActivate: false component to the double esword, preventing it from being activated outside of the user wielding it.

Requirements

Changelog

🆑

  • tweak: The double-bladed esword now can only be activated when wielded.

@github-actions github-actions bot added the No C# For things that don't need code. label Oct 17, 2024
@ScarKy0
Copy link
Contributor

ScarKy0 commented Oct 17, 2024

Hopefully this doesnt break the syndie assault borg's esword?

@thetolbean
Copy link
Contributor Author

thetolbean commented Oct 17, 2024

Hopefully this doesnt break the syndie assault borg's esword?

I tested both, and this does not affect the [one handed] variant that the borgs use, so they may continue to one "hand" their swords

@thetolbean
Copy link
Contributor Author

{3EE4C8A7-D0B7-45F8-93D2-3B89EDF709D8}

I have realized that the double bladed esword is more broken than I had originally thought. If you enable it on the floor and then pick it up, you can no longer attack with it, but the model is broken as it pairs the wielded blades with the unwielded handle. Looks like I will have to turn it off on pickup

@thetolbean thetolbean marked this pull request as draft October 17, 2024 18:53
@thetolbean
Copy link
Contributor Author

This change also prevents people from attacking with it when it is unpowered as well, so I am going to have to look into degerming if it is powered on or off

@keronshb
Copy link
Contributor

{3EE4C8A7-D0B7-45F8-93D2-3B89EDF709D8}

I have realized that the double bladed esword is more broken than I had originally thought. If you enable it on the floor and then pick it up, you can no longer attack with it, but the model is broken as it pairs the wielded blades with the unwielded handle. Looks like I will have to turn it off on pickup

Some of this is fixed in the hypereutactic blade PR, so you can lift some of the fixes from that

@thetolbean thetolbean marked this pull request as ready for review October 17, 2024 19:55
@thetolbean thetolbean changed the title Require Wield To Swing Double-bladed ESword Require Wield To Activate Double-bladed ESword Oct 17, 2024
@thetolbean
Copy link
Contributor Author

I have modified how I've gone about this

Initially I had added the MeleeRequiresWield component, but that had a few unintended side effects:

  • You could not attack with the weapon turned off
  • You still get the benefit of the high reflect chance
  • The sprite is completely broken

The route i have gone now, is adding the parameter onActivate: false to the itemToggle component. This has one issue which is not game breaking or vital:

  • You can no longer put down, drop, or throw the weapon without it deactivating

However, this has the pros of:

  • You can attack with the weapon turned off
  • You no longer get the benefits of the high reflect chance without wielding it
  • The sprite behaves as intended
  • You can no longer have the activated weapon in one hand

@keronshb
Copy link
Contributor

I have modified how I've gone about this

Initially I had added the MeleeRequiresWield component, but that had a few unintended side effects:

* You could not attack with the weapon turned off

* You still get the benefit of the high reflect chance

* The sprite is completely broken

The route i have gone now, is adding the parameter onActivate: false to the itemToggle component. This has one issue which is not game breaking or vital:

* You can no longer put down, drop, or throw the weapon without it deactivating

However, this has the pros of:

* You can attack with the weapon turned off

* You no longer get the benefits of the high reflect chance without wielding it

* The sprite behaves as intended

* You can no longer have the activated weapon in one hand

https://github.com/space-wizards/space-station-14/pull/32414/files#diff-f50dce3ddc3b090c3a6851ce337a78cf0d86c78cc10eb8061f630a8106d7e4c6

MeleeRequiresWield works for this.
You need to do some sprite renaming for it to work properly.

@thetolbean
Copy link
Contributor Author

thetolbean commented Oct 17, 2024

https://github.com/space-wizards/space-station-14/pull/32414/files#diff-f50dce3ddc3b090c3a6851ce337a78cf0d86c78cc10eb8061f630a8106d7e4c6

MeleeRequiresWield works for this. You need to do some sprite renaming for it to work properly.

This does prevent the user from attacking with the weapon in one hand, which is part of the issue, but it does not take into account if the weapon is activated or not. So if someone wants to hit someone with the blades disabled, it prevents them.

This would also require new sprites, as the Dsword does not have a sprite for an unwielded blade, only an unwielded handle and wielded blades.

The main issue with allowing it to be used in one hand is the high reflect chance. If you have it in one hand, you still have the benefit of the 75% reflect chance, which is balanced under the assumption that it will only be held in both hands. In comparison to the eshield it has a lower reflect chance, but it also doesn't burn out and provides a constant reflection bonus.

In my implementation, it prevents the dsword not only from attacking with one hand, but it also prevents it from providing its above average reflection chance when it isn't supposed to.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
No C# For things that don't need code.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Single-hand wield dsword when opened in container/on the floor
3 participants