Relationship

From Wildermyth Wiki
Jump to navigation Jump to search

Heroes develop personal relationships with each other. In some cases these are the result of events, in others they arise or change without the input of the player. Fighting in battles together increases the relationship.

Outcomes

Heroes 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'.

Relationship Points

Heroes 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

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.

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, charisma_mod is a factor between 0.5 and 1.5 and fascination is between 1 and 2. abs(compat_score) could technically be large, but is rarely higher than 3 or 4. So one expects the compatibility 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.

  • 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, the description in game says "walling" but actually only adjacency is required. Heroes in grayplane cannot wall, but do provide a Got Your Back Friend 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.

Attraction

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.

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

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).

Parents and Children

The parent/child relationship exists in game, but as of version 0.10+98 (Ryvio Wartmarch) it has little effect. More development is intended.

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 this link.

Nate wrote on 06/04/2020:

   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.