roll dialog box
This commit is contained in:
+11
-1
@@ -80,10 +80,20 @@ ul.unstyled li {
|
||||
|
||||
.system-vermine2047 .dialog .window-content {
|
||||
background: url(/systems/vermine2047/assets/images/ui/fond_chat_box.webp);
|
||||
padding: 0;
|
||||
padding: 0.5rem;
|
||||
overflow-y: hidden;
|
||||
}
|
||||
|
||||
.window-content .row.smb {
|
||||
margin-bottom:0.25rem;
|
||||
}
|
||||
.window-content .row.mdb {
|
||||
margin-bottom:0.5rem;
|
||||
}
|
||||
.window-content .row.lgb {
|
||||
margin-bottom:1rem;
|
||||
}
|
||||
|
||||
.actor.sheet form .form {
|
||||
display: grid;
|
||||
/*grid:
|
||||
|
||||
@@ -218,14 +218,26 @@ export class VermineCharacterSheet extends VermineActorSheet {
|
||||
|
||||
// Handle rolls that supply the formula directly.
|
||||
if (dataset.label) {
|
||||
dataset.rollType = dataset.type;
|
||||
/*const label = game.i18n.localize(dataset.label) ? `[ability] ${game.i18n.localize(dataset.label)}` : '';
|
||||
console.log($(element).attr('for'));
|
||||
const NoD = this.actor.system.skills[$(element).attr('for').split('.')[2]]?.value || 0
|
||||
return game.vermine2047.VermineRoll.roll(this.actor.id, label, NoD, 0, {});*/
|
||||
let data = {
|
||||
actorId: this.actor.id,
|
||||
abilities: this.actor.system.abilities,
|
||||
skills: this.actor.system.skills,
|
||||
rollType: dataset.rollType,
|
||||
labelKey: dataset.label,
|
||||
abilityScore: 0,
|
||||
skillScore: 0,
|
||||
label: game.i18n.localize(dataset.label)
|
||||
};
|
||||
if (dataset.type == 'ability'){
|
||||
data.abilityScore = this.actor.system.abilities[dataset.label].value;
|
||||
} else if (dataset.type == 'skill'){
|
||||
data.skillScore = this.actor.system.skills[dataset.label].value;
|
||||
}
|
||||
getRollBox(data);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -22,20 +22,6 @@ VERMINE.DifficultyLevels = {
|
||||
5:{ "label":"DIFFICULTY_LEVELS.impossible", "difficulty":10}
|
||||
},
|
||||
|
||||
VERMINE.Instincts = {
|
||||
1:{ "key":"architect"},
|
||||
2:{ "key":"sword"},
|
||||
3:{ "key":"flail"},
|
||||
4:{ "key":"man"},
|
||||
5:{ "key":"keeper"},
|
||||
6:{ "key":"hand"},
|
||||
7:{ "key":"mask"},
|
||||
8:{ "key":"void"},
|
||||
9:{ "key":"bone"},
|
||||
0:{ "key":"traveller"}
|
||||
}
|
||||
|
||||
|
||||
VERMINE.abilityCategories = {
|
||||
"physical": {
|
||||
"label":"VERMINE.ability_category.physical"
|
||||
|
||||
@@ -58,6 +58,7 @@
|
||||
// difficulty
|
||||
data.difficulty = (formData.difficulty != undefined) ? formData.difficulty : 7;
|
||||
// maîtrise bonus
|
||||
// TODO : utiliser la configuration des niveaux de compétences plutôt
|
||||
if (formData.skill > 0 && formData.skill < 3){
|
||||
NoD += 1;
|
||||
} else if (formData.skill > 2 && formData.skill < 5){
|
||||
@@ -97,15 +98,23 @@
|
||||
}
|
||||
},
|
||||
render: function (h) {
|
||||
h.find("#skills-radio input").change(function () {
|
||||
let s = $(this).attr("data-skill");
|
||||
h.find(".trait-list .hidden").removeClass("show");
|
||||
let f = h.find(".trait-list ." + s);
|
||||
f.addClass("show");
|
||||
if (f.length == 0) {
|
||||
h.find(".use-trait input").attr("disabled", "disabled").prop("checked", false);
|
||||
} else
|
||||
h.find(".use-trait input").attr("disabled", null);
|
||||
h.find('select[name="skill"]').change((event) => {
|
||||
if (data.rollType == 'skill' && event.target.value != undefined){
|
||||
const skillScore = data.skills[event.target.value].value;
|
||||
// on enregistre la valeur de la compétence
|
||||
h.find('input[name="skillScore"]').val(skillScore);
|
||||
// on met à jour les infos de niveaux de compétence
|
||||
const skillLevel = CONFIG.VERMINE.SkillLevels[skillScore];
|
||||
if (skillLevel != undefined){
|
||||
h.find('#skillLevel').text(game.i18n.localize(skillLevel.label));
|
||||
h.find('#skillDicePool').text(skillLevel.dicePool);
|
||||
h.find('#skillReroll').text(skillLevel.reroll);
|
||||
} else {
|
||||
h.find('#skillLevel').text('Inconnu');
|
||||
h.find('#skillDicePool').text(0);
|
||||
h.find('#skillReroll').text(0);
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -51,7 +51,11 @@ export const registerHandlebarsHelpers = function () {
|
||||
if (level < 1 || level > 5)
|
||||
return "";
|
||||
let levelData = CONFIG.VERMINE.SkillLevels[level];
|
||||
return (levelData !== undefined) ? levelData[property] : "";
|
||||
if (property == 'label'){
|
||||
return (levelData !== undefined) ? game.i18n.localize(levelData[property]) : "";
|
||||
} else {
|
||||
return (levelData !== undefined) ? levelData[property] : "";
|
||||
}
|
||||
});
|
||||
|
||||
// return diff level information
|
||||
|
||||
@@ -7,8 +7,8 @@
|
||||
{{#each @root.system.abilities as |ability key|}}
|
||||
{{#if (eq ability.category ackey) }}
|
||||
<div class="ability flexcol flex-group-center items-center">
|
||||
<label for="system.abilities.{{key}}.value" class="resource-label rollable flexlarge align-left" data-label="{{ smarttl "ABILITIES" key }}">{{ smarttl "ABILITIES" key }}</label>
|
||||
<input type="text" name="system.abilities.{{key}}.value" value="{{ability.value}}" data-dtype="Number"/>
|
||||
<label for="system.abilities.{{key}}.value" class="resource-label rollable flexlarge align-left" data-type="ability" data-label="{{ key }}">{{ smarttl "ABILITIES" key }}</label>
|
||||
<input type="number" name="system.abilities.{{key}}.value" value="{{ability.value}}" data-dtype="Number" min="1" max="5" />
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
@@ -24,11 +24,11 @@
|
||||
|
||||
{{#if (eq skill.category sckey) }}
|
||||
<div class="ability flexrow flex-group-center">
|
||||
<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 }}
|
||||
<label style="flex:60%;" for="system.skills.{{skey}}.value" class="resource-label rollable flexlarge align-left" data-type="skill" data-label="{{ 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"/>
|
||||
<input type="number" name="system.skills.{{skey}}.value" value="{{skill.value}}" class="skill" data-dtype="Number" min="1" max="5" />
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
|
||||
+40
-21
@@ -1,9 +1,17 @@
|
||||
<form id="dice-pool-form" class="ecryme-dv-form" data-actor-id="{{ speakerId }}">
|
||||
|
||||
<input type="hidden" name="label" id="label" value="{{ label }}" />
|
||||
<input type="hidden" name="rollType" id="rollType" value="{{ rollType }}" />
|
||||
<input type="hidden" name="abilityScore" id="abilityScore" value="{{ abilityScore }}" />
|
||||
<input type="hidden" name="skillScore" id="skillScore" value="{{ skillScore }}" />
|
||||
<div class="dice-pool flexcol">
|
||||
<div class="flexrow row">
|
||||
<div class="flexrow row lgb flex-group-center">
|
||||
<span>Type de jet <strong>{{#if (eq rollType 'skill')}}{{ localize 'VERMINE.skill_title' }}{{else}}{{ localize 'VERMINE.ability' }}{{/if}}</strong></span>
|
||||
<span>{{#if (eq rollType 'skill')}}{{ localize 'VERMINE.skill_title' }}{{else}}{{ localize 'VERMINE.ability' }}{{/if}}
|
||||
<strong>{{#if (eq rollType 'skill')}}{{ smarttl "SKILLS" label }}{{else}}{{ smarttl "ABILITIES" label }}{{/if}}</strong> </span>
|
||||
</div>
|
||||
<div class="flexrow row mdb">
|
||||
<label class="label" style="flex: 60%;">{{localize 'VERMINE.difficulty'}}</label>
|
||||
<select class="info-value" style="max-width: 40%;" name="system.skill" data-dtype="String" type="number" name="difficulty" value="7" id="difficulty" min="3" max="10">
|
||||
<select class="info-value" style="max-width: 40%;" data-dtype="String" type="number" name="difficulty" id="difficulty" min="3" max="10">
|
||||
{{#select difficulty }}
|
||||
<option value="{{ diffLevel 'difficulty' 1}}">{{ diffLevel 'label' 1}} - {{ diffLevel 'difficulty' 1}}</option>
|
||||
<option value="{{ diffLevel 'difficulty' 1}}">{{ diffLevel 'label' 2}} - {{ diffLevel 'difficulty' 2}}</option>
|
||||
@@ -16,37 +24,48 @@
|
||||
<!--div class="flexrow row">
|
||||
<input style="text-align: center;" class="numeric-entry" type="number" name="difficulty" value="7" id="difficulty" min="3" max="10">
|
||||
</div-->
|
||||
<div class="flexrow row">
|
||||
<label class="label" style="flex: 80%;">{{localize 'VERMINE.ability'}}</label>
|
||||
<input type="number" class="numeric-entry" style="text-align: center;" name="ability" id="ability" min="1" max="5" value="2">
|
||||
<div class="flexrow row mdb">
|
||||
<label class="label" style="flex: 60%;">{{localize 'VERMINE.ability'}}</label>
|
||||
<select class="info-value" style="max-width: 40%;" data-dtype="String" type="number" name="ability" id="ability" min="1" max="5">
|
||||
{{#each abilities as |ability key| }}
|
||||
<option value="{{ key }}" {{#if (eq key @root.label)}}selected{{/if}}> {{ smarttl "ABILITIES" key }} - {{ ability.value }}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="flexrow row">
|
||||
<label class="label" style="flex: 80%;">{{localize 'VERMINE.skill_title'}}</label>
|
||||
<input type="number" class="numeric-entry" style="text-align: center;" name="skill" id="skill" required min="0" max="5" {{#if skillScore}}value="{{ skillScore }}"{{else}}value="0"{{/if}}>
|
||||
{{#if (eq rollType 'skill')}}
|
||||
<div class="flexrow row mdb">
|
||||
<label class="label" style="flex: 60%;">{{localize 'VERMINE.skill_title'}}</label>
|
||||
<select class="info-value" style="max-width: 40%;" data-dtype="String" type="number" name="skill" id="skill" min="1" max="5">
|
||||
{{#each skills as |skill key| }}
|
||||
<option value="{{ key }}" {{#if (eq key @root.label)}}selected{{/if}}> {{ smarttl "SKILLS" key }} - {{ skill.value }}</option>
|
||||
{{/each}}
|
||||
</select>
|
||||
</div>
|
||||
<div class="flexrow row">
|
||||
<label class="label">{{localize 'VERMINE.skill_mastery'}}</label>
|
||||
<span style="flex: 80%;">{{localize 'VERMINE.bonus'}} : / {{localize 'VERMINE.reroll'}} : </span>
|
||||
<div class="flexrow row lgb">
|
||||
<span id="skillLevel">{{#if (ne skillScore 0)}}{{ skillLevel 'label' skillScore }}{{/if}}</span>
|
||||
<span>{{localize 'VERMINE.bonus'}} : <em id="skillDicePool">{{#if (ne skillScore 0)}}{{ skillLevel 'dicePool' skillScore }}{{else}}0{{/if}}</em></span>
|
||||
<span>{{localize 'VERMINE.reroll'}} : <em id="skillReroll">{{#if (ne skillScore 0)}}{{ skillLevel 'reroll' skillScore }}{{else}}0{{/if}}</em></span>
|
||||
</div>
|
||||
<div class="flexrow row">
|
||||
<label class="label">{{localize 'VERMINE.specialty'}}</label>
|
||||
<div class="flexrow row smb">
|
||||
<label class="label">{{localize 'VERMINE.specialty'}} (+1D)</label>
|
||||
<input type="checkbox" name="usingSpecialization" id="usingSpecialization" value="1" {{#if specialty}}checked{{/if}}>
|
||||
</div>
|
||||
<div class="flexrow row">
|
||||
<label class="label">{{localize 'VERMINE.help'}}</label>
|
||||
{{/if}}
|
||||
<div class="flexrow row smb">
|
||||
<label class="label">{{localize 'VERMINE.help'}} (+1D)</label>
|
||||
<input type="checkbox" name="helped" id="helped" value="1" {{#if help}}checked{{/if}}>
|
||||
</div>
|
||||
<div class="flexrow row">
|
||||
<label class="label">{{localize 'VERMINE.tooling'}}</label>
|
||||
<div class="flexrow row mdb">
|
||||
<label class="label">{{localize 'VERMINE.tooling'}} (+1D)</label>
|
||||
<input type="checkbox" name="usingTools" id="usingTools" value="1" {{#if help}}checked{{/if}}>
|
||||
</div>
|
||||
<div class="flexrow row">
|
||||
<div class="flexrow row mdb">
|
||||
<label class="label" style="flex: 80%;">{{localize 'VERMINE.self_control'}}</label>
|
||||
<input type="number" class="numeric-entry" style="text-align: center;" name="self_control" id="self_control" min="0" max="5" value="0">
|
||||
</div>
|
||||
<div class="flexrow row">
|
||||
<div class="flexrow row mdb">
|
||||
<label class="label" style="flex: 80%;">{{localize 'VERMINE.group'}}</label>
|
||||
<input type="number" class="numeric-entry" style="text-align: center;" name="group" id="group" min="0" max="5" value="0">
|
||||
<input type="number" class="numeric-entry" style="text-align: center;" name="group" id="group" min="0" max="" value="0">
|
||||
</div>
|
||||
</div>
|
||||
<p><input type="hidden" name="speakerId" value="{{ speakerId }}" />
|
||||
|
||||
Reference in New Issue
Block a user