ENH: Weapon sheet
parent
5137b50004
commit
1b01c7ff10
|
@ -196,13 +196,16 @@
|
||||||
"OSE.items.ArmorAC": "AC",
|
"OSE.items.ArmorAC": "AC",
|
||||||
"OSE.items.ArmorAAC": "AAC",
|
"OSE.items.ArmorAAC": "AAC",
|
||||||
"OSE.items.Bonus": "Bonus",
|
"OSE.items.Bonus": "Bonus",
|
||||||
|
"OSE.items.AtkBonus": "Attack Bonus",
|
||||||
"OSE.items.roundAttacks": "Attacks Spent this Round",
|
"OSE.items.roundAttacks": "Attacks Spent this Round",
|
||||||
"OSE.items.roundAttacksMax": "Maximum Attacks per Round",
|
"OSE.items.roundAttacksMax": "Maximum Attacks per Round",
|
||||||
"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 (5’–10’ / 11’–20’ / 21’–30’)'",
|
"OSE.items.typeTag": "Type a comma separated list of tag e.g 'Melee,Missile (5’–10’ / 11’–20’ / 21’–30’)' and press ENTER",
|
||||||
|
"OSE.items.enterTag": "Tags",
|
||||||
"OSE.items.pattern": "Attack pattern marker",
|
"OSE.items.pattern": "Attack pattern marker",
|
||||||
|
|
||||||
|
"OSE.items.Range": "Range",
|
||||||
"OSE.items.Melee": "Melee",
|
"OSE.items.Melee": "Melee",
|
||||||
"OSE.items.Missile": "Missile",
|
"OSE.items.Missile": "Missile",
|
||||||
"OSE.items.Slow": "Slow",
|
"OSE.items.Slow": "Slow",
|
||||||
|
|
|
@ -67,6 +67,14 @@ export class OseItemSheet extends ItemSheet {
|
||||||
let value = ev.currentTarget.parentElement.dataset.tag;
|
let value = ev.currentTarget.parentElement.dataset.tag;
|
||||||
this.object.popTag(value);
|
this.object.popTag(value);
|
||||||
});
|
});
|
||||||
|
html.find('a.melee-toggle').click(() => {
|
||||||
|
this.object.update({data: {melee: !this.object.data.data.melee}});
|
||||||
|
});
|
||||||
|
|
||||||
|
html.find('a.missile-toggle').click(() => {
|
||||||
|
this.object.update({data: {missile: !this.object.data.data.missile}});
|
||||||
|
});
|
||||||
|
|
||||||
super.activateListeners(html);
|
super.activateListeners(html);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -5,6 +5,12 @@
|
||||||
margin: 6px 2%;
|
margin: 6px 2%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.details {
|
||||||
|
flex: 0 0 70px;
|
||||||
|
label {
|
||||||
|
flex: 0 0 20px;
|
||||||
|
}
|
||||||
|
}
|
||||||
.profile-img {
|
.profile-img {
|
||||||
border: none;
|
border: none;
|
||||||
flex: 0 0 84px;
|
flex: 0 0 84px;
|
||||||
|
@ -51,6 +57,26 @@
|
||||||
border-bottom: none;
|
border-bottom: none;
|
||||||
margin: auto 0;
|
margin: auto 0;
|
||||||
}
|
}
|
||||||
|
.form-fields {
|
||||||
|
&.range {
|
||||||
|
.sep {
|
||||||
|
flex: 0 0 1px;
|
||||||
|
background: $colorTan;
|
||||||
|
margin: 4px 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
&.attack-type {
|
||||||
|
text-align: center;
|
||||||
|
padding: 2px;
|
||||||
|
font-size: 15px;
|
||||||
|
a {
|
||||||
|
color: $colorInactive;
|
||||||
|
&.active,:hover {
|
||||||
|
color: $colorDark;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
.block-input {
|
.block-input {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
|
@ -6,6 +6,7 @@
|
||||||
$darkBackground: url('/systems/ose/assets/back.png');
|
$darkBackground: url('/systems/ose/assets/back.png');
|
||||||
$colorDark: rgba(0, 0, 0, 0.9);
|
$colorDark: rgba(0, 0, 0, 0.9);
|
||||||
$colorFaint: #d8d6c9;
|
$colorFaint: #d8d6c9;
|
||||||
|
$colorInactive: #969696;
|
||||||
$colorBeige: #b5b3a4;
|
$colorBeige: #b5b3a4;
|
||||||
$colorTan: #7a7971;
|
$colorTan: #7a7971;
|
||||||
$colorOlive: #4b4a44;
|
$colorOlive: #4b4a44;
|
||||||
|
|
|
@ -168,6 +168,12 @@
|
||||||
"weight": 80
|
"weight": 80
|
||||||
},
|
},
|
||||||
"weapon": {
|
"weapon": {
|
||||||
|
"range": {
|
||||||
|
"short": 0,
|
||||||
|
"medium": 0,
|
||||||
|
"long": 0
|
||||||
|
},
|
||||||
|
"save": "",
|
||||||
"pattern": "white",
|
"pattern": "white",
|
||||||
"description": "",
|
"description": "",
|
||||||
"damage": "1d6",
|
"damage": "1d6",
|
||||||
|
|
|
@ -5,21 +5,49 @@
|
||||||
src="{{item.img}}"
|
src="{{item.img}}"
|
||||||
data-edit="img"
|
data-edit="img"
|
||||||
title="{{item.name}}"
|
title="{{item.name}}"
|
||||||
/>
|
/>
|
||||||
<div class="header-col">
|
<div class="header-col">
|
||||||
<h1 class="charname">
|
<div class="flexrow">
|
||||||
<input
|
<h1 class="charname">
|
||||||
name="name"
|
<input
|
||||||
type="text"
|
name="name"
|
||||||
value="{{item.name}}"
|
type="text"
|
||||||
placeholder="Name"
|
value="{{item.name}}"
|
||||||
/>
|
placeholder="Name"
|
||||||
</h1>
|
/>
|
||||||
|
</h1>
|
||||||
|
<div class="details">
|
||||||
|
<div class="form-group">
|
||||||
|
<label title="{{localize 'OSE.items.Cost'}}"><i class="fas
|
||||||
|
fa-circle"></i></label>
|
||||||
|
<div class="form-fields">
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="data.cost"
|
||||||
|
value="{{data.cost}}"
|
||||||
|
data-dtype="Number"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group">
|
||||||
|
<label title="{{localize 'OSE.items.Weight'}}"><i class="fas
|
||||||
|
fa-weight-hanging"></i></label>
|
||||||
|
<div class="form-fields">
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="data.weight"
|
||||||
|
value="{{data.weight}}"
|
||||||
|
data-dtype="Number"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<ol class="tag-list">
|
<ol class="tag-list">
|
||||||
{{#each data.tags as |tag|}}
|
{{#each data.tags as |tag|}}
|
||||||
<li class="tag" title="{{tag.title}}" data-tag="{{tag.value}}">
|
<li class="tag" title="{{tag.title}}" data-tag="{{tag.value}}">
|
||||||
<span>{{tag.value}}</span>
|
<span>{{tag.value}}</span>
|
||||||
<a class="tag-delete"><i class="fas fa-times"></i></a>
|
<a class="tag-delete"><i class="fas fa-times"></i></a>
|
||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ol>
|
</ol>
|
||||||
|
@ -34,7 +62,8 @@
|
||||||
type="text"
|
type="text"
|
||||||
data-action="add-tag"
|
data-action="add-tag"
|
||||||
title="{{localize 'OSE.items.typeTag'}}"
|
title="{{localize 'OSE.items.typeTag'}}"
|
||||||
/>
|
placeholder="{{localize 'OSE.items.enterTag'}}"
|
||||||
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group block-input">
|
<div class="form-group block-input">
|
||||||
|
@ -45,18 +74,65 @@
|
||||||
name="data.damage"
|
name="data.damage"
|
||||||
value="{{data.damage}}"
|
value="{{data.damage}}"
|
||||||
data-dtype="String"
|
data-dtype="String"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>{{localize 'OSE.items.Bonus'}}</label>
|
<label title="{{localize 'OSE.items.AtkBonus'}}">{{localize
|
||||||
|
'OSE.items.Bonus'}}</label>
|
||||||
<div class="form-fields">
|
<div class="form-fields">
|
||||||
<input
|
<input
|
||||||
type="text"
|
type="text"
|
||||||
name="data.bonus"
|
name="data.bonus"
|
||||||
value="{{data.bonus}}"
|
value="{{data.bonus}}"
|
||||||
data-dtype="Number"
|
data-dtype="Number"
|
||||||
/>
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="form-group attack-type">
|
||||||
|
<a title="{{localize 'OSE.items.Melee'}}" class="melee-toggle {{#if
|
||||||
|
data.melee}}active{{/if}}"><i class="fas fa-fist-raised"></i></a>
|
||||||
|
<a title="{{localize 'OSE.items.Missile'}}" class="missile-toggle
|
||||||
|
{{#if data.missile}}active{{/if}}"><i class="fas fa-bullseye"></i></a>
|
||||||
|
</div>
|
||||||
|
{{#if data.missile}}
|
||||||
|
<div class="form-group block-input">
|
||||||
|
<label>{{localize 'OSE.items.Range'}}</label>
|
||||||
|
<div class="form-fields range">
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="data.range.close"
|
||||||
|
value="{{data.range.close}}"
|
||||||
|
data-dtype="Number"
|
||||||
|
/>
|
||||||
|
<div class="sep"></div>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="data.range.medium"
|
||||||
|
value="{{data.range.medium}}"
|
||||||
|
data-dtype="Number"
|
||||||
|
/>
|
||||||
|
<div class="sep"></div>
|
||||||
|
<input
|
||||||
|
type="text"
|
||||||
|
name="data.range.long"
|
||||||
|
value="{{data.range.long}}"
|
||||||
|
data-dtype="Number"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
<div class="form-group">
|
||||||
|
<label>{{localize 'OSE.spells.Save'}}</label>
|
||||||
|
<div class="form-fields">
|
||||||
|
<select name="data.save">
|
||||||
|
{{#select data.save}}
|
||||||
|
<option value=""></option>
|
||||||
|
{{#each config.saves_short as |save a|}}
|
||||||
|
<option value="{{a}}">{{save}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
|
@ -69,53 +145,7 @@
|
||||||
{{checked
|
{{checked
|
||||||
data.slow}}
|
data.slow}}
|
||||||
data-dtype="Number"
|
data-dtype="Number"
|
||||||
/>
|
/>
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label>{{localize 'OSE.items.Missile'}}</label>
|
|
||||||
<div class="form-fields">
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
name="data.missile"
|
|
||||||
{{checked
|
|
||||||
data.missile}}
|
|
||||||
data-dtype="Number"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label>{{localize 'OSE.items.Melee'}}</label>
|
|
||||||
<div class="form-fields">
|
|
||||||
<input
|
|
||||||
type="checkbox"
|
|
||||||
name="data.melee"
|
|
||||||
{{checked
|
|
||||||
data.melee}}
|
|
||||||
data-dtype="Boolean"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label>{{localize 'OSE.items.Cost'}}</label>
|
|
||||||
<div class="form-fields">
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
name="data.cost"
|
|
||||||
value="{{data.cost}}"
|
|
||||||
data-dtype="Number"
|
|
||||||
/>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="form-group">
|
|
||||||
<label>{{localize 'OSE.items.Weight'}}</label>
|
|
||||||
<div class="form-fields">
|
|
||||||
<input
|
|
||||||
type="text"
|
|
||||||
name="data.weight"
|
|
||||||
value="{{data.weight}}"
|
|
||||||
data-dtype="Number"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in New Issue