Item sheets, WIP
This commit is contained in:
parent
c38c5e95bf
commit
1b04f6ce69
@ -57,8 +57,6 @@ export class Avd12ItemSheet extends ItemSheet {
|
|||||||
name: this.object.name,
|
name: this.object.name,
|
||||||
editable: this.isEditable,
|
editable: this.isEditable,
|
||||||
cssClass: this.isEditable ? "editable" : "locked",
|
cssClass: this.isEditable ? "editable" : "locked",
|
||||||
weaponSkills: CrucibleUtility.getWeaponSkills(),
|
|
||||||
shieldSkills: CrucibleUtility.getShieldSkills(),
|
|
||||||
system: duplicate(this.object.system),
|
system: duplicate(this.object.system),
|
||||||
limited: this.object.limited,
|
limited: this.object.limited,
|
||||||
options: this.options,
|
options: this.options,
|
||||||
|
@ -64,12 +64,12 @@ export class Avd12Utility {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async ready() {
|
static async ready() {
|
||||||
const skills = await Avd12Utility.loadCompendium("fvtt-crucible-rpg.skills")
|
const skills = await Avd12Utility.loadCompendium("fvtt-avd12.skills")
|
||||||
this.skills = skills.map(i => i.toObject())
|
this.skills = skills.map(i => i.toObject())
|
||||||
this.weaponSkills = duplicate(this.skills.filter(item => item.system.isweaponskill))
|
this.weaponSkills = duplicate(this.skills.filter(item => item.system.isweaponskill))
|
||||||
this.shieldSkills = duplicate(this.skills.filter(item => item.system.isshieldskill))
|
this.shieldSkills = duplicate(this.skills.filter(item => item.system.isshieldskill))
|
||||||
|
|
||||||
const rollTables = await Avd12Utility.loadCompendium("fvtt-crucible-rpg.rolltables")
|
const rollTables = await Avd12Utility.loadCompendium("fvtt-avd12.rolltables")
|
||||||
this.rollTables = rollTables.map(i => i.toObject())
|
this.rollTables = rollTables.map(i => i.toObject())
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -93,98 +93,6 @@ export class Avd12Utility {
|
|||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
|
||||||
static isWeaponPenetrating(weapon) {
|
|
||||||
if (weapon && weapon.system.qualities.toLowerCase().includes("penetrating")) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static isWeaponLight(weapon) {
|
|
||||||
if (weapon && weapon.system.qualities.toLowerCase().includes("light")) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static isWeaponHeavy(weapon) {
|
|
||||||
if (weapon && weapon.system.qualities.toLowerCase().includes("heavy")) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static isWeaponHack(weapon) {
|
|
||||||
if (weapon && weapon.system.qualities.toLowerCase().includes("hack")) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static isWeaponUndamaging(weapon) {
|
|
||||||
if (weapon && weapon.system.qualities.toLowerCase().includes("undamaging")) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static isWeaponDangerous(weapon) {
|
|
||||||
if (weapon && weapon.system.qualities.toLowerCase().includes("dangerous")) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static isWeaponDeadly(weapon) {
|
|
||||||
if (weapon && weapon.system.qualities.toLowerCase().includes("deadly")) {
|
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
static getWeaponRange(weapon) {
|
|
||||||
if (weapon && weapon.system.isranged) {
|
|
||||||
let rangeValue = weapon.system.range.replace(/[^0-9]/g, '')
|
|
||||||
return Number(rangeValue)
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
static getWeaponMaxRange(weapon) {
|
|
||||||
if (weapon && weapon.system.isranged) {
|
|
||||||
let rangeValue = weapon.system.maxrange.replace(/[^0-9]/g, '')
|
|
||||||
return Number(rangeValue)
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static async getRollTableFromDiceColor(diceColor, displayChat = true) {
|
|
||||||
let rollTableName = __color2RollTable[diceColor]
|
|
||||||
if (rollTableName) {
|
|
||||||
const pack = game.packs.get("fvtt-crucible-rpg.rolltables")
|
|
||||||
const index = await pack.getIndex()
|
|
||||||
const entry = index.find(e => e.name === rollTableName)
|
|
||||||
let table = await pack.getDocument(entry._id)
|
|
||||||
const draw = await table.draw({ displayChat: displayChat, rollMode: "gmroll" })
|
|
||||||
return draw.results.length > 0 ? draw.results[0] : undefined
|
|
||||||
}
|
|
||||||
}
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static getSizeDice(sizeValue) {
|
|
||||||
return __size2Dice[sizeValue]
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
static async getCritical(level, weapon) {
|
|
||||||
const pack = game.packs.get("fvtt-crucible-rpg.rolltables")
|
|
||||||
|
|
||||||
let tableName = "Crit " + level + " (" + this.upperFirst(weapon.system.damage) + ")"
|
|
||||||
const index = await pack.getIndex()
|
|
||||||
const entry = index.find(e => e.name === tableName)
|
|
||||||
let table = await pack.getDocument(entry._id)
|
|
||||||
const draw = await table.draw({ displayChat: false, rollMode: "gmroll" })
|
|
||||||
return draw.results.length > 0 ? draw.results[0] : undefined
|
|
||||||
}
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async chatListeners(html) {
|
static async chatListeners(html) {
|
||||||
@ -216,14 +124,10 @@ export class Avd12Utility {
|
|||||||
static async preloadHandlebarsTemplates() {
|
static async preloadHandlebarsTemplates() {
|
||||||
|
|
||||||
const templatePaths = [
|
const templatePaths = [
|
||||||
'systems/fvtt-crucible-rpg/templates/editor-notes-gm.html',
|
'systems/fvtt-avd12/templates/actors/editor-notes-gm.hbs',
|
||||||
'systems/fvtt-crucible-rpg/templates/partial-roll-select.html',
|
'systems/fvtt-avd12/templates/items/partial-item-nav.hbs',
|
||||||
'systems/fvtt-crucible-rpg/templates/partial-actor-ability-block.html',
|
'systems/fvtt-avd12/templates/items/partial-item-description.hbs',
|
||||||
'systems/fvtt-crucible-rpg/templates/partial-actor-status.html',
|
'systems/fvtt-avd12/templates/items/partial-options-weapons-types.hbs'
|
||||||
'systems/fvtt-crucible-rpg/templates/partial-options-abilities.html',
|
|
||||||
'systems/fvtt-crucible-rpg/templates/partial-item-nav.html',
|
|
||||||
'systems/fvtt-crucible-rpg/templates/partial-item-description.html',
|
|
||||||
'systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html'
|
|
||||||
]
|
]
|
||||||
return loadTemplates(templatePaths);
|
return loadTemplates(templatePaths);
|
||||||
}
|
}
|
||||||
@ -319,7 +223,7 @@ export class Avd12Utility {
|
|||||||
name: defender.name,
|
name: defender.name,
|
||||||
alias: defender.name,
|
alias: defender.name,
|
||||||
//user: defender.id,
|
//user: defender.id,
|
||||||
content: await renderTemplate(`systems/fvtt-crucible-rpg/templates/chat-request-defense.html`, rollData),
|
content: await renderTemplate(`systems/fvtt-avd12/templates/chat-request-defense.html`, rollData),
|
||||||
whisper: [defender.id].concat(ChatMessage.getWhisperRecipients('GM')),
|
whisper: [defender.id].concat(ChatMessage.getWhisperRecipients('GM')),
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
@ -365,7 +269,7 @@ export class Avd12Utility {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async getFumble(weapon) {
|
static async getFumble(weapon) {
|
||||||
const pack = game.packs.get("fvtt-crucible-rpg.rolltables")
|
const pack = game.packs.get("fvtt-avd12.rolltables")
|
||||||
const index = await pack.getIndex()
|
const index = await pack.getIndex()
|
||||||
let entry
|
let entry
|
||||||
|
|
||||||
@ -404,7 +308,7 @@ export class Avd12Utility {
|
|||||||
result.criticalText = result.critical.text
|
result.criticalText = result.critical.text
|
||||||
}
|
}
|
||||||
this.createChatWithRollMode(rollData.alias, {
|
this.createChatWithRollMode(rollData.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-crucible-rpg/templates/chat-attack-defense-result.html`, rollData)
|
content: await renderTemplate(`systems/fvtt-avd12/templates/chat-attack-defense-result.html`, rollData)
|
||||||
})
|
})
|
||||||
console.log("Results processed", rollData)
|
console.log("Results processed", rollData)
|
||||||
}
|
}
|
||||||
@ -429,7 +333,7 @@ export class Avd12Utility {
|
|||||||
if (game.user.isGM) {
|
if (game.user.isGM) {
|
||||||
this.processSuccessResult(rollData)
|
this.processSuccessResult(rollData)
|
||||||
} else {
|
} else {
|
||||||
game.socket.emit("system.fvtt-crucible-rpg", { msg: "msg_gm_process_attack_defense", data: rollData });
|
game.socket.emit("system.fvtt-avd12", { msg: "msg_gm_process_attack_defense", data: rollData });
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -638,7 +542,7 @@ export class Avd12Utility {
|
|||||||
rollData.rollOrder = 1
|
rollData.rollOrder = 1
|
||||||
rollData.rollType = (rollData.rollAdvantage == "roll-advantage") ? "Advantage" : "Disadvantage"
|
rollData.rollType = (rollData.rollAdvantage == "roll-advantage") ? "Advantage" : "Disadvantage"
|
||||||
this.createChatWithRollMode(rollData.alias, {
|
this.createChatWithRollMode(rollData.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-crucible-rpg/templates/chat-generic-result.html`, rollData)
|
content: await renderTemplate(`systems/fvtt-avd12/templates/chat-generic-result.html`, rollData)
|
||||||
})
|
})
|
||||||
|
|
||||||
rollData.rollOrder = 2
|
rollData.rollOrder = 2
|
||||||
@ -648,7 +552,7 @@ export class Avd12Utility {
|
|||||||
rollData.roll = myRoll2 // Tmp switch to display the proper results
|
rollData.roll = myRoll2 // Tmp switch to display the proper results
|
||||||
rollData.nbSuccess = myRoll2.total
|
rollData.nbSuccess = myRoll2.total
|
||||||
this.createChatWithRollMode(rollData.alias, {
|
this.createChatWithRollMode(rollData.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-crucible-rpg/templates/chat-generic-result.html`, rollData)
|
content: await renderTemplate(`systems/fvtt-avd12/templates/chat-generic-result.html`, rollData)
|
||||||
})
|
})
|
||||||
rollData.roll = myRoll // Revert the tmp switch
|
rollData.roll = myRoll // Revert the tmp switch
|
||||||
rollData.nbSuccess = myRoll.total
|
rollData.nbSuccess = myRoll.total
|
||||||
@ -682,7 +586,7 @@ export class Avd12Utility {
|
|||||||
actor.lastRoll = rollData
|
actor.lastRoll = rollData
|
||||||
|
|
||||||
this.createChatWithRollMode(rollData.alias, {
|
this.createChatWithRollMode(rollData.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-crucible-rpg/templates/chat-generic-result.html`, rollData)
|
content: await renderTemplate(`systems/fvtt-avd12/templates/chat-generic-result.html`, rollData)
|
||||||
})
|
})
|
||||||
console.log("Rolldata result", rollData)
|
console.log("Rolldata result", rollData)
|
||||||
|
|
||||||
@ -733,7 +637,7 @@ export class Avd12Utility {
|
|||||||
chatGM.whisper = this.getUsers(user => user.isGM);
|
chatGM.whisper = this.getUsers(user => user.isGM);
|
||||||
chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content;
|
chatGM.content = "Blinde message of " + game.user.name + "<br>" + chatOptions.content;
|
||||||
console.log("blindMessageToGM", chatGM);
|
console.log("blindMessageToGM", chatGM);
|
||||||
game.socket.emit("system.fvtt-crucible-rpg", { msg: "msg_gm_chat_message", data: chatGM });
|
game.socket.emit("system.fvtt-avd12", { msg: "msg_gm_chat_message", data: chatGM });
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
189
template.json
189
template.json
@ -74,7 +74,7 @@
|
|||||||
"value": 0,
|
"value": 0,
|
||||||
"max": 0
|
"max": 0
|
||||||
},
|
},
|
||||||
"resistances": {
|
"mitigation": {
|
||||||
"physical": {
|
"physical": {
|
||||||
"label": "Physical Damage",
|
"label": "Physical Damage",
|
||||||
"abbrev": "physical",
|
"abbrev": "physical",
|
||||||
@ -92,9 +92,9 @@
|
|||||||
"iselemental": true,
|
"iselemental": true,
|
||||||
"value": 0
|
"value": 0
|
||||||
},
|
},
|
||||||
"cool": {
|
"cold": {
|
||||||
"label": "Cool Damage",
|
"label": "Cold Damage",
|
||||||
"abbrev": "cool",
|
"abbrev": "cold",
|
||||||
"iselemental": true,
|
"iselemental": true,
|
||||||
"value": 0
|
"value": 0
|
||||||
},
|
},
|
||||||
@ -113,11 +113,97 @@
|
|||||||
"abbrev": "divine",
|
"abbrev": "divine",
|
||||||
"value": 0
|
"value": 0
|
||||||
},
|
},
|
||||||
|
"arcane": {
|
||||||
|
"label": "Aracane Damage",
|
||||||
|
"abbrev": "arcane",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"poison": {
|
||||||
|
"label": "Poison Damage",
|
||||||
|
"abbrev": "poison",
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
"true": {
|
"true": {
|
||||||
"label": "True Damage",
|
"label": "True Damage",
|
||||||
"abbrev": "true",
|
"abbrev": "true",
|
||||||
"value": 0
|
"value": 0
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"bonus": {
|
||||||
|
"ranged": {
|
||||||
|
"attack": 0,
|
||||||
|
"damage": 0,
|
||||||
|
"crits": 0,
|
||||||
|
"brutals": 0
|
||||||
|
},
|
||||||
|
"slash": {
|
||||||
|
"attack": 0,
|
||||||
|
"damage": 0,
|
||||||
|
"crits": 0,
|
||||||
|
"brutals": 0
|
||||||
|
},
|
||||||
|
"blunt": {
|
||||||
|
"attack": 0,
|
||||||
|
"damage": 0,
|
||||||
|
"crits": 0,
|
||||||
|
"brutals": 0
|
||||||
|
},
|
||||||
|
"pierce": {
|
||||||
|
"attack": 0,
|
||||||
|
"damage": 0,
|
||||||
|
"crits": 0,
|
||||||
|
"brutals": 0
|
||||||
|
},
|
||||||
|
"unarmed": {
|
||||||
|
"attack": 0,
|
||||||
|
"damage": 0
|
||||||
|
},
|
||||||
|
"dodge": {
|
||||||
|
"armored": 0,
|
||||||
|
"light": 0,
|
||||||
|
"unarmored": 0
|
||||||
|
},
|
||||||
|
"stealth": {
|
||||||
|
"armored": 0,
|
||||||
|
"light": 0,
|
||||||
|
"unarmored": 0
|
||||||
|
},
|
||||||
|
"block": {
|
||||||
|
"armored": 0,
|
||||||
|
"light": 0,
|
||||||
|
"unarmored": 0
|
||||||
|
},
|
||||||
|
"physical": {
|
||||||
|
"armored": 0,
|
||||||
|
"light": 0,
|
||||||
|
"unarmored": 0
|
||||||
|
},
|
||||||
|
"elemental": {
|
||||||
|
"armored": 0,
|
||||||
|
"light": 0,
|
||||||
|
"unarmored": 0
|
||||||
|
},
|
||||||
|
"armored": {
|
||||||
|
"remove_stealth": false,
|
||||||
|
"cast_speed": 0
|
||||||
|
},
|
||||||
|
"craft": {
|
||||||
|
"smithing": 0,
|
||||||
|
"cooking": 0,
|
||||||
|
"scribing": 0,
|
||||||
|
"runecarving": 0,
|
||||||
|
"alchemy": 0,
|
||||||
|
"ammocraft": 0,
|
||||||
|
"engineering": 0
|
||||||
|
},
|
||||||
|
"weapon": {
|
||||||
|
"attack": 0,
|
||||||
|
"damage": 0
|
||||||
|
},
|
||||||
|
"spell": {
|
||||||
|
"attack": 0,
|
||||||
|
"damage": 0
|
||||||
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"npccore": {
|
"npccore": {
|
||||||
@ -143,6 +229,54 @@
|
|||||||
"module",
|
"module",
|
||||||
"money"
|
"money"
|
||||||
],
|
],
|
||||||
|
"templates": {
|
||||||
|
"commonitem": {
|
||||||
|
"focuspointsbonus": 0,
|
||||||
|
"focusregenbonus": 0,
|
||||||
|
"burnchancebonus": 0,
|
||||||
|
"mitigation": {
|
||||||
|
"physical": {
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"psychic": {
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"fire": {
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"lightning": {
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"cold": {
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"dark": {
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"divine": {
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"arcane": {
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"bonus": {
|
||||||
|
"block": {
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"dodge": {
|
||||||
|
"value": 0
|
||||||
|
},
|
||||||
|
"resistance": {
|
||||||
|
"value": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"weight": 0,
|
||||||
|
"cost": 0,
|
||||||
|
"health": 0,
|
||||||
|
"movespeed": 0
|
||||||
|
}
|
||||||
|
},
|
||||||
"skill": {
|
"skill": {
|
||||||
"attribute": "",
|
"attribute": "",
|
||||||
"value": 0,
|
"value": 0,
|
||||||
@ -154,22 +288,24 @@
|
|||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"armor": {
|
"armor": {
|
||||||
"weight": 0,
|
"templates": [
|
||||||
"cost": 0,
|
"commonitem"
|
||||||
|
],
|
||||||
"equipped": false,
|
"equipped": false,
|
||||||
"locationprotected": "",
|
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"shield": {
|
"shield": {
|
||||||
"weight": 0,
|
"templates": [
|
||||||
"cost": 0,
|
"commonitem"
|
||||||
|
],
|
||||||
"equipped": false,
|
"equipped": false,
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"equipment": {
|
"equipment": {
|
||||||
"equiptype": "",
|
"equiptype": "",
|
||||||
"cost": 0,
|
"templates": [
|
||||||
"weight": 0,
|
"commonitem"
|
||||||
|
],
|
||||||
"quantity": 0,
|
"quantity": 0,
|
||||||
"equipped": false,
|
"equipped": false,
|
||||||
"description": ""
|
"description": ""
|
||||||
@ -182,11 +318,34 @@
|
|||||||
},
|
},
|
||||||
"weapon": {
|
"weapon": {
|
||||||
"weapontype": "",
|
"weapontype": "",
|
||||||
"cost": 0,
|
"category": "",
|
||||||
"weight": 0,
|
"templates": [
|
||||||
"range": "",
|
"commonitem"
|
||||||
"maxrange": "",
|
],
|
||||||
|
"minrange": 0,
|
||||||
|
"maxrange": 0,
|
||||||
|
"throwrange": 0,
|
||||||
|
"magical": false,
|
||||||
|
"blackenediron": false,
|
||||||
|
"silvered": false,
|
||||||
"equipped": false,
|
"equipped": false,
|
||||||
|
"damages": {
|
||||||
|
"primary": {
|
||||||
|
"damagetype": "",
|
||||||
|
"dice": "",
|
||||||
|
"bonus": ""
|
||||||
|
},
|
||||||
|
"secondary": {
|
||||||
|
"damagetype": "",
|
||||||
|
"dice": "",
|
||||||
|
"bonus": ""
|
||||||
|
},
|
||||||
|
"tertiary": {
|
||||||
|
"damagetype": "",
|
||||||
|
"dice": "",
|
||||||
|
"bonus": ""
|
||||||
|
}
|
||||||
|
},
|
||||||
"description": ""
|
"description": ""
|
||||||
},
|
},
|
||||||
"module": {
|
"module": {
|
||||||
|
6
templates/actors/editor-notes-gm.hbs
Normal file
6
templates/actors/editor-notes-gm.hbs
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
{{#if data.isGM}}
|
||||||
|
<h3>GM Notes : </h3>
|
||||||
|
<div class="form-group editor">
|
||||||
|
{{editor data.gmnotes target="system.gmnotes" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
51
templates/items/item-weapon-sheet.hbs
Normal file
51
templates/items/item-weapon-sheet.hbs
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
|
<header class="sheet-header">
|
||||||
|
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||||
|
<div class="header-fields">
|
||||||
|
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
|
||||||
|
{{> systems/fvtt-avd12/templates/items/partial-item-nav.hbs}}
|
||||||
|
|
||||||
|
|
||||||
|
{{!-- Sheet Body --}}
|
||||||
|
<section class="sheet-body">
|
||||||
|
|
||||||
|
{{> systems/fvtt-avd12/templates/items/partial-item-description.hbs}}
|
||||||
|
|
||||||
|
<div class="tab details" data-group="primary" data-tab="details">
|
||||||
|
|
||||||
|
<div class="tab" data-group="primary">
|
||||||
|
<ul>
|
||||||
|
<li class="flexrow"><label class="item-field-label-long">Weapon type</label>
|
||||||
|
<select class="competence-base flexrow" type="text" name="system.weapontype" value="{{system.weapontype}}" data-dtype="String">
|
||||||
|
{{#select system.weapontype}}
|
||||||
|
{{> systems/fvtt-avd12/templates/items/partial-weapon-types.hbs}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long">Weapon category</label>
|
||||||
|
<select class="competence-base flexrow" type="text" name="system.category" value="{{system.category}}" data-dtype="String">
|
||||||
|
{{#select system.category}}
|
||||||
|
{{> systems/fvtt-avd12/templates/items/partial-weapon-categories.hbs}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{> systems/fvtt-avd12/templates/items/partial-common-item-fields.hbs}}
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long">Min Range</label>
|
||||||
|
<input type="text" class="right" name="system.minrange" value="{{system.minrange}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
<li class="flexrow"><label class="generic-label">Max Range</label>
|
||||||
|
<input type="text" class="right" name="item-field-label-long" value="{{system.maxrange}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</section>
|
||||||
|
</form>
|
@ -1,84 +0,0 @@
|
|||||||
<form class="{{cssClass}}" autocomplete="off">
|
|
||||||
<header class="sheet-header">
|
|
||||||
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
|
||||||
<div class="header-fields">
|
|
||||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
|
||||||
</div>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
{{> systems/fvtt-crucible-rpg/templates/partial-item-nav.html}}
|
|
||||||
|
|
||||||
|
|
||||||
{{!-- Sheet Body --}}
|
|
||||||
<section class="sheet-body">
|
|
||||||
|
|
||||||
{{> systems/fvtt-crucible-rpg/templates/partial-item-description.html}}
|
|
||||||
|
|
||||||
<div class="tab details" data-group="primary" data-tab="details">
|
|
||||||
|
|
||||||
<div class="tab" data-group="primary">
|
|
||||||
<ul>
|
|
||||||
<!-- <li class="flexrow"><label class="generic-label">Ability</label>
|
|
||||||
<select class="competence-base flexrow" type="text" name="data.ability" value="{{data.ability}}" data-dtype="String">
|
|
||||||
{{#select data.ability}}
|
|
||||||
{{> systems/fvtt-crucible-rpg/templates/partial-options-abilities.html}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</li> -->
|
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Is proficient ?</label>
|
|
||||||
<label class="attribute-value checkbox"><input type="checkbox" name="system.isproficient" {{checked data.isproficient}}/></label>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Associated skill</label>
|
|
||||||
<select class="competence-base flexrow" type="text" name="system.skill" value="{{data.skill}}" data-dtype="String">
|
|
||||||
{{#select data.skill}}
|
|
||||||
{{#each weaponSkills as |skill idx|}}
|
|
||||||
<option value="{{skill.name}}">{{skill.name}}</option>
|
|
||||||
{{/each}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Qualities (comma separated list)</label>
|
|
||||||
<input type="text" class="padd-right" name="system.qualities" value="{{data.qualities}}" data-dtype="String"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Flaws (comma separated list)</label>
|
|
||||||
<input type="text" class="padd-right" name="system.flaws" value="{{data.flaws}}" data-dtype="String"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Damage</label>
|
|
||||||
<input type="text" class="right" name="system.damage" value="{{data.damage}}" data-dtype="String"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Is ranged weapon ?</label>
|
|
||||||
<label class="attribute-value checkbox"><input type="checkbox" name="system.isranged" {{checked data.isranged}}/></label>
|
|
||||||
</li>
|
|
||||||
{{#if data.isranged}}
|
|
||||||
<li class="flexrow"><label class="generic-label">Effective Range</label>
|
|
||||||
<input type="text" class="right" name="system.range" value="{{data.range}}" data-dtype="String"/>
|
|
||||||
</li>
|
|
||||||
<li class="flexrow"><label class="generic-label">Max range</label>
|
|
||||||
<input type="text" class="right" name="system.maxrange" value="{{data.maxrange}}" data-dtype="String"/>
|
|
||||||
</li>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Minimum strength</label>
|
|
||||||
<input type="text" class="input-numeric-short padd-right" name="system.minstr" value="{{data.minstr}}" data-dtype="Number"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Equipped ?</label>
|
|
||||||
<label class="attribute-value checkbox"><input type="checkbox" name="system.equipped" {{checked data.equipped}}/></label>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="flexrow"><label class="generic-label">Cost</label>
|
|
||||||
<input type="text" class="input-numeric-short padd-right" name="system.cost" value="{{data.cost}}" data-dtype="Number"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</section>
|
|
||||||
</form>
|
|
38
templates/items/partial-common-item-fields.hbs
Normal file
38
templates/items/partial-common-item-fields.hbs
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
<li class='flexrow'>
|
||||||
|
<label class='item-field-label-long'>
|
||||||
|
Focus Points Bonus
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type='text'
|
||||||
|
class='padd-right'
|
||||||
|
name='system.focuspointsbonus'
|
||||||
|
value="{{system.focuspointsbonus}}"
|
||||||
|
data-dtype='Number'
|
||||||
|
/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class='flexrow'>
|
||||||
|
<label class='item-field-label-long'>
|
||||||
|
Focus Regen Bonus
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type='text'
|
||||||
|
class='padd-right'
|
||||||
|
name='system.focusregenbonus'
|
||||||
|
value="{{system.focusregenbonus}}"
|
||||||
|
data-dtype='Number'
|
||||||
|
/>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class='flexrow'>
|
||||||
|
<label class='item-field-label-long'>
|
||||||
|
Burn Chance Bonus
|
||||||
|
</label>
|
||||||
|
<input
|
||||||
|
type='text'
|
||||||
|
class='padd-right'
|
||||||
|
name='system.burnchancebonus'
|
||||||
|
value="{{system.burnchancebonus}}"
|
||||||
|
data-dtype='Number'
|
||||||
|
/>
|
||||||
|
</li>
|
8
templates/items/partial-item-description.hbs
Normal file
8
templates/items/partial-item-description.hbs
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<div class="tab description" data-group="primary" data-tab="description">
|
||||||
|
<div>
|
||||||
|
<label class="generic-label">Description</label>
|
||||||
|
<div class="medium-editor item-text-long-line">
|
||||||
|
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
5
templates/items/partial-item-nav.hbs
Normal file
5
templates/items/partial-item-nav.hbs
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
{{!-- Sheet Tab Navigation --}}
|
||||||
|
<nav class="sheet-tabs tabs" data-group="primary">
|
||||||
|
<a class="item" data-tab="description">Description</a>
|
||||||
|
<a class="item" data-tab="details">Details</a>
|
||||||
|
</nav>
|
4
templates/items/partial-options-weapon-categories.hbs
Normal file
4
templates/items/partial-options-weapon-categories.hbs
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<option value="ranged">Ranged</option>
|
||||||
|
<option value="blunt">Blunt</option>
|
||||||
|
<option value="slash">Slash</option>
|
||||||
|
<option value="pierce">Pierce</option>
|
4
templates/items/partial-options-weapon-types.hbs
Normal file
4
templates/items/partial-options-weapon-types.hbs
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<option value="ranged">Ranged</option>
|
||||||
|
<option value="blunt">Blunt</option>
|
||||||
|
<option value="slash">Slash</option>
|
||||||
|
<option value="pierce">Pierce</option>
|
Reference in New Issue
Block a user