gestion de l'age

This commit is contained in:
François-Xavier Guillois
2023-08-30 10:33:26 +02:00
parent 9182d12dba
commit f605cd14d6
17 changed files with 100 additions and 34 deletions
Binary file not shown.

Before

Width:  |  Height:  |  Size: 111 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 275 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 116 KiB

After

Width:  |  Height:  |  Size: 116 KiB

+5 -1
View File
@@ -53,7 +53,11 @@
"active": { "name": "Actif"},
"passive": { "name": "Passif"}
},
"AGE_TYPES": {
"young": "Jeune",
"adult": "Adulte",
"old": "Vieux"
},
"IDENTITY": {
"name": "Nom",
"height": "Taille",
+32
View File
@@ -159,6 +159,24 @@ export class VermineCharacterSheet extends VermineActorSheet {
// Rollable abilities.
html.find('.rollable').click(this._onRoll.bind(this));
// Rollable abilities.
html.find('input[name="system.identity.age"]').change(ev => {
const age = parseInt(ev.target.value,10);
let ageType = "2";
Object.keys(CONFIG.VERMINE.AgeTypes).forEach((type) => {
if(age > parseInt(CONFIG.VERMINE.AgeTypes[type].beginning,10)){
ageType = type;
}
});
this.actor.update({ 'system.identity.ageType': ageType });
});
// Choose Totem
html.find('.changeTotem').click(this._onTotemButton.bind(this));
// Drag events for macros.
if (this.actor.isOwner) {
let handler = ev => this._onDragStart(ev);
@@ -243,4 +261,18 @@ export class VermineCharacterSheet extends VermineActorSheet {
}
}
/**
* Handle clickable rolls.
* @param {Event} event The originating click event
* @private
*/
_onTotemButton(event) {
event.preventDefault();
const element = event.currentTarget;
const dataset = element.dataset;
console.log('on va ouvrir une dialog box totem');
}
}
+5
View File
@@ -5,6 +5,11 @@ export const VERMINE = {};
* @type {Object}
*/
VERMINE.AgeTypes = {
1:{ "name":"AGE_TYPES.young", "beginning": 0 },
2:{ "name":"AGE_TYPES.adult", "beginning": 16 },
3:{ "name":"AGE_TYPES.old", "beginning": 45 }
}
VERMINE.SkillLevels = {
1:{ "label":"VERMINE.skill_level.beginner", "dicePool":1, "reroll":0},
+1 -1
View File
@@ -82,7 +82,7 @@
NoD += 1;
}
if (formData.abilityScore == 0){
alert('veuillez saisir une caractéristique');
ui.notifications.notify(`veuillez saisir une caractéristique`);
} else return game.vermine2047.VermineRoll.roll(data.actorId, data.label, NoD, Reroll, data);
}
},
-1
View File
@@ -1,6 +1,5 @@
import { VERMINE } from "./config.mjs";
import { getActorSkillScore,updateActorSkillScore } from "./functions.mjs";
import { CombatResultDialog } from "./dialogs.mjs";
export class VermineFight {
+14
View File
@@ -71,6 +71,20 @@ export const registerHandlebarsHelpers = function () {
});
// return age type information
Handlebars.registerHelper('ageType', function (property, level, options) {
if (level < 1 || level > 3)
return "";
let ageData = CONFIG.VERMINE.AgeTypes[level];
if (property == 'name'){
return (ageData !== undefined) ? game.i18n.localize(ageData[property]) : "";
} else {
return (ageData !== undefined) ? ageData[property] : "";
}
});
Handlebars.registerHelper('getCombatTrackerColor', function (isPlayer, isNpc) {
if (isPlayer) return "player";
if (isNpc) return "npc";
+3 -3
View File
@@ -66,18 +66,18 @@ Hooks.once('init', async function() {
Actors.registerSheet('vermine2047', VermineCreatureSheet, {
types: ['creature'],
makeDefault: true,
}); // Register vehicle Sheet
});
Actors.registerSheet('vermine2047', VermineGroupSheet, {
types: ['group'],
makeDefault: true,
}); // Register vehicle Sheet
});
Items.unregisterSheet("core", ItemSheet);
Items.registerSheet("vermine2047", VermineItemSheet, { makeDefault: true });
registerHandlebarsHelpers(); // Register Handlebars helpers
registerHooks(); // register Hooks
registerSettings(); // register Engrenages Settings
registerSettings(); // register Vermine Settings
// Preload Handlebars templates.
return preloadHandlebarsTemplates();
+1
View File
@@ -27,6 +27,7 @@
"weight": 0,
"totem": "",
"age": 15,
"ageType": 2,
"profile": "",
"origin": "",
"theme": "",
+1 -1
View File
@@ -28,7 +28,7 @@
{{#if (eq skill.rarity 1)}}<sup>(I)</sup>{{/if}}{{#if (eq skill.rarity 2)}}<sup>(II)</sup>{{/if}}</label>
<span class="die d10 pool" title="pool">{{ skillLevel "dicePool" skill.value }}</span>
<span class="die d10 reroll" title="reroll">{{ skillLevel "reroll" skill.value }}</span>
<input type="number" name="system.skills.{{skey}}.value" value="{{skill.value}}" class="skill" data-dtype="Number" min="1" max="5" />
<input type="number" name="system.skills.{{skey}}.value" value="{{skill.value}}" class="skill" data-dtype="Number" min="0" max="5" />
</div>
{{/if}}
{{/each}}
+6 -3
View File
@@ -12,14 +12,17 @@
<div class="flexrow flex-group-center">
<label for="system.identity.age">{{ localize 'IDENTITY.age' }}</label>
<input type="number" name="system.identity.age" value="{{ system.identity.age }}" data-dtype="Number"/>
<span id="ageType">({{ ageType "name" system.identity.ageType }})</span>
</div>
</section>
<section class="char-level">
<div class="char-vermine2047 flexrow flex-group-left">
<label for="system.identity.totem">{{ localize 'IDENTITY.totem' }}</label>
<select name="system.identity.totem" class="w-full">
{{selectOptions config.totems selected=system.identity.totem localize=true}}
</select>
{{#if (eq system.identity.totem "")}}
<a name="chooseTotem" class="chooseTotem">Choisissez votre totem</button>
{{ else }}
<a name="chooseTotem" class="chooseTotem 2">{{ system.identity.totem }}</button>
{{/if}}
</div>
<div class="reputation flexrow flex-group-center">
<label>{{ localize 'VERMINE.reputation' }}</label>
+8
View File
@@ -0,0 +1,8 @@
<div class="totem choose">
<div class="flexrow row mdb">
<label for="system.identity.totem">{{ localize 'IDENTITY.totem' }}</label>
<select name="system.identity.totem" class="w-full">
{{selectOptions config.totems selected=system.identity.totem localize=true}}
</select>
</div>
</div>