Enhance styling

This commit is contained in:
sladecraven 2022-03-09 18:12:40 +01:00
parent 9ffdd4341b
commit e887828d53
10 changed files with 587 additions and 215 deletions

View File

@ -19,7 +19,7 @@ export class PegasusActorSheet extends ActorSheet {
height: 720,
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "combat" }],
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
editScore: false
editScore: true
});
}
@ -43,11 +43,10 @@ export class PegasusActorSheet extends ActorSheet {
specs: this.actor.getSpecs( ),
optionsDiceList: PegasusUtility.getOptionsDiceList(),
optionsLevel: PegasusUtility.getOptionsLevel(),
weapons: this.actor.checkAndPrepareWeapons( duplicate(this.actor.getWeapons()) ),
armors: this.actor.checkAndPrepareArmors( duplicate(this.actor.getArmors())),
shields: duplicate(this.actor.getShields()),
equipments: duplicate(this.actor.getEquipments()),
equipments: duplicate(this.actor.getEquipmentsOnly()),
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ),
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields()) ),
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsOnly()) ),
perks: duplicate(this.actor.getPerks()),
abilities: duplicate(this.actor.getAbilities()),
activePerks: duplicate(this.actor.getActivePerks()),
@ -77,12 +76,20 @@ export class PegasusActorSheet extends ActorSheet {
let rollData = PegasusUtility.getBasicRollData()
rollData.alias = "Dice Pool Roll",
rollData.mode = "generic"
rollData.title = `Dice Pool Roll`;
rollData.title = `Dice Pool Roll`
rollData.img = "icons/dice/d12black.svg"
let rollDialog = await PegasusRollDialog.create( this.actor, rollData);
rollDialog.render( true );
}
/* -------------------------------------------- */
async rollIDR( diceValue) {
let myRoll = new Roll(diceValue+"x").roll({ async: false })
//await PegasusUtility.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
myRoll.toMessage()
}
/* -------------------------------------------- */
/** @override */
activateListeners(html) {
@ -183,6 +190,15 @@ export class PegasusActorSheet extends ActorSheet {
this.actor.incDecQuantity( li.data("item-id"), +1 );
} );
html.find('.ammo-minus').click(event => {
const li = $(event.currentTarget).parents(".item");
this.actor.incDecAmmo( li.data("item-id"), -1 );
} );
html.find('.ammo-plus').click(event => {
const li = $(event.currentTarget).parents(".item");
this.actor.incDecAmmo( li.data("item-id"), +1 );
} );
html.find('.momentum-minus').click(event => {
this.actor.modifyMomentum( -1 )
} )
@ -222,6 +238,10 @@ export class PegasusActorSheet extends ActorSheet {
html.find('.roll-mr').click((event) => {
this.actor.rollMR();
});
html.find('.roll-idr').click((event) => {
const diceValue = $(event.currentTarget).data("dice-value")
this.rollIDR( diceValue)
})
html.find('.roll-spec').click((event) => {
const li = $(event.currentTarget).parents(".item");

View File

@ -116,39 +116,39 @@ export class PegasusActor extends Actor {
}
/* -------------------------------------------- */
getShields() {
let comp = this.data.items.filter(item => item.type == 'shield');
let comp = this.data.items.filter(item => item.type == 'shield')
return comp;
}
getRace() {
let race = this.data.items.filter(item => item.type == 'race');
let race = this.data.items.filter(item => item.type == 'race')
return race[0] ?? [];
}
getRole() {
let role = this.data.items.filter(item => item.type == 'role');
let role = this.data.items.filter(item => item.type == 'role')
return role[0] ?? [];
}
/* -------------------------------------------- */
checkAndPrepareArmor(armor) {
armor.data.resistanceDice = PegasusUtility.getDiceFromLevel(armor.data.resistance);
}
/* -------------------------------------------- */
checkAndPrepareArmors(armors) {
for (let item of armors) {
this.checkAndPrepareArmor(item);
checkAndPrepareEquipment(item) {
if ( item.data.resistance ) {
item.data.resistanceDice = PegasusUtility.getDiceFromLevel(item.data.resistance)
}
if ( item.data.idr ) {
item.data.idrDice = PegasusUtility.getDiceFromLevel(item.data.idr)
}
if ( item.data.damage) {
item.data.damageDice = PegasusUtility.getDiceFromLevel(item.data.damage)
}
if( item.data.level) {
item.data.levelDice = PegasusUtility.getDiceFromLevel(item.data.level)
}
return armors;
}
/* -------------------------------------------- */
checkAndPrepareWeapon(weapon) {
weapon.data.damageDice = PegasusUtility.getDiceFromLevel(weapon.data.damage);
}
/* -------------------------------------------- */
checkAndPrepareWeapons(weapons) {
for (let item of weapons) {
this.checkAndPrepareWeapon(item);
checkAndPrepareEquipments(listItem) {
for (let item of listItem) {
this.checkAndPrepareEquipment(item)
}
return weapons;
return listItem
}
/* -------------------------------------------- */
@ -314,10 +314,11 @@ export class PegasusActor extends Actor {
// Compute whole enc
let enc = 0
for (let item of equipments) {
item.data.idrDice = PegasusUtility.getDiceFromLevel( Number(item.data.idr))
if (item.data.equipped) {
if (item.data.iscontainer) {
enc += item.data.contentsEnc
} else {
} else if (item.data.containerid == "") {
enc += item.data.weight
}
}
@ -789,7 +790,7 @@ export class PegasusActor extends Actor {
updates['data.secondary.socialhealth.value'] = socDiceValue
}
let nrgValue = PegasusUtility.getDiceValue(this.data.data.statistics.foc.value) + this.data.data.nrg.mod + this.data.data.statistics.foc.mod;
let nrgValue = PegasusUtility.getDiceValue(this.data.data.statistics.foc.value) + this.data.data.nrg.mod + this.data.data.statistics.foc.mod
if (nrgValue != this.data.data.nrg.absolutemax) {
updates['data.nrg.absolutemax'] = nrgValue
}
@ -823,7 +824,7 @@ export class PegasusActor extends Actor {
if (role && role.name && (role.name != this.data.data.biodata.rolename)) {
updates['data.biodata.rolename'] = role.name
}
console.log("UPD", updates, this.data.data.biodata)
//console.log("UPD", updates, this.data.data.biodata)
await this.update(updates)
}
@ -878,6 +879,16 @@ export class PegasusActor extends Actor {
const updated = await this.updateEmbeddedDocuments('Item', [{ _id: objetQ.id, 'data.quantity': newQ }]); // pdates one EmbeddedEntity
}
}
/* -------------------------------------------- */
async incDecAmmo(objetId, incDec = 0) {
let objetQ = this.data.items.get(objetId)
if (objetQ) {
let newQ = objetQ.data.data.ammocurrent + incDec;
if ( newQ >= 0 && newQ <= objetQ.data.data.ammomax) {
const updated = await this.updateEmbeddedDocuments('Item', [{ _id: objetQ.id, 'data.ammocurrent': newQ }]); // pdates one EmbeddedEntity
}
}
}
/* -------------------------------------------- */
async applyAbility(ability, updates = [], directUpdate = false) {
@ -1082,7 +1093,11 @@ export class PegasusActor extends Actor {
rollData.statMod = rollData.stat.mod
rollData.specList = this.getRelevantSpec(statKey)
rollData.selectedSpec = "0"
rollData.img = `systems/fvtt-pegasus-rpg/images/icons/${rollData.stat.abbrev}.webp`
if (statKey.toLowerCase() == "mr") {
rollData.img = "systems/fvtt-pegasus-rpg/images/icons/MR.webp"
} else {
rollData.img = `systems/fvtt-pegasus-rpg/images/icons/${rollData.stat.abbrev}.webp`
}
}
this.addEffects(rollData)
@ -1119,6 +1134,7 @@ export class PegasusActor extends Actor {
let rollData = this.getCommonRollData(statKey, useShield)
rollData.mode = "stat"
rollData.title = `Roll : ${stat.label} `
rollData.img = "icons/dice/d12black.svg"
this.startRoll(rollData)
} else {
@ -1181,10 +1197,11 @@ export class PegasusActor extends Actor {
let rollData = this.getCommonRollData("mr")
rollData.mode = "MR"
rollData.img = "systems/fvtt-pegasus-rpg/images/icons/MR.webp"
rollData.isInit = isInit
rollData.combatId = combatId
rollData.combatantId = combatantId
console.log("MR ROLL", rollData)
this.startRoll(rollData);
} else {
ui.notifications.warn("MR not found !");
@ -1199,7 +1216,7 @@ export class PegasusActor extends Actor {
let rollData = this.getCommonRollData(armor.data.statistic)
armor = duplicate(armor);
this.checkAndPrepareArmor(armor);
this.checkAndPrepareEquipment(armor);
rollData.mode = "armor"
rollData.armor = armor

View File

@ -211,6 +211,7 @@ export class PegasusUtility {
'systems/fvtt-pegasus-rpg/templates/partial-actor-status.html',
'systems/fvtt-pegasus-rpg/templates/partial-item-nav.html',
'systems/fvtt-pegasus-rpg/templates/partial-item-description.html',
'systems/fvtt-pegasus-rpg/templates/partial-actor-equipment.html'
]
return loadTemplates(templatePaths);
}

View File

@ -540,12 +540,19 @@ ul, li {
border-radius: 0.25rem;
padding: 0.125rem;
flex: 1 1 5rem;
display: flex !important;
}
.list-item-shadow {
background:rgba(87, 60, 32, 0.35);
flex-grow: 0;
flex-wrap: nowrap;
justify-content: flex-start;
}
.list-item-shadow2 {
background:rgba(87, 60, 32, 0.25);
flex-grow: 0;
flex-wrap: nowrap;
justify-content: flex-start;
}
.item-display-show {
display: block;
@ -613,7 +620,6 @@ ul, li {
margin: 4px 0;
min-width: 96px;
}
.short-label {
flex-grow: 1;
}
@ -928,6 +934,14 @@ ul, li {
width: auto;
height: auto;
}
.small-stat-icon {
border: 0;
padding: 2px 2px 2px 2px;
max-width:16px;
max-height:16px;
width: auto;
height: auto;
}
.combat-icon {
border: 0;
padding: 2px 2px 2px 2px;
@ -1155,11 +1169,11 @@ ul, li {
display: inline-block;
cursor: pointer;
color: #ffffff;
padding: 2px 6px 0px 6px;
padding: 0px 6px 0px 6px;
text-decoration: none;
text-shadow: 0px 1px 0px #4d3534;
position: relative;
margin:3px;
margin:0px;
}
.river-button:hover,
@ -1316,8 +1330,8 @@ Focus FOC: #ff0084
margin-top: 4px;
}
.no-grow {
flex-grow: 1;
max-width: 24px;
flex-grow: 1;
max-width: 32px;
}
.status-col-name {
max-width: 72px;
@ -1370,6 +1384,9 @@ Focus FOC: #ff0084
background: black;
color: white;
}
.items-title-text {
margin-left: 4px;
}
.lock-icon {
width:16px;
height: 16px;
@ -1377,4 +1394,54 @@ Focus FOC: #ff0084
.item-sheet-img {
width: 64px;
height: auto;
}
.item-name-img {
flex-grow:1;
max-width: 2rem;
min-width: 2rem;
}
.item-name-label-header {
flex-grow:2;
max-width: 12rem;
min-width: 12rem;
}
.item-name-label {
flex-grow:2;
max-width: 10rem;
min-width: 10rem;
}
.item-name-label-level2 {
flex-grow:2;
max-width: 9rem;
min-width: 9rem;
}
.item-field-label-short {
flex-grow:1;
max-width: 4rem;
min-width: 4rem;
}
.item-field-label-medium {
flex-grow:1;
max-width: 6rem;
min-width: 6rem;
}
.item-field-label-long {
flex-grow:1;
max-width: 8rem;
min-width: 8rem;
}
.item-control-end {
align-self: flex-end;
}
.alternate-list {
margin-top: 4px;
flex-wrap: nowrap;
}
.item-filler {
flex-grow: 6;
flex-shrink: 7;
}
.item-controls-fixed {
min-width:2rem;
max-width: 2rem;
}

View File

@ -180,9 +180,9 @@
"styles": [
"styles/simple.css"
],
"templateVersion": 86,
"templateVersion": 87,
"title": "Pegasus RPG",
"url": "https://www.uberwald.me/data/files/fvtt-pegasus-rpg",
"version": "0.5.4",
"version": "0.5.5",
"background" : "./images/ui/pegasus_welcome_page.webp"
}

View File

@ -390,6 +390,7 @@
"value": 0,
"quantity": 0,
"weight": 0,
"idr":"",
"description": ""
},
"weapon": {

View File

@ -43,7 +43,7 @@
</span>
<select class="status-small-label color-class-common" type="text" name="data.mr.value" value="{{data.mr.value}}"
data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}>
{{#select stat.value}}
{{#select data.mr.value}}
{{{@root.optionsDiceList}}}
{{/select}}
</select>
@ -159,27 +159,57 @@
</div>
<div>
<span class="generic-label">
<h3 class="items-title-bg">Perks</h3>
</span>
<ul class="stat-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Perks</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Level</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Range</label>
</span>
<span class="item-field-label-short">
<label class="short-label">#Targets</label>
</span>
<span class="item-field-label-long">
<label class="short-label">Status</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Duration</label>
</span>
<span class="item-field-label-short">
<label class="short-label">&nbsp;</label>
</span>
<span class="item-field-label-short">
<label class="short-label">&nbsp;</label>
</span>
<span class="item-field-label-short">
<label class="short-label">&nbsp;</label>
</span>
</li>
{{#each perks as |perk key|}}
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{perk._id}}">
<a class="item-edit" title="Edit Item"><img class="sheet-competence-img" src="{{perk.img}}" /></a>
<span class="stat-label">{{perk.name}}</span>
<span class="stat-label">Lvl:{{perk.data.level}}</span>
<li class="item flexrow list-item list-item-shadow" data-item-id="{{perk._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{perk.img}}" /></a>
<span class="item-name-label">{{perk.name}}</span>
<span class="item-field-label-short">{{perk.data.level}}</span>
{{#if perk.data.features.range.flag}}
<span class="stat-label">Range:{{perk.data.features.range.value}}</span>
<span class="item-field-label-short">{{perk.data.features.range.value}}</span>
{{else}}
<span class="stat-label">&nbsp;</span>
<span class="item-field-label-short">&nbsp;-&nbsp;</span>
{{/if}}
{{#if perk.data.features.nbtargets.flag}}
<span class="stat-label">#T:{{perk.data.features.nbtargets.value}}</span>
<span class="item-field-label-short">{{perk.data.features.nbtargets.value}}</span>
{{else}}
<span class="stat-label">&nbsp;</span>
<span class="item-field-label-short">&nbsp;-&nbsp;</span>
{{/if}}
<span class="stat-label">Perk Status:
<select class="competence-base flexrow perk-status" type="text" value="{{perk.data.status}}" data-dtype="String">
<span class="item-field-label-long">
<select class="perk-status" type="text" value="{{perk.data.status}}" data-dtype="String">
{{#select perk.data.status}}
<option value="ready">Ready</option>
<option value="activated">Activated</option>
@ -191,26 +221,27 @@
{{#if (ne perk.data.status "ready")}}
{{#if (eq perk.data.nbuse "next1action")}}
<label class="attribute-value checkbox"><input type="checkbox" class="perk-used" data-use-index="1" name="perk.data.used1" {{checked perk.data.used1}}/></label>
<span class="stat-label">&nbsp;</span>
<span class="stat-label">&nbsp;</span>
<span class="item-field-label-short "><label class="item-field-label-short attribute-value checkbox"><input type="checkbox" class="perk-used" data-use-index="1" name="perk.data.used1" {{checked perk.data.used1}}/></label></span>
<span class="item-field-label-short ">&nbsp;</span>
<span class="item-field-label-short ">&nbsp;</span>
{{/if}}
{{#if (eq perk.data.nbuse "next2action")}}
<label class="attribute-value checkbox"></label><input type="checkbox" class="perk-used" data-use-index="1" name="perk.data.used1" {{checked perk.data.used1}}/></label>
<label class="attribute-value checkbox"></label><input type="checkbox" class="perk-used" data-use-index="2" name="perk.data.used2" {{checked perk.data.used2}}/></label>
<span class="stat-label">&nbsp;</span>
<span class="item-field-label-short "><label class="item-field-label-short attribute-value checkbox"></label><input type="checkbox" class="perk-used" data-use-index="1" name="perk.data.used1" {{checked perk.data.used1}}/></label></span>
<span class="item-field-label-short "><label class="item-field-label-short attribute-value checkbox"></label><input type="checkbox" class="perk-used" data-use-index="2" name="perk.data.used2" {{checked perk.data.used2}}/></label></span>
<span class="item-field-label-short ">&nbsp;</span>
{{/if}}
{{#if (eq perk.data.nbuse "next3action")}}
<label class="attribute-value checkbox"></label><input type="checkbox" class="perk-used" data-use-index="1" name="perk.data.used1" {{checked perk.data.used1}}/></label>
<label class="attribute-value checkbox"></label><input type="checkbox" class="perk-used" data-use-index="2" name="perk.data.used2" {{checked perk.data.used2}}/></label>
<label class="attribute-value checkbox"></label><input type="checkbox" class="perk-used" data-use-index="3" name="perk.data.used3" {{checked perk.data.used3}}/></label>
<span class="item-field-label-short "><label class="item-field-label-short attribute-value checkbox"></label><input type="checkbox" class="perk-used" data-use-index="1" name="perk.data.used1" {{checked perk.data.used1}}/></label></span>
<span class="item-field-label-short "><label class="item-field-label-short attribute-value checkbox"></label><input type="checkbox" class="perk-used" data-use-index="2" name="perk.data.used2" {{checked perk.data.used2}}/></label></span>
<span class="item-field-label-short "><label class="item-field-label-short attribute-value checkbox"></label><input type="checkbox" class="perk-used" data-use-index="3" name="perk.data.used3" {{checked perk.data.used3}}/></label></span>
{{/if}}
{{else}}
<span class="stat-label">&nbsp;</span>
<span class="stat-label">&nbsp;</span>
<span class="stat-label">&nbsp;</span>
<span class="item-field-label-short "><label class="item-field-label-short">&nbsp;</label></span>
<span class="item-field-label-short "><label class="item-field-label-short">&nbsp;</label></span>
<span class="item-field-label-short "><label class="item-field-label-short">&nbsp;</label></span>
{{/if}}
<div class="item-controls">
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
@ -218,53 +249,78 @@
</ul>
</div>
<div>
<h3 class="items-title-bg">Effects</h3>
</div>
<ul class="stat-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Effects</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Level</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Type</label>
</span>
<span class="item-field-label-short">
<label class="short-label">P/N</label>
</span>
<span class="item-field-label-long">
<label class="short-label">Stat</label>
</span>
</li>
{{#each effects as |effect key|}}
<li class="item stat flexrow list-item list-item-shadow" data-arme-id="{{effect.id}}" data-item-id="{{effect._id}}">
<a class="item-edit" title="Edit Item"><img class="sheet-competence-img" src="{{effect.img}}" /></a>
<span class="generic-label">{{effect.name}}</span>
<span class="generic-label">{{upperFirst effect.data.type}}</span>
<span class="generic-label">{{upperFirst effect.data.genre}}</span>
<span class="generic-label">Lvl:{{effect.data.effectlevel}}</span>
<span class="generic-label">{{upper effect.data.stataffected}}</span>
<div class="item-controls">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{effect.img}}" /></a>
<span class="item-name-label">{{effect.name}}</span>
<span class="item-field-label-short">{{effect.data.effectlevel}}</span>
<span class="item-field-label-short">{{upperFirst effect.data.type}}</span>
<span class="item-field-label-short">{{upperFirst effect.data.genre}}</span>
<span class="item-field-label-short">{{upper effect.data.stataffected}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</ul>
</div>
</div>
{{!-- Other Tab --}}
<div class="tab items" data-group="primary" data-tab="specs">
<div>
<span class="generic-label">
<h3 class="items-title-bg">Specialisations</h3>
</span>
<ul class="stat-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Specialisations</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Stat</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Dice</label>
</span>
<span class="item-field-label-long">
<label class="short-label">Powergroup</label>
</span>
</li>
{{#each specs as |spec key|}}
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{spec._id}}">
<a class="item-edit" title="Edit Item"><img class="sheet-competence-img" src="{{spec.img}}" /></a>
<span class="stat-label"><a class="roll-spec">{{spec.name}}</a></span>
<span class="stat-label">{{upper spec.data.statistic}}</span>
<span class="stat-label">{{spec.data.dice}}</span>
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{spec.img}}" /></a>
<span class="item-name-label"><a class="roll-spec">{{spec.name}}</a></span>
<span class="item-field-label-short">{{upper spec.data.statistic}}</span>
<span class="item-field-label-short">{{spec.data.dice}}</span>
{{#if spec.data.ispowergroup}}
{{#if spec.data.powersactivated}}
<span class="stat-label"><a class="spec-group-deactivate">Deactivate</a></span>
<span class="item-field-label-long"><a class="spec-group-deactivate">Deactivate</a></span>
{{else}}
<span class="stat-label"><a class="spec-group-activate">Activate</a></span>
<span class="item-field-label-long"><a class="spec-group-activate">Activate</a></span>
{{/if}}
{{else}}
<span class="stat-label">&nbsp;</span>
<span class="item-field-label-long">&nbsp;-&nbsp;</span>
{{/if}}
<div class="item-controls">
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
@ -292,39 +348,64 @@
</li>
</ul>
<span class="generic-label">
<h3 class="items-title-bg">Powers</h3>
</span>
<ul class="stat-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Powers</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Type</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Status</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">DMG Roll</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">NRG Cost</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">NRG Spent</label>
</span>
</li>
{{#each powers as |power key|}}
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{power._id}}">
<a class="item-edit" title="Edit Item"><img class="sheet-competence-img" src="{{power.img}}" /></a>
<span class="stat-label">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{power.img}}" /></a>
<span class="item-name-label">
{{#if power.data.rollneeded}}
<a class="power-roll">{{power.name}}</a>
{{else}}
{{power.name}}
{{/if}}
</span>
<span class="stat-label outfit-label">{{power.data.type}}</span>
<span class="item-field-label-short">{{upperFirst power.data.type}}</span>
{{#if power.data.activated}}
<span class="stat-label outfit-label">Activated</span>
{{else}}
<span class="stat-label outfit-label">&nbsp;</span>
{{/if}}
<span class="item-field-label-short"><label class="short-label">
{{#if power.data.activated}}
Activated
{{else}}
&nbsp;-&nbsp;
{{/if}}
</label>
</span>
{{#if power.data.dmgroll}}
<span class="stat-label outfit-label"><a class="power-dmg-roll">DMG Roll</a></span>
{{else}}
<span class="stat-label outfit-label">&nbsp;</span>
{{/if}}
<span class="item-field-label-medium"><a class="power-dmg-roll">
{{#if power.data.dmgroll}}
{{upper power.data.dmgstatistic}}
{{else}}
&nbsp;-&nbsp;
{{/if}}
</a></span>
<span class="stat-label outfit-label">{{power.data.cost}}</span>
<span class="stat-label outfit-label">Spent:
<input type="text" class="padd-right power-cost-spent" value="{{power.data.costspent}}" data-dtype="Number"/>
<span class="item-field-label-medium">{{power.data.cost}}</span>
<span class="item-field-label-medium">
<input type="text" class="padd-right input-numeric-short power-cost-spent" value="{{power.data.costspent}}" data-dtype="Number"/>
</span>
<div class="item-controls">
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control power-activate" title="Activated">{{#if power.data.activated}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
@ -333,15 +414,36 @@
{{/each}}
</ul>
<span class="generic-label">
<h3 class="items-title-bg">Abilities</h3>
</span>
<ul class="stat-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Abilities</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Stat</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Stat Modifier</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Affected status</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Status Modifier</label>
</span>
</li>
{{#each abilities as |ability key|}}
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{ability._id}}">
<a class="item-edit" title="Edit Item"><img class="sheet-competence-img" src="{{ability.img}}" /></a>
<span class="stat-label">{{ability.name}}</span>
<div class="item-controls">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{ability.img}}" /></a>
<span class="item-name-label">{{ability.name}}</span>
<span class="item-field-label-medium">{{upper ability.data.affectedstat}}</span>
<span class="item-field-label-medium">{{ability.data.statmodifier}}</span>
<span class="item-field-label-medium">{{upperFirst ability.data.statusaffected}}</span>
<span class="item-field-label-medium">{{ability.data.statusmodifier}}</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
@ -361,45 +463,110 @@
<span class="small-label">Hindrance : {{encHindrance}}</span>
</div>
<div>
<h3 class="items-title-bg">Money</h3>
</div>
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Money</label></h3>
</span>
<span class="item-field-label-long">
<label class="short-label">Qty</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Weight</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Roll IDR</label>
</span>
</li>
{{#each moneys as |money key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{money._id}}">
<a class="item-edit" title="Edit Item"><img class="sheet-competence-img" src="{{money.img}}" /></a>
<span class="equipement-label">{{money.name}}</span>
<span class="generic-label">
Qty {{money.data.quantity}}
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{money.img}}" /></a>
<span class="item-name-label">{{money.name}}</span>
<span class="item-field-label-long"><label>
{{money.data.quantity}}
(<a class="quantity-minus plus-minus-button"> -</a>/<a class="quantity-plus plus-minus-button">+</a>)
</label>
</span>
<span class="item-field-label-medium">
<label>{{money.data.weight}}</label>
</span>
<span class="item-field-label-medium">
{{#if money.data.idrDice}}
<a class="roll-idr" data-dice-value="{{money.data.idrDice}}">{{money.data.idrDice}}</a>
{{else}}
&nbsp;-&nbsp;
{{/if}}
</span>
<div class="item-controls">
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
<div>
<h3 class="items-title-bg">Weapons</h3>
</div>
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Weapons</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Attack</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Damage</label>
</span>
<span class="item-field-label-short">
<label class="short-label">DMG</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Ammo</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Act/Deact</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Weight</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Roll IDR</label>
</span>
</li>
{{#each weapons as |weapon key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
<a class="item-edit" title="Edit Item"><img class="sheet-competence-img" src="{{weapon.img}}" /></a>
<span class="equipement-label">{{weapon.name}}</span>
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{weapon.img}}"/></a>
<span class="item-name-label">{{weapon.name}}</span>
<span class="item-field-label-short"><label>{{upper weapon.data.statistic}}</label></span>
<span class="item-field-label-short"><label>{{upper weapon.data.damagestatistic}}</label></span>
<span class="item-field-label-short"><label>{{weapon.data.damageDice}}</label></span>
<span class="item-field-label-medium"><label>{{weapon.data.ammocurrent}}/{{weapon.data.ammomax}}
(<a class="ammo-minus plus-minus-button"> -</a>/<a class="ammo-plus plus-minus-button">+</a>)
</label></span>
<span class="item-field-label-medium">
{{#if (count weapon.data.effects)}}
{{#if weapon.data.activated}}
<span class="stat-label"><a class="equip-deactivate">Deactivate</a></span>
<a class="equip-deactivate">Deactivate</a>
{{else}}
<span class="stat-label"><a class="equip-activate">Activate</a></span>
<a class="equip-activate">Activate</a>
{{/if}}
{{else}}
<span class="stat-label">&nbsp;</span>
&nbsp;-&nbsp;
{{/if}}
<div class="item-controls">
</span>
<span class="item-field-label-short"><label>{{weapon.data.weight}}</label></span>
<span class="item-field-label-medium">
{{#if weapon.data.idrDice}}
<a class="roll-idr" data-dice-value="{{weapon.data.idrDice}}">{{weapon.data.idrDice}}</a>
{{else}}
&nbsp;-&nbsp;
{{/if}}
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-equip" title="Worn">{{#if weapon.data.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
@ -408,48 +575,115 @@
{{/each}}
</ul>
<div>
<h3 class="items-title-bg">Armors & Shields</h3>
</div>
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Armors</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Stat</label>
</span>
<span class="item-field-label-short">
<label class="short-label">DMG</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Loc</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Act/Deact</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Weight</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Roll IDR</label>
</span>
</li>
{{#each armors as |armor key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{armor._id}}">
<a class="item-edit" title="Edit Item"><img class="sheet-competence-img" src="{{armor.img}}" /></a>
<span class="equipement-label">{{armor.name}}</span>
{{#if (count armor.data.effects)}}
{{#if armor.data.activated}}
<span class="stat-label"><a class="equip-deactivate">Deactivate</a></span>
<li class="item list-item flexrow list-item-shadow" data-item-id="{{armor._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{armor.img}}" /></a>
<span class="item-name-label">{{armor.name}}</span>
<span class="item-field-label-short">{{upper armor.data.statistic}}</span>
<span class="item-field-label-short">{{armor.data.resistanceDice}}</span>
<span class="item-field-label-medium">{{armor.data.locationprotected}}</span>
<span class="item-field-label-medium">
{{#if (count armor.data.effects)}}
{{#if armor.data.activated}}
<a class="equip-deactivate">Deactivate</a>
{{else}}
<a class="equip-activate">Activate</a>
{{/if}}
{{else}}
<span class="stat-label"><a class="equip-activate">Activate</a></span>
&nbsp;-&nbsp;
{{/if}}
{{else}}
<span class="stat-label">&nbsp;</span>
{{/if}}
<div class="item-controls">
</span>
<span class="item-field-label-short">{{armor.data.weight}}</span>
<span class="item-field-label-medium">
{{#if armor.data.idrDice}}
<a class="roll-idr" data-dice-value="{{armor.data.idrDice}}">{{armor.data.idrDice}}</a>
{{else}}
&nbsp;-&nbsp;
{{/if}}
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-equip" title="Worn">{{#if armor.data.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
</li>
{{/each}}
</ul>
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Shields</label></h3>
</span>
<span class="item-field-label-short">
<label class="short-label">Dice</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Act/Deact</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Weight</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Roll IDR</label>
</span>
</li>
{{#each shields as |shield key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{shield._id}}">
<a class="item-edit" title="Edit Item"><img class="sheet-competence-img" src="{{shield.img}}" /></a>
<span class="equipement-label">{{shield.name}}</span>
{{#if (count shield.data.effects)}}
{{#if shield.data.activated}}
<span class="stat-label"><a class="equip-deactivate">Deactivate</a></span>
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{shield.img}}" /></a>
<span class="item-name-label">{{shield.name}}</span>
<span class="item-field-label-short">{{shield.data.levelDice}}</span>
<span class="item-field-label-medium">
{{#if (count shield.data.effects)}}
{{#if shield.data.activated}}
<a class="equip-deactivate">Deactivate</a>
{{else}}
<a class="equip-activate">Activate</a>
{{/if}}
{{else}}
<span class="stat-label"><a class="equip-activate">Activate</a></span>
&nbsp;-&nbsp;
{{/if}}
{{else}}
<span class="stat-label">&nbsp;</span>
{{/if}}
<div class="item-controls">
</span>
<span class="item-field-label-short">{{shield.data.weight}}</span>
<span class="item-field-label-medium">
{{#if shield.data.idrDice}}
<a class="roll-idr" data-dice-value="{{shield.data.idrDice}}">{{shield.data.idrDice}}</a>
{{else}}
&nbsp;-&nbsp;
{{/if}}
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
<a class="item-control item-equip" title="Worn">{{#if shield.data.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
@ -458,57 +692,33 @@
{{/each}}
</ul>
<div>
<h3 class="items-title-bg">Equipment</h3>
</div>
<ul class="item-list alternate-list">
<li class="item flexrow list-item items-title-bg">
<span class="item-name-label-header">
<h3><label class="items-title-text">Equipment</label></h3>
</span>
<span class="item-field-label-medium">
<label class="short-label">Type</label>
</span>
<span class="item-field-label-long">
<label class="short-label">Quantity</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Act/Deact</label>
</span>
<span class="item-field-label-short">
<label class="short-label">Weight</label>
</span>
<span class="item-field-label-medium">
<label class="short-label">Roll IDR</label>
</span>
</li>
{{#each containersTree as |equip key|}}
<li class="item flexrow list-item list-item-shadow" data-item-id="{{equip._id}}">
<a class="item-edit" title="Edit Item"><img class="sheet-competence-img" src="{{equip.img}}" /></a>
<span class="equipement-label">{{equip.name}}</span>
<span class="equipement-label">{{upperFirst equip.data.type}}</span>
<span class="generic-label">Qty {{equip.data.quantity}}</span>
{{#if (count equip.data.effects)}}
{{#if equip.data.activated}}
<span class="stat-label"><a class="equip-deactivate">Deactivate</a></span>
{{else}}
<span class="stat-label"><a class="equip-activate">Activate</a></span>
{{/if}}
{{else}}
<span class="stat-label">&nbsp;</span>
{{/if}}
{{#if equip.data.iscontainer}}
<span class="equipement-label">Enc:{{equip.data.contentsEnc}}</span>
{{/if}}
<div class="item-controls">
<a class="item-control item-equip" title="Worn">{{#if equip.data.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
<ul class="item-list alternate-list list-item-shadow2 list-item-margin1">
{{> systems/fvtt-pegasus-rpg/templates/partial-actor-equipment.html equip=equip level=1}}
<ul class="item-list list-item-shadow2 list-item-margin1">
{{#each equip.data.contents as |subgear key|}}
<li class="item flexrow list-item" data-item-id="{{subgear._id}}">
<a class="item-edit" title="Edit Item"><img class="sheet-competence-img" src="{{subgear.img}}"/></a>
<span class="conseq-label">{{subgear.name}}</span>
<span class="equipement-label">{{upperFirst subgear.data.type}}</span>
<span class="generic-label">Qty {{subgear.data.quantity}}</span>
{{#if (count subgear.data.effects)}}
{{#if subgear.data.activated}}
<span class="stat-label"><a class="equip-deactivate">Deactivate</a></span>
{{else}}
<span class="stat-label"><a class="equip-activate">Activate</a></span>
{{/if}}
{{else}}
<span class="stat-label">&nbsp;</span>
{{/if}}
<div class="item-controls">
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
{{/each}}
{{> systems/fvtt-pegasus-rpg/templates/partial-actor-equipment.html equip=subgear level=2}}
{{/each}}
</ul>
{{/each}}
</ul>

View File

@ -19,6 +19,13 @@
<li class="flexrow"><label class="generic-label">Weight</label>
<input type="text" class="input-numeric-short padd-right" name="data.weight" value="{{data.weight}}" data-dtype="Number"/>
</li>
<li class="flexrow"><label class="generic-label">IDR</label>
<select class="competence-base flexrow" type="text" name="data.idr" value="{{data.idr}}" data-dtype="String">
{{#select data.idr}}
{{{optionsDiceList}}}
{{/select}}
</select>
</li>
</ul>
</div>

View File

@ -0,0 +1,49 @@
<li class="item flexrow list-item list-item-shadow" data-item-id="{{equip._id}}">
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img" src="{{equip.img}}" /></a>
{{#if (eq level 1)}}
<span class="item-name-label">{{equip.name}}</span>
{{else}}
<span class="item-name-label-level2">{{equip.name}}</span>
{{/if}}
<span class="item-field-label-medium">{{upperFirst equip.data.type}}</span>
<span class="item-field-label-long"><label>
{{equip.data.quantity}}
(<a class="quantity-minus plus-minus-button"> -</a>/<a class="quantity-plus plus-minus-button">+</a>)
</label>
</span>
<span class="item-field-label-medium">
{{#if (count equip.data.effects)}}
{{#if equip.data.activated}}
<a class="equip-deactivate">Deactivate</a>
{{else}}
<a class="equip-activate">Activate</a>
{{/if}}
{{else}}
&nbsp;-&nbsp;
{{/if}}
</span>
<span class="item-field-label-short">
{{#if equip.data.iscontainer}}
{{equip.data.contentsEnc}}
{{else}}
N/A
{{/if}}
</span>
<span class="item-field-label-medium">
{{#if equip.data.idrDice}}
<a class="roll-idr" data-dice-value="{{equip.data.idrDice}}">{{equip.data.idrDice}}</a>
{{else}}
&nbsp;-&nbsp;
{{/if}}
</span>
<div class="item-filler">&nbsp;</div>
<div class="item-controls item-controls-fixed">
{{#if (eq level 1)}}
<a class="item-control item-equip" title="Worn">{{#if equip.data.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
{{/if}}
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>

View File

@ -37,10 +37,10 @@
<span class="stat-label flexrow status-col-name" name="activated-nrg">
<input type="text" class="padd-right status-small-label no-grow" name="data.nrg.activated" value="{{data.nrg.activated}}" data-dtype="Number"/>
</span>
<span class="stat-label flexrow status-col-name" name="momentum">
<!--<span class="stat-label flexrow status-col-name" name="momentum">
<label class="status-small-label flexrow"><strong>
<a class="stat-icon lock-unlock-sheet">{{#if editScore}}Lock{{else}}Unlock{{/if}}</a>
</strong></label>
</strong></label>-->
</span>
</li>
<li class="item flexrow " data-key="momentum">