Compare commits
8 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1ccc9d2c34 | |||
| 9653672372 | |||
| c8a0dc7168 | |||
| 0de6a7e051 | |||
| eb0ab56794 | |||
| 4d96c15066 | |||
| fb5c408bbd | |||
| eea83aa10e |
15
README.md
@@ -1,5 +1,14 @@
|
||||
# Hellborn Descended RPG
|
||||
# Hellborn Descended for Foundry VTT
|
||||
|
||||
## Description
|
||||
Enjoy Hellborn and all it's infernal glory on Foundry with this fully operational and detailed system for the greatest VTT in the world!
|
||||
|
||||
Hellborn Descended RPG for Foundry VTT is system.
|
||||
This system & product are used with permission granted as part of the partnership agreement between Foundry Gaming LLC and Studio Hex. It uses the following trademarks and/or copyrights:
|
||||
|
||||
© 2025 Studio Hex. Content copyright Alkis "Fern" Nteli-Stavrianeas, Eduard Gabriel Schuler. All rights reserved.
|
||||
Hellborn, Hellborn Descended is a trademark of Studio Hex.
|
||||
|
||||
No part of this publication may be reproduced, distributed, or transmitted in any form or by any means without the prior written permission of the copyright holder, except in the case of brief quotations used in reviews or educational purposes.
|
||||
|
||||
For inquiries on developing content for this ruleset please contact Studiohexgame@gmail, or either one of the copyright holders on Discord. Feel free to join our Discord server for further inquiries: https://discord.gg/qaWRhdEgBE
|
||||
|
||||
Foundry system by Uberwald ( https://www.uberwald.me )
|
||||
BIN
assets/tarots/0_The_Fool.webp
Normal file
|
After Width: | Height: | Size: 648 KiB |
BIN
assets/tarots/11_Justice.webp
Normal file
|
After Width: | Height: | Size: 357 KiB |
BIN
assets/tarots/13_Death.webp
Normal file
|
After Width: | Height: | Size: 417 KiB |
BIN
assets/tarots/15_The_Devil.webp
Normal file
|
After Width: | Height: | Size: 348 KiB |
BIN
assets/tarots/1_The_Magician.webp
Normal file
|
After Width: | Height: | Size: 406 KiB |
BIN
assets/tarots/21_The_World.webp
Normal file
|
After Width: | Height: | Size: 1.0 MiB |
BIN
assets/tarots/2_The_High_Priestess.webp
Normal file
|
After Width: | Height: | Size: 545 KiB |
BIN
assets/tarots/6_The_Lovers.webp
Normal file
|
After Width: | Height: | Size: 404 KiB |
BIN
assets/tarots/8_Strength.webp
Normal file
|
After Width: | Height: | Size: 338 KiB |
BIN
assets/tarots/9_The_Hermit.webp
Normal file
|
After Width: | Height: | Size: 299 KiB |
BIN
assets/ui/banner_compendium.png
Normal file
|
After Width: | Height: | Size: 13 KiB |
@@ -562,6 +562,10 @@ i.fvtt-hellborn {
|
||||
min-width: 4.5rem;
|
||||
max-width: 4.5rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .ammoQuantity {
|
||||
min-width: 4.2rem;
|
||||
max-width: 4.2rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .type {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
@@ -1965,6 +1969,9 @@ i.fvtt-hellborn {
|
||||
.fvtt-hellborn .tarot-content fieldset {
|
||||
margin-top: 8px;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content fieldset legend {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content fieldset .form-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -1982,6 +1989,17 @@ i.fvtt-hellborn {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content fieldset .flexrow,
|
||||
.fvtt-hellborn .tarot-content fieldset .scrollable-content {
|
||||
align-items: flex-start;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content fieldset .tarot-pic {
|
||||
margin-left: 1rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start;
|
||||
align-items: center;
|
||||
}
|
||||
.fvtt-hellborn .tarot-content .header {
|
||||
display: flex;
|
||||
}
|
||||
@@ -2441,23 +2459,41 @@ i.fvtt-hellborn {
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
.item-to-chat ul .tarot-spacing {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
.item-to-chat ul li {
|
||||
margin: 0 10px;
|
||||
font-family: var(--font-primary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.item-to-chat ul li p {
|
||||
margin: 0;
|
||||
}
|
||||
.item-to-chat .tarot-item-img {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
.flavor-text-damage {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
color: var(--color-dark-2);
|
||||
margin-top: 5px;
|
||||
margin-top: 0px;
|
||||
align-items: center;
|
||||
}
|
||||
.flavor-text-damage .chat-damage-type {
|
||||
font-weight: bold;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
.flavor-text-damage h2 {
|
||||
margin-top: 10px;
|
||||
margin-left: 10px;
|
||||
margin-bottom: 4px;
|
||||
text-align: center;
|
||||
margin-top: 4px;
|
||||
margin-left: 4px;
|
||||
margin-bottom: 0px;
|
||||
font-family: var(--font-title);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
font-size: calc(var(--font-size-standard) * 1.1);
|
||||
color: var(--title-color);
|
||||
}
|
||||
.dice-roll {
|
||||
@@ -2513,6 +2549,12 @@ i.fvtt-hellborn {
|
||||
font-family: var(--font-primary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.dice-roll .intro-chat .intro-right ul .chat-roll-label {
|
||||
margin-right: 2rem;
|
||||
}
|
||||
.dice-roll .intro-chat .intro-right ul .chat-results-spacing {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
.dice-roll .intro-chat .intro-right ul .nudge-roll {
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
margin-left: 4rem;
|
||||
|
||||
@@ -30,6 +30,11 @@ Hooks.once("init", function () {
|
||||
documents,
|
||||
}
|
||||
|
||||
CONFIG.Combat.initiative = {
|
||||
formula: '3d6 + @stats.mind.value',
|
||||
decimals: 0
|
||||
};
|
||||
|
||||
CONFIG.Actor.documentClass = documents.HellbornActor
|
||||
CONFIG.Actor.dataModels = {
|
||||
character: models.HellbornCharacter,
|
||||
|
||||
@@ -483,10 +483,10 @@
|
||||
"label": "Duration"
|
||||
},
|
||||
"maintain": {
|
||||
"label": "Maintain"
|
||||
"label": "Passive"
|
||||
},
|
||||
"choiceMaintainDuration": {
|
||||
"label": "Choice Maintain/Duration"
|
||||
"label": "Passive/Duration"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
@@ -655,6 +655,9 @@
|
||||
"ammo": {
|
||||
"label": "Ammo"
|
||||
},
|
||||
"ammoQuantity": {
|
||||
"label": "Ammo Quantity"
|
||||
},
|
||||
"cost": {
|
||||
"label": "Cost"
|
||||
},
|
||||
|
||||
@@ -19,6 +19,7 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
createMalefica: HellbornCharacterSheet.#onCreateMalefica,
|
||||
createRitual: HellbornCharacterSheet.#onCreateRitual,
|
||||
createPerk: HellbornCharacterSheet.#onCreatePerk,
|
||||
modifyAmmo: HellbornCharacterSheet.#onModifyAmmo,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -169,6 +170,18 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newPerk"), type: "perk" }])
|
||||
}
|
||||
|
||||
static async #onModifyAmmo(event, target) {
|
||||
const quantity = parseInt($(event.target).data("quantity"))
|
||||
const itemId = $(event.target).data("item-id")
|
||||
const item = this.document.items.get(itemId)
|
||||
if (!item) {
|
||||
console.warn(`HellbornCharacterSheet: Item with ID ${itemId} not found`)
|
||||
return
|
||||
}
|
||||
const currentAmmo = item.system.ammoQuantity || 0
|
||||
const newAmmo = Math.max(0, currentAmmo + quantity) // Ensure ammo doesn't go below 0
|
||||
await item.update({ "system.ammoQuantity": newAmmo })
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the roll action triggered by user interaction.
|
||||
|
||||
@@ -53,24 +53,24 @@ export const CHOICE_ADVANTAGES_DISADVANTAGES ={
|
||||
export const PERK_ROLES = {
|
||||
"abbetor": { id: "abbetor", label: "Abbetor" },
|
||||
"blade": { id: "blade", label: "Blade" },
|
||||
"other": { id: "other", label: "Other" },
|
||||
"gunslinger": { id: "gunslinger", label: "Gunslinger" },
|
||||
"malefic": { id: "malefic", label: "Malefic" },
|
||||
"mastermind": { id: "mastermind", label: "Mastermind" },
|
||||
"sentinel": { id: "sentinel", label: "Sentinel" },
|
||||
"slayer": { id: "slayer", label: "Slayer" },
|
||||
"wretch": { id: "wretch", label: "Wretch" },
|
||||
"other": { id: "other", label: "Other" },
|
||||
}
|
||||
|
||||
export const MALEFICA_DOMAINS = {
|
||||
"adfectus": { id: "adfectus", label: "Adfectus" },
|
||||
"other": { id: "other", label: "Other" },
|
||||
"divinus": { id: "divinus", label: "Divinus" },
|
||||
"ignis": { id: "ignis", label: "Ignis" },
|
||||
"iunctio": { id: "iunctio", label: "Iunctio" },
|
||||
"speculo": { id: "speculo", label: "Speculo" },
|
||||
"vinculum": { id: "vinculum", label: "Vinculum" },
|
||||
"vita": { id: "vita", label: "Vita" },
|
||||
"other": { id: "other", label: "Other" },
|
||||
}
|
||||
|
||||
export const PERK_LEVELS = {
|
||||
|
||||
@@ -99,7 +99,8 @@ export default class HellbornRoll extends Roll {
|
||||
let damageRoll = new Roll(formula)
|
||||
await damageRoll.evaluate()
|
||||
await damageRoll.toMessage({
|
||||
flavor: `<div class="flavor-text-damage"><h2>Damage Roll : ${options.rollItem.name}</h2><BR><strong> ${options.rollItem.system.damageType}</strong></div>`,
|
||||
flavor: `<div class="flavor-text-damage"><h2>${options.rollItem.name}</h2>
|
||||
<BR><span class="chat-damage-type"><span>${options.rollItem.system.damageType}</span></span></div>`,
|
||||
});
|
||||
return
|
||||
}
|
||||
@@ -201,11 +202,11 @@ export default class HellbornRoll extends Roll {
|
||||
options.nbDisadvantages = Number(options.nbDisadvantages)
|
||||
let dice = 3;
|
||||
let keep = ""
|
||||
if ( options.nbAdvantages > 0 || options.nbDisadvantages > 0) {
|
||||
dice = 4;
|
||||
if ( options.nbAdvantages > options.nbDisadvantages) {
|
||||
if ((options.nbAdvantages !== options.nbDisadvantages) && options.nbAdvantages > 0 || options.nbDisadvantages > 0) {
|
||||
dice = 3 + Math.abs(options.nbAdvantages - options.nbDisadvantages)
|
||||
if (options.nbAdvantages > options.nbDisadvantages) {
|
||||
keep = "kh3"
|
||||
} else {
|
||||
} else if (options.nbAdvantages < options.nbDisadvantages) {
|
||||
keep = "kl3"
|
||||
}
|
||||
}
|
||||
@@ -245,13 +246,13 @@ export default class HellbornRoll extends Roll {
|
||||
commonResult = Object.entries(commonResult).reduce((a, b) => (a[1] > b[1]) ? a : b)[0]
|
||||
let nbEqual = workResults.filter(r => Number(r.result) === Number(commonResult)).length
|
||||
|
||||
if (commonResult >= 4 && nbEqual >= 3) {
|
||||
if (resultType === "success" && commonResult >= 4 && nbEqual >= 3) {
|
||||
this.options.satanicSuccess = true
|
||||
if (this.options.satanicSuccess) {
|
||||
resultType = "success"
|
||||
}
|
||||
}
|
||||
if (commonResult <= 3 && nbEqual >= 3) {
|
||||
if (resultType === "failure" && commonResult <= 3 && nbEqual >= 3) {
|
||||
this.options.fiendishFailure = true
|
||||
if (this.options.fiendishFailure) {
|
||||
resultType = "failure"
|
||||
|
||||
@@ -12,7 +12,7 @@ export default class HellbornMalefica extends foundry.abstract.TypeDataModel {
|
||||
schema.level = new fields.StringField({ required: true, nullable: false, choices: SYSTEM.MALEFICA_LEVELS, initial: "1" })
|
||||
schema.time = new fields.StringField({ required: true, initial : "" })
|
||||
|
||||
schema.choiceMaintainDuration = new fields.StringField({ required: true, initial : "maintain", choices: {"maintain": "Maintain", "duration": "Duration"} })
|
||||
schema.choiceMaintainDuration = new fields.StringField({ required: true, initial : "maintain", choices: {"maintain": "Passive", "duration": "Duration"} })
|
||||
schema.duration = new fields.StringField({ required: true, initial : "" })
|
||||
schema.maintain = new fields.StringField({ required: true, initial : "" })
|
||||
|
||||
|
||||
@@ -18,6 +18,7 @@ export default class HellbornWeapon extends foundry.abstract.TypeDataModel {
|
||||
schema.damageType = new fields.StringField({ required: false, initial : "Physical" })
|
||||
|
||||
schema.ammo = new fields.StringField({ required: false, initial: "" })
|
||||
schema.ammoQuantity = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
schema.range = new fields.StringField({ required: false, initial: "" })
|
||||
schema.cost = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
|
||||
|
||||
BIN
packs-system/hellborn-quickstart/000014.ldb
Normal file
0
packs-system/hellborn-quickstart/000021.log
Normal file
1
packs-system/hellborn-quickstart/CURRENT
Normal file
@@ -0,0 +1 @@
|
||||
MANIFEST-000019
|
||||
0
packs-system/hellborn-quickstart/LOCK
Normal file
8
packs-system/hellborn-quickstart/LOG
Normal file
@@ -0,0 +1,8 @@
|
||||
2025/07/01-14:30:17.386227 7f0793fff6c0 Recovering log #17
|
||||
2025/07/01-14:30:17.395654 7f0793fff6c0 Delete type=3 #15
|
||||
2025/07/01-14:30:17.395704 7f0793fff6c0 Delete type=0 #17
|
||||
2025/07/01-14:30:49.376073 7f07923ff6c0 Level-0 table #22: started
|
||||
2025/07/01-14:30:49.376135 7f07923ff6c0 Level-0 table #22: 0 bytes OK
|
||||
2025/07/01-14:30:49.383661 7f07923ff6c0 Delete type=0 #20
|
||||
2025/07/01-14:30:49.406833 7f07923ff6c0 Manual compaction at level-0 from '!folders!0d8PWsAGxiRfOlkP' @ 72057594037927935 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at (end)
|
||||
2025/07/01-14:30:49.417059 7f07923ff6c0 Manual compaction at level-1 from '!folders!0d8PWsAGxiRfOlkP' @ 72057594037927935 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at (end)
|
||||
8
packs-system/hellborn-quickstart/LOG.old
Normal file
@@ -0,0 +1,8 @@
|
||||
2025/06/30-22:25:13.089120 7f07937fe6c0 Recovering log #12
|
||||
2025/06/30-22:25:13.141380 7f07937fe6c0 Delete type=3 #10
|
||||
2025/06/30-22:25:13.141434 7f07937fe6c0 Delete type=0 #12
|
||||
2025/06/30-22:34:15.665682 7f07923ff6c0 Level-0 table #18: started
|
||||
2025/06/30-22:34:15.665712 7f07923ff6c0 Level-0 table #18: 0 bytes OK
|
||||
2025/06/30-22:34:15.671514 7f07923ff6c0 Delete type=0 #16
|
||||
2025/06/30-22:34:15.696997 7f07923ff6c0 Manual compaction at level-0 from '!folders!0d8PWsAGxiRfOlkP' @ 72057594037927935 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at (end)
|
||||
2025/06/30-22:34:15.707753 7f07923ff6c0 Manual compaction at level-1 from '!folders!0d8PWsAGxiRfOlkP' @ 72057594037927935 : 1 .. '!items!zCOHBP3SYlGAY6zI' @ 0 : 0; will stop at (end)
|
||||
BIN
packs-system/hellborn-quickstart/MANIFEST-000019
Normal file
@@ -438,6 +438,10 @@
|
||||
min-width: 4.5rem;
|
||||
max-width: 4.5rem;
|
||||
}
|
||||
.ammoQuantity {
|
||||
min-width: 4.2rem;
|
||||
max-width: 4.2rem;
|
||||
}
|
||||
.type {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
|
||||
@@ -69,25 +69,43 @@
|
||||
margin: 0;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
.tarot-spacing {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
li {
|
||||
margin: 0 10px;
|
||||
font-family: var(--font-primary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
p {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.tarot-item-img {
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
.flavor-text-damage {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
color: var(--color-dark-2);
|
||||
margin-top: 5px;
|
||||
margin-top: 0px;
|
||||
align-items: center;
|
||||
.chat-damage-type {
|
||||
font-weight: bold;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
h2 {
|
||||
margin-top: 10px;
|
||||
margin-left: 10px;
|
||||
margin-bottom: 4px;
|
||||
text-align: center;
|
||||
margin-top: 4px;
|
||||
margin-left: 4px;
|
||||
margin-bottom: 0px;
|
||||
font-family: var(--font-title);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
font-size: calc(var(--font-size-standard) * 1.1);
|
||||
color: var(--title-color);
|
||||
}
|
||||
}
|
||||
@@ -143,6 +161,12 @@
|
||||
font-family: var(--font-primary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.chat-roll-label {
|
||||
margin-right: 2rem;
|
||||
}
|
||||
.chat-results-spacing {
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
.nudge-roll {
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
margin-left: 4rem;
|
||||
|
||||
@@ -4,6 +4,9 @@
|
||||
|
||||
fieldset {
|
||||
margin-top: 8px;
|
||||
legend {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
.form-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -21,8 +24,18 @@
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.flexrow,
|
||||
.scrollable-content {
|
||||
align-items: flex-start;
|
||||
}
|
||||
.tarot-pic {
|
||||
margin-left: 1rem;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: flex-start; // aligne le contenu en haut
|
||||
align-items: center; // ce }
|
||||
}
|
||||
}
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
img {
|
||||
|
||||
10
system.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"id": "fvtt-hellborn",
|
||||
"title": "Hellborn -Descended RPG",
|
||||
"title": "Hellborn - Descended RPG",
|
||||
"description": "Hellborn - Descended RPG",
|
||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-hellborn/raw/branch/main/system.json",
|
||||
"download": "#{DOWNLOAD}#",
|
||||
@@ -49,6 +49,14 @@
|
||||
}
|
||||
},
|
||||
"packs": [
|
||||
{
|
||||
"name": "hellborn-quickstart",
|
||||
"banner": "systems/fvtt-hellborn/assets/ui/banner_compendium.png",
|
||||
"label": "Hellborn - Quickstart",
|
||||
"system": "fvtt-hellborn",
|
||||
"path": "packs-system/hellborn-quickstart",
|
||||
"type": "Item"
|
||||
}
|
||||
],
|
||||
"grid": {
|
||||
"distance": 10,
|
||||
|
||||
@@ -10,15 +10,27 @@
|
||||
{{#each weapons as |item|}}
|
||||
<div class="weapon item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
|
||||
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}} - {{upperFirst item.system.weaponType}}" />
|
||||
<i class="fa-regular fa-dice"></i>
|
||||
<div class="name rollable" data-roll-type="weapon" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<span class="type" data-tooltip="Type">{{upperFirst item.system.weaponType}}</span>
|
||||
<!-- <span class="type" data-tooltip="Type">{{upperFirst item.system.weaponType}}</span> -->
|
||||
<span class="properties" data-tooltip="Properties">{{upperFirst item.system.properties}}</span>
|
||||
<span class="range" data-tooltip="Range">{{upperFirst item.system.range}}</span>
|
||||
|
||||
{{#if (eq item.system.weaponType "melee")}}
|
||||
<span class="ammoQuantity" > </span>
|
||||
<span class="ammo" ></span>
|
||||
|
||||
{{else}}
|
||||
<span class="ammoQuantity" data-tooltip="ammoQuantity">
|
||||
<i class="fa-solid fa-octagon-plus" data-action="modifyAmmo" data-quantity="1" data-item-id="{{item.id}}"></i>
|
||||
{{item.system.ammoQuantity}}
|
||||
<i class="fa-solid fa-octagon-minus" data-action="modifyAmmo" data-quantity="-1" data-item-id="{{item.id}}"></i>
|
||||
</span>
|
||||
<span class="ammo" data-tooltip="Ammo">{{upperFirst item.system.ammo}}</span>
|
||||
{{/if}}
|
||||
|
||||
<a class="damage rollable" data-tooltip="Damage" data-item-id="{{item.id}}" data-action="roll"
|
||||
data-roll-type="damage" data-roll-value="{{item.system.damageFormula}}">
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<!--<img src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />-->
|
||||
<div class="name" data-action="toChat" data-item-uuid="{{item.uuid}}" data-roll-type="malefica" data-tooltip="{{{item.system.description}}}">
|
||||
<div class="name" data-action="toChat" data-item-uuid="{{item.uuid}}" data-roll-type="malefica" data-tooltip="{{{item.system.description}}}<br>Time:{{item.system.time}}<br>Duration:{{item.system.duration}}<br>Range:{{item.system.range}}<br>Target:{{item.system.target}}">
|
||||
<a>{{item.name}}</a>
|
||||
</div>
|
||||
<span class="domain" data-tooltip="Domain">{{upperFirst item.system.domain}}</span>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<h2>{{localize "HELLBORN.Label.statRoll"}}</h2>
|
||||
{{/if}}
|
||||
{{#if weapon}}
|
||||
<h2>Weapon : {{weapon.name}}</strong></h2>
|
||||
<h2>{{weapon.name}}</strong></h2>
|
||||
{{/if}}
|
||||
|
||||
<ul>
|
||||
@@ -18,7 +18,7 @@
|
||||
<li><strong>Properties :</strong> {{weapon.system.properties}}</li>
|
||||
<li>
|
||||
<span>
|
||||
<span><strong>{{localize rollItem.label}} : {{rollItem.value}}</strong></span>
|
||||
<span class="chat-roll-label"><strong>{{localize rollItem.label}} : {{rollItem.value}}</strong></span>
|
||||
<span>{{localize "HELLBORN.Label.difficulty"}} : {{difficulty}}</span>
|
||||
</span>
|
||||
</li>
|
||||
@@ -30,7 +30,7 @@
|
||||
<li>With Disadvantages ! </li>
|
||||
{{/if}}
|
||||
|
||||
<li>Results :
|
||||
<li class="chat-results-spacing">Results :
|
||||
{{#each results as |result|}}
|
||||
{{result.result}}
|
||||
{{/each}}
|
||||
@@ -38,11 +38,11 @@
|
||||
|
||||
{{#if isSuccess}}
|
||||
{{#if satanicSuccess}}
|
||||
<li class="result-satanic-success">
|
||||
<li class="chat-results-spacing result-satanic-success">
|
||||
{{localize "HELLBORN.Label.satanicSuccess"}}
|
||||
</li>
|
||||
{{else}}
|
||||
<li class="result-success">
|
||||
<li class="chat-results-spacing result-success">
|
||||
{{localize "HELLBORN.Label.success"}}
|
||||
</li>
|
||||
{{/if}}
|
||||
@@ -51,18 +51,18 @@
|
||||
|
||||
{{#if isFailure}}
|
||||
{{#if fiendishFailure}}
|
||||
<li class="result-fiendish-failure">
|
||||
<li class="chat-results-spacing result-fiendish-failure">
|
||||
{{localize "HELLBORN.Label.fiendishFailure"}}
|
||||
</li>
|
||||
{{else}}
|
||||
<li class="result-failure">
|
||||
<li class="chat-results-spacing result-failure">
|
||||
{{localize "HELLBORN.Label.failure"}}
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq resultType "unknown")}}
|
||||
<li class="result-unknown">
|
||||
<li class="chat-results-spacing result-unknown">
|
||||
{{localize "HELLBORN.Label.unknown"}}
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
@@ -2,7 +2,12 @@
|
||||
<div class="intro-chat">
|
||||
<h2>{{name}}</h2>
|
||||
<ul>
|
||||
<li><strong>Orientation : </strong>{{system.orientation}}</li>
|
||||
{{#if (eq system.orientation "Upright")}}
|
||||
<li><strong>Orientation : </strong>Upright</li>
|
||||
{{else}}
|
||||
<li><strong>Orientation : </strong>Reversed</li>
|
||||
{{/if}}
|
||||
|
||||
<li><strong>Quote : </strong>{{system.quote}}</li>
|
||||
|
||||
{{#if (eq system.orientation "Upright")}}
|
||||
@@ -11,15 +16,15 @@
|
||||
<li><strong>Reversed XP Trigger : </strong>{{system.penalty}}</li>
|
||||
{{/if}}
|
||||
|
||||
<li><strong>Description : </strong>{{{system.description}}}</li>
|
||||
<li class="tarot-spacing"><strong>Description : </strong>{{{system.description}}}</li>
|
||||
|
||||
{{#if (eq system.orientation "Upright")}}
|
||||
<li><strong>Positive Effect : </strong>{{{system.positiveEffect}}}</li>
|
||||
<li class="tarot-spacing"><strong>Positive Effect : </strong>{{{system.positiveEffect}}}</li>
|
||||
{{else}}
|
||||
<li><strong>Negative Effect : </strong>{{{system.negativeEffect}}}</li>
|
||||
<li class="tarot-spacing"><strong>Negative Effect : </strong>{{{system.negativeEffect}}}</li>
|
||||
{{/if}}
|
||||
|
||||
</ul>
|
||||
<img class="tarot-item-img" src="{{system.image}}" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -27,7 +27,7 @@
|
||||
{{formInput systemFields.negativeEffect enriched=enrichedNegativeEffect value=system.negativeEffect name="system.negativeEffect"
|
||||
toggled=true}}
|
||||
</div>
|
||||
<div>
|
||||
<div class="tarot-pic">
|
||||
<img src="{{system.image}}" class="item-img" data-edit="image" data-action="editImage" data-tooltip="{{localize "HELLBORN.Label.imageTooltip"}}"/>
|
||||
{{formField systemFields.image value=system.image localize=true }}
|
||||
</div>
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
{{#if (eq system.weaponType "ranged")}}
|
||||
{{formField systemFields.subType value=system.subType localize=true}}
|
||||
{{formField systemFields.range value=system.range localize=true}}
|
||||
{{formField systemFields.ammoQuantity value=system.ammoQuantity localize=true}}
|
||||
{{formField systemFields.ammo value=system.ammo localize=true}}
|
||||
{{/if}}
|
||||
|
||||
|
||||