Difference between revisions of "Relationship"

From Wildermyth Wiki
(rewrite to be clearer)
Line 1: Line 1:
[[Hero]]es develop personal relationships with each other. In some cases these are the result of [[:Category:Event|events]], in others they arise or change without the input of the player. Fighting in [[battle]]s together increases the relationship.
[[Hero]]es develop personal relationships with each other. These relationships can result from [[event]]s and can also arise or change without the player's input. Relationships have 5 possible levels, and heroes deepen their relationships by fighting [[battle]]s and performing other tasks together.


==Outcomes==
== Relationship types ==
[[Hero]]es can be friends, lovers or rivals. Each relationship has 5 possible levels and each level affects stats.


Relationships can be locked, so if you bring them back as Legacy Heroes they will keep their relationships. On the character sheet relationship tab, click on the relationship, then 'Lock'.
There are three standard relationship types that each grant unique combat bonuses. These bonuses become stronger as the respective relationship deepens.


== Relationship Points ==
===Friends===
 
[[Hero]]es earn relationship points for fighting in battles together, spending time together on jobs and missions, and for participating in certain [[Opportunity]] quests and random events. Points earned may be scaled based on [[personality]] compatibility, which can provide a multiple as high as 2 or as low as 0.5.
 
=== Levels ===
 
{| class="wikitable"
|-
! Level !! Relationship Points
|-
| 1 || 20
|-
| 2 || 60
|-
| 3 || 120
|-
| 4 || 200
|-
| 5 || 300
|}
 
=== Compatibility ===
 
As of version 0.9+94 Cathryn Del Hunt, relationship points earned were multiplied by a compatibility factor clamped between a maximum of 3 and minimum of 0.33.
[[File:Wildermyth-relationships.png|400px|right|Personality compatibility (blue lines are positive; orange, negative)]]
First a raw compatibility score is calculated by looking at each [[personality]] stat Hero1 has at rating 50 or above. If Hero2 has the same stat or one of the positive compatible personality stats at 50+, add 1 to the compatibility score for each; for each of the negative compatible stats at 50+, subtract 1 from the compatibility score. (In the diagram, blue lines show positive compatibility; orange, negative. For details see [[Modding Relationship Points]].)
 
  compatibility = charisma_mod * fascination
    charisma_mod = 0.5 + (hero1.charisma + hero2.charisma)/200
    fascination = 1 + abs(compat_score)/3
  clamp: 0.33 ≤ compatibility ≤ 3
  RP_earned = RP_base * compatibility
 
Thus, <code>charisma_mod</code> is a factor between 0.5 and 1.5 and <code>fascination</code> is between 1 and 2. <code>abs(compat_score)</code> could technically be large, but is rarely higher than 3 or 4. So one expects the <code>compatibility</code> modifier to be between 0.5 and 3.
 
The compatibility factor should be symmetrical for how much Hero 1 matches Hero 2 and Hero 2 matches Hero 1.
 
==Friends==


Friendship is indicated by the silhouette of a head and shoulders in the lower corner of the [[hero portrait]].
Friendship is indicated by the silhouette of a head and shoulders in the lower corner of the [[hero portrait]].
Line 53: Line 15:
* Level 5 - '''Bloodbond''' - +30 block chance when walling with this hero.
* Level 5 - '''Bloodbond''' - +30 block chance when walling with this hero.


Note, the description in game says "walling" but actually only adjacency is required. [[Hero]]es in [[grayplane]] cannot wall, but do provide a '''Got Your Back''' Friend bonus.
Note that while the description says "walling", only adjacency is required. [[Hero]]es in [[grayplane]] cannot wall but still provide the '''Got Your Back''' bonus.


==Lovers==
===Lovers===


[[File:Paradiselove.PNG|400px|thumb|right|Romance blossoms]]
[[File:Paradiselove.PNG|400px|thumb|right|Romance blossoms]]
Line 67: Line 29:
* Level 5 - '''Soulmate''' - +5 damage against enemies who attack this hero, until end of mission.
* Level 5 - '''Soulmate''' - +5 damage against enemies who attack this hero, until end of mission.


=== Attraction ===
Romances can start randomly if each hero is attracted to the other's gender, neither hero is already in a romance (including locked legacy romances), and the heroes have compatible personalities. Whether a hero is attracted to males or females is determined when the hero is generated but can be changed by the [[player]] at any time.


Romances can start randomly if both heroes are "eligible"—i.e. can be mutually attracted to each other gender-wise, not already in a romance, and have compatible personalities. When a character is generated they have a hidden [[aspect]] that determines whether they're attracted to males or females.
A romantic relationship can be locked so that if you bring the heroes back as [[Legacy]] heroes, they will immediately enter into a romance again.


[[Devmode]] allows you to view hidden aspects, and has a cheat to force a relationship between any two characters you like.
===Rivals===
 
==Rivals==


[[File:Rivals.PNG|400px|thumb|right|Anything you can do, I can do better]]
[[File:Rivals.PNG|400px|thumb|right|Anything you can do, I can do better]]
Line 85: Line 45:
* Level 5 - '''Rival''' - When your rival stunts, you get +100% to [[stunt]], until you successfully stunt (guaranteed stunt vs single target) (does not chain).
* Level 5 - '''Rival''' - When your rival stunts, you get +100% to [[stunt]], until you successfully stunt (guaranteed stunt vs single target) (does not chain).


== Parents and Children ==
Rivalries can start randomly if neither hero is already in a rivalry (including locked legacy rivalries) and the heroes have incompatible personalities.


The parent/child relationship exists in game, but as of version 0.10+98 (Ryvio Wartmarch) it has little effect. More development is intended.
A rivalry can be locked so that if you bring the heroes back as [[Legacy]] heroes, they will immediately enter into a rivalry again.
== Implementation details ==
 
Several players and modders have requested to know the numeric details of how compatibility is determined.  Here is some information from the code; for the original reference see [https://discord.com/channels/505370324750172170/645071274648797194/718134688702660738 this link].
=== Family ===
 
Two heroes can be family members, such as parent and child. Family membership is a special type of relationship that does not replace the standard relationships; two family members can also be friends or rivals, although they cannot be lovers. Family relationships do not have any combat effects but are referenced in many [[event]]s. Also, family members will not be selected for [[opportunity|opportunities]] together.
 
== Compatibility ==
 
[[File:Wildermyth-relationships.png|400px|right|Personality compatibility: blue lines represent compatibility while orange lines represent incompatibility. Note also that a stat is always compatible with itself.]]
The relationship between two heroes is influenced by how compatible their personalities are. Compatible heroes tend to become lovers, while incompatible heroes tend to become rivals. In addition, heroes who are either highly compatible or highly incompatible deepen their relationship more rapidly. In the diagram to the right, blue lines indicate compatibility while orange lines indicate incompatibility. In addition, ''a personality trait is always compatible with itself''. Only personality traits that score 50 or higher are considered for compatibility.
 
Specifically, the '''compatibility score''' between heroes A and B is determined by looking at each [[personality]] stat that hero A has at rating 50 or higher. For each stat that hero B has at 50+ that is compatible with (or the same as) hero A's stat, add 1 to the compatibility score. For each stat that hero B has at 50+ that is incompatible with hero A's stat, subtract 1 from the compatibility score.
 
== Relationship Points ==
 
[[Hero]]es deepen their relationships by earning relationship points. Relationship points accrue when heroes fight in [[battle]]s together and perform [[job]]s together. [[Event]]s can also grant relationship points.
 
=== Levels ===
 
Relationships advance in level at the following relationship point thresholds:
 
{| class="wikitable"
|-
! Level !! Relationship Points
|-
| 1 || 20
|-
| 2 || 60
|-
| 3 || 120
|-
| 4 || 200
|-
| 5 || 300
|}
 
=== Charisma and fascination ===
 
More '''charismatic''' heroes gain relationship points faster. Additionally, heroes who have either compatible or incompatible personality traits find each other '''fascinating''' and also gain relationship points more rapidly. The total multiplier arising from these two effects ranges from 0.33 to 3 and is given by the following calculation:
 
  multiplier = charisma_mod * fascination
    charisma_mod = 0.5 + (hero1.charisma + hero2.charisma)/200
    fascination = 1 + abs(compatibility_score)/3
  clamp: 0.33 ≤ multiplier ≤ 3


Nate wrote on 06/04/2020:
Here, <code>compatibility_score</code> is the compatibility score given above.
    enum CompatibilityStats {
        bookish(BOOKISH, HEALER, SNARK, GREEDY, GOOFBALL),
        coward(COWARD, LEADER, HEALER, HOTHEAD, LONER),
        goofball(GOOFBALL, GREEDY, SNARK, BOOKISH, POET),
        healer(HEALER, COWARD, BOOKISH, HOTHEAD, ROMANTIC),
        hothead(HOTHEAD, LEADER, ROMANTIC, HEALER, COWARD),
        leader(LEADER, COWARD, HOTHEAD, LONER, SNARK),
        loner(LONER, ROMANTIC, POET, COWARD, LEADER),
        greedy(GREEDY, POET, GOOFBALL, ROMANTIC, BOOKISH),
        poet(POET, LONER, GREEDY, SNARK, GOOFBALL),
        romantic(ROMANTIC, LONER, HOTHEAD, HEALER, GREEDY),
        snark(SNARK, BOOKISH, GOOFBALL, LEADER, POET)
    }
The first three are positve, the last two are negative.  So, a bookish hero likes other bookish, healer, and snark characters, and dislikes greedy and goofball. A coward likes coward, leader, and healer, and dislikes hothead and loner.  The game sorta sums up all the interactions to come up with a compatibility for each potential couple. Only high stats (over 50) are counted.


[[Category:Character]]
[[Category:Character]]

Revision as of 18:13, 8 March 2022

Heroes develop personal relationships with each other. These relationships can result from events and can also arise or change without the player's input. Relationships have 5 possible levels, and heroes deepen their relationships by fighting battles and performing other tasks together.

Relationship types

There are three standard relationship types that each grant unique combat bonuses. These bonuses become stronger as the respective relationship deepens.

Friends

Friendship is indicated by the silhouette of a head and shoulders in the lower corner of the hero portrait.

  • Level 1 - Crony - +10 block chance when walling with this hero.
  • Level 2 - Confidant - +15 block chance when walling with this hero.
  • Level 3 - Comrade - +20 block chance when walling with this hero.
  • Level 4 - Companion - +25 block chance when walling with this hero.
  • Level 5 - Bloodbond - +30 block chance when walling with this hero.

Note that while the description says "walling", only adjacency is required. Heroes in grayplane cannot wall but still provide the Got Your Back bonus.

Lovers

Romance blossoms

Romance is indicated by a small heart in the lower corner of the hero portrait.

  • Level 1 - Crush - +1 damage against enemies who attack this hero, until end of mission.
  • Level 2 - Flame - +2 damage against enemies who attack this hero, until end of mission.
  • Level 3 - Sweetheart - +3 damage against enemies who attack this hero, until end of mission.
  • Level 4 - Lover - +4 damage against enemies who attack this hero, until end of mission.
  • Level 5 - Soulmate - +5 damage against enemies who attack this hero, until end of mission.

Romances can start randomly if each hero is attracted to the other's gender, neither hero is already in a romance (including locked legacy romances), and the heroes have compatible personalities. Whether a hero is attracted to males or females is determined when the hero is generated but can be changed by the player at any time.

A romantic relationship can be locked so that if you bring the heroes back as Legacy heroes, they will immediately enter into a romance again.

Rivals

Anything you can do, I can do better

Watch this! Rivalry is indicated by a small lightning bolt in the lower corner of the hero portrait.

  • Level 1 - Peer - When your rival stunts, you get +25% to stunt, until you successfully stunt (does not chain).
  • Level 2 - Irritant - When your rival stunts, you get +35% to stunt, until you successfully stunt (does not chain).
  • Level 3 - Frenemy - When your rival stunts, you get +45% to stunt, until you successfully stunt (does not chain).
  • Level 4 - Antagonist - When your rival stunts, you get +55% to stunt, until you successfully stunt (does not chain).
  • Level 5 - Rival - When your rival stunts, you get +100% to stunt, until you successfully stunt (guaranteed stunt vs single target) (does not chain).

Rivalries can start randomly if neither hero is already in a rivalry (including locked legacy rivalries) and the heroes have incompatible personalities.

A rivalry can be locked so that if you bring the heroes back as Legacy heroes, they will immediately enter into a rivalry again.

Family

Two heroes can be family members, such as parent and child. Family membership is a special type of relationship that does not replace the standard relationships; two family members can also be friends or rivals, although they cannot be lovers. Family relationships do not have any combat effects but are referenced in many events. Also, family members will not be selected for opportunities together.

Compatibility

Personality compatibility: blue lines represent compatibility while orange lines represent incompatibility. Note also that a stat is always compatible with itself.

The relationship between two heroes is influenced by how compatible their personalities are. Compatible heroes tend to become lovers, while incompatible heroes tend to become rivals. In addition, heroes who are either highly compatible or highly incompatible deepen their relationship more rapidly. In the diagram to the right, blue lines indicate compatibility while orange lines indicate incompatibility. In addition, a personality trait is always compatible with itself. Only personality traits that score 50 or higher are considered for compatibility.

Specifically, the compatibility score between heroes A and B is determined by looking at each personality stat that hero A has at rating 50 or higher. For each stat that hero B has at 50+ that is compatible with (or the same as) hero A's stat, add 1 to the compatibility score. For each stat that hero B has at 50+ that is incompatible with hero A's stat, subtract 1 from the compatibility score.

Relationship Points

Heroes deepen their relationships by earning relationship points. Relationship points accrue when heroes fight in battles together and perform jobs together. Events can also grant relationship points.

Levels

Relationships advance in level at the following relationship point thresholds:

Level Relationship Points
1 20
2 60
3 120
4 200
5 300

Charisma and fascination

More charismatic heroes gain relationship points faster. Additionally, heroes who have either compatible or incompatible personality traits find each other fascinating and also gain relationship points more rapidly. The total multiplier arising from these two effects ranges from 0.33 to 3 and is given by the following calculation:

 multiplier = charisma_mod * fascination
   charisma_mod = 0.5 + (hero1.charisma + hero2.charisma)/200
   fascination = 1 + abs(compatibility_score)/3
 clamp: 0.33 ≤ multiplier ≤ 3

Here, compatibility_score is the compatibility score given above.