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

[MoM] Wave of Force learning recipe fails, incorrectly references Enhance Strength #75119

Open
Terrorforge opened this issue Jul 20, 2024 · 6 comments · May be fixed by #75150
Open

[MoM] Wave of Force learning recipe fails, incorrectly references Enhance Strength #75119

Terrorforge opened this issue Jul 20, 2024 · 6 comments · May be fixed by #75150
Labels
(S1 - Need confirmation) Report waiting on confirmation of reproducibility

Comments

@Terrorforge
Copy link
Contributor

Describe the bug

I unlocked three contemplation recipes for new Telekinetic powers (Enhance Strength, Wave of Force and Slowfall), and after some shenanigans acquired the necessary crystal dust and decided to learn them. I successfully learned Enhance Strength, and a little later I decided to try to learn Wave of Force.

I spent several hours meditating, as expected, but when the meditation finished I got a message saying I'd unlocked Enhance Strength, a power I'd already unlocked earlier that day. I didn't learn Wave of Force, or any other power.

Attach save file

still having that issue with save archives failing

Steps to reproduce

  1. Attempt to use the contemplation recipe to learn Wave of Force?

Expected behavior

The contemplation recipe for Wave of Force teaches Wave of Force.

Screenshots

image
Received a notification I'd learned Enhance Strength, a power I already knew.

image
The last thing I crafted was the contemplation recipe for Wave of Force.

Versions and configuration

  • OS: Windows
    • OS Version: 10.0.19045.4651 (22H2)
  • Game Version: 48419ad [64-bit]
  • Graphics Version: Tiles
  • Game Language: English [en]
  • Mods loaded: [
    Dark Days Ahead [dda],
    Disable NPC Needs [no_npc_food],
    Portal Storms Ignore NPCs [personal_portal_storms],
    Slowdown Fungal Growth [no_fungal_growth],
    Mind Over Matter [mindovermatter],
    Bionic Slots [cbm_slots],
    Stats Through Kills [stats_through_kills]
    ]

Additional context

I tried looking in telekinesis_practice.json to see if I could fix the problem, because this feels like it could be a simple copy-paste error. I didn't find anything relevant, but I did find an unrelated copy-paste error and adressed it in #75118

@Terrorforge Terrorforge added the (S1 - Need confirmation) Report waiting on confirmation of reproducibility label Jul 20, 2024
@Terrorforge
Copy link
Contributor Author

Terrorforge commented Jul 20, 2024

This happened yesterday. After playing a bit today and trying again, I correctly learned Wave of Force (with the incorrect Slowfall message as described in #75118)

I did not update the game or change anything else

@Standing-Storm
Copy link
Contributor

That's odd--I wonder if the power name string didn't get passed through the EoC properly?

@Terrorforge
Copy link
Contributor Author

I think I figured it out.

When you don't have the spell in question, the recipe EOCs like EOC_PRACTICE_TELEKIN_ENHANCE_STRENGTH queue the learning EOC, e.g. EOC_PRACTICE_TELEKIN_ENHANCE_STRENGTH_LEARNING, some time in the future.

When EOC_PRACTICE_TELEKIN_ENHANCE_STRENGTH_LEARNING fires, it checks that you have effect_psi_learning_new_power, meaning you're currently meditating to learn a new power.

But there's no check for which power you're trying to learn. So if you craft the Enhance Strength recipe and queue up the ES learning EOC, then cancel the meditation and craft the Wave of Force recipe instead, when EOC_PRACTICE_TELEKIN_ENHANCE_STRENGTH_LEARNING eventually fires it'll see that you have effect_psi_learning_new_power and roll the learning check as usual, even though you're nominally learning a different power.

I think this means it's possible to maximize your odds of learning a power quickly by starting and cancelling the meditation repeatedly, as well as to meditate on learning several different powers at once in the same way. And it's pretty likely to happen on accident, because it occurs any time you cancel and restart the learning meditation for any reason.

@Standing-Storm
Copy link
Contributor

Standing-Storm commented Jul 21, 2024

This is what happens with my playstyle (I never grind and mostly only try to learn one power at a time). I don't experience these errors.

The latest power is passed through as a string_var, so if there's a way to check that it's easy to fix--just make sure the learning EoC only fires if the string_var matches the most-recently studied power. If there's not a way to check that I have to either let it sit until there is, or come up with some numeric code system, assign every power a numeric code, and check the code.

Edit: compare_string exists, it'll be an easy (albeit time-consuming) fix

@Terrorforge
Copy link
Contributor Author

Won't it still be possible to queue the same EOC multiple times, to get lots of rolls and/or more favorable timings?

@Standing-Storm
Copy link
Contributor

Won't it still be possible to queue the same EOC multiple times, to get lots of rolls and/or more favorable timings?

That bug is currently unsolvable because there is no way to manipulate EoCs in queue. The only way around that would be to implement some kind of harsh penalty for starting a learning a new power EoC that would penalize all the people not doing silly cancel tricks.

I could easy say "all of your psionics are at 1/3rd effectiveness for a day after you try to learn a new power (and if you cancel/start ten times, well, that's ten days of debuff), but the real way to solve it is a generic power learning EoC with some toggle that says "the latest instance of the EoC with this ID overwrites all previous instances--there can only be one copy running at a time."

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
(S1 - Need confirmation) Report waiting on confirmation of reproducibility
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants