边缘世界 RimWorld

边缘世界 RimWorld

Immortals
Migras 2022 年 4 月 24 日 上午 3:57
Reviving stops when reloading
Every time I reload a save all dead first death immortals stop healing and beheadding them doesn't trigger a quickening anymore. Atm the debug log shows 617 instances of:
System.NullReferenceException: Object reference not set to an instance of an object
at Immortals.GameCondition_QuickeningSky.GameConditionTick () [0x00074] in <93734d5a4fc6455091f266896b8abb2e>:0
at RimWorld.GameConditionManager.GameConditionManagerTick () [0x0002d] in <99518a644a3e4a7ea3fde566568df84a>:0
at (wrapper dynamic-method) Verse.Map.Verse.Map.MapPostTick_Patch1(Verse.Map)
UnityEngine.StackTraceUtility:ExtractStackTrace ()
(wrapper dynamic-method) Verse.Log:Verse.Log.Error_Patch2 (string)
(wrapper dynamic-method) Verse.Map:Verse.Map.MapPostTick_Patch1 (Verse.Map)
(wrapper dynamic-method) Verse.TickManager:Verse.TickManager.DoSingleTick_Patch3 (Verse.TickManager)
Verse.TickManager:TickManagerUpdate ()
(wrapper dynamic-method) Verse.Game:Verse.Game.UpdatePlay_Patch1 (Verse.Game)
Verse.Root_Play:Update ()

...help...please?
< >
正在显示第 1 - 15 条,共 16 条留言
alcon678 2022 年 5 月 5 日 上午 2:58 
it happens to me too
KR_man 2022 年 5 月 6 日 上午 4:18 
I have the same issue but I don't seem to be getting the debug message
Alexander Zagirov 2022 年 5 月 7 日 下午 1:25 
Yeah, same problem. First Death immortals stop healing after reload.
Mr Icebag 2022 年 5 月 8 日 上午 11:04 
im currently also having the same issue and on top of that i just learned that apparently immortals aren't supposed to rot..... so thats another thing i have to look into i have a few mods i suspect that might be doing this like rimworld of magic but i'm not sure ill give it a test later
Alexander Zagirov 2022 年 5 月 9 日 上午 8:52 
I don’t have something like rimworld of magic installed, and my modlistd didn’t change much recently. I can also confirm that before the whole mortalis/extractor update everything worked fine. I only noticed that something wrong after that. Even thought that chances for pawns to spawn as immortals got messed up somehow. Only later figured out that first death immortals stopped healing after reloading. I hope author fixes this soon. While existing immortals are fine, and heal and revive normally, I’m forced to babysit new ones and cut heads of any downed enemies immediately to not loose quickening. Before I had a special “filter” surrounded by turrets set up to have any normal enemies rot there and immortals revive and then ether recruit or behead them. Now I can’t do it.
alcon678 2022 年 5 月 13 日 上午 9:26 
引用自 Alexander Zagirov
I don’t have something like rimworld of magic installed, and my modlistd didn’t change much recently. I can also confirm that before the whole mortalis/extractor update everything worked fine. I only noticed that something wrong after that. Even thought that chances for pawns to spawn as immortals got messed up somehow. Only later figured out that first death immortals stopped healing after reloading. I hope author fixes this soon. While existing immortals are fine, and heal and revive normally, I’m forced to babysit new ones and cut heads of any downed enemies immediately to not loose quickening. Before I had a special “filter” surrounded by turrets set up to have any normal enemies rot there and immortals revive and then ether recruit or behead them. Now I can’t do it.
Yeah, same here, my modlist have not changed and it started with the last update
I'm not sure if the dev will read these messages tho :steamsad:
BufflesTE 2022 年 5 月 21 日 上午 7:15 
Same issue as well. Had a bunch of pawns who were supposed to resurrect but because of the bug, they stop healing which prevents resurrection. Tried stuff like adding the Death Timer to them again, removing the injuries and nothing. Might have to use Dev mode to resurrect them and then kill to re-trigger the death timer. : /
Killface 2022 年 5 月 24 日 上午 10:40 
I might have found the solution.

in the private bool CanHeal(Pawn pawn) is a check
if (imDiff != null && imDiff.Severity > 0.5f)
Debug tells me that my dead pawn has a severity of exactly 0.5.
Code should be
if (imDiff != null && imDiff.Severity >= 0.5f)
or maybe set the value to > 0.1

I've built it locally and testing it.

// EDIT: Seems to be working, Thorhvatson is reviving :c)
Here's the link to a fixed dll, check set to > 0.1 https://we.tl/t-X2IB3hnZ90
最后由 Killface 编辑于; 2022 年 5 月 24 日 上午 10:48
Agusfer 2022 年 5 月 24 日 下午 3:30 
引用自 Killface
I might have found the solution.

in the private bool CanHeal(Pawn pawn) is a check
if (imDiff != null && imDiff.Severity > 0.5f)
Debug tells me that my dead pawn has a severity of exactly 0.5.
Code should be
if (imDiff != null && imDiff.Severity >= 0.5f)
or maybe set the value to > 0.1

I've built it locally and testing it.

// EDIT: Seems to be working, Thorhvatson is reviving :c)
Here's the link to a fixed dll, check set to > 0.1 https://we.tl/t-X2IB3hnZ90

If i wanted to see that one and other dll files and edit+save them, how would i go about doing so? What program would be the easiest?
Agusfer 2022 年 5 月 25 日 上午 12:30 
So uh i installed JetBrains' dotPeek to open and read the .dll, opened both yours and original, copied the entire text from both "CanHeal" bools, put them in notepad++ and compared them with the "compare" plugin, and from the changes i see it was more than a simple edit.
I have no idea what each change does but if i come back to the game i'll be sure to try your file :p
Killface 2022 年 5 月 25 日 上午 10:08 
引用自 Agusfer
If i wanted to see that one and other dll files and edit+save them, how would i go about doing so? What program would be the easiest?
There's no way I know of editing dlls directly.
The mod contains the source code. In order to compile I've updated the references and removed Ms Utils (?) as they weren't present on my system and not needed for compiling. Only changes apart from that was editing the value to read 0.1 instead of 0.5.
Agusfer 2022 年 5 月 25 日 下午 3:37 
引用自 Killface
There's no way I know of editing dlls directly.
The mod contains the source code. In order to compile I've updated the references and removed Ms Utils (?) as they weren't present on my system and not needed for compiling. Only changes apart from that was editing the value to read 0.1 instead of 0.5.

Damn then i went on another direction without knowing lol, this coding world is strange sometimes when you are someone like me that doesn't know much. Thanks for telling me how you did it, i'll look into the compiling thing later i guess, just for curiosity :p
fiqusonnick 2022 年 5 月 30 日 上午 11:12 
引用自 Killface
I might have found the solution.

in the private bool CanHeal(Pawn pawn) is a check
if (imDiff != null && imDiff.Severity > 0.5f)
Debug tells me that my dead pawn has a severity of exactly 0.5.
Code should be
if (imDiff != null && imDiff.Severity >= 0.5f)
or maybe set the value to > 0.1

I've built it locally and testing it.

// EDIT: Seems to be working, Thorhvatson is reviving :c)
Here's the link to a fixed dll, check set to > 0.1 https://we.tl/t-X2IB3hnZ90
This is actually amazing, thank you.

Now there's the issue of the hundreds of errors[gist.github.com]. Seems they're coming from trying to ressurect pawns, but i have no clue about the specific circumstances as it's not consistent at all. I'll try to put it lower in the load list and see what happens.
Killface 2022 年 5 月 30 日 下午 1:06 
引用自 fiqusonnick
This is actually amazing, thank you.

Now there's the issue of the hundreds of errors[gist.github.com]. Seems they're coming from trying to ressurect pawns, but i have no clue about the specific circumstances as it's not consistent at all. I'll try to put it lower in the load list and see what happens.
Weird. I have the clue that ReplaceStuff has issues with pawn ressurections. Maybe deactivate it till all dead pawns came back to life?
You can contact the author to check, so that "IsNewThingReplacement" is not activated on corpses.
fiqusonnick 2022 年 5 月 30 日 下午 11:00 
Yeah moving immortals lower didn't help. I disabled replace stuff, will update if it still happens.
< >
正在显示第 1 - 15 条,共 16 条留言
每页显示数: 1530 50