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
Adds the Artifact of Kin as a station trait. #66034
Conversation
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. |
Shrine of Order moment |
On a more serious note, this trait rolling a heretic-centric round would be very interesting. |
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. |
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. |
Basically:
|
Fat fingered close trying to comment. Ignore that. |
That should make midrounds and latejoins picking high impact rulesets not lock themselves out. |
Labelling DNM until Dynamic 2022 Part 1 is merged |
There was a problem hiding this 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 |
There was a problem hiding this comment.
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)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Combine these into one.
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. |
Soon we'll get Artifact of Command |
Artifact of swarms |
can we name it something that makes sense to people who didnt play a video game |
I'm honestly going to wait on this until Dynamic 2022 is merged. Then I'll see where I can go with it. |
Gonna anti-stale this until Dynamic 2022 part 1 is in |
Artifact of kin PR is that way #66034 |
God damnit |
What game is this even from |
Well now you hopefully see how i managed to mess it up in the first place lol |
|
56b41e0
to
afd2fc7
Compare
Alright. Let's give this another go. |
Needs mapping and spriting. |
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. |
On the other hand. Rolling something expensive and waiting for the director to roll it does line up pretty nicely with the RoR experience. |
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 |
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: