skill levels

This commit is contained in:
François-Xavier Guillois
2023-08-24 18:21:33 +02:00
parent 165caba564
commit 7aeef29e34
5 changed files with 64 additions and 16 deletions
+22
View File
@@ -347,3 +347,25 @@ ul.unstyled li {
.system-vermine2047 .sheet.actor form nav.sheet-navigation.sheet-tabs {
height:54px;
}
.system-vermine2047 .sheet.actor .ability .die {
display:flex;
width:0.875rem;
height:1rem;
background-image:url(../../../../icons/svg/d10-grey.svg);
background-size: contain;
background-repeat: no-repeat;
background-position: center;
font-size:xx-small;
font-weight: bold;
align-items: center;
justify-content: center;
}
.system-vermine2047 .sheet.actor .ability .die.pool {
filter: sepia(0.5) hue-rotate(60deg);
}
.system-vermine2047 .sheet.actor .ability .die.reroll {
filter: sepia(0.5) hue-rotate(-60deg);
}
+14
View File
@@ -156,6 +156,9 @@ export class VermineCharacterSheet extends VermineActorSheet {
// Active Effect management
html.find(".effect-control").click(ev => onManageActiveEffect(ev, this.actor));
// test print dice
// html.find(".skill").change(ev => this.printSkillLevels(ev, this.actor));
// Rollable abilities.
html.find('.rollable').click(this._onRoll.bind(this));
@@ -170,6 +173,17 @@ export class VermineCharacterSheet extends VermineActorSheet {
}
}
/*printSkillLevels(event){
const newLevel = event.target.value;
const levelData = CONFIG.VERMINE.SkillLevels[newLevel] || null;
if (levelData != null){
console.log(/*levelData.dicePool, levelData.reroll, game.i18n.localize(levelData.label), * /$(event.target).parent().find('.die.pool').get(0), $(event.target).parent().find('.die.reroll').get(0));
$(event.target).parent().find('.die.pool').text(levelData.dicePool);
$(event.target).parent().find('.die.reroll').text(levelData.reroll);
}
} */
/**
* Handle creating a new Owned Item for the actor using initial data defined in the HTML dataset
* @param {Event} event The originating click event
+13 -12
View File
@@ -11,8 +11,7 @@ VERMINE.SkillLevels = {
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.archmaster", "dicePool":3, "reroll":2},
5:{ "label":"VERMINE.skill_level.legend", "dicePool":3, "reroll":3},
5:{ "label":"VERMINE.skill_level.legend", "dicePool":3, "reroll":2}
}
VERMINE.Instincts = {
@@ -67,16 +66,18 @@ VERMINE.skillCategories = {
VERMINE.sexes = {"male": "VERMINE.sexes.male", "female": "VERMINE.sexes.female"};
VERMINE.totems = {"human":"TOTEMS.human.name",
"predator": "TOTEMS.predator.name" ,
"scavenger": "TOTEMS.scavenger.name" ,
"symbiote": "TOTEMS.symbiote.name" ,
"parasite": "TOTEMS.parasite.name" ,
"builder": "TOTEMS.builder.name" ,
"horde": "TOTEMS.horde.name" ,
"hive": "TOTEMS.hive.name" ,
"loner": "TOTEMS.loner.name",
"adapted": "TOTEMS.adapted.name" }
VERMINE.totems = {
"human":"TOTEMS.human.name",
"predator": "TOTEMS.predator.name" ,
"scavenger": "TOTEMS.scavenger.name" ,
"symbiote": "TOTEMS.symbiote.name" ,
"parasite": "TOTEMS.parasite.name" ,
"builder": "TOTEMS.builder.name" ,
"horde": "TOTEMS.horde.name" ,
"hive": "TOTEMS.hive.name" ,
"loner": "TOTEMS.loner.name",
"adapted": "TOTEMS.adapted.name"
}
VERMINE.origins = {"aon":"Aon",
"avhorae": "Avhorae" ,
+9
View File
@@ -45,4 +45,13 @@ export const registerHandlebarsHelpers = function () {
Handlebars.registerHelper('smarttl', function (arrayLabel,objectLabel, options) {
return game.i18n.localize(arrayLabel +"."+objectLabel+".name");
});
// return skill level information
Handlebars.registerHelper('skillLevel', function (property, level, options) {
if (level < 1 || level > 5)
return "";
let levelData = CONFIG.VERMINE.SkillLevels[level];
return (levelData !== undefined) ? levelData[property] : "";
});
}
+5 -3
View File
@@ -24,9 +24,11 @@
{{#if (eq skill.category sckey) }}
<div class="ability flexrow flex-group-center">
<label style="flex:80%;" for="system.skills.{{skey}}.value" class="resource-label rollable flexlarge align-left" data-roll="+@skills.{{skey}}d10" data-label="{{ smarttl "SKILLS" skey }}">{{ smarttl "SKILLS" skey }}
{{#if (eq skill.rarity 1)}}<sup>*</sup>{{/if}}{{#if (eq skill.rarity 2)}}<sup>**</sup>{{/if}}</label>
<input type="text" name="system.skills.{{skey}}.value" value="{{skill.value}}" data-dtype="Number"/>
<label style="flex:60%;" for="system.skills.{{skey}}.value" class="resource-label rollable flexlarge align-left" data-roll="+@skills.{{skey}}d10" data-label="{{ smarttl "SKILLS" skey }}">{{ smarttl "SKILLS" skey }}
{{#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="text" name="system.skills.{{skey}}.value" value="{{skill.value}}" class="skill" data-dtype="Number"/>
</div>
{{/if}}
{{/each}}