-
Notifications
You must be signed in to change notification settings - Fork 3.4k
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
Traitor activation fix for missing PDA #30359
Conversation
What the heck, I have just written exactly the same thing. Let me see how you solved it, lol. |
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.
Now that MakeTraitor no longer fails halfway through syndicate monkeys and reinforcements will get traitor objectives and an uplink as well. At least that happened for me. The giveUplink parameter in MakeTraitor and the GiveUplink and GiveObjectives datafields in the AutoTraitorComponent are currently completely unused. The only thing preventing the objectives was the missing pda.
Resources/Locale/en-US/game-ticking/game-presets/preset-traitor.ftl
Outdated
Show resolved
Hide resolved
Wow, good catch thanks. This would have been FAR WORSE than it initially sounds, because it's a potential infinite loop. |
how many metagamers will use it for free uplink implant? |
It is not free, it deducts the cost of the implant from your starting TC, so it is like a forced purchase. |
So I went and made the TelecrystalBalance FixedPoint2 everywhere for consistency. This does not currently do anything because TC are only given in values that match exact integers, TC only exists in whole units in the world, and all prices are integer values even though the data type is FixedPoint2. But now it is more consistent internally and it is theoretically possible to offer amazing discounted wares at 3.79 TC (Actually, I think that was probably already possible anyway. But it just BOTHERED ME that we are passing integers into FixedPoint2 variables) |
…raitorRuleComponent, no pda for reinforcements
I added new datafields to TraitorRuleComponent that can turn off traitor stuff that we don't want on reinforcements (codewords*, uplink, briefing), and created a new traitor profile with just those being different, to be used on AutoTraitorComponent (which now passes the profile to be used to the system, rather than those 3 variables which weren't even used anywhere)
|
Probably fixes #27444 ? |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
Co-authored-by: slarticodefast <[email protected]>
Co-authored-by: slarticodefast <[email protected]>
Co-authored-by: slarticodefast <[email protected]>
Co-authored-by: slarticodefast <[email protected]>
Co-authored-by: slarticodefast <[email protected]>
This pull request has conflicts, please resolve those before we can evaluate the pull request. |
I did some minor cleanup, but otherwise the code looks good to me. |
* Implant the uplink if no PDA is found * comments * tidy up loose ends * Whoops usually I start with the namespace, how did I forget it, shame shame * Consistent data type for starting TC balance, misc changes * Implant briefing, guidebook * Update AutoTraitor, add uplink, codeword and briefing parameters to TraitorRuleComponent, no pda for reinforcements * engine 5c0ce43 * pass pda to AddUplink Co-authored-by: slarticodefast <[email protected]> * nicer string handling Co-authored-by: slarticodefast <[email protected]> * case typo 1 Co-authored-by: slarticodefast <[email protected]> * case typo 2 Co-authored-by: slarticodefast <[email protected]> * case typo 3 Co-authored-by: slarticodefast <[email protected]> * minor layout changes * removed redundant implant check * minor cleanup --------- Co-authored-by: slarticodefast <[email protected]>
* Implant the uplink if no PDA is found * comments * tidy up loose ends * Whoops usually I start with the namespace, how did I forget it, shame shame * Consistent data type for starting TC balance, misc changes * Implant briefing, guidebook * Update AutoTraitor, add uplink, codeword and briefing parameters to TraitorRuleComponent, no pda for reinforcements * engine 5c0ce43 * pass pda to AddUplink Co-authored-by: slarticodefast <[email protected]> * nicer string handling Co-authored-by: slarticodefast <[email protected]> * case typo 1 Co-authored-by: slarticodefast <[email protected]> * case typo 2 Co-authored-by: slarticodefast <[email protected]> * case typo 3 Co-authored-by: slarticodefast <[email protected]> * minor layout changes * removed redundant implant check * minor cleanup --------- Co-authored-by: slarticodefast <[email protected]>
About the PR
Traitors who "activate" without a PDA will now correctly get the codewords, the audio notification, and get an installed Uplink Implant. The cost is taken from their starting TC. This is objectively a worse situation than actually having purchased this implant from a normal uplink, but is still far better than missing out on all your TC and not knowing the code words
Why / Balance
Fixes #27444
Fixes #28138
Fixes #27928
Probably makes #28637 easier
Media
Changelog
🆑 Errant