npc sheet
This commit is contained in:
+39
-6
@@ -76,6 +76,25 @@
|
|||||||
"morale_level": "Niveau de moral",
|
"morale_level": "Niveau de moral",
|
||||||
"notes": "Notes"
|
"notes": "Notes"
|
||||||
},
|
},
|
||||||
|
"ADVERSITY": {
|
||||||
|
"threat": "Menace",
|
||||||
|
"experience": "Expérience",
|
||||||
|
"role": "Rôle",
|
||||||
|
"attack": "Attaque",
|
||||||
|
"damage": "Dommages",
|
||||||
|
"weapon": "Arme",
|
||||||
|
"vigor": "Vigueur",
|
||||||
|
"wounds": "Blessures",
|
||||||
|
"action": "Action",
|
||||||
|
"specialties": "Spécialité",
|
||||||
|
"rerolls": "Relances",
|
||||||
|
"contact": "Contact",
|
||||||
|
"reaction": "Réaction",
|
||||||
|
"pools":"Réserves",
|
||||||
|
"gear": "Matériel",
|
||||||
|
"protection": "Protection"
|
||||||
|
},
|
||||||
|
|
||||||
"VERMINE": {
|
"VERMINE": {
|
||||||
"name": "Vermine",
|
"name": "Vermine",
|
||||||
"stats": "Statistiques",
|
"stats": "Statistiques",
|
||||||
@@ -163,6 +182,26 @@
|
|||||||
"will":{ "name": "Volonté"},
|
"will":{ "name": "Volonté"},
|
||||||
"empathy":{ "name": "Empathie"}
|
"empathy":{ "name": "Empathie"}
|
||||||
},
|
},
|
||||||
|
"SKILLS_LEVELS": {
|
||||||
|
"beginner": "Débutant",
|
||||||
|
"proficient": "Confirmé",
|
||||||
|
"expert":"Expert",
|
||||||
|
"master":"Maître",
|
||||||
|
"legend":"Légende"
|
||||||
|
},
|
||||||
|
"THREAT_LEVELS": {
|
||||||
|
"minor": "Mineure",
|
||||||
|
"serious": "Sérieuse",
|
||||||
|
"major":"Majeure",
|
||||||
|
"deadly":"Mortelle"
|
||||||
|
},
|
||||||
|
"ROLE_LEVELS": {
|
||||||
|
"minor": "Mineur",
|
||||||
|
"secondaray": "Secondaire",
|
||||||
|
"important":"Important",
|
||||||
|
"major":"Majeur"
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
"VERMINE.effect_treate": "Create Effect",
|
"VERMINE.effect_treate": "Create Effect",
|
||||||
"VERMINE.effect_toggle": "Toggle Effect",
|
"VERMINE.effect_toggle": "Toggle Effect",
|
||||||
@@ -171,12 +210,6 @@
|
|||||||
|
|
||||||
"VERMINE.Add": "Ajouter",
|
"VERMINE.Add": "Ajouter",
|
||||||
|
|
||||||
"VERMINE.skill_level.beginner": "Débutant",
|
|
||||||
"VERMINE.skill_level.proficient": "Confirmé",
|
|
||||||
"VERMINE.skill_level.expert": "Expert",
|
|
||||||
"VERMINE.skill_level.master": "Maître",
|
|
||||||
"VERMINE.skill_level.legend": "Légende",
|
|
||||||
|
|
||||||
"TOTEMS": {
|
"TOTEMS": {
|
||||||
"human": {
|
"human": {
|
||||||
"name": "L'Humain",
|
"name": "L'Humain",
|
||||||
|
|||||||
@@ -12,11 +12,11 @@ VERMINE.AgeTypes = {
|
|||||||
}
|
}
|
||||||
|
|
||||||
VERMINE.SkillLevels = {
|
VERMINE.SkillLevels = {
|
||||||
1:{ "label":"VERMINE.skill_level.beginner", "dicePool":1, "reroll":0},
|
1:{ "label":"SKILL_LEVELS.beginner", "dicePool":1, "reroll":0},
|
||||||
2:{ "label":"VERMINE.skill_level.proficient", "dicePool":1, "reroll":1},
|
2:{ "label":"SKILL_LEVELS.proficient", "dicePool":1, "reroll":1},
|
||||||
3:{ "label":"VERMINE.skill_level.expert", "dicePool":2, "reroll":1},
|
3:{ "label":"SKILL_LEVELS.expert", "dicePool":2, "reroll":1},
|
||||||
4:{ "label":"VERMINE.skill_level.master", "dicePool":2, "reroll":2},
|
4:{ "label":"SKILL_LEVELS.master", "dicePool":2, "reroll":2},
|
||||||
5:{ "label":"VERMINE.skill_level.legend", "dicePool":3, "reroll":2}
|
5:{ "label":"SKILL_LEVELS.legend", "dicePool":3, "reroll":2}
|
||||||
}
|
}
|
||||||
|
|
||||||
VERMINE.DifficultyLevels = {
|
VERMINE.DifficultyLevels = {
|
||||||
@@ -27,6 +27,27 @@ VERMINE.DifficultyLevels = {
|
|||||||
5:{ "label":"DIFFICULTY_LEVELS.impossible", "difficulty":10}
|
5:{ "label":"DIFFICULTY_LEVELS.impossible", "difficulty":10}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
VERMINE.ThreatLevels = {
|
||||||
|
1:{ "label":"THREAT_LEVELS.minor", "attack":3, "vigor":1, "minorWound":1, "majorWound":1, "deadlyWound":1},
|
||||||
|
2:{ "label":"THREAT_LEVELS.serious", "attack":4, "vigor":2, "minorWound":2, "majorWound":1, "deadlyWound":1},
|
||||||
|
3:{ "label":"THREAT_LEVELS.major", "attack":5, "vigor":3, "minorWound":2, "majorWound":1, "deadlyWound":1},
|
||||||
|
4:{ "label":"THREAT_LEVELS.deadly", "attack":6, "vigor":4, "minorWound":2, "majorWound":2, "deadlyWound":2},
|
||||||
|
}
|
||||||
|
|
||||||
|
VERMINE.ExperienceLevels = {
|
||||||
|
1:{ "label":"SKILL_LEVELS.beginner", "action":3, "specialties":4, "rerolls":0, "contact":"7"},
|
||||||
|
2:{ "label":"SKILL_LEVELS.proficient", "action":3, "specialties":5, "rerolls":0, "contact":"5 ou 7"},
|
||||||
|
3:{ "label":"SKILL_LEVELS.expert", "action":4, "specialties":6, "rerolls":1, "contact":"5,7 ou 9"},
|
||||||
|
4:{ "label":"SKILL_LEVELS.master", "action":4, "specialties":6, "rerolls":2, "contact":"3,5,7 ou 9"},
|
||||||
|
}
|
||||||
|
|
||||||
|
VERMINE.RoleLevels = {
|
||||||
|
1:{ "label":"ROLE_LEVELS.minor", "reaction":3, "reaction_bonus":0, "pools":0, "gear":9, "gear_hindrance":0, "protection":1},
|
||||||
|
2:{ "label":"ROLE_LEVELS.secondary", "reaction":3,"reaction_bonus":1, "pools":1, "gear":9,"gear_hindrance":1, "protection":2},
|
||||||
|
3:{ "label":"ROLE_LEVELS.important", "reaction":3, "reaction_bonus":2, "pools":2, "gear":9,"gear_hindrance":2, "protection":3},
|
||||||
|
4:{ "label":"ROLE_LEVELS.major", "reaction":4, "reaction_bonus":2, "pools":4, "gear":10, "gear_hindrance":2, "protection":3},
|
||||||
|
}
|
||||||
|
|
||||||
VERMINE.abilityCategories = {
|
VERMINE.abilityCategories = {
|
||||||
"physical": {
|
"physical": {
|
||||||
"label":"VERMINE.ability_category.physical"
|
"label":"VERMINE.ability_category.physical"
|
||||||
|
|||||||
@@ -61,6 +61,42 @@ export const registerHandlebarsHelpers = function () {
|
|||||||
|
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// return threat level information
|
||||||
|
Handlebars.registerHelper('threatLevel', function (property, level, options) {
|
||||||
|
if (level < 1 || level > 5)
|
||||||
|
return "";
|
||||||
|
let levelData = CONFIG.VERMINE.ThreatLevels[level];
|
||||||
|
if (property == 'label'){
|
||||||
|
return (levelData !== undefined) ? game.i18n.localize(levelData[property]) : "";
|
||||||
|
} else {
|
||||||
|
return (levelData !== undefined) ? levelData[property] : "";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// return experience level information
|
||||||
|
Handlebars.registerHelper('experienceLevel', function (property, level, options) {
|
||||||
|
if (level < 1 || level > 5)
|
||||||
|
return "";
|
||||||
|
let levelData = CONFIG.VERMINE.ExperienceLevels[level];
|
||||||
|
if (property == 'label'){
|
||||||
|
return (levelData !== undefined) ? game.i18n.localize(levelData[property]) : "";
|
||||||
|
} else {
|
||||||
|
return (levelData !== undefined) ? levelData[property] : "";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// return role level information
|
||||||
|
Handlebars.registerHelper('roleLevel', function (property, level, options) {
|
||||||
|
if (level < 1 || level > 5)
|
||||||
|
return "";
|
||||||
|
let levelData = CONFIG.VERMINE.RoleLevels[level];
|
||||||
|
if (property == 'label'){
|
||||||
|
return (levelData !== undefined) ? game.i18n.localize(levelData[property]) : "";
|
||||||
|
} else {
|
||||||
|
return (levelData !== undefined) ? levelData[property] : "";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// return skill level information
|
// return skill level information
|
||||||
Handlebars.registerHelper('skillLevel', function (property, level, options) {
|
Handlebars.registerHelper('skillLevel', function (property, level, options) {
|
||||||
if (level < 1 || level > 5)
|
if (level < 1 || level > 5)
|
||||||
|
|||||||
@@ -1,42 +1,29 @@
|
|||||||
<form class="{{cssClass}} {{actor.type}} flexcol" autocomplete="off">
|
<form class="{{cssClass}} {{actor.type}} flexcol form" autocomplete="off">
|
||||||
|
|
||||||
{{!-- Sheet Header --}}
|
{{!-- Sheet Header --}}
|
||||||
<header class="sheet-header">
|
<header class="sheet-header">
|
||||||
<img class="profile-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" height="100" width="100"/>
|
<img class="profile-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" height="100" width="100"/>
|
||||||
<div class="header-fields">
|
<div class="header-fields">
|
||||||
<h1 class="charname"><input name="name" type="text" value="{{actor.name}}" placeholder="Name"/></h1>
|
<h1 class="charname"><input name="name" type="text" value="{{actor.name}}" placeholder="Name"/></h1>
|
||||||
{{!-- The grid classes are defined in scss/global/_grid.scss. To use,
|
|
||||||
use both the "grid" and "grid-Ncol" class where "N" can be any number
|
|
||||||
from 1 to 12 and will create that number of columns. --}}
|
|
||||||
<div class="resources grid grid-3col">
|
<div class="resources grid grid-3col">
|
||||||
|
|
||||||
{{!-- "flex-group-center" is also defined in the _grid.scss file
|
|
||||||
and it will add a small amount of padding, a border, and will
|
|
||||||
center all of its child elements content and text. --}}
|
|
||||||
<div class="resource flex-group-center">
|
<div class="resource flex-group-center">
|
||||||
<label for="system.health.value" class="resource-label">Health</label>
|
<label for="system.threat.value" class="resource-label">{{ localize 'ADVERSITY.threat'}}</label>
|
||||||
<div class="resource-content flexrow flex-center flex-between">
|
<div class="resource-content flexrow flex-center flex-between">
|
||||||
<input type="text" name="system.health.value" value="{{system.health.value}}" data-dtype="Number"/>
|
<input type="number" name="system.threat.value" value="{{system.threat.value}}" data-dtype="Number" min="1" max="4" />
|
||||||
<span> / </span>
|
|
||||||
<input type="text" name="system.health.max" value="{{system.health.max}}" data-dtype="Number"/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="resource flex-group-center">
|
<div class="resource flex-group-center">
|
||||||
<label for="system.power.value" class="resource-label">Power</label>
|
<label for="system.experience.value" class="resource-label">{{ localize 'ADVERSITY.experience'}}</label>
|
||||||
<div class="resource-content flexrow flex-center flex-between">
|
<div class="resource-content flexrow flex-center flex-between">
|
||||||
<input type="text" name="system.power.value" value="{{system.power.value}}" data-dtype="Number"/>
|
<input type="number" name="system.experience.value" value="{{system.experience.value}}" data-dtype="Number" min="1" max="4" />
|
||||||
<span> / </span>
|
|
||||||
<input type="text" name="system.power.max" value="{{system.power.max}}" data-dtype="Number"/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="resource flex-group-center">
|
<div class="resource flex-group-center">
|
||||||
<label for="system.cr" class="resource-label">CR / XP</label>
|
<label for="system.cr" class="resource-label">{{ localize 'ADVERSITY.role'}}</label>
|
||||||
<div class="resource-content flexrow flex-center flex-between">
|
<div class="resource-content flexrow flex-center flex-between">
|
||||||
<input type="text" name="system.cr" value="{{system.cr}}" data-dtype="Number"/>
|
<input type="number" name="system.role.value" value="{{system.role.value }}" data-dtype="Number" min="1" max="4"/>
|
||||||
<span> / </span>
|
|
||||||
<input type="text" disabled="true" name="system.xp" value="{{system.xp}}" data-dtype="Number"/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@@ -57,8 +44,42 @@
|
|||||||
|
|
||||||
{{!-- Biography Tab --}}
|
{{!-- Biography Tab --}}
|
||||||
<div class="tab biography" data-group="primary" data-tab="description">
|
<div class="tab biography" data-group="primary" data-tab="description">
|
||||||
{{!-- If you want TinyMCE editors to output inline rolls when rendered, you need to pass the actor's roll data to the rollData property. --}}
|
<section class="grid grid-3col gap-md">
|
||||||
{{editor system.biography target="system.biography" rollData=rollData button=true owner=owner editable=editable}}
|
<div class="mdb">
|
||||||
|
<h4 class="align-center">{{ localize 'ADVERSITY.threat'}}</h4>
|
||||||
|
<ul class="unstyled">
|
||||||
|
<li>{{ localize 'ADVERSITY.attack'}} {{ threatLevel "attack" system.threat.value }}</li>
|
||||||
|
<li><input type="text" name="system.identity.skills" value="{{ system.identity.skills }}" data-dtype="String"/></li>
|
||||||
|
<li>{{ localize 'ADVERSITY.damage'}}</li>
|
||||||
|
<li>{{ localize 'ADVERSITY.weapon'}}</li>
|
||||||
|
<li>{{ localize 'ADVERSITY.vigor'}} {{ threatLevel "vigor" system.threat.value }}</li>
|
||||||
|
<li>{{ localize 'ADVERSITY.wounds'}} {{ threatLevel "minorWound" system.threat.value }}/{{ threatLevel "majorWound" system.threat.value }}/{{ threatLevel "deadlyWound" system.threat.value }}</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="mdb">
|
||||||
|
<h4 class="align-center">{{ localize 'ADVERSITY.experience'}}</h4>
|
||||||
|
<ul class="unstyled">
|
||||||
|
<li>{{ localize 'ADVERSITY.action'}} {{ experienceLevel "action" system.experience.value }}</li>
|
||||||
|
<li>{{ localize 'ADVERSITY.specialties'}} {{ experienceLevel "specialties" system.experience.value }}</li>
|
||||||
|
<li>{{ localize 'ADVERSITY.rerolls'}} {{ experienceLevel "rerolls" system.experience.value }}</li>
|
||||||
|
<li>{{ localize 'ADVERSITY.contact'}} {{ experienceLevel "contact" system.experience.value }}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div class="mdb">
|
||||||
|
<h4 class="align-center">{{ localize 'ADVERSITY.role'}}</h4>
|
||||||
|
<ul class="unstyled">
|
||||||
|
<li>{{ localize 'ADVERSITY.reaction'}} {{ roleLevel "reaction" system.role.value }} + {{ roleLevel "reaction_bonus" system.role.value }}</li>
|
||||||
|
<li>{{ localize 'ADVERSITY.pools'}} {{ roleLevel "pools" system.role.value }}</li>
|
||||||
|
<li>{{ localize 'ADVERSITY.gear'}} {{ roleLevel "gear" system.role.value }}</li>
|
||||||
|
<li>{{ localize 'ADVERSITY.protection'}} {{ roleLevel "protection" system.role.value }}</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</section>
|
||||||
|
<section class="grid grid-1col gap-md">
|
||||||
|
<h4 class="align-center">{{ localize 'IDENTITY.notes'}}</h4>
|
||||||
|
{{editor system.biography target="system.biography" button=true owner=owner editable=editable}}
|
||||||
|
</section>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
{{!-- Owned Items Tab --}}
|
{{!-- Owned Items Tab --}}
|
||||||
|
|||||||
Reference in New Issue
Block a user