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

Add hostage ops (Nuke ops alternative objective) #2545

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

Conversation

beck-thompson
Copy link
Contributor

About the PR

Added hostage ops to nukies. Specifically:
When nukies start there is a 50/50 chance of them either going hostage ops or standard nuke the station.
To succeed in hostage op you need to:
1.) Kidnap 3 heads (Handcuff them)
2.) Steal the nuke disk

To help, hostage implants have also been added which pacify anyone implanted while also making them immune from syndicate turrets.

Why / Balance

Nukies are kind of boring and this will hopefully spice it up while also being more RP focus!

DISCLAIMER:
A lot of the stuff here was put together very quickly and isn't fully complete. Its more of a proof of concept to see if people actually like playing the objective. If direction ends up liking it then I'll come back and smooth over the edges!

Technical details

A lot of this stuff isn't the best but it works. Specifically:
1.) The nuke paper override is all suspect and should be done better. It does work well enough and for a real fix there needs to be a re-mapping of the shuttle which is going to suck.
2.) The NukieOperationSystems way of working is weird and it should probably listen for another event instead of just adding it when the first event hits.
3.) Probably more but I'm tired 😢

Media

Screenshot 2024-12-27 190110
Screenshot 2024-12-27 190135
Screenshot 2024-12-27 190222

Requirements

  • I have tested all added content and changes.
  • I have added media to this PR or it does not require an ingame showcase.

Changelog

🆑

  • add: Hostage ops. This is an alternative to nuclear operatives where you must kidnap the heads of the station!
  • add: Hostage implants. These implants pacify anyone implanted and make them immune from syndicate turrets.

@beck-thompson beck-thompson requested review from a team as code owners December 28, 2024 03:11
@github-actions github-actions bot added the S: Merge Conflict Fix your PR! label Dec 28, 2024
Copy link
Contributor

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

@github-actions github-actions bot added size/L 256-1023 lines Changes: YML Changes any yml files Changes: C# Changes any cs files Changes: Localization Changes any ftl files S: Needs Review labels Dec 28, 2024
@beck-thompson
Copy link
Contributor Author

As I was making the PR I also realized that hostage ops will always end in crew victory... I'll figure that out later 😆

@github-actions github-actions bot removed the S: Merge Conflict Fix your PR! label Dec 28, 2024
Content.Server/DeltaV/Antag/NukieOperationSystem.cs Outdated Show resolved Hide resolved
Content.Server/Nuke/NukeCodePaperSystem.cs Outdated Show resolved Hide resolved
Resources/Prototypes/DeltaV/Objectives/nukies.yml Outdated Show resolved Hide resolved
Resources/Prototypes/DeltaV/Objectives/nukies.yml Outdated Show resolved Hide resolved
Resources/Prototypes/ai_factions.yml Outdated Show resolved Hide resolved
@Lyndomen
Copy link
Contributor

This is hopefully part one of a nukie refresh, we will see. Direction 👍

@Smugman
Copy link
Contributor

Smugman commented Dec 28, 2024

I think more diverse objectives for nukies are a good idea, i myself had been idly toying with a "Syndicate Mission board" idea, allowing them to select from different kinds of operations, though i never figured out how to give people a reason to pick anything but Nukeops.

However, i think as a 50/50 chance, players might be dissapointed to see that they rolled nukies, only to not be nuking the station.
I also do not think hostage-ops is sufficient to carry the entire round, and might feel a bit underwhelming to both sides in terms of shaping the round.

However, I think tuned down non-nuking syndicate special ops teams would allows for nukies to be viable outside of them being the main gamemode, for example: Hostage ops as a Midround antag that doesnt want to destroy the station.

I think as it is, Hostage ops would not be as interesting for the nukies nor the Crew as plain Nukeops, and people would be unhappy to see that they "lost the coin toss".

@Kr8art
Copy link
Contributor

Kr8art commented Dec 28, 2024

I personally really like the idea, and I think Nukies having alternative objectives really helps to shake up the meta. People won't immediately know their objectives as soon as bloodreds are spotted.

Maybe the number of hostages they need to take should be higher or scale dynamically with players.
Could have it pick from all crew at random with a higher weight towards heads. That way you also avoid edge cases where there's no or less than three heads present in a round.

Not sure what a good number of hostages would be. Maybe 10% of the station or perhaps equal to the number of nukies (or maybe even nukies+n to have it always be a few more hostages than nukies).

I think having a high number of hostages would help to make this mode feel more impactful. It prevents a quick smash and grab as nukies would likely have to make multiple trips to get everyone, and more departments would be affected. It also adds some logistically challenge for the Nukies, as they need to dedicate some manpower to keep already taken hostages secure from potential rescue attempts by the crew.

Copy link
Contributor

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

@github-actions github-actions bot added the S: Merge Conflict Fix your PR! label Dec 28, 2024
@beck-thompson
Copy link
Contributor Author

Maybe the number of hostages they need to take should be higher or scale dynamically with players.
Could have it pick from all crew at random with a higher weight towards heads. That way you also avoid edge cases where there's no or less than three heads present in a round.

Unfortunately due to technical limitations that is easier said than done 😔. Its definitely possible, but with how the objectives are done its going to require more work! The reason its only heads right now and not random people on the station is because it would be very difficult to grab just a random passenger, if your going after heads it should be much easier to actually find them!

If this goes well, my plan is to have a pinpointer sort of object that allow you to track targets so you can actually find them easier!

@beck-thompson
Copy link
Contributor Author

beck-thompson commented Dec 28, 2024

I think as it is, Hostage ops would not be as interesting for the nukies nor the Crew as plain Nukeops, and people would be unhappy to see that they "lost the coin toss".

Honestly I just disagree, I would be much more excited to do something rather than just nuke the station. Hostage ops will hopefully allow for a lot more RP if the nukies want it (But isn't required). Really though, I think we just need to see how it turns out in actual matches to see if its fun or not. Knowing beforehand is really hard 😆

Oh also, your idea of letting the nukies choose their objective is a good (Although it will be difficult!). You could really do fun things like give more TC and or equipment if they do hostage ops vs nuke ops.

@github-actions github-actions bot removed the S: Merge Conflict Fix your PR! label Dec 28, 2024
@beck-thompson
Copy link
Contributor Author

The changes to NukeopsRuleSystem.cs are incomplete. I'm trying to figure out a way of triggering the win condition but I think the maps are not what I was hoping they were (pretty sure its ftling to the area around the outpost and not the outpost itself). If anyone has ideas on how to approach this I'm all ears

@Smugman
Copy link
Contributor

Smugman commented Dec 29, 2024

Honestly I just disagree, I would be much more excited to do something rather than just nuke the station. Hostage ops will hopefully allow for a lot more RP if the nukies want it (But isn't required). Really though, I think we just need to see how it turns out in actual matches to see if its fun or not. Knowing beforehand is really hard 😆

Yeah! I just think that nukies with reduced impact on the round wouldnt be recieved well, in Nukie rounds they are the ONLY antagonist (discounting the odds of sleeper agents spawning) which can feel underwhelming.

Oh also, your idea of letting the nukies choose their objective is a good (Although it will be difficult!). You could really do fun things like give more TC and or equipment if they do hostage ops vs nuke ops.

Yeah, Choice would also 100% prevent dissapointment on the Nukie side, since they chose what ops to do.
I have a vague idea of how to do choice like that code wise and might finish my mockup in a bit.

More ops with gear and TC rewards have a lot of potential, Rare chance to get Centcom clothes to do CentOps, S.E.L.F Ops with a special law board and a free killborg etc.

@Lyndomen
Copy link
Contributor

i personally am game to move nukies to the survival scheduler if its shit

@Kr8art
Copy link
Contributor

Kr8art commented Dec 29, 2024

Unfortunately due to technical limitations that is easier said than done 😔. Its definitely possible, but with how the objectives are done its going to require more work!

If I'd try this myself I'd probably attempt to just take the traitor target selection stuff and change the objectives from kill to cuff, but it's probably a lot more complicated than that.

Though personally I think the numbers of hostages needs to be higher to bring it closer to the threat level of 'station is getting nuked'. As people already pointed out, nukies are often the only threat on nukie rounds. Right now, the objective boils down to kill three heads and steal the nuke disk, which doesn't seem super difficult for a team of traitors with 40TC each.

That being said, it might be a good idea to just release it as it is currently once it's ready. Get feedback on it for a while. Because as you said it's really hard to predict how players will interact with this. Nukies could do the sickest RP, or they could just gun down three heads wordlessly and have the agent revive them in cuffs on the their shuttle.

I'd even go as far as to have this replace regular nukeops for a week to get people's opinions. It's a playtest after all.

@beck-thompson
Copy link
Contributor Author

If I'd try this myself I'd probably attempt to just take the traitor target selection stuff and change the objectives from kill to cuff, but it's probably a lot more complicated than that.

Main issue is actually making sure the nukies all have the same number of people to kidnap! Right now objectives are only made for one person, not groups! I can probably figure it out, but like you said, I think we need to see this in game to see what people actually think! What number of hostages do you think would be good?

@deltanedas
Copy link
Member

funny thing you dont even need hostages, just kill then cuff and steal :trollface:

@dvir001
Copy link
Contributor

dvir001 commented Dec 29, 2024

hostages

Add an automated ERT call if all hostages are dead :trollface:

@Avalon-Proto
Copy link
Contributor

hostages

Add an automated ERT call if all hostages are dead :trollface:

Only once this PR is done
#2552

@beck-thompson
Copy link
Contributor Author

Let me know what else needs to be done (Maybe the code is perfect?)! Also, I would prefer if #2561 was merged first so I could add a popup for the nukie players to inform them what's going on. Not a big deal either way! 🫡

@github-actions github-actions bot added the S: Merge Conflict Fix your PR! label Jan 1, 2025
Copy link
Contributor

github-actions bot commented Jan 1, 2025

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

@github-actions github-actions bot removed the S: Merge Conflict Fix your PR! label Jan 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Changes: C# Changes any cs files Changes: Localization Changes any ftl files Changes: YML Changes any yml files S: Needs Review size/L 256-1023 lines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants