npc sheet
This commit is contained in:
+39
-6
@@ -76,6 +76,25 @@
|
||||
"morale_level": "Niveau de moral",
|
||||
"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": {
|
||||
"name": "Vermine",
|
||||
"stats": "Statistiques",
|
||||
@@ -163,6 +182,26 @@
|
||||
"will":{ "name": "Volonté"},
|
||||
"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_toggle": "Toggle Effect",
|
||||
@@ -171,12 +210,6 @@
|
||||
|
||||
"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": {
|
||||
"human": {
|
||||
"name": "L'Humain",
|
||||
|
||||
@@ -12,11 +12,11 @@ VERMINE.AgeTypes = {
|
||||
}
|
||||
|
||||
VERMINE.SkillLevels = {
|
||||
1:{ "label":"VERMINE.skill_level.beginner", "dicePool":1, "reroll":0},
|
||||
2:{ "label":"VERMINE.skill_level.proficient", "dicePool":1, "reroll":1},
|
||||
3:{ "label":"VERMINE.skill_level.expert", "dicePool":2, "reroll":1},
|
||||
4:{ "label":"VERMINE.skill_level.master", "dicePool":2, "reroll":2},
|
||||
5:{ "label":"VERMINE.skill_level.legend", "dicePool":3, "reroll":2}
|
||||
1:{ "label":"SKILL_LEVELS.beginner", "dicePool":1, "reroll":0},
|
||||
2:{ "label":"SKILL_LEVELS.proficient", "dicePool":1, "reroll":1},
|
||||
3:{ "label":"SKILL_LEVELS.expert", "dicePool":2, "reroll":1},
|
||||
4:{ "label":"SKILL_LEVELS.master", "dicePool":2, "reroll":2},
|
||||
5:{ "label":"SKILL_LEVELS.legend", "dicePool":3, "reroll":2}
|
||||
}
|
||||
|
||||
VERMINE.DifficultyLevels = {
|
||||
@@ -27,6 +27,27 @@ VERMINE.DifficultyLevels = {
|
||||
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 = {
|
||||
"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
|
||||
Handlebars.registerHelper('skillLevel', function (property, level, options) {
|
||||
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 --}}
|
||||
<header class="sheet-header">
|
||||
<img class="profile-img" src="{{actor.img}}" data-edit="img" title="{{actor.name}}" height="100" width="100"/>
|
||||
<div class="header-fields">
|
||||
<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">
|
||||
|
||||
{{!-- "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">
|
||||
<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">
|
||||
<input type="text" name="system.health.value" value="{{system.health.value}}" data-dtype="Number"/>
|
||||
<span> / </span>
|
||||
<input type="text" name="system.health.max" value="{{system.health.max}}" data-dtype="Number"/>
|
||||
<input type="number" name="system.threat.value" value="{{system.threat.value}}" data-dtype="Number" min="1" max="4" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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">
|
||||
<input type="text" name="system.power.value" value="{{system.power.value}}" data-dtype="Number"/>
|
||||
<span> / </span>
|
||||
<input type="text" name="system.power.max" value="{{system.power.max}}" data-dtype="Number"/>
|
||||
<input type="number" name="system.experience.value" value="{{system.experience.value}}" data-dtype="Number" min="1" max="4" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<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">
|
||||
<input type="text" name="system.cr" value="{{system.cr}}" data-dtype="Number"/>
|
||||
<span> / </span>
|
||||
<input type="text" disabled="true" name="system.xp" value="{{system.xp}}" data-dtype="Number"/>
|
||||
<input type="number" name="system.role.value" value="{{system.role.value }}" data-dtype="Number" min="1" max="4"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -57,8 +44,42 @@
|
||||
|
||||
{{!-- Biography Tab --}}
|
||||
<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. --}}
|
||||
{{editor system.biography target="system.biography" rollData=rollData button=true owner=owner editable=editable}}
|
||||
<section class="grid grid-3col gap-md">
|
||||
<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>
|
||||
|
||||
{{!-- Owned Items Tab --}}
|
||||
|
||||
Reference in New Issue
Block a user