Companion relationship

Companion relationship (also known as Companion reputation, attitude, or simply relationship) is a system in that represents a companions attitude and view towards the player and other companions in the party. A relationship is primarily affected by the reactions that a character has to certain dialogue cues from other party members. This system draws parallels with the faction reputation system - which encompasses the player's (and by extension the party's) standing with groups of people, and the disposition system - encompassing how other, non-companion characters view the player.

Overview
A relationship between two characters is influenced by the actions and dialogue expressed between both parties.

All companions (but not sidekicks) have pre-defined conversational topics that resonate with their core beliefs. When these topics are brought up, by either yourself - but more often when other companions interject in conversation, it "triggers" a change in relationship towards the other party, either increasing or decreasing their current relationship score with that character depending on their approval or disapproval of the topic in question.

In addition to topic-triggered changes, some companions have fixed changes that are associated with making certain decisions during the game. For example in the quest Hunting Season, the player has to choose between siding with a group of godlike druids, or the RDC who have invaded their island. Choosing to side with the druids will always give a set negative change in relationship with Maia Rua, skipping any topic-related checks. However, this only ever happens if she is in the party and is there to witness it. Each event such as this has the option to apply only if the companion is active in the party, with some taking effect even if they are not.

Because of this, companion relationships are extremely situational and are greatly influenced by what each party member witnesses and the dialogue options they are exposed to. Composing your party in a way that minimizes exposure of opposing traits and topics, and maximizes exposure to common traits, is key to ensuring that fellow party members get along. The things that companions say or do cannot always be foreseen, so inter-party relationships can be somewhat unpredictable.

Maintaining a healthy relationship with your companions, as well as between them is important. Companions with a positive relationship towards the player will be more open to discuss topics, will give unique gifts to the player, and may even be romanced. Companions with a positive relationship towards other companions will often engage in unique dialogue, and in some situations may even romance each other. On the other hand, companions with a negative relationship will be closed off, and tensions within the party may come to a boil, which can force companions to leave the party.

Directionality
Companion relationships are managed on a directional, per-target basis. Every companion has their own individual opinion towards others. This means that while a companion might have positive feelings towards another, those feelings may not be shared, and the other companion may have negative feelings towards them. A relationship is not represented as mutual "link", but rather an "arrow".

In the player's character sheet, relationship links between the player and other companions are considered to be how the companions view the player. Inversely, links shown on a companion's character sheet are considered to be how they view other companions (the player is not shown here).

Technically speaking, the player does not keep a relationship with companions at all - only from the companion to the player (otherwise this would be a contradiction to the Featureless Protagonist model). Because of this, player–companion relationships can be viewed as mutual and non-directional (i.e. how the player and a companion feel about each other).

How it works
A relationship is represented as an integer value (as seen in the screenshot above). Positive values indicate a good relationship, and negative values indicate a bad relationship. Doing things that the companion likes or agrees upon will add to the current relationship and vice versa.

Topic–relationship change
Whenever an event occurs in conversation that is associated with a topic, all active party members are polled for reactivity with the speaker (be it the player, or another companion). If the companion has a reaction to the topic, the relationship between the speaker and that companion is modified to suit.

All topic relationship changes are done using the command.

Every topic relationship-altering event is assigned the topic itself, and a, which is used as base delta for the relationship change. This can be interpreted as the speakers own strength of feelings towards the topic. Internally this is the  property of one of the three   classes. The strengths are Minor (4), Average (4), and Major (8).

Every topic has its own, which represents a unified effect that the topic has on people and society. More controversial, polarizing, or greater affecting topics have a higher value, while less serious topics have a lower value. Most topics have a value of 4, though they are listed below.

A, and an   is assigned alongside every companion's react-able topics (in  ). The axis is whether the reaction to a topic is a negative or positive one, and the weight can be interpreted as the characters strength of feelings towards the topic. Possible weights are Weak (x1 i.e. no multiplier) or Strong (x2 i.e. double). These are shown in Companion topics table below.

The calculation is then simply:

If the axis is positive, it is added to the current score, otherwise it is subtracted.

Direct relationship change
Direct relationship changes are - as the name suggests - more straightforward than topic changes. They can only ever be directed at a single companion, and simply have:
 * A source and a target character. The source can never be the player
 * A strength value (as above, Minor (4), Average (4), and Major (8))
 * An axis - which determines whether the value is added to or subtracted from the companions current relationship with the speaker
 * A boolean which determines if the change should only be applied if the companion is in the party.

All direct relationship changes are done using the command

Relationship thresholds
A relationship threshold is the current standing of the relationship, and is determined by the relationship score. Whenever the threshold changes, a new set of dialogue is triggered for that threshold (but only once per threshold).

Note that in the table below, the decimal relationship threshold value is multiplied by a scale of 200 to get an integer threshold value. The current threshold is determined by a check to see if the current score is greater than the relationship threshold value (or less than in the case of negative values), starting from the most extreme. If the value is not greater than either positive threshold, less than either negative threshold, or is exactly zero - it is Neutral.

The "displayed as" value is the representation of the threshold in the character sheet's relationship node map. It is shown in a circle on top of the character the relationship pertains to.

Companion topics

 * Depending on the events occured during the first game, Aloth will either gain Autonomy (if he dismantled the Leaden Key), or Stewardship (if he reformed the Leaden Key and took Thaos' place).