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

Executions #24150

Merged
merged 25 commits into from
Jan 17, 2024
Merged

Executions #24150

merged 25 commits into from
Jan 17, 2024

Conversation

Veritius
Copy link
Contributor

@Veritius Veritius commented Jan 16, 2024

About the PR

Adds an Execute verb that lets you murder cuffed people (or yourself!) with melee weapons or guns.
This is mostly for dramatic/roleplay purposes, such as a televised execution of heads by the revolutionaries.

Clumsy people can also botch executions and hurt themselves instead.

I've tested it, you can indeed play Russian Roulette. Or Buckshot Roulette.

Why / Balance

All executions do 9x more damage than the weapon would do usually, and ignore resistances.
Executions have a doafter and cannot miss as long as the doafter completes.

Melee executions are balanced by their attack speed. Faster attack speed means a faster execution.
Gun executions always take six seconds. Might change this idk.

Technical details

Any entity with the Sharp and MeleeWeapon components or the Gun component can execute, as long as the total damage isn't 0. This makes it possible to execute with all knives, spears, and axes, since they can butcher. You can't execute with plushies, sadly.

The gun execution part of the code is pretty shit, I'm not gonna lie. To achieve some special behaviors for executions, some code had to be repeated. Also, I committed a great sin by getting a component from an entity prototype. I'm sorry Sloth (no I'm not).

Changelog
🆑

  • add: You can now dramatically execute cuffed people.
  • add: You can now kill yourself with guns.

@Veritius Veritius marked this pull request as draft January 16, 2024 09:30
@UbaserB
Copy link
Member

UbaserB commented Jan 16, 2024

based

@CrigCrag
Copy link
Contributor

would it be possible to allow self-execution while not cuffed

@Veritius
Copy link
Contributor Author

would it be possible to allow self-execution while not cuffed

definitely but why would you do that

@CrigCrag
Copy link
Contributor

would it be possible to allow self-execution while not cuffed

definitely but why would you do that

you currently cant shoot yourself which comes up occasionally in rp

@Emisse
Copy link
Contributor

Emisse commented Jan 16, 2024

definitely but why would you do that

i want to kill myself

@Veritius
Copy link
Contributor Author

definitely but why would you do that

i want to kill myself

understandable i'll add that

@mirrorcult
Copy link
Contributor

also definitely allow self execution yes

@Emisse
Copy link
Contributor

Emisse commented Jan 16, 2024

needs to work with revolvers for russian roullete as well

@Hmeister-real
Copy link
Contributor

Finally, an alternative to gibbing people

@Errant-4
Copy link
Member

Errant-4 commented Jan 16, 2024

(About self-execution)Isnt there already a contextual text output for ghost or suicide while holding a weapon?

@deltanedas
Copy link
Contributor

i think thats just a half implemented ss13 thing ive never seen it ingame

@Kadeo64
Copy link
Contributor

Kadeo64 commented Jan 16, 2024

i think thats just a half implemented ss13 thing ive never seen it ingame

well there's custom ghost/suicides for standing next to toilets and microwaves but no custom weapon ones iirc

@Kadeo64
Copy link
Contributor

Kadeo64 commented Jan 16, 2024

Wait, can you execute someone while they're stamcrit? omega soap/clown PDA + crusher glaive = instant kill?

@LordCarve
Copy link
Contributor

Should the verb show if combat mode is not enabled? IMO it should only show when combat mode is enabled. Reduces clutter and lowers the incidence of... accidental executions *shudder*.

It does create the edge case of someone toggling combat mode after context menu is up, but we can probably ignore that (for now at least). Requiring a player to reopen the context menu isn't a huge deal in an execution scenario (plus, fast-hands executions is probably not something that we want to encourage in the first place).

I feel like execution of all things absolutely requires a decisive and deliberate harm intent.

@CRISOOOOO
Copy link

I don't know if this fits in this pr, but if we are talking about execution, what about adding a eletric chair for sec make executions of criminals?

@Hmeister-fake
Copy link
Contributor

Out of curiosity... will you be able to commit seppuku

Yesh, you can.

@Veritius Veritius marked this pull request as ready for review January 16, 2024 23:00
@Veritius
Copy link
Contributor Author

if you shoot someone with a bang ded it gibs them btw

@Veritius
Copy link
Contributor Author

Should the verb show if combat mode is not enabled? IMO it should only show when combat mode is enabled. Reduces clutter and lowers the incidence of... accidental executions shudder.

It does create the edge case of someone toggling combat mode after context menu is up, but we can probably ignore that (for now at least). Requiring a player to reopen the context menu isn't a huge deal in an execution scenario (plus, fast-hands executions is probably not something that we want to encourage in the first place).

I feel like execution of all things absolutely requires a decisive and deliberate harm intent.

I don't want to add anything to do with harm intent. Harm intent sucks. I don't like harm intent.

@Veritius
Copy link
Contributor Author

I think it should always kill instead of critting. Maybe buff the damage multiplier or just make it deal a set amount of damage (pierce or slash depending on if it is a gun or a knife) to instantly kill. "Executing" someone twice because you didn't kill them the first time is unprofessional.

I am interested in potentially making it always kill, but I don't want stun+cuff+execute to be too insanely broken. I'd want some feedback by others first.

@Emisse
Copy link
Contributor

Emisse commented Jan 16, 2024

the way it currently is is fine

@LordEclipse
Copy link
Member

Should the verb show if combat mode is not enabled? IMO it should only show when combat mode is enabled. Reduces clutter and lowers the incidence of... accidental executions shudder.
It does create the edge case of someone toggling combat mode after context menu is up, but we can probably ignore that (for now at least). Requiring a player to reopen the context menu isn't a huge deal in an execution scenario (plus, fast-hands executions is probably not something that we want to encourage in the first place).
I feel like execution of all things absolutely requires a decisive and deliberate harm intent.

I don't want to add anything to do with harm intent. Harm intent sucks. I don't like harm intent.

Would you be able to make it cause the person performing it to emote something like "(name) raises their (weapon) to (name)'s head"

@Veritius
Copy link
Contributor Author

Should the verb show if combat mode is not enabled? IMO it should only show when combat mode is enabled. Reduces clutter and lowers the incidence of... accidental executions shudder.
It does create the edge case of someone toggling combat mode after context menu is up, but we can probably ignore that (for now at least). Requiring a player to reopen the context menu isn't a huge deal in an execution scenario (plus, fast-hands executions is probably not something that we want to encourage in the first place).
I feel like execution of all things absolutely requires a decisive and deliberate harm intent.

I don't want to add anything to do with harm intent. Harm intent sucks. I don't like harm intent.

Would you be able to make it cause the person performing it to emote something like "(name) raises their (weapon) to (name)'s head"

It already sends a popup.

@metalgearsloth
Copy link
Contributor

I don't want to add anything to do with harm intent. Harm intent sucks. I don't like harm intent.

At some point you need to check CanAttack or combatmode toggling or else this would bypass pacifism.

@VasilisThePikachu
Copy link
Member

VasilisThePikachu commented Jan 16, 2024

Out of curiosity... will you be able to commit seppuku

Yesh, you can.

You lied. There's nothing about meleeing yourself on the abdomen like seppuku.

Maybe make it a component so you can for example put "ExecutionComponent" or something and give it some ftl files. So you can put it for example into the captains sabree and you can change the self melee harm one to,,, uh seppuku

Can you tell I'm a weeb?

Thats just a suggestion btw

@Veritius
Copy link
Contributor Author

I don't want to add anything to do with harm intent. Harm intent sucks. I don't like harm intent.

At some point you need to check CanAttack or combatmode toggling or else this would bypass pacifism.

oh yeah let me do that quickly

@Veritius
Copy link
Contributor Author

Out of curiosity... will you be able to commit seppuku

Yesh, you can.

You lied. There's nothing about meleeing yourself on the abdomen like seppuku.

Maybe make it a component so you can for example put "ExecutionComponent" or something and give it some ftl files. So you can put it for example into the captains sabree and you can change the self melee harm one to,,, uh seppuku

Can you tell I'm a weeb?

I was considering making a component that lets you give unique messages when executing, but eh, that's a lot of work for a pretty minor thing.

@LordEclipse
Copy link
Member

Should the verb show if combat mode is not enabled? IMO it should only show when combat mode is enabled. Reduces clutter and lowers the incidence of... accidental executions shudder.
It does create the edge case of someone toggling combat mode after context menu is up, but we can probably ignore that (for now at least). Requiring a player to reopen the context menu isn't a huge deal in an execution scenario (plus, fast-hands executions is probably not something that we want to encourage in the first place).
I feel like execution of all things absolutely requires a decisive and deliberate harm intent.

I don't want to add anything to do with harm intent. Harm intent sucks. I don't like harm intent.

Would you be able to make it cause the person performing it to emote something like "(name) raises their (weapon) to (name)'s head"

It already sends a popup.

I meant as an EMOTE, so that people can actually see it in chat, the pop up is nice but those last only a few seconds

@Veritius
Copy link
Contributor Author

Should the verb show if combat mode is not enabled? IMO it should only show when combat mode is enabled. Reduces clutter and lowers the incidence of... accidental executions shudder.
It does create the edge case of someone toggling combat mode after context menu is up, but we can probably ignore that (for now at least). Requiring a player to reopen the context menu isn't a huge deal in an execution scenario (plus, fast-hands executions is probably not something that we want to encourage in the first place).
I feel like execution of all things absolutely requires a decisive and deliberate harm intent.

I don't want to add anything to do with harm intent. Harm intent sucks. I don't like harm intent.

Would you be able to make it cause the person performing it to emote something like "(name) raises their (weapon) to (name)'s head"

It already sends a popup.

I meant as an EMOTE, so that people can actually see it in chat, the pop up is nice but those last only a few seconds

i could if someone tells me how to do it

@Emisse Emisse merged commit 2e83f5a into space-wizards:master Jan 17, 2024
10 checks passed
metalgearsloth added a commit to metalgearsloth/space-station-14 that referenced this pull request Feb 25, 2024
This reverts commit 2e83f5a.

# Conflicts:
#	Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs
metalgearsloth added a commit that referenced this pull request Feb 25, 2024
* Revert "Cleanup ExecutionSystem (#24382)"

This reverts commit bcbe2ec.

* Revert "Executions (#24150)"

This reverts commit 2e83f5a.

# Conflicts:
#	Content.Shared/Weapons/Melee/SharedMeleeWeaponSystem.cs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.