public override void PostSpawnSetup(bool respawningAfterLoad) { base.PostSpawnSetup(respawningAfterLoad); /* * if (blood <= (BloodStatusMode)1) * { * // Log.Message("Markable missing hediff, restting to unblooded"); * pawn.health.AddHediff(Unbloodeddef, partRecord); * blood = BloodStatusMode.Unblooded; * } */ if (markDataKill == null) { if (BloodStatus == BloodStatusMode.Marked) { markDataKill = HunterMarkingSystem.RaceDefaultMarkDict.Values.Where(x => pawn.health.hediffSet.HasHediff(x.MarkDef)).RandomElement(); if (markDataKill == null) { Log.Warning(string.Format("markData null for {0} pawn {1}", BloodStatus.ToString(), pawn.Name.ToStringShort)); } } } else { // Log.Message(string.Format("markData exists for {0} pawn {1}, {2}", BloodStatus.ToString(), pawn.Name.ToStringShort, markDataKill.Label)); } }
public override void PostSpawnSetup(bool respawningAfterLoad) { base.PostSpawnSetup(respawningAfterLoad); /* * if (blood <= (BloodStatusMode)1) * { * // Log.Message("Markable missing hediff, restting to unblooded"); * pawn.health.AddHediff(Unbloodeddef, partRecord); * blood = BloodStatusMode.Unblooded; * } */ if (!respawningAfterLoad) { if (markDataKill == null) { if (BloodStatus == BloodStatusMode.Marked) { Rand.PushState(); int rand = Rand.RangeInclusive(0, HunterMarkingSystem.RaceDefaultMarkDict.Count - 1); Rand.PopState(); markDataKill = HunterMarkingSystem.RaceDefaultMarkDict.ElementAt(rand).Value; if (markDataKill == null) { Log.Warning(string.Format("markData null for {0} pawn {1}", BloodStatus.ToString(), pawn.Name.ToStringShort)); } } } else { // Log.Message(string.Format("markData exists for {0} pawn {1}, {2}", BloodStatus.ToString(), pawn.Name.ToStringShort, markDataKill.Label)); } } }