Various/changes from 30th may requestsé
This commit is contained in:
parent
cf4de99242
commit
0b0b74754f
@ -152,6 +152,10 @@ export class Hero6ActorSheet extends ActorSheet {
|
|||||||
const characKey = $(event.currentTarget).data("charac-key");
|
const characKey = $(event.currentTarget).data("charac-key");
|
||||||
this.actor.rollCharac(characKey);
|
this.actor.rollCharac(characKey);
|
||||||
});
|
});
|
||||||
|
html.find('.roll-perception').click((event) => {
|
||||||
|
this.actor.rollPerception("int");
|
||||||
|
});
|
||||||
|
|
||||||
html.find('.roll-direct').click((event) => {
|
html.find('.roll-direct').click((event) => {
|
||||||
const rollFormula = $(event.currentTarget).data("roll-formula")
|
const rollFormula = $(event.currentTarget).data("roll-formula")
|
||||||
const rollSource = $(event.currentTarget).data("roll-source")
|
const rollSource = $(event.currentTarget).data("roll-source")
|
||||||
|
@ -60,10 +60,15 @@ export class Hero6Actor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
computeHitPoints() {
|
computeDerivatedData() {
|
||||||
if (this.type == "character") {
|
if (this.type == "character") {
|
||||||
|
let newSTREND = this.computeSTREND()
|
||||||
|
if (newSTREND != this.system.characteristics.str.strend) {
|
||||||
|
this.update({ 'system.characteristics.str.strend': newSTREND })
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
computeDicesValue() {
|
computeDicesValue() {
|
||||||
this.system.biodata.presenceattack = Hero6Utility.getDerivatedDiceFormulas(this.system.characteristics.pre.value)
|
this.system.biodata.presenceattack = Hero6Utility.getDerivatedDiceFormulas(this.system.characteristics.pre.value)
|
||||||
this.system.characteristics.str.strdice = Hero6LiftDice.getLiftDice(this.system.characteristics.str.value)
|
this.system.characteristics.str.strdice = Hero6LiftDice.getLiftDice(this.system.characteristics.str.value)
|
||||||
@ -75,7 +80,7 @@ export class Hero6Actor extends Actor {
|
|||||||
if (this.type == 'character' || game.user.isGM) {
|
if (this.type == 'character' || game.user.isGM) {
|
||||||
this.system.encCapacity = this.getEncumbranceCapacity()
|
this.system.encCapacity = this.getEncumbranceCapacity()
|
||||||
this.buildContainerTree()
|
this.buildContainerTree()
|
||||||
this.computeHitPoints()
|
this.computeDerivatedData()
|
||||||
this.computeDicesValue()
|
this.computeDicesValue()
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -90,7 +95,10 @@ export class Hero6Actor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getEncumbranceCapacity() {
|
getEncumbranceCapacity() {
|
||||||
return 1;
|
let numLift = this.system.characteristics.str.lift.match(/\d*\s/g)
|
||||||
|
if (numLift && numLift[0] && Number(numLift[0])) {
|
||||||
|
return numLift[0] / 2
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -147,18 +155,6 @@ export class Hero6Actor extends Actor {
|
|||||||
return listItem
|
return listItem
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
getConditions() {
|
|
||||||
let comp = duplicate(this.items.filter(item => item.type == 'condition') || []);
|
|
||||||
Hero6Utility.sortArrayObjectsByName(comp)
|
|
||||||
return comp;
|
|
||||||
}
|
|
||||||
/* -------------------------------------------- */
|
|
||||||
getWeapons() {
|
|
||||||
let comp = duplicate(this.items.filter(item => item.type == 'weapon') || []);
|
|
||||||
Hero6Utility.sortArrayObjectsByName(comp)
|
|
||||||
return comp;
|
|
||||||
}
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getItemById(id) {
|
getItemById(id) {
|
||||||
let item = this.items.find(item => item.id == id);
|
let item = this.items.find(item => item.id == id);
|
||||||
@ -324,46 +320,16 @@ export class Hero6Actor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* ------------------------------------------- */
|
/* ------------------------------------------- */
|
||||||
async buildContainerTree() {
|
buildContainerTree() {
|
||||||
let equipments = duplicate(this.items.filter(item => item.type == "equipment") || [])
|
let equipments = duplicate(this.items.filter(item => item.type == "equipment") || []);
|
||||||
for (let equip1 of equipments) {
|
|
||||||
if (equip1.system.iscontainer) {
|
|
||||||
equip1.system.contents = []
|
|
||||||
equip1.system.contentsEnc = 0
|
|
||||||
for (let equip2 of equipments) {
|
|
||||||
if (equip1._id != equip2.id && equip2.system.containerid == equip1.id) {
|
|
||||||
equip1.system.contents.push(equip2)
|
|
||||||
let q = equip2.system.quantity ?? 1
|
|
||||||
equip1.system.contentsEnc += q * equip2.system.weight
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Compute whole enc
|
|
||||||
let enc = 0
|
let enc = 0
|
||||||
for (let item of equipments) {
|
for (let equip1 of equipments) {
|
||||||
//item.data.idrDice = Hero6Utility.getDiceFromLevel(Number(item.data.idr))
|
if (Number(equip1.system.weight) && Number(equip1.system.quantity)) {
|
||||||
if (item.system.equipped) {
|
enc += equip1.system.weight * equip1.system.quantity
|
||||||
if (item.system.iscontainer) {
|
|
||||||
enc += item.system.contentsEnc
|
|
||||||
} else if (item.system.containerid == "") {
|
|
||||||
let q = item.system.quantity ?? 1
|
|
||||||
enc += q * item.system.weight
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
for (let item of this.items) { // Process items/shields/armors
|
|
||||||
if ((item.type == "weapon" || item.type == "shield" || item.type == "armor") && item.system.equipped) {
|
|
||||||
let q = item.system.quantity ?? 1
|
|
||||||
enc += q * item.system.weight
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
// Store local values
|
// Store local values
|
||||||
this.encCurrent = enc
|
this.encCurrent = enc
|
||||||
this.containersTree = equipments.filter(item => item.system.containerid == "") // Returns the root of equipements without container
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -392,7 +358,7 @@ export class Hero6Actor extends Actor {
|
|||||||
} else {
|
} else {
|
||||||
await this.updateEmbeddedDocuments("Item", [{ _id: object.id, 'system.containerid': containerId }])
|
await this.updateEmbeddedDocuments("Item", [{ _id: object.id, 'system.containerid': containerId }])
|
||||||
}
|
}
|
||||||
} else if (object && object.system.containerid) { // remove from container
|
} else if (object?.system?.containerid) { // remove from container
|
||||||
console.log("Removeing: ", object)
|
console.log("Removeing: ", object)
|
||||||
await this.updateEmbeddedDocuments("Item", [{ _id: object.id, 'system.containerid': "" }]);
|
await this.updateEmbeddedDocuments("Item", [{ _id: object.id, 'system.containerid': "" }]);
|
||||||
}
|
}
|
||||||
@ -409,7 +375,7 @@ export class Hero6Actor extends Actor {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async equipGear(equipmentId) {
|
async equipGear(equipmentId) {
|
||||||
let item = this.items.find(item => item.id == equipmentId);
|
let item = this.items.find(item => item.id == equipmentId);
|
||||||
if (item && item.system) {
|
if (item?.system) {
|
||||||
let update = { _id: item.id, "system.equipped": !item.system.equipped };
|
let update = { _id: item.id, "system.equipped": !item.system.equipped };
|
||||||
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
|
await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity
|
||||||
}
|
}
|
||||||
@ -423,7 +389,7 @@ export class Hero6Actor extends Actor {
|
|||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getSegments() {
|
getSegments() {
|
||||||
let index = Math.min(Math.max(this.system.characteristics.spd.value, 1), 12) // Security bounds
|
let index = [ Math.min(Math.max(this.system.characteristics.spd.value, 1), 12) ] // Security bounds
|
||||||
return __speed2Segments[index]
|
return __speed2Segments[index]
|
||||||
}
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -485,6 +451,22 @@ export class Hero6Actor extends Actor {
|
|||||||
return skill;
|
return skill;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
computeSTREND() {
|
||||||
|
let newSTREND = 0
|
||||||
|
switch (this.system.characteristics.str.strendmode) {
|
||||||
|
case "str20":
|
||||||
|
newSTREND = Math.floor(this.system.characteristics.str.value / 20)
|
||||||
|
break;
|
||||||
|
case "str10":
|
||||||
|
newSTREND = Math.floor(this.system.characteristics.str.value / 10)
|
||||||
|
break;
|
||||||
|
case "str5":
|
||||||
|
newSTREND = Math.floor(this.system.characteristics.str.value / 5)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
return newSTREND
|
||||||
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async deleteAllItemsByType(itemType) {
|
async deleteAllItemsByType(itemType) {
|
||||||
let items = this.items.filter(item => item.type == itemType);
|
let items = this.items.filter(item => item.type == itemType);
|
||||||
@ -557,6 +539,18 @@ export class Hero6Actor extends Actor {
|
|||||||
|
|
||||||
return rollData
|
return rollData
|
||||||
}
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
rollPerception() {
|
||||||
|
let rollData = this.getCommonRollData("int")
|
||||||
|
rollData.isPerception = true
|
||||||
|
rollData.charac.roll = Number(rollData.charac.perceptionroll)
|
||||||
|
rollData.mode = "perception"
|
||||||
|
if (rollData.target) {
|
||||||
|
ui.notifications.warn("You are targetting a token with a skill : please use a Weapon instead.")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
this.startRoll(rollData)
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
rollCharac(chKey) {
|
rollCharac(chKey) {
|
||||||
@ -604,11 +598,12 @@ export class Hero6Actor extends Actor {
|
|||||||
async rollLiftDice() {
|
async rollLiftDice() {
|
||||||
let rollData = this.getCommonRollData()
|
let rollData = this.getCommonRollData()
|
||||||
rollData.mode = "lift-dice"
|
rollData.mode = "lift-dice"
|
||||||
rollData.diceFormula = Hero6Utility.convertRollHeroSyntax( Hero6LiftDice.getLiftDice(this.system.characteristics.str.value))
|
rollData.diceFormula = Hero6Utility.convertRollHeroSyntax(Hero6LiftDice.getLiftDice(this.system.characteristics.str.value))
|
||||||
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
let myRoll = new Roll(rollData.diceFormula).roll({ async: false })
|
||||||
await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||||
|
|
||||||
rollData.roll = myRoll
|
rollData.roll = duplicate(myRoll)
|
||||||
|
rollData.bodyValue = Hero6Utility.computeBodyValue(myRoll)
|
||||||
rollData.result = myRoll.total
|
rollData.result = myRoll.total
|
||||||
|
|
||||||
let msg = await Hero6Utility.createChatWithRollMode(rollData.alias, {
|
let msg = await Hero6Utility.createChatWithRollMode(rollData.alias, {
|
||||||
|
@ -123,9 +123,17 @@ export class Hero6Commands {
|
|||||||
let formula = params.join(' ')
|
let formula = params.join(' ')
|
||||||
if (formula) {
|
if (formula) {
|
||||||
let foundryFormula = Hero6Utility.convertRollHeroSyntax(formula)
|
let foundryFormula = Hero6Utility.convertRollHeroSyntax(formula)
|
||||||
|
|
||||||
let myRoll = new Roll(foundryFormula).roll({ async: false })
|
let myRoll = new Roll(foundryFormula).roll({ async: false })
|
||||||
await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||||
myRoll.toMessage()
|
let bodyValue = Hero6Utility.computeBodyValue(myRoll)
|
||||||
|
|
||||||
|
let msgFlavor = await renderTemplate('systems/fvtt-hero-system-6/templates/chat/chat-hr-roll.hbs', {myRoll, bodyValue} )
|
||||||
|
let msg = await myRoll.toMessage({
|
||||||
|
user: game.user.id,
|
||||||
|
rollMode: game.settings.get("core", "rollMode"),
|
||||||
|
flavor: msgFlavor
|
||||||
|
})
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
return false
|
return false
|
||||||
|
@ -53,7 +53,7 @@ export class Hero6RollDialog extends Dialog {
|
|||||||
activateListeners(html) {
|
activateListeners(html) {
|
||||||
super.activateListeners(html);
|
super.activateListeners(html);
|
||||||
|
|
||||||
var dialog = this;
|
let dialog = this;
|
||||||
function onLoad() {
|
function onLoad() {
|
||||||
}
|
}
|
||||||
$(function () { onLoad(); });
|
$(function () { onLoad(); });
|
||||||
|
@ -367,20 +367,24 @@ export class Hero6Utility {
|
|||||||
rollData.result = roll.total
|
rollData.result = roll.total
|
||||||
rollData.bodyValue = this.computeBodyValue(rollData.roll)
|
rollData.bodyValue = this.computeBodyValue(rollData.roll)
|
||||||
|
|
||||||
this.outputRollMessage(rollData)
|
this.outputRollMessage(rollData).catch(function() { ui.notifications.warn("Error during message output.") })
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------- ----------------------------- */
|
/* -------------- ----------------------------- */
|
||||||
static async outputRollMessage(rollData) {
|
static async outputRollMessage(rollData) {
|
||||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
let msgFlavor = await renderTemplate(`systems/fvtt-hero-system-6/templates/chat/chat-generic-result.hbs`, rollData)
|
||||||
content: await renderTemplate(`systems/fvtt-hero-system-6/templates/chat/chat-generic-result.hbs`, rollData)
|
let msg = await rollData.roll.toMessage({
|
||||||
|
user: game.user.id,
|
||||||
|
rollMode: game.settings.get("core", "rollMode"),
|
||||||
|
flavor: msgFlavor
|
||||||
})
|
})
|
||||||
|
rollData.roll = duplicate(rollData.roll) // Convert to object
|
||||||
msg.setFlag("world", "rolldata", rollData)
|
msg.setFlag("world", "rolldata", rollData)
|
||||||
console.log("Rolldata result", rollData)
|
console.log("Rolldata result", rollData)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------- ----------------------------- */
|
/* -------------- ----------------------------- */
|
||||||
static convertRollHeroSyntax( hero6Formula) {
|
static convertRollHeroSyntax(hero6Formula) {
|
||||||
// Ensure we have no space at all
|
// Ensure we have no space at all
|
||||||
//hero6Formula = hero6Formula.replace(/\s/g, '')
|
//hero6Formula = hero6Formula.replace(/\s/g, '')
|
||||||
let hasHalfDice = ""
|
let hasHalfDice = ""
|
||||||
@ -433,7 +437,7 @@ export class Hero6Utility {
|
|||||||
static blindMessageToGM(chatOptions) {
|
static blindMessageToGM(chatOptions) {
|
||||||
let chatGM = duplicate(chatOptions);
|
let chatGM = duplicate(chatOptions);
|
||||||
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 = "Blind message of " + game.user.name + "<br>" + chatOptions.content;
|
||||||
console.log("blindMessageToGM", chatGM);
|
console.log("blindMessageToGM", chatGM);
|
||||||
game.socket.emit("system.fvtt-hero-system-6", { msg: "msg_gm_chat_message", data: chatGM });
|
game.socket.emit("system.fvtt-hero-system-6", { msg: "msg_gm_chat_message", data: chatGM });
|
||||||
}
|
}
|
||||||
|
@ -39,9 +39,9 @@
|
|||||||
{"name":"Concealment","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Concealment","description":"Concealment represents a character’s ability to hide things and to find things which others have hidden — important papers, weapons, jewels, arti- facts, drugs, and so forth.","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Intellect","characteristic":"INT","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505024,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"YfLechAkLdcHGPCm"}
|
{"name":"Concealment","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Concealment","description":"Concealment represents a character’s ability to hide things and to find things which others have hidden — important papers, weapons, jewels, arti- facts, drugs, and so forth.","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Intellect","characteristic":"INT","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505024,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"YfLechAkLdcHGPCm"}
|
||||||
{"name":"Security Systems","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Security Systems","description":"A character with Security Systems can locate, recognize, evade, and build various types of alarms and traps. This usually requires the proper equipment, and often a lot of time (one Turn or longer) as well.","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Intellect","characteristic":"INT","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505024,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"bBoNhL0myNTylcHm"}
|
{"name":"Security Systems","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Security Systems","description":"A character with Security Systems can locate, recognize, evade, and build various types of alarms and traps. This usually requires the proper equipment, and often a lot of time (one Turn or longer) as well.","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Intellect","characteristic":"INT","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505024,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"bBoNhL0myNTylcHm"}
|
||||||
{"name":"Transport Familiarity","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Transport Familiarity","description":"This Background Skill allows characters to drive or pilot specific types of vehicles, or ride a living mount, under routine conditions (combat or crisis conditions require other Skills listed above).\nEach Transport Familiarity (TF) costs 2 Character Points. The character must select one of the following groups of vehicles:\n\nRiding Animals (horses, camels, elephants, and so on)\nGround Vehicles (cars, trucks, trains, motorcycles, sleds, snowmobiles)\nWater Vehicles (rowed boats, sailed boats, motorized boats)\nAir Vehicles (airplanes, helicopters) Space Vehicles (spaceships, starships) Mecha\nCharacters can purchase a TF with a single specific type of vehicle for 1 Character Point. This includes not only individual vehicles (Ford Mus- tangs, Los Angeles-class submarines) but recreational “vehicles” (such as SCUBA, Parachuting, Snow Skiing, or the like).","notes":"","effects":"","cost":"","activecost":"","basecost":"","value":"","modifiers":"","skilltype":"Background","characteristic":"","base":"","levelscost":"","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505028,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"bstMbLdHkP16NpyE"}
|
{"name":"Transport Familiarity","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Transport Familiarity","description":"This Background Skill allows characters to drive or pilot specific types of vehicles, or ride a living mount, under routine conditions (combat or crisis conditions require other Skills listed above).\nEach Transport Familiarity (TF) costs 2 Character Points. The character must select one of the following groups of vehicles:\n\nRiding Animals (horses, camels, elephants, and so on)\nGround Vehicles (cars, trucks, trains, motorcycles, sleds, snowmobiles)\nWater Vehicles (rowed boats, sailed boats, motorized boats)\nAir Vehicles (airplanes, helicopters) Space Vehicles (spaceships, starships) Mecha\nCharacters can purchase a TF with a single specific type of vehicle for 1 Character Point. This includes not only individual vehicles (Ford Mus- tangs, Los Angeles-class submarines) but recreational “vehicles” (such as SCUBA, Parachuting, Snow Skiing, or the like).","notes":"","effects":"","cost":"","activecost":"","basecost":"","value":"","modifiers":"","skilltype":"Background","characteristic":"","base":"","levelscost":"","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505028,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"bstMbLdHkP16NpyE"}
|
||||||
|
{"name":"Charm","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Charm","description":"Charm is the ability to gain others’ trust (and perhaps even friendship) by offering companionship or favors. This Skill is normally only for use on NPCs; a player should have more control over his character’s actions. The GM may rule that Charm can be used on a PC when it fits his Complications or personality.","notes":"","effects":"","cost":null,"activecost":null,"basecost":3,"value":"","modifiers":"","skilltype":"interaction","characteristic":"PRE","base":"","levelscost":2,"levels":null,"skilllevelonly":0,"skillfamiliarity":0,"skilleveryman":false,"skillprofiency":0,"plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.39","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1686003305741,"lastModifiedBy":"psfGTCIZQgpI1hvV"},"ownership":{"default":0,"psfGTCIZQgpI1hvV":3},"folder":null,"sort":0,"_id":"ddpdwDnfixUNP0eF"}
|
||||||
{"name":"Streetwise","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Streetwise","description":"Streetwise gives a character knowledge of the seamy side of civilization. He knows how to find the black market, talk to thugs and criminals, gain information, deal with organized (and not so organized) crime figures, and so on.","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Interaction","characteristic":"PRE","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505023,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"gIYMsOzBOnRNRCLv"}
|
{"name":"Streetwise","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Streetwise","description":"Streetwise gives a character knowledge of the seamy side of civilization. He knows how to find the black market, talk to thugs and criminals, gain information, deal with organized (and not so organized) crime figures, and so on.","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Interaction","characteristic":"PRE","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505023,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"gIYMsOzBOnRNRCLv"}
|
||||||
{"name":"Tracking","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Tracking","description":"Characters with Tracking can follow a trail by observing tracks, marks, broken twigs and so forth, and also know how to hide tracks.","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Intellect","characteristic":"INT","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505027,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"gpzcF5naO9H3vNzi"}
|
{"name":"Tracking","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Tracking","description":"Characters with Tracking can follow a trail by observing tracks, marks, broken twigs and so forth, and also know how to hide tracks.","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Intellect","characteristic":"INT","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505027,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"gpzcF5naO9H3vNzi"}
|
||||||
{"name":"Charm","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Charm","description":"Charm is the ability to gain others’ trust (and perhaps even friendship) by offering companionship or favors. This Skill is normally only for use on NPCs; a player should have more control over his character’s actions. The GM may rule that Charm can be used on a PC when it fits his Complications or personality.","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Interaction","characteristic":"PRE","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505026,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"hZxL8I4mNlTsA9xQ"}
|
|
||||||
{"name":"Systems Operation","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Systems Operation","description":"Characters with Systems Operation know how to operate sensing and communication devices properly. It does not cover navigational equipment (that’s Navigation) or encoding transmissions (that’s Cryptography).","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Intellect","characteristic":"INT","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505025,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"j7rkLue81LaHIzz7"}
|
{"name":"Systems Operation","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Systems Operation","description":"Characters with Systems Operation know how to operate sensing and communication devices properly. It does not cover navigational equipment (that’s Navigation) or encoding transmissions (that’s Cryptography).","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Intellect","characteristic":"INT","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505025,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"j7rkLue81LaHIzz7"}
|
||||||
{"name":"Ventriloquism","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Ventriloquism","description":"A character with Ventriloquism can make his voice sound as if it’s coming from somewhere other than himself, and can speak without apparently moving his lips. Ventriloquism is detected with a PER Roll in a Skill Versus Skill Contest. A Ventriloquism roll takes a -1 for every 2m of distance between the ventriloquist and the point where the voice “speaks.”","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Intellect","characteristic":"INT","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505026,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"jFd7i04Eu1FLCEpJ"}
|
{"name":"Ventriloquism","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"Ventriloquism","description":"A character with Ventriloquism can make his voice sound as if it’s coming from somewhere other than himself, and can speak without apparently moving his lips. Ventriloquism is detected with a PER Roll in a Skill Versus Skill Contest. A Ventriloquism roll takes a -1 for every 2m of distance between the ventriloquist and the point where the voice “speaks.”","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Intellect","characteristic":"INT","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505026,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"jFd7i04Eu1FLCEpJ"}
|
||||||
{"name":"High Society","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"High Society","description":"Characters with High Society know about upper-class culture and how to interact with it: what clothes to wear, which fork to use for shrimp, who’s who, the gossip and “court politics” applicable to the situation, and so forth.","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Interaction","characteristic":"PRE","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505025,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"m40buQ4y7AzWbrA9"}
|
{"name":"High Society","type":"skill","img":"systems/fvtt-hero-system-6/images/icons/HeroIcon-Skills.webp","system":{"displayname":"High Society","description":"Characters with High Society know about upper-class culture and how to interact with it: what clothes to wear, which fork to use for shrimp, who’s who, the gossip and “court politics” applicable to the situation, and so forth.","notes":"","effects":"","cost":"","activecost":"","basecost":"3","value":"","modifiers":"","skilltype":"Interaction","characteristic":"PRE","base":"","levelscost":"2","levels":"","plusonecost":0,"skillroll":""},"effects":[],"flags":{"core":{"sourceId":"Item.KBoef00TNP73lDg0"}},"_stats":{"systemId":"fvtt-hero-system-6","systemVersion":"10.0.4","coreVersion":"10.291","createdTime":1671911635138,"modifiedTime":1674948505025,"lastModifiedBy":"PNdow54uXjPLt2Zr"},"folder":null,"sort":0,"ownership":{"default":0,"PNdow54uXjPLt2Zr":3},"_id":"m40buQ4y7AzWbrA9"}
|
||||||
|
@ -1,60 +0,0 @@
|
|||||||
{{!-- Carac Tab --}}
|
|
||||||
<div class="tab items" data-group="primary" data-tab="statistics">
|
|
||||||
|
|
||||||
<div class="grid grid-2col">
|
|
||||||
<div class="">
|
|
||||||
<div class="flexrow">
|
|
||||||
<span class="generic-label packed-left"><a class="generic-pool-roll"><button class="chat-card-button">Dice Pool</button></a></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="">
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li class="item flexrow list-item" data-key="momentum">
|
|
||||||
<span class="stat-label flexrow" name="momentum"> <h4>{{data.momentum.label}}</h4> </span>
|
|
||||||
<input type="text" class="padd-right" name="data.momentum.value" value="{{data.momentum.value}}" data-dtype="Number"/>
|
|
||||||
<input type="text" class="padd-right" name="data.momentum.max" value="{{data.momentum.max}}" data-dtype="Number"/>
|
|
||||||
</li>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
|
|
||||||
<ul>
|
|
||||||
<li class="item flexrow list-item" data-key="mr">
|
|
||||||
<span class="stat-label flexrow" name="mr">
|
|
||||||
<a class="roll-mr" data-stat-key="{{mr}}"><h4>{{data.mr.label}}</h4></a>
|
|
||||||
</span>
|
|
||||||
<select class="carac-base flexrow" type="text" name="data.mr.value" value="{{data.mr.value}}"
|
|
||||||
data-dtype="Number" >
|
|
||||||
{{#select data.mr.value}}
|
|
||||||
{{{@root.optionsDiceList}}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
<input type="text" class="padd-right input-numeric-short" name="data.mr.mod" value="{{data.mr.mod}}" data-dtype="Number"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
|
|
||||||
<li class="item flexrow list-item" data-attr-key="{{key}}">
|
|
||||||
{{#each data.secondary as |stat2 key|}}
|
|
||||||
{{#if stat2.iscombat}}
|
|
||||||
<span class="stat-label" name="{{key}}">
|
|
||||||
<h4>{{stat2.label}} : </h4>
|
|
||||||
</span>
|
|
||||||
<span class="small-label padd-right packed-left">Cur</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.secondary.{{key}}.value" value="{{stat2.value}}" data-dtype="Number"/>
|
|
||||||
<span class="small-label padd-right packed-left"> Max</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.secondary.{{key}}.max" value="{{stat2.max}}" data-dtype="Number"/>
|
|
||||||
{{/if}}
|
|
||||||
{{/each}}
|
|
||||||
</li>
|
|
||||||
<li class="item flexrow list-item" data-key="momentum">
|
|
||||||
<span class="stat-label flexrow" name="momentum"><h4>{{data.momentum.label}}:</h4></span>
|
|
||||||
<span class="small-label padd-right packed-left">Cur</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.momentum.value" value="{{data.momentum.value}}" data-dtype="Number"/>
|
|
||||||
<span class="small-label padd-right packed-left"> Max</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.momentum.max" value="{{data.momentum.max}}" data-dtype="Number"/>
|
|
||||||
</li>
|
|
@ -91,15 +91,15 @@
|
|||||||
"styles": [
|
"styles": [
|
||||||
"styles/simple.css"
|
"styles/simple.css"
|
||||||
],
|
],
|
||||||
"version": "10.0.37",
|
"version": "10.0.40",
|
||||||
"compatibility": {
|
"compatibility": {
|
||||||
"minimum": "10",
|
"minimum": "10",
|
||||||
"verified": "10",
|
"verified": "10",
|
||||||
"maximum": "10"
|
"maximum": "11"
|
||||||
},
|
},
|
||||||
"title": "Hero System v6 for FoundrtVTT (Official)",
|
"title": "Hero System v6 for FoundrtVTT (Official)",
|
||||||
"manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/raw/branch/main/system.json",
|
"manifest": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/raw/branch/main/system.json",
|
||||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/archive/fvtt-hero-system-6-v10.0.37.zip",
|
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/archive/fvtt-hero-system-6-v10.0.40.zip",
|
||||||
"url": "https://www.uberwald.me/gitea/uberwald/",
|
"url": "https://www.uberwald.me/gitea/uberwald/",
|
||||||
"background": "images/ui/hro6_welcome_page.webp",
|
"background": "images/ui/hro6_welcome_page.webp",
|
||||||
"id": "fvtt-hero-system-6"
|
"id": "fvtt-hero-system-6"
|
||||||
|
@ -43,9 +43,10 @@
|
|||||||
"value": 10,
|
"value": 10,
|
||||||
"base": 10,
|
"base": 10,
|
||||||
"category": "main",
|
"category": "main",
|
||||||
"strdice": "",
|
"strdice": "1d6",
|
||||||
"lift": "",
|
"lift": "",
|
||||||
"strend": 0,
|
"strend": 0,
|
||||||
|
"strendmode": "str10",
|
||||||
"hasroll": true,
|
"hasroll": true,
|
||||||
"realcost": 0,
|
"realcost": 0,
|
||||||
"activecost": 0
|
"activecost": 0
|
||||||
@ -331,7 +332,7 @@
|
|||||||
"senseaffecting": false,
|
"senseaffecting": false,
|
||||||
"modifiers": [],
|
"modifiers": [],
|
||||||
"levels": 0,
|
"levels": 0,
|
||||||
"quantity": 0,
|
"quantity": 1,
|
||||||
"range": "",
|
"range": "",
|
||||||
"damage": "",
|
"damage": "",
|
||||||
"endurance": 0,
|
"endurance": 0,
|
||||||
|
@ -125,11 +125,22 @@
|
|||||||
<label class="item-field-label-medium">STR Dice</label>
|
<label class="item-field-label-medium">STR Dice</label>
|
||||||
<a class="roll-lift-dice"><i class="fas fa-dice"></i>{{characteristics.str.strdice}}</a>
|
<a class="roll-lift-dice"><i class="fas fa-dice"></i>{{characteristics.str.strdice}}</a>
|
||||||
<label class="item-field-label-short"> </label>
|
<label class="item-field-label-short"> </label>
|
||||||
|
|
||||||
<label class="item-field-label-medium">Lift</label>
|
<label class="item-field-label-medium">Lift</label>
|
||||||
<input type="text" class="item-field-label-short update-field" disabled data-field-name="system.characteristics.str.lift" value="{{characteristics.str.lift}}" data-dtype="String" />
|
<input type="text" class="item-field-label-short update-field" disabled data-field-name="system.characteristics.str.lift" value="{{characteristics.str.lift}}" data-dtype="String" />
|
||||||
<label class="item-field-label-short"> </label>
|
<label class="item-field-label-short"> </label>
|
||||||
|
</li>
|
||||||
|
<li class="item">
|
||||||
<label class="item-field-label-medium">STR END</label>
|
<label class="item-field-label-medium">STR END</label>
|
||||||
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.str.strend" value="{{characteristics.str.strend}}" data-dtype="Number" />
|
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.str.strend" disabled value="{{characteristics.str.strend}}" data-dtype="Number" />
|
||||||
|
<select class="actor-computer-str-end" name="system.characteristics.str.strendmode" value="{{system.characteristics.str.strendmode}}">
|
||||||
|
{{#select system.characteristics.str.strendmode}}
|
||||||
|
<option value="str20">STR/20 (half normal)</option>
|
||||||
|
<option value="str10">STR/10 (normal, half heroic)</option>
|
||||||
|
<option value="str5">STR/5 (heroic)</option>
|
||||||
|
<option value="0">0</option>
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
</li>
|
</li>
|
||||||
<li class="flexrow item">
|
<li class="flexrow item">
|
||||||
<label class="item-field-label-long">Presence attack</label>
|
<label class="item-field-label-long">Presence attack</label>
|
||||||
@ -220,10 +231,10 @@
|
|||||||
<label class="">Defenses</label>
|
<label class="">Defenses</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-short">
|
<span class="item-field-label-short">
|
||||||
<label class="short-label">Val</label>
|
<label class="short-label">Normal</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-short">
|
<span class="item-field-label-short">
|
||||||
<label class="short-label">Res</label>
|
<label class="short-label">Resistant</label>
|
||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
{{#each characteristics as |char key|}}
|
{{#each characteristics as |char key|}}
|
||||||
@ -286,7 +297,9 @@
|
|||||||
</span>
|
</span>
|
||||||
</li>
|
</li>
|
||||||
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
|
<li class="item flexrow list-item list-item-shadow" data-charac-key="{{key}}">
|
||||||
<span class="item-field-label-long">Perception Roll</span>
|
<span class="item-field-label-long">
|
||||||
|
<a class="roll-perception"><i class="fas fa-dice"></i>Perception Roll</a>
|
||||||
|
</span>
|
||||||
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.int.perceptionroll" value="{{characteristics.int.perceptionroll}}" data-dtype="Number" />
|
<input type="text" class="item-field-label-short update-field" data-field-name="system.characteristics.int.perceptionroll" value="{{characteristics.int.perceptionroll}}" data-dtype="Number" />
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
@ -514,11 +527,11 @@
|
|||||||
<span class="item-field-label-short">
|
<span class="item-field-label-short">
|
||||||
<label class="item-field-label-short">Cost</label>
|
<label class="item-field-label-short">Cost</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-medium">
|
<span class="item-field-label-long3">
|
||||||
<label class="item-field-label-medium">Name</label>
|
<label class="item-field-label-long3">Name</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-long4">
|
<span class="item-field-label-long2">
|
||||||
<label class="item-field-label-long4">Display</label>
|
<label class="item-field-label-long2">Display</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-medium">
|
<span class="item-field-label-medium">
|
||||||
<label class="item-field-label-medium">Effect</label>
|
<label class="item-field-label-medium">Effect</label>
|
||||||
@ -535,8 +548,8 @@
|
|||||||
<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="{{power.img}}" /></a>
|
src="{{power.img}}" /></a>
|
||||||
<span class="item-field-label-short">{{power.system.cost}}</span>
|
<span class="item-field-label-short">{{power.system.cost}}</span>
|
||||||
<span class="item-field-label-medium">{{power.name}}</span>
|
<span class="item-field-label-long3">{{power.name}}</span>
|
||||||
<span class="item-field-label-long4">{{power.system.displayname}}</span>
|
<span class="item-field-label-long2">{{power.system.displayname}}</span>
|
||||||
<span class="item-field-label-medium"><a class="roll-damage" data-type="power"><i class="fas fa-dice"></i>{{power.system.damage}}</a></span>
|
<span class="item-field-label-medium"><a class="roll-damage" data-type="power"><i class="fas fa-dice"></i>{{power.system.damage}}</a></span>
|
||||||
{{#if power.system.hasroll}}
|
{{#if power.system.hasroll}}
|
||||||
<span class="item-field-label-short"><a class="roll-item" data-type="power"><i class="fas fa-dice"></i>{{power.system.roll}}-</a></span>
|
<span class="item-field-label-short"><a class="roll-item" data-type="power"><i class="fas fa-dice"></i>{{power.system.roll}}-</a></span>
|
||||||
@ -651,31 +664,31 @@
|
|||||||
{{!-- Notes Tab --}}
|
{{!-- Notes Tab --}}
|
||||||
<div class="tab notes" data-group="primary" data-tab="notes">
|
<div class="tab notes" data-group="primary" data-tab="notes">
|
||||||
<h3>Notes 1 : </h3>
|
<h3>Notes 1 : </h3>
|
||||||
<div class="form-group editor">
|
<div class="medium-editor ">
|
||||||
{{editor notes1 target="system.biodata.notes1" button=true owner=owner
|
{{editor notes1 target="system.biodata.notes1" button=true owner=owner
|
||||||
editable=editable}}
|
editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<h3>Notes 2 : </h3>
|
<h3>Notes 2 : </h3>
|
||||||
<div class="form-group editor">
|
<div class="small-editor">
|
||||||
{{editor notes2 target="system.biodata.notes2" button=true owner=owner
|
{{editor notes2 target="system.biodata.notes2" button=true owner=owner
|
||||||
editable=editable}}
|
editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<h3>Notes 3 : </h3>
|
<h3>Notes 3 : </h3>
|
||||||
<div class="form-group editor">
|
<div class="small-editor">
|
||||||
{{editor notes3 target="system.biodata.notes3" button=true owner=owner
|
{{editor notes3 target="system.biodata.notes3" button=true owner=owner
|
||||||
editable=editable}}
|
editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<h3>Notes 4 : </h3>
|
<h3>Notes 4 : </h3>
|
||||||
<div class="form-group editor">
|
<div class="small-editor">
|
||||||
{{editor notes4 target="system.biodata.notes4" button=true owner=owner
|
{{editor notes4 target="system.biodata.notes4" button=true owner=owner
|
||||||
editable=editable}}
|
editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
<hr>
|
<hr>
|
||||||
<h3>Notes 5 : </h3>
|
<h3>Notes 5 : </h3>
|
||||||
<div class="form-group editor">
|
<div class="small-editor">
|
||||||
{{editor notes5 target="system.biodata.notes5" button=true owner=owner
|
{{editor notes5 target="system.biodata.notes5" button=true owner=owner
|
||||||
editable=editable}}
|
editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
|
|
||||||
{{#if charac}}
|
{{#if charac}}
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="item-field-label-long margin-item-list">Characteristic : </span>
|
<span class="item-field-label-long margin-item-list">{{#if isPerception}}Perception{{else}}Characteristic{{/if}} : </span>
|
||||||
<span class="item-field-label-medium margin-item-list">{{charac.roll}}-</span>
|
<span class="item-field-label-medium margin-item-list">{{charac.roll}}-</span>
|
||||||
</div>
|
</div>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
3
templates/chat/chat-hr-roll.hbs
Normal file
3
templates/chat/chat-hr-roll.hbs
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
<div>
|
||||||
|
BODY : {{bodyValue}}
|
||||||
|
</div>
|
@ -19,6 +19,7 @@
|
|||||||
<div>
|
<div>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Lift dice formula : {{diceFormula}}</li>
|
<li>Lift dice formula : {{diceFormula}}</li>
|
||||||
|
<li>BODY : {{bodyValue}}</li>
|
||||||
|
|
||||||
<li><strong>Result : {{result}}</strong></li>
|
<li><strong>Result : {{result}}</strong></li>
|
||||||
|
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<form class="{{cssClass}}" autocomplete="off">
|
<form class="{{cssClass}}" autocomplete="off">
|
||||||
<header class="sheet-header">
|
<header class="sheet-header">
|
||||||
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||||
<div class="header-fields">
|
<div class="header-fields">
|
||||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||||
</div>
|
</div>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
@ -16,10 +16,38 @@
|
|||||||
<div class="tab details" data-group="primary" data-tab="details">
|
<div class="tab details" data-group="primary" data-tab="details">
|
||||||
<ul>
|
<ul>
|
||||||
|
|
||||||
{{> systems/fvtt-hero-system-6/templates/partials/partial-power-equipment-cost.hbs}}
|
<li class="flexrow"><label class="item-field-label-long">Equipped ?</label>
|
||||||
|
<label class="item-field-label-medium"><input type="checkbox" name="system.equipped" {{checked
|
||||||
|
system.equipped}} /></label>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long">Quantity</label>
|
||||||
|
<input type="text" class="item-field-label-short" name="system.quantity" value="{{system.quantity}}"
|
||||||
|
data-dtype="Number" />
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow">
|
||||||
|
<label class="item-field-label-long">Value</label>
|
||||||
|
<input type="text" class="item-field-label-medium input-numeric-short padd-right" name="system.value"
|
||||||
|
value="{{system.value}}" data-dtype="Number" />
|
||||||
|
|
||||||
|
<label class="item-field-label-long">Total Value</label>
|
||||||
|
<label class="item-field-label-long">{{mul system.value system.quantity}}</label>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
<li class="flexrow"><label class="item-field-label-long">Weight</label>
|
||||||
|
<input type="text" class="item-field-label-medium input-numeric-short padd-right" name="system.weight"
|
||||||
|
value="{{system.weight}}" data-dtype="Number" />
|
||||||
|
|
||||||
|
<label class="item-field-label-long">Total Weight</label>
|
||||||
|
<label class="item-field-label-long">{{mul system.weight system.quantity}}</label>
|
||||||
|
</li>
|
||||||
|
|
||||||
|
{{> systems/fvtt-hero-system-6/templates/partials/partial-power-equipment-cost.hbs quantityDone=1}}
|
||||||
|
|
||||||
<li class="flexrow"><label class="item-field-label-long">Subtype</label>
|
<li class="flexrow"><label class="item-field-label-long">Subtype</label>
|
||||||
<select class="item-field-label-long" type="text" name="system.subtype" value="{{system.subtype}}" data-dtype="String">
|
<select class="item-field-label-long" type="text" name="system.subtype" value="{{system.subtype}}"
|
||||||
|
data-dtype="String">
|
||||||
{{#select system.subtype}}
|
{{#select system.subtype}}
|
||||||
{{#each config.equipmentSubType as |name key|}}
|
{{#each config.equipmentSubType as |name key|}}
|
||||||
<option value="{{key}}">{{name}}</option>
|
<option value="{{key}}">{{name}}</option>
|
||||||
@ -28,16 +56,9 @@
|
|||||||
</select>
|
</select>
|
||||||
</li>
|
</li>
|
||||||
|
|
||||||
<li class="flexrow"><label class="item-field-label-long">Equipped ?</label>
|
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-hasroll.hbs}}
|
||||||
<label class="item-field-label-medium"><input type="checkbox" name="system.equipped" {{checked system.equipped}}/></label>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
<li class="flexrow"><label class="item-field-label-long">Weight</label>
|
|
||||||
<input type="text" class="item-field-label-medium input-numeric-short padd-right" name="system.weight" value="{{system.weight}}" data-dtype="Number"/>
|
|
||||||
</li>
|
|
||||||
<li class="flexrow"><label class="item-field-label-long">Value</label>
|
|
||||||
<input type="text" class="item-field-label-medium input-numeric-short padd-right" name="system.value" value="{{system.value}}" data-dtype="Number"/>
|
|
||||||
</li>
|
|
||||||
|
|
||||||
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs}}
|
{{> systems/fvtt-hero-system-6/templates/partials/partial-item-cost.hbs}}
|
||||||
|
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
<span class="item-name-img">
|
<span class="item-name-img">
|
||||||
<label class=""> </label>
|
<label class=""> </label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-long-img">
|
<span class="item-field-label-long3">
|
||||||
<label class="">{{title}}</label>
|
<label class="item-field-label-long3">{{title}}</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-long4">
|
<span class="item-field-label-long">
|
||||||
<label class="item-field-label-long4">Display</label>
|
<label class="item-field-label-long4">Display</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-short">
|
<span class="item-field-label-short">
|
||||||
@ -15,9 +15,16 @@
|
|||||||
<span class="item-field-label-short">
|
<span class="item-field-label-short">
|
||||||
<label class="item-field-label-short">Roll</label>
|
<label class="item-field-label-short">Roll</label>
|
||||||
</span>
|
</span>
|
||||||
<span class="item-field-label-medium">
|
<span class="item-field-label-short">
|
||||||
<label class="item-field-label-medium">END</label>
|
<label class="item-field-label-short">END</label>
|
||||||
</span>
|
</span>
|
||||||
|
<span class="item-field-label-short">
|
||||||
|
<label class="item-field-label-short">Value</label>
|
||||||
|
</span>
|
||||||
|
<span class="item-field-label-short">
|
||||||
|
<label class="item-field-label-short">Weight</label>
|
||||||
|
</span>
|
||||||
|
<div class="item-filler"> </div>
|
||||||
<div class="item-controls item-controls-fixed">
|
<div class="item-controls item-controls-fixed">
|
||||||
<a class="item-control item-add" data-type="equipment" title="Create Item"><i class="fas fa-plus"></i></a>
|
<a class="item-control item-add" data-type="equipment" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||||
</div>
|
</div>
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{equip._id}}">
|
<li class="item flexrow list-item list-item-shadow" data-item-id="{{equip._id}}">
|
||||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{equip.img}}" /></a>
|
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{equip.img}}" /></a>
|
||||||
<span class="item-name-label">{{equip.name}}</span>
|
<span class="item-field-label-long3">{{equip.name}}</span>
|
||||||
|
|
||||||
<span class="item-field-label-long4"><label>{{equip.system.displayname}}
|
<span class="item-field-label-long"><label>{{equip.system.displayname}}
|
||||||
</label>
|
</label>
|
||||||
</span>
|
</span>
|
||||||
|
|
||||||
@ -16,9 +16,11 @@
|
|||||||
<span class="item-field-label-short"> </span>
|
<span class="item-field-label-short"> </span>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
<span class="item-field-label-medium"><label>{{equip.system.endurance}}
|
<span class="item-field-label-short"><label>{{equip.system.endurance}}</label> </span>
|
||||||
</label>
|
|
||||||
</span>
|
<span class="item-field-label-short"><label>{{equip.system.value}}</label> </span>
|
||||||
|
|
||||||
|
<span class="item-field-label-short"><label>{{equip.system.weight}}</label> </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">
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
<label class="generic-label">Notes</label>
|
<label class="generic-label">Notes</label>
|
||||||
<div class="medium-editor item-text-long-line">
|
<div class="small-editor item-text-long-line">
|
||||||
{{editor notes target="system.notes" button=true owner=owner editable=editable}}
|
{{editor notes target="system.notes" button=true owner=owner editable=editable}}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -31,6 +31,9 @@
|
|||||||
<li class="flexrow"><label class="item-field-label-long">Endurance</label>
|
<li class="flexrow"><label class="item-field-label-long">Endurance</label>
|
||||||
<input type="text" class="item-field-label-short" name="system.endurance" value="{{system.endurance}}" data-dtype="Number"/>
|
<input type="text" class="item-field-label-short" name="system.endurance" value="{{system.endurance}}" data-dtype="Number"/>
|
||||||
</li>
|
</li>
|
||||||
|
{{#if quantityDone}}
|
||||||
|
{{else}}
|
||||||
<li class="flexrow"><label class="item-field-label-long">Quantity</label>
|
<li class="flexrow"><label class="item-field-label-long">Quantity</label>
|
||||||
<input type="text" class="item-field-label-short" name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
|
<input type="text" class="item-field-label-short" name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
|
||||||
</li>
|
</li>
|
||||||
|
{{/if}}
|
||||||
|
Loading…
Reference in New Issue
Block a user