Browse Source

Adaptation V10

master
Pierre Vanhulst 9 months ago
parent
commit
d8239983c4
  1. 6
      l5r4.css
  2. 8
      l5r4.js
  3. 4
      less/global.less
  4. 4
      less/pc-spells-techniques.less
  5. 20
      module/L5R4Actor.js
  6. 138
      module/L5R4Item.js
  7. 33
      module/sheets/L5R4PcSheet.js
  8. 34
      system.json
  9. 9
      templates/partials/advantage-card.hbs
  10. 10
      templates/partials/armor-card.hbs
  11. 4
      templates/partials/commonItem-card.hbs
  12. 9
      templates/partials/disadvantage-card.hbs
  13. 8
      templates/partials/kata-card.hbs
  14. 10
      templates/partials/kiho-card.hbs
  15. 4
      templates/partials/mastery-card.hbs
  16. 16
      templates/partials/pc-tab-skills.hbs
  17. 2
      templates/partials/skill-card.hbs
  18. 18
      templates/partials/spell-card.hbs
  19. 6
      templates/partials/tattoo-card.hbs
  20. 16
      templates/partials/technique-card.hbs
  21. 14
      templates/partials/weapon-card.hbs

6
l5r4.css

@ -781,6 +781,9 @@
column-gap: 0.2em;
align-items: center;
}
.l5r4.pc .technique-effects {
grid-column: span 2;
}
.l5r4.pc .masteries-list .mastery-stats {
display: grid;
grid-template-columns: 1fr;
@ -1010,6 +1013,9 @@ body {
body > * {
scrollbar-width: thin;
}
h3 {
border-bottom: 0;
}
/** Fonts **/
@font-face {
font-family: "LogotypeL5r";

8
l5r4.js

@ -80,12 +80,12 @@ Hooks.once("init", function () {
// custom initiative
Combatant.prototype._getInitiativeFormula = function () {
const actor = this.actor;
const initRoll = actor.data.data.initiative.roll;
const initKeep = actor.data.data.initiative.keep;
if (actor.data.type == "npc") {
const initRoll = actor.system.initiative.roll;
const initKeep = actor.system.initiative.keep;
if (actor.type == "npc") {
return `${initRoll}d10k${initKeep}x10`;
}
const initMod = actor.data.data.initiative.total_mod;
const initMod = actor.system.initiative.total_mod;
return `${initRoll}d10k${initKeep}x10+${initMod}`;
}

4
less/global.less

@ -4,4 +4,8 @@ body {
> * {
scrollbar-width: thin;
}
}
h3 {
border-bottom: 0;
}

4
less/pc-spells-techniques.less

@ -59,6 +59,10 @@
}
}
.technique-effects {
grid-column: span 2;
}
.masteries-list {
.mastery-stats {
display: grid;

20
module/L5R4Actor.js

@ -3,29 +3,29 @@ export default class L5R4Actor extends Actor {
async _preCreate(data, options, user) {
await super._preCreate(data, options, user);
if (this.data.type === "pc") {
if (this.type === "pc") {
// pc token settings
this.data.token.update(
this.token.update(
{
bar1: { "attribute": "wounds" },
bar2: { "attribute": "suffered" },
displayName: CONST.TOKEN_DISPLAY_MODES.ALWAYS,
displayBars: CONST.TOKEN_DISPLAY_MODES.OWNER,
disposition: CONST.TOKEN_DISPOSITIONS.FRIENDLY,
name: this.data.name,
name: this.name,
vision: true,
actorLink: true,
});
} else {
// npc token settings
this.data.token.update(
this.token.update(
{
bar1: { "attribute": "wounds" },
bar2: { "attribute": "suffered" },
displayName: CONST.TOKEN_DISPLAY_MODES.OWNER,
displayBars: CONST.TOKEN_DISPLAY_MODES.OWNER,
disposition: CONST.TOKEN_DISPOSITIONS.HOSTILE,
name: this.data.name,
name: this.name,
});
}
@ -34,11 +34,11 @@ export default class L5R4Actor extends Actor {
prepareData() {
super.prepareData();
let actorData = this.data;
let data = actorData.data;
let actorData = this;
let data = actorData.system;
// data for pcs
if (actorData.type == "pc") {
if (this.type == "pc") {
let skills = this.items.filter(function (item) { return item.type == "skill" });
let armors = this.items.filter(function (item) { return item.type == "armor" });
@ -110,13 +110,13 @@ export default class L5R4Actor extends Actor {
let insightRings = ((data.rings.air + data.rings.earth + data.rings.fire + data.rings.water + data.rings.void.rank) * 10);
let insighSkills = 0;
for (const [skill, skillData] of Object.entries(skills)) {
insighSkills += parseInt(skillData.data.data.rank);
insighSkills += parseInt(skillData.system.rank);
}
data.insight.points = insightRings + insighSkills;
}
if (actorData.type == "npc") {
if (this.type == "npc") {
// calculate current "hp"
data.wounds.value = parseInt(data.wounds.max) - parseInt(data.suffered);
//console.log("nr wond levels before:", data.nrWoundLvls)

138
module/L5R4Item.js

@ -1,82 +1,82 @@
export default class L5R4Item extends Item {
chatTemplate = {
"weapon": "systems/l5r4/templates/partials/weapon-card.hbs",
"bow": "systems/l5r4/templates/partials/weapon-card.hbs",
"skill": "systems/l5r4/templates/partials/skill-card.hbs",
"armor": "systems/l5r4/templates/partials/armor-card.hbs",
"spell": "systems/l5r4/templates/partials/spell-card.hbs",
"technique": "systems/l5r4/templates/partials/technique-card.hbs",
"advantage": "systems/l5r4/templates/partials/advantage-card.hbs",
"disadvantage": "systems/l5r4/templates/partials/disadvantage-card.hbs",
"kata": "systems/l5r4/templates/partials/kata-card.hbs",
"kiho": "systems/l5r4/templates/partials/kiho-card.hbs",
};
chatTemplate = {
"weapon": "systems/l5r4/templates/partials/weapon-card.hbs",
"bow": "systems/l5r4/templates/partials/weapon-card.hbs",
"skill": "systems/l5r4/templates/partials/skill-card.hbs",
"armor": "systems/l5r4/templates/partials/armor-card.hbs",
"spell": "systems/l5r4/templates/partials/spell-card.hbs",
"technique": "systems/l5r4/templates/partials/technique-card.hbs",
"advantage": "systems/l5r4/templates/partials/advantage-card.hbs",
"disadvantage": "systems/l5r4/templates/partials/disadvantage-card.hbs",
"kata": "systems/l5r4/templates/partials/kata-card.hbs",
"kiho": "systems/l5r4/templates/partials/kiho-card.hbs",
};
prepareData() {
super.prepareData();
prepareData() {
super.prepareData();
let itemData = this.data;
let data = itemData.data;
let itemData = this;
let data = itemData.system;
// get damage from arrows for bows
if (itemData.type == "bow") {
let actorData;
let actorStr = 0;
// get pc str
if (this.actor) {
if (this.actor.data) {
actorData = this.actor.data.data;
actorStr = parseInt(actorData.traits.str);
// get damage from arrows for bows
if (itemData.type == "bow") {
let actorData;
let actorStr = 0;
// get pc str
if (this.actor) {
if (this.actor.system) {
actorData = this.actor.system;
actorStr = parseInt(actorData.traits.str);
}
}
let arrowRoll = 0;
let arrowKeep = 0;
let arrow = game.i18n.localize(`l5r4.arrows.${data.arrow}`);
switch (arrow) {
case game.i18n.localize("l5r4.arrows.armor"):
arrowRoll = 1;
arrowKeep = 1;
break;
case game.i18n.localize("l5r4.arrows.flesh"):
arrowRoll = 2;
arrowKeep = 3;
break;
case game.i18n.localize("l5r4.arrows.humming"):
arrowRoll = 0;
arrowKeep = 1;
break;
case game.i18n.localize("l5r4.arrows.rope"):
arrowRoll = 1;
arrowKeep = 1;
break;
case game.i18n.localize("l5r4.arrows.willow"):
arrowRoll = 2;
arrowKeep = 2;
break;
}
data.damageRoll = Math.min(parseInt(data.str), actorStr) + arrowRoll;
data.damageKeep = arrowKeep;
data.damageFormula = `${data.damageRoll}k${data.damageKeep}`;
}
}
let arrowRoll = 0;
let arrowKeep = 0;
let arrow = game.i18n.localize(`l5r4.arrows.${data.arrow}`);
switch (arrow) {
case game.i18n.localize("l5r4.arrows.armor"):
arrowRoll = 1;
arrowKeep = 1;
break;
case game.i18n.localize("l5r4.arrows.flesh"):
arrowRoll = 2;
arrowKeep = 3;
break;
case game.i18n.localize("l5r4.arrows.humming"):
arrowRoll = 0;
arrowKeep = 1;
break;
case game.i18n.localize("l5r4.arrows.rope"):
arrowRoll = 1;
arrowKeep = 1;
break;
case game.i18n.localize("l5r4.arrows.willow"):
arrowRoll = 2;
arrowKeep = 2;
break;
}
data.damageRoll = Math.min(parseInt(data.str), actorStr) + arrowRoll;
data.damageKeep = arrowKeep;
data.damageFormula = `${data.damageRoll}k${data.damageKeep}`;
}
}
}
async roll() {
let chatData = {
user: game.user.id,
speaker: ChatMessage.getSpeaker()
};
async roll() {
let chatData = {
user: game.user.id,
speaker: ChatMessage.getSpeaker()
};
let cardData = {
...this.data,
owner: this.actor.id
};
let cardData = {
...this.data,
owner: this.actor.id
};
chatData.content = await renderTemplate(this.chatTemplate[this.type], cardData);
chatData.content = await renderTemplate(this.chatTemplate[this.type], cardData);
chatData.roll = true; // cheating, revise later
chatData.roll = true; // cheating, revise later
return ChatMessage.create(chatData);
}
return ChatMessage.create(chatData);
}
}

33
module/sheets/L5R4PcSheet.js

@ -47,17 +47,18 @@ export default class L5R4PcSheet extends ActorSheet {
getData() {
const baseData = {
...super.getData(),
items: this.actor.items.map(item => item.data)
items: this.actor.items.map(item => item)
};
let sheetData = {
owner: this.actor.isOwner,
editable: this.actor.isEditable,
actor: baseData.actor,
data: baseData.actor.data.data,
data: baseData.actor.system,
config: CONFIG.l5r4,
items: baseData.items
}
sheetData.items.forEach(item => item.oid = item._id)
sheetData.items.sort((a, b) => a.name > b.name ? 1 : a.name < b.name ? -1 : 0)
sheetData.commonItems = sheetData.items.filter(item => item.type ==='commonItem');
@ -73,16 +74,16 @@ export default class L5R4PcSheet extends ActorSheet {
sheetData.kihos = sheetData.items.filter(item => item.type === 'kiho');
sheetData.tattoos = sheetData.items.filter(item => item.type === 'tattoo');
console.log(sheetData)
console.log('sheetData', sheetData)
sheetData.masteries = [];
for (let skill of sheetData.skills) {
if (skill.data.mastery_3 != "" && skill.data.rank >= 3)
sheetData.masteries.push({ _id: skill._id, name: `${skill.name} 3`, mastery: skill.data.mastery_3 });
if (skill.data.mastery_5 != "" && skill.data.rank >= 5)
sheetData.masteries.push({ _id: skill._id, name: `${skill.name} 5`, mastery: skill.data.mastery_5 });
if (skill.data.mastery_7 != "" && skill.data.rank >= 7)
sheetData.masteries.push({ _id: skill._id, name: `${skill.name} 7`, mastery: skill.data.mastery_7 });
if (skill.system.mastery_3 != "" && skill.system.rank >= 3)
sheetData.masteries.push({ _id: skill._id, name: `${skill.name} 3`, mastery: skill.system.mastery_3 });
if (skill.system.mastery_5 != "" && skill.system.rank >= 5)
sheetData.masteries.push({ _id: skill._id, name: `${skill.name} 5`, mastery: skill.system.mastery_5 });
if (skill.system.mastery_7 != "" && skill.system.rank >= 7)
sheetData.masteries.push({ _id: skill._id, name: `${skill.name} 7`, mastery: skill.system.mastery_7 });
}
return sheetData;
@ -123,7 +124,7 @@ export default class L5R4PcSheet extends ActorSheet {
_onRingRoll(event) {
let ringRank = event.currentTarget.dataset.ringRank;
let ringName = event.currentTarget.dataset.ringName;
let schoolRank = this.actor.data.data.insight.rank;
let schoolRank = this.actor.system.insight.rank;
Dice.RingRoll(
{
@ -157,10 +158,10 @@ export default class L5R4PcSheet extends ActorSheet {
let actorTrait;
let diceRoll;
let diceKeep;
if (item.data.type == 'weapon') {
if (item.type == 'weapon') {
actorTrait = this.actor.data.data.traits.str;
diceRoll = parseInt(actorTrait) + parseInt(item.data.data.damageRoll);
} else if (item.data.type == 'bow') {
diceRoll = parseInt(actorTrait) + parseInt(item.system.damageRoll);
} else if (item.type == 'bow') {
diceRoll = rollData.damageRoll;
diceKeep = rollData.damageKeep;
} else {
@ -168,7 +169,7 @@ export default class L5R4PcSheet extends ActorSheet {
}
diceKeep = parseInt(item.data.data.damageKeep)
diceKeep = parseInt(item.system.damageKeep)
Dice.WeaponRoll(
{
diceRoll: diceRoll,
@ -184,7 +185,7 @@ export default class L5R4PcSheet extends ActorSheet {
_onSkillRoll(event) {
const itemID = event.currentTarget.closest(".item").dataset.itemId;
const item = this.actor.items.get(itemID);
let skillTrait = item.data.data.trait;
let skillTrait = item.system.trait;
let actorTrait = null;
// some skills use the void ring as a trait
if (skillTrait == 'void') {
@ -192,7 +193,7 @@ export default class L5R4PcSheet extends ActorSheet {
} else {
actorTrait = this.actor.data.data.traits[skillTrait];
}
let skillRank = item.data.data.rank;
let skillRank = item.system.rank;
let skillName = item.name;
Dice.SkillRoll({

34
system.json

@ -1,11 +1,7 @@
{
"name": "l5r4",
"title": "Legend of the Five Rings 4th Edition",
"description": "System to play L5R 4th edition",
"author": "Mateo Caycedo Alvarez",
"version": "0.6.1",
"minumCoreVersion": "0.8.7",
"compatibleCoreVersion": "9",
"esmodules": [
"l5r4.js"
],
@ -13,29 +9,43 @@
"l5r4.css"
],
"background": "l5r4cover.webp",
"packs": [
],
"languages": [
{
"lang": "en",
"name": "English",
"path": "lang/en.json"
"path": "lang/en.json",
"flags": {}
},
{
"lang": "es",
"name": "Español",
"path": "lang/es.json"
"path": "lang/es.json",
"flags": {}
},
{
"lang": "fr",
"name": "Français",
"path": "lang/fr.json"
"path": "lang/fr.json",
"flags": {}
}
],
"gridDistance": 5,
"gridUnits": "ft",
"url": "https://bitbucket.org/TeoCay/l5r4",
"manifest": "https://bitbucket.org/TeoCay/l5r4/raw/master/system.json",
"download": "https://bitbucket.org/TeoCay/l5r4/get/v0.6.1.zip"
}
"download": "https://bitbucket.org/TeoCay/l5r4/get/v0.6.1.zip",
"id": "l5r4",
"authors": [
{
"name": "Pierre Vanhulst",
"flags": {}
},
{
"name": "Mateo Caycedo Alvarez",
"flags": {}
}
],
"compatibility": {
"minimum": "10"
}
}

9
templates/partials/advantage-card.hbs

@ -1,5 +1,5 @@
<div class="item-border {{data.type}}">
<div class="advantage-card item" data-item-id="{{_id}}">
<div class="item-border {{type}}">
<div class="advantage-card item" data-item-id="{{oid}}">
<div class="advantage-info advantage-name">
<h3>
{{#if inSheet}}
@ -12,10 +12,7 @@
</div>
<div class="advantage-info advantage-stats">
<div class="advantage-type">
{{localize "l5r4.skill.type"}}: {{localize (concat "l5r4.advantage." data.type)}}
</div>
<div class="advantage-cost">
{{localize "l5r4.special.cost"}}: {{data.cost}}
{{{ system.specialRules }}}
</div>
</div>
{{#if inSheet}}

10
templates/partials/armor-card.hbs

@ -1,5 +1,5 @@
<div class="item-border {{data.type}}">
<div class="armor-card item" data-item-id="{{_id}}">
<div class="item-border {{system.type}}">
<div class="armor-card item" data-item-id="{{oid}}">
<div class="armor-info armor-name">
{{#if inSheet}}
<h3><a class="item-edit">{{name}}</a></h3>
@ -9,14 +9,14 @@
</div>
<div class="armor-info armor-stats">
<div class="armor-bonus">
{{localize "l5r4.armor.bonus"}}: {{data.bonus}}
{{localize "l5r4.armor.bonus"}}: {{system.bonus}}
</div>
<div class="armor-reduction">
{{localize "l5r4.armor.reduction"}}: {{data.reduction}}
{{localize "l5r4.armor.reduction"}}: {{system.reduction}}
</div>
{{#if inSheet}}
<div>{{localize "l5r4.armor.equiped"}}?
<input class="equiped-check inline-edit" data-field="data.equiped" type="checkbox" {{checked data.equiped}}
<input class="equiped-check inline-edit" data-field="system.equiped" type="checkbox" {{checked system.equiped}}
data-type="Boolean" />
</div>
{{/if}}

4
templates/partials/commonItem-card.hbs

@ -1,5 +1,5 @@
<div class="item-border {{data.type}}">
<div class="commonItem-card item" data-item-id="{{_id}}">
<div class="item-border {{system.type}}">
<div class="commonItem-card item" data-item-id="{{oid}}">
<div class="commonItem-info commonItem-name">
<h3><a class="item-edit">{{name}}</a></h3>
</div>

9
templates/partials/disadvantage-card.hbs

@ -1,5 +1,5 @@
<div class="item-border {{data.type}}">
<div class="disadvantage-card item" data-item-id="{{_id}}">
<div class="item-border {{type}}">
<div class="disadvantage-card item" data-item-id="{{oid}}">
<div class="disadvantage-info disadvantage-name">
<h3>
{{#if inSheet}}
@ -12,10 +12,7 @@
</div>
<div class="disadvantage-info disadvantage-stats">
<div class="advantage-type">
{{localize "l5r4.skill.type"}}: {{localize (concat "l5r4.advantage." data.type)}}
</div>
<div class="disadvantage-cost">
{{localize "l5r4.special.cost"}}: {{data.cost}}
{{{ system.specialRules }}}
</div>
</div>
{{#if inSheet}}

8
templates/partials/kata-card.hbs

@ -1,5 +1,5 @@
<div class="item-border {{data.type}}">
<div class="kata-card item" data-item-id="{{_id}}">
<div class="item-border {{system.type}}">
<div class="kata-card item" data-item-id="{{oid}}">
<div class="kata-info kata-name">
<h3>
{{#if inSheet}}
@ -12,10 +12,10 @@
</div>
<div class="kata-info kata-stats">
<div class="kata-ring">
{{localize "l5r4.spell.ring"}}: {{localize (concat "l5r4.rings." data.ring)}}
{{localize "l5r4.spell.ring"}}: {{localize (concat "l5r4.rings." system.ring)}}
</div>
<div class="kata-mastery">
{{localize "l5r4.spell.mastery"}}: {{data.mastery}}
{{localize "l5r4.spell.mastery"}}: {{system.mastery}}
</div>
</div>
{{#if inSheet}}

10
templates/partials/kiho-card.hbs

@ -1,5 +1,5 @@
<div class="item-border {{data.type}}">
<div class="kiho-card item" data-item-id="{{_id}}">
<div class="item-border {{system.type}}">
<div class="kiho-card item" data-item-id="{{oid}}">
<div class="kiho-info kiho-name">
<h3>
{{#if inSheet}}
@ -12,13 +12,13 @@
</div>
<div class="kiho-info kiho-stats">
<div class="kiho-ring">
{{localize "l5r4.spell.ring"}}: {{localize (concat "l5r4.rings." data.ring)}}
{{localize "l5r4.spell.ring"}}: {{localize (concat "l5r4.rings." system.ring)}}
</div>
<div class="kiho-mastery">
{{localize "l5r4.spell.mastery"}}: {{data.mastery}}
{{localize "l5r4.spell.mastery"}}: {{system.mastery}}
</div>
<div class="kiho-type">
{{localize "l5r4.skill.type"}}: {{localize (concat "l5r4.kiho." data.type)}}
{{localize "l5r4.skill.type"}}: {{localize (concat "l5r4.kiho." system.type)}}
</div>
</div>
{{#if inSheet}}

4
templates/partials/mastery-card.hbs

@ -1,5 +1,5 @@
<div class="item-border {{data.type}}">
<div class="mastery-card item" data-item-id="{{_id}}">
<div class="item-border {{system.type}}">
<div class="mastery-card item" data-item-id="{{oid}}">
<div class="mastery-info mastery-name">
<h3>
{{#if inSheet}}

16
templates/partials/pc-tab-skills.hbs

@ -23,28 +23,28 @@
</a>
<input class="skill-name inline-edit" type="text" value="{{skill.name}}" data-field="name"
placeholder="{{localize " l5r4.sheet.skillName"}}" />
<input class="skill-value inline-edit" type="number" value="{{skill.data.rank}}" data-field="data.rank"
<input class="skill-value inline-edit" type="number" value="{{skill.system.rank}}" data-field="system.rank"
placeholder="0" data-type="Number">
<select class="skill-trait inline-edit" data-field="data.trait">
<select class="skill-trait inline-edit" data-field="system.trait">
<option selected disabled>{{localize "l5r4.skill.trait"}}</option>
{{#select skill.data.trait}}
{{#select skill.system.trait}}
{{#each @root.config.traits as |name type|}}
<option value="{{type}}">{{localize name}}</option>
{{/each}}
{{/select}}
</select>
<select class="skill-type inline-edit" data-field="data.type">
<select class="skill-type inline-edit" data-field="system.type">
<option selected disabled>{{localize "l5r4.skill.type"}}</option>
{{#select skill.data.type}}
{{#select skill.system.type}}
{{#each @root.config.skillTypes as |name type|}}
<option value="{{type}}">{{localize name}}</option>
{{/each}}
{{/select}}
</select>
<input class="school-check inline-edit" data-field="data.school" type="checkbox" {{checked skill.data.school}}
<input class="school-check inline-edit" data-field="system.school" type="checkbox" {{checked skill.system.school}}
data-type="Boolean" />
<input class="skill-emphasis inline-edit" data-field="data.emphasis" type="text"
value="{{skill.data.emphasis}}" />
<input class="skill-emphasis inline-edit" data-field="system.emphasis" type="text"
value="{{skill.system.emphasis}}" />
<a class="item-edit" title="{{localize " l5r4.sheet.edit"}}"><i class="fas fa-edit fa-fw"></i></a>
</div>
{{/each}}

2
templates/partials/skill-card.hbs

@ -1,5 +1,5 @@
<div class="item-border {{data.type}}">
<div class="skill-card skill" data-item-id="{{_id}}">
<div class="skill-card skill" data-item-id="{{oid}}">
<div class="skill-name"><h3>
{{#if inSheet}}
<a title="{{localize "l5r4.sheet.edit"}}" class="item-edit">{{name}}</a>

18
templates/partials/spell-card.hbs

@ -1,5 +1,5 @@
<div class="item-border {{data.type}}">
<div class="spell-card item" data-item-id="{{_id}}">
<div class="item-border {{system.type}}">
<div class="spell-card item" data-item-id="{{oid}}">
<div class="spell-info spell-name">
<h3>
{{#if inSheet}}
@ -12,26 +12,26 @@
</div>
<div class="spell-info spell-stats">
<div class="spell-ring">
{{localize "l5r4.spell.ring"}}: {{localize (concat "l5r4.rings." data.ring)}}
{{localize "l5r4.spell.ring"}}: {{localize (concat "l5r4.rings." system.ring)}}
</div>
<div class="spell-mastery">
{{localize "l5r4.spell.mastery"}}: {{data.mastery}}
{{localize "l5r4.spell.mastery"}}: {{system.mastery}}
</div>
<div class="spell-range">
{{localize "l5r4.spell.range"}}: {{data.range}}
{{localize "l5r4.spell.range"}}: {{system.range}}
</div>
<div class="spell-aoe">
{{localize "l5r4.spell.aoe"}}: {{data.aoe}}
{{localize "l5r4.spell.aoe"}}: {{system.aoe}}
</div>
<div class="spell-duration">
{{localize "l5r4.spell.duration"}}: {{data.duration}}
{{localize "l5r4.spell.duration"}}: {{system.duration}}
</div>
<div class="spell-raises">
{{localize "l5r4.spell.raises"}}: {{data.raises}}
{{localize "l5r4.spell.raises"}}: {{system.raises}}
</div>
{{#unless inSheet}}
<div class="spell-effects">
{{{data.specialRules}}}
{{{system.specialRules}}}
</div>
{{/unless}}
</div>

6
templates/partials/tattoo-card.hbs

@ -1,5 +1,5 @@
<div class="item-border {{data.type}}">
<div class="tattoo-card item" data-item-id="{{_id}}">
<div class="item-border {{system.type}}">
<div class="tattoo-card item" data-item-id="{{oid}}">
<div class="tattoo-info tattoo-name">
<h3>
{{#if inSheet}}
@ -16,7 +16,7 @@
</div>
<div>
<div class="technique-effects">
{{{data.specialRules}}}
{{{system.specialRules}}}
</div>
</div>
{{#if inSheet}}

16
templates/partials/technique-card.hbs

@ -1,5 +1,5 @@
<div class="item-border {{data.type}}">
<div class="technique-card item" data-item-id="{{_id}}">
<div class="item-border {{system.type}}">
<div class="technique-card item" data-item-id="{{oid}}">
<div class="technique-info technique-name">
<h3>
{{#if inSheet}}
@ -15,21 +15,21 @@
</h3>
</div>
<div class="technique-info technique-stats">
{{#unless data.shugenja}}
{{#unless system.shugenja}}
<div class="technique-rank">
{{localize "l5r4.skill.rank"}}: {{data.rank}}
{{localize "l5r4.skill.rank"}}: {{system.rank}}
</div>
{{/unless}}
{{#if data.shugenja}}
{{#if system.shugenja}}
<div class="technique-affiniy">
{{localize "l5r4.spell.affinity"}}: {{localize (concat "l5r4.rings." data.affinity)}}
{{localize "l5r4.spell.affinity"}}: {{localize (concat "l5r4.rings." system.affinity)}}
</div>
<div class="technique-deficiency">
{{localize "l5r4.spell.deficiency"}}: {{localize (concat "l5r4.rings." data.deficiency)}}
{{localize "l5r4.spell.deficiency"}}: {{localize (concat "l5r4.rings." system.deficiency)}}
</div>
{{/if}}
<div class="technique-effects">
{{{data.specialRules}}}
{{{system.specialRules}}}
</div>
</div>
{{#if inSheet}}

14
templates/partials/weapon-card.hbs

@ -1,5 +1,5 @@
<div class="item-border {{data.type}}">
<div class="weapon-card item" data-item-id="{{_id}}">
<div class="item-border {{system.type}}">
<div class="weapon-card item" data-item-id="{{oid}}">
<div class="weapon-info weapon-name">
{{#if inSheet}}
<a class="weapon-roll" title="{{localize "l5r4.mech.damageRoll"}}"><img src="icons/dice/d10black.svg" /></a>
@ -11,15 +11,15 @@
</div>
<div class="weapon-info weapon-stats">
<div>
{{localize "l5r4.weapon.damage"}}: {{data.damageRoll}}k{{data.damageKeep}}
{{localize "l5r4.weapon.damage"}}: {{system.damageRoll}}k{{system.damageKeep}}
</div>
{{#if ranged}}
<div>
{{localize "l5r4.weapon.str"}}: {{data.str}}
{{localize "l5r4.weapon.str"}}: {{system.str}}
</div>
<select class="arrow-type inline-edit" data-field="data.arrow">
<select class="arrow-type inline-edit" data-field="system.arrow">
<option selected disabled>{{localize "l5r4.weapon.arrow"}}</option>
{{#select data.arrow}}
{{#select system.arrow}}
{{#each @root.config.arrows as |name type|}}
<option value="{{type}}">{{localize name}}</option>
{{/each}}
@ -29,7 +29,7 @@
</div>
{{#unless inSheet}}
<div class="spell-effects">
{{{data.description}}}
{{{system.description}}}
</div>
{{/unless}}
{{#if inSheet}}

Loading…
Cancel
Save