[1.0] A RimWorld of Magic

Started by Torann, November 24, 2017, 11:17:05 PM

Previous topic - Next topic

Jan2607

Did you give them the job priority in the jobs tab?

DragonsAngel

Never mind, found the problem, can't believe i've played this game for this long and forgot both gold and silver are meant to be 10 times the ammount...

Jo The Veteran

Weird thing I noticed just now. I copied a spell using mimic with a faceless.
I got the polymorph spell from the other pawn.
Used it, and after it auto-expired, my faceless got a "polymorphed against will" debuff (bug 1).

Also the spell wasn't consumed after I used it (bug 2).
So now I have a spell in my faceless I can use at will.. well, after it recharges, at any time, using no resources at all, mana or stamina.

Other than that, that I don't consider all that problematic in the first place, I really love the mod.
Thank you for your time put in it.

rawrfisher

And this is when the lightning mage uses the lightning storm ability in my setup XD

Note: It struck a stack of mortar shells that were in the middle of the battlefeild

[attachment deleted due to age]
Professional jerk
Want something broken let me know

Canute

Did you discover just a new Master Spellw Mini-Nukes ? :-)
But didn't any stack of Mortar shells would cause such an explosion ?
The lighting was just the fuse.

Opi9038

I REALLY like your mod! Thiere is one thing that i would love to see, and that is new combat class, some kind of chemist. I got this idea when i saw one mod with gas traps (maybe its even its name, i dont remember :v). He could have abilities such as straight gas grenade, that would act like a tear gas or sleeping gas, type of gas trap that upon activating would proc effect on person who activated it (again, sleeping gas for example) and maybe small radious of same gas on max lvl. Some type of stimulant that could for a few seconds give your pawns boost when fighting. One of the skills could be also just spawning some gas grenades for others to use, that deteriorate quickly regardless if outside or inside, or just skill to change type of gas in other abilities. As "ultimate" skill i would love to see a special grenade that covers insane area with toxic/rage/fear/sleeping gas, but gas itself is not very strong. Of course all gas types would affect your colonists too, if they happen to walk into it. What do You think?

katnep

Quote from: Opi9038 on March 11, 2019, 03:41:33 PM
I REALLY like your mod! Thiere is one thing that i would love to see, and that is new combat class, some kind of chemist. I got this idea when i saw one mod with gas traps (maybe its even its name, i dont remember :v). He could have abilities such as straight gas grenade, that would act like a tear gas or sleeping gas, type of gas trap that upon activating would proc effect on person who activated it (again, sleeping gas for example) and maybe small radious of same gas on max lvl. Some type of stimulant that could for a few seconds give your pawns boost when fighting. One of the skills could be also just spawning some gas grenades for others to use, that deteriorate quickly regardless if outside or inside, or just skill to change type of gas in other abilities. As "ultimate" skill i would love to see a special grenade that covers insane area with toxic/rage/fear/sleeping gas, but gas itself is not very strong. Of course all gas types would affect your colonists too, if they happen to walk into it. What do You think?
as a random guy on the forums i love this idea, would certainly be cool, especially if leveling the abilities unlocks stuff like larger radius, and longer lingering time(both in the world and on a pawn), maybe give the character an ability that removes the gas effects in a radius and make the gas something slow that acts over time to stop it being too much of a fast acting tool

henk

Why stop at gas grenades? Create a whole mad scientist class! Insane weapons! Wacky results! Let the madness take you!

Maeyanie

#1298
I'm getting colonists refusing to eat and this exception filling my log:

Exception in Verse.AI.ThinkNode_PrioritySorter TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
at TorannMagic.HarmonyPatches/FoodUtility_MinionMeat_ThoughtFromEatingIngredient_Patch.Postfix (Verse.ThingDef,Verse.Pawn,System.Collections.Generic.List`1<RimWorld.ThoughtDef>&) <0x00019>
at (wrapper dynamic-method) RimWorld.FoodUtility.AddIngestThoughtsFromIngredient_Patch1 (Verse.ThingDef,Verse.Pawn,System.Collections.Generic.List`1<RimWorld.ThoughtDef>) <0x0014b>
at (wrapper dynamic-method) RimWorld.FoodUtility.ThoughtsFromIngesting_Patch2 (Verse.Pawn,Verse.Thing,Verse.ThingDef) <0x00280>
at RimWorld.FoodUtility.FoodOptimality (Verse.Pawn,Verse.Thing,Verse.ThingDef,single,bool) <0x00229>
at RimWorld.FoodUtility.SpawnedFoodSearchInnerScan (Verse.Pawn,Verse.IntVec3,System.Collections.Generic.List`1<Verse.Thing>,Verse.AI.PathEndMode,Verse.TraverseParms,single,System.Predicate`1<Verse.Thing>) <0x001c7>
at RimWorld.FoodUtility.BestFoodSourceOnMap (Verse.Pawn,Verse.Pawn,bool,Verse.ThingDef&,RimWorld.FoodPreferability,bool,bool,bool,bool,bool,bool,bool,bool,bool) <0x0060e>
at RimWorld.FoodUtility.TryFindBestFoodSourceFor (Verse.Pawn,Verse.Pawn,bool,Verse.Thing&,Verse.ThingDef&,bool,bool,bool,bool,bool,bool,bool) <0x002d3>
at (wrapper dynamic-method) RimWorld.JobGiver_GetFood.TryGiveJob_Patch2 (object,Verse.Pawn) <0x00223>
at Verse.AI.ThinkNode_JobGiver.TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) <0x00039>
at Verse.AI.ThinkNode_PrioritySorter.TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) <0x0056b>

Verse.Log:Error(String, Boolean)
Verse.AI.ThinkNode_PrioritySorter:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Tagger:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Subtree:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Conditional:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.Pawn_JobTracker:DetermineNextJob_Patch5(Object, ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick_Patch1(Object)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()


I'm not sure why, taking a look at the decompiled code there does seem to be fairly good null checking on that function. Unless some other mod I have is creating ingredients without even setting "ingredient.ingestible" to anything, or it's getting passed a null argument somehow.

Edit:
Yeah, looked like I had a stack of food which had become "damaged" in some way and would throw exceptions when it was eaten or considered to be eaten. Not sure how it got that way... everything else seems fine. Will look into it further.

Edit 2:
I'm not 100% sure about this since there's a lot of variables, but it seems to happen after certain items from other mods (elven bread from the LOTR stuff and possibly jerked meat from Medieval Times) are stored inside a RimFridge fridge.

Edit 3:
It doesn't seem to require the RimFridge fridge. Had it happen without that too. Might just be the item.

Edit 4:
It's looking like it might be anything made with Lembas flour.

Gungnier

I like how transmute new has a low chance to increase item quality but after a while its pretty annoying to spam items for that 5% chance. If the chance is bigger it would be pretty OP so i think maybe have an item or something as consumable for a quality upgrade, or maybe a separate ability with really long cooldown (like 7 day).

I dont know if it can be fixed on this side but i play with the Kurin mod too (Alien races) and it has unique apparel items so they can't equip the items from "Enchanter's Stone"

Lastly the enchanter has a lot of spells with max mana reduction which makes polymorph and shapeshift hard to use until it has like 20 points of spirit (The class already point starved with all those 2 point upgrades). I found myself prefering poly,shapeshift over enchants and only use enchanted aura for trading and enchanted body when i already spent my mana.

Canute

With the item quality increase you can repair items too if you didn't notice it.
But i suggested too, that you can select the material you want to transmute into.
Nothing worse then when you want to transmute your Mastercraft/Legendary Plate armor and get a gold one. And next week all the raiders need to take numbers when they want to visit you.

Gungnier

#1301
The new "mystery meat" debuff from minion meat works strangely i randomly get the debuff when they definitely didnt eat any food cooked with it. I'm still testing but the debuff seems to happen when i butcher the minion or when minion corpses stored together with food.

#edit1#bug:the "Demons join" event still spooky and happening !

#edit1#possibly bug:Transmutate doesnt remove tainted from flak stuff.

DubiousPhoenix

#1302
Quote from: Maeyanie on March 17, 2019, 06:33:20 PM
I'm getting colonists refusing to eat and this exception filling my log:

Exception in Verse.AI.ThinkNode_PrioritySorter TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
at TorannMagic.HarmonyPatches/FoodUtility_MinionMeat_ThoughtFromEatingIngredient_Patch.Postfix (Verse.ThingDef,Verse.Pawn,System.Collections.Generic.List`1<RimWorld.ThoughtDef>&) <0x00019>
at (wrapper dynamic-method) RimWorld.FoodUtility.AddIngestThoughtsFromIngredient_Patch1 (Verse.ThingDef,Verse.Pawn,System.Collections.Generic.List`1<RimWorld.ThoughtDef>) <0x0014b>
at (wrapper dynamic-method) RimWorld.FoodUtility.ThoughtsFromIngesting_Patch2 (Verse.Pawn,Verse.Thing,Verse.ThingDef) <0x00280>
at RimWorld.FoodUtility.FoodOptimality (Verse.Pawn,Verse.Thing,Verse.ThingDef,single,bool) <0x00229>
at RimWorld.FoodUtility.SpawnedFoodSearchInnerScan (Verse.Pawn,Verse.IntVec3,System.Collections.Generic.List`1<Verse.Thing>,Verse.AI.PathEndMode,Verse.TraverseParms,single,System.Predicate`1<Verse.Thing>) <0x001c7>
at RimWorld.FoodUtility.BestFoodSourceOnMap (Verse.Pawn,Verse.Pawn,bool,Verse.ThingDef&,RimWorld.FoodPreferability,bool,bool,bool,bool,bool,bool,bool,bool,bool) <0x0060e>
at RimWorld.FoodUtility.TryFindBestFoodSourceFor (Verse.Pawn,Verse.Pawn,bool,Verse.Thing&,Verse.ThingDef&,bool,bool,bool,bool,bool,bool,bool) <0x002d3>
at (wrapper dynamic-method) RimWorld.JobGiver_GetFood.TryGiveJob_Patch2 (object,Verse.Pawn) <0x00223>
at Verse.AI.ThinkNode_JobGiver.TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) <0x00039>
at Verse.AI.ThinkNode_PrioritySorter.TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) <0x0056b>

Verse.Log:Error(String, Boolean)
Verse.AI.ThinkNode_PrioritySorter:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Tagger:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Subtree:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Conditional:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.Pawn_JobTracker:DetermineNextJob_Patch5(Object, ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:TryFindAndStartJob()
Verse.AI.Pawn_JobTracker:EndCurrentJob_Patch1(Object, JobCondition, Boolean)
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick_Patch1(Object)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()


I'm not sure why, taking a look at the decompiled code there does seem to be fairly good null checking on that function. Unless some other mod I have is creating ingredients without even setting "ingredient.ingestible" to anything, or it's getting passed a null argument somehow.

Edit:
Yeah, looked like I had a stack of food which had become "damaged" in some way and would throw exceptions when it was eaten or considered to be eaten. Not sure how it got that way... everything else seems fine. Will look into it further.

Edit 2:
I'm not 100% sure about this since there's a lot of variables, but it seems to happen after certain items from other mods (elven bread from the LOTR stuff and possibly jerked meat from Medieval Times) are stored inside a RimFridge fridge.

Edit 3:
It doesn't seem to require the RimFridge fridge. Had it happen without that too. Might just be the item.

Edit 4:
It's looking like it might be anything made with Lembas flour.

Got the same issue for the first time over multiple playthroughs. I don't have a mod that uses Lembas flour though. Was that really the issue for you? Did getting rid of the mod adding Lembas flour fix it?

Exception in Verse.AI.ThinkNode_PrioritySorter TryIssueJobPackage: System.NullReferenceException: Object reference not set to an instance of an object
at TorannMagic.HarmonyPatches/FoodUtility_MinionMeat_ThoughtFromEatingIngredient_Patch.Postfix (Verse.ThingDef,Verse.Pawn,System.Collections.Generic.List`1<RimWorld.ThoughtDef>&) <0x00019>
at (wrapper dynamic-method) RimWorld.FoodUtility.AddIngestThoughtsFromIngredient_Patch1 (Verse.ThingDef,Verse.Pawn,System.Collections.Generic.List`1<RimWorld.ThoughtDef>) <0x0014b>
at (wrapper dynamic-method) RimWorld.FoodUtility.ThoughtsFromIngesting_Patch3 (Verse.Pawn,Verse.Thing,Verse.ThingDef) <0x00280>
at RimWorld.FoodUtility.FoodOptimality (Verse.Pawn,Verse.Thing,Verse.ThingDef,single,bool) <0x00225>
at RimWorld.FoodUtility.SpawnedFoodSearchInnerScan (Verse.Pawn,Verse.IntVec3,System.Collections.Generic.List`1<Verse.Thing>,Verse.AI.PathEndMode,Verse.TraverseParms,single,System.Predicate`1<Verse.Thing>) <0x001c7>
at RimWorld.FoodUtility.BestFoodSourceOnMap (Verse.Pawn,Verse.Pawn,bool,Verse.ThingDef&,RimWorld.FoodPreferability,bool,bool,bool,bool,bool,bool,bool,bool,bool) <0x0060e>
at RimWorld.FoodUtility.TryFindBestFoodSourceFor (Verse.Pawn,Verse.Pawn,bool,Verse.Thing&,Verse.ThingDef&,bool,bool,bool,bool,bool,bool,bool) <0x002cf>
at (wrapper dynamic-method) RimWorld.JobGiver_GetFood.TryGiveJob_Patch1 (object,Verse.Pawn) <0x00223>
at Verse.AI.ThinkNode_JobGiver.TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) <0x00039>
at Verse.AI.ThinkNode_PrioritySorter.TryIssueJobPackage (Verse.Pawn,Verse.AI.JobIssueParams) <0x0056b>

Verse.Log:Error(String, Boolean)
Verse.AI.ThinkNode_PrioritySorter:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Tagger:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Subtree:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Conditional:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.ThinkNode_Priority:TryIssueJobPackage(Pawn, JobIssueParams)
Verse.AI.Pawn_JobTracker:DetermineNextJob_Patch1(Object, ThinkTreeDef&)
Verse.AI.Pawn_JobTracker:CheckForJobOverride()
RimWorld.<LayDown>c__AnonStorey0:<>m__1()
Verse.AI.JobDriver:DriverTick()
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick_Patch2(Object)
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()


Edit 1 - So I found this post recently on the steam forums for this mod by MiracleAce https://steamcommunity.com/workshop/filedetails/discussion/1201382956/1693785669872924587/?ctp=33  who got it working by deleting food with Lem Flour. Mine says minion meat (maybe from the invasion event? Maybe those are the minions it's talking about??) so I deleted all my food. Like the entire fridge. And any meals that could have ever been made with the results of the fire elemental event (idk if they even drop meat but I'm desperate lol), everything from VGP Garden and it's extensions to drinks, soda, honey from the bees mod, literally everything. Then I force ate the food my pawns had in their inventory. I spawned in some oranges to test. When my pawns got hungry they give out the same error message.

Canute

The only Lembas flour i encounter was from Lord of the Rims mods, and these flour got 0 nutri value but could used as ingredient for meals.

But i don't encounter any problems at my playthrough with Lord of the Rims mods,VGP and Rim of Magic.

Maeyanie

#1304
Quote from: DubiousPhoenix on March 20, 2019, 12:57:27 AM
Got the same issue for the first time over multiple playthroughs. I don't have a mod that uses Lembas flour though. Was that really the issue for you? Did getting rid of the mod adding Lembas flour fix it?

Edit 1 - So I found this post recently on the steam forums for this mod by MiracleAce https://steamcommunity.com/workshop/filedetails/discussion/1201382956/1693785669872924587/?ctp=33  who got it working by deleting food with Lem Flour. Mine says minion meat (maybe from the invasion event? Maybe those are the minions it's talking about??) so I deleted all my food. Like the entire fridge. And any meals that could have ever been made with the results of the fire elemental event (idk if they even drop meat but I'm desperate lol), everything from VGP Garden and it's extensions to drinks, soda, honey from the bees mod, literally everything. Then I force ate the food my pawns had in their inventory. I spawned in some oranges to test. When my pawns got hungry they give out the same error message.

I've had Lembas meals earlier in this playthrough and they were working fine then, it only stopped working like 2 or 3 days ago. It's possible an update suddenly broke things.

The function errors is the one which adds a debuff when people eat minion meat, but it does run for every ingredient on everything everyone eats ever just to check if that thing happens to contain minion meat, so it's not necessarily related to that, it could be any ingredient causing it.

As part of testing, I did try a number of things, and established that if I delete any food containing Lembas flour it started working, then if I allowed something to be made with it, it started giving the error again. But, it's entirely possible there are other ingredients in other mods out there with similar brokenness, that's just the one I happened to find.

Forbidding it from being used in food seems to have avoided repeating the problem for now, and as Canute mentioned it was 0 nutrition (though setting it to 0.1 nutrition in the def didn't change anything) so using it in meals was a waste anyhow.