Example #1
0
        public override void Interacted(Pawn initiator, Pawn recipient, List <RulePackDef> extraSentencePacks, out string letterText, out string letterLabel, out LetterDef letterDef, out LookTargets lookTargets)
        {
            base.Interacted(initiator, recipient, extraSentencePacks, out letterText, out letterLabel, out letterDef, out lookTargets);

            CultUtility.AffectCultMindedness(recipient, Rand.Range(CULTMINDED_EFFECT_MIN, CULTMINDED_EFFECT_MAX));
            CultUtility.AffectCultMindedness(initiator, Rand.Range(CULTMINDED_EFFECT_MIN, CULTMINDED_EFFECT_MAX));
        }
        private void GiveInteractionSanityLoss()
        {
            Pawn temp = InteractingPawn;
            ResearchProjectDef currentProject = Find.ResearchManager.currentProj;
            float modifier = 0.0040f;

            if (temp == null)
            {
                return;
            }
            if (currentProject == null)
            {
                return;
            }
            if (!IsThisCultistResearch(currentProject))
            {
                return;
            }
            UsageWarning(temp);
            if (Find.ResearchManager.currentProj == ResearchProjectDef.Named("Forbidden_Lore"))
            {
                modifier *= 1.2f;
                temp.skills.Learn(SkillDefOf.Social, SocialSkillBoost);
            }
            Cthulhu.Utility.ApplySanityLoss(temp, modifier, MaxSanityLoss);
            CultUtility.AffectCultMindedness(temp, modifier, MaxCultMindedBoost);
        }
 public override void MentalStateTick()
 {
     base.MentalStateTick();
     if (pawn.IsHashIntervalTick(1000))
     {
         CultUtility.AffectCultMindedness(pawn, -0.05f);
         //Cthulhu.Utility.ApplySanityLoss(this.pawn, -0.05f);
     }
 }
Example #4
0
        public override void DoEffectOn(Pawn user, Thing target)
        {
            Pawn pawn = (Pawn)target;

            if (pawn.Dead)
            {
                return;
            }
            Cthulhu.Utility.ApplySanityLoss(pawn, 0.9f);
            CultUtility.AffectCultMindedness(pawn, 0.99f, 0.99f);
            Messages.Message("CompTargetEffectCultMinded".Translate(
                                 pawn.Label
                                 ), MessageTypeDefOf.NeutralEvent);
            //pawn.mindState.mentalStateHandler.TryStartMentalState(MentalStateDefOf.Berserk, null, false, false, null);
        }
        public override void DoEffectOn(Pawn user, Thing target)
        {
            var pawn = (Pawn)target;

            if (pawn.Dead)
            {
                return;
            }

            Utility.ApplySanityLoss(pawn, 0.9f);
            CultUtility.AffectCultMindedness(pawn, 0.99f);
            Messages.Message("CompTargetEffectCultMinded".Translate(
                                 pawn.Label
                                 ), MessageTypeDefOf.NeutralEvent);
            //pawn.mindState.mentalStateHandler.TryStartMentalState(MentalStateDefOf.Berserk, null, false, false, null);
            Find.BattleLog.Add(new BattleLogEntry_ItemUsed(user, target, this.parent.def, RulePackDefOf.Event_ItemUsed));
        }