Hey everyone, I just put out a new version of this mod, v2.1.0. I incremented the minor version because this release fixes a pretty bad bug that I unknowingly introduced by misunderstanding how the game's source code was using something. Buying the Dark Necklace or Light Necklace from the Mystic Assistant would set a flag that would prevent those necklaces from being able to perform their main function.
I was able to add code to this version that will set that flag back to the correct state based on other information from the game, enabling those necklaces to work as intended. To trigger the fix, you simply need to open the Mystic Assistant shop, you do not even have to buy anything. However, if you have already consumed those necklaces without getting what you were supposed to from them, you will need to buy them again. I strongly recommend that everyone upgrades to this version when they can.
I sincerely apologize for this issue, hopefully it has not impacted many of you. If this new version doesn't fix it for you, send me a DM and I'll do my best to get you sorted out!
Hey, having an issue where buying follower forms decreases the amount in the god tear shop, but doesn't unlock anything. I tested it twice, buying a follower form using this mod, went from 12 to 10 and didn't unlock any new forms.
Hi! I just got into coding, and since Cult of the Lamb is one of my fav games (that doesn't have that many mods, unfortunately ), I was curious as to how you were able to fix the mod after the update. Was it a simple update of some stuff within your code? Thank you again for making and fixing this mod! It's one of my favorites.
Hey Dasukio, I'm always happy to share my coding knowledge! The majority of the knowledge I used to make this mod came from using a DLL decompiler to see what the actual game code was doing. For development, I had copied the main game DLL into a folder in the project, as Visual Studio needed to be able to reference it. When the update came out and automatically updated the DLL in the game folder, I now had an old version of the DLL and a new one. So I was able to load both up in a decompiler and see where the differences were. From there, it was pretty easy to see the changes they had made and how I needed to adjust what I'd written. And fortunately, it was pretty easy to update this time, though I had definitely geared myself up for some big massive change.
In this specific case, because they added couch co-op, the old way they had of addressing the player character (which was assumed to be just the lamb as there were no other PCs) no longer worked, because now it could be either of the player characters, lamb or goat, interacting with something. The code is all on my GitHub, you can look at the commit with the v1.0.2 tag to see what exactly I did. The code is also full of comments explaining what I'm doing and why, along with the commit messages essentially functioning as development patch notes. It might be a bit much, depending on where you are with coding, and I definitely make some assumptions about the reader's general knowledge of both the game as a player and of the game's code as a developer. It's also the first mod I've ever written, so there's almost certainly stuff I didn't do as well as I could have. So all that said, it might not be the most helpful, but you're free to look it over and glean what you can from it, of course. Hope that helps!
Just put out version 2.0.0 of this! As you can see from the changelog, I added quite a bit of stuff to the Mystic Assistant shop. It should now be functionally equivalent to the main Mystic Shop, selling everything it does and a bit more besides! It should all be pretty self-explanatory and intuitive, but I updated the readme to include a FAQ as well, just in case. If you still have questions, or run into an issue with it, feel free to drop a comment here!
Thunderstore users, rejoice! This mod is now available through Thunderstore! I've never used Thunderstore before, so let me know if you run into issues with it. Here's the link to the page: https://thunderstore.io/c/cult-of-the-lamb/p/Ciarenni/Mystic_Assistant/
Dear Author, After installing your mod, many actions in the game that require the use of the right mouse button are invalidated, such as breaking eggs, harvesting the bodies of your followers, collecting Faith Points for house, and placing seeds and fertiliser into the Seed and Fertiliser Warehouse all at once. Also, the mod itself is not working properly (you can show the button prompts but you cannot use the right click to open the purchase window), thank you for reading and we look forward to your updates.
[Message:BepInEx] BepInEx 5.4.21.0 - Cult Of The Lamb (2024/8/25 3:01:19) [Info:BepInEx] Running under Unity v2021.3.16.4200023 [Info:BepInEx] CLR runtime version: 4.0.30319.42000 [Info:BepInEx] Supports SRE: True [Info:BepInEx] System platform: Bits64, Windows [Message:BepInEx] Preloader started [Info:BepInEx] Loaded 1 patcher method from [BepInEx.Preloader 5.4.21.0] [Info:BepInEx] 1 patcher plugin loaded [Info:BepInEx] Patching [Assembly-CSharp] with [BepInEx.Chainloader] [Message:BepInEx] Preloader finished [Message:BepInEx] Chainloader ready [Message:BepInEx] Chainloader started [Info:BepInEx] 4 plugins to load [Info:BepInEx] Loading [Mystic Assistant 1.0.1] [Info:Mystic Assistant] Plugin ciarenni.cultofthelamb.mysticassistant is loaded! [Warning: HarmonyX] ciarenni.cultofthelamb.mysticassistant: You should only patch implemented methods/constructors to avoid issues. Patch the declared method virtual void Interaction::OnSecondaryInteract(StateMachine state) instead of virtual void Interaction::OnSecondaryInteract(StateMachine state). [Info:BepInEx] Loading [Configuration Manager 18.3] [Info:BepInEx] Loading [hex7cd.cotl.autoknucklebones 1.0.0] [Info:hex7cd.cotl.autoknucklebones] Plugin hex7cd.cotl.autoknucklebones is loaded! [Info:BepInEx] Loading [The Cult of QoL Collection 2.2.7] [Info:The Cult of QoL Collection] Removing Debug.Log spam from Interaction_HarvestMeat.Update [Info:The Cult of QoL Collection] Plugin The Cult of QoL Collection is loaded! Running game version 1.4.4.592 on Bits64, Windows. [Message:BepInEx] Chainloader startup complete [Error : Unity Log] Font at path: Fonts/LocalisedFonts/Russian/NotoSans-Regular SDF was not loaded correctly! Some fonts will be missing! [Error : Unity Log] Font at path: Fonts/LocalisedFonts/FontAwesome/Font Awesome 6 Pro-Solid-900 SDF was not loaded correctly! Some fonts will be missing! [Error : Unity Log] Font at path: Fonts/Headings/LaptureRegular was not loaded correctly! Some fonts will be missing! [Error : Unity Log] Font at path: Fonts/Headings/Lapture-Bold was not loaded correctly! Some fonts will be missing! [Error : Unity Log] Font at path: Fonts/LocalisedFonts/Chinese(Simplified)/Chinese(Simplified)-NotoSansSC-Regular SDF was not loaded correctly! Some fonts will be missing! [Error : Unity Log] Font at path: Fonts/LocalisedFonts/Chinese(Tranditional)/Chinese(Traditional)-NotoSansTC-Regular SDF was not loaded correctly! Some fonts will be missing! [Error : Unity Log] Font at path: Fonts/LocalisedFonts/Korean/NotoSansKR-Regular SDF was not loaded correctly! Some fonts will be missing! [Error : Unity Log] Font at path: Fonts/LocalisedFonts/Japanese/NotoSansJP-Regular SDF was not loaded correctly! Some fonts will be missing! [Debug :BepInEx] [UnityInput] Using LegacyInputSystem [Warning: Unity Log] MaximizedWindow is not currently supported on Windows, setting to FullsceenWindow instead [Error : Unity Log] Material 'RelicVFX_Material_BlobParticle_Coop_Menu' with Shader 'Amplify/VFX/BlobParticle' doesn't have a texture property '_MainTex' [Warning: Unity Log] OutlineEffect does not support Unity Post-processing stack v2. It might not work as expected. [Warning: Unity Log] BiomeLightingSettings must be instantiated using the ScriptableObject.CreateInstance method instead of new BiomeLightingSettings. [Error : Unity Log] MissingMethodException: Method not found: Lamb.UI.UIItemSelectorOverlayController Lamb.UI.UIManager.ShowItemSelector(System.Collections.Generic.List`1,Lamb.UI.ItemSelector/Params) Stack trace: (wrapper dynamic-method) Interaction.DMD(Interaction,StateMachine) Interaction_EggFollower.OnSecondaryInteract (StateMachine state) (at <7b04a91d308c4a3e8c2ea4ef13703daf>:0) Interactor.Update () (at <7b04a91d308c4a3e8c2ea4ef13703daf>:0) [Error : Unity Log] MissingMethodException: Method not found: Lamb.UI.UIItemSelectorOverlayController Lamb.UI.UIManager.ShowItemSelector(System.Collections.Generic.List`1,Lamb.UI.ItemSelector/Params) Stack trace: (wrapper dynamic-method) Interaction.DMD(Interaction,StateMachine) Interaction_EggFollower.OnSecondaryInteract (StateMachine state) (at <7b04a91d308c4a3e8c2ea4ef13703daf>:0) Interactor.Update () (at <7b04a91d308c4a3e8c2ea4ef13703daf>:0) [Error : Unity Log] MissingMethodException: Method not found: Lamb.UI.UIItemSelectorOverlayController Lamb.UI.UIManager.ShowItemSelector(System.Collections.Generic.List`1,Lamb.UI.ItemSelector/Params) Stack trace: (wrapper dynamic-method) Interaction.DMD(Interaction,StateMachine) Interaction_EggFollower.OnSecondaryInteract (StateMachine state) (at <7b04a91d308c4a3e8c2ea4ef13703daf>:0) Interactor.Update () (at <7b04a91d308c4a3e8c2ea4ef13703daf>:0) [Error : Unity Log] Releasing render texture that is set as Camera.targetTexture! [Error : Unity Log] Releasing render texture that is set as Camera.targetTexture! [Info:Console] Rewired is not initialized. Do you have a Rewired Input Manager in the scene and enabled? ------- Rewired System Info ------- Unity version: 2021.3.16f1 Rewired version: 1.1.44.0.U2021 Platform: Windows Using Unity input: False
Hey sufferay, appreciate the log file! I had not updated the mod basically since I put it out, nor have I played the game much since then, I made a post just before yours that goes into more detail about that. I just put out an update to the mod that is a fix targeted specifically at getting the shop working again. I double checked some of what you mentioned and with the fix and I am once again able to use other secondary interactions, such as collecting Devotion from Grand Shelters. Please let me know if you still have issues after updating!
Hey everyone, glad ya'll enjoyed the first mod I've ever made! Sorry to leave it languishing for so long, work got real intense for a bit and I haven't been back to the game since.
It has been brought to my attention that the latest update to the game broke my mod. I've done some cursory investigation and it *seems* like the fix is straightforward enough, though I need to make sure I understand what that change is actually going to do. However, I was also in the middle of a moderate overhaul to the mod when I was last working on it (mostly to put some guard rails on it to prevent the player from doing stuff the game might not expect, like buying a bunch of otherwise-limited items). I'd really like to get that rewrite finished now that my attention is back on this project, but that would delay getting this fixed. I will see if I can get my current in-progress code spun off into a branch, get the fix out, and then try to remember what I was doing with the rewrite.
I don't have a solid timeline on this, unfortunately. I have not played any update since Relics of the Old Faith, so I'm not sure if I need to be concerned with any new system that shows up in the game once you reach the content in those updates. I'm assuming not since no one was reporting issues with the mod until this latest update, but I cannot definitively say. My plan is to apply the fix as I currently understand the problem. This will get a solution out to ya'll the fastest, but it will mean there might be other issues lurking that I cannot currently encounter in my development save. I'll have to rely on reports from people about any new issues afterwards, and try to get my game caught up in the mean time.
Sorry for the delay on getting a fix out for this, please look forward to it!
EDIT: And I will look into getting this onto Thunderstone afterwards as well, for real this time.
Sad to report the newest update Unholy alliance has made this mod no longer work the prompt is there but nothing happens now. So much for me easily getting Aym and Baal's necklaces
24 comments
I was able to add code to this version that will set that flag back to the correct state based on other information from the game, enabling those necklaces to work as intended. To trigger the fix, you simply need to open the Mystic Assistant shop, you do not even have to buy anything. However, if you have already consumed those necklaces without getting what you were supposed to from them, you will need to buy them again. I strongly recommend that everyone upgrades to this version when they can.
I sincerely apologize for this issue, hopefully it has not impacted many of you. If this new version doesn't fix it for you, send me a DM and I'll do my best to get you sorted out!
In this specific case, because they added couch co-op, the old way they had of addressing the player character (which was assumed to be just the lamb as there were no other PCs) no longer worked, because now it could be either of the player characters, lamb or goat, interacting with something. The code is all on my GitHub, you can look at the commit with the v1.0.2 tag to see what exactly I did. The code is also full of comments explaining what I'm doing and why, along with the commit messages essentially functioning as development patch notes. It might be a bit much, depending on where you are with coding, and I definitely make some assumptions about the reader's general knowledge of both the game as a player and of the game's code as a developer. It's also the first mod I've ever written, so there's almost certainly stuff I didn't do as well as I could have. So all that said, it might not be the most helpful, but you're free to look it over and glean what you can from it, of course. Hope that helps!
(i named them steve)
such as breaking eggs, harvesting the bodies of your followers, collecting Faith Points for house, and placing seeds and fertiliser into the Seed and Fertiliser Warehouse all at once.
Also, the mod itself is not working properly (you can show the button prompts but you cannot use the right click to open the purchase window),
thank you for reading and we look forward to your updates.
[Message:BepInEx] BepInEx 5.4.21.0 - Cult Of The Lamb (2024/8/25 3:01:19)
[Info:BepInEx] Running under Unity v2021.3.16.4200023
[Info:BepInEx] CLR runtime version: 4.0.30319.42000
[Info:BepInEx] Supports SRE: True
[Info:BepInEx] System platform: Bits64, Windows
[Message:BepInEx] Preloader started
[Info:BepInEx] Loaded 1 patcher method from [BepInEx.Preloader 5.4.21.0]
[Info:BepInEx] 1 patcher plugin loaded
[Info:BepInEx] Patching [Assembly-CSharp] with [BepInEx.Chainloader]
[Message:BepInEx] Preloader finished
[Message:BepInEx] Chainloader ready
[Message:BepInEx] Chainloader started
[Info:BepInEx] 4 plugins to load
[Info:BepInEx] Loading [Mystic Assistant 1.0.1]
[Info:Mystic Assistant] Plugin ciarenni.cultofthelamb.mysticassistant is loaded!
[Warning: HarmonyX] ciarenni.cultofthelamb.mysticassistant: You should only patch implemented methods/constructors to avoid issues. Patch the declared method virtual void Interaction::OnSecondaryInteract(StateMachine state) instead of virtual void Interaction::OnSecondaryInteract(StateMachine state).
[Info:BepInEx] Loading [Configuration Manager 18.3]
[Info:BepInEx] Loading [hex7cd.cotl.autoknucklebones 1.0.0]
[Info:hex7cd.cotl.autoknucklebones] Plugin hex7cd.cotl.autoknucklebones is loaded!
[Info:BepInEx] Loading [The Cult of QoL Collection 2.2.7]
[Info:The Cult of QoL Collection] Removing Debug.Log spam from Interaction_HarvestMeat.Update
[Info:The Cult of QoL Collection] Plugin The Cult of QoL Collection is loaded! Running game version 1.4.4.592 on Bits64, Windows.
[Message:BepInEx] Chainloader startup complete
[Error : Unity Log] Font at path: Fonts/LocalisedFonts/Russian/NotoSans-Regular SDF was not loaded correctly! Some fonts will be missing!
[Error : Unity Log] Font at path: Fonts/LocalisedFonts/FontAwesome/Font Awesome 6 Pro-Solid-900 SDF was not loaded correctly! Some fonts will be missing!
[Error : Unity Log] Font at path: Fonts/Headings/LaptureRegular was not loaded correctly! Some fonts will be missing!
[Error : Unity Log] Font at path: Fonts/Headings/Lapture-Bold was not loaded correctly! Some fonts will be missing!
[Error : Unity Log] Font at path: Fonts/LocalisedFonts/Chinese(Simplified)/Chinese(Simplified)-NotoSansSC-Regular SDF was not loaded correctly! Some fonts will be missing!
[Error : Unity Log] Font at path: Fonts/LocalisedFonts/Chinese(Tranditional)/Chinese(Traditional)-NotoSansTC-Regular SDF was not loaded correctly! Some fonts will be missing!
[Error : Unity Log] Font at path: Fonts/LocalisedFonts/Korean/NotoSansKR-Regular SDF was not loaded correctly! Some fonts will be missing!
[Error : Unity Log] Font at path: Fonts/LocalisedFonts/Japanese/NotoSansJP-Regular SDF was not loaded correctly! Some fonts will be missing!
[Debug :BepInEx] [UnityInput] Using LegacyInputSystem
[Warning: Unity Log] MaximizedWindow is not currently supported on Windows, setting to FullsceenWindow instead
[Error : Unity Log] Material 'RelicVFX_Material_BlobParticle_Coop_Menu' with Shader 'Amplify/VFX/BlobParticle' doesn't have a texture property '_MainTex'
[Warning: Unity Log] OutlineEffect does not support Unity Post-processing stack v2. It might not work as expected.
[Warning: Unity Log] BiomeLightingSettings must be instantiated using the ScriptableObject.CreateInstance method instead of new BiomeLightingSettings.
[Error : Unity Log] MissingMethodException: Method not found: Lamb.UI.UIItemSelectorOverlayController Lamb.UI.UIManager.ShowItemSelector(System.Collections.Generic.List`1,Lamb.UI.ItemSelector/Params)
Stack trace:
(wrapper dynamic-method) Interaction.DMD(Interaction,StateMachine)
Interaction_EggFollower.OnSecondaryInteract (StateMachine state) (at <7b04a91d308c4a3e8c2ea4ef13703daf>:0)
Interactor.Update () (at <7b04a91d308c4a3e8c2ea4ef13703daf>:0)
[Error : Unity Log] MissingMethodException: Method not found: Lamb.UI.UIItemSelectorOverlayController Lamb.UI.UIManager.ShowItemSelector(System.Collections.Generic.List`1,Lamb.UI.ItemSelector/Params)
Stack trace:
(wrapper dynamic-method) Interaction.DMD(Interaction,StateMachine)
Interaction_EggFollower.OnSecondaryInteract (StateMachine state) (at <7b04a91d308c4a3e8c2ea4ef13703daf>:0)
Interactor.Update () (at <7b04a91d308c4a3e8c2ea4ef13703daf>:0)
[Error : Unity Log] MissingMethodException: Method not found: Lamb.UI.UIItemSelectorOverlayController Lamb.UI.UIManager.ShowItemSelector(System.Collections.Generic.List`1,Lamb.UI.ItemSelector/Params)
Stack trace:
(wrapper dynamic-method) Interaction.DMD(Interaction,StateMachine)
Interaction_EggFollower.OnSecondaryInteract (StateMachine state) (at <7b04a91d308c4a3e8c2ea4ef13703daf>:0)
Interactor.Update () (at <7b04a91d308c4a3e8c2ea4ef13703daf>:0)
[Error : Unity Log] Releasing render texture that is set as Camera.targetTexture!
[Error : Unity Log] Releasing render texture that is set as Camera.targetTexture!
[Info:Console] Rewired is not initialized. Do you have a Rewired Input Manager in the scene and enabled?
------- Rewired System Info -------
Unity version: 2021.3.16f1
Rewired version: 1.1.44.0.U2021
Platform: Windows
Using Unity input: False
It has been brought to my attention that the latest update to the game broke my mod. I've done some cursory investigation and it *seems* like the fix is straightforward enough, though I need to make sure I understand what that change is actually going to do. However, I was also in the middle of a moderate overhaul to the mod when I was last working on it (mostly to put some guard rails on it to prevent the player from doing stuff the game might not expect, like buying a bunch of otherwise-limited items). I'd really like to get that rewrite finished now that my attention is back on this project, but that would delay getting this fixed. I will see if I can get my current in-progress code spun off into a branch, get the fix out, and then try to remember what I was doing with the rewrite.
I don't have a solid timeline on this, unfortunately. I have not played any update since Relics of the Old Faith, so I'm not sure if I need to be concerned with any new system that shows up in the game once you reach the content in those updates. I'm assuming not since no one was reporting issues with the mod until this latest update, but I cannot definitively say. My plan is to apply the fix as I currently understand the problem. This will get a solution out to ya'll the fastest, but it will mean there might be other issues lurking that I cannot currently encounter in my development save. I'll have to rely on reports from people about any new issues afterwards, and try to get my game caught up in the mean time.
Sorry for the delay on getting a fix out for this, please look forward to it!
EDIT: And I will look into getting this onto Thunderstone afterwards as well, for real this time.