RimWorld

RimWorld

Vanilla Furniture Expanded - Security
Brotzkocken 1 Oct, 2019 @ 11:59am
Artillery piece breaking caravan movement?
Hi,

my caravans stopped moving (all). There is no issue with the caravans. I opened Devmode and there is the following error below. I think this might be caused by me building the artillery, aiming and firing at enemy settlement and then deconstructing the artillery withour cancelling the fire order.

This also affects everything else that moves, like drop pods. they start but never move.

Any idea how to solve this?

System.NullReferenceException: Object reference not set to an instance of an object
at VFESecurity.ArtilleryComp.get_ArtilleryProps () [0x00000] in <filename unknown>:0
at VFESecurity.ArtilleryComp.<get_Targets>b__20_0 (RimWorld.Planet.Settlement s) [0x00000] in <filename unknown>:0
at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[RimWorld.Planet.Settlement].MoveNext () [0x00000] in <filename unknown>:0
at VFESecurity.ArtilleryComp+<get_Targets>d__20.MoveNext () [0x00000] in <filename unknown>:0
at System.Linq.Enumerable+<CreateSelectIterator>c__Iterator10`2[RimWorld.Planet.GlobalTargetInfo,RimWorld.Planet.WorldObject].MoveNext () [0x00000] in <filename unknown>:0
at System.Linq.Enumerable+<CreateCastIterator>c__Iterator0`1[RimWorld.Planet.Settlement].MoveNext () [0x00000] in <filename unknown>:0
at Verse.GenCollection.TryRandomElementByWeight[Settlement] (IEnumerable`1 source, System.Func`2 weightSelector, RimWorld.Planet.Settlement& result) [0x00000] in <filename unknown>:0
at VFESecurity.ArtilleryComp.CompTick () [0x00000] in <filename unknown>:0
at RimWorld.Planet.WorldObject.Tick () [0x00000] in <filename unknown>:0
at RimWorld.Planet.MapParent.Tick () [0x00000] in <filename unknown>:0
at RimWorld.Planet.SettlementBase.Tick () [0x00000] in <filename unknown>:0
at RimWorld.Planet.Settlement.Tick () [0x00000] in <filename unknown>:0
at RimWorld.Planet.WorldObjectsHolder.WorldObjectsHolderTick () [0x00000] in <filename unknown>:0
at RimWorld.Planet.World.WorldTick () [0x00000] in <filename unknown>:0
at Verse.TickManager.DoSingleTick () [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()
Last edited by Brotzkocken; 1 Oct, 2019 @ 12:04pm
< >
Showing 1-7 of 7 comments
Ellandar 7 Oct, 2019 @ 2:19am 
Same problem here. In addition the artillery shells themselves also don't move.
Brotzkocken 14 Oct, 2019 @ 8:47am 
I was able to solve it by editing the save and removing some info related to "artillery", i believe it was the part that was related to the village I shot (retaliatory strike or something) or the aiming data of the artillery itself (something which had some coordinates in it iirc).
good pal 28 Oct, 2019 @ 2:05pm 
Same issue, and this really is game breaking unfortunately.

Originally posted by Brotzkocken:
I was able to solve it by editing the save and removing some info related to "artillery", i believe it was the part that was related to the village I shot (retaliatory strike or something) or the aiming data of the artillery itself (something which had some coordinates in it iirc).

Can you give an example of how to? I'm running a large (30-40 pawn) colony which mostly uses this mod for defenses and it'd be a lot of headaces to simply disable and re-enable this mod after removing all this mods assets.
Brotzkocken 29 Oct, 2019 @ 11:24am 
Originally posted by R.B-Go_Go_Roboto:
Same issue, and this really is game breaking unfortunately.

Originally posted by Brotzkocken:
I was able to solve it by editing the save and removing some info related to "artillery", i believe it was the part that was related to the village I shot (retaliatory strike or something) or the aiming data of the artillery itself (something which had some coordinates in it iirc).

Can you give an example of how to? I'm running a large (30-40 pawn) colony which mostly uses this mod for defenses and it'd be a lot of headaces to simply disable and re-enable this mod after removing all this mods assets.

I am not 100% remebering what i actually did, but i will try.

open save file with a basic text editor, search for "retaliation" or "retaliate", it should show some results that are listed near the entries that define the other settlements. i just deleted those two things i believe:

"<li Class="StandardLetter">
<ID>1014</ID>
<def>ThreatBig</def>
<label>Artillery retaliation</label>
<lookTargets>
<targets>
<li>@WorldObject_16</li>
</targets>
</lookTargets>
<relatedFaction>null</relatedFaction>
<arrivalTick>17103113</arrivalTick>
<text>Due to your provocation via artillery strike, the outlanders at Thaminden have decided to return fire at your settlements using their own artillery!

This bombardment will go on for a few days, or until you destroy the settlement.</text>
</li>"

and

"<recentRetaliationTicks>76839</recentRetaliationTicks>
<artilleryCount>1</artilleryCount>
<bombardmentDurationTicks>27254</bombardmentDurationTicks>
<artillery />"

the latter one to be found within the entry of the settlement called "Thaminden" which i bombarded.

I think the artillery thingy is broken. Mod author sadly did not reply. If needed send me your mail address via a DM and i can send you my save that works and that, that doesnt work and you can compare them.
Brotzkocken 29 Oct, 2019 @ 11:25am 
That being said, i removed the artillery cannon from the game and never used it again and never had any further issue. The mod itself is nice, albeit a bit OP compared to your regular security devices
good pal 29 Oct, 2019 @ 2:09pm 
Originally posted by Brotzkocken:
Originally posted by R.B-Go_Go_Roboto:
Same issue, and this really is game breaking unfortunately.



Can you give an example of how to? I'm running a large (30-40 pawn) colony which mostly uses this mod for defenses and it'd be a lot of headaces to simply disable and re-enable this mod after removing all this mods assets.

I am not 100% remebering what i actually did, but i will try.

open save file with a basic text editor, search for "retaliation" or "retaliate", it should show some results that are listed near the entries that define the other settlements. i just deleted those two things i believe:

"<li Class="StandardLetter">
<ID>1014</ID>
<def>ThreatBig</def>
<label>Artillery retaliation</label>
<lookTargets>
<targets>
<li>@WorldObject_16</li>
</targets>
</lookTargets>
<relatedFaction>null</relatedFaction>
<arrivalTick>17103113</arrivalTick>
<text>Due to your provocation via artillery strike, the outlanders at Thaminden have decided to return fire at your settlements using their own artillery!

This bombardment will go on for a few days, or until you destroy the settlement.</text>
</li>"

and

"<recentRetaliationTicks>76839</recentRetaliationTicks>
<artilleryCount>1</artilleryCount>
<bombardmentDurationTicks>27254</bombardmentDurationTicks>
<artillery />"

the latter one to be found within the entry of the settlement called "Thaminden" which i bombarded.

I think the artillery thingy is broken. Mod author sadly did not reply. If needed send me your mail address via a DM and i can send you my save that works and that, that doesnt work and you can compare them.

Thanks! I'll try it out!
wgering 10 Feb, 2020 @ 6:14pm 
I had a problem with caravans and artillery as well. I started using the Set Up Camp mod so that I could deploy artillery in the field to bombard settlements/outposts beyond a single range increment from my base; the issue I ran into is that trying to pack up the artillery when finished causes it to disappear.

Using both the "Uninstall" and "Deconstruct" actions on the artillery cause it to simply vanish, and attempting to reform the caravan from the world screen and add the artillery (still installed on the map) to the caravan as an item causes the caravan to fail. After clicking "Accept" in the caravan menu, all colonists/animals/items except the artillery disappear and nothing else happens, I'm just trapped in that menu. Clicking "Reset" restores all colonists/animals/items, but causes the number of artillery counted in the menu to decrease by 1 (this can be repeated until none register)

I went poking around in the logfile and found this:

Exception spawning loaded thing VFES_Turret_Artillery634976: System.NullReferenceException: Object reference not set to an instance of an object
at VFESecurity.CompLongRangeArtillery.ArtilleryMapComp (Verse.Map map) [0x00000] in <filename unknown>:0
at VFESecurity.CompLongRangeArtillery.PostSpawnSetup (Boolean respawningAfterLoad) [0x00000] in <filename unknown>:0
at Verse.ThingWithComps.SpawnSetup (Verse.Map map, Boolean respawningAfterLoad) [0x00000] in <filename unknown>:0
at Verse.Building.SpawnSetup (Verse.Map map, Boolean respawningAfterLoad) [0x00000] in <filename unknown>:0
at RimWorld.Building_TurretGun.SpawnSetup (Verse.Map map, Boolean respawningAfterLoad) [0x00000] in <filename unknown>:0
at Verse.GenSpawn.Spawn (Verse.Thing newThing, IntVec3 loc, Verse.Map map, Rot4 rot, WipeMode wipeMode, Boolean respawningAfterLoad) [0x00000] in <filename unknown>:0
at Verse.GenSpawn.SpawnBuildingAsPossible (Verse.Building building, Verse.Map map, Boolean respawningAfterLoad) [0x00000] in <filename unknown>:0
at Verse.Map.FinalizeLoading () [0x00000] in <filename unknown>:0

I don't mess around too much under under the hood with RimWorld so I'm not 100% sure what I'm looking at, but it seems like its freaking out about spawning the artillery pieces on the camp map and something about that breaks the object.

Anyone else experienced anything similar?


EDIT:

Messing around in dev mode, I see the game is throwing an exception when a pawn attempts to uninstall the artillery:

JobDriver threw exception in initAction for pawn Mal driver=JobDriver_Uninstall (toilIndex=2) driver.job=(Uninstall (Job_4336577) A=Thing_VFES_Turret_Artillery723561) lastJobGiver=Verse.AI.ThinkNode_QueuedJob
System.NullReferenceException: Object reference not set to an instance of an object
at VFESecurity.CompLongRangeArtillery.ArtilleryMapComp (Verse.Map map) [0x00000] in <filename unknown>:0
at VFESecurity.CompLongRangeArtillery.PostDeSpawn (Verse.Map map) [0x00000] in <filename unknown>:0
at Verse.ThingWithComps.DeSpawn (DestroyMode mode) [0x00000] in <filename unknown>:0
at Verse.Building.DeSpawn (DestroyMode mode) [0x00000] in <filename unknown>:0
at RimWorld.Building_TurretGun.DeSpawn (DestroyMode mode) [0x00000] in <filename unknown>:0
at RimWorld.MinifyUtility.MakeMinified (Verse.Thing thing) [0x00000] in <filename unknown>:0
at RimWorld.MinifyUtility.Uninstall (Verse.Thing th) [0x00000] in <filename unknown>:0
at RimWorld.JobDriver_Uninstall.FinishedRemoving () [0x00000] in <filename unknown>:0
at RimWorld.JobDriver_RemoveBuilding+<MakeNewToils>c__Iterator0.<>m__1 () [0x00000] in <filename unknown>:0
at Verse.AI.JobDriver.TryActuallyStartNextToil () [0x00000] in <filename unknown>:0
Verse.Log:Error(String, Boolean)
Verse.AI.JobUtility:TryStartErrorRecoverJob(Pawn, String, Exception, JobDriver)
Verse.AI.JobDriver:TryActuallyStartNextToil()
Verse.AI.JobDriver:ReadyForNextToil()
RimWorld.<MakeNewToils>c__AnonStorey1:<>m__1()
Verse.AI.JobDriver:DriverTick()
Verse.AI.Pawn_JobTracker:JobTrackerTick()
Verse.Pawn:Tick()
Verse.TickList:Tick()
Verse.TickManager:DoSingleTick()
Verse.TickManager:TickManagerUpdate()
Verse.Game:UpdatePlay()
Verse.Root_Play:Update()

Last edited by wgering; 10 Feb, 2020 @ 6:26pm
< >
Showing 1-7 of 7 comments
Per page: 1530 50