public Reaction(UBoundedNumber agreement, UBoundedNumber surprise, UBoundedNumber significance, TraitsVector totalDissonance) { Agreement = agreement; Surprise = surprise; Significance = significance; TotalDissonance = totalDissonance; ExpressiveDissonance = null; CharacterDissonance = null; }
public Reaction(UBoundedNumber agreement, UBoundedNumber surprise, UBoundedNumber significance, TraitsVector totalDissonance, TraitsVector characterDissonance, TraitsVector expressiveDissonance) : this(agreement, surprise, significance, totalDissonance, characterDissonance) { ExpressiveDissonance = expressiveDissonance; }
public (Emotion, Emotion, Emotion) Feelings() { Emotion bareLeanings = Emotion.None; if (Apathy_Passion.Number != 0) { bareLeanings |= !Apathy_Passion ? Emotion.Apathetic : Emotion.Passionate; } if (Dysphoria_Euphoria.Number != 0) { bareLeanings |= !Dysphoria_Euphoria ? Emotion.Dysphoric : Emotion.Euphoric; } if (Inward_Outward.Number != 0) { bareLeanings |= !Inward_Outward ? Emotion.Inward : Emotion.Outward; } if (Primitive_Controlled.Number != 0) { bareLeanings |= !Primitive_Controlled ? Emotion.Primitive : Emotion.Controlled; } Emotion flags = Emotion.None; if (Apathy_Passion.Significance() > MIN_EMOTIONAL_SIGNIFICANCE) { flags |= !Apathy_Passion ? Emotion.Apathetic : Emotion.Passionate; } if (Dysphoria_Euphoria.Significance() > MIN_EMOTIONAL_SIGNIFICANCE) { flags |= !Dysphoria_Euphoria ? Emotion.Dysphoric : Emotion.Euphoric; } if (Inward_Outward.Significance() > MIN_EMOTIONAL_SIGNIFICANCE) { flags |= !Inward_Outward ? Emotion.Inward : Emotion.Outward; } if (Primitive_Controlled.Significance() > MIN_EMOTIONAL_SIGNIFICANCE) { flags |= !Primitive_Controlled ? Emotion.Primitive : Emotion.Controlled; } var neuroticCalm = Neurotic_Calm(); var depressiveManic = Depressive_Manic(); Emotion actualEmotion = Emotion.None; UBoundedNumber totalSignificance = new UBoundedNumber(); if (neuroticCalm.Significance() > depressiveManic.Significance()) { totalSignificance = neuroticCalm.Significance(); if (totalSignificance > MIN_EMOTIONAL_SIGNIFICANCE) { if (!neuroticCalm) { actualEmotion |= Emotion.Passionate; actualEmotion |= Emotion.Dysphoric; } else { actualEmotion |= Emotion.Apathetic; actualEmotion |= Emotion.Euphoric; } } } else { totalSignificance = depressiveManic.Significance(); if (totalSignificance > MIN_EMOTIONAL_SIGNIFICANCE) { if (!depressiveManic) { actualEmotion |= Emotion.Dysphoric; actualEmotion |= Emotion.Apathetic; } else { actualEmotion |= Emotion.Euphoric; actualEmotion |= Emotion.Passionate; } } } return(bareLeanings, flags, actualEmotion); }
public UBoundedNumber SumToUBounded() => UBoundedNumber.FromUnbounded(Math.Abs(Bad_Good) + Math.Abs(False_Honest) + Math.Abs(Timid_Powerful));