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); } }
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)); }