Пример #1
0
        public static void ChangePsylinkLevel(this Pawn pawn, int levelOffset)
        {
            Hediff_Psylink mainPsylinkSource = pawn.GetMainPsylinkSource();

            if (mainPsylinkSource == null)
            {
                mainPsylinkSource = (Hediff_Psylink)pawn.health.AddHediff(HediffDefOf.PsychicAmplifier, pawn.health.hediffSet.GetBrain());
            }
            else
            {
                mainPsylinkSource.ChangeLevel(levelOffset);
            }
        }
Пример #2
0
        public static void ChangePsylinkLevel(this Pawn pawn, int levelOffset, bool sendLetter = true)
        {
            Hediff_Psylink mainPsylinkSource = pawn.GetMainPsylinkSource();

            if (mainPsylinkSource == null)
            {
                mainPsylinkSource = (Hediff_Psylink)HediffMaker.MakeHediff(HediffDefOf.PsychicAmplifier, pawn);
                try
                {
                    mainPsylinkSource.suppressPostAddLetter = !sendLetter;
                    pawn.health.AddHediff(mainPsylinkSource, pawn.health.hediffSet.GetBrain());
                }
                finally
                {
                    mainPsylinkSource.suppressPostAddLetter = false;
                }
            }
            else
            {
                mainPsylinkSource.ChangeLevel(levelOffset, sendLetter);
            }
        }