ENH: Attack markers

master
U~man 2020-07-14 21:21:17 +02:00
parent f8affb720b
commit 72ec1b973e
6 changed files with 34 additions and 0 deletions

View File

@ -196,6 +196,7 @@
"OSE.items.resetAttacks": "Reset all Attacks per Round", "OSE.items.resetAttacks": "Reset all Attacks per Round",
"OSE.items.hasShield": "Has a Shield bonus", "OSE.items.hasShield": "Has a Shield bonus",
"OSE.items.typeTag": "Type a comma separated list of tag e.g 'Melee,Missile (510 / 1120 / 2130)'", "OSE.items.typeTag": "Type a comma separated list of tag e.g 'Melee,Missile (510 / 1120 / 2130)'",
"OSE.items.pattern": "Attack pattern marker",
"OSE.armor.type": "Armor Type", "OSE.armor.type": "Armor Type",
"OSE.armor.unarmored": "Unarmored", "OSE.armor.unarmored": "Unarmored",

View File

@ -196,6 +196,7 @@
"OSE.items.resetAttacks": "Réinitialiser les Attaques", "OSE.items.resetAttacks": "Réinitialiser les Attaques",
"OSE.items.hasShield": "A un bonus de Bouclier", "OSE.items.hasShield": "A un bonus de Bouclier",
"OSE.items.typeTag": "Tapez une liste de tags descriptifs ex. 'Mêlée,Missile (510 / 1120 / 2130)'", "OSE.items.typeTag": "Tapez une liste de tags descriptifs ex. 'Mêlée,Missile (510 / 1120 / 2130)'",
"OSE.items.pattern": "Marqueur de schéma d'attaque",
"OSE.armor.type": "Type d'Armure", "OSE.armor.type": "Type d'Armure",
"OSE.armor.unarmored": "Sans Armure", "OSE.armor.unarmored": "Sans Armure",

View File

@ -216,6 +216,22 @@ export class OseActorSheetMonster extends OseActorSheet {
actorObject.rollHP({ event: event }); actorObject.rollHP({ event: event });
}); });
html.find(".item-pattern").click(ev => {
const li = $(ev.currentTarget).parents(".item");
const item = this.actor.getOwnedItem(li.data("itemId"));
let currentColor = item.data.data.pattern;
let colors = Object.keys(CONFIG.OSE.colors);
let index = colors.indexOf(currentColor);
if (index + 1 == colors.length) {
index = 0;
} else {
index++;
}
item.update({
"data.pattern": colors[index]
})
});
// Handle default listeners last so system listeners are triggered first // Handle default listeners last so system listeners are triggered first
super.activateListeners(html); super.activateListeners(html);
} }

View File

@ -81,4 +81,14 @@
} }
} }
} }
.panel.abilities {
.item-list {
.item-entry {
.item-pattern {
flex: 0 0 15px;
cursor: pointer;
}
}
}
}
} }

View File

@ -167,6 +167,7 @@
"weight": 80 "weight": 80
}, },
"weapon": { "weapon": {
"pattern": "white",
"description": "", "description": "",
"damage": "1d6", "damage": "1d6",
"bonus": 0, "bonus": 0,
@ -204,6 +205,7 @@
"save": "" "save": ""
}, },
"ability": { "ability": {
"pattern": "white",
"requirements": "", "requirements": "",
"roll": "", "roll": "",
"rollType": "result", "rollType": "result",

View File

@ -94,6 +94,7 @@
{{#each abilities as |item|}} {{#each abilities as |item|}}
<li class="item-entry"> <li class="item-entry">
<div class="item flexrow" data-item-id="{{item._id}}"> <div class="item flexrow" data-item-id="{{item._id}}">
<div class="item-pattern" title="{{localize 'OSE.items.pattern'}}" style="background:linear-gradient(0.25turn, {{item.data.pattern}}, transparent)"></div>
<div class="item-name {{#if item.data.roll}}item-rollable{{/if}} flexrow"> <div class="item-name {{#if item.data.roll}}item-rollable{{/if}} flexrow">
<div class="item-image" style="background-image: url({{item.img}})"></div> <div class="item-image" style="background-image: url({{item.img}})"></div>
<h4 title="{{item.name}}"> <h4 title="{{item.name}}">
@ -117,6 +118,9 @@
{{#each section as |item|}} {{#each section as |item|}}
<li class="item-entry"> <li class="item-entry">
<div class="item flexrow" data-item-id="{{item._id}}"> <div class="item flexrow" data-item-id="{{item._id}}">
{{#if (eq item.type 'weapon')}}
<div class="item-pattern" title="{{localize 'OSE.items.pattern'}}" style="background:linear-gradient(0.25turn, {{item.data.pattern}}, transparent)"></div>
{{/if}}
<div class="item-name {{#if (eq item.type 'weapon')}}item-rollable{{/if}} flexrow"> <div class="item-name {{#if (eq item.type 'weapon')}}item-rollable{{/if}} flexrow">
<div class="item-image" style="background-image: url({{item.img}})"></div> <div class="item-image" style="background-image: url({{item.img}})"></div>
<h4 title="{{item.name}}"> <h4 title="{{item.name}}">