Skip to content

Advantages, Disadvantages, Special Abilties

Lukas Obermann edited this page Nov 30, 2019 · 6 revisions

Worksheet Name

ADVANTAGES/DISADVANTAGES/SPECIAL_ABILITIES

Properties

id

  • Type: number
  • Description: An increasing integer. The respective string ID will have the ADV_ prefix for advantages, DISADV_ for disadvantages and SA_ for special abilities.

name l10n

  • Type: string
  • Description: The name of the entry.

nameInWiki l10n

  • Type: string?
  • Description: The name of the entry shown in Wiki. Only use when name needs to be different from full name.

cost univ

  • Type: (number | Array<number, &>)?
  • Description: The AP value you have to pay for.
    • If the AP costs depend on the selection, leave empty.
    • If the AP costs depend on the selected skill's improvement cost, insert an Array<number, &>. The first entry represents A, the second B and so on. Always start from A. If there is no AP value given for IC A, type 0. If you use an array, contact the developer, this has to be implemented manually.

tiers univ

  • Type: number?
  • Description: Number of available levels (also called "tiers" internally).

max univ

  • Type: number?
  • Description: The number of possible activations. An empty field represents no limit. You will also have to set no limit if the number of activations is limited to the available selection. If you have to use this, you will have to contact the developer; it has to be implemented separately.

select univ

  • Type: Array<[category: string, groups?: Array<group: number, ,>]<?>, &>?
  • Description: A list of category ids. All available entries from the specified category/ies will be included as separate select options. You can also specify a set of groups that should only be included. Groups not mentioned will be excluded then.

input l10n

  • Type: string?
  • Description: A string that is used as a placeholder text for an input field.

gr univ

  • Type: number?
  • Description: Special Abilities Only. The group ID.

subgr univ

  • Type: number?
  • Description: Combat Special Abilities Only. Type of combat special ability. The type id.

extended univ

  • Type: Array<numericId: number, &, 3>
  • Description: Style Special Abilities Only. The Extended Special Abilities for the respective Style Special Ability.

rules l10n

  • Type: markdown?
  • Description: The rule text.

range l10n

  • Type: markdown?
  • Description: The range.

actions l10n

  • Type: markdown?
  • Description: Needed actions.

effect l10n

  • Type: markdown?
  • Description: The effect description.

penalty l10n

  • Type: markdown?
  • Description: The given penalty.

combatTechniques univ

  • Type: Array<number, &>?
  • Description: Combat Special Abilities only. Applicable combat techniques. Leave empty if either all, nothing or specific groups, representable by combatTechniquesGroup, apply.

combatTechniquesGroup univ

  • Type: CombatTechniqueGroup
  • Description: Combat Special Abilities only. Which group is applicable? A number. If there are (only) specific combat techniques listed, set to 0.

combatTechniques l10n

  • Type: markdown?
  • Description: Combat Special Abilities only. Applicable combat techniques. Only use if there are specific strings that cannot be represented by combatTechniques and/or combatTechniquesGroup in the univ table (fully "overwrites" the default from the univ table).

aeCost l10n

  • Type: number?
  • Description: The AE Cost.

protectiveCircle l10n

  • Type: markdown?
  • Description: The rules for the protective circle variant.

wardingCircle l10n

  • Type: markdown?
  • Description: The rules for the warding circle variant.

volume l10n

  • Type: number?
  • Description: The volume points the enchantment needs.

bindingCost l10n

  • Type: number?
  • Description: The binding cost for an enchantment.

property univ

  • Type: number?
  • Description: The magic property. See Spells for the properties array to get the ID. Use same field in l10n table if no actual property name.

property l10n

  • Type: string?
  • Description: The magic property. Only use if no actual property name, use field in univ table otherwise.

aspect univ

  • Type: number?
  • Description: The blessed aspect. See Liturgical Chants for the aspects array to get the ID.

apValue l10n

  • Type: markdown?
  • Description: The AP value. Only use this if the text provides different information than X adventure points, e.g. for Special Ability Property Knowledge it is "10 adventure points for the first Property Knowledge, 20 adventure points for the second, 40 adventure points for the third".

apValueAppend l10n

  • Type: markdown?
  • Description: An addition to the default AP value schema. Only use this if the text provides information appended to X adventure points and if apValue is not used.

prerequisites univ

  • Type: (Array<"RCP" | RequiresActivatableObject | RequiresIncreasableObject | RequiresPrimaryAttribute | SexRequirement | RaceRequirement | CultureRequirement | PactRequirement, &> | Array<[level: number, ...levelBasedPrerequisites: ("RCP" | RequiresActivatableObject | RequiresIncreasableObject | RequiresPrimaryAttribute | SexRequirement | RaceRequirement | CultureRequirement | PactRequirement)]<&>, &&>)?
  • Description: A list of prerequisites that has to be met before activation availability. Listed JSON interfaces may be used in addition to "RCP" which is used to indicate that it has to be or common in or suggested by the selected race, culture or profession. If prerequisites are level-based, you need to take the second type option and insert an array of arrays, where the first element of each contained array is the level and all the following elements are the prerequisites for the level specified at the beginning of the array. These are required for at least this level: The prerequisites are merged for higher levels. So if you have prerequisite lists for level 1, 2 and 3, if you want to choose level 3, you need to meet all prerequisites listed for level 1, 2 and 3. You need to have prerequisites for at least two levels, so that the app can detect you want level-aware prerequisites.
  • Examples:
    • {"id": "TAL_1", "value": 4}
    • {"id": "TAL_1", "value": 4}&{"id": "SA_3", "sid": 1}
    • 1&{"id": "TAL_1", "value": 4}&&3&{"id": "SA_3", "sid": 1}

prerequisites l10n

  • Type: markdown?
  • Description: Use if text cannot be generated by the app.

prerequisitesIndex univ

  • Type: Array<index: number, &>?
  • Description: If specific prerequisites can not be rendered, you can use the (0-based) index of the respective prerequisite so that the app will not try to display but ignore the prerequisite instead. This might be overwritten by string replacements in prerequisitesIndex in l10n table.

prerequisitesIndex l10n

  • Type: Array<[index: number, replacement: string]<?>, &>?
  • Description: If specific prerequisites can not be rendered, you can use the (0-based) index of the respective prerequisite and set a string that will be rendered instead.

prerequisitesStart l10n

  • Type: markdown?
  • Description: Prepends the provided string to the main prerequisites string. No effect if prerequisites field is used in l10n table.

prerequisitesEnd l10n

  • Type: markdown?
  • Description: Appends the provided string to the main prerequisites string. No effect if prerequisites field is used in l10n table.

brew univ

  • Type: number?
  • Description: Witches can learn to brew special things in their Hexenkessel. These brews can be categorized in different types. For the translation of "id => brew" see the table below.

src l10n

  • Type: Array<occurrence: [bookId: string, firstPage: number, lastPage?: number]<,>, &>
  • Description: The source books where you can find the entry. The list items contain the book IDs (from the Books table) and the page (firstPage). If an entry spans multiple pages, provide the last page as well.

errata l10n

  • Type: Array<change: [date: Date, value: string]<?>, &>?
  • Description: A list of errata for the entry in the specific language.

JSON Interfaces

interface RequiresActivatableObject {
  id: string | string[]; // If an array is used, only one of the specified IDs has to fit the other object properties. Can not be used, if the 'sid' property is an array.
  active: boolean; // if the specified object with its properties has to be active or deactive.
  sid?: string | number | string[] | number[]; // If an array is used, only one of the specified SIDs has to fit the other object properties. Can not be used, if the 'id' property is an array.
  sid2?: string | number;
  tier?: number;
}

interface RequiresIncreasableObject {
  id: string | string[];
  value: number; // skill/combat technique has to have this specific SR/CTR
}

interface RequiresPrimaryAttribute {
  id: "ATTR_PRIMARY";
  value: number;
  type: 1 | 2; // 1 => magic, 2 => blessed
}

interface SexRequirement {
  id: 'SEX';
  value: 'm' | 'f';
}

interface RaceRequirement {
  id: 'RACE';
  value: number | number[]; // Either specified race ID or array containing race IDs (one-of)
  active?: boolean; // If `false`, it does not need to be active. Defaults to `true`.
}

interface CultureRequirement {
  id: 'CULTURE';
  value: number | number[]; // Either specified culture ID or array containing culture IDs (one-of)
}

interface PactRequirement {
  id: 'PACT';
  category: number;
  domain?: number | number[];
  level?: number;
}

Special ID Tables

Category Table

id description
TALENTS All skills.
COMBAT_TECHNIQUES All combat techniques.
SPELLS All spells (excluding cantrips).
LITURGIES All chants (excluding blessings).

Special Ability Groups

id en-US de-DE
1 General Allgemein
2 Fate Schicksal
3 Combat Kampf
4 Magical Magisch
5 Staff Enchantments Stab
6 Witch Hexe
7 Karma Karmal
8 Protective/Warding Circles Bann-/Schutzkreise
9 Combat Styles (armed) Kampfstile (bewaffnet)
10 Combat Styles (unarmed) Kampfstile (unbewaffnet)
11 Combat (extended) Kampf (erweitert)
12 Commands Befehle
13 Zauberstile
14 Magisch (Erweitert)
15 Bannschwert
16 Dolch
17 Instrument
18 Gewand
19 Kugel
20 Stecken
21 Prügel
22 Ahnenzeichen
23 Zeremonialgegenstände
24 Predigten
25 Liturgiestile
26 Karmal (Erweitert)
27 Visionen
28 Magische Traditionen
29 Karmale Traditionen
30 Paktgeschenke
31 Vampirismus
32 Lykanthropie
33 Talentstile
34 Talent (Erweitert)
35 Magierkugel
36 Hexenkessel
37 Narrenkappe
38 Schelmenspielzeug
39 Alchimistenschale
40 Sex-Schicksal
41 Sex
42 Waffenzauber (Animisten)
43 Sichelrituale
44 Ringzauber
45 Chronikzauber

Combat Special Ability Types

id en-US de-DE
1 Passive Passiv
2 Basic maneuver Basismanöver
3 Special maneuver Spezialmanöver

Combat Technique Group

CombatTechniqueGroup

id en-US de-DE
0
1 all alle
2 all melee combat techniques alle Nahkampftechniken
3 all ranged combat techniques alle Fernkampftechniken
4 all melee combat techniques with parry value alle Nahkampftechniken, die über einen PA-Wert verfügen
5 all melee combat techniques with one-handed weapons alle Nahkampftechniken, die mit einhändigen Waffen ausgeführt werden

Pact Categories

id de-DE
1 Feen
2 Dämonen

Fairy Pact

Fairy Types

id de-DE
1 Niedere Feen
2 Mittlere Feen
3 Hohe Feen

Fairy Domains

id de-DE
1 Finsternis
2 Wald
3 Fluss
4 See

Demon Pact

Demon Types

id de-DE
1 Erzdämonen
2 Freie Dämonen

Demon Domains

Archdemons
id Zhayad Zelemja/Ancient Tulamidya
1 Tyakra'man Blakharaz
2 Xarfai Belhalhar
3 Gal'k'zuul Charyptoroth
4 Thezzphai Lolgramoth
5 Tijakool Thargunitoth
6 Iribaar Amazeroth
7 Nagrach Belshirash
8 Calijnaar Asfaloth
9 Zholvar Tasfarelel
10 Mishkhara Belzhorash
11 Widharcal Agrimoth
12 Dar-Klajid Belkelel
Other demons
id name
13 Aphasmayra
14 Aphestadil
15 Heskatet

If "domain" should be "General", do not define "domain" in PactRequirement.

Brew Types

id de-DE en-US
1 Speziell Special
2 Suppe Soup
3 Trank Potion
4 Salbe Salve

Notes

  • SA_3: The selection list is included in the separate worksheet TradeSecr. This will be included manually after converting the table and the selection list to app-readable JSON.
  • SA_9: The skills list will be included in the initialization phase of the app.
  • SA_27: The selection list is included in the separate worksheet Scripts. This will be included manually after converting the table and the selection list to app-readable JSON.
  • SA_28 univ: The selection list is included in the separate worksheet Writing. This will be included manually after converting the table and the selection list to app-readable JSON.
  • SA_29: The selection list is included in the separate worksheet Languages. This will be included manually after converting the table and the selection list to app-readable JSON.
  • SA_164 and SA_266: The requirements are entirely maintained by the app.
  • SA_338 univ: The selection list is included in the separate worksheet AnimalTrans. This will be included manually after converting the table and the selection list to app-readable JSON.
  • SA_484: The selection list is included in the separate worksheet SpellX. This will be included manually after converting the table and the selection list to app-readable JSON.
  • SA_663: The selection list is included in the separate worksheet ChantX. This will be included manually after converting the table and the selection list to app-readable JSON.
Clone this wiki locally