Freelancers

Some companions may require a payment to be recruited

You can create a freelance companion, which requires some amount of a money to recruit them.

Upgrade your companion to freelancer

Just define the field Price in your companion's disposition file and set it to a value higher than zero. This value represents a price which player must to pay to recruit them. Don't forget define dialogue line under key companionRejectedMoney in standard NPC dialogue asset resource Dialogues/<NpcName> or in i18n/<lang>.json via dialogue_<NpcName>.companionRejectedMoney for your freelance companion.

Define sales

You are able to define some price tweaks (sales) by the Sales field. It's similar to the Rules, it contains a condition as a key and the value is the price modifier decimal number. This number means how much the base price by the Price field is increased (the number is higher than 1) or decreased (the price is less than 1 but higher than 0). If you specify the zero as a sale value, it means your freelance can be recruited for free. The condition in key represents when the sale can be applied. Matching these rules uses the same mechanism as the recruitment rules.

Example of a freelance companion

{
  "Name": "Kent",
  "Skills": [
    {
      "Name": "shooter",
      "Damage": 6
    },
    {
      "Name": "fighter",
      "Strength": 1.2,
      "DefendRadius": 7,
      "ExtraStrength": 10,
      "Speed": 2.0,
      "IsWarrior": true
    }
  ],
  "UnlockMail": "na_kent_companion", // Unlocked by NA's Kent 5 heart event (it adds this mail flag)
  "Rules": {
    // He accepts adventure only if you have at least 2 hearts and 6 combat level
    "f 500/SkillLevel combat 6": "accept"
  },
  "Price": 3000,
  "Sales": {
    // Less than 4 hearts = 20% more expensive price
    "!f Kent 1000": 1.2,
    // 10 hearts and at least 6 hearts with Jodi = FREE (best friends forever)
    "f Kent 2500/f Jodi 1500": 0.0,
    // 10 hearts = 50% sale
    "f Kent 2500": 0.5,
    // at least 8 hearts = 20% sale
    "f Kent 1500": 0.8
  },
  "Buffs": {
    "Attack": 1,
    "Defense": 2
  },
  "BuffsDescription": "[kent.buffs]",
  "Weapons": {
    "6": "Ossified Blade",
    "8": "Dark Sword",
    "10": "Galaxy Sword"
  },
  "IdleBehaviors": [
    {
      "Behavior": "Lookaround",
      "FaceMinSeconds": 2,
      "FaceMaxSeconds": 5,
      "Tendency": 2,
      "MinDuration": 10,
      "MaxDuration": 30
    }
  ]
}