[1.3.0] Hospitality

Started by Orion, March 13, 2015, 11:19:16 AM

Previous topic - Next topic

Love

Is there any way you could restructure the way you change the Chased Refugees event so it isn't a blanket override of the original? That's what's preventing other mods making their mod compatible with yours.

ridjack

So a bunch of guests from one faction all went Berserk one after the other. They all had horrible moods, so that seemed legit enough, but a bunch of them died and shortly afterwards, I started being spammed with "The whatever-faction are leaving" at hyperspeed. Several times a second.

Error log, Pastebin.

Ashardalon411

Report:
Quote[HugsLib][ERR] Hospitality caused an exception during LoadReloadInitialize: System.NullReferenceException: Object reference not set to an instance of an object
  at Hospitality.Hospitality_SpecialInjector.InjectTab (System.Type tabType, System.Func`2 qualifier) [0x00000] in <filename unknown>:0
  at Hospitality.Hospitality_SpecialInjector.Inject () [0x00000] in <filename unknown>:0
  at Hospitality.DetourInjector.Inject () [0x00000] in <filename unknown>:0
  at Hospitality.DetourInjector.Initialize () [0x00000] in <filename unknown>:0
  at HugsLib.HugsLibController.LoadReloadInitialize () [0x00000] in <filename unknown>:0
Verse.Log:Error(String)
HugsLib.Utils.ModLogger:ReportException(Exception, String, Boolean, String)
HugsLib.HugsLibController:LoadReloadInitialize()
Verse.LongEventHandler:RunEventFromAnotherThread(Action)
Verse.LongEventHandler:<UpdateCurrentAsynchronousEvent>m__84C()

This happens when zombieland and hospitality are in the same modlist.

I have do the same report to the author of zombieland, so if you can concert between each other for fix it, it can be very nice ! Already ty !

Brrainz

If I would know the code in that method, i could guess the problem.

Orion

@pardeike: I've attached the file. But I think this is just the tip of the iceberg.
I've also looked at "DetourInjector". It's actually just a class implementing ModBase that calls Inject on the SpecialInjector.

[attachment deleted by admin due to age]

Orion

Quote from: Love on June 11, 2017, 05:14:51 PM
Is there any way you could restructure the way you change the Chased Refugees event so it isn't a blanket override of the original? That's what's preventing other mods making their mod compatible with yours.
Unfortunately, there isn't. Just as other mods have to blanket override Chased Refugees to do what they want. But then, they can just increase the priority of their override and everything will work just fine ::)

Brrainz

Quote from: Orion on June 13, 2017, 03:46:21 AM
@pardeike: I've attached the file. But I think this is just the tip of the iceberg.
I've also looked at "DetourInjector". It's actually just a class implementing ModBase that calls Inject on the SpecialInjector.
Ah, I think the problem is rather easy. Zombies cannot be selected and have no inspectors. Simply code a bit defensive and don't assume that all pawns can be inspected.

Orion

Apparently, it was real easy indeed. I expected much more trouble.

Update
1.17d - 13.06.2017
- Fix: Updated Chinese translations (thx to duduluu)
- New: When guests arrive and danger is present, player is asked
- Fix: Now compatible with zombieland

Brrainz

Quote from: Orion on June 13, 2017, 01:28:31 PM
Apparently, it was real easy. I expected much more trouble.
- Fix: Now compatible with zombieland
Most excellent work, Orion!

DariusWolfe

Reddit has spoiled me. I wanted to upvote since I don't have anything productive to add, but I wanted to show I liked this.

So, have an Upvote, +1, Like, whatevs. Love the work you're doin' Orion.

WalkingProblem

Quote from: Orion on June 10, 2017, 07:04:31 AM
@kaptain_kavern: The issue here is that visitors are modified a lot for Hospitality. But the animals they bring apparently not. Usually guests never have animals to trade (only caravans do). So guests will break when they bring animals along. This also applies if the player is allowed to sell them animals.

My mods (RimSlaves) also faces the same issue, since Visitors from Walkblem Slavers (The slaver faction) brings along Unsullieds (Slave Fighters) as their military escorts. But the Unsullieds are "animals" thus my mod users also getting the same errors.

Is there anyway I can help to make this fix? Or do I have to make a fix from my side independent from Hospitality mod (assuming that you will never fix this issue? =\

Orion

@pardeike: I didn't really see Zombieland and Hospitality get along, but today I tried a new colony with both and it's actually quite funny to play like that.

@Darius: Don't despair, there's always PayPal :P

@Walking Problem: If you want to help, you can help me identify what's the issue with animals. To be honest, I'm not really looking forward to figuring it out, so if you can give me some leads I'll take a shot at it.

WalkingProblem

Quote from: Orion on June 13, 2017, 05:11:01 PM
@Walking Problem: If you want to help, you can help me identify what's the issue with animals. To be honest, I'm not really looking forward to figuring it out, so if you can give me some leads I'll take a shot at it.

So far from what I can remember, there seemed to be a missing thinknode or something for the visitor with animals. It goes into an infinite loop of not knowing what to do, and the visitor get stuck on the map, nothing to trigger it to leave the map. The visitor as a result went hungry, berserk and die from either hunger or killed by the colonists. 

If this is not enough information, I will try to replicate the issues (its kindda hard to get the exact visitor event), and copy the error log.

JerryBi

i suppose this error from your mod


System.NullReferenceException: Object reference not set to an instance of an object
  at RimWorld.RaidStrategyWorker_ImmediateAttackSappers.CanUsePawnGenOption (RimWorld.PawnGenOption opt, System.Collections.Generic.List`1 chosenOpts) [0x00000] in <filename unknown>:0
  at RimWorld.PawnGroupMakerUtility.ChoosePawnGenOptionsByPoints (Single points, System.Collections.Generic.List`1 options, RimWorld.PawnGroupMakerParms parms) [0x00000] in <filename unknown>:0
  at RimWorld.PawnGroupKindWorker_Normal.CanGenerateFrom (RimWorld.PawnGroupMakerParms parms, RimWorld.PawnGroupMaker groupMaker) [0x00000] in <filename unknown>:0
  at RimWorld.PawnGroupMaker.CanGenerateFrom (RimWorld.PawnGroupMakerParms parms) [0x00000] in <filename unknown>:0
  at RimWorld.PawnGroupMakerUtility+<GeneratePawns>c__IteratorC9.<>m__31D (RimWorld.PawnGroupMaker gm) [0x00000] in <filename unknown>:0
  at System.Linq.Enumerable+<CreateWhereIterator>c__Iterator1D`1[RimWorld.PawnGroupMaker].MoveNext () [0x00000] in <filename unknown>:0
  at Verse.GenCollection.TryRandomElementByWeight[PawnGroupMaker] (IEnumerable`1 source, System.Func`2 weightSelector, RimWorld.PawnGroupMaker& result) [0x00000] in <filename unknown>:0
  at RimWorld.PawnGroupMakerUtility+<GeneratePawns>c__IteratorC9.MoveNext () [0x00000] in <filename unknown>:0
  at System.Collections.Generic.List`1[Verse.Pawn].AddEnumerable (IEnumerable`1 enumerable) [0x00000] in <filename unknown>:0
  at System.Collections.Generic.List`1[Verse.Pawn]..ctor (IEnumerable`1 collection) [0x00000] in <filename unknown>:0
  at System.Linq.Enumerable.ToList[Pawn] (IEnumerable`1 source) [0x00000] in <filename unknown>:0
  at RimWorld.IncidentWorker_Raid.TryExecute (RimWorld.IncidentParms parms) [0x00000] in <filename unknown>:0
  at RimWorld.IncidentWorker_RaidEnemy.TryExecute (RimWorld.IncidentParms parms) [0x00000] in <filename unknown>:0
  at RimWorld.Storyteller.TryFire (RimWorld.FiringIncident fi) [0x00000] in <filename unknown>:0
  at RimWorld.Storyteller.StorytellerTick () [0x00000] in <filename unknown>:0
  at Verse.TickManager.DoSingleTick () [0x00000] in <filename unknown>:0


and no raids ...

wafflep90

Hi Orion,

through all of the requests and beg fixes spammed at and "expected of" you I just wanted to say.

Thank you so very much for creating and updating this mod, it is easily one of my favourite and works in line with everything I use (not a lot of mods coincidently... I have a laptop so cant reach out to far) just wanted to say a massive thank you for all the hard work you have done and continue to do.

keep it up

Yours Thankfully
Wafflep90 (josh)