Redesigned combat tab

This commit is contained in:
Ender 2024-01-14 15:54:42 +01:00
parent bb79bd0608
commit 6e4e3acc41
5 changed files with 154 additions and 90 deletions

View File

@ -42,6 +42,7 @@
"midgard5.skill-value": "Fertigkeitswert", "midgard5.skill-value": "Fertigkeitswert",
"midgard5.fw": "FW", "midgard5.fw": "FW",
"midgard5.bonus": "Bonus", "midgard5.bonus": "Bonus",
"midgard5.bonuses": "Boni",
"midgard5.ew": "EW", "midgard5.ew": "EW",
"midgard5.pp-short": "PP", "midgard5.pp-short": "PP",
"midgard5.pp": "Praxispunkte", "midgard5.pp": "Praxispunkte",
@ -296,6 +297,7 @@
"midgard5.kampfkunst-type": "Kampfkunst Art", "midgard5.kampfkunst-type": "Kampfkunst Art",
"midgard5.kampfkunst-variante": "Kampfkunst Variante", "midgard5.kampfkunst-variante": "Kampfkunst Variante",
"midgard5.kampfkunst-variante-short": "Var",
"midgard5.kido-type": "Kido Art", "midgard5.kido-type": "Kido Art",
"midgard5.kido-variante": "Kido Variante", "midgard5.kido-variante": "Kido Variante",

View File

@ -322,7 +322,10 @@ export class M5Character extends Actor {
hoarded: item.system?.hoarded, hoarded: item.system?.hoarded,
value: item.system.value || 0, value: item.system.value || 0,
calc: item.system.calc, calc: item.system.calc,
special: item.system.special,
damageBase: item.system.damageBase,
equipped: item.system?.equipped, equipped: item.system?.equipped,
containerId: item.system.containerId || "",
}; };
}); });
} }
@ -351,8 +354,10 @@ export class M5Character extends Actor {
valuable: item.system?.valuable, valuable: item.system?.valuable,
hoarded: item.system?.hoarded, hoarded: item.system?.hoarded,
value: item.system.value || 0, value: item.system.value || 0,
defenseBonus: item.system.stats.defenseBonus,
calc: item.system.calc, calc: item.system.calc,
equipped: item.system?.equipped, equipped: item.system?.equipped,
containerId: item.system.containerId || "",
}; };
}); });
} }
@ -380,8 +385,10 @@ export class M5Character extends Actor {
valuable: item.system?.valuable, valuable: item.system?.valuable,
hoarded: item.system?.hoarded, hoarded: item.system?.hoarded,
value: item.system.value || 0, value: item.system.value || 0,
lpProtection: item.system.lpProtection,
calc: item.system.calc, calc: item.system.calc,
equipped: item.system?.equipped, equipped: item.system?.equipped,
containerId: item.system.containerId || "",
}; };
}); });
} }

View File

@ -23,6 +23,11 @@
flex-wrap: wrap; flex-wrap: wrap;
} }
.flexcolumn-3 {
flex: 33%;
flex-wrap: wrap;
}
.flexcolumn-4 { .flexcolumn-4 {
flex: 25%; flex: 25%;
flex-wrap: wrap; flex-wrap: wrap;
@ -167,6 +172,11 @@
text-align: left; text-align: left;
font-weight: bold; font-weight: bold;
} }
&.highlight {
font-weight: bold;
font-style: italic;
}
} }
.table-icon { .table-icon {

View File

@ -1,60 +1,42 @@
<table> <div class="flexbox">
<thead> <div class="flexcolumn-3">
<tr> <div class="flexpart">
<th class="title">{{localize "TYPES.Item.kampfkunst"}}</th> <div class="flexpart-header"><img src="icons/skills/melee/hand-grip-sword-white-brown.webp" class="flexpart-icon">{{localize "midgard5.attack"}}</div>
<th class="title">{{localize "midgard5.ew"}}</th>
<th class="title"></th>
<th class="title"></th>
</tr>
</thead>
<tbody>
{{#each data.calc.kampfkuenste as |item itemId|}}
<tr data-item="{{itemId}}">
<td class="padding edit-item">
<span>{{item.label}}</span>
{{#if item.isKido}}
<span class="spell-process">{{localize (m5concat "midgard5.kido-type-" item.type)}}</span>
{{#unless (eq item.type "finte")}}
<span class="spell-process">({{localize (m5concat "midgard5.kido-variante-" item.variante)}})</span>
{{/unless}}
{{else}}
<span class="spell-process">{{localize (m5concat "midgard5.kampfkunst-type-" item.type)}}</span>
{{#if (eq item.type "angriff")}}
<span class="spell-process">({{localize (m5concat "midgard5.kampfkunst-variante-" item.variante)}})</span>
{{/if}}
{{/if}}
</td>
<td class="fixed-value">{{item.calc.ew}}</td>
<td class="fixed-value"><button class="roll-button roll-weapon-button" /></td>
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
</tr>
{{/each}}
</tbody>
</table>
<table> <table>
<thead> <thead>
<tr> <tr>
<th class="title">{{localize "TYPES.Item.weapon"}}</th> <th class="title">{{localize "TYPES.Item.weapon"}}</th>
<th class="title">{{localize "midgard5.ew"}}</th> <th class="title">{{localize "midgard5.ew"}}</th>
<th class="title"></th> <th class="title">{{localize "midgard5.damage"}}</th>
<th class="title"></th> <th class="title center"><img src="/systems/midgard5/assets/icons/icon/battle-gear.svg" class="table-icon"></th>
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{{#each data.calc.gear.weapons as |item itemId|}} {{#each data.calc.gear.weapons as |item itemId|}}
{{#if item.equipped}}
<tr data-item="{{itemId}}"> <tr data-item="{{itemId}}">
<td class="padding edit-item">{{item.label}}</td> <td class="padding edit-item {{#if item.special}}highlight{{/if}}">{{item.label}}{{#if item.special}}(*){{/if}}</td>
<td class="fixed-value">{{item.calc.ew}}</td> <td class="fixed-value">{{item.calc.ew}}</td>
<td class="fixed-value"><button class="roll-button roll-weapon-button"></button></td> <td class="fixed-value">{{item.damageBase}}</td>
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td> <td class="change-equipped">
{{#if item.equipped}}
<i class="fa-solid fa-circle-check"></i>
{{else}}
<i class="fa-regular fa-circle"></i>
{{/if}}
</td>
<td><button class="roll-button roll-weapon-button"></button></td>
</tr> </tr>
{{/if}}
{{/each}} {{/each}}
<tr data-item="{{itemId}}"> <tr data-item="{{itemId}}">
<td class="padding edit-item">{{localize "midgard5.brawl"}}</td> <td class="padding edit-item">{{localize "midgard5.brawl"}}</td>
<td class="center">{{data.calc.stats.brawlFw}}</td> <td class="fixed-value">{{data.calc.stats.brawlFw}}</td>
<td class="fixed-value"><button class="roll-button roll-brawl-button"></button></td> <td class="fixed-value">1d6 -4</td>
<td class="fixed-value"></td> <td>&nbsp;</td>
<td><button class="roll-button roll-brawl-button"></button></td>
</tr> </tr>
</tbody> </tbody>
</table> </table>
@ -62,42 +44,117 @@
<table> <table>
<thead> <thead>
<tr> <tr>
<th class="title">{{localize "TYPES.Item.defensiveWeapon"}}</th> <th class="title">{{localize "TYPES.Item.kampfkunst"}}</th>
<th class="title">{{localize "midgard5.kampfkunst-variante-short"}}</th>
<th class="title">{{localize "midgard5.ew"}}</th> <th class="title">{{localize "midgard5.ew"}}</th>
<th class="title"></th> <th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
<th class="title"></th> <th class="title"></th>
</tr> </tr>
</thead> </thead>
<tbody>
{{#each data.calc.kampfkuenste as |item itemId|}}
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{item.label}}</td>
<td>
{{#if item.isKido}}
<span class="spell-process">{{localize (m5concat "midgard5.kido-type-" item.type)}}</span>
{{#unless (eq item.type "finte")}}
<span class="spell-process">({{localize (m5concat "midgard5.kido-variante-" item.variante)}})</span>
{{/unless}}
{{else}}
<span class="spell-process">{{localize (m5concat "midgard5.kampfkunst-type-" item.type)}}</span>
{{#if (eq item.type "angriff")}}
<span class="spell-process">({{localize (m5concat "midgard5.kampfkunst-variante-" item.variante)}})</span>
{{/if}}
{{/if}}
</td>
<td class="fixed-value">{{item.calc.ew}}</td>
<td><button class="roll-button roll-weapon-button" /></td>
<td><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
</tr>
{{/each}}
</tbody>
</table>
</div>
</div>
<div class="flexcolumn-3">
<div class="flexpart">
<div class="flexpart-header"><img src="icons/magic/time/arrows-circling-pink.webp" class="flexpart-icon">{{localize "midgard5.calculated-values"}}</div>
<table>
<tr height = 10px></tr>
<tr>
<td>{{localize "midgard5.movementRange"}}</td>
<td class="fixed-value">{{data.movement}}</td>
<td>&nbsp;</td>
<td class="fixed-value">&nbsp;</td>
</tr>
<td>{{localize "midgard5.defense"}}</td>
<td class="fixed-value">{{data.calc.stats.defense.value}}</td>
<td>{{localize "midgard5.defenseBonus"}}</td>
<td class="fixed-value">{{data.calc.stats.defenseBonus.value}}</td>
</tr>
<tr>
<td>{{localize "midgard5.damageBonus"}}</td>
<td class="fixed-value">{{data.calc.stats.damageBonus.value}}</td>
<td>{{localize "midgard5.attackBonus"}}</td>
<td class="fixed-value">{{data.calc.stats.attackBonus.value}}</td>
</tr>
</table>
</div>
</div>
<div class="flexcolumn-3">
<div class="flexpart">
<div class="flexpart-header"><img src="icons/skills/melee/shield-block-gray-orange.webp" class="flexpart-icon">{{localize "midgard5.defense"}}</div>
<table>
<tr height = 10px></tr>
<tr>
<td class="padding edit-item highlight">{{localize "midgard5.defense"}}</td>
<td class="center">{{add data.calc.stats.defense.value data.calc.stats.defenseBonus.value}}</td>
<td class="fixed-value"><button class="roll-button roll-defense-button"></button></td>
</tr>
<tr>
<td class="padding edit-item highlight">{{localize "midgard5.resistanceMind"}}</td>
<td class="center">{{data.calc.stats.resistanceMind.value}}</td>
<td class="fixed-value"><button class="roll-button roll-resistanceMind-button"></button></td>
</tr>
<tr>
<td class="padding edit-item highlight">{{localize "midgard5.resistanceBody"}}</td>
<td class="center">{{data.calc.stats.resistanceBody.value}}</td>
<td class="fixed-value"><button class="roll-button roll-resistanceBody-button"></button></td>
</tr>
</table>
<table>
<thead>
<tr>
<th class="title">{{localize "TYPES.Item.defensiveWeapon"}}</th>
<th class="title">{{localize "midgard5.ew"}}</th>
<th class="title">{{localize "midgard5.defenseBonus-short"}}</th>
<th class="title center"><img src="/systems/midgard5/assets/icons/icon/battle-gear.svg" class="table-icon"></th>
<th class="title"><img src="/icons/svg/d20.svg" class="table-icon"></th>
</tr>
</thead>
<tbody> <tbody>
{{#each data.calc.gear.defensiveWeapons as |item itemId|}} {{#each data.calc.gear.defensiveWeapons as |item itemId|}}
{{#if item.equipped}}
<tr data-item="{{itemId}}"> <tr data-item="{{itemId}}">
<td class="padding edit-item">{{item.label}}</td> <td class="padding edit-item">{{item.label}}</td>
<td class="fixed-value">{{item.calc.ew}}</td> <td class="fixed-value">{{item.calc.ew}}</td>
<td class="fixed-value"><button class="roll-button roll-weapon-button"></button></td> <td class="fixed-value">{{item.defenseBonus}}</td>
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td> <td class="change-equipped">
{{#if item.equipped}}
<i class="fa-solid fa-circle-check"></i>
{{else}}
<i class="fa-regular fa-circle"></i>
{{/if}}
</td>
<td><button class="roll-button roll-weapon-button"></button></td>
</tr> </tr>
{{/if}}
{{/each}} {{/each}}
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{localize "midgard5.defense"}}</td>
<td class="center">{{add data.calc.stats.defense.value data.calc.stats.defenseBonus.value}}</td>
<td class="fixed-value"><button class="roll-button roll-defense-button"></button></td>
<td class="fixed-value"></td>
</tr>
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{localize "midgard5.resistanceMind"}}</td>
<td class="center">{{data.calc.stats.resistanceMind.value}}</td>
<td class="fixed-value"><button class="roll-button roll-resistanceMind-button"></button></td>
<td class="fixed-value"></td>
</tr>
<tr data-item="{{itemId}}">
<td class="padding edit-item">{{localize "midgard5.resistanceBody"}}</td>
<td class="center">{{data.calc.stats.resistanceBody.value}}</td>
<td class="fixed-value"><button class="roll-button roll-resistanceBody-button"></button></td>
<td class="fixed-value"></td>
</tr>
</tbody> </tbody>
</table> </table>
@ -106,35 +163,27 @@
<tr> <tr>
<th class="title">{{localize "TYPES.Item.armor"}}</th> <th class="title">{{localize "TYPES.Item.armor"}}</th>
<th class="title">{{localize "midgard5.actor-lp-short"}}</th> <th class="title">{{localize "midgard5.actor-lp-short"}}</th>
<th class="title">{{localize "midgard5.actor-ap-short"}}</th> <th class="title center"><img src="/systems/midgard5/assets/icons/icon/battle-gear.svg" class="table-icon"></th>
<th class="title">{{localize "midgard5.attackBonus-short"}}</th>
<th class="title">{{localize "midgard5.defenseBonus-short"}}</th>
<th class="title">B</th>
<th class="title">Gw</th>
<th class="title"></th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>
{{#each data.calc.gear.armor as |item itemId|}} {{#each data.calc.gear.armor as |item itemId|}}
{{#if item.equipped}}
<tr data-item="{{itemId}}"> <tr data-item="{{itemId}}">
<td class="padding"> <td class="padding">{{item.label}}</td>
<span class="edit-item">{{item.label}}</span> <td class="fixed-value">{{lpProtection}}</td>
<td class="change-equipped">
{{#if item.equipped}} {{#if item.equipped}}
<span class="spell-process">{{localize "midgard5.equipped"}}</span> <i class="fa-solid fa-circle-check"></i>
{{else}}
<i class="fa-regular fa-circle"></i>
{{/if}} {{/if}}
</td> </td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "lpProtection" ../actor.isToken}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "apProtection"}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.attackBonus"}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.defenseBonus"}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "stats.movementBonus"}}</td>
<td class="fixed-value">{{actorItemValue ../actor._id itemId "attributeMod.gw"}}</td>
<td class="fixed-value"><a class="item-delete" title="Delete Item"><i class="fas fa-trash"></i></a></td>
</tr> </tr>
{{/if}}
{{/each}} {{/each}}
</tbody> </tbody>
</table> </table>
</div>
{{localize "midgard5.movementRange"}}: {{data.calc.stats.movement.value}} </div>
</div>

View File

@ -9,10 +9,6 @@
<tr> <tr>
<td colspan="4"> <td colspan="4">
<div class="flexrow"> <div class="flexrow">
<span>
<input id="data.equipped" type="checkbox" name="data.equipped" {{checked data.equipped}}>
<label for="data.equipped">{{localize "midgard5.equipped"}}</label>
</span>
<span> <span>
<input id="data.equipped" type="checkbox" name="data.equipped" {{checked data.equipped}} /> <input id="data.equipped" type="checkbox" name="data.equipped" {{checked data.equipped}} />
<label for="data.equipped">{{localize "midgard5.equipped"}}</label> <label for="data.equipped">{{localize "midgard5.equipped"}}</label>