Various fixes and ehnagcements
This commit is contained in:
parent
e7faf7937b
commit
277cf7075c
@ -227,6 +227,11 @@ export class CrucibleActorSheet extends ActorSheet {
|
|||||||
const skillId = li.data("item-id")
|
const skillId = li.data("item-id")
|
||||||
this.actor.rollSkill(skillId)
|
this.actor.rollSkill(skillId)
|
||||||
});
|
});
|
||||||
|
html.find('.roll-weapon').click((event) => {
|
||||||
|
const li = $(event.currentTarget).parents(".item");
|
||||||
|
const skillId = li.data("item-id")
|
||||||
|
this.actor.rollWeapon(skillId)
|
||||||
|
});
|
||||||
html.find('.weapon-roll').click((event) => {
|
html.find('.weapon-roll').click((event) => {
|
||||||
const li = $(event.currentTarget).parents(".item");
|
const li = $(event.currentTarget).parents(".item");
|
||||||
const weaponId = li.data("item-id");
|
const weaponId = li.data("item-id");
|
||||||
|
@ -166,6 +166,9 @@ export class CrucibleActor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getSkills() {
|
getSkills() {
|
||||||
let comp = duplicate(this.data.items.filter(item => item.type == 'skill') || [])
|
let comp = duplicate(this.data.items.filter(item => item.type == 'skill') || [])
|
||||||
|
for (let skill of comp) {
|
||||||
|
CrucibleUtility.updateSkill(skill)
|
||||||
|
}
|
||||||
CrucibleUtility.sortArrayObjectsByName(comp)
|
CrucibleUtility.sortArrayObjectsByName(comp)
|
||||||
return comp
|
return comp
|
||||||
}
|
}
|
||||||
@ -403,12 +406,12 @@ export class CrucibleActor extends Actor {
|
|||||||
}
|
}
|
||||||
ChatMessage.create(chatData)
|
ChatMessage.create(chatData)
|
||||||
if (skill.data.data.exp >= 25) {
|
if (skill.data.data.exp >= 25) {
|
||||||
await this.updateEmbeddedDocuments('Item', [{ _id: skill.id, 'data.exp': 0, 'data.level': skill.data.data.level + 1 }])
|
await this.updateEmbeddedDocuments('Item', [{ _id: skill.id, 'data.exp': 0, 'data.explevel': skill.data.data.explevel + 1 }])
|
||||||
let chatData = {
|
let chatData = {
|
||||||
user: game.user.id,
|
user: game.user.id,
|
||||||
rollMode: game.settings.get("core", "rollMode"),
|
rollMode: game.settings.get("core", "rollMode"),
|
||||||
whisper: [game.user.id].concat(ChatMessage.getWhisperRecipients('GM')),
|
whisper: [game.user.id].concat(ChatMessage.getWhisperRecipients('GM')),
|
||||||
content: `<div>${this.name} has gained 1 SL in the skill ${skill.name} (new SL : ${skill.data.data.level}) !</div`
|
content: `<div>${this.name} has gained 1 exp SL in the skill ${skill.name} (new exp SL : ${skill.data.data.explevel}) !</div`
|
||||||
}
|
}
|
||||||
ChatMessage.create(chatData)
|
ChatMessage.create(chatData)
|
||||||
}
|
}
|
||||||
@ -445,10 +448,12 @@ export class CrucibleActor extends Actor {
|
|||||||
rollData.img = this.img
|
rollData.img = this.img
|
||||||
rollData.featsDie = this.getFeatsWithDie()
|
rollData.featsDie = this.getFeatsWithDie()
|
||||||
rollData.featsSL = this.getFeatsWithSL()
|
rollData.featsSL = this.getFeatsWithSL()
|
||||||
|
rollData.armors = this.getArmors()
|
||||||
rollData.featDieName = "none"
|
rollData.featDieName = "none"
|
||||||
rollData.featSLName = "none"
|
rollData.featSLName = "none"
|
||||||
rollData.rollAdvantage = "none"
|
rollData.rollAdvantage = "none"
|
||||||
rollData.advantage = "none"
|
rollData.advantage = "none"
|
||||||
|
rollData.disadvantage = "none"
|
||||||
|
|
||||||
if (abilityKey) {
|
if (abilityKey) {
|
||||||
rollData.ability = this.getAbility(abilityKey)
|
rollData.ability = this.getAbility(abilityKey)
|
||||||
@ -477,6 +482,7 @@ export class CrucibleActor extends Actor {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
skill = duplicate(skill)
|
skill = duplicate(skill)
|
||||||
|
CrucibleUtility.updateSkill(skill)
|
||||||
let abilityKey = skill.data.ability
|
let abilityKey = skill.data.ability
|
||||||
let rollData = this.getCommonRollData(abilityKey)
|
let rollData = this.getCommonRollData(abilityKey)
|
||||||
rollData.mode = "skill"
|
rollData.mode = "skill"
|
||||||
@ -487,6 +493,29 @@ export class CrucibleActor extends Actor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
rollWeapon(weaponId) {
|
||||||
|
let weapon = this.data.items.get(weaponId)
|
||||||
|
if (weapon) {
|
||||||
|
weapon = duplicate(weapon)
|
||||||
|
let skill = this.data.items.find( item => item.name.toLowerCase() == weapon.data.skill.toLowerCase())
|
||||||
|
if (skill) {
|
||||||
|
skill = duplicate(skill)
|
||||||
|
CrucibleUtility.updateSkill(skill)
|
||||||
|
let abilityKey = skill.data.ability
|
||||||
|
let rollData = this.getCommonRollData(abilityKey)
|
||||||
|
rollData.mode = "weapon"
|
||||||
|
rollData.skill = skill
|
||||||
|
rollData.weapon = weapon
|
||||||
|
rollData.img = weapon.img
|
||||||
|
|
||||||
|
this.startRoll(rollData)
|
||||||
|
} else {
|
||||||
|
ui.notifications.warn("Unable to find the relevant skill for weapon " + weapon.name)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async startRoll(rollData) {
|
async startRoll(rollData) {
|
||||||
this.syncRoll(rollData)
|
this.syncRoll(rollData)
|
||||||
|
@ -49,8 +49,12 @@ export class CrucibleItemSheet extends ItemSheet {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async getData() {
|
async getData() {
|
||||||
const objectData = CrucibleUtility.data(this.object);
|
const objectData = CrucibleUtility.data(this.object);
|
||||||
|
if ( objectData.type == "skill") {
|
||||||
|
console.log(objectData)
|
||||||
|
CrucibleUtility.updateSkill(objectData)
|
||||||
|
}
|
||||||
|
|
||||||
let itemData = foundry.utils.deepClone(CrucibleUtility.templateData(this.object));
|
let itemData = foundry.utils.deepClone(CrucibleUtility.templateData(this.object))
|
||||||
let formData = {
|
let formData = {
|
||||||
title: this.title,
|
title: this.title,
|
||||||
id: this.id,
|
id: this.id,
|
||||||
|
@ -61,15 +61,18 @@ export class CrucibleRollDialog extends Dialog {
|
|||||||
html.find('#advantage').change((event) => {
|
html.find('#advantage').change((event) => {
|
||||||
this.rollData.advantage = event.currentTarget.value
|
this.rollData.advantage = event.currentTarget.value
|
||||||
})
|
})
|
||||||
|
html.find('#disadvantage').change((event) => {
|
||||||
|
this.rollData.disadvantage = event.currentTarget.value
|
||||||
|
})
|
||||||
html.find('#rollAdvantage').change((event) => {
|
html.find('#rollAdvantage').change((event) => {
|
||||||
this.rollData.rollAdvantage = event.currentTarget.value
|
this.rollData.rollAdvantage = event.currentTarget.value
|
||||||
})
|
})
|
||||||
html.find('#featDieName').change((event) => {
|
/*html.find('#featDieName').change((event) => {
|
||||||
this.rollData.featDieName = event.currentTarget.value
|
this.rollData.featDieName = event.currentTarget.value
|
||||||
})
|
})
|
||||||
html.find('#featDieSL').change((event) => {
|
html.find('#featDieSL').change((event) => {
|
||||||
this.rollData.featDieSL = event.currentTarget.value
|
this.rollData.featDieSL = event.currentTarget.value
|
||||||
})
|
})*/
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -5,6 +5,7 @@ import { CrucibleCommands } from "./crucible-commands.js";
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
const __level2Dice = ["d0", "d4", "d6", "d8", "d10", "d12"];
|
const __level2Dice = ["d0", "d4", "d6", "d8", "d10", "d12"];
|
||||||
const __name2DiceValue = { "0": 0, "d0": 0, "d4": 4, "d6": 6, "d8": 8, "d10": 10, "d12": 12 }
|
const __name2DiceValue = { "0": 0, "d0": 0, "d4": 4, "d6": 6, "d8": 8, "d10": 10, "d12": 12 }
|
||||||
|
const __skillLevel2Dice = ["0d8", "1d8", "2d8","3d8", "4d8", '6d8', "8d8", "10d8"]
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
export class CrucibleUtility {
|
export class CrucibleUtility {
|
||||||
@ -258,6 +259,12 @@ export class CrucibleUtility {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
static updateSkill( skill) {
|
||||||
|
skill.data.level = skill.data.background + skill.data.basic + skill.data.class + skill.data.explevel
|
||||||
|
if (skill.data.level > 7) { skill.data.level = 7}
|
||||||
|
skill.data.skilldice = __skillLevel2Dice[skill.data.level]
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async rollCrucible(rollData) {
|
static async rollCrucible(rollData) {
|
||||||
@ -267,17 +274,27 @@ export class CrucibleUtility {
|
|||||||
let diceFormula = String(rollData.ability.value) + "d6cs>=5"
|
let diceFormula = String(rollData.ability.value) + "d6cs>=5"
|
||||||
if (rollData.skill) {
|
if (rollData.skill) {
|
||||||
let level = rollData.skill.data.level
|
let level = rollData.skill.data.level
|
||||||
if (rollData.featSLName != "none") {
|
if (level == 0 && rollData.skill.data.isfeatdie ) {
|
||||||
let feat = rollData.featsSL.find(item => item.name == rollData.featSLName )
|
rollData.hasSLBonus = true
|
||||||
level += feat.data.sl
|
level += 2
|
||||||
rollData.featSL = feat.data.sl
|
if (level > 7) { level = 7}
|
||||||
|
rollData.skill.data.skilldice = __skillLevel2Dice[level]
|
||||||
}
|
}
|
||||||
|
|
||||||
diceFormula += "+" + String(level) + "d8cs>=5"
|
diceFormula += "+" + String(rollData.skill.data.skilldice) + "cs>=5"
|
||||||
if (rollData.skill.data.skilltype == "complex" && rollData.skill.data.level == 0) {
|
if (rollData.skill.data.skilltype == "complex" && rollData.skill.data.level == 0) {
|
||||||
rollData.complexSkillDisadvantage = true
|
rollData.complexSkillDisadvantage = true
|
||||||
rollData.rollAdvantage = "roll-disadvantage"
|
rollData.rollAdvantage = "roll-disadvantage"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (rollData.skill.data.level > 0 && rollData.skill.data.isfeatdie) {
|
||||||
|
rollData.hasFeatDie = true
|
||||||
|
diceFormula += "+ 1d10cs>=5"
|
||||||
|
}
|
||||||
|
if (rollData.skill.data.bonusdice != "none") {
|
||||||
|
rollData.hasBonusDice = rollData.skill.data.bonusdice
|
||||||
|
diceFormula += `+ ${rollData.hasBonusDice}cs>=5`
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if(rollData.advantage == "advantage1") {
|
if(rollData.advantage == "advantage1") {
|
||||||
@ -286,15 +303,21 @@ export class CrucibleUtility {
|
|||||||
if(rollData.advantage == "advantage2") {
|
if(rollData.advantage == "advantage2") {
|
||||||
diceFormula += "+ 2d10cs>=5"
|
diceFormula += "+ 2d10cs>=5"
|
||||||
}
|
}
|
||||||
if(rollData.advantage == "disadvantage1") {
|
if(rollData.disadvantage == "disadvantage1") {
|
||||||
diceFormula += "- 1d10cs>=5"
|
diceFormula += "- 1d10cs>=5"
|
||||||
}
|
}
|
||||||
if(rollData.advantage == "disadvantage2") {
|
if(rollData.disadvantage == "disadvantage2") {
|
||||||
diceFormula += "- 2d10cs>=5"
|
diceFormula += "- 2d10cs>=5"
|
||||||
}
|
}
|
||||||
if (rollData.featDieName != "none") {
|
let skillArmorPenalty = 0
|
||||||
diceFormula += "+ 1d10cs>=5"
|
for (let armor of rollData.armors) {
|
||||||
|
skillArmorPenalty += armor.data.skillpenalty
|
||||||
}
|
}
|
||||||
|
if (skillArmorPenalty > 0 ) {
|
||||||
|
rollData.skillArmorPenalty = skillArmorPenalty
|
||||||
|
diceFormula += `- ${skillArmorPenalty}d10cs>=5`
|
||||||
|
}
|
||||||
|
|
||||||
// Performs roll
|
// Performs roll
|
||||||
let myRoll = rollData.roll
|
let myRoll = rollData.roll
|
||||||
if (!myRoll) { // New rolls only of no rerolls
|
if (!myRoll) { // New rolls only of no rerolls
|
||||||
|
@ -23,3 +23,4 @@
|
|||||||
{"_id":"s2AAQviLttcHul3X","name":"Charm","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Charm.png","data":{"ability":"cha","armorpenalty":false,"bonusdice":"none","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"<p>Getting someone to do what you want because they want to do it.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}}
|
{"_id":"s2AAQviLttcHul3X","name":"Charm","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Charm.png","data":{"ability":"cha","armorpenalty":false,"bonusdice":"none","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"<p>Getting someone to do what you want because they want to do it.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}}
|
||||||
{"_id":"xlYUHAUSfQrsjQoi","name":"Survival","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Survival.webp","data":{"ability":"wit","armorpenalty":false,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"<p>Help me set this snare and we'll eat like kings in the morning.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}}
|
{"_id":"xlYUHAUSfQrsjQoi","name":"Survival","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Survival.webp","data":{"ability":"wit","armorpenalty":false,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"<p>Help me set this snare and we'll eat like kings in the morning.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}}
|
||||||
{"_id":"yAhtkgqf7pKyjJTA","name":"Poison Use","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Poison%20Use.webp","data":{"ability":"dex","armorpenalty":false,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"<p>Let me apply this to my blade.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}}
|
{"_id":"yAhtkgqf7pKyjJTA","name":"Poison Use","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/skills/Poison%20Use.webp","data":{"ability":"dex","armorpenalty":false,"bonusdice":"","level":0,"background":0,"basic":0,"class":0,"exp":0,"description":"<p>Let me apply this to my blade.</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{}}
|
||||||
|
{"name":"Axe (Copy)","type":"skill","img":"systems/fvtt-crucible-rpg/images/icons/icon_skill.webp","data":{"ability":"agi","armorpenalty":false,"isproficient":true,"isweaponskill":true,"isfeatdie":false,"islore":false,"skilltype":"complex","isinnate":false,"bonusdice":"none","background":0,"basic":0,"class":0,"exp":0,"explevel":0,"description":"","level":2},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"Up3b6rNa3VKAFQC3":3},"flags":{"core":{"sourceId":"Item.Cnw8keaxD1SI3vun"}},"_id":"fJjXMpUILcN983XV"}
|
||||||
|
@ -208,11 +208,11 @@
|
|||||||
"styles": [
|
"styles": [
|
||||||
"styles/simple.css"
|
"styles/simple.css"
|
||||||
],
|
],
|
||||||
"templateVersion": 10,
|
"templateVersion": 11,
|
||||||
"title": "Crucible RPG",
|
"title": "Crucible RPG",
|
||||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-crucible-rpg/raw/master/system.json",
|
"manifest": "https://www.uberwald.me/gitea/public/fvtt-crucible-rpg/raw/master/system.json",
|
||||||
"download": "https://www.uberwald.me/gitea/public/fvtt-crucible-rpg/archive/fvtt-crucible-rpg-v0.1.16.zip",
|
"download": "https://www.uberwald.me/gitea/public/fvtt-crucible-rpg/archive/fvtt-crucible-rpg-v0.1.17.zip",
|
||||||
"url": "https://www.uberwald.me/gitea/public/fvtt-crucible-rpg",
|
"url": "https://www.uberwald.me/gitea/public/fvtt-crucible-rpg",
|
||||||
"version": "0.1.16",
|
"version": "0.1.17",
|
||||||
"background" : "./images/ui/crucible_welcome_page.webp"
|
"background" : "./images/ui/crucible_welcome_page.webp"
|
||||||
}
|
}
|
||||||
|
@ -121,15 +121,16 @@
|
|||||||
"armorpenalty": false,
|
"armorpenalty": false,
|
||||||
"isproficient": false,
|
"isproficient": false,
|
||||||
"isweaponskill": false,
|
"isweaponskill": false,
|
||||||
|
"isfeatdie": false,
|
||||||
"islore": false,
|
"islore": false,
|
||||||
"skilltype": "",
|
"skilltype": "",
|
||||||
"isinnate": false,
|
"isinnate": false,
|
||||||
"bonusdice": "",
|
"bonusdice": "",
|
||||||
"level": 0,
|
|
||||||
"background": 0,
|
"background": 0,
|
||||||
"basic": 0,
|
"basic": 0,
|
||||||
"class": 0,
|
"class": 0,
|
||||||
"exp": 0,
|
"exp": 0,
|
||||||
|
"explevel": 0,
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"armor": {
|
"armor": {
|
||||||
|
@ -63,7 +63,7 @@
|
|||||||
<label class="short-label">Ability</label>
|
<label class="short-label">Ability</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-short">
|
<span class="item-field-label-short">
|
||||||
<label class="short-label">Score</label>
|
<label class="short-label">Dice</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-long">
|
<span class="item-field-label-long">
|
||||||
<label class="short-label">Background</label>
|
<label class="short-label">Background</label>
|
||||||
@ -75,7 +75,7 @@
|
|||||||
src="{{skill.img}}" /></a>
|
src="{{skill.img}}" /></a>
|
||||||
<span class="item-name-label"><a class="roll-skill">{{skill.name}}</a></span>
|
<span class="item-name-label"><a class="roll-skill">{{skill.name}}</a></span>
|
||||||
<span class="item-field-label-short">{{upper skill.data.ability}}</span>
|
<span class="item-field-label-short">{{upper skill.data.ability}}</span>
|
||||||
<span class="item-field-label-short">{{skill.data.level}}d8</span>
|
<span class="item-field-label-short">{{skill.data.skilldice}}</span>
|
||||||
<span class="item-field-label-long"> - </span>
|
<span class="item-field-label-long"> - </span>
|
||||||
<div class="item-filler"> </div>
|
<div class="item-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<div class="item-controls item-controls-fixed">
|
||||||
@ -107,7 +107,7 @@
|
|||||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||||
src="{{weapon.img}}" /></a>
|
src="{{weapon.img}}" /></a>
|
||||||
<span class="item-name-label-long">{{weapon.name}}</span>
|
<span class="item-name-label-long"><a class ="roll-weapon">{{weapon.name}}</a></span>
|
||||||
|
|
||||||
<span class="item-field-label-short">{{weapon.data.ability}}</span>
|
<span class="item-field-label-short">{{weapon.data.ability}}</span>
|
||||||
|
|
||||||
|
@ -47,7 +47,15 @@
|
|||||||
{{#if (eq rollAdvantage "roll-disadvantage")}}
|
{{#if (eq rollAdvantage "roll-disadvantage")}}
|
||||||
<li>Roll with Disadvantage !</li>
|
<li>Roll with Disadvantage !</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if skillArmorPenalty}}
|
||||||
|
<li>Armor Penalty : {{skillArmorPenalty}} Disadvantage Dice </li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if hasBonusDice}}
|
||||||
|
<li>Skill bonus dice : {{hasBonusDice}} </li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{#if complexSkillDisadvantage}}
|
{{#if complexSkillDisadvantage}}
|
||||||
<li>Roll with Disadvantage because of Complex Skill at SL 0 !</li>
|
<li>Roll with Disadvantage because of Complex Skill at SL 0 !</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
@ -23,12 +23,12 @@
|
|||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Subject to Armor Penalty ?</label>
|
<li class="flexrow"><label class="generic-label">Is Feat Die (or SL +2) ?</label>
|
||||||
<label class="attribute-value checkbox"><input type="checkbox" name="data.armorpenalty" {{checked data.armorpenalty}}/></label>
|
<label class="attribute-value checkbox"><input type="checkbox" name="data.isfeatdie" {{checked data.isfeatdie}}/></label>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Is Proficient ?</label>
|
<li class="flexrow"><label class="generic-label">Subject to Armor Penalty ?</label>
|
||||||
<label class="attribute-value checkbox"><input type="checkbox" name="data.isproficient" {{checked data.isproficient}}/></label>
|
<label class="attribute-value checkbox"><input type="checkbox" name="data.armorpenalty" {{checked data.armorpenalty}}/></label>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Skill Type</label>
|
<li class="flexrow"><label class="generic-label">Skill Type</label>
|
||||||
@ -41,19 +41,7 @@
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Skill Dice</label>
|
<li class="flexrow"><label class="generic-label">Skill Dice</label>
|
||||||
<select class="competence-base flexrow" type="text" name="data.level" value="{{data.level}}" data-dtype="Number">
|
<input type="text" class="" name="data.skilldice" value="{{data.skilldice}} (level {{data.level}})" data-dtype="String" disabled/>
|
||||||
{{#select data.level}}
|
|
||||||
<option value="0">0</option>
|
|
||||||
<option value="1">1</option>
|
|
||||||
<option value="2">2</option>
|
|
||||||
<option value="3">3</option>
|
|
||||||
<option value="4">4</option>
|
|
||||||
<option value="5">5</option>
|
|
||||||
<option value="6">6</option>
|
|
||||||
<option value="7">7</option>
|
|
||||||
<option value="8">8</option>
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Is Innate ?</label>
|
<li class="flexrow"><label class="generic-label">Is Innate ?</label>
|
||||||
@ -96,7 +84,11 @@
|
|||||||
<input type="text" class="" name="data.class" value="{{data.class}}" data-dtype="Number"/>
|
<input type="text" class="" name="data.class" value="{{data.class}}" data-dtype="Number"/>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Exp</label>
|
<li class="flexrow"><label class="generic-label">Exp level</label>
|
||||||
|
<input type="text" class="" name="data.explevel" value="{{data.explevel}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="generic-label">Gained exp (+1 to Exp level at 25)</label>
|
||||||
<input type="text" class="" name="data.exp" value="{{data.exp}}" data-dtype="Number"/>
|
<input type="text" class="" name="data.exp" value="{{data.exp}}" data-dtype="Number"/>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
|
@ -31,7 +31,7 @@
|
|||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Associated skill</label>
|
<li class="flexrow"><label class="generic-label">Associated skill</label>
|
||||||
<select class="competence-base flexrow" type="text" name="data.skill" value="{{data.skill}}" data-dtype="Number">
|
<select class="competence-base flexrow" type="text" name="data.skill" value="{{data.skill}}" data-dtype="String">
|
||||||
{{#select data.skill}}
|
{{#select data.skill}}
|
||||||
{{#each weaponSkills as |skill idx|}}
|
{{#each weaponSkills as |skill idx|}}
|
||||||
<option value="{{skill.name}}">{{skill.name}}</option>
|
<option value="{{skill.name}}">{{skill.name}}</option>
|
||||||
|
@ -13,20 +13,40 @@
|
|||||||
<span class="roll-dialog-label">{{ability.value}}d6</span>
|
<span class="roll-dialog-label">{{ability.value}}d6</span>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
{{#if weapon}}
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="roll-dialog-label">Weapon : </span>
|
||||||
|
<span class="roll-dialog-label">{{weapon.name}}</span>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
{{#if skill}}
|
{{#if skill}}
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-label">Skill : </span>
|
<span class="roll-dialog-label">Skill : </span>
|
||||||
<span class="roll-dialog-label">{{skill.name}} - {{skill.data.level}}d8</span>
|
<span class="roll-dialog-label">{{skill.name}} - {{skill.data.skilldice}}</span>
|
||||||
|
</div>
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="roll-dialog-label">Feature die or SL+2? : </span>
|
||||||
|
<span class="roll-dialog-label">{{#if skill.data.isfeatdie}} Yes {{else}} No {{/if}}</span>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-label">Advantage/Disadvantage : </span>
|
<span class="roll-dialog-label">Advantage : </span>
|
||||||
<select class="status-small-label color-class-common" type="text" id="advantage" value="{{advantage}}" data-dtype="String" >
|
<select class="status-small-label color-class-common" type="text" id="advantage" value="{{advantage}}" data-dtype="String" >
|
||||||
{{#select advantage}}
|
{{#select advantage}}
|
||||||
<option value="none">None</option>
|
<option value="none">None</option>
|
||||||
<option value="advantage1">1 Advantage</option>
|
<option value="advantage1">1 Advantage</option>
|
||||||
<option value="advantage2">2 Advantages</option>
|
<option value="advantage2">2 Advantages</option>
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="roll-dialog-label">Disadvantage : </span>
|
||||||
|
<select class="status-small-label color-class-common" type="text" id="disadvantage" value="{{disadvantage}}" data-dtype="String" >
|
||||||
|
{{#select isadvantage}}
|
||||||
|
<option value="none">None</option>
|
||||||
<option value="disadvantage1">1 Disadvantage</option>
|
<option value="disadvantage1">1 Disadvantage</option>
|
||||||
<option value="disadvantage2">2 Disadvantages</option>
|
<option value="disadvantage2">2 Disadvantages</option>
|
||||||
{{/select}}
|
{{/select}}
|
||||||
@ -44,30 +64,6 @@
|
|||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flexrow">
|
|
||||||
<span class="roll-dialog-label">Feature Die : </span>
|
|
||||||
<select class="status-small-label color-class-common" type="text" id="featDieName" value="{{featDieName}}" data-dtype="String" >
|
|
||||||
{{#select featDieName}}
|
|
||||||
<option value="none">None</option>
|
|
||||||
{{#each featsDie as |feat idx|}}
|
|
||||||
<option value="{{feat.name}}">{{feat.name}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="flexrow">
|
|
||||||
<span class="roll-dialog-label">Feature SL : </span>
|
|
||||||
<select class="status-small-label color-class-common" type="text" id="featSLName" value="{{featSLName}}" data-dtype="String" >
|
|
||||||
{{#select featSLName}}
|
|
||||||
<option value="none">None</option>
|
|
||||||
{{#each featsSL as |feat idx|}}
|
|
||||||
<option value="{{feat.name}}">{{feat.name}} ({{feat.data.sl}})</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</form>
|
</form>
|
Loading…
Reference in New Issue
Block a user