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 need cleanup #24180

Open
metalgearsloth opened this issue Jan 17, 2024 · 19 comments · Fixed by #24382
Open

Executions need cleanup #24180

metalgearsloth opened this issue Jan 17, 2024 · 19 comments · Fixed by #24382

Comments

@metalgearsloth
Copy link
Contributor

#24150 still needs reviewing e.g.

  • It needs prediction.
  • It has a bunch of unnecessary null suppression.
  • It copies shooting code.

Anything else this is just what I saw at a glance.

@Veritius
Copy link
Contributor

i dont know why emisse merged it, i was waiting for reviews tbh

@Emisse
Copy link
Contributor

Emisse commented Jan 17, 2024

worked in testing so wanted to see if players used it/liked it/if it was abused

@Veritius
Copy link
Contributor

ok that's fair

@Veritius
Copy link
Contributor

Veritius commented Jan 17, 2024

Additionally, I want pacifists to be able to execute with cap guns, so they can play russian roulette.

To my future self: Just add the pacifism check to the doafter function along with a damage check. Say something like "You can't bring yourself to pull the trigger!"

Though, this might be used to metagame fake cap guns. More thought needed.

@Veritius
Copy link
Contributor

Also explosive projectiles should explode when you execute with them.
This includes the RPG and China Lake.

@TheGoudaMan
Copy link
Contributor

TheGoudaMan commented Jan 18, 2024

There's an issue with executions: if you'll try to execute someone with empty shell the gun will shoot as if shell wasn't spent, so this needs a fix too.
The problem should go away with proper implementation of SharedGunSystem I think, because it already handles empty cases.
It's easy to make a hotfix for empty casings for current state code tho. Makes sesne to do since its already merged.

With that said, me and ppl I play with are really into this feature.
If shooting yourself/executing someone with RPG is allowed, I think we should change message "you put X muzzle in mouth" into "You feel this is a really bad/dumb idea..." for a gag

@Veritius
Copy link
Contributor

Ideally, executions shouldn't repeat any of gunsystem's code.
Currently there's a bunch of weird edge cases because executions take ammo but don't actually 'fire' anything.

@TheGoudaMan
Copy link
Contributor

I mean, you need to use SharedGunSystem then, maybe change it a bit so you can call some sort of event like "close shot at X"? I feel something like that would be step in right direction
Because I don't think you can use gunsystem this way now (or I don't see it yet) without running entire control flow, firing the actual round at some direction with recoil, so it makes sense to update system a bit.
Without using system you'll be missing a lot of gunplay features like opening bolt, case ejecting etc. Which isn't that bad, but if gunsystem will evolve even more in future, those edge cases will become much more apparent

@metalgearsloth
Copy link
Contributor Author

Also another large problem is this entirely bypasses the existing system (suicidesystem) for it so you have 2 versions doing the same thing.

@UbaserB
Copy link
Member

UbaserB commented Jan 19, 2024

Also another large problem is this entirely bypasses the existing system (suicidesystem) for it so you have 2 versions doing the same thing.

Regarding this, i feel like the thing to do is remove /suicide (since executions are now the new "suicide" which is much more intuitive and enjoyable. Ghost could be kept though if you really just need to ghost quickly and you can't execute yourself, which is also still RP friendly as you can consider them as "suffering from an acute onset of catatonic SSD, at unfortunate timing."

@Emisse
Copy link
Contributor

Emisse commented Jan 19, 2024

no, suicide is useful if youre stuck somewhere or for debugging

@UbaserB
Copy link
Member

UbaserB commented Jan 19, 2024

no, suicide is useful if youre stuck somewhere or for debugging

thats exactly what ghost does, which is what i mentioned.

@deltanedas
Copy link
Contributor

deltanedas commented Jan 19, 2024

Though, this might be used to metagame fake cap guns. More thought needed.

its already trivial to check what kind it is with 45 magnum rounds

pacifism is a mental thing so if the player ic thinks the gun is a toy they wont have a problem using it...

@Veritius
Copy link
Contributor

no, suicide is useful if youre stuck somewhere or for debugging

I agree. /suicide and /ghost are useful for debugging or when your game is fucked. Executions are for dramatic finishing moves like the coup de grace of a revolution. Or Russian Roulette.

@nikthechampiongr
Copy link
Contributor

I think I'll work on this.

@Veritius
Copy link
Contributor

I'm already doing it

@nikthechampiongr
Copy link
Contributor

nikthechampiongr commented Jan 20, 2024

I'm already doing it

Oh. Well I got carried away and just kinda did most of it already.

I won't make a pr but if you want I can just give you my changes.

I have not yet re-implemented the clumsy chance for a clown to shoot themselves, or the special modifier for melee weapons based on swing speed.

Although now it's all in shared, it is not just copying the gun system, nulls are handled properly, and the constants in the system and loc strings on a component.

@Veritius
Copy link
Contributor

Veritius commented Jan 20, 2024

you might as well pr it then
while you're at it, address some other problems in this issue like china laking yourself. i was gonna do that in the same pr as the fixes

@metalgearsloth
Copy link
Contributor Author

Still needs more work.

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 a pull request may close this issue.

7 participants