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

Adds the Artifact of Kin as a station trait. #66034

Closed

Conversation

TemporalOroboros
Copy link
Contributor

@TemporalOroboros TemporalOroboros commented Apr 7, 2022

About The Pull Request

Adds a station trait that makes dynamic pick a single antagonist for roundstart, latejoin, and midround.

Why It's Good For The Game

I find the image of the station getting invaded by a steady stream of provocateurs amusing.

Changelog

🆑
expansion: Very occasionally a few types of antagonists will be chosen to be the only types of antagonists that shows up that shift.
/:cl:

@tgstation-server tgstation-server added Balance Changes to functionality that modifies how effective certain methods are at powergaming Content Expansion labels Apr 7, 2022
@IndieanaJones
Copy link
Contributor

I really like this. A lot of station traits don't really do much of anything except offset things at roundstart, but this is the kind of round variation I think the system could really use.

@Colovorat
Copy link
Contributor

Shrine of Order moment

@Y0SH1M4S73R
Copy link
Contributor

hmm yes which antags will be the only antags that can spawn during this Impending Doom round?
Roundstart? Hmm... Thief
Latejoin? How about..... Thief
Midround? Let's go with......... Thief

On a more serious note, this trait rolling a heretic-centric round would be very interesting.

@SkeletalElite
Copy link
Contributor

What happens if the roll is something where 1 roll is hte max allowed like cult, nukies, revs? Will it allow additional rolls of those to occur?

@TemporalOroboros
Copy link
Contributor Author

What happens if the roll is something where 1 roll is hte max allowed like cult, nukies, revs? Will it allow additional rolls of those to occur?

Given its current state. Yes.

@TemporalOroboros
Copy link
Contributor Author

There is a slight issue that will need to be fixed before merge. If the roundstart picker doesn't roll a high impact ruleset it's possible for latejoin or midround to roll one and lock itself out of spending threat. I'll need to figure out a way to prevent that from happening.

@TemporalOroboros
Copy link
Contributor Author

TemporalOroboros commented Apr 7, 2022

Basically:

  1. Artifact of Kin station trait is enabled.
  2. Threat generates too low to allow multiple high impact rulesets.
  3. Roundstart picks traitors. All roundstart threat is spent on traitors. Since they are not a high impact ruleset latejoin and midrounds can roll high impact rulesets.
  4. Midrounds roll wizard.
  5. Midrounds continue to try to roll wizard. As it is a high impact ruleset, a high impact ruleset was already picked (the first wizard), and the threat is too low to make multiple high impacts possible normally the wizard is blocked.
  6. No more midround antags.

@TemporalOroboros
Copy link
Contributor Author

Fat fingered close trying to comment. Ignore that.

@TemporalOroboros
Copy link
Contributor Author

That should make midrounds and latejoins picking high impact rulesets not lock themselves out.

@Mothblocks Mothblocks added the Do Not Merge You must have really upset someone label Apr 7, 2022
@Mothblocks
Copy link
Member

Labelling DNM until Dynamic 2022 Part 1 is merged

Copy link
Member

@Mothblocks Mothblocks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this respect LONE_RULESET?

This needs to be split out into a datum handler or similar that listens to signals so that we don't have all this code in Dynamic.

Also, depending on how this works, this is not going to function well with Dynamic 2022 at all, since Dynamic 2022's first midround is basically always a sleeper agent.

This needs some marker in the dynamic.json log output so I know to completely throw these out when analyzing rounds.

@@ -63,7 +63,7 @@ GLOBAL_VAR_INIT(dynamic_forced_threat_level, -1)
/// How many percent of the rounds are more peaceful.
var/peaceful_percentage = 50
/// If a high impact ruleset was executed. Only one will run at a time in most circumstances.
var/high_impact_ruleset_executed = FALSE
var/high_impact_ruleset_executed = NONE
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to change the documentation for this to include that it is a bitfield, and then link to the flags it can use.

continue
if (rule.flags & HIGH_IMPACT_RULESET)
if (threat_level < GLOB.dynamic_stacking_limit && GLOB.dynamic_no_stacking)
if (high_impact_ruleset_executed & (HAS_TRAIT(SSstation, STATION_TRAIT_ARTIFACT_OF_KIN) ? ~EXECUTED_LATEJOIN_HIGH_IMPACT_RULESET : ALL))
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Combine these into one.

@Mothblocks Mothblocks marked this pull request as draft April 7, 2022 10:12
@Mothblocks Mothblocks self-assigned this Apr 7, 2022
@Mothblocks
Copy link
Member

There's also a huge chance this just makes Dynamic code more annoying to deal with and manage and I might just scrap it entirely, but I'm not there yet.

@Wallemations
Copy link
Contributor

Soon we'll get Artifact of Command
Choose Your Own Antag adventure

@D4C-420
Copy link
Contributor

D4C-420 commented Apr 7, 2022

Artifact of swarms
Twice the Antags

@Fikou
Copy link
Member

Fikou commented Apr 8, 2022

can we name it something that makes sense to people who didnt play a video game

@TemporalOroboros
Copy link
Contributor Author

I'm honestly going to wait on this until Dynamic 2022 is merged. Then I'll see where I can go with it.

@Mothblocks Mothblocks added the RED LABEL This PR will not auto stale, this label should be green at all times. label Apr 11, 2022
@Mothblocks
Copy link
Member

Mothblocks commented Apr 11, 2022

Gonna anti-stale this until Dynamic 2022 part 1 is in

@Mothblocks Mothblocks added Feature Exposes new bugs in interesting ways and removed Content Expansion labels Apr 24, 2022
@Mothblocks
Copy link
Member

Artifact of kin PR is that way #66034

@Mothblocks
Copy link
Member

God damnit

@TheSilverNuke
Copy link
Contributor

can we name it something that makes sense to people who didnt play a video game

What game is this even from

@Annihilit
Copy link

God damnit

Well now you hopefully see how i managed to mess it up in the first place lol

@private-tristan
Copy link
Contributor

What game is this even from

Risk of Rain

@github-actions github-actions bot added the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label May 19, 2022
@TemporalOroboros
Copy link
Contributor Author

Alright. Let's give this another go.

@tgstation-server tgstation-server removed the Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts label May 19, 2022
@TemporalOroboros
Copy link
Contributor Author

Needs mapping and spriting.

@Mothblocks Mothblocks removed Do Not Merge You must have really upset someone RED LABEL This PR will not auto stale, this label should be green at all times. labels May 19, 2022
@Mothblocks
Copy link
Member

Also, depending on how this works, this is not going to function well with Dynamic 2022 at all, since Dynamic 2022's first midround is basically always a sleeper agent.

This is still a pretty nasty gotcha I think

@TemporalOroboros
Copy link
Contributor Author

Also, depending on how this works, this is not going to function well with Dynamic 2022 at all, since Dynamic 2022's first midround is basically always a sleeper agent.

This is still a pretty nasty gotcha I think

Yeah. I've set it to just pick a ruleset for midrounds and then ensure that only that midround can spawn. The result should be less weighted towards sleeper agents than locking in the first picked ruleset. This is still not optimal, since it's possible for it to pick something like nuke ops and then the station has to sit around for the heavy chance to build up high enough for it to roll. Haven't put much thought into how the middle ground would be implemented, but I'm sure there is one.

@TemporalOroboros
Copy link
Contributor Author

On the other hand. Rolling something expensive and waiting for the director to roll it does line up pretty nicely with the RoR experience.

@github-actions
Copy link
Contributor

This PR has been inactive for long enough to be automatically marked as stale. This means it is at risk of being auto closed in ~ 7 days, please address any outstanding review items and ensure your PR is finished, if these are all true and you are auto-staled anyway, you need to actively ask maintainers if your PR will be merged. Once you have done any of the previous actions then you should request a maintainer remove the stale label on your PR, to reset the stale timer. If you feel no maintainer will respond in that time, you may wish to close this PR youself, while you seek maintainer comment, as you will then be able to reopen the PR yourself

@github-actions github-actions bot added Stale Even the uncaring universe rejects you, why even go on Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts labels May 31, 2022
@optimumtact optimumtact closed this Jun 7, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Balance Changes to functionality that modifies how effective certain methods are at powergaming Feature Exposes new bugs in interesting ways Merge Conflict Adding upstream files to your repo via drag and drop won't resolve conflicts Stale Even the uncaring universe rejects you, why even go on
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet