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));
            }
        }
Example #2
0
        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));
                }
            }
        }