Fiche armes et traits

This commit is contained in:
LeRatierBretonnien 2023-04-28 15:25:57 +02:00
parent b9978545d2
commit 06d91f11f1
24 changed files with 233 additions and 138 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 267 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 856 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

26
lang/en.json Normal file
View File

@ -0,0 +1,26 @@
{
"ACTOR": {
"TypePersonnage": "PC"
},
"ITEM": {
"TypeTrait": "Trait",
"TypeWeapon": "Weapon",
"TypeEquipment": "Equipment"
},
"ECRY": {
"ui": {
"traitType": "Trait type",
"niveauTrait": "Trait level",
"weight": "Weight",
"cost": "Cost",
"costunit": "Unit",
"effect": "Incidence",
"ingot": "Ingot",
"ingotin": "Ingotin",
"goldcoin": "Gold coin",
"lige": "Lige",
"hurle": "Howl",
"coin": "Coin"
}
}
}

View File

@ -1,13 +1,27 @@
{
"ACTOR": {
"TypePersonnage": "Personnage"
"TypePersonnage": "PC"
},
"ITEM": {
"TypeArme": "Arme",
"TypeEquipement": "Equipement",
"TypeTarot": "Tarot",
"TypeElementbio": "Element Biographique",
"TypeArchetype": "Archetype",
"TypeSortilege": "Sortilège"
"TypeTrait": "Trait",
"TypeWeapon": "Weapon",
"TypeEquipment": "Equipment"
},
"ECRY": {
"ui": {
"traitType": "Type de trait",
"niveauTrait": "Niveau du trait",
"effect": "Effect",
"weight": "Poids",
"cost": "Prix",
"costUnit": "Unité",
"ingot": "Lingot",
"ingotin": "Lingotin",
"goldcoin": "Pièce d'or",
"lige": "Lige",
"hurle": "Hurle",
"coin": "Sous"
}
}
}

View File

@ -3,7 +3,7 @@
* @extends {ActorSheet}
*/
import { EcrymeUtility } from "./common/ecryme-utility.js";
import { EcrymeUtility } from "../common/ecryme-utility.js";
/* -------------------------------------------- */
export class EcrymeActorSheet extends ActorSheet {

View File

@ -1,6 +1,6 @@
/* -------------------------------------------- */
import { EcrymeUtility } from "./common/ecryme-utility.js";
import { EcrymeRollDialog } from "./dialogs/ecryme-roll-dialog.js";
import { EcrymeUtility } from "../common/ecryme-utility.js";
import { EcrymeRollDialog } from "../dialogs/ecryme-roll-dialog.js";
/* -------------------------------------------- */

View File

@ -1,4 +1,4 @@
import { EcrymeUtility } from "./common/ecryme-utility.js";
import { EcrymeUtility } from "../common/ecryme-utility.js";
/* -------------------------------------------- */
export class EcrymeCombat extends Combat {

View File

@ -1,7 +1,7 @@
/* -------------------------------------------- */
import { EcrymeUtility } from "./common/ecryme-utility.js";
import { EcrymeCharacterSummary } from "./app/ecryme-summary-app.js"
import { EcrymeUtility } from "../common/ecryme-utility.js";
import { EcrymeCharacterSummary } from "../app/ecryme-summary-app.js"
/* -------------------------------------------- */
export class EcrymeCommands {

View File

@ -1,5 +1,5 @@
/* -------------------------------------------- */
import { EcrymeUtility } from "./common/ecryme-utility.js";
import { EcrymeUtility } from "../common/ecryme-utility.js";
/* -------------------------------------------- */
export class EcrymeCharacterSummary extends Application {
@ -38,7 +38,7 @@ export class EcrymeCharacterSummary extends Application {
constructor() {
super();
//game.settings.set("world", "character-summary-data", {npcList: [], x:0, y:0})
this.settings = game.settings.get("world", "character-summary-data")
//this.settings = game.settings.get("world", "character-summary-data")
}
/* -------------------------------------------- */

View File

@ -1,3 +1,39 @@
export const ECRYME_CONFIG = {
traitTypes: {
normal: "Normal",
spleen: "Spleen",
ideal: "Ideal"
},
traitLevel: [
{value: -3, text: "-3"},
{value: -2, text: "-2"},
{value: -1, text: "-1"},
{value: +1, text: "+1"},
{value: +2, text: "+2"},
{value: +3, text: "+3"}
],
skillLevel: {
"0": "0",
"1": "1",
"2": "2",
"3": "3",
"4": "4",
"5": "5",
"6": "6",
"7": "7",
"8": "8",
"9": "9",
"10": "10"
},
costUnits: {
"ingot": {name: "ECRY.ui.ingot", value: 100000},
"ingotin": {name: "ECRY.ui.ingotin", value: 10000},
"goldcoin": {name: "ECRY.ui.goldcoin", value: 1000 },
"lige": {name: "ECRY.ui.lige", value: 100 },
"hurle": {name: "ECRY.ui.hurle", value: 10 },
"coin": {name: "ECRY.ui.coin", value: 1 }
}
}

View File

@ -1,5 +1,5 @@
/* -------------------------------------------- */
import { EcrymeCommands } from "./ecryme-commands.js";
import { EcrymeCommands } from "../app/ecryme-commands.js";
/* -------------------------------------------- */
@ -101,6 +101,7 @@ export class EcrymeUtility {
const templatePaths = [
'systems/fvtt-ecryme/templates/actors/editor-notes-gm.hbs',
'systems/fvtt-ecryme/templates/items/partial-item-nav.hbs',
'systems/fvtt-ecryme/templates/items/partial-item-equipment.hbs',
'systems/fvtt-ecryme/templates/items/partial-item-description.hbs'
]
return loadTemplates(templatePaths);

View File

@ -1,4 +1,4 @@
import { EcrymeUtility } from "./ecryme-utility.js";
import { EcrymeUtility } from "../common/ecryme-utility.js";
export class EcrymeRollDialog extends Dialog {

View File

@ -11,13 +11,12 @@
import { EcrymeActor } from "./actors/ecryme-actor.js";
import { EcrymeItemSheet } from "./items/ecryme-item-sheet.js";
import { EcrymeActorSheet } from "./actors/ecryme-actor-sheet.js";
import { EcrymeNPCSheet } from "./actors/ecryme-npc-sheet.js";
import { EcrymeUtility } from "./common/ecryme-utility.js";
import { EcrymeCombat } from "./app/ecryme-combat.js";
import { EcrymeItem } from "./items/ecryme-item.js";
import { EcrymeHotbar } from "./app/ecryme-hotbar.js"
import { EcrymeCharacterSummary } from "./app/ecryme-summary-app.js"
import { MALEFICES_CONFIG } from "./common/ecryme-config.js"
import { ECRYME_CONFIG } from "./common/ecryme-config.js"
/* -------------------------------------------- */
/* Foundry VTT Initialization */
@ -58,8 +57,8 @@ Hooks.once("init", async function () {
/* -------------------------------------------- */
// Register sheet application classes
Actors.unregisterSheet("core", ActorSheet);
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["personnage"], makeDefault: true });
Actors.registerSheet("fvtt-ecryme", EcrymeNPCSheet, { types: ["pnj"], makeDefault: false });
Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["pc"], makeDefault: true });
//Actors.registerSheet("fvtt-ecryme", EcrymeNPCSheet, { types: ["pnj"], makeDefault: false });
Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("fvtt-ecryme", EcrymeItemSheet, { makeDefault: true });

View File

@ -1,4 +1,4 @@
import { EcrymeUtility } from "./common/ecryme-utility.js";
import { EcrymeUtility } from "../common/ecryme-utility.js";
/**
* Extend the basic ItemSheet with some very simple modifications

View File

@ -1,4 +1,4 @@
import { EcrymeUtility } from "./ecryme-utility.js";
import { EcrymeUtility } from "../common/ecryme-utility.js";
export const defaultItemImg = {
weapon: "systems/fvtt-ecryme/images/icons/weapon.webp",

View File

@ -80,7 +80,7 @@
input:hover, select:hover {
border-width: 4px;
border-color: rgb(85, 65, 130);
border-color: rgba(37, 124, 37, 0.7);
}
input:disabled {
@ -403,7 +403,7 @@ li.folder > .folder-header h3 {
/* Sheet */
.window-app.sheet .window-content .sheet-header{
color: rgba(19, 18, 18, 0.95);
background: url("../images/ui/background_01_clear.webp");
background: url("../images/ui/fond_carnet_01.webp");
/*background: #494e6b;*/
}
@ -425,7 +425,7 @@ select {
.window-app.sheet .window-content .sheet-header input[type="password"], .window-app.sheet .window-content .sheet-header input[type="date"], .window-app.sheet .window-content .sheet-header input[type="time"] {
color: rgba(19, 18, 18, 0.95);
background: url("../images/ui/background_01_clear.webp");
background: url("../images/ui/fond_carnet_01.webp");
border: 1 none;
margin-bottom: 0.25rem;
margin-left: 2px;
@ -433,7 +433,7 @@ select {
.window-app.sheet .window-content .sheet-body input[type="password"], .window-app.sheet .window-content .sheet-body input[type="date"], .window-app.sheet .window-content .sheet-body input[type="time"] {
color: rgba(19, 18, 18, 0.95);
background: url("../images/ui/background_01_clear.webp");
background: url("../images/ui/fond_carnet_01.webp");
border: 1 none;
margin-bottom: 0.25rem;
margin-left: 2px;
@ -450,7 +450,7 @@ select {
.window-app .window-content, .window-app.sheet .window-content .sheet-body{
font-size: 0.8rem;
/*background: url("../images/ui/pc_sheet_bg.webp") repeat left top;*/
background: url("../images/ui/background_01_clear.webp");
background: url("../images/ui/fond_carnet_01.webp");
color: rgba(19, 18, 18, 0.95);
}
@ -473,7 +473,7 @@ section.sheet-body{padding: 0.25rem 0.5rem;}
margin: 0;
padding: 0 0 0 0.25rem;
text-align: center;
text-transform: uppercase;
/*text-transform: uppercase;*/
line-height: 1.5rem;
border-top: 0 none;
border-bottom: 0 none;
@ -799,7 +799,7 @@ ul, li {
background-color:#f5f5f5;
background-position: 0px 35px;
background-repeat: no-repeat;
background-image: url("../images/ui/background_01_clear.webp");
background-image: url("../images/ui/fond_carnet_01.webp");
color: rgba(19, 18, 18, 0.95);
}
@ -1155,15 +1155,15 @@ ul, li {
color: #CCC
}
#pause > img {
content: url(../images/ui/logo_pause.webp);
content: url(../images/ui/ecryme_logo_small_01.webp);
height: 200px;
width: 200px;
top: -100px;
top: -200px;
left: calc(50% - 132px);
}
#logo {
content : url(../images/ui/logo_pause.webp);
content : url(../images/ui/ecryme_logo_small_01.webp);
width: 100px;
height: 60px;
}
@ -1311,17 +1311,6 @@ ul, li {
max-width: 16px;
max-height: 12px;
}
.flip-tarot {
transform: scaleY(-1);
}
.tarot-fixed-width {
width: 140px;
max-width: 140px;
}
.tarot-title {
text-align: center;
font-weight: bold;
}
.character-summary-rollable {
text-decoration: underline;
}

View File

@ -4,7 +4,7 @@
"modules/ecryme-main.js"
],
"gridDistance": 1,
"gridUnits": "u",
"gridUnits": "m",
"languages": [
{
"lang": "fr",
@ -42,7 +42,7 @@
],
"title": "Ecryme, le Jeu de Rôles",
"url": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme",
"version": "10.0.0",
"version": "10.0.3",
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-ecryme/archive/fvtt-ecryme-v10.0.0.zip",
"background": "systems/fvtt-ecryme/images/ui/accueil_01.webp"
}

View File

@ -1,7 +1,7 @@
{
"Actor": {
"types": [
"personnage"
"pc"
],
"templates": {
"biodata": {
@ -122,7 +122,7 @@
"description": ""
}
},
"personnage": {
"pc": {
"templates": [
"biodata",
"core"
@ -130,50 +130,53 @@
}
},
"Item": {
"types": ["item", "trait", "weapon", "scar", "specialization","annency", "boheme", "contact"],
"types": ["equipment", "trait", "weapon", "scar", "specialization","annency", "boheme", "contact"],
"templates": {
"base": {
"common": {
"description": ""
},
"equipement": {
"weight": 0,
"cost": 0,
"costunit": ""
}
},
"item": {
"templates": ["base"],
"equipment": {
"templates": ["common","equipement"],
"quantity": 1,
"weight": 0
},
"trait": {
"templates": ["base"],
"traitype": "basic",
"value": 1,
"min": -2,
"max": 2
"templates": ["common"],
"traitype": "normal",
"level": 1
},
"weapon": {
"templates": ["base"],
"effectLevel": 1
"templates": ["common", "equipement"],
"effect": 0
},
"specialization": {
"templates": ["base"],
"templates": ["common"],
"skillname": ""
},
"scar": {
"templates": ["base"],
"templates": ["common"],
"skillcategory": ["physical", "mental", "social", "cephalie"],
"scarLevel": 1
},
"anence": {
"templates": ["base"],
"annency": {
"templates": ["common"],
"collective": false,
"multiple": false,
"improvements": ""
},
"boheme": {
"templates": ["base"],
"templates": ["common"],
"ideals": "",
"political": ""
},
"contact": {
"templates": ["base"],
"templates": ["common"],
"attitude": "neutral",
"organization": "",
"location":""

View File

@ -1,73 +0,0 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
</div>
</header>
{{> systems/fvtt-ecryme/templates/items/partial-item-nav.hbs}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-ecryme/templates/items/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<div class="tab" data-group="primary">
<ul>
<li class="flexrow">
<label class="item-field-label-long">Type d'arme</label>
<select class="item-field-label-long" type="text" name="system.armetype" value="{{system.armetype}}" data-dtype="String">
{{#select system.armetype}}
{{#each config.armeTypes as |type key| }}
<option value="{{key}}">{{type}}</option>
{{/each}}
{{/select}}
</select>
</li>
<li class="flexrow">
<label class="item-field-label-long">Portee courte (max)</label>
<input type="text" class="item-field-label-short" name="system.porteecourte" value="{{system.porteecourte}}" data-dtype="Number"/>
</li>
<li class="flexrow">
<label class="item-field-label-long">Portee moyenne (max)</label>
<input type="text" class="item-field-label-short" name="system.porteemoyenne" value="{{system.porteemoyenne}}" data-dtype="Number"/>
</li>
<li class="flexrow">
<label class="item-field-label-long">Dommages normaux</label>
<input type="text" class="item-field-label-short" name="system.dommagenormale" value="{{system.dommagenormale}}" data-dtype="Number"/>
</li>
<li class="flexrow">
<label class="item-field-label-long">Dommages particuliers</label>
<input type="text" class="item-field-label-short" name="system.dommagepart" value="{{system.dommagepart}}" data-dtype="Number"/>
</li>
<li class="flexrow">
<label class="item-field-label-long">Critiques Mortels ?</label>
<input type="checkbox" class="item-field-label-short" name="system.dommagecritiquemort" {{checked system.dommagecritiquemort}} />
<label class="item-field-label-short">&nbsp;</label>
<label class="item-field-label-long">Critiques KO ?</label>
<input type="checkbox" class="item-field-label-short" name="system.dommagecritiqueKO" {{checked system.dommagecritiqueKO}} />
</li>
<li class="flexrow">
<label class="item-field-label-long">Dommages critiques</label>
<input type="text" class="item-field-label-short" name="system.dommagecritique" value="{{system.dommagecritique}}" data-dtype="Number"/>
</li>
</ul>
</div>
</div>
</section>
</form>

View File

@ -0,0 +1,48 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
</div>
</header>
{{> systems/fvtt-ecryme/templates/items/partial-item-nav.hbs}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-ecryme/templates/items/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<div class="tab" data-group="primary">
<ul>
<li class="flexrow">
<label class="item-name-label-long field-align-top">{{localize "ECRY.ui.traitType"}}</label>
<select class="item-field-label-medium" type="text" name="system.traitype" value="{{system.traitype}}" data-dtype="String">
{{#select system.traitype}}
{{#each config.traitTypes as |type key| }}
<option value="{{key}}">{{type}}</option>
{{/each}}
{{/select}}
</select>
</li>
<li class="flexrow">
<label class="item-name-label-long">{{localize "ECRY.ui.niveauTrait"}}</label>
<select class="item-field-label-medium" type="text" name="system.level" value="{{system.level}}" data-dtype="Number">
{{#select system.level}}
{{#each config.traitLevel as |level key| }}
<option value="{{level.value}}">{{level.text}}</option>
{{/each}}
{{/select}}
</select>
</li>
</ul>
</div>
</div>
</section>
</form>

View File

@ -0,0 +1,34 @@
<form class="{{cssClass}}" autocomplete="off">
<header class="sheet-header">
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
<div class="header-fields">
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
</div>
</header>
{{> systems/fvtt-ecryme/templates/items/partial-item-nav.hbs}}
{{!-- Sheet Body --}}
<section class="sheet-body">
{{> systems/fvtt-ecryme/templates/items/partial-item-description.hbs}}
<div class="tab details" data-group="primary" data-tab="details">
<div class="tab" data-group="primary">
<ul>
<li class="flexrow">
<label class="item-field-label-long">{{localize "ECRY.ui.effect"}}</label>
<input type="text" class="item-field-label-short" name="system.effect" value="{{system.effect}}" data-dtype="Number"/>
</li>
{{> systems/fvtt-ecryme/templates/items/partial-item-equipment.hbs}}
</ul>
</div>
</div>
</section>
</form>

View File

@ -0,0 +1,18 @@
<li class="flexrow">
<label class="item-field-label-long">{{localize "ECRY.ui.weight"}}</label>
<input type="text" class="item-field-label-short" name="system.weight" value="{{system.weight}}"
data-dtype="Number" />
</li>
<li class="flexrow">
<label class="item-field-label-long">{{localize "ECRY.ui.cost"}}</label>
<input type="text" class="item-field-label-short" name="system.cost" value="{{system.cost}}" data-dtype="Number" />
<select class="item-field-label-medium" type="text" name="system.costunit" value="{{system.costunit}}" data-dtype="Number">
{{#select system.costunit}}
{{#each config.costUnits as |unit key| }}
<option value="{{key}}">{{localize unit.name}}</option>
{{/each}}
{{/select}}
</select>
</li>