Initial import

This commit is contained in:
LeRatierBretonnien 2023-12-11 21:41:51 +01:00
parent db5fbb0e63
commit 4c0e70a77e
12 changed files with 122 additions and 463 deletions

View File

@ -3,7 +3,7 @@
* @extends {ActorSheet} * @extends {ActorSheet}
*/ */
import { EcrymeUtility } from "../common/tedeum-utility.js"; import { TeDeumUtility } from "../common/tedeum-utility.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
export class EcrymeActorSheet extends ActorSheet { export class EcrymeActorSheet extends ActorSheet {
@ -12,8 +12,8 @@ export class EcrymeActorSheet extends ActorSheet {
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return mergeObject(super.defaultOptions, {
classes: ["fvtt-ecryme", "sheet", "actor"], classes: ["fvtt-tedeum", "sheet", "actor"],
template: "systems/fvtt-ecryme/templates/actors/actor-sheet.hbs", template: "systems/fvtt-tedeum/templates/actors/actor-sheet.hbs",
width: 860, width: 860,
height:680, height:680,
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "skills" }], tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "skills" }],

View File

@ -1,7 +1,5 @@
/* -------------------------------------------- */ /* -------------------------------------------- */
import { EcrymeUtility } from "../common/ecryme-utility.js"; import { TeDeumUtility } from "../common/tedeum-utility.js";
import { EcrymeRollDialog } from "../dialogs/ecryme-roll-dialog.js";
import { EcrymeConfrontStartDialog } from "../dialogs/ecryme-confront-start-dialog.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -9,7 +7,7 @@ import { EcrymeConfrontStartDialog } from "../dialogs/ecryme-confront-start-dial
* Extend the base Actor entity by defining a custom roll data structure which is ideal for the Simple system. * Extend the base Actor entity by defining a custom roll data structure which is ideal for the Simple system.
* @extends {Actor} * @extends {Actor}
*/ */
export class EcrymeActor extends Actor { export class TeDeumActor extends Actor {
/* -------------------------------------------- */ /* -------------------------------------------- */
/** /**

View File

@ -1,7 +1,7 @@
import { EcrymeUtility } from "../common/tedeum-utility.js"; import { TeDeumUtility } from "../common/tedeum-utility.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
export class EcrymeCombat extends Combat { export class TeDeumCombat extends Combat {
/* -------------------------------------------- */ /* -------------------------------------------- */
async rollInitiative(ids, formula = undefined, messageOptions = {} ) { async rollInitiative(ids, formula = undefined, messageOptions = {} ) {

View File

@ -1,13 +1,12 @@
/* -------------------------------------------- */ /* -------------------------------------------- */
import { EcrymeUtility } from "../common/tedeum-utility.js"; import { TeDeumUtility } from "../common/tedeum-utility.js";
import { EcrymeCharacterSummary } from "./ecryme-summary-app.js"
/* -------------------------------------------- */ /* -------------------------------------------- */
export class EcrymeCommands { export class EcrymeCommands {
static init() { static init() {
if (!game.system.ecryme.commands) { if (!game.system.tedeum.commands) {
const commands = new EcrymeCommands(); const commands = new EcrymeCommands();
commands.registerCommand({ path: ["/resume"], func: (content, msg, params) => EcrymeCharacterSummary.displayPCSummary(), descr: "Affiche la liste des PJs!" }); commands.registerCommand({ path: ["/resume"], func: (content, msg, params) => EcrymeCharacterSummary.displayPCSummary(), descr: "Affiche la liste des PJs!" });
game.system.ecryme.commands = commands; game.system.ecryme.commands = commands;

View File

@ -1,5 +1,5 @@
export class EcrymeHotbar { export class TeDeumHotbar {
/** /**
* Create a macro when dropping an entity on the hotbar * Create a macro when dropping an entity on the hotbar

View File

@ -1,62 +1,71 @@
export const SYSTEM_ID = "fvtt-te-deum";
export const ECRYME_CONFIG = { export const LOCALISATION = {
"pieddroit":{ label: "Pied Droit", value: 1, id :"pieddroit", nbArmure: 1 },
traitTypes: { "jambedroite": { label: "Jambe Droite", value: 1, id :"jambedroite", nbArmure: 1 },
normal: "Normal", "jambegauche": { label: "Jambe Gauche", value: 1, id :"jambegauche", nbArmure: 1 },
spleen: "Spleen", "piedgauche":{ label: "Pied Gauche", value: 1, id :"piedgauche", nbArmure: 1 },
ideal: "Ideal" "piedgauche":{ label: "Pied Gauche", value: 1, id :"piedgauche", nbArmure: 1 },
}, "maindroite":{ label: "Main Droite", value: 1, id :"maindroite", nbArmure: 1 },
weaponTypes: { "maingauche":{ label: "Main Gauche", value: 1, id :"maingauche", nbArmure: 1 },
"melee": "ECRY.ui.melee", "brasdroit":{ label: "Bras Droit", value: 1, id :"brasdroit", nbArmure: 2 },
"ranged": "ECRY.ui.ranged" "brasgauche":{ label: "Bras Gauche", value: 1, id :"brasgauche", nbArmure: 2 },
}, "corps":{ label: "Corps", value: 1, id :"corps", nbArmure: 2 },
traitLevel: [ "tete":{ label: "Tête", value: 1, id :"tete", nbArmure: 2 },
{value: -3, text: "-3"}, }
{value: -2, text: "-2"},
{value: -1, text: "-1"}, export const TEDEUM_CONFIG = {
{value: +1, text: "+1"}, descriptionValeur: {
{value: +2, text: "+2"}, 1: { qualite: "Mauvais", dice: "d4", negativeDice: "d20", savoir: "Sot", sensibilite: "Obtus", entregent: "Rustaud", puissance: "Menu", complexion: "Anémique", adresse: "Empesé" },
{value: +3, text: "+3"} 2: { qualite: "Médiocre", dice: "d6", negativeDice: "d12", savoir: "Limité", sensibilite: "Etriqué", entregent: "Frustre", puissance: "Délicat", complexion: "Languide", adresse: "Gauche" },
], 3: { qualite: "Correct", dice: "d8", negativeDice: "d10", savoir: "Mêlé", sensibilite: "Ouvert", entregent: "Badin", puissance: "Membru", complexion: "Dispos", adresse: "Ingambe" },
impactTypes: { 4: { qualite: "Bon", dice: "d10", negativeDice: "d8", savoir: "Lettré", sensibilite: "Fin", entregent: "Disert", puissance: "Vigoureux", complexion: "Gaillard", adresse: "Leste" },
physical: "ECRY.ui.physical", 5: { qualite: "Bon", dice: "d10", negativeDice: "d8", savoir: "Lettré", sensibilite: "Fin", entregent: "Disert", puissance: "Vigoureux", complexion: "Gaillard", adresse: "Leste" },
mental: "ECRY.ui.mental", 6: { qualite: "Bon", dice: "d10", negativeDice: "d8", savoir: "Lettré", sensibilite: "Fin", entregent: "Disert", puissance: "Vigoureux", complexion: "Gaillard", adresse: "Leste" },
social: "ECRY.ui.social" 7: { qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtil", entregent: "Galant", puissance: "Musculeux", complexion: "Sanguin", adresse: "Preste" },
}, 8: { qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtil", entregent: "Galant", puissance: "Musculeux", complexion: "Sanguin", adresse: "Preste" },
impactLevels: { 9: { qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtil", entregent: "Galant", puissance: "Musculeux", complexion: "Sanguin", adresse: "Preste" },
superficial: "ECRY.ui.superficial", 10: { qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtil", entregent: "Galant", puissance: "Musculeux", complexion: "Sanguin", adresse: "Preste" },
light: "ECRY.ui.light", 11: { qualite: "Excellent", dice: "d12", negativeDice: "d6", savoir: "Docte", sensibilite: "Subtil", entregent: "Galant", puissance: "Musculeux", complexion: "Sanguin", adresse: "Preste" },
serious: "ECRY.ui.serious", 12: { qualite: "Admirabme", dice: "d20", negativeDice: "d4", savoir: "Humaniste", sensibilite: "Spirituel", entregent: "Sémillant", puissance: "Hercule", complexion: "Aguerri", adresse: "Alerte" },
major: "ECRY.ui.major" },
}, caracteristiques: {
difficulty: { savoir: { id: "savoir", value: 1, label: "Savoir" },
"-1": {difficulty: "ECRY.ui.none", frequency: "ECRY.ui.none", value: "-"}, sensibilite: { id: "sensibilite", value: 1, label: "Sensibilité" },
"8": { difficulty: "ECRY.ui.troublesome", frequency: "ECRY.ui.occasional", value: 8 }, entregent: { id: "entregent", value: 1, label: "Entregent" },
"10": { difficulty: "ECRY.ui.difficult", frequency: "ECRY.ui.uncommon", value: 10 }, complexion: { id: "complexion", value: 1, label: "Complexion" },
"12": { difficulty: "ECRY.ui.verydifficult", frequency: "ECRY.ui.rare", value: 12 }, puissance: { id:"puissance", value: 1, label: "Puissance" },
"14": { difficulty: "ECRY.ui.extremdifficult", frequency: "ECRY.ui.veryrare", value: 14 }, adresse: { id: "adresse", value: 1, label: "Adresse" },
"16": { difficulty: "ECRY.ui.increddifficult", frequency: "ECRY.ui.exceptrare", value: 16 }, },
}, localisation: {
skillLevel: { 1: LOCALISATION.pieddroit,
"0": "0", 2: LOCALISATION.piedgauche,
"1": "1", 3: LOCALISATION.jambedroite,
"2": "2", 4: LOCALISATION.jambedroite,
"3": "3", 5: LOCALISATION.jambegauche,
"4": "4", 6: LOCALISATION.jambegauche,
"5": "5", 7: LOCALISATION.maindroite,
"6": "6", 8: LOCALISATION.maingauche,
"7": "7", 9: LOCALISATION.brasdroit,
"8": "8", 10: LOCALISATION.brasdroit,
"9": "9", 11: LOCALISATION.brasgauche,
"10": "10" 12: LOCALISATION.brasgauche,
}, 13: LOCALISATION.corps,
costUnits: { 14: LOCALISATION.corps,
"ingot": {name: "ECRY.ui.ingot", value: 100000}, 15: LOCALISATION.corps,
"ingotin": {name: "ECRY.ui.ingotin", value: 10000}, 16: LOCALISATION.corps,
"goldcoin": {name: "ECRY.ui.goldcoin", value: 1000 }, 17: LOCALISATION.corps,
"lige": {name: "ECRY.ui.lige", value: 100 }, 18: LOCALISATION.tete,
"hurle": {name: "ECRY.ui.hurle", value: 10 }, 19: LOCALISATION.tete,
"coin": {name: "ECRY.ui.coin", value: 1 } 20: LOCALISATION.tete
} },
difficulte: {
routine: {label: "Routine", value: 3},
facile: {label: "Facile", value: 5},
pardefaut: {label: "Par Défaut", value: 7},
malaise: {label: "Malaisé", value: 9},
difficile: {label: "difficile", value:11},
perilleux: {label: "Perilleux", value:13},
desespere: {label: "Désespéré", value:15}
}
} }

View File

@ -1,47 +1,13 @@
/* -------------------------------------------- */ /* -------------------------------------------- */
import { EcrymeCommands } from "../app/tedeum-commands.js";
/* -------------------------------------------- */ /* -------------------------------------------- */
const __maxImpacts = { superficial: 4, light: 3, serious: 2, major: 1 } export class TeDeumUtility {
const __nextImpacts = { superficial: "light", light: "serious", serious: "major", major: "major" }
const __effect2Impact = ["none", "superficial", "superficial", "light", "light", "serious", "serious", "major", "major"]
const __cephalySuccess = {
1: "cephaly-success-2",
2: "cephaly-success-2",
3: "cephaly-success-4",
4: "cephaly-success-4",
5: "cephaly-success-6",
6: "cephaly-success-6",
7: "cephaly-success-8",
8: "cephaly-success-8",
9: "cephaly-success-9",
10: "cephaly-success-10"
}
const __cephalyFailure = {
1: "cephaly-failure-2",
2: "cephaly-failure-2",
3: "cephaly-failure-4",
4: "cephaly-failure-4",
5: "cephaly-failure-6",
6: "cephaly-failure-6",
7: "cephaly-failure-8",
8: "cephaly-failure-8",
9: "cephaly-failure-9",
10: "cephaly-failure-10"
}
/* -------------------------------------------- */
export class EcrymeUtility {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async init() { static async init() {
Hooks.on('renderChatLog', (log, html, data) => EcrymeUtility.chatListeners(html)); Hooks.on('renderChatLog', (log, html, data) => TeDeumUtility.chatListeners(html));
Hooks.on("getChatLogEntryContext", (html, options) => EcrymeUtility.chatMenuManager(html, options)); Hooks.on("getChatLogEntryContext", (html, options) => TeDeumUtility.chatMenuManager(html, options));
this.rollDataStore = {}
this.defenderStore = {}
EcrymeCommands.init();
} }
/* -------------------------------------------- */ /* -------------------------------------------- */

View File

@ -1,13 +1,13 @@
import { EcrymeUtility } from "../common/ecryme-utility.js"; import { TeDeumUtility } from "../common/tedeum-utility.js";
export class EcrymeRollDialog extends Dialog { export class TeDeumRollDialog extends Dialog {
/* -------------------------------------------- */ /* -------------------------------------------- */
static async create(actor, rollData) { static async create(actor, rollData) {
let options = { classes: ["ecryme-roll-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 } let options = { classes: ["tedeum-roll-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 }
let html = await renderTemplate('systems/fvtt-ecryme/templates/dialogs/roll-dialog-generic.hbs', rollData); let html = await renderTemplate('systems/fvtt-tedeum/templates/dialogs/roll-dialog-generic.hbs', rollData);
return new EcrymeRollDialog(actor, rollData, html, options); return new TeDeumRollDialog(actor, rollData, html, options);
} }
/* -------------------------------------------- */ /* -------------------------------------------- */

View File

@ -1,16 +1,16 @@
import { EcrymeUtility } from "../common/tedeum-utility.js"; import { TeDeumUtility } from "../common/tedeum-utility.js";
/** /**
* Extend the basic ItemSheet with some very simple modifications * Extend the basic ItemSheet with some very simple modifications
* @extends {ItemSheet} * @extends {ItemSheet}
*/ */
export class EcrymeItemSheet extends ItemSheet { export class TeDeumItemSheet extends ItemSheet {
/** @override */ /** @override */
static get defaultOptions() { static get defaultOptions() {
return mergeObject(super.defaultOptions, { return mergeObject(super.defaultOptions, {
classes: ["fvtt-ecryme", "sheet", "item"], classes: ["fvtt-tedeum", "sheet", "item"],
template: "systems/fvtt-ecryme/templates/item-sheet.hbs", template: "systems/fvtt-tedeum/templates/item-sheet.hbs",
dragDrop: [{ dragSelector: null, dropSelector: null }], dragDrop: [{ dragSelector: null, dropSelector: null }],
width: 620, width: 620,
height: 580, height: 580,

View File

@ -1,21 +1,16 @@
import { EcrymeUtility } from "../common/ecryme-utility.js"; import { TeDeumUtility } from "../common/tedeum-utility.js";
export const defaultItemImg = { export const defaultItemImg = {
weapon: "systems/fvtt-ecryme/images/icons/icon_weapon.webp", arme: "systems/fvtt-ecryme/images/icons/icon_arme.webp",
equipment: "systems/fvtt-ecryme/images/icons/icon_equipment.webp", equipment: "systems/fvtt-ecryme/images/icons/icon_equipment.webp",
contact: "systems/fvtt-ecryme/images/icons/icon_contact.webp", competence: "systems/fvtt-ecryme/images/icons/icon_competence.webp",
boheme: "systems/fvtt-ecryme/images/icons/icon_boheme.webp",
trait: "systems/fvtt-ecryme/images/icons/icon_trait.webp",
annency: "systems/fvtt-ecryme/images/icons/icon_annency.webp",
skill: "systems/fvtt-ecryme/images/icons/icon_skill.webp",
specialization: "systems/fvtt-ecryme/images/icons/icon_spec.webp"
} }
/** /**
* Extend the basic ItemSheet with some very simple modifications * Extend the basic ItemSheet with some very simple modifications
* @extends {ItemSheet} * @extends {ItemSheet}
*/ */
export class EcrymeItem extends Item { export class TeDeumItem extends Item {
constructor(data, context) { constructor(data, context) {
if (!data.img) { if (!data.img) {

View File

@ -1,5 +1,5 @@
/** /**
* Ecryme system * Te Deum system
* Author: Uberwald * Author: Uberwald
* Software License: Prop * Software License: Prop
*/ */
@ -8,16 +8,14 @@
/* -------------------------------------------- */ /* -------------------------------------------- */
// Import Modules // Import Modules
import { EcrymeActor } from "./actors/ecryme-actor.js"; import { TeDeumActor } from "./actors/tedeum-actor.js";
import { EcrymeItemSheet } from "./items/tedeum-item-sheet.js"; import { TeDeumItemSheet } from "./items/tedeum-item-sheet.js";
import { EcrymeActorSheet } from "./actors/ecryme-actor-sheet.js"; import { TeDeumActorSheet } from "./actors/tedeum-actor-sheet.js";
import { EcrymeAnnencySheet } from "./actors/ecryme-annency-sheet.js"; import { TeDeumUtility } from "./common/tedeum-utility.js";
import { EcrymeUtility } from "./common/ecryme-utility.js"; import { TeDeumCombat } from "./app/tedeum-combat.js";
import { EcrymeCombat } from "./app/ecryme-combat.js"; import { TeDeumItem } from "./items/tedeum-item.js";
import { EcrymeItem } from "./items/ecryme-item.js"; import { TeDeumHotbar } from "./app/tedeum-hotbar.js"
import { EcrymeHotbar } from "./app/ecryme-hotbar.js" import { TEDEUM_CONFIG } from "./common/tedeum-config.js"
import { EcrymeCharacterSummary } from "./app/ecryme-summary-app.js"
import { ECRYME_CONFIG } from "./common/ecryme-config.js"
/* -------------------------------------------- */ /* -------------------------------------------- */
/* Foundry VTT Initialization */ /* Foundry VTT Initialization */
@ -26,16 +24,16 @@ import { ECRYME_CONFIG } from "./common/ecryme-config.js"
/************************************************************************************/ /************************************************************************************/
Hooks.once("init", async function () { Hooks.once("init", async function () {
console.log(`Initializing Ecryme RPG`); console.log(`Initializing TeDeum RPG`);
game.system.ecryme = { game.system.tedeum = {
config: ECRYME_CONFIG, config: ECRYME_CONFIG,
EcrymeHotbar TeDeumHotbar
} }
/* -------------------------------------------- */ /* -------------------------------------------- */
// preload handlebars templates // preload handlebars templates
EcrymeUtility.preloadHandlebarsTemplates(); TeDeumUtility.preloadHandlebarsTemplates();
/* -------------------------------------------- */ /* -------------------------------------------- */
// Set an initiative formula for the system // Set an initiative formula for the system
@ -45,31 +43,27 @@ Hooks.once("init", async function () {
}; };
/* -------------------------------------------- */ /* -------------------------------------------- */
game.socket.on("system.fvtt-ecryme", data => { game.socket.on("system.fvtt-tedeum", data => {
EcrymeUtility.onSocketMesssage(data) TeDeumUtility.onSocketMesssage(data)
}); });
/* -------------------------------------------- */ /* -------------------------------------------- */
// Define custom Entity classes // Define custom Entity classes
CONFIG.Combat.documentClass = EcrymeCombat CONFIG.Combat.documentClass = TeDeumCombat
CONFIG.Actor.documentClass = EcrymeActor CONFIG.Actor.documentClass = TeDeumActor
CONFIG.Item.documentClass = EcrymeItem CONFIG.Item.documentClass = TeDeumItem
/* -------------------------------------------- */ /* -------------------------------------------- */
// Register sheet application classes // Register sheet application classes
Actors.unregisterSheet("core", ActorSheet); Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["pc"], makeDefault: true }); Actors.registerSheet("fvtt-tedeum", TeDeumActorSheet, { types: ["pc"], makeDefault: true });
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["npc"], makeDefault: true }); Actors.registerSheet("fvtt-tedeum", TeDeumActorSheet, { types: ["npc"], makeDefault: true });
Actors.registerSheet("fvtt-ecryme", EcrymeAnnencySheet, { types: ["annency"], makeDefault: false }); Actors.registerSheet("fvtt-tedeum", TeDeumAnnencySheet, { types: ["annency"], makeDefault: false });
Items.unregisterSheet("core", ItemSheet); Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("fvtt-ecryme", EcrymeItemSheet, { makeDefault: true }); Items.registerSheet("fvtt-tedeum", TeDeumItemSheet, { makeDefault: true });
EcrymeUtility.init()
console.log("Babele INIT!")
Babele.get().setSystemTranslationsDir("translated")
TeDeumUtility.init()
}); });
/* -------------------------------------------- */ /* -------------------------------------------- */
@ -78,8 +72,8 @@ function welcomeMessage() {
ChatMessage.create({ ChatMessage.create({
user: game.user.id, user: game.user.id,
whisper: [game.user.id], whisper: [game.user.id],
content: `<div id="welcome-message-ecryme"><span class="rdd-roll-part"> content: `<div id="welcome-message-tedeum"><span class="rdd-roll-part">
<strong>Bienvenu dans Ecryme !</strong>` }); <strong>Bienvenu dans TeDeum !</strong>` });
} }
} }
@ -125,8 +119,7 @@ Hooks.once("ready", function () {
registerUsageCount(game.system.id) registerUsageCount(game.system.id)
welcomeMessage(); welcomeMessage();
EcrymeUtility.ready() TeDeumUtility.ready()
EcrymeCharacterSummary.ready()
}) })
@ -138,7 +131,7 @@ Hooks.on("chatMessage", (html, content, msg) => {
if (content[0] == '/') { if (content[0] == '/') {
let regExp = /(\S+)/g; let regExp = /(\S+)/g;
let commands = content.match(regExp); let commands = content.match(regExp);
if (game.system.ecryme.commands.processChatCommand(commands, content, msg)) { if (game.system.tedeum.commands.processChatCommand(commands, content, msg)) {
return false; return false;
} }
} }

View File

@ -1,312 +1,11 @@
{ {
"Actor": { "Actor": {
"types": [ "types": ["pj", "pnj"],
"pc","annency", "npc" "pj": {},
], "pnj": {}
"templates": {
"biodata": {
"biodata": {
"age": "",
"size": "",
"lieunaissance": "",
"nationalite": "",
"profession": "",
"residence": "",
"milieusocial": "",
"poids": "",
"cheveux": "",
"sexe": "",
"yeux": "",
"enfance": "",
"description": "",
"gmnotes": ""
}
},
"core": {
"subactors": [],
"equipmentfree": "",
"skills": {
"physical": {
"name": "ECRY.ui.physical",
"skilllist": {
"athletics": {
"name": "ECRY.ui.athletics",
"max": 0,
"value": 0
},
"driving": {
"name": "ECRY.ui.driving",
"max": 0,
"value": 0
},
"fencing": {
"name": "ECRY.ui.fencing",
"max": 0,
"value": 0
},
"brawling": {
"name": "ECRY.ui.brawling",
"max": 0,
"value": 0
},
"shooting": {
"name": "ECRY.ui.shooting",
"max": 0,
"value": 0
}
}
},
"mental": {
"name": "ECRY.ui.mental",
"skilllist": {
"anthropomecanology": {
"name": "ECRY.ui.anthropomecanology",
"value": 0,
"max": 10
},
"ecrymology": {
"name": "ECRY.ui.ecrymology",
"value": 0,
"max": 10
},
"traumatology": {
"name": "ECRY.ui.traumatology",
"value": 0,
"max": 10
},
"traversology": {
"name": "ECRY.ui.traversology",
"value": 0,
"max": 10
},
"urbatechnology": {
"name": "ECRY.ui.urbatechnology",
"value": 0,
"max": 10
}
}
},
"social": {
"name": "ECRY.ui.social",
"skilllist": {
"quibbling": {
"name": "ECRY.ui.quibbling",
"value": 0,
"max": 10
},
"creativity": {
"name": "ECRY.ui.creativity",
"value": 0,
"max": 10
},
"loquacity": {
"name": "ECRY.ui.loquacity",
"value": 0,
"max": 10
},
"guile": {
"name": "ECRY.ui.guile",
"value": 0,
"max": 10
},
"performance": {
"name": "ECRY.ui.performance",
"value": 0,
"max": 10
}
}
}
},
"impacts": {
"physical": {
"superficial": 0,
"light": 0,
"serious": 0,
"major": 0
},
"mental": {
"superficial": 0,
"light": 0,
"serious": 0,
"major": 0
},
"social": {
"superficial": 0,
"light": 0,
"serious": 0,
"major": 0
}
},
"cephaly": {
"name": "ECRY.ui.cephaly",
"skilllist": {
"elegy": {
"name": "ECRY.ui.elegy",
"value": 0,
"max": 10
},
"entelechy": {
"name": "ECRY.ui.entelechy",
"value": 0,
"max": 10
},
"mekany": {
"name": "ECRY.ui.mekany",
"value": 0,
"max": 10
},
"psyche": {
"name": "ECRY.ui.psyche",
"value": 0,
"max": 10
},
"scoria": {
"name": "ECRY.ui.scoria",
"value": 0,
"max": 10
}
}
},
"internals": {
"confrontbonus": 0
}
},
"npccore": {
"npctype": "",
"description": ""
},
"annency": {
"base": {
"iscollective": false,
"ismultiple": false,
"characters": [],
"location": {"1": "", "2": "", "3":"", "4":"", "5":"" },
"description": "",
"enhancements": ""
},
"boheme": {
"name": "",
"ideals": "",
"politic": "",
"description": ""
}
}
},
"annency": {
"templates": [
"annency"
]
},
"npc": {
"templates": [
"biodata",
"core"
]
},
"pc": {
"templates": [
"biodata",
"core"
]
}
}, },
"Item": { "Item": {
"types": [ "types": ["arme"],
"equipment", "arme": {}
"trait",
"weapon",
"specialization",
"maneuver"
],
"templates": {
"common": {
"description": ""
},
"equipement": {
"weight": 0,
"cost": 0,
"costunit": ""
}
},
"maneuver": {
"templates": [
"common"
]
},
"confrontation": {
"templates": [
"common"
],
"attackerId": "",
"defenserId": "",
"rolllist": [],
"bonusexecution": 0,
"bonuspreservation": 0
},
"equipment": {
"templates": [
"common",
"equipement"
],
"quantity": 1,
"weight": 0
},
"trait": {
"templates": [
"common"
],
"traitype": "normal",
"level": 1
},
"weapon": {
"templates": [
"common",
"equipement"
],
"weapontype": "melee",
"effect": 0
},
"specialization": {
"bonus": 2,
"templates": [
"common"
],
"skillkey": ""
},
"scar": {
"templates": [
"common"
],
"skillcategory": [
"physical",
"mental",
"social",
"cephalie"
],
"scarLevel": 1
},
"annency": {
"templates": [
"common"
],
"collective": false,
"multiple": false,
"improvements": ""
},
"boheme": {
"templates": [
"common"
],
"ideals": "",
"political": ""
},
"contact": {
"templates": [
"common"
],
"attitude": "neutral",
"organization": "",
"location": ""
}
} }
} }