All fixes requested
This commit is contained in:
		| @@ -163,6 +163,16 @@ export class Hero6ActorSheet extends ActorSheet { | ||||
|       let itemId = li.data("item-id") | ||||
|       this.actor.rollItem(itemId); | ||||
|     }); | ||||
|     html.find('.roll-damage').click((event) => { | ||||
|       const li = $(event.currentTarget).parents(".item"); | ||||
|       let itemId = li.data("item-id") | ||||
|       this.actor.rollDamage(itemId); | ||||
|     }); | ||||
|     html.find('.roll-lift-dice').click((event) => { | ||||
|       const li = $(event.currentTarget).parents(".item"); | ||||
|       let itemId = li.data("item-id") | ||||
|       this.actor.rollLiftDice(itemId); | ||||
|     }); | ||||
|      | ||||
|     html.find('.roll-weapon').click((event) => { | ||||
|       const li = $(event.currentTarget).parents(".item"); | ||||
|   | ||||
| @@ -1,11 +1,12 @@ | ||||
| /* -------------------------------------------- */ | ||||
| import { Hero6Utility } from "./hero6-utility.js"; | ||||
| import { Hero6RollDialog } from "./hero6-roll-dialog.js"; | ||||
| import { Hero6LiftDice } from "./hero6-lift-dice.js"; | ||||
|  | ||||
| /* -------------------------------------------- */ | ||||
| const __speed2Segments = [[0], [7], [6, 12], [4, 8, 12], [3, 6, 9, 12], [3, 5, 8, 10, 12], [2, 4, 6, 8, 10, 12] | ||||
|     [2, 4, 6, 7, 9, 11, 12], [2, 3, 5, 6, 8, 9, 11, 12], [2, 3, 4, 6, 7, 8, 10, 11, 12], [2, 3, 4, 5, 6, 8, 9, 10, 11, 12], | ||||
|     [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]] | ||||
| [2, 4, 6, 7, 9, 11, 12], [2, 3, 5, 6, 8, 9, 11, 12], [2, 3, 4, 6, 7, 8, 10, 11, 12], [2, 3, 4, 5, 6, 8, 9, 10, 11, 12], | ||||
| [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12], [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]] | ||||
|  | ||||
| /* -------------------------------------------- */ | ||||
| /* -------------------------------------------- */ | ||||
| @@ -65,7 +66,8 @@ export class Hero6Actor extends Actor { | ||||
|   } | ||||
|   computeDicesValue() { | ||||
|     this.system.biodata.presenceattack = Hero6Utility.getDerivatedDiceFormulas(this.system.characteristics.pre.value) | ||||
|     this.system.characteristics.str.strdice = Hero6Utility.getDerivatedDiceFormulas(this.system.characteristics.str.value) | ||||
|     this.system.characteristics.str.strdice = Hero6LiftDice.getLiftDice(this.system.characteristics.str.value) | ||||
|     this.system.characteristics.str.lift = Hero6LiftDice.getLift(this.system.characteristics.str.value) | ||||
|   } | ||||
|   /* -------------------------------------------- */ | ||||
|   prepareDerivedData() { | ||||
| @@ -169,22 +171,23 @@ export class Hero6Actor extends Actor { | ||||
|   prepareSkill(skill) { | ||||
|     skill.roll = 0 | ||||
|     skill.charac = "N/A" | ||||
|     skill.system.skilltype = skill.system.skilltype.toLowerCase() | ||||
|     if (skill.system.skillfamiliarity) { | ||||
|       skill.roll = 8; | ||||
|     } else if (skill.system.skillprofiency) { | ||||
|       skill.roll = 10; | ||||
|     } else if (skill.system.skilltype == "agility") { | ||||
|       skill.charac = "DEX" | ||||
|       skill.charac = "dex" | ||||
|       let charac = duplicate(this.system.characteristics.dex) | ||||
|       this.prepareCharacValues(charac) | ||||
|       skill.roll = charac.roll | ||||
|     } else if (skill.system.skilltype == "interaction") { | ||||
|       skill.charac = "PRE" | ||||
|       skill.charac = "pre" | ||||
|       let charac = duplicate(this.system.characteristics.pre) | ||||
|       this.prepareCharacValues(charac) | ||||
|       skill.roll = charac.roll | ||||
|     } else if (skill.system.skilltype == "intellect") { | ||||
|       skill.charac = "INT" | ||||
|       skill.charac = "int" | ||||
|       let charac = duplicate(this.system.characteristics.int) | ||||
|       this.prepareCharacValues(charac) | ||||
|       skill.roll = charac.roll | ||||
| @@ -194,12 +197,13 @@ export class Hero6Actor extends Actor { | ||||
|       if (skill.system.characteristic == "manual") { | ||||
|         skill.roll = skill.system.base | ||||
|       } else { | ||||
|         skill.charac = skill.system.characteristic | ||||
|         skill.charac = (skill.system.characteristic == "") ? "str" : skill.system.characteristic | ||||
|         let charac = duplicate(this.system.characteristics[skill.system.characteristic]) | ||||
|         this.prepareCharacValues(charac) | ||||
|         skill.roll = charac.roll | ||||
|       } | ||||
|     } | ||||
|     console.log("SILL", skill) | ||||
|     if (skill.system.levels > 0) { | ||||
|       skill.roll += skill.system.levels | ||||
|     } | ||||
| @@ -223,6 +227,7 @@ export class Hero6Actor extends Actor { | ||||
|     let comp = duplicate(this.items.filter(item => item.type == 'power') || []) | ||||
|     for (let c of comp) { | ||||
|       c.enrichDescription = c.name + "<br>" + await TextEditor.enrichHTML(c.system.description, { async: true }) | ||||
|       c.enrichNotes = c.name + "<br>" + await TextEditor.enrichHTML(c.system.notes, { async: true }) | ||||
|     } | ||||
|     Hero6Utility.sortArrayObjectsByName(comp) | ||||
|     return comp | ||||
| @@ -411,19 +416,19 @@ export class Hero6Actor extends Actor { | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   hasPhase( segmentNumber) { | ||||
|     let index = Math.min( Math.max(this.system.characteristics.spd.value, 1), 12) // Security bounds | ||||
|     let phases = __speed2Segments[index]     | ||||
|   hasPhase(segmentNumber) { | ||||
|     let index = Math.min(Math.max(this.system.characteristics.spd.value, 1), 12) // Security bounds | ||||
|     let phases = __speed2Segments[index] | ||||
|     return phases.includes(segmentNumber) | ||||
|   } | ||||
|   /* -------------------------------------------- */ | ||||
|   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] | ||||
|   } | ||||
|   /* -------------------------------------------- */ | ||||
|   getBaseInit() { | ||||
|     let r = new Roll("1d6").roll({async: false}) | ||||
|     let r = new Roll("1d6").roll({ async: false }) | ||||
|     let base = this.system.characteristics.dex.value + (r.total / 10) | ||||
|     return base | ||||
|   } | ||||
| @@ -461,7 +466,12 @@ export class Hero6Actor extends Actor { | ||||
|   prepareCharac() { | ||||
|     let characs = duplicate(this.system.characteristics) | ||||
|     for (let key in characs) { | ||||
|       this.prepareCharacValues(characs[key]) | ||||
|       let ch = characs[key] | ||||
|       this.prepareCharacValues(ch) | ||||
|       if (key == "str") { | ||||
|         ch.lift = Hero6LiftDice.getLift(ch.value) | ||||
|         ch.liftDice = Hero6LiftDice.getLiftDice(ch.value) | ||||
|       } | ||||
|     } | ||||
|     return characs | ||||
|   } | ||||
| @@ -569,7 +579,45 @@ export class Hero6Actor extends Actor { | ||||
|     } | ||||
|     this.startRoll(rollData) | ||||
|   } | ||||
|   /* -------------------------------------------- */ | ||||
|   async rollDamage(itemId) { | ||||
|     let item = this.items.get(itemId) | ||||
|     let rollData = this.getCommonRollData() | ||||
|     rollData.mode = "damage" | ||||
|     rollData.item = duplicate(item) | ||||
|     rollData.diceFormula = Hero6Utility.convertRollHeroSyntax(item.system.damage) | ||||
|     let myRoll = new Roll(rollData.diceFormula).roll({ async: false }) | ||||
|     await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) | ||||
|      | ||||
|     rollData.roll = myRoll | ||||
|     rollData.result = myRoll.total | ||||
|     rollData.bodyValue = Hero6Utility.computeBodyValue(myRoll) | ||||
|  | ||||
|     let msg = await Hero6Utility.createChatWithRollMode(rollData.alias, { | ||||
|       content: await renderTemplate(`systems/fvtt-hero-system-6/templates/chat/chat-damage-result.hbs`, rollData) | ||||
|     }) | ||||
|     msg.setFlag("world", "rolldata", rollData) | ||||
|     console.log("Rolldata result", rollData) | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   async rollLiftDice() { | ||||
|     let rollData = this.getCommonRollData() | ||||
|     rollData.mode = "lift-dice" | ||||
|     rollData.diceFormula = Hero6Utility.convertRollHeroSyntax( Hero6LiftDice.getLiftDice(this.system.characteristics.str.value)) | ||||
|     let myRoll = new Roll(rollData.diceFormula).roll({ async: false }) | ||||
|     await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) | ||||
|      | ||||
|     rollData.roll = myRoll | ||||
|     rollData.result = myRoll.total | ||||
|  | ||||
|     let msg = await Hero6Utility.createChatWithRollMode(rollData.alias, { | ||||
|       content: await renderTemplate(`systems/fvtt-hero-system-6/templates/chat/chat-lift-dice-result.hbs`, rollData) | ||||
|     }) | ||||
|     msg.setFlag("world", "rolldata", rollData) | ||||
|     console.log("Rolldata result", rollData) | ||||
|   } | ||||
|    | ||||
|   /* -------------------------------------------- */ | ||||
|   rollSkill(skillId) { | ||||
|     let skill = this.items.get(skillId) | ||||
|   | ||||
| @@ -4,18 +4,28 @@ import { Hero6Utility } from "./hero6-utility.js"; | ||||
| import { Hero6RollDialog } from "./hero6-roll-dialog.js"; | ||||
|  | ||||
| /* -------------------------------------------- */ | ||||
| const __saveFirstToKey = { r: "reflex", f: "fortitude", w: "willpower"} | ||||
| const __saveFirstToKey = { r: "reflex", f: "fortitude", w: "willpower" } | ||||
|  | ||||
| /* -------------------------------------------- */ | ||||
| export class Hero6Commands { | ||||
|  | ||||
|   static init() { | ||||
|   static ready() { | ||||
|     if (!game.system.hero6.commands) { | ||||
|       const hero6Commands = new Hero6Commands(); | ||||
|       hero6Commands.registerCommand({ path: ["/rtarget"], func: (content, msg, params) => Hero6Commands.rollTarget(msg, params), descr: "Launch the target roll window" }); | ||||
|       hero6Commands.registerCommand({ path: ["/rsave"], func: (content, msg, params) => Hero6Commands.rollSave(msg, params), descr: "Performs a save roll" }); | ||||
|       hero6Commands.registerCommand({ path: ["/rh"], func: (content, msg, params) => Hero6Commands.rollSpecialHero(msg, params), descr: "Special roll hero roll (1/2d6 like)" }); | ||||
|       game.system.hero6.commands = hero6Commands; | ||||
|     } | ||||
|  | ||||
|     Hooks.on("chatMessage", (html, content, msg) => { | ||||
|       if (content[0] == '/') { | ||||
|         let regExp = /(\S+)/g; | ||||
|         let commands = content.match(regExp); | ||||
|         if (game.hero6.commands.processChatCommand(commands, content, msg)) { | ||||
|           return false; | ||||
|         } | ||||
|       } | ||||
|       return true | ||||
|     }) | ||||
|   } | ||||
|  | ||||
|   constructor() { | ||||
| @@ -108,37 +118,17 @@ export class Hero6Commands { | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static rollTarget(msg, params) { | ||||
|     const speaker = ChatMessage.getSpeaker() | ||||
|     let actor | ||||
|     if (speaker.token) actor = game.actors.tokens[speaker.token] | ||||
|     if (!actor) actor = game.actors.get(speaker.actor) | ||||
|     if (!actor) { | ||||
|       return ui.notifications.warn(`Select your actor to run the macro`) | ||||
|     } | ||||
|     actor.rollDefenseRanged() | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
|   static rollSave(msg, params) { | ||||
|     console.log(msg, params) | ||||
|     if ( params.length == 0) { | ||||
|       ui.notifications.warn("/rsave command error : syntax is /rsave reflex, /rsave fortitude or /rsave willpower") | ||||
|       return | ||||
|     } | ||||
|     let saveKey = params[0].toLowerCase() | ||||
|     if ( saveKey.length > 0 && (saveKey[0] == "r" || saveKey[0] == "f" || saveKey[0] == "w")) { | ||||
|       const speaker = ChatMessage.getSpeaker() | ||||
|       let actor | ||||
|       if (speaker.token) actor = game.actors.tokens[speaker.token] | ||||
|       if (!actor) actor = game.actors.get(speaker.actor) | ||||
|       if (!actor) { | ||||
|         return ui.notifications.warn(`Select your actor to run the macro`) | ||||
|       } | ||||
|       actor.rollSave( __saveFirstToKey[saveKey[0]] )   | ||||
|     } else { | ||||
|       ui.notifications.warn("/rsave syntax error : syntax is /rsave reflex, /rsave fortitude or /rsave willpower") | ||||
|   static async rollSpecialHero(msg, params) { | ||||
|     console.log("ROLL HERE", msg, params) | ||||
|     let formula = params.join(' ') | ||||
|     if (formula) { | ||||
|       let foundryFormula = Hero6Utility.convertRollHeroSyntax(formula) | ||||
|       let myRoll = new Roll(foundryFormula).roll({ async: false }) | ||||
|       await Hero6Utility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) | ||||
|       myRoll.toMessage() | ||||
|       return true | ||||
|     } | ||||
|     return false | ||||
|   } | ||||
|  | ||||
| } | ||||
| @@ -60,6 +60,7 @@ export class Hero6ItemSheet extends ItemSheet { | ||||
|       editable: this.isEditable, | ||||
|       cssClass: this.isEditable ? "editable" : "locked", | ||||
|       description: await TextEditor.enrichHTML(this.object.system.description, {async: true}), | ||||
|       notes: await TextEditor.enrichHTML(this.object.system.notes, {async: true}), | ||||
|       config: game.system.hero6.config, | ||||
|       system: objectData, | ||||
|       limited: this.object.limited, | ||||
|   | ||||
							
								
								
									
										641
									
								
								modules/hero6-lift-dice.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										641
									
								
								modules/hero6-lift-dice.js
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,641 @@ | ||||
| const __LiftDiceValues = { | ||||
|   "0": { | ||||
|     "weight": "25 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "1": { | ||||
|     "weight": "29 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "2": { | ||||
|     "weight": "33 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "3": { | ||||
|     "weight": "37.5 kg", | ||||
|     "dice": "0.5d6" | ||||
|   }, | ||||
|   "4": { | ||||
|     "weight": "44 kg", | ||||
|     "dice": "0.5d6" | ||||
|   }, | ||||
|   "5": { | ||||
|     "weight": "50 kg", | ||||
|     "dice": "1d6" | ||||
|   }, | ||||
|   "6": { | ||||
|     "weight": "58 kg", | ||||
|     "dice": "1d6" | ||||
|   }, | ||||
|   "7": { | ||||
|     "weight": "67 kg", | ||||
|     "dice": "1d6" | ||||
|   }, | ||||
|   "8": { | ||||
|     "weight": "75 kg", | ||||
|     "dice": "1.5d6" | ||||
|   }, | ||||
|   "9": { | ||||
|     "weight": "88 kg", | ||||
|     "dice": "1.5d6" | ||||
|   }, | ||||
|   "10": { | ||||
|     "weight": "100 kg", | ||||
|     "dice": "2d6" | ||||
|   }, | ||||
|   "11": { | ||||
|     "weight": "117 kg", | ||||
|     "dice": "2d6" | ||||
|   }, | ||||
|   "12": { | ||||
|     "weight": "133 kg", | ||||
|     "dice": "2d6" | ||||
|   }, | ||||
|   "13": { | ||||
|     "weight": "150 kg", | ||||
|     "dice": "2.5d6" | ||||
|   }, | ||||
|   "14": { | ||||
|     "weight": "175 kg", | ||||
|     "dice": "2.5d6" | ||||
|   }, | ||||
|   "15": { | ||||
|     "weight": "200 kg", | ||||
|     "dice": "3d6" | ||||
|   }, | ||||
|   "16": { | ||||
|     "weight": "233 kg", | ||||
|     "dice": "3d6" | ||||
|   }, | ||||
|   "17": { | ||||
|     "weight": "267 kg", | ||||
|     "dice": "3d6" | ||||
|   }, | ||||
|   "18": { | ||||
|     "weight": "300 kg", | ||||
|     "dice": "3.5d6" | ||||
|   }, | ||||
|   "19": { | ||||
|     "weight": "350 kg", | ||||
|     "dice": "3.5d6" | ||||
|   }, | ||||
|   "20": { | ||||
|     "weight": "400 kg", | ||||
|     "dice": "4d6" | ||||
|   }, | ||||
|   "21": { | ||||
|     "weight": "467 kg", | ||||
|     "dice": "4d6" | ||||
|   }, | ||||
|   "22": { | ||||
|     "weight": "533 kg", | ||||
|     "dice": "4d6" | ||||
|   }, | ||||
|   "23": { | ||||
|     "weight": "600 kg", | ||||
|     "dice": "4.5d6" | ||||
|   }, | ||||
|   "24": { | ||||
|     "weight": "700 kg", | ||||
|     "dice": "4.5d6" | ||||
|   }, | ||||
|   "25": { | ||||
|     "weight": "800 kg", | ||||
|     "dice": "5d6" | ||||
|   }, | ||||
|   "26": { | ||||
|     "weight": "933 kg", | ||||
|     "dice": "5d6" | ||||
|   }, | ||||
|   "27": { | ||||
|     "weight": "1,067 kg", | ||||
|     "dice": "5d6" | ||||
|   }, | ||||
|   "28": { | ||||
|     "weight": "1,200 kg", | ||||
|     "dice": "5.5d6" | ||||
|   }, | ||||
|   "29": { | ||||
|     "weight": "1,400 kg", | ||||
|     "dice": "5.5d6" | ||||
|   }, | ||||
|   "30": { | ||||
|     "weight": "1,600 kg", | ||||
|     "dice": "6d6" | ||||
|   }, | ||||
|   "31": { | ||||
|     "weight": "1,867 kg", | ||||
|     "dice": "6d6" | ||||
|   }, | ||||
|   "32": { | ||||
|     "weight": "2,133 kg", | ||||
|     "dice": "6d6" | ||||
|   }, | ||||
|   "33": { | ||||
|     "weight": "2,400 kg", | ||||
|     "dice": "6.5d6" | ||||
|   }, | ||||
|   "34": { | ||||
|     "weight": "2,800 kg", | ||||
|     "dice": "6.5d6" | ||||
|   }, | ||||
|   "35": { | ||||
|     "weight": "3,200 kg", | ||||
|     "dice": "7d6" | ||||
|   }, | ||||
|   "36": { | ||||
|     "weight": "3,733 kg", | ||||
|     "dice": "7d6" | ||||
|   }, | ||||
|   "37": { | ||||
|     "weight": "4,267 kg", | ||||
|     "dice": "7d6" | ||||
|   }, | ||||
|   "38": { | ||||
|     "weight": "4,800 kg", | ||||
|     "dice": "7.5d6" | ||||
|   }, | ||||
|   "39": { | ||||
|     "weight": "5,600 kg", | ||||
|     "dice": "7.5d6" | ||||
|   }, | ||||
|   "40": { | ||||
|     "weight": "6,400 kg", | ||||
|     "dice": "8d6" | ||||
|   }, | ||||
|   "41": { | ||||
|     "weight": "7,467 kg", | ||||
|     "dice": "8d6" | ||||
|   }, | ||||
|   "42": { | ||||
|     "weight": "8,533 kg", | ||||
|     "dice": "8d6" | ||||
|   }, | ||||
|   "43": { | ||||
|     "weight": "9,600 kg", | ||||
|     "dice": "8.5d6" | ||||
|   }, | ||||
|   "44": { | ||||
|     "weight": "11 tons", | ||||
|     "dice": "8.5d6" | ||||
|   }, | ||||
|   "45": { | ||||
|     "weight": "12.5 tons", | ||||
|     "dice": "9d6" | ||||
|   }, | ||||
|   "46": { | ||||
|     "weight": "15 tons", | ||||
|     "dice": "9d6" | ||||
|   }, | ||||
|   "47": { | ||||
|     "weight": "17 tons", | ||||
|     "dice": "9d6" | ||||
|   }, | ||||
|   "48": { | ||||
|     "weight": "19 tons", | ||||
|     "dice": "9.5d6" | ||||
|   }, | ||||
|   "49": { | ||||
|     "weight": "22 tons", | ||||
|     "dice": "9.5d6" | ||||
|   }, | ||||
|   "50": { | ||||
|     "weight": "25 tons", | ||||
|     "dice": "10d6" | ||||
|   }, | ||||
|   "51": { | ||||
|     "weight": "29 tons", | ||||
|     "dice": "10d6" | ||||
|   }, | ||||
|   "52": { | ||||
|     "weight": "33 tons", | ||||
|     "dice": "10d6" | ||||
|   }, | ||||
|   "53": { | ||||
|     "weight": "37.5 tons", | ||||
|     "dice": "10.5d6" | ||||
|   }, | ||||
|   "54": { | ||||
|     "weight": "44 tons", | ||||
|     "dice": "10.5d6" | ||||
|   }, | ||||
|   "55": { | ||||
|     "weight": "50 tons", | ||||
|     "dice": "11d6" | ||||
|   }, | ||||
|   "56": { | ||||
|     "weight": "58 tons", | ||||
|     "dice": "11d6" | ||||
|   }, | ||||
|   "57": { | ||||
|     "weight": "67 tons", | ||||
|     "dice": "11d6" | ||||
|   }, | ||||
|   "58": { | ||||
|     "weight": "75 tons", | ||||
|     "dice": "11.5d6" | ||||
|   }, | ||||
|   "59": { | ||||
|     "weight": "88 tons", | ||||
|     "dice": "11.5d6" | ||||
|   }, | ||||
|   "60": { | ||||
|     "weight": "100 tons", | ||||
|     "dice": "12d6" | ||||
|   }, | ||||
|   "61": { | ||||
|     "weight": "117 tons", | ||||
|     "dice": "12d6" | ||||
|   }, | ||||
|   "62": { | ||||
|     "weight": "133 tons", | ||||
|     "dice": "12d6" | ||||
|   }, | ||||
|   "63": { | ||||
|     "weight": "150 tons", | ||||
|     "dice": "12.5d6" | ||||
|   }, | ||||
|   "64": { | ||||
|     "weight": "175 tons", | ||||
|     "dice": "12.5d6" | ||||
|   }, | ||||
|   "65": { | ||||
|     "weight": "200 tons", | ||||
|     "dice": "13d6" | ||||
|   }, | ||||
|   "66": { | ||||
|     "weight": "233 tons", | ||||
|     "dice": "13d6" | ||||
|   }, | ||||
|   "67": { | ||||
|     "weight": "267 tons", | ||||
|     "dice": "13d6" | ||||
|   }, | ||||
|   "68": { | ||||
|     "weight": "300 tons", | ||||
|     "dice": "13.5d6" | ||||
|   }, | ||||
|   "69": { | ||||
|     "weight": "350 tons", | ||||
|     "dice": "13.5d6" | ||||
|   }, | ||||
|   "70": { | ||||
|     "weight": "400 tons", | ||||
|     "dice": "14d6" | ||||
|   }, | ||||
|   "71": { | ||||
|     "weight": "467 tons", | ||||
|     "dice": "14d6" | ||||
|   }, | ||||
|   "72": { | ||||
|     "weight": "533 tons", | ||||
|     "dice": "14d6" | ||||
|   }, | ||||
|   "73": { | ||||
|     "weight": "600 tons", | ||||
|     "dice": "14.5d6" | ||||
|   }, | ||||
|   "74": { | ||||
|     "weight": "700 tons", | ||||
|     "dice": "14.5d6" | ||||
|   }, | ||||
|   "75": { | ||||
|     "weight": "800 tons", | ||||
|     "dice": "15d6" | ||||
|   }, | ||||
|   "76": { | ||||
|     "weight": "933 tons", | ||||
|     "dice": "15d6" | ||||
|   }, | ||||
|   "77": { | ||||
|     "weight": "1 kton 15d6", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "78": { | ||||
|     "weight": "1.2 ktons", | ||||
|     "dice": "15.5d6" | ||||
|   }, | ||||
|   "79": { | ||||
|     "weight": "1.4 ktons", | ||||
|     "dice": "15.5d6" | ||||
|   }, | ||||
|   "80": { | ||||
|     "weight": "1.6 ktons", | ||||
|     "dice": "16d6" | ||||
|   }, | ||||
|   "81": { | ||||
|     "weight": "1.9 ktons", | ||||
|     "dice": "16d6" | ||||
|   }, | ||||
|   "82": { | ||||
|     "weight": "2 ktons", | ||||
|     "dice": "16d6" | ||||
|   }, | ||||
|   "83": { | ||||
|     "weight": "2.4 ktons", | ||||
|     "dice": "16.5d6" | ||||
|   }, | ||||
|   "84": { | ||||
|     "weight": "2.8 ktons", | ||||
|     "dice": "16.5d6" | ||||
|   }, | ||||
|   "85": { | ||||
|     "weight": "3.2 ktons", | ||||
|     "dice": "17d6" | ||||
|   }, | ||||
|   "86": { | ||||
|     "weight": "3.7 ktons", | ||||
|     "dice": "17d6" | ||||
|   }, | ||||
|   "87": { | ||||
|     "weight": "4.3 ktons", | ||||
|     "dice": "17d6" | ||||
|   }, | ||||
|   "88": { | ||||
|     "weight": "4.8 ktons", | ||||
|     "dice": "17.5d6" | ||||
|   }, | ||||
|   "89": { | ||||
|     "weight": "5.6 ktons", | ||||
|     "dice": "17.5d6" | ||||
|   }, | ||||
|   "90": { | ||||
|     "weight": "6.4 ktons", | ||||
|     "dice": "18d6" | ||||
|   }, | ||||
|   "91": { | ||||
|     "weight": "7.5 ktons", | ||||
|     "dice": "18d6" | ||||
|   }, | ||||
|   "92": { | ||||
|     "weight": "8.5 ktons", | ||||
|     "dice": "18d6" | ||||
|   }, | ||||
|   "93": { | ||||
|     "weight": "9.6 ktons", | ||||
|     "dice": "18.5d6" | ||||
|   }, | ||||
|   "94": { | ||||
|     "weight": "11 ktons", | ||||
|     "dice": "18.5d6" | ||||
|   }, | ||||
|   "95": { | ||||
|     "weight": "12.5 ktons", | ||||
|     "dice": "19d6" | ||||
|   }, | ||||
|   "96": { | ||||
|     "weight": "15 ktons", | ||||
|     "dice": "19d6" | ||||
|   }, | ||||
|   "97": { | ||||
|     "weight": "17 ktons", | ||||
|     "dice": "19d6" | ||||
|   }, | ||||
|   "98": { | ||||
|     "weight": "19 ktons", | ||||
|     "dice": "19.5d6" | ||||
|   }, | ||||
|   "99": { | ||||
|     "weight": "22 ktons", | ||||
|     "dice": "19.5d6" | ||||
|   }, | ||||
|   "100": { | ||||
|     "weight": "25 ktons", | ||||
|     "dice": "20d6" | ||||
|   }, | ||||
|   "105": { | ||||
|     "weight": "50 ktons", | ||||
|     "dice": "21d6" | ||||
|   }, | ||||
|   "110": { | ||||
|     "weight": "100 ktons", | ||||
|     "dice": "22d6" | ||||
|   }, | ||||
|   "115": { | ||||
|     "weight": "200 ktons", | ||||
|     "dice": "23d6" | ||||
|   }, | ||||
|   "120": { | ||||
|     "weight": "400 ktons", | ||||
|     "dice": "24d6" | ||||
|   }, | ||||
|   "125": { | ||||
|     "weight": "800 ktons", | ||||
|     "dice": "25d6" | ||||
|   }, | ||||
|   "130": { | ||||
|     "weight": "1.6 mtons", | ||||
|     "dice": "26d6" | ||||
|   }, | ||||
|   "135": { | ||||
|     "weight": "3.2 mtons", | ||||
|     "dice": "27d6" | ||||
|   }, | ||||
|   "140": { | ||||
|     "weight": "6.4 mtons", | ||||
|     "dice": "28d6" | ||||
|   }, | ||||
|   "145": { | ||||
|     "weight": "12.5 mtons", | ||||
|     "dice": "29d6" | ||||
|   }, | ||||
|   "150": { | ||||
|     "weight": "25 mtons", | ||||
|     "dice": "30d6" | ||||
|   }, | ||||
|   "155": { | ||||
|     "weight": "50 mtons", | ||||
|     "dice": "31d6" | ||||
|   }, | ||||
|   "160": { | ||||
|     "weight": "100 mtons", | ||||
|     "dice": "32d6" | ||||
|   }, | ||||
|   "165": { | ||||
|     "weight": "200 mtons", | ||||
|     "dice": "33d6" | ||||
|   }, | ||||
|   "170": { | ||||
|     "weight": "400 mtons", | ||||
|     "dice": "34d6" | ||||
|   }, | ||||
|   "175": { | ||||
|     "weight": "800 mtons", | ||||
|     "dice": "35d6" | ||||
|   }, | ||||
|   "180": { | ||||
|     "weight": "1.6 gtons", | ||||
|     "dice": "36d6" | ||||
|   }, | ||||
|   "185": { | ||||
|     "weight": "3.2 gtons", | ||||
|     "dice": "37d6" | ||||
|   }, | ||||
|   "190": { | ||||
|     "weight": "6.4 gtons", | ||||
|     "dice": "38d6" | ||||
|   }, | ||||
|   "195": { | ||||
|     "weight": "12.5 gtons", | ||||
|     "dice": "39d6" | ||||
|   }, | ||||
|   "200": { | ||||
|     "weight": "25 gtons", | ||||
|     "dice": "40d6" | ||||
|   }, | ||||
|   "-50": { | ||||
|     "weight": "0.025 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-45": { | ||||
|     "weight": "0.05 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-40": { | ||||
|     "weight": "0.1 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-35": { | ||||
|     "weight": "0.2 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-30": { | ||||
|     "weight": "0.4 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-29": { | ||||
|     "weight": "0.5 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-28": { | ||||
|     "weight": "0.5 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-27": { | ||||
|     "weight": "0.6 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-26": { | ||||
|     "weight": "0.7 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-25": { | ||||
|     "weight": "0.8 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-24": { | ||||
|     "weight": "0.9 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-23": { | ||||
|     "weight": "1.0 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-22": { | ||||
|     "weight": "1.2 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-21": { | ||||
|     "weight": "1.4 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-20": { | ||||
|     "weight": "1.6 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-19": { | ||||
|     "weight": "1.8 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-18": { | ||||
|     "weight": "2.0 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-17": { | ||||
|     "weight": "2.4 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-16": { | ||||
|     "weight": "2.8 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-15": { | ||||
|     "weight": "3.2 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-14": { | ||||
|     "weight": "3.6 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-13": { | ||||
|     "weight": "4.0 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-12": { | ||||
|     "weight": "4.8 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-11": { | ||||
|     "weight": "5.6 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-10": { | ||||
|     "weight": "6.4 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-9": { | ||||
|     "weight": "7.2 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-8": { | ||||
|     "weight": "8.0 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-7": { | ||||
|     "weight": "9.5 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-6": { | ||||
|     "weight": "11 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-5": { | ||||
|     "weight": "12.5 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-4": { | ||||
|     "weight": "14 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-3": { | ||||
|     "weight": "16 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-2": { | ||||
|     "weight": "19 kg", | ||||
|     "dice": "" | ||||
|   }, | ||||
|   "-1": { | ||||
|     "weight": "22 kg", | ||||
|     "dice": "" | ||||
|   } | ||||
| } | ||||
|  | ||||
| export class Hero6LiftDice{ | ||||
|  | ||||
|   static getLift(value) { | ||||
|     let data = __LiftDiceValues[String(value)] | ||||
|     if (data) { | ||||
|       return data.weight | ||||
|     } | ||||
|     return 0 | ||||
|   } | ||||
|  | ||||
|   static getLiftDice(value) { | ||||
|     let data = __LiftDiceValues[String(value)] | ||||
|     if (data) { | ||||
|       return data.dice | ||||
|     } | ||||
|     return 0 | ||||
|   } | ||||
| } | ||||
| @@ -67,7 +67,6 @@ Hooks.once("init", async function () { | ||||
|   Items.registerSheet("fvtt-hero-system-6", Hero6ItemSheet, { makeDefault: true }); | ||||
|  | ||||
|   Hero6Utility.init() | ||||
|   Hero6Combat.init() | ||||
| }); | ||||
|  | ||||
| /* -------------------------------------------- */ | ||||
| @@ -96,7 +95,7 @@ Hooks.once("ready", function () { | ||||
|    | ||||
|   welcomeMessage(); | ||||
|   Hero6Utility.ready() | ||||
|   Hero6Commands.init() | ||||
|   Hero6Commands.ready() | ||||
| }) | ||||
|  | ||||
| /* -------------------------------------------- */ | ||||
|   | ||||
| @@ -15,8 +15,6 @@ export class Hero6Utility { | ||||
|       Hero6Utility.dropItemOnToken(canvas, data) | ||||
|     });*/ | ||||
|  | ||||
|     Hero6Commands.init(); | ||||
|  | ||||
|     Handlebars.registerHelper('count', function (list) { | ||||
|       return list.length; | ||||
|     }) | ||||
| @@ -142,24 +140,6 @@ export class Hero6Utility { | ||||
|     html.on("click", '.view-item-from-chat', event => { | ||||
|       game.system.crucible.creator.openItemView(event) | ||||
|     }) | ||||
|     html.on("click", '.roll-defense-melee', event => { | ||||
|       let rollId = $(event.currentTarget).data("roll-id") | ||||
|       let rollData = Hero6Utility.getRollData(rollId) | ||||
|       rollData.defenseWeaponId = $(event.currentTarget).data("defense-weapon-id") | ||||
|       let actor = game.canvas.tokens.get(rollData.defenderTokenId).actor | ||||
|       if (actor && (game.user.isGM || actor.isOwner)) { | ||||
|         actor.rollDefenseMelee(rollData) | ||||
|       } | ||||
|     }) | ||||
|     html.on("click", '.roll-defense-ranged', event => { | ||||
|       let rollId = $(event.currentTarget).data("roll-id") | ||||
|       let rollData = Hero6Utility.getRollData(rollId) | ||||
|       let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor | ||||
|       if (defender && (game.user.isGM || defender.isOwner)) { | ||||
|         defender.rollDefenseRanged(rollData) | ||||
|       } | ||||
|     }) | ||||
|  | ||||
|   } | ||||
|  | ||||
|   /* -------------------------------------------- */ | ||||
| @@ -376,10 +356,6 @@ export class Hero6Utility { | ||||
|     } | ||||
|     rollData.margin = target - rollData.result | ||||
|  | ||||
|     if (rollData.item && rollData.item.system.computebody) { | ||||
|       rollData.bodyValue = this.computeBody(myRoll) | ||||
|     } | ||||
|  | ||||
|     this.outputRollMessage(rollData) | ||||
|   } | ||||
|  | ||||
| @@ -389,7 +365,7 @@ export class Hero6Utility { | ||||
|     rollData.roll = roll | ||||
|  | ||||
|     rollData.result = roll.total | ||||
|     rollData.bodyValue = this.computeBody(rollData.roll) | ||||
|     rollData.bodyValue = this.computeBodyValue(rollData.roll) | ||||
|  | ||||
|     this.outputRollMessage(rollData) | ||||
|   } | ||||
| @@ -403,6 +379,22 @@ export class Hero6Utility { | ||||
|     console.log("Rolldata result", rollData) | ||||
|   } | ||||
|  | ||||
|   /* -------------- ----------------------------- */ | ||||
|   static convertRollHeroSyntax( hero6Formula) { | ||||
|     // Ensure we have no space at all | ||||
|     //hero6Formula = hero6Formula.replace(/\s/g, '') | ||||
|     let hasHalfDice = "" | ||||
|     if (hero6Formula.match("1/2d6")) { | ||||
|       hero6Formula = hero6Formula.replace("1/2d6", "d6") | ||||
|       hasHalfDice = "+round(1d6)" | ||||
|     } | ||||
|      | ||||
|     let foundryFormula = hero6Formula + hasHalfDice | ||||
|     foundryFormula = foundryFormula.replace(' ', '') | ||||
|     console.log("Parsed formula : ", hero6Formula, foundryFormula) | ||||
|     return foundryFormula | ||||
|   } | ||||
|  | ||||
|   /* -------------- ----------------------------- */ | ||||
|   static sortArrayObjectsByName(myArray) { | ||||
|     myArray.sort((a, b) => { | ||||
|   | ||||
| @@ -39,42 +39,44 @@ | ||||
|   text-align: justify; | ||||
|   font-size: 16px; | ||||
|   letter-spacing: 1px; | ||||
|   color: rgba(44, 133, 133, 0.75); | ||||
|   background: rgba(66, 66, 64, 0.95); | ||||
|  | ||||
|   color: rgba(6, 56, 56, 0.75); | ||||
|   background: rgba(228, 240, 240, 1); | ||||
| } | ||||
|  | ||||
| /* Fonts */ | ||||
| .sheet header.sheet-header h1 input, .window-app .window-header, #actors .directory-list, #navigation #scene-list .scene.nav-item { | ||||
|   font-size: 1.0rem; | ||||
|   color: rgba(224, 208, 197, 0.9); | ||||
|   background: rgba(66, 66, 64, 0.95);   | ||||
|   /*background: rgba(66, 66, 64, 0.95);*/   | ||||
| } /* For title, sidebar character and scene */ | ||||
| .sheet nav.sheet-tabs { | ||||
|   font-size: 0.7rem; | ||||
|   color: rgba(224, 208, 197, 0.9); | ||||
|   background: rgba(66, 66, 64, 0.95); | ||||
|   /*background: rgba(66, 66, 64, 0.95);*/ | ||||
| } /* For nav and title */ | ||||
| .fvtt-hero-system-6 .item-form, .sheet header.sheet-header .flex-group-center.flex-compteurs, .sheet header.sheet-header .flex-group-center.flex-fatigue, select, button, .item-checkbox, #sidebar, #players, #navigation #nav-toggle { | ||||
|   font-size: 0.8rem; | ||||
|   color: rgba(224, 208, 197, 0.9); | ||||
|   background: rgba(66, 66, 64, 0.95); | ||||
|   color: rgba(4, 44, 44, 0.98); | ||||
|   /*background: rgba(66, 66, 64, 0.95);*/ | ||||
| } | ||||
| .window-app { | ||||
|    | ||||
| } | ||||
|  | ||||
| .window-header{ | ||||
|   background: rgba(0,0,0,0.75); | ||||
| } | ||||
| .dialog .window-content { | ||||
|   color: rgba(66, 66, 64, 0.95); | ||||
|   color: rgba(224, 208, 197, 0.9); | ||||
| } | ||||
| .dialog-content, .dialog-buttons, .form-fields { | ||||
|   color: rgba(66, 66, 64, 0.95); | ||||
|   color: rgba(224, 208, 197, 0.9); | ||||
| } | ||||
| .dialog-buttons { | ||||
|   color: rgba(66, 66, 64, 0.95); | ||||
|   color: rgba(224, 208, 197, 0.9); | ||||
| } | ||||
| .dialog .dialog-buttons button.default { | ||||
|   color: rgba(66, 66, 64, 0.95); | ||||
|   color: rgba(224, 208, 197, 0.9); | ||||
| } | ||||
| .window-app.sheet .window-content { | ||||
|   margin: 0; | ||||
| @@ -211,8 +213,7 @@ table { border: 1px solid #7a7971;} | ||||
|   flex: 'flex-shrink' ; | ||||
| } | ||||
|  | ||||
| /* Styles limited to foundryvtt-vadentis sheets */ | ||||
|  | ||||
| /* Styles limited to foundryvtt-hero6 sheets */ | ||||
| .fvtt-hero-system-6 .sheet-header { | ||||
|   -webkit-box-flex: 0; | ||||
|   -ms-flex: 0 0 210px; | ||||
| @@ -399,14 +400,9 @@ form .form-group label { | ||||
|   text-align: right; | ||||
| } | ||||
|  | ||||
|  | ||||
| /* ======================================== */ | ||||
| /* Sheet  */ | ||||
| .window-app.sheet .window-content .sheet-header{ | ||||
|   background: url("../images/ui/pc_sheet_bg.webp") | ||||
| .window-app.sheet .window-content .sheet-header { | ||||
|   background: rgba(228, 240, 240, 0.75); | ||||
| } | ||||
| /*  background: #011d33 url("../images/ui/fond1.webp") repeat left top;*/ | ||||
| /*color: rgba(168, 139, 139, 0.5);*/ | ||||
|  | ||||
| .window-app.sheet .window-content .sheet-header input[type="text"], .window-app.sheet .window-content .sheet-header input[type="number"], .window-app.sheet .window-content .sheet-header input[type="password"], .window-app.sheet .window-content .sheet-header input[type="date"], .window-app.sheet .window-content .sheet-header input[type="time"] { | ||||
|   background: rgba(228, 240, 240, 0.75); | ||||
| @@ -434,13 +430,10 @@ form .form-group label { | ||||
|  | ||||
| .window-app .window-content, .window-app.sheet .window-content .sheet-body{ | ||||
|   font-size: 0.8rem; | ||||
|   /*background: url("../images/ui/pc_sheet_bg.webp") repeat left top;*/ | ||||
|   background: rgba(228, 240, 240, 0.75); | ||||
|   color: rgba(66, 66, 64, 0.95); | ||||
| } | ||||
|  | ||||
| /*  background: rgba(245,245,240,0.6) url("../images/ui/sheet_background.webp") left top;*/ | ||||
|  | ||||
| section.sheet-body{padding: 0.25rem 0.5rem;} | ||||
|  | ||||
| .sheet header.sheet-header .profile-img { | ||||
| @@ -466,8 +459,6 @@ section.sheet-body{padding: 0.25rem 0.5rem;} | ||||
|   color:beige; | ||||
| } | ||||
|  | ||||
| /*  background: rgb(245,245,240) url("../images/ui/fond4.webp") repeat left top;*/ | ||||
|  | ||||
| nav.sheet-tabs .item { | ||||
|   position: relative; | ||||
|   padding: 0 0.15rem; | ||||
| @@ -480,7 +471,7 @@ nav.sheet-tabs .item:after { | ||||
|   right: 0; | ||||
|   height: 2rem; | ||||
|   width: 1px; | ||||
|   border-right: 1px dashed rgba(52, 52, 52, 0.25); | ||||
|   /*border-right: 1px dashed rgba(52, 52, 52, 0.25);*/ | ||||
| } | ||||
|  | ||||
| .sheet .tab[data-tab] { | ||||
| @@ -586,9 +577,6 @@ ul, li { | ||||
| .item-display-hide { | ||||
|   display: none; | ||||
| } | ||||
| .conteneur-type { | ||||
|   background: rgb(200, 10, 100, 0.25); | ||||
| } | ||||
| .item-quantite { | ||||
|   margin-left: 0.5rem; | ||||
| } | ||||
| @@ -780,8 +768,6 @@ ul, li { | ||||
|   color: rgba(220,220,220,0.75); | ||||
| } | ||||
|  | ||||
| /*  background: rgb(105,85,65) url("../images/ui/texture_feuille_perso_onglets.webp") no-repeat right bottom;*/ | ||||
|  | ||||
| #sidebar.collapsed { | ||||
|   height: 470px !important; | ||||
| } | ||||
| @@ -865,18 +851,6 @@ ul, li { | ||||
|   padding-bottom: .2rem; | ||||
| } | ||||
|  | ||||
| .div-river-full { | ||||
|   height: 5rem; | ||||
|   align-items: flex-start; | ||||
| } | ||||
|  | ||||
| .div-river { | ||||
|   align-content: center; | ||||
|   margin-left: 8px; | ||||
|   align-content:space-around; | ||||
|   justify-content: space-around; | ||||
| } | ||||
|  | ||||
| .div-center { | ||||
|   align-self: center; | ||||
| } | ||||
| @@ -1051,38 +1025,9 @@ ul, li { | ||||
|   transition: opacity 0.3s; | ||||
| } | ||||
|  | ||||
| .tooltip .ttt-fatigue{ | ||||
|   width: 360px; | ||||
|    | ||||
|   background: rgba(30, 25, 20, 0.9); | ||||
|   border-image: url(img/ui/bg_control.jpg) 21 repeat; | ||||
|   border-image-slice: 6 6 6 6 fill; | ||||
|   border-image-width: 6px 6px 6px 6px; | ||||
|   border-image-outset: 0px 0px 0px 0px; | ||||
|   border-radius: 0px; | ||||
|  | ||||
|   font-size: 0.8rem; | ||||
|   padding: 3px 0; | ||||
| } | ||||
|  | ||||
| .tooltip .ttt-ajustements { | ||||
|   width: 150px; | ||||
|   background: rgba(220,220,210,0.95); | ||||
|   border-radius: 6px; | ||||
|   font-size: 0.9rem; | ||||
|   padding: 3px 0; | ||||
| } | ||||
|  | ||||
| .tooltip-nobottom { | ||||
|   border-bottom: unset; /* If you want dots under the hoverable text */ | ||||
| } | ||||
| .tooltip .ttt-xp { | ||||
|   width: 250px; | ||||
|   background: rgba(220,220,210,0.95); | ||||
|   border-radius: 6px; | ||||
|   font-size: 0.9rem; | ||||
|   padding: 3px 0; | ||||
| } | ||||
|  | ||||
| /* Show the tooltip text when you mouse over the tooltip container */ | ||||
| .tooltip:hover .tooltiptext { | ||||
| @@ -1154,34 +1099,6 @@ ul, li { | ||||
|   padding-left: 2rem; | ||||
| } | ||||
|  | ||||
| .drop-equipment-effect, | ||||
| .drop-power-effect, | ||||
| .drop-perk-effect, | ||||
| .drop-ability-effect, | ||||
| .drop-effect-specaffected, | ||||
| .drop-effect-spec, | ||||
| .drop-ability-weapon, | ||||
| .drop-ability-armor, | ||||
| .drop-race-perk, | ||||
| .drop-spec-perk, | ||||
| .drop-ability-power, | ||||
| .drop-ability-spec, | ||||
| .drop-spec-power, | ||||
| .drop-specialability, | ||||
| .drop-abilities,  | ||||
| .drop-optionnal-abilities, | ||||
| .drop-virtue-vice-effect, | ||||
| .drop-virtue-vice, | ||||
| .drop-vice-virtue, | ||||
| .drop-specialperk1, | ||||
| .drop-perk2, | ||||
| .drop-spec1 , | ||||
| .drop-spec2 { | ||||
|   background: linear-gradient(to bottom, #6c95b9fc 5%, #105177ab 100%); | ||||
|   background-color: #7d5d3b00; | ||||
|   border-radius: 3px; | ||||
|   border: 2px ridge #846109; | ||||
| } | ||||
|  | ||||
| /*************************************************************/ | ||||
| #pause | ||||
| @@ -1436,6 +1353,11 @@ Focus FOC: #ff0084 | ||||
| .margin-image-right { | ||||
|   margin-right: 4px; | ||||
| } | ||||
| .fixed-separator { | ||||
|   width: 12px; | ||||
|   max-width: 12px; | ||||
|   min-width: 12px; | ||||
| } | ||||
| .alternate-list { | ||||
|   margin-top: 4px; | ||||
|   flex-wrap: nowrap; | ||||
|   | ||||
| @@ -91,7 +91,7 @@ | ||||
|   "styles": [ | ||||
|     "styles/simple.css" | ||||
|   ], | ||||
|   "version": "10.0.34", | ||||
|   "version": "10.0.36", | ||||
|   "compatibility": { | ||||
|     "minimum": "10", | ||||
|     "verified": "10", | ||||
| @@ -99,7 +99,7 @@ | ||||
|   }, | ||||
|   "title": "Hero System v6 for FoundrtVTT (Official)", | ||||
|   "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.34.zip",    | ||||
|   "download": "https://www.uberwald.me/gitea/uberwald/fvtt-hero-system-6/archive/fvtt-hero-system-6-v10.0.36.zip",    | ||||
|   "url": "https://www.uberwald.me/gitea/uberwald/", | ||||
|   "background": "images/ui/hro6_welcome_page.webp", | ||||
|   "id": "fvtt-hero-system-6" | ||||
|   | ||||
| @@ -39,11 +39,11 @@ | ||||
|       "characteristics": { | ||||
|         "characteristics": { | ||||
|           "str": { | ||||
|             "label": "Strength", | ||||
|             "label": "STR", | ||||
|             "value": 10, | ||||
|             "base": 10, | ||||
|             "category": "main", | ||||
|             "strdice": {}, | ||||
|             "strdice": "", | ||||
|             "lift": "", | ||||
|             "strend": 0, | ||||
|             "hasroll": true, | ||||
| @@ -51,21 +51,21 @@ | ||||
|             "activecost": 0 | ||||
|           }, | ||||
|           "dex": { | ||||
|             "label": "Dexterity", | ||||
|             "label": "DEX", | ||||
|             "value": 10, | ||||
|             "base": 10, | ||||
|             "hasroll": true, | ||||
|             "category": "main" | ||||
|           }, | ||||
|           "con": { | ||||
|             "label": "Constitution", | ||||
|             "label": "CON", | ||||
|             "hasroll": true, | ||||
|             "category": "main", | ||||
|             "value": 10, | ||||
|             "base": 10 | ||||
|           }, | ||||
|           "int": { | ||||
|             "label": "Intelligence", | ||||
|             "label": "INT", | ||||
|             "hasroll": true, | ||||
|             "category": "main", | ||||
|             "value": 10, | ||||
| @@ -73,14 +73,14 @@ | ||||
|             "perceptionroll": 10 | ||||
|           }, | ||||
|           "ego": { | ||||
|             "label": "Ego", | ||||
|             "label": "EGO", | ||||
|             "hasroll": true, | ||||
|             "category": "main", | ||||
|             "value": 10, | ||||
|             "base": 10 | ||||
|           }, | ||||
|           "pre": { | ||||
|             "label": "Presence", | ||||
|             "label": "PRE", | ||||
|             "hasroll": true, | ||||
|             "category": "main", | ||||
|             "value": 10, | ||||
| @@ -123,7 +123,7 @@ | ||||
|             "modifier": 1 | ||||
|           }, | ||||
|           "spd": { | ||||
|             "label": "Speed", | ||||
|             "label": "SPD", | ||||
|             "hasroll": false, | ||||
|             "value": 2, | ||||
|             "base": 2 | ||||
| @@ -172,14 +172,6 @@ | ||||
|             "value": 20, | ||||
|             "max": 20 | ||||
|           }, | ||||
|           "other": { | ||||
|             "label": "OTHER", | ||||
|             "hasroll": false, | ||||
|             "isvital": true, | ||||
|             "damage": 0, | ||||
|             "value": 20, | ||||
|             "max": 20 | ||||
|           }, | ||||
|           "body": { | ||||
|             "label": "BODY", | ||||
|             "hasroll": false, | ||||
| @@ -375,7 +367,7 @@ | ||||
|     }, | ||||
|     "skill": { | ||||
|       "skilltype": "agility", | ||||
|       "characteristic": "", | ||||
|       "characteristic": "str", | ||||
|       "base": "", | ||||
|       "levelscost": 0, | ||||
|       "levels": 0, | ||||
|   | ||||
| @@ -4,7 +4,13 @@ | ||||
|   <header class="sheet-header"> | ||||
|     <div class="header-fields"> | ||||
|       <div class="flexrow"> | ||||
|         <img class="profile-img margin-image-right" src="{{img}}" data-edit="img" title="{{name}}" /> | ||||
|          | ||||
|         <img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" /> | ||||
|          | ||||
|         <div class="fixed-separator"> | ||||
|             | ||||
|         </div> | ||||
|          | ||||
|         <div class="flexcol"> | ||||
|           <h1 class="charname "><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1> | ||||
|            | ||||
| @@ -117,10 +123,10 @@ | ||||
|           <ul class="item-list alternate-list"> | ||||
|             <li class="item"> | ||||
|               <label class="item-field-label-medium">STR Dice</label> | ||||
|               <a class="roll-direct" data-roll-source="STR Dice" data-roll-formula="{{characteristics.str.strdice.rollFormula}}"><i class="fas fa-dice"></i>{{characteristics.str.strdice.displayFormula}}</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-medium">Lift</label> | ||||
|               <input type="text" class="item-field-label-short update-field" 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-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" /> | ||||
| @@ -508,8 +514,14 @@ | ||||
|           <span class="item-field-label-short"> | ||||
|             <label class="item-field-label-short">Cost</label> | ||||
|           </span> | ||||
|           <span class="item-field-label-medium"> | ||||
|             <label class="item-field-label-medium">Name</label> | ||||
|           </span> | ||||
|           <span class="item-field-label-long4"> | ||||
|             <label class="item-field-label-long4">Power</label> | ||||
|             <label class="item-field-label-long4">Display</label> | ||||
|           </span> | ||||
|           <span class="item-field-label-medium"> | ||||
|             <label class="item-field-label-medium">Effect</label> | ||||
|           </span> | ||||
|           <span class="item-field-label-short"> | ||||
|             <label class="item-field-label-short">Roll</label> | ||||
| @@ -521,10 +533,11 @@ | ||||
|         {{#each powers as |power key|}} | ||||
|         <li class="item stat flexrow list-item list-item-shadow" data-item-id="{{power._id}}"> | ||||
|           <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-long4">{{{power.enrichDescription}}} | ||||
|           </span> | ||||
|           <span class="item-field-label-medium">{{power.name}}</span> | ||||
|           <span class="item-field-label-long4">{{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> | ||||
|           {{#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> | ||||
|           {{else}} | ||||
|   | ||||
							
								
								
									
										30
									
								
								templates/chat/chat-damage-result.hbs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								templates/chat/chat-damage-result.hbs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| <div class="chat-message-header"> | ||||
|   {{#if actorImg}} | ||||
|   <img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" /> | ||||
|   {{/if}} | ||||
|   <h4 class=chat-actor-name>{{alias}}</h4> | ||||
| </div> | ||||
|  | ||||
|   <hr> | ||||
|    | ||||
|   {{#if img}} | ||||
|   <div > | ||||
|     <img class="chat-icon" src="{{img}}" alt="{{name}}" /> | ||||
|   </div> | ||||
|   {{/if}} | ||||
|  | ||||
|   <div class="flexcol"> | ||||
|     </div> | ||||
|  | ||||
|     <div> | ||||
|       <ul> | ||||
|         <li>Damage formula : {{diceFormula}}</li> | ||||
|  | ||||
|         <li><strong>Result : {{result}}</strong></li> | ||||
|  | ||||
|         <li><strong>BODY : {{bodyValue}}</strong></li> | ||||
|          | ||||
|       </ul>   | ||||
|     </div> | ||||
|  | ||||
|   </div> | ||||
							
								
								
									
										28
									
								
								templates/chat/chat-lift-dice-result.hbs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								templates/chat/chat-lift-dice-result.hbs
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,28 @@ | ||||
| <div class="chat-message-header"> | ||||
|   {{#if actorImg}} | ||||
|   <img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" /> | ||||
|   {{/if}} | ||||
|   <h4 class=chat-actor-name>{{alias}}</h4> | ||||
| </div> | ||||
|  | ||||
|   <hr> | ||||
|    | ||||
|   {{#if img}} | ||||
|   <div > | ||||
|     <img class="chat-icon" src="{{img}}" alt="{{name}}" /> | ||||
|   </div> | ||||
|   {{/if}} | ||||
|  | ||||
|   <div class="flexcol"> | ||||
|     </div> | ||||
|  | ||||
|     <div> | ||||
|       <ul> | ||||
|         <li>Lift dice formula : {{diceFormula}}</li> | ||||
|  | ||||
|         <li><strong>Result : {{result}}</strong></li> | ||||
|          | ||||
|       </ul>   | ||||
|     </div> | ||||
|  | ||||
|   </div> | ||||
| @@ -18,7 +18,7 @@ | ||||
|         <ul> | ||||
|           {{> systems/fvtt-hero-system-6/templates/partials/partial-item-hasroll.hbs}} | ||||
|  | ||||
|           {{> systems/fvtt-hero-system-6/templates/partials/partial-power-maneuver-effect.hbs}} | ||||
|           <!-- {{> systems/fvtt-hero-system-6/templates/partials/partial-power-maneuver-effect.hbs}} --> | ||||
|  | ||||
|           {{> systems/fvtt-hero-system-6/templates/partials/partial-power-equipment-cost.hbs}} | ||||
|  | ||||
|   | ||||
| @@ -1,16 +1,16 @@ | ||||
|       <ul class="item-list alternate-list"> | ||||
|         <li class="item flexrow list-item items-title-bg"> | ||||
|           <span class="item-name-img"> | ||||
|             <label class=""> </label> | ||||
|           </span> | ||||
|           <span class="item-field-label-long-img"> | ||||
|             <label class="">{{title}}</label> | ||||
|           </span> | ||||
|           <span class="item-field-label-medium"> | ||||
|             <label class="item-field-label-medium">Value</label> | ||||
|           <span class="item-field-label-long4"> | ||||
|             <label class="item-field-label-long4">Display</label> | ||||
|           </span> | ||||
|           <span class="item-field-label-medium"> | ||||
|             <label class="item-field-label-medium">Mass</label> | ||||
|           </span> | ||||
|           <span class="item-field-label-medium"> | ||||
|             <label class="item-field-label-medium">Quantity</label> | ||||
|           <span class="item-field-label-short"> | ||||
|             <label class="item-field-label-short">Effect</label> | ||||
|           </span> | ||||
|           <span class="item-field-label-short"> | ||||
|             <label class="item-field-label-short">Roll</label> | ||||
| @@ -18,7 +18,6 @@ | ||||
|           <span class="item-field-label-medium"> | ||||
|             <label class="item-field-label-medium">END</label> | ||||
|           </span> | ||||
|           <div class="item-filler"> </div> | ||||
|           <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> | ||||
|           </div> | ||||
|   | ||||
| @@ -2,17 +2,13 @@ | ||||
|   <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-medium"><label>{{equip.system.value}} | ||||
|   <span class="item-field-label-long4"><label>{{equip.system.displayname}} | ||||
|   </label> | ||||
|   </span>           | ||||
|  | ||||
|   <span class="item-field-label-medium"><label>{{equip.system.weight}} | ||||
|   <span class="item-field-label-short"><label><a class="roll-damage" data-type="perk"><i class="fas fa-dice"></i>{{equip.system.damage}}</a> | ||||
|   </label> | ||||
|   </span>           | ||||
|  | ||||
|   <span class="item-field-label-medium"><label>{{equip.system.quantity}} | ||||
|   </label> | ||||
|   </span>           | ||||
|   </span> | ||||
|  | ||||
|   {{#if equip.system.hasroll}}           | ||||
|   <span class="item-field-label-short"><a class="roll-item" data-type="perk"><i class="fas fa-dice"></i>{{equip.system.roll}}-</a></span> | ||||
|   | ||||
| @@ -17,4 +17,10 @@ | ||||
|  | ||||
|   <input type="text" class="item-field-label-long2" name="system.characteristics.{{key}}.notes" value="{{charac.notes}}" data-dtype="String"/>   | ||||
|  | ||||
|   {{#if charac.lift}} | ||||
|     <h4 class="item-field-label-short margin-item-list">  </h4> | ||||
|     <h4 class="item-field-label-short margin-item-list">{{charac.lift}}</h4> | ||||
|     <h4 class="item-field-label-short margin-item-list"><a class="roll-lift-dice" data-charac-key="{{key}}"><i class="fas fa-dice"></i>{{charac.liftDice}}</a></h4> | ||||
|   {{/if}} | ||||
|  | ||||
| </li> | ||||
| @@ -3,16 +3,18 @@ | ||||
|     <label class="item-field-label-medium">Display name</label> | ||||
|     <input type="text" class="" name="system.displayname" value="{{system.displayname}}" data-dtype="string"/> | ||||
|   </div> | ||||
|   <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> | ||||
|     <label class="generic-label">Notes</label> | ||||
|     <div class="medium-editor item-text-long-line"> | ||||
|     {{editor notes target="system.notes" button=true owner=owner editable=editable}} | ||||
|     </div> | ||||
|   </div> | ||||
|    | ||||
|   <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> | ||||
|   | ||||
| @@ -7,7 +7,8 @@ | ||||
|           <input type="text" class="item-field-label-medium" name="system.roll" value="{{system.roll}}" data-dtype="Number"/> | ||||
|         </li> | ||||
|  | ||||
|         <li class="flexrow"><label class="item-field-label-long">Computes BODY ?</label> | ||||
|         <!-- <li class="flexrow"><label class="item-field-label-long">Computes BODY ?</label> | ||||
|           <label class="item-field-label-medium"><input type="checkbox" name="system.computebody" {{checked system.computebody}}/></label> | ||||
|         </li> | ||||
|         </li> --> | ||||
|          | ||||
|         {{/if}} | ||||
|   | ||||
		Reference in New Issue
	
	Block a user