public static bool CompAbilityEffect_WordOfLove_Prefix2(ref bool __result, CompAbilityEffect_WordOfLove __instance, LocalTargetInfo target, bool throwMessages) { Pawn pawn = target.Pawn; CompIndividuality comp = pawn.TryGetComp <CompIndividuality>(); if (pawn != null) { if (comp.sexuality == CompIndividuality.Sexuality.Asexual) { if (throwMessages) { Messages.Message("AbilityCantApplyOnAsexual".Translate(pawn), pawn, MessageTypeDefOf.RejectInput, false); } __result = false; return(false); } if (!AbilityUtility.ValidateNoMentalState(pawn, throwMessages)) { __result = false; return(false); } } __result = true; return(false); }
public static bool CompAbilityEffect_WordOfLove_Prefix(ref bool __result, CompAbilityEffect_WordOfLove __instance, LocalTargetInfo target, LocalTargetInfo ___selectedTarget) { Pawn pawn = ___selectedTarget.Pawn; Pawn pawn2 = target.Pawn; CompIndividuality comp = pawn.TryGetComp <CompIndividuality>(); if (pawn == pawn2) { __result = false; return(false); } if (pawn != null && pawn2 != null && comp.sexuality != CompIndividuality.Sexuality.Bisexual) { if ((pawn.gender == pawn2.gender && comp.sexuality == CompIndividuality.Sexuality.Straight) || (pawn.gender != pawn2.gender && comp.sexuality == CompIndividuality.Sexuality.Gay)) { Messages.Message("AbilityCantApplyWrongAttractionGender".Translate(pawn, pawn2), pawn, MessageTypeDefOf.RejectInput, false); __result = false; return(false); } } __result = true; return(false); }