Compare commits
11 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 0ee42aef99 | |||
| ee3a5764f0 | |||
| 28ec390020 | |||
| 86ee9a44ec | |||
| abfc4e8443 | |||
| 707a318bb7 | |||
| 368e087e0d | |||
| f2e6415f33 | |||
| 4aa22195a3 | |||
| 7e517bfb12 | |||
| 57706629e1 |
@@ -417,8 +417,8 @@ i.fvtt-hellborn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
min-width: 20rem;
|
||||
max-width: 20rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas .malefica .controls {
|
||||
font-size: 0.7rem;
|
||||
@@ -426,16 +426,20 @@ i.fvtt-hellborn {
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas .malefica .name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas .malefica .damage {
|
||||
min-width: 3.2rem;
|
||||
max-width: 3.2rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas .malefica .domain {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas .malefica .level {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .maleficas .malefica .item-img {
|
||||
width: 24px;
|
||||
@@ -460,8 +464,8 @@ i.fvtt-hellborn {
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .rituals .ritual .ingredients {
|
||||
min-width: 26rem;
|
||||
max-width: 26rem;
|
||||
min-width: 24rem;
|
||||
max-width: 24rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-maleficas .main-div .rituals .ritual .name {
|
||||
min-width: 12rem;
|
||||
@@ -543,20 +547,28 @@ i.fvtt-hellborn {
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .properties {
|
||||
min-width: 21rem;
|
||||
max-width: 21rem;
|
||||
min-width: 16.3rem;
|
||||
max-width: 16.3rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .range {
|
||||
min-width: 4.5rem;
|
||||
max-width: 4.5rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .ammo {
|
||||
min-width: 4.5rem;
|
||||
max-width: 4.5rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .type {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .damage {
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .damage {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .weapons .weapon .item-img {
|
||||
width: 24px;
|
||||
@@ -624,8 +636,12 @@ i.fvtt-hellborn {
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .equipments .equipment .name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .equipments .equipment .quantity {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.character-equipment .main-div .equipments .equipment .item-img {
|
||||
width: 24px;
|
||||
@@ -1173,6 +1189,14 @@ i.fvtt-hellborn {
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
padding-left: 5px;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .enemy-column {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .enemy-column fieldset {
|
||||
width: 100%;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .mortality {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -1196,6 +1220,14 @@ i.fvtt-hellborn {
|
||||
color: grey;
|
||||
font-size: small;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .counters .characteristics-label label {
|
||||
min-width: 3.5rem;
|
||||
max-width: 3.5rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .counters .characteristics-label span {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .counters label {
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
@@ -1217,8 +1249,8 @@ i.fvtt-hellborn {
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
min-width: 20rem;
|
||||
max-width: 20rem;
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .rollable:hover,
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .rollable:focus {
|
||||
@@ -1230,23 +1262,108 @@ i.fvtt-hellborn {
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .flavor {
|
||||
min-width: 24rem;
|
||||
max-width: 24rem;
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .name {
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .role {
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .equipments {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .equipments .equipment {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .equipments .equipment .rollable:hover,
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .equipments .equipment .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .equipments .equipment .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .equipments .equipment .name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .equipments .equipment .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .ailments {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .ailments .ailment {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .ailments .ailment label {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .level {
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .ailments .ailment .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(1, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .rollable:hover,
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .domain {
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .damage {
|
||||
min-width: 3.2rem;
|
||||
max-width: 3.2rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .traits .trait .item-img {
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .level {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .name {
|
||||
min-width: 10rem;
|
||||
max-width: 10em;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .maleficas .malefica .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
@@ -1274,20 +1391,28 @@ i.fvtt-hellborn {
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .weapons .weapon .properties {
|
||||
min-width: 21rem;
|
||||
max-width: 21rem;
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .weapons .weapon .type {
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .weapons .weapon .range {
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .weapons .weapon .ammo {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .weapons .weapon .type {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .weapons .weapon .damage {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .weapons .weapon .name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-hellborn .tab.enemy-traits .main-div .weapons .weapon .item-img {
|
||||
width: 24px;
|
||||
@@ -2099,6 +2224,11 @@ i.fvtt-hellborn {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.fvtt-hellborn .malefica-content fieldset .form-fields input[type="checkbox"] {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
text-align: center;
|
||||
}
|
||||
.fvtt-hellborn .malefica-content fieldset .form-group input {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
@@ -2269,6 +2399,14 @@ i.fvtt-hellborn {
|
||||
font-size: calc(var(--font-size-standard) * 2);
|
||||
color: var(--color-dark-1);
|
||||
}
|
||||
.item-to-chat h2 {
|
||||
margin-top: 10px;
|
||||
margin-left: 10px;
|
||||
margin-bottom: 4px;
|
||||
font-family: var(--font-title);
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
color: var(--title-color);
|
||||
}
|
||||
.item-to-chat ul {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
@@ -2304,9 +2442,11 @@ i.fvtt-hellborn {
|
||||
flex-direction: row;
|
||||
}
|
||||
.dice-roll .intro-chat .intro-img {
|
||||
padding: 5px;
|
||||
width: 80px;
|
||||
align-self: center;
|
||||
padding: 4px;
|
||||
max-width: 80px;
|
||||
min-width: 80px;
|
||||
align-self: top;
|
||||
text-align: center;
|
||||
}
|
||||
.dice-roll .intro-chat .intro-right {
|
||||
display: flex;
|
||||
|
||||
51
lang/en.json
51
lang/en.json
@@ -334,15 +334,24 @@
|
||||
"description": {
|
||||
"label": "Description"
|
||||
},
|
||||
"enc": {
|
||||
"label": "Enc"
|
||||
},
|
||||
"techAge": {
|
||||
"label": "Tech Age"
|
||||
"quantity": {
|
||||
"label": "Quantity"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Label": {
|
||||
"addArmor": "Add Armor",
|
||||
"addPerk": "Add Perk",
|
||||
"addRitual": "Add Ritual",
|
||||
"addSpeciesTrait": "Add Trait",
|
||||
"addTarot": "Add Tarot",
|
||||
"addMalefica": "Add Malefica",
|
||||
"addTrait": "Add Trait",
|
||||
"newMalefica": "New Malefica",
|
||||
"newPerk": "New Perk",
|
||||
"newRitual": "New Ritual",
|
||||
"newSpeciesTrait": "New Trait",
|
||||
"newTarot": "New Tarot",
|
||||
"titleStat": "Stat Roll Dialog",
|
||||
"difficulty": "Difficulty",
|
||||
"unknown": "Unknown",
|
||||
@@ -464,9 +473,27 @@
|
||||
},
|
||||
"Malefica": {
|
||||
"FIELDS": {
|
||||
"duration": {
|
||||
"label": "Duration"
|
||||
},
|
||||
"maintain": {
|
||||
"label": "Maintain"
|
||||
},
|
||||
"choiceMaintainDuration": {
|
||||
"label": "Choice Maintain/Duration"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
},
|
||||
"hasDamage": {
|
||||
"label": "Has Damage"
|
||||
},
|
||||
"damage": {
|
||||
"label": "Damage"
|
||||
},
|
||||
"damageType": {
|
||||
"label": "Damage Type"
|
||||
},
|
||||
"domain": {
|
||||
"label": "Domain"
|
||||
},
|
||||
@@ -547,7 +574,10 @@
|
||||
"Tarot": {
|
||||
"FIELDS": {
|
||||
"bonus": {
|
||||
"label": "Bonus"
|
||||
"label": "Upright XP Trigger"
|
||||
},
|
||||
"penalty": {
|
||||
"label": "Reversed XP Trigger"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
@@ -610,6 +640,12 @@
|
||||
},
|
||||
"Weapon": {
|
||||
"FIELDS": {
|
||||
"stat": {
|
||||
"label": "Stat"
|
||||
},
|
||||
"damageStat": {
|
||||
"label": "Damage Stat"
|
||||
},
|
||||
"ammo": {
|
||||
"label": "Ammo"
|
||||
},
|
||||
@@ -619,6 +655,9 @@
|
||||
"damage": {
|
||||
"label": "Damage"
|
||||
},
|
||||
"damageType": {
|
||||
"label": "Damage Type"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
},
|
||||
|
||||
@@ -211,6 +211,12 @@ export default class HellbornActorSheet extends HandlebarsApplicationMixin(found
|
||||
if (item.type === "ritual") {
|
||||
content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-hellborn/templates/chat-ritual.hbs", item.toObject())
|
||||
}
|
||||
if (item.type === "species-trait") {
|
||||
content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-hellborn/templates/chat-trait.hbs", item.toObject())
|
||||
}
|
||||
if (item.type === "tarot") {
|
||||
content = await foundry.applications.handlebars.renderTemplate("systems/fvtt-hellborn/templates/chat-tarot.hbs", item.toObject())
|
||||
}
|
||||
const chatData = {
|
||||
user: game.user.id,
|
||||
speaker: ChatMessage.getSpeaker({ actor: this.actor }),
|
||||
|
||||
@@ -18,6 +18,7 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
createDeal: HellbornCharacterSheet.#onCreateDeal,
|
||||
createMalefica: HellbornCharacterSheet.#onCreateMalefica,
|
||||
createRitual: HellbornCharacterSheet.#onCreateRitual,
|
||||
createPerk: HellbornCharacterSheet.#onCreatePerk,
|
||||
},
|
||||
}
|
||||
|
||||
@@ -89,12 +90,24 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
case "status":
|
||||
context.tab = context.tabs.status
|
||||
context.perks = doc.itemTypes.perk
|
||||
context.perks.sort((a, b) => a.name.localeCompare(b.name))
|
||||
// Sort the perks by system.role and then by the system.level
|
||||
context.perks.sort((a, b) => {
|
||||
if (a.system.role === b.system.role) {
|
||||
return a.system.level.localeCompare(b.system.level)
|
||||
}
|
||||
return a.system.role.localeCompare(b.system.role)
|
||||
})
|
||||
break;
|
||||
case "maleficas":
|
||||
context.tab = context.tabs.maleficas
|
||||
context.maleficas = doc.itemTypes.malefica
|
||||
context.maleficas.sort((a, b) => a.name.localeCompare(b.name))
|
||||
// Sort the maleficas by system.domain and then by the system.level
|
||||
context.maleficas.sort((a, b) => {
|
||||
if (a.system.domain === b.system.domain) {
|
||||
return a.system.level.localeCompare(b.system.level)
|
||||
}
|
||||
return a.system.domain.localeCompare(b.system.domain)
|
||||
})
|
||||
context.rituals = doc.itemTypes.ritual
|
||||
context.rituals.sort((a, b) => a.name.localeCompare(b.name))
|
||||
break
|
||||
@@ -152,6 +165,9 @@ export default class HellbornCharacterSheet extends HellbornActorSheet {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newArmor"), type: "armor" }])
|
||||
}
|
||||
|
||||
static #onCreatePerk(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newPerk"), type: "perk" }])
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -13,7 +13,11 @@ export default class HellbornEnemySheet extends HellbornActorSheet {
|
||||
},
|
||||
actions: {
|
||||
createTrait: HellbornEnemySheet.#onCreateTrait,
|
||||
},
|
||||
createEquipment: HellbornEnemySheet.#onCreateEquipment,
|
||||
createWeapon: HellbornEnemySheet.#onCreateWeapon,
|
||||
createMalefica: HellbornEnemySheet.#onCreateMalefica,
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/** @override */
|
||||
@@ -37,6 +41,7 @@ export default class HellbornEnemySheet extends HellbornActorSheet {
|
||||
sheet: "traits",
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prepare an array of form header tabs.
|
||||
* @returns {Record<string, Partial<ApplicationTab>>}
|
||||
@@ -73,6 +78,10 @@ export default class HellbornEnemySheet extends HellbornActorSheet {
|
||||
context.traits.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.weapons = doc.itemTypes.weapon
|
||||
context.weapons.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.maleficas = doc.itemTypes.malefica
|
||||
context.maleficas.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.equipments = doc.itemTypes.equipment
|
||||
context.equipments.sort((a, b) => a.name.localeCompare(b.name))
|
||||
break
|
||||
case "biography":
|
||||
context.tab = context.tabs.biography
|
||||
@@ -89,9 +98,22 @@ export default class HellbornEnemySheet extends HellbornActorSheet {
|
||||
* @param {HTMLElement} target The current target of the event listener.
|
||||
*/
|
||||
static #onCreateTrait(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newTrait"), type: "trait" }])
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newTrait"), type: "species-trait" }])
|
||||
}
|
||||
|
||||
static #onCreateEquipment(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newEquipment"), type: "equipment" }])
|
||||
}
|
||||
|
||||
static #onCreateMalefica(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newMalefica"), type: "malefica" }])
|
||||
}
|
||||
|
||||
static #onCreateWeapon(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("HELLBORN.Label.newWeapon"), type: "weapon" }])
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Handles the roll action triggered by user interaction.
|
||||
*
|
||||
|
||||
@@ -53,6 +53,7 @@ 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" },
|
||||
@@ -63,6 +64,7 @@ export const PERK_ROLES = {
|
||||
|
||||
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" },
|
||||
|
||||
@@ -84,29 +84,29 @@ export default class HellbornRoll extends Roll {
|
||||
static async prompt(options = {}) {
|
||||
let formula = `3D6 + 0D6KH - 0D6KH + ${options?.rollItem?.value}`
|
||||
|
||||
let actor = game.actors.get(options.actorId)
|
||||
switch (options.rollType) {
|
||||
case "stat":
|
||||
break
|
||||
case "damage":
|
||||
{
|
||||
let formula = options.rollItem.system.damage
|
||||
if (options.rollItem.system.damageStat !== "none") {
|
||||
let statKey = options.rollItem.system.damageStat.toLowerCase()
|
||||
let statValue = actor.system.stats[statKey].value
|
||||
formula = `${formula} + ${statValue}`
|
||||
}
|
||||
let damageRoll = new Roll(formula)
|
||||
await damageRoll.evaluate()
|
||||
await damageRoll.toMessage({
|
||||
flavor: `${options.rollItem.name} - Damage Roll`
|
||||
flavor: `${options.rollItem.name} - Damage Roll - ${options.rollItem.system.damageType}`,
|
||||
});
|
||||
return
|
||||
}
|
||||
case "weapon":
|
||||
{
|
||||
let actor = game.actors.get(options.actorId)
|
||||
options.weapon = foundry.utils.duplicate(options.rollItem)
|
||||
let statKey = "skin"
|
||||
if (options.weapon.system.weaponType === "melee") {
|
||||
if ( options.weapon.system.properties.toLowerCase().match("heavy") || options.weapon.system.properties.toLowerCase().match("oversized")) {
|
||||
statKey = "flesh"
|
||||
}
|
||||
}
|
||||
let statKey = options.weapon.system.stat.toLowerCase()
|
||||
options.rollItem = actor.system.stats[statKey]
|
||||
}
|
||||
break
|
||||
@@ -224,16 +224,16 @@ export default class HellbornRoll extends Roll {
|
||||
this.options.fiendishFailure = false
|
||||
this.options.rollData = foundry.utils.duplicate(rollData)
|
||||
if (resultType === "success") {
|
||||
let nb6 = roll.terms[0].results.filter(r => r.result === 6).length
|
||||
nb6 += roll.terms[3].total === 6 ? 1 : 0
|
||||
let nb6 = roll.terms[0].results.filter(r => r.result >= 4).length
|
||||
nb6 += roll.terms[2].total <= 4 ? 1 : 0
|
||||
this.options.satanicSuccess = nb6 >= 3
|
||||
if (this.options.satanicSuccess) {
|
||||
resultType = "success"
|
||||
}
|
||||
}
|
||||
if (resultType === "failure") {
|
||||
let nb1 = roll.terms[0].results.filter(r => r.result === 1).length
|
||||
nb1 += roll.terms[5].total === 1 ? 1 : 0
|
||||
let nb1 = roll.terms[0].results.filter(r => r.result <= 3).length
|
||||
nb1 += roll.terms[4].total <= 3 ? 1 : 0
|
||||
this.options.fiendishFailure = nb1 >= 3
|
||||
if (this.options.fiendishFailure) {
|
||||
resultType = "failure"
|
||||
@@ -242,6 +242,9 @@ export default class HellbornRoll extends Roll {
|
||||
this.options.resultType = resultType
|
||||
this.options.isSuccess = resultType === "success"
|
||||
this.options.isFailure = resultType === "failure"
|
||||
this.options.results = roll.terms[0].results
|
||||
this.options.advantageResult = roll.terms[2].total
|
||||
this.options.disadvantageResult = roll.terms[4].total
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -42,11 +42,28 @@ export default class HellbornEnemy extends foundry.abstract.TypeDataModel {
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 1, min: 0 }),
|
||||
})
|
||||
|
||||
// Ailments
|
||||
const ailmentField = (label) => {
|
||||
const schema = {
|
||||
enabled: new fields.BooleanField({ required: true, initial: false }),
|
||||
label: new fields.StringField({ required: true, initial: label })
|
||||
}
|
||||
return new fields.SchemaField(schema, { label })
|
||||
}
|
||||
schema.ailments = new fields.SchemaField(
|
||||
Object.values(SYSTEM.AILMENTS).reduce((obj, ailment) => {
|
||||
obj[ailment.id] = ailmentField(ailment.label)
|
||||
return obj
|
||||
}, {}),
|
||||
)
|
||||
|
||||
schema.defense = new fields.SchemaField({
|
||||
base: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
bonus: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
total: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
resistance: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
maleficDR: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
resilience: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
})
|
||||
|
||||
schema.movement = new fields.SchemaField({
|
||||
|
||||
@@ -8,6 +8,7 @@ export default class HellbornEquipment extends foundry.abstract.TypeDataModel {
|
||||
|
||||
schema.description = new fields.HTMLField({ required: true, textSearch: true })
|
||||
|
||||
schema.quantity = new fields.NumberField({ required: true, initial: 1, min: 0, integer: true })
|
||||
schema.cost = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
|
||||
return schema
|
||||
|
||||
@@ -11,6 +11,14 @@ export default class HellbornMalefica extends foundry.abstract.TypeDataModel {
|
||||
schema.domain = new fields.StringField({ required: true, nullable: false, choices: SYSTEM.MALEFICA_DOMAINS, initial: "adfectus" })
|
||||
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.duration = new fields.StringField({ required: true, initial : "" })
|
||||
schema.maintain = new fields.StringField({ required: true, initial : "" })
|
||||
|
||||
schema.hasDamage = new fields.BooleanField({ required: true, initial: false })
|
||||
schema.damage = new fields.StringField({ required: false, initial : "" })
|
||||
schema.damageType = new fields.StringField({ required: false, initial : "" })
|
||||
schema.range = new fields.StringField({ required: true, initial : "" })
|
||||
schema.target = new fields.StringField({ required: true, initial : "" })
|
||||
|
||||
|
||||
@@ -7,12 +7,16 @@ export default class HellbornWeapon extends foundry.abstract.TypeDataModel {
|
||||
const requiredInteger = { required: true, nullable: false, integer: true }
|
||||
|
||||
schema.description = new fields.HTMLField({ required: true, textSearch: true })
|
||||
schema.stat = new fields.StringField({ required: true, initial: "skin", choices: {"skin": "Skin", "flesh": "Flesh" }})
|
||||
|
||||
schema.weaponType = new fields.StringField({ required: true, initial: "melee", choices: SYSTEM.WEAPON_TYPES })
|
||||
schema.subType = new fields.StringField({ required: false, initial: "pistols", choices: SYSTEM.RANGED_SUBTYPES })
|
||||
schema.properties = new fields.StringField({required: true, initial: ""})
|
||||
|
||||
schema.damage = new fields.StringField({required: true, initial: "1d6"})
|
||||
schema.damageStat = new fields.StringField({ required: true, initial: "none", choices: {"none": "None", "skin": "Skin", "flesh": "Flesh", "heart": "Heart", "mind": "Mind", "soul": "Soul" }})
|
||||
schema.damageType = new fields.StringField({ required: false, initial : "Physical" })
|
||||
|
||||
schema.ammo = new fields.StringField({ required: false, initial: "" })
|
||||
schema.range = new fields.StringField({ required: false, initial: "" })
|
||||
schema.cost = new fields.NumberField({ required: true, initial: 0, min: 0 })
|
||||
@@ -23,4 +27,14 @@ export default class HellbornWeapon extends foundry.abstract.TypeDataModel {
|
||||
/** @override */
|
||||
static LOCALIZATION_PREFIXES = ["HELLBORN.Weapon"]
|
||||
|
||||
prepareDerivedData() {
|
||||
super.prepareDerivedData();
|
||||
let actor = this.parent?.actor;
|
||||
if (actor) {
|
||||
this.damageFormula = this.damage + (this.damageStat !== "none" ? `+${actor.system.stats[this.damageStat].value}` : "");
|
||||
} else {
|
||||
this.damageFormula = this.damage;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -172,16 +172,16 @@ export default class HellbornUtils {
|
||||
if (level=== "highpowers") return "High";
|
||||
if (level === "mastery") return "Mastery";
|
||||
level = parseInt(level);
|
||||
if (level === 0) return "I";
|
||||
if (level === 1) return "II";
|
||||
if (level === 2) return "III";
|
||||
if (level === 3) return "IV";
|
||||
if (level === 4) return "V";
|
||||
if (level === 5) return "VI";
|
||||
if (level === 6) return "VII";
|
||||
if (level === 7) return "VIII";
|
||||
if (level === 8) return "IX";
|
||||
if (level === 9) return "X";
|
||||
if (level === 0) return "0";
|
||||
if (level === 1) return "I";
|
||||
if (level === 2) return "II";
|
||||
if (level === 3) return "III";
|
||||
if (level === 4) return "IV";
|
||||
if (level === 5) return "V";
|
||||
if (level === 6) return "VI";
|
||||
if (level === 7) return "VII";
|
||||
if (level === 8) return "VIII";
|
||||
if (level === 9) return "IX";
|
||||
return level;
|
||||
})
|
||||
// Handle v12 removal of this helper
|
||||
|
||||
@@ -286,24 +286,28 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
min-width: 20rem;
|
||||
max-width: 20rem;
|
||||
.controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 3.2rem;
|
||||
max-width: 3.2rem;
|
||||
}
|
||||
.domain {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.level {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
@@ -329,8 +333,8 @@
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.ingredients {
|
||||
min-width: 26rem;
|
||||
max-width: 26rem;
|
||||
min-width: 24rem;
|
||||
max-width: 24rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 12rem;
|
||||
@@ -417,20 +421,28 @@
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.properties {
|
||||
min-width: 21rem;
|
||||
max-width: 21rem;
|
||||
min-width: 16.3rem;
|
||||
max-width: 16.3rem;
|
||||
}
|
||||
.range {
|
||||
min-width: 4.5rem;
|
||||
max-width: 4.5rem;
|
||||
}
|
||||
.ammo {
|
||||
min-width: 4.5rem;
|
||||
max-width: 4.5rem;
|
||||
}
|
||||
.type {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
@@ -500,8 +512,12 @@
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.quantity {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
|
||||
@@ -70,7 +70,7 @@
|
||||
align-items: center;
|
||||
margin-bottom: 4px;
|
||||
}
|
||||
.splitted {
|
||||
.splitted {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 4px;
|
||||
@@ -164,6 +164,14 @@
|
||||
padding-left: 5px;
|
||||
}
|
||||
}
|
||||
.enemy-column {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
gap: 4px;
|
||||
fieldset {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
.mortality {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
@@ -183,15 +191,23 @@
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
.characteristics-label{
|
||||
.characteristics-label {
|
||||
color: grey;
|
||||
font-size:small;
|
||||
font-size: small;
|
||||
label {
|
||||
min-width: 3.5rem;
|
||||
max-width: 3.5rem;
|
||||
}
|
||||
span {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
}
|
||||
}
|
||||
label {
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.spaced-left{
|
||||
.spaced-left {
|
||||
margin-left: 0.8rem;
|
||||
}
|
||||
input {
|
||||
@@ -208,8 +224,8 @@
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
min-width: 20rem;
|
||||
max-width: 20rem;
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
@@ -220,21 +236,9 @@
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.flavor {
|
||||
min-width: 24rem;
|
||||
max-width: 24rem;
|
||||
}
|
||||
.role {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.level {
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
@@ -243,7 +247,106 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
.weapons {
|
||||
.equipments {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
gap: 4px;
|
||||
.equipment {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13rem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.ailments {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(5, 1fr);
|
||||
gap: 4px;
|
||||
.ailment {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
label {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.maleficas {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(1, 1fr);
|
||||
gap: 4px;
|
||||
.malefica {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.domain {
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 3.2rem;
|
||||
max-width: 3.2rem;
|
||||
}
|
||||
.level {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 10rem;
|
||||
max-width: 10em;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.weapons {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(1, 1fr);
|
||||
gap: 4px;
|
||||
@@ -264,20 +367,28 @@
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.properties {
|
||||
min-width: 21rem;
|
||||
max-width: 21rem;
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
}
|
||||
.type {
|
||||
.range {
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.ammo {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
}
|
||||
.type {
|
||||
min-width: 3rem;
|
||||
max-width: 3rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 6rem;
|
||||
max-width: 6rem;
|
||||
min-width: 4rem;
|
||||
max-width: 4rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
@@ -286,7 +397,6 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
.tab.enemy-biography .main-div {
|
||||
|
||||
@@ -8,7 +8,10 @@
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.form-group label {
|
||||
.form-fields input[type="checkbox"] {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
text-align: center;
|
||||
}
|
||||
.form-group input {
|
||||
min-width: 12rem;
|
||||
|
||||
@@ -55,6 +55,14 @@
|
||||
}
|
||||
|
||||
.item-to-chat {
|
||||
h2 {
|
||||
margin-top: 10px;
|
||||
margin-left:10px;
|
||||
margin-bottom: 4px;
|
||||
font-family: var(--font-title);
|
||||
font-size: calc(var(--font-size-standard) * 1.4);
|
||||
color: var(--title-color);
|
||||
}
|
||||
ul {
|
||||
list-style-type: none;
|
||||
padding: 0;
|
||||
@@ -91,9 +99,11 @@
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
.intro-img {
|
||||
padding: 5px;
|
||||
width: 80px;
|
||||
align-self: center;
|
||||
padding: 4px;
|
||||
max-width: 80px;
|
||||
min-width : 80px;
|
||||
align-self: top;
|
||||
text-align: center;
|
||||
}
|
||||
.intro-right {
|
||||
display: flex;
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.weapons"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createWeapon"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="weapons">
|
||||
@@ -17,11 +17,13 @@
|
||||
</div>
|
||||
<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>
|
||||
<span class="ammo" data-tooltip="Ammo">{{upperFirst item.system.ammo}}</span>
|
||||
|
||||
<a class="damage rollable" data-tooltip="Damage" data-item-id="{{item.id}}" data-action="roll"
|
||||
data-roll-type="damage" data-roll-value="{{item.system.damage}}">
|
||||
data-roll-type="damage" data-roll-value="{{item.system.damageFormula}}">
|
||||
<i class="fa-regular fa-dice"></i>
|
||||
{{item.system.damage}}</a>
|
||||
{{item.system.damageFormula}}</a>
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
@@ -36,7 +38,7 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.armors"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addArmor"}}" data-tooltip-direction="UP"><i
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addArmor"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createArmor"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="armors">
|
||||
@@ -63,7 +65,7 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.equipments"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addEquipment"}}" data-tooltip-direction="UP"><i
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addEquipment"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createEquipment"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="equipments">
|
||||
@@ -74,6 +76,8 @@
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<span class="quantity" data-tooltip="Quantity">{{item.system.quantity}}</span>
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
@@ -100,7 +104,7 @@
|
||||
|
||||
{{#each system.ammoArray as |ammo key|}}
|
||||
<div class="ammo-item">
|
||||
<input type="number" class="ammo-quantity" value="{{ammo.value}}" min="0" name="system.ammoList.{{key}}.value" />
|
||||
<input type="text" class="ammo-quantity" value="{{ammo.value}}" min="0" name="system.ammoArray.{{key}}.value" />
|
||||
<span class="ammo-name">{{upperFirst ammo.label}}</span>
|
||||
</div>
|
||||
{{/each}}
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
<div>
|
||||
<div class="flexrow">
|
||||
<div class="form-group">
|
||||
<label>Upright</label>
|
||||
<label><a data-action="toChat" data-item-uuid="{{upright.uuid}}">Upright</a></label>
|
||||
<input class="trait" type="text" value="{{upright.name}}" disabled >
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{upright.id}}"
|
||||
@@ -56,7 +56,7 @@
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<div class="form-group">
|
||||
<label>Reversed</label>
|
||||
<label><a data-action="toChat" data-item-uuid="{{upright.uuid}}">Reversed</a></label>
|
||||
<input class="trait" type="text" value="{{downright.name}}" disabled >
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{downright.id}}"
|
||||
|
||||
@@ -17,6 +17,14 @@
|
||||
</div>
|
||||
<span class="domain" data-tooltip="Domain">{{upperFirst item.system.domain}}</span>
|
||||
<span class="level" data-tooltip="Level">{{getRomanLevel item.system.level}}</span>
|
||||
{{#if item.system.hasDamage}}
|
||||
<a class="damage rollable" data-tooltip="Damage" data-item-id="{{item.id}}" data-action="roll"
|
||||
data-roll-type="damage" data-roll-value="{{item.system.damage}}">
|
||||
<i class="fa-regular fa-dice"></i>
|
||||
{{item.system.damage}}</a>
|
||||
{{else}}
|
||||
<span class="damage" data-tooltip="Damage">-</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
|
||||
@@ -6,23 +6,23 @@
|
||||
<div class="counters">
|
||||
<div class="flexcol">
|
||||
<div>
|
||||
<label>Trauma : </label>{{formInput systemFields.trauma.fields.current value=system.trauma.current}} /
|
||||
<label>Trauma </label>{{formInput systemFields.trauma.fields.current value=system.trauma.current}} /
|
||||
{{formInput systemFields.trauma.fields.max value=system.trauma.max}}
|
||||
|
||||
<label class="spaced-left"> Darkness : </label>{{formInput systemFields.darkness.fields.current value=system.darkness.current}} /
|
||||
<label class="spaced-left"> Darkness </label>{{formInput systemFields.darkness.fields.current value=system.darkness.current}} /
|
||||
{{formInput systemFields.darkness.fields.max value=system.darkness.max}}
|
||||
{{formInput systemFields.darkness.fields.value value=system.darkness.value}}
|
||||
<label class="spaced-left"> Defense : </label>{{formInput systemFields.defense.fields.base value=system.defense.base}}
|
||||
<label class="spaced-left"> Defense </label>{{formInput systemFields.defense.fields.base value=system.defense.base}}
|
||||
{{formInput systemFields.defense.fields.bonus value=system.defense.bonus }}
|
||||
{{formInput systemFields.defense.fields.total value=system.defense.total}}
|
||||
{{formInput systemFields.defense.fields.resistance value=system.defense.resistance}}
|
||||
<label class="spaced-left"> Movement : </label>{{formInput systemFields.movement.fields.base value=system.movement.base}}
|
||||
<label class="spaced-left"> Movement </label>{{formInput systemFields.movement.fields.base value=system.movement.base}}
|
||||
{{formInput systemFields.movement.fields.reduce value=system.defense.reduce }}
|
||||
</div>
|
||||
|
||||
<div class="flexrow characteristics-label">
|
||||
<label> </label><span>Curr.</span><span>Max</span>
|
||||
<label> </label><span>Curr.</span><span>Max</span><span>MaxDR</span>
|
||||
<label> </label><span>Curr.</span><span>Max</span><span>Mal.DR</span>
|
||||
<label> </label><span>Base</span><span>Armor</span><span>Total</span><span>Resi.</span>
|
||||
<label> </label><span>Base</span><span>Redu.</span>
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.perks"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addPerk"}}" data-tooltip-direction="UP"><i
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addPerk"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createPerk"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="perks">
|
||||
|
||||
@@ -1,12 +1,18 @@
|
||||
<div class="item-to-chat">
|
||||
<div class="intro-chat">
|
||||
<h2>{{name}}</h2>
|
||||
|
||||
<ul>
|
||||
<li><strong>Malefica : {{name}}</strong></li>
|
||||
<li>Domain : {{system.domain}}</li>
|
||||
<li>Level : {{system.level}}</li>
|
||||
<li>Time : {{system.time}}</li>
|
||||
<li>Range : {{system.range}}</li>
|
||||
<li>Target : {{system.target}}</li>
|
||||
<li><strong>Domain : </strong>{{upperFirst system.domain}}</li>
|
||||
<li><strong>Level : </strong>{{getRomanLevel system.level}}</li>
|
||||
<li><strong>Time : </strong>{{system.time}}</li>
|
||||
{{#if (eq system.choiceMaintainDuration "duration")}}
|
||||
<li><strong>Duration : </strong>{{system.duration}}</li>
|
||||
{{else}}
|
||||
<li><strong>Maintain : </strong>{{system.maintain}}</li>
|
||||
{{/if}}
|
||||
<li><strong>Range : </strong>{{system.range}}</li>
|
||||
<li><strong>Target : </strong>{{system.target}}</li>
|
||||
<li>{{{system.description}}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -14,13 +14,27 @@
|
||||
|
||||
{{#if weapon}}
|
||||
<li><strong>Weapon : {{weapon.name}}</strong></li>
|
||||
<li><strong>Properties : {{weapon.system.properties}}</strong></li>
|
||||
<li><strong>Properties :</strong> {{weapon.system.properties}}</li>
|
||||
{{/if}}
|
||||
|
||||
<li><strong>{{localize rollItem.label}} : {{rollItem.value}}</strong></li>
|
||||
|
||||
<li>{{localize "HELLBORN.Label.difficulty"}} : {{difficulty}}</li>
|
||||
|
||||
<li>Results :
|
||||
{{#each results as |result|}}
|
||||
{{result.result}}
|
||||
{{/each}}
|
||||
</li>
|
||||
|
||||
{{#if (gt nbAdvantages 0)}}
|
||||
<li>Advantages : {{nbAdvantages}}, result {{advantageResult}}</li>
|
||||
{{/if}}
|
||||
{{#if (gt nbDisadvantages 0)}}
|
||||
<li>Disadvantages : {{nbDisadvantages}}, result {{disadvantageResult}}</li>
|
||||
{{/if}}
|
||||
|
||||
|
||||
{{#if (eq resultType "unknown")}}
|
||||
<li class="result-unknown">
|
||||
{{localize "HELLBORN.Label.unknown"}}
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<div class="item-to-chat">
|
||||
<div class="intro-chat">
|
||||
<h2>{{name}}</h2>
|
||||
<ul>
|
||||
<li><strong>Perk : {{name}}</strong></li>
|
||||
<li>{{system.flavorText}}</li>
|
||||
<li>Role : {{system.role}}</li>
|
||||
<li>Level : {{system.level}}</li>
|
||||
<li><strong>{{system.flavorText}}</strong></li>
|
||||
<li><strong>Role : </strong>{{upperFirst system.role}}</li>
|
||||
<li><strong>Level : </strong>{{getRomanLevel system.level}}</li>
|
||||
<li>{{{system.description}}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
<div class="item-to-chat">
|
||||
<div class="intro-chat">
|
||||
<h2>{{name}}</h2>
|
||||
<ul>
|
||||
<li><strong>Ritual : {{name}}</strong></li>
|
||||
<li>Difficulty : {{system.difficulty}}</li>
|
||||
<li>Threshold : {{system.threshold}}</li>
|
||||
<li>Limit : {{system.limit}}</li>
|
||||
<li>Ingredients : {{system.ingredients}}</li>
|
||||
<li>N. Attempts : {{system.nbAttempts}}</li>
|
||||
<li><strong>Difficulty : </strong>{{system.difficulty}}</li>
|
||||
<li><strong>Threshold : </strong>{{system.threshold}}</li>
|
||||
<li><strong>Limit : </strong>{{system.limit}}</li>
|
||||
<li><strong>Ingredients : </strong>{{system.ingredients}}</li>
|
||||
<li><strong>N. Attempts : </strong>{{system.nbAttempts}}</li>
|
||||
<li>{{{system.description}}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
25
templates/chat-tarot.hbs
Normal file
25
templates/chat-tarot.hbs
Normal file
@@ -0,0 +1,25 @@
|
||||
<div class="item-to-chat">
|
||||
<div class="intro-chat">
|
||||
<h2>{{name}}</h2>
|
||||
<ul>
|
||||
<li><strong>Orientation : </strong>{{system.orientation}}</li>
|
||||
<li><strong>Quote : </strong>{{system.quote}}</li>
|
||||
|
||||
{{#if (eq system.orientation "Upright")}}
|
||||
<li><strong>Upright XP Trigger : </strong>{{system.bonus}}</li>
|
||||
{{else}}
|
||||
<li><strong>Reversed XP Trigger : </strong>{{system.penalty}}</li>
|
||||
{{/if}}
|
||||
|
||||
<li><strong>Description : </strong>{{{system.description}}}</li>
|
||||
|
||||
{{#if (eq system.orientation "Upright")}}
|
||||
<li><strong>Positive Effect : </strong>{{{system.positiveEffect}}}</li>
|
||||
{{else}}
|
||||
<li><strong>Negative Effect : </strong>{{{system.negativeEffect}}}</li>
|
||||
{{/if}}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
9
templates/chat-trait.hbs
Normal file
9
templates/chat-trait.hbs
Normal file
@@ -0,0 +1,9 @@
|
||||
<div class="item-to-chat">
|
||||
<div class="intro-chat">
|
||||
<h2>{{name}}</h2>
|
||||
<ul>
|
||||
<li>{{{system.description}}}</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -6,53 +6,115 @@
|
||||
<div class="counters">
|
||||
<div class="flexcol">
|
||||
<div>
|
||||
<label>Trauma : </label>{{formInput systemFields.trauma.fields.current value=system.trauma.current}}
|
||||
<label>Trauma : </label>{{formInput systemFields.trauma.fields.current value=system.trauma.current}} /
|
||||
{{formInput systemFields.trauma.fields.max value=system.trauma.max}}
|
||||
|
||||
<label class="spaced-left"> Darkness : </label>
|
||||
<label class="spaced-left"> Darkness </label>
|
||||
{{formInput systemFields.darkness.fields.current value=system.darkness.current}} /
|
||||
{{formInput systemFields.darkness.fields.max value=system.darkness.max}}
|
||||
{{formInput systemFields.darkness.fields.value value=system.darkness.value}}
|
||||
<label class="spaced-left"> Defense : </label>{{formInput systemFields.defense.fields.base value=system.defense.base}}
|
||||
<label class="spaced-left"> Movement : </label>{{formInput systemFields.movement.fields.base value=system.movement.base}}
|
||||
<label class="spaced-left"> Defense </label>
|
||||
{{formInput systemFields.defense.fields.base value=system.defense.base}}
|
||||
{{formInput systemFields.defense.fields.resilience value=system.defense.resilience}}
|
||||
<label class="spaced-left"> Movement </label>{{formInput systemFields.movement.fields.base value=system.movement.base}}
|
||||
</div>
|
||||
|
||||
<div class="flexrow characteristics-label">
|
||||
<label> </label><span>Curr.</span>
|
||||
<label> </label><span>Curr.</span>
|
||||
<label> </label><span>Base</span>
|
||||
<label> </label><span>Base</span>
|
||||
<label></label><span>Curr.</span><span>Max</span>
|
||||
<label></label><span> Curr.</span><span> Max</span><span> Mal.DR</span>
|
||||
<label></label><span> Total</span><span> Resi.</span>
|
||||
<label></label>
|
||||
<label></label>
|
||||
<label></label>
|
||||
<label></label>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.traits"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addPerk"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createPerk"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="traits">
|
||||
{{#each traits as |item|}}
|
||||
<div class="trait item" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true">
|
||||
<legend>{{localize "HELLBORN.Label.ailments"}}</legend>
|
||||
|
||||
<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-roll-type="trait" data-action="toChat" data-item-uuid="{{item.uuid}}" data-tooltip="{{{item.system.description}}}">
|
||||
<a>{{item.name}}</a>
|
||||
</div>
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
<div class="ailments">
|
||||
{{#each system.ailments as |item id|}}
|
||||
<div class="ailment " data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="false">
|
||||
<label>{{item.label}}</label> <input type="checkbox" class="checkbox" name="system.ailments.{{id}}.enabled"
|
||||
{{#if item.enabled}} checked {{/if}}>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<div class="enemy-column">
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.traits"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addTrait"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createTrait"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="traits">
|
||||
{{#each traits as |item|}}
|
||||
<div class="trait 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 src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />-->
|
||||
<div class="name" data-roll-type="trait" data-action="toChat" data-item-uuid="{{item.uuid}}" data-tooltip="{{{item.system.description}}}">
|
||||
<a>{{item.name}}</a>
|
||||
</div>
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.maleficas"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addMalefica"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createMalefica"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="maleficas">
|
||||
{{#each maleficas as |item|}}
|
||||
<div class="malefica 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 src="systems/fvtt-cthulhu-eternal/assets/ui/d100.svg" class="d100" />-->
|
||||
<div class="name" data-roll-type="malefica" data-action="toChat" data-item-uuid="{{item.uuid}}" data-tooltip="{{{item.system.description}}}">
|
||||
<a>{{item.name}}</a>
|
||||
</div>
|
||||
<span class="domain" data-tooltip="Domain">{{upperFirst item.system.domain}}</span>
|
||||
<span class="level" data-tooltip="Level">{{getRomanLevel item.system.level}}</span>
|
||||
{{#if item.system.hasDamage}}
|
||||
<a class="damage rollable" data-tooltip="Damage" data-item-id="{{item.id}}" data-action="roll"
|
||||
data-roll-type="damage" data-roll-value="{{item.system.damage}}">
|
||||
<i class="fa-regular fa-dice"></i>
|
||||
{{item.system.damage}}</a>
|
||||
{{else}}
|
||||
<span class="damage" data-tooltip="Damage">-</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.weapons"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize " HELLBORN.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createWeapon"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="weapons">
|
||||
@@ -66,6 +128,8 @@
|
||||
</div>
|
||||
<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>
|
||||
<span class="ammo" data-tooltip="Ammo">{{upperFirst item.system.ammo}}</span>
|
||||
|
||||
<a class="damage rollable" data-tooltip="Damage" data-item-id="{{item.id}}" data-action="roll"
|
||||
data-roll-type="damage" data-roll-value="{{item.system.damage}}">
|
||||
@@ -83,5 +147,29 @@
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "HELLBORN.Label.equipments"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "HELLBORN.Tooltip.addEquipment"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createEquipment"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="equipments">
|
||||
{{#each equipments as |item|}}
|
||||
{{!log 'armor' this}}
|
||||
<div class="equipment" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'HELLBORN.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'HELLBORN.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
@@ -5,6 +5,7 @@
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
{{formField systemFields.quantity value=system.quantity}}
|
||||
{{formField systemFields.cost value=system.cost}}
|
||||
</fieldset>
|
||||
|
||||
|
||||
@@ -8,8 +8,21 @@
|
||||
{{formField systemFields.domain value=system.domain localize=true}}
|
||||
{{formField systemFields.level value=system.level localize=true}}
|
||||
{{formField systemFields.time value=system.time localize=true }}
|
||||
|
||||
{{formField systemFields.choiceMaintainDuration value=system.choiceMaintainDuration localize=true }}
|
||||
{{#if (eq system.choiceMaintainDuration "duration")}}
|
||||
{{formField systemFields.duration value=system.duration localize=true}}
|
||||
{{else}}
|
||||
{{formField systemFields.maintain value=system.maintain localize=true}}
|
||||
{{/if}}
|
||||
|
||||
{{formField systemFields.range value=system.range localize=true}}
|
||||
{{formField systemFields.target value=system.target localize=true}}
|
||||
{{formField systemFields.hasDamage value=system.hasDamage localize=true}}
|
||||
{{#if system.hasDamage}}
|
||||
{{formField systemFields.damage value=system.damage}}
|
||||
{{formField systemFields.damageType value=system.damageType}}
|
||||
{{/if}}
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
{{formField systemFields.stat value=system.stat localize=true}}
|
||||
{{formField systemFields.weaponType value=system.weaponType localize=true}}
|
||||
{{#if (eq system.weaponType "ranged")}}
|
||||
{{formField systemFields.subType value=system.subType localize=true}}
|
||||
@@ -14,6 +15,9 @@
|
||||
|
||||
{{formField systemFields.properties value=system.properties classes="long-input"}}
|
||||
{{formField systemFields.damage value=system.damage}}
|
||||
{{formField systemFields.damageStat value=system.damageStat localize=true}}
|
||||
|
||||
{{formField systemFields.damageType value=system.damageType}}
|
||||
|
||||
{{formField systemFields.cost value=system.cost}}
|
||||
</fieldset>
|
||||
|
||||
Reference in New Issue
Block a user