public Key ResolveKey(SheriffSetup setup = null) { if (DetectableBy(setup)) { return(GuiltyKey()); } return(SheriffKey.NotSuspicious); }
public Key Sheriff(SheriffSetup setup) { if (Framing != null) { return(Framing.Sheriff); } return(User.Role.DetectionProfile.ResolveKey(setup)); }
public bool DetectProperty(SheriffSetup setup = null) { return(User.Role.Team.Id switch { "Mafia" => setup?.DetectsMafiaTriad, "Triad" => setup?.DetectsMafiaTriad, _ => User.Role.Id switch { "Arsonist" => setup?.DetectsArsonist, "Cultist" => setup?.DetectsCult, "Mass Murderer" => setup?.DetectsMassMurderer, "Serial Killer" => setup?.DetectsSerialKiller, "Witch Doctor" => setup?.DetectsCult, _ => true } } == true);
public bool DetectableBy(SheriffSetup setup = null) { return(!User.Perks.CurrentlyDetectionImmune && DetectProperty(setup)); }