parsed skills, combattechniques and improvements from the sources
This commit is contained in:
@@ -1,154 +0,0 @@
|
|||||||
{
|
|
||||||
"steigerungsfaktoren": [
|
|
||||||
{
|
|
||||||
"aktivierung": "0",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 1,
|
|
||||||
"B": 2,
|
|
||||||
"C": 3,
|
|
||||||
"D": 4,
|
|
||||||
"E": null
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "1-12",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 1,
|
|
||||||
"B": 2,
|
|
||||||
"C": 3,
|
|
||||||
"D": 4,
|
|
||||||
"E": 15
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "13",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 2,
|
|
||||||
"B": 4,
|
|
||||||
"C": 6,
|
|
||||||
"D": 8,
|
|
||||||
"E": 15
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "14",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 3,
|
|
||||||
"B": 6,
|
|
||||||
"C": 9,
|
|
||||||
"D": 12,
|
|
||||||
"E": 15
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "15",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 4,
|
|
||||||
"B": 8,
|
|
||||||
"C": 12,
|
|
||||||
"D": 16,
|
|
||||||
"E": 30
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "16",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 5,
|
|
||||||
"B": 10,
|
|
||||||
"C": 15,
|
|
||||||
"D": 20,
|
|
||||||
"E": 45
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "17",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 6,
|
|
||||||
"B": 12,
|
|
||||||
"C": 18,
|
|
||||||
"D": 24,
|
|
||||||
"E": 60
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "18",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 7,
|
|
||||||
"B": 14,
|
|
||||||
"C": 21,
|
|
||||||
"D": 28,
|
|
||||||
"E": 75
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "19",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 8,
|
|
||||||
"B": 16,
|
|
||||||
"C": 24,
|
|
||||||
"D": 32,
|
|
||||||
"E": 90
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "20",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 9,
|
|
||||||
"B": 18,
|
|
||||||
"C": 27,
|
|
||||||
"D": 36,
|
|
||||||
"E": 105
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "21",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 10,
|
|
||||||
"B": 20,
|
|
||||||
"C": 30,
|
|
||||||
"D": 40,
|
|
||||||
"E": 120
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "22",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 11,
|
|
||||||
"B": 22,
|
|
||||||
"C": 33,
|
|
||||||
"D": 44,
|
|
||||||
"E": 135
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "23",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 12,
|
|
||||||
"B": 24,
|
|
||||||
"C": 36,
|
|
||||||
"D": 48,
|
|
||||||
"E": 150
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "24",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 13,
|
|
||||||
"B": 26,
|
|
||||||
"C": 39,
|
|
||||||
"D": 52,
|
|
||||||
"E": 165
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"aktivierung": "25",
|
|
||||||
"faktoren": {
|
|
||||||
"A": 14,
|
|
||||||
"B": 28,
|
|
||||||
"C": 42,
|
|
||||||
"D": 56,
|
|
||||||
"E": 180
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
@@ -1,28 +1,27 @@
|
|||||||
import type {DSAAttributes, DSAExperienceLevel, DSAPersonalData, DSAStats} from "../types/baseCharacter.ts";
|
import type {DSAAttributes, DSAExperienceLevel, DSAPersonalData, DSAStats} from "../types/baseCharacter.ts";
|
||||||
import type {DSACalculatedValue, DSAImprovements} from "../types/baseDSA.ts";
|
import type {DSACalculatedValue} from "../types/baseDSA.ts";
|
||||||
import type {DSABaseEquiment} from "../types/baseEquiment.ts";
|
import type {DSABaseEquiment} from "../types/baseEquiment.ts";
|
||||||
import type {DSAArmor, DSAMeleeWeapon, DSARangedWeapon, DSAShieldParryWeapon} from "../types/equiment.ts";
|
import type {DSAArmor, DSAMeleeWeapon, DSARangedWeapon, DSAShieldParryWeapon} from "../types/equiment.ts";
|
||||||
import type {DSASpell} from "../types/character.ts";
|
import type {DSASpell} from "../types/character.ts";
|
||||||
import Skill from "./Skill.ts";
|
import Skills from "./Skills.ts";
|
||||||
|
|
||||||
// TODO
|
// TODO
|
||||||
// === LOGIC ===
|
// === LOGIC ===
|
||||||
// Skillpoint <-> QualityLevel
|
// Skillpoint <-> QualityLevel
|
||||||
|
|
||||||
export default class CharacterSheet extends Skill {
|
export default class Character{
|
||||||
public id: string
|
public id: string
|
||||||
|
|
||||||
personalData: DSAPersonalData
|
personalData: DSAPersonalData
|
||||||
attributes: DSAAttributes
|
attributes: DSAAttributes
|
||||||
stats: DSAStats
|
stats: DSAStats
|
||||||
fatePoints: DSACalculatedValue;
|
fatePoints: DSACalculatedValue
|
||||||
experienceLevel: DSAExperienceLevel
|
experienceLevel: DSAExperienceLevel
|
||||||
advantanges: string[] // TODO
|
advantanges: string[] // TODO
|
||||||
disadvantanges: string[] // TODO
|
disadvantanges: string[] // TODO
|
||||||
generalSpecialAbilities: string[] // TODO
|
generalSpecialAbilities: string[] // TODO
|
||||||
|
|
||||||
skills: string[] // TODO: {physical, social, nature, knowledge, craft} generated by GPT
|
skills: Skills[] // TODO: {physical, social, nature, knowledge, craft} generated by GPT
|
||||||
attributeModifiers: string[]
|
|
||||||
languages: string[]
|
languages: string[]
|
||||||
scripts: string[]
|
scripts: string[]
|
||||||
|
|
||||||
@@ -80,9 +79,20 @@ export default class CharacterSheet extends Skill {
|
|||||||
spells?: DSASpell[]
|
spells?: DSASpell[]
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(name: string) {
|
constructor() {
|
||||||
super()
|
|
||||||
this.id = crypto.randomUUID()
|
this.id = crypto.randomUUID()
|
||||||
this.personalData.name = name
|
this.personalData = {
|
||||||
|
name: "", age: "", culture: "", family: "", hometown: "", profession: "", socialStanding: "", species: ""
|
||||||
|
}
|
||||||
|
this.attributes = {
|
||||||
|
agility: 8,
|
||||||
|
charisma: 8,
|
||||||
|
cleverness: 8,
|
||||||
|
constitution: 8,
|
||||||
|
courage: 8,
|
||||||
|
dexterity: 8,
|
||||||
|
intuition: 8,
|
||||||
|
strength: 8
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
26
src/classes/DSAImprovementsTable.ts
Normal file
26
src/classes/DSAImprovementsTable.ts
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
import improvementCostTable from '../data/improvementcosttable.json'
|
||||||
|
import type {DSAImprovements} from "../types/baseDSA.ts";
|
||||||
|
|
||||||
|
export default class DSAImprovementsTable {
|
||||||
|
|
||||||
|
private static readonly improvementCostTable = improvementCostTable;
|
||||||
|
|
||||||
|
|
||||||
|
static getCost(improvement: DSAImprovements, level: number) : number{
|
||||||
|
if(improvement === 'other') {
|
||||||
|
//TODO
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return improvementCostTable[improvement][this.getKey(level)]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private static getKey(level : number) : string {
|
||||||
|
if(level >= 1 && level <= 12) {
|
||||||
|
return '1-12'
|
||||||
|
} else {
|
||||||
|
return level.toString()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@@ -1,25 +0,0 @@
|
|||||||
import type {DSAAttributes} from "../types/baseCharacter.ts";
|
|
||||||
import type {DSAImprovements} from "../types/baseDSA.ts";
|
|
||||||
|
|
||||||
export default class Skill{
|
|
||||||
skillName: string
|
|
||||||
attributes: [keyof DSAAttributes, keyof DSAAttributes, keyof DSAAttributes]
|
|
||||||
encumbrance: "YES" | "NO" | "MAYBE"
|
|
||||||
improvement: DSAImprovements
|
|
||||||
skillLevel: number
|
|
||||||
comment: string
|
|
||||||
|
|
||||||
routineCheck() : number{
|
|
||||||
return this.skillLevel >= 13 ? this.skillLevel/2 : 0
|
|
||||||
}
|
|
||||||
|
|
||||||
improvementCost(){
|
|
||||||
return DSAImprovementsTable.getCost(this.improvement, this.skillLevel)
|
|
||||||
}
|
|
||||||
|
|
||||||
improve(){
|
|
||||||
this.skillLevel ++
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export
|
|
26
src/classes/Skills.ts
Normal file
26
src/classes/Skills.ts
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
import type {DSAAttributes} from "../types/baseCharacter.ts";
|
||||||
|
import type {DSAImprovements} from "../types/baseDSA.ts";
|
||||||
|
import DSAImprovementsTable from "./DSAImprovementsTable.ts";
|
||||||
|
|
||||||
|
export default class Skills {
|
||||||
|
skillName: string
|
||||||
|
attributes: [keyof DSAAttributes, keyof DSAAttributes, keyof DSAAttributes]
|
||||||
|
encumbrance: "YES" | "NO" | "MAYBE"
|
||||||
|
improvement: DSAImprovements
|
||||||
|
skillLevel: number
|
||||||
|
comment: string
|
||||||
|
|
||||||
|
routineCheck(): number {
|
||||||
|
return this.skillLevel >= 13 ? this.skillLevel / 2 : 0
|
||||||
|
}
|
||||||
|
|
||||||
|
improvementCost() {
|
||||||
|
return DSAImprovementsTable.getCost(this.improvement, this.skillLevel)
|
||||||
|
}
|
||||||
|
|
||||||
|
improve() {
|
||||||
|
this.skillLevel++
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/export
|
91
src/data/combattechniques.json
Normal file
91
src/data/combattechniques.json
Normal file
@@ -0,0 +1,91 @@
|
|||||||
|
{
|
||||||
|
"combat_techniques": {
|
||||||
|
"page_ref": "p. 214-231",
|
||||||
|
"techniques": [
|
||||||
|
{
|
||||||
|
"name": "Bows",
|
||||||
|
"primary": ["DEX"],
|
||||||
|
"improvement": "C",
|
||||||
|
"type": "ranged"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Brawling",
|
||||||
|
"primary": ["AGI", "STR"],
|
||||||
|
"improvement": "B",
|
||||||
|
"type": "melee"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Chain Weapons",
|
||||||
|
"primary": ["STR"],
|
||||||
|
"improvement": "B",
|
||||||
|
"type": "melee"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Crossbows",
|
||||||
|
"primary": ["DEX"],
|
||||||
|
"improvement": "B",
|
||||||
|
"type": "ranged"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Daggers",
|
||||||
|
"primary": ["AGI"],
|
||||||
|
"improvement": "B",
|
||||||
|
"type": "melee"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Fencing Weapons",
|
||||||
|
"primary": ["AGI"],
|
||||||
|
"improvement": "C",
|
||||||
|
"type": "melee"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Impact Weapons",
|
||||||
|
"primary": ["STR"],
|
||||||
|
"improvement": "C",
|
||||||
|
"type": "melee"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Lances",
|
||||||
|
"primary": ["STR"],
|
||||||
|
"improvement": "B",
|
||||||
|
"type": "melee"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Pole Weapons",
|
||||||
|
"primary": ["AGI", "STR"],
|
||||||
|
"improvement": "C",
|
||||||
|
"type": "melee"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Shields",
|
||||||
|
"primary": ["STR"],
|
||||||
|
"improvement": "C",
|
||||||
|
"type": "defensive"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Swords",
|
||||||
|
"primary": ["AGI", "STR"],
|
||||||
|
"improvement": "C",
|
||||||
|
"type": "melee"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Thrown Weapons",
|
||||||
|
"primary": ["DEX"],
|
||||||
|
"improvement": "B",
|
||||||
|
"type": "ranged"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Two-Handed Impact Weapons",
|
||||||
|
"primary": ["STR"],
|
||||||
|
"improvement": "C",
|
||||||
|
"type": "melee"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Two-Handed Swords",
|
||||||
|
"primary": ["STR"],
|
||||||
|
"improvement": "C",
|
||||||
|
"type": "melee"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
87
src/data/improvementcosttable.json
Normal file
87
src/data/improvementcosttable.json
Normal file
@@ -0,0 +1,87 @@
|
|||||||
|
{
|
||||||
|
"A": {
|
||||||
|
"0": 1,
|
||||||
|
"1-12": 1,
|
||||||
|
"13": 2,
|
||||||
|
"14": 3,
|
||||||
|
"15": 4,
|
||||||
|
"16": 5,
|
||||||
|
"17": 6,
|
||||||
|
"18": 7,
|
||||||
|
"19": 8,
|
||||||
|
"20": 9,
|
||||||
|
"21": 10,
|
||||||
|
"22": 11,
|
||||||
|
"23": 12,
|
||||||
|
"24": 13,
|
||||||
|
"25": 14
|
||||||
|
},
|
||||||
|
"B": {
|
||||||
|
"0": 2,
|
||||||
|
"1-12": 2,
|
||||||
|
"13": 4,
|
||||||
|
"14": 6,
|
||||||
|
"15": 8,
|
||||||
|
"16": 10,
|
||||||
|
"17": 12,
|
||||||
|
"18": 14,
|
||||||
|
"19": 16,
|
||||||
|
"20": 18,
|
||||||
|
"21": 20,
|
||||||
|
"22": 22,
|
||||||
|
"23": 24,
|
||||||
|
"24": 26,
|
||||||
|
"25": 28
|
||||||
|
},
|
||||||
|
"C": {
|
||||||
|
"0": 3,
|
||||||
|
"1-12": 3,
|
||||||
|
"13": 6,
|
||||||
|
"14": 9,
|
||||||
|
"15": 12,
|
||||||
|
"16": 15,
|
||||||
|
"17": 18,
|
||||||
|
"18": 21,
|
||||||
|
"19": 24,
|
||||||
|
"20": 27,
|
||||||
|
"21": 30,
|
||||||
|
"22": 33,
|
||||||
|
"23": 36,
|
||||||
|
"24": 39,
|
||||||
|
"25": 42
|
||||||
|
},
|
||||||
|
"D": {
|
||||||
|
"0": 4,
|
||||||
|
"1-12": 4,
|
||||||
|
"13": 8,
|
||||||
|
"14": 12,
|
||||||
|
"15": 16,
|
||||||
|
"16": 20,
|
||||||
|
"17": 24,
|
||||||
|
"18": 28,
|
||||||
|
"19": 32,
|
||||||
|
"20": 36,
|
||||||
|
"21": 40,
|
||||||
|
"22": 44,
|
||||||
|
"23": 48,
|
||||||
|
"24": 52,
|
||||||
|
"25": 56
|
||||||
|
},
|
||||||
|
"E": {
|
||||||
|
"0": null,
|
||||||
|
"1-12": 15,
|
||||||
|
"13": 15,
|
||||||
|
"14": 15,
|
||||||
|
"15": 30,
|
||||||
|
"16": 45,
|
||||||
|
"17": 60,
|
||||||
|
"18": 75,
|
||||||
|
"19": 90,
|
||||||
|
"20": 105,
|
||||||
|
"21": 120,
|
||||||
|
"22": 135,
|
||||||
|
"23": 150,
|
||||||
|
"24": 165,
|
||||||
|
"25": 180
|
||||||
|
}
|
||||||
|
}
|
381
src/data/skills.json
Normal file
381
src/data/skills.json
Normal file
@@ -0,0 +1,381 @@
|
|||||||
|
{
|
||||||
|
"physical_skills": {
|
||||||
|
"page_ref": "p. 188-192",
|
||||||
|
"skills": [
|
||||||
|
{
|
||||||
|
"name": "Body Control",
|
||||||
|
"check": ["AGI", "AGI", "CON"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "D"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Carousing",
|
||||||
|
"check": ["SGC", "CON", "STR"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Climbing",
|
||||||
|
"check": ["COU", "AGI", "STR"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Dancing",
|
||||||
|
"check": ["SGC", "CHA", "AGI"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Feat of Strength",
|
||||||
|
"check": ["COU", "STR", "STR"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Flying",
|
||||||
|
"check": ["COU", "INT", "AGI"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Gaukelei",
|
||||||
|
"check": ["COU", "CHA", "DEX"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Perception",
|
||||||
|
"check": ["SGC", "INT", "INT"],
|
||||||
|
"enc": "maybe",
|
||||||
|
"improvement": "D"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Pickpocket",
|
||||||
|
"check": ["COU", "DEX", "AGI"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Riding",
|
||||||
|
"check": ["CHA", "AGI", "STR"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Self-Control",
|
||||||
|
"check": ["COU", "COU", "CON"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "D"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Singing",
|
||||||
|
"check": ["SGC", "CHA", "CON"],
|
||||||
|
"enc": "maybe",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Stealth",
|
||||||
|
"check": ["COU", "INT", "AGI"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Swimming",
|
||||||
|
"check": ["AGI", "CON", "STR"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "B"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"social_skills": {
|
||||||
|
"page_ref": "p. 193-197",
|
||||||
|
"skills": [
|
||||||
|
{
|
||||||
|
"name": "Disguise",
|
||||||
|
"check": ["INT", "CHA", "AGI"],
|
||||||
|
"enc": "maybe",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Empathy",
|
||||||
|
"check": ["SGC", "INT", "CHA"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Etiquette",
|
||||||
|
"check": ["SGC", "INT", "CHA"],
|
||||||
|
"enc": "maybe",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Fast-Talk",
|
||||||
|
"check": ["COU", "INT", "CHA"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Intimidation",
|
||||||
|
"check": ["COU", "INT", "CHA"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Persuasion",
|
||||||
|
"check": ["COU", "SGC", "CHA"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Seduction",
|
||||||
|
"check": ["COU", "CHA", "CHA"],
|
||||||
|
"enc": "maybe",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Streetwise",
|
||||||
|
"check": ["SGC", "INT", "CHA"],
|
||||||
|
"enc": "maybe",
|
||||||
|
"improvement": "C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Willpower",
|
||||||
|
"check": ["COU", "INT", "CHA"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "D"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"knowledge_skills": {
|
||||||
|
"page_ref": "p. 201-205",
|
||||||
|
"skills": [
|
||||||
|
{
|
||||||
|
"name": "Astronomy",
|
||||||
|
"check": ["SGC", "SGC", "INT"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Gambling",
|
||||||
|
"check": ["SGC", "SGC", "INT"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Geography",
|
||||||
|
"check": ["SGC", "SGC", "INT"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "History",
|
||||||
|
"check": ["SGC", "SGC", "INT"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Law",
|
||||||
|
"check": ["SGC", "SGC", "INT"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Magical Lore",
|
||||||
|
"check": ["SGC", "SGC", "INT"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Math",
|
||||||
|
"check": ["SGC", "SGC", "INT"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Mechanics",
|
||||||
|
"check": ["SGC", "SGC", "DEX"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Myths & Legends",
|
||||||
|
"check": ["SGC", "SGC", "INT"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Religions",
|
||||||
|
"check": ["SGC", "SGC", "INT"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Sphere Lore",
|
||||||
|
"check": ["SGC", "SGC", "INT"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Warfare",
|
||||||
|
"check": ["COU", "SGC", "INT"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "B"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"nature_skills": {
|
||||||
|
"page_ref": "p. 198-200",
|
||||||
|
"skills": [
|
||||||
|
{
|
||||||
|
"name": "Animal Lore",
|
||||||
|
"check": ["COU", "COU", "CHA"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Fishing",
|
||||||
|
"check": ["DEX", "AGI", "CON"],
|
||||||
|
"enc": "maybe",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Orienting",
|
||||||
|
"check": ["SGC", "INT", "INT"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Plant Lore",
|
||||||
|
"check": ["SGC", "DEX", "CON"],
|
||||||
|
"enc": "maybe",
|
||||||
|
"improvement": "C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Ropes",
|
||||||
|
"check": ["SGC", "DEX", "STR"],
|
||||||
|
"enc": "maybe",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Survival",
|
||||||
|
"check": ["COU", "AGI", "CON"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Tracking",
|
||||||
|
"check": ["COU", "INT", "AGI"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "C"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"craft_skills": {
|
||||||
|
"page_ref": "p. 206-213",
|
||||||
|
"skills": [
|
||||||
|
{
|
||||||
|
"name": "Alchemy",
|
||||||
|
"check": ["COU", "SGC", "DEX"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Artistic Ability",
|
||||||
|
"check": ["INT", "DEX", "DEX"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Clothworking",
|
||||||
|
"check": ["SGC", "DEX", "DEX"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Commerce",
|
||||||
|
"check": ["SGC", "INT", "CHA"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Driving",
|
||||||
|
"check": ["CHA", "DEX", "CON"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Earthencraft",
|
||||||
|
"check": ["DEX", "DEX", "STR"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Leatherworking",
|
||||||
|
"check": ["DEX", "AGI", "CON"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Metalworking",
|
||||||
|
"check": ["DEX", "CON", "STR"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Music",
|
||||||
|
"check": ["CHA", "DEX", "CON"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Pick Locks",
|
||||||
|
"check": ["INT", "DEX", "DEX"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "C"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Prepare Food",
|
||||||
|
"check": ["INT", "DEX", "DEX"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "A"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Sailing",
|
||||||
|
"check": ["DEX", "AGI", "STR"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Treat Disease",
|
||||||
|
"check": ["COU", "INT", "CON"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Treat Poison",
|
||||||
|
"check": ["COU", "SGC", "INT"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Treat Soul",
|
||||||
|
"check": ["INT", "CHA", "CON"],
|
||||||
|
"enc": "no",
|
||||||
|
"improvement": "B"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Treat Wounds",
|
||||||
|
"check": ["SGC", "DEX", "DEX"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "D"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "Woodworking",
|
||||||
|
"check": ["DEX", "AGI", "STR"],
|
||||||
|
"enc": "yes",
|
||||||
|
"improvement": "B"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
@@ -1,19 +0,0 @@
|
|||||||
export interface BaseAbilities {
|
|
||||||
str: number;
|
|
||||||
dex: number;
|
|
||||||
con: number;
|
|
||||||
int: number;
|
|
||||||
wis: number;
|
|
||||||
cha: number;
|
|
||||||
}
|
|
||||||
|
|
||||||
export interface DSAAttributes {
|
|
||||||
courage: number;
|
|
||||||
cleverness: number;
|
|
||||||
intuition: number;
|
|
||||||
charisma: number;
|
|
||||||
dexterity: number;
|
|
||||||
agility: number;
|
|
||||||
constitution: number;
|
|
||||||
strength: number;
|
|
||||||
}
|
|
Reference in New Issue
Block a user