Sync
This commit is contained in:
parent
1e4b639ec6
commit
3384157580
@ -108,10 +108,36 @@ export class PegasusActorSheet extends ActorSheet {
|
|||||||
this.actor.incrementeQuantite( li.data("item-id") );
|
this.actor.incrementeQuantite( li.data("item-id") );
|
||||||
} );
|
} );
|
||||||
|
|
||||||
|
html.find('.unarmed-attack').click((event) => {
|
||||||
|
this.actor.rollUnarmedAttack();
|
||||||
|
});
|
||||||
|
html.find('.attack-melee').click((event) => {
|
||||||
|
this.actor.rollPool( 'com', true);
|
||||||
|
});
|
||||||
|
html.find('.attack-ranged').click((event) => {
|
||||||
|
this.actor.rollPool( 'agi', true);
|
||||||
|
});
|
||||||
|
html.find('.defense-roll').click((event) => {
|
||||||
|
this.actor.rollPool( 'def', true);
|
||||||
|
});
|
||||||
|
html.find('.damage-melee').click((event) => {
|
||||||
|
this.actor.rollPool( 'str', true);
|
||||||
|
});
|
||||||
|
html.find('.damage-ranged').click((event) => {
|
||||||
|
this.actor.rollPool( 'per', true);
|
||||||
|
});
|
||||||
|
html.find('.damage-resistance').click((event) => {
|
||||||
|
this.actor.rollPool( 'phy', true);
|
||||||
|
});
|
||||||
|
|
||||||
html.find('.roll-stat').click((event) => {
|
html.find('.roll-stat').click((event) => {
|
||||||
const statId = $(event.currentTarget).data("stat-key");
|
const statId = $(event.currentTarget).data("stat-key");
|
||||||
this.actor.rollStat(statId);
|
this.actor.rollStat(statId);
|
||||||
});
|
});
|
||||||
|
html.find('.roll-mr').click((event) => {
|
||||||
|
this.actor.rollMR();
|
||||||
|
});
|
||||||
|
|
||||||
html.find('.roll-spec').click((event) => {
|
html.find('.roll-spec').click((event) => {
|
||||||
const li = $(event.currentTarget).parents(".item");
|
const li = $(event.currentTarget).parents(".item");
|
||||||
const specId = li.data("item-id");
|
const specId = li.data("item-id");
|
||||||
|
@ -53,7 +53,6 @@ export class PegasusActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async prepareData() {
|
async prepareData() {
|
||||||
|
|
||||||
super.prepareData();
|
super.prepareData();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -74,6 +73,7 @@ export class PegasusActor extends Actor {
|
|||||||
if ( updates.length > 0 ) {
|
if ( updates.length > 0 ) {
|
||||||
this.update( updates );
|
this.update( updates );
|
||||||
}
|
}
|
||||||
|
this.computeNRGHealth();
|
||||||
}
|
}
|
||||||
|
|
||||||
super.prepareDerivedData();
|
super.prepareDerivedData();
|
||||||
@ -122,7 +122,7 @@ export class PegasusActor extends Actor {
|
|||||||
let role = this.data.items.filter( item => item.type == 'role');
|
let role = this.data.items.filter( item => item.type == 'role');
|
||||||
return role[0]?? [];
|
return role[0]?? [];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
checkAndPrepareWeapon(item) {
|
checkAndPrepareWeapon(item) {
|
||||||
let types=[];
|
let types=[];
|
||||||
@ -146,6 +146,18 @@ export class PegasusActor extends Actor {
|
|||||||
let comp = duplicate(this.data.items.filter( item => item.type == 'weapon' ) || []);
|
let comp = duplicate(this.data.items.filter( item => item.type == 'weapon' ) || []);
|
||||||
return comp;
|
return comp;
|
||||||
}
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getItemById( id) {
|
||||||
|
console.log("Search", id)
|
||||||
|
let item = this.data.items.find( item => item.id == id);
|
||||||
|
if (item ) {
|
||||||
|
item = duplicate(item)
|
||||||
|
if (item.type == 'specialisation') {
|
||||||
|
item.data.dice = PegasusUtility.getDiceFromLevel(item.data.level);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return item;
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
getSpecs() {
|
getSpecs() {
|
||||||
@ -155,6 +167,14 @@ export class PegasusActor extends Actor {
|
|||||||
}
|
}
|
||||||
return comp;
|
return comp;
|
||||||
}
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getRelevantSpec( statKey ) {
|
||||||
|
let comp = duplicate(this.data.items.filter( item => item.type == 'specialisation' && item.data.data.statistic == statKey) || []);
|
||||||
|
for (let c of comp) {
|
||||||
|
c.data.dice = PegasusUtility.getDiceFromLevel(c.data.level);
|
||||||
|
}
|
||||||
|
return comp;
|
||||||
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async activatePerk(perkId ) {
|
async activatePerk(perkId ) {
|
||||||
@ -405,19 +425,20 @@ export class PegasusActor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollStat(statKey) {
|
async rollMR() {
|
||||||
let stat = this.getStat(statKey) ;
|
let mr = duplicate( this.data.data.mr) ;
|
||||||
if (stat) {
|
if (mr) {
|
||||||
|
mr.dice = PegasusUtility.getDiceFromLevel(mr.value);
|
||||||
let rollData = {
|
let rollData = {
|
||||||
rollId:randomID(16),
|
rollId:randomID(16),
|
||||||
mode: "stat",
|
mode: "MR",
|
||||||
alias: this.name,
|
alias: this.name,
|
||||||
actorImg: this.img,
|
actorImg: this.img,
|
||||||
actorId: this.id,
|
actorId: this.id,
|
||||||
img: this.img,
|
img: this.img,
|
||||||
rollMode: game.settings.get("core", "rollMode"),
|
rollMode: game.settings.get("core", "rollMode"),
|
||||||
title: `Stat ${stat.label} `,
|
title: `${mr.label} `,
|
||||||
stat: stat,
|
stat: mr,
|
||||||
activePerks: duplicate(this.getActivePerks()),
|
activePerks: duplicate(this.getActivePerks()),
|
||||||
optionsDiceList: PegasusUtility.getOptionsDiceList(),
|
optionsDiceList: PegasusUtility.getOptionsDiceList(),
|
||||||
bonusDicesLevel: 0,
|
bonusDicesLevel: 0,
|
||||||
@ -426,42 +447,98 @@ export class PegasusActor extends Actor {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.syncRoll( rollData);
|
this.syncRoll( rollData);
|
||||||
|
|
||||||
let rollDialog = await PegasusRollDialog.create( this, rollData);
|
let rollDialog = await PegasusRollDialog.create( this, rollData);
|
||||||
console.log(rollDialog);
|
console.log(rollDialog);
|
||||||
rollDialog.render( true );
|
rollDialog.render( true );
|
||||||
|
} else {
|
||||||
|
ui.notifications.warn("MR not found !");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
getCommonRollData( ) {
|
||||||
|
let rollData = {
|
||||||
|
rollId:randomID(16),
|
||||||
|
alias: this.name,
|
||||||
|
actorImg: this.img,
|
||||||
|
actorId: this.id,
|
||||||
|
img: this.img,
|
||||||
|
rollMode: game.settings.get("core", "rollMode"),
|
||||||
|
activePerks: duplicate(this.getActivePerks()),
|
||||||
|
optionsDiceList: PegasusUtility.getOptionsDiceList(),
|
||||||
|
bonusDicesLevel: 0,
|
||||||
|
hindranceDicesLevel: 0,
|
||||||
|
otherDicesLevel: 0,
|
||||||
|
}
|
||||||
|
return rollData
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
async startRoll( rollData) {
|
||||||
|
this.syncRoll( rollData);
|
||||||
|
let rollDialog = await PegasusRollDialog.create( this, rollData);
|
||||||
|
console.log(rollDialog);
|
||||||
|
rollDialog.render( true );
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
rollPool( statKey, useSPec) {
|
||||||
|
let stat = this.getStat(statKey);
|
||||||
|
if (stat) {
|
||||||
|
let rollData = this.getCommonRollData()
|
||||||
|
rollData.mode = "stat"
|
||||||
|
rollData.specList = this.getRelevantSpec( statKey)
|
||||||
|
rollData.selectedSpec = "0"
|
||||||
|
rollData.stat = stat;
|
||||||
|
|
||||||
|
this.startRoll(rollData);
|
||||||
|
} else {
|
||||||
|
ui.notifications.warn("Statistic not found !");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
rollUnarmedAttack() {
|
||||||
|
let stat = this.getStat('com');
|
||||||
|
if (stat) {
|
||||||
|
let rollData = this.getCommonRollData()
|
||||||
|
rollData.mode = "stat"
|
||||||
|
rollData.title = `Unarmed Attack`;
|
||||||
|
rollData.stat = stat;
|
||||||
|
rollData.damages = this.getStat('str');
|
||||||
|
|
||||||
|
this.startRoll(rollData);
|
||||||
|
} else {
|
||||||
|
ui.notifications.warn("Statistic not found !");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
rollStat(statKey) {
|
||||||
|
let stat = this.getStat(statKey) ;
|
||||||
|
if (stat) {
|
||||||
|
let rollData = this.getCommonRollData()
|
||||||
|
rollData.mode = "stat"
|
||||||
|
rollData.title = `Stat ${stat.label}`;
|
||||||
|
rollData.stat = stat;
|
||||||
|
|
||||||
|
this.startRoll(rollData);
|
||||||
} else {
|
} else {
|
||||||
ui.notifications.warn("Statistic not found !");
|
ui.notifications.warn("Statistic not found !");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async rollSpec( specId ) {
|
async rollSpec( specId ) {
|
||||||
let spec = this.getOneSpec( specId)
|
let spec = this.getOneSpec( specId)
|
||||||
if (spec) {
|
if (spec) {
|
||||||
let rollData = {
|
let rollData = this.getCommonRollData()
|
||||||
mode: "spec",
|
rollData.mode = "spec"
|
||||||
alias: this.name,
|
rollData.title = `Spec. : ${spec.name} `,
|
||||||
actorImg: this.img,
|
rollData.stat = this.getStat( spec.data.statistic )
|
||||||
actorId: this.id,
|
rollData.spec = spec
|
||||||
img: spec.img,
|
|
||||||
rollMode: game.settings.get("core", "rollMode"),
|
|
||||||
title: `Spec. : ${spec.name} `,
|
|
||||||
stat: this.getStat( spec.data.statistic ),
|
|
||||||
spec : spec ,
|
|
||||||
activePerks: duplicate(this.getActivePerks()),
|
|
||||||
optionsDiceList: PegasusUtility.getOptionsDiceList(),
|
|
||||||
bonusDicesLevel: 0,
|
|
||||||
hindranceDicesLevel: 0,
|
|
||||||
otherDicesLevel: 0,
|
|
||||||
}
|
|
||||||
|
|
||||||
this.syncRoll( rollData);
|
this.startRoll(rollData);
|
||||||
|
|
||||||
let rollDialog = await PegasusRollDialog.create( this, rollData);
|
|
||||||
console.log(rollDialog);
|
|
||||||
rollDialog.render( true );
|
|
||||||
} else {
|
} else {
|
||||||
ui.notifications.warn("Specialisation not found !");
|
ui.notifications.warn("Specialisation not found !");
|
||||||
}
|
}
|
||||||
@ -501,16 +578,33 @@ export class PegasusActor extends Actor {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
computeNRGHealth( ) {
|
computeNRGHealth( ) {
|
||||||
let focDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.foc.value);
|
|
||||||
this.update( {'data.secondary.nrg.max': focDiceValue, 'data.secondary.nrg.value': focDiceValue} )
|
|
||||||
let phyDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.phy.value);
|
let phyDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.phy.value);
|
||||||
this.update( {'data.secondary.health.max': phyDiceValue, 'data.secondary.health.value': phyDiceValue} )
|
if ( phyDiceValue!=this.data.data.secondary.health.max) {
|
||||||
|
this.update( {'data.secondary.health.max': phyDiceValue, 'data.secondary.health.value': phyDiceValue} )
|
||||||
|
}
|
||||||
let mndDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.mnd.value);
|
let mndDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.mnd.value);
|
||||||
this.update( {'data.secondary.delirium.max': mndDiceValue, 'data.secondary.delirium.value': mndDiceValue} )
|
if ( mndDiceValue!=this.data.data.secondary.delirium.max) {
|
||||||
|
this.update( {'data.secondary.delirium.max': mndDiceValue, 'data.secondary.delirium.value': mndDiceValue} )
|
||||||
|
}
|
||||||
let stlDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.stl.value);
|
let stlDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.stl.value);
|
||||||
this.update( {'data.secondary.stealthhealth.max': stlDiceValue, 'data.secondary.stealthhealth.value': stlDiceValue} )
|
if ( stlDiceValue != this.data.data.secondary.stealthhealth.max) {
|
||||||
|
this.update( {'data.secondary.stealthhealth.max': stlDiceValue, 'data.secondary.stealthhealth.value': stlDiceValue} )
|
||||||
|
}
|
||||||
let socDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.soc.value);
|
let socDiceValue = PegasusUtility.getDiceValue(this.data.data.statistics.soc.value);
|
||||||
this.update( {'data.secondary.socialhealth.max': socDiceValue, 'data.secondary.socialhealth.value': socDiceValue} )
|
if ( socDiceValue!=this.data.data.secondary.socialhealth.max) {
|
||||||
|
this.update( {'data.secondary.socialhealth.max': socDiceValue, 'data.secondary.socialhealth.value': socDiceValue} )
|
||||||
|
}
|
||||||
|
|
||||||
|
let nrgValue = PegasusUtility.getDiceValue(this.data.data.statistics.foc.value);
|
||||||
|
if ( nrgValue!= this.data.data.nrg.max) {
|
||||||
|
this.update( {'data.nrg.max': nrgValue, 'data.nrg.value': nrgValue} )
|
||||||
|
}
|
||||||
|
|
||||||
|
let mrLevel = (this.data.data.statistics.agi.value + this.data.data.statistics.str.value) - this.data.data.statistics.phy.value
|
||||||
|
mrLevel = (mrLevel < 1) ? 1 : mrLevel;
|
||||||
|
if ( mrLevel!= this.data.data.mr.value) {
|
||||||
|
this.update( {'data.mr.value': mrLevel } );
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
@ -543,6 +637,15 @@ export class PegasusActor extends Actor {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* -------------------------------------------- */
|
||||||
|
applyAbility( ability, updates = []) {
|
||||||
|
if ( ability.data.affectedstat != "notapplicable") {
|
||||||
|
let stat = duplicate(this.data.data.statistics[ability.data.affectedstat])
|
||||||
|
stat.value += parseInt(ability.data.statlevelincrease)
|
||||||
|
stat.mod += parseInt(ability.data.statmodifier)
|
||||||
|
updates[`data.statistics.${ability.data.affectedstat}`] = stat
|
||||||
|
}
|
||||||
|
}
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
async applyRace( race ) {
|
async applyRace( race ) {
|
||||||
let updates = { 'data.racename':race.name }
|
let updates = { 'data.racename':race.name }
|
||||||
@ -551,36 +654,30 @@ export class PegasusActor extends Actor {
|
|||||||
newItems.push(race);
|
newItems.push(race);
|
||||||
|
|
||||||
for (let ability of race.data.abilities) {
|
for (let ability of race.data.abilities) {
|
||||||
console.log("Ability", ability)
|
newItems.push(ability);
|
||||||
if ( ability.data.affectedstat == "notapplicable") {
|
this.applyAbility( ability, updates)
|
||||||
newItems.push(ability);
|
}
|
||||||
} else {
|
if ( race.data.powersgained) {
|
||||||
let stat = duplicate(this.data.data.statistics[ability.data.affectedstat])
|
for (let power of race.data.powersgained) {
|
||||||
stat.value += parseInt(ability.data.statlevelincrease)
|
newItems.push(power);
|
||||||
stat.mod += parseInt(ability.data.statmodifier)
|
|
||||||
updates[`data.statistics.${ability.data.affectedstat}`] = stat
|
|
||||||
}
|
|
||||||
if ( race.data.powersgained) {
|
|
||||||
for (let power of race.data.powersgained) {
|
|
||||||
newItems.push(power);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ( race.data.specialisations) {
|
|
||||||
for (let spec of race.data.specialisations) {
|
|
||||||
newItems.push(spec);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ( race.data.attackgained) {
|
|
||||||
for (let weapon of race.data.attackgained) {
|
|
||||||
newItems.push(weapon);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if ( race.data.armorgained) {
|
|
||||||
for (let armor of race.data.armorgained) {
|
|
||||||
newItems.push(armor);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if ( race.data.specialisations) {
|
||||||
|
for (let spec of race.data.specialisations) {
|
||||||
|
newItems.push(spec);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( race.data.attackgained) {
|
||||||
|
for (let weapon of race.data.attackgained) {
|
||||||
|
newItems.push(weapon);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if ( race.data.armorgained) {
|
||||||
|
for (let armor of race.data.armorgained) {
|
||||||
|
newItems.push(armor);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
await this.update( updates )
|
await this.update( updates )
|
||||||
await this.createEmbeddedDocuments('Item', newItems)
|
await this.createEmbeddedDocuments('Item', newItems)
|
||||||
console.log("Updates", updates, newItems)
|
console.log("Updates", updates, newItems)
|
||||||
|
@ -64,6 +64,9 @@ export class PegasusActorCreate {
|
|||||||
|
|
||||||
if ( step == 'select-race-optionnal') {
|
if ( step == 'select-race-optionnal') {
|
||||||
let ability = this.raceOptionnalAbilities.optionnalabilities.find( item => item._id == itemId);
|
let ability = this.raceOptionnalAbilities.optionnalabilities.find( item => item._id == itemId);
|
||||||
|
let update = []
|
||||||
|
this.actor.applyAbility( ability, update );
|
||||||
|
this.actor.update( update )
|
||||||
this.actor.createEmbeddedDocuments( 'Item', [ability]);
|
this.actor.createEmbeddedDocuments( 'Item', [ability]);
|
||||||
PegasusUtility.removeChatMessageId(PegasusUtility.findChatMessageId(event.currentTarget));
|
PegasusUtility.removeChatMessageId(PegasusUtility.findChatMessageId(event.currentTarget));
|
||||||
this.raceOptionnalAbilities.optionnalabilities = this.raceOptionnalAbilities.optionnalabilities.filter( item => item._id != itemId);
|
this.raceOptionnalAbilities.optionnalabilities = this.raceOptionnalAbilities.optionnalabilities.filter( item => item._id != itemId);
|
||||||
|
@ -7,15 +7,12 @@ export class PegasusRollDialog extends Dialog {
|
|||||||
|
|
||||||
let html
|
let html
|
||||||
let options = { classes: ["WotGdialog"], width: 420, height: 320, 'z-index': 99999 };
|
let options = { classes: ["WotGdialog"], width: 420, height: 320, 'z-index': 99999 };
|
||||||
if ( rollData.mode == "stat") {
|
if ( rollData.mode == "stat" || rollData.mode == "MR") {
|
||||||
html = await renderTemplate('systems/fvtt-pegasus-rpg/templates/roll-dialog-stat.html', rollData);
|
html = await renderTemplate('systems/fvtt-pegasus-rpg/templates/roll-dialog-stat.html', rollData);
|
||||||
options.height = 320;
|
options.height = 320;
|
||||||
} else if (rollData.mode == "spec") {
|
} else if (rollData.mode == "spec") {
|
||||||
html = await renderTemplate('systems/fvtt-pegasus-rpg/templates/roll-dialog-spec.html', rollData);
|
html = await renderTemplate('systems/fvtt-pegasus-rpg/templates/roll-dialog-spec.html', rollData);
|
||||||
options.height = 360;
|
options.height = 360;
|
||||||
} else if (rollData.mode == "technique") {
|
|
||||||
html = await renderTemplate('systems/fvtt-pegasus-rpg/templates/roll-dialog-technique.html', rollData);
|
|
||||||
options.height = 380;
|
|
||||||
} else if (rollData.mode == "weapon") {
|
} else if (rollData.mode == "weapon") {
|
||||||
html = await renderTemplate('systems/fvtt-pegasus-rpg/templates/roll-dialog-weapon.html', rollData);
|
html = await renderTemplate('systems/fvtt-pegasus-rpg/templates/roll-dialog-weapon.html', rollData);
|
||||||
options.height = 460;
|
options.height = 460;
|
||||||
@ -64,7 +61,10 @@ export class PegasusRollDialog extends Dialog {
|
|||||||
function onLoad() {
|
function onLoad() {
|
||||||
}
|
}
|
||||||
$(function () { onLoad(); });
|
$(function () { onLoad(); });
|
||||||
|
|
||||||
|
html.find('#specList').change((event) => {
|
||||||
|
this.rollData.selectedSpec = event.currentTarget.value;
|
||||||
|
});
|
||||||
html.find('#bonusDicesLevel').change((event) => {
|
html.find('#bonusDicesLevel').change((event) => {
|
||||||
this.rollData.bonusDicesLevel = Number(event.currentTarget.value);
|
this.rollData.bonusDicesLevel = Number(event.currentTarget.value);
|
||||||
});
|
});
|
||||||
|
@ -4,7 +4,7 @@ import { PegasusActorCreate } from "./pegasus-create-char.js";
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
const __level2Dice = [ "d0", "d4", "d6", "d8", "d10", "d12" ];
|
const __level2Dice = [ "d0", "d4", "d6", "d8", "d10", "d12" ];
|
||||||
const __level2DiceValue = [ 0, 4, 6, 8, 10, 12 ];
|
const __name2DiceValue = { "d0": 0, "d4": 4, "d6": 6, "d8": 8, "d10" : 10, "d12": 12 }
|
||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
export class PegasusUtility {
|
export class PegasusUtility {
|
||||||
@ -49,6 +49,7 @@ export class PegasusUtility {
|
|||||||
static buildDiceLists() {
|
static buildDiceLists() {
|
||||||
let maxLevel = game.settings.get("fvtt-pegasus-rpg", "dice-max-level");
|
let maxLevel = game.settings.get("fvtt-pegasus-rpg", "dice-max-level");
|
||||||
let diceList = [ "0" ];
|
let diceList = [ "0" ];
|
||||||
|
let diceValues = [0];
|
||||||
let diceFoundryList = [ "d0" ];
|
let diceFoundryList = [ "d0" ];
|
||||||
let diceLevel = 1;
|
let diceLevel = 1;
|
||||||
let concat = "";
|
let concat = "";
|
||||||
@ -182,12 +183,11 @@ export class PegasusUtility {
|
|||||||
|
|
||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static getDiceValue( level = 0) {
|
static getDiceValue( level = 0) {
|
||||||
let locLevel = level
|
let diceString = this.diceList[level]
|
||||||
|
let diceTab = diceString.split(" ")
|
||||||
let diceValue = 0
|
let diceValue = 0
|
||||||
while (locLevel > 0) {
|
for (let dice of diceTab) {
|
||||||
let idx = locLevel % __level2Dice.length
|
diceValue += __name2DiceValue[dice]
|
||||||
diceValue += __level2DiceValue[idx]
|
|
||||||
locLevel -= idx
|
|
||||||
}
|
}
|
||||||
return diceValue
|
return diceValue
|
||||||
}
|
}
|
||||||
@ -358,11 +358,17 @@ export class PegasusUtility {
|
|||||||
/* -------------------------------------------- */
|
/* -------------------------------------------- */
|
||||||
static async rollPegasus( rollData ) {
|
static async rollPegasus( rollData ) {
|
||||||
|
|
||||||
|
let actor = game.actors.get(rollData.actorId);
|
||||||
|
|
||||||
let dicePool = [ {name:"stat", level: 0, statmod: 0}, {name: "spec", level: 0}, {name:"bonus", level: 0}, {name:"hindrance", level: 0}, {name:"other", level:0} ];
|
let dicePool = [ {name:"stat", level: 0, statmod: 0}, {name: "spec", level: 0}, {name:"bonus", level: 0}, {name:"hindrance", level: 0}, {name:"other", level:0} ];
|
||||||
if (rollData.stat) {
|
if (rollData.stat) {
|
||||||
dicePool[0].level += Number(rollData.stat.value);
|
dicePool[0].level += Number(rollData.stat.value);
|
||||||
dicePool[0].statmod = Number(rollData.stat.mod);
|
dicePool[0].statmod = Number(rollData.stat.mod);
|
||||||
}
|
}
|
||||||
|
if (rollData.selectedSpec && rollData.selectedSpec != "0") {
|
||||||
|
rollData.spec = rollData.specList.find( item => item._id == rollData.selectedSpec);
|
||||||
|
rollData.spec.data.dice = PegasusUtility.getDiceFromLevel(rollData.spec.data.level);
|
||||||
|
}
|
||||||
if (rollData.spec) {
|
if (rollData.spec) {
|
||||||
dicePool[1].level += Number(rollData.spec.data.level);
|
dicePool[1].level += Number(rollData.spec.data.level);
|
||||||
}
|
}
|
||||||
@ -395,9 +401,14 @@ export class PegasusUtility {
|
|||||||
// Final score and keep data
|
// Final score and keep data
|
||||||
rollData.finalScore = myRoll.total + dicePool[0].statmod;
|
rollData.finalScore = myRoll.total + dicePool[0].statmod;
|
||||||
console.log("ROLLLL!!!!", rollData);
|
console.log("ROLLLL!!!!", rollData);
|
||||||
|
|
||||||
let actor = game.actors.get(rollData.actorId);
|
if (rollData.damages) {
|
||||||
|
let dmgFormula = this.getFoundryDiceFromLevel( rollData.damages.value )
|
||||||
|
let dmgRoll = new Roll(dmgFormula).roll( { async: false} );
|
||||||
|
await this.showDiceSoNice(dmgRoll, game.settings.get("core", "rollMode") );
|
||||||
|
rollData.dmgResult = dmgRoll.total;
|
||||||
|
}
|
||||||
|
|
||||||
this.createChatWithRollMode( rollData.alias, {
|
this.createChatWithRollMode( rollData.alias, {
|
||||||
content: await renderTemplate(`systems/fvtt-pegasus-rpg/templates/chat-generic-result.html`, rollData)
|
content: await renderTemplate(`systems/fvtt-pegasus-rpg/templates/chat-generic-result.html`, rollData)
|
||||||
});
|
});
|
||||||
|
File diff suppressed because one or more lines are too long
@ -1,3 +1,4 @@
|
|||||||
|
{"_id":"0DEuUiseNrqMtkpH","name":"Cybernetic Senses","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"per","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","affectedcircumstances":"","affectedspecialisations":"","nrgcost":1,"opponenthindrance":0,"attackgained":[],"armorgained":[],"description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"0bW374Onk2LEUKNO","name":"Metal Body","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":2,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"0bW374Onk2LEUKNO","name":"Metal Body","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":2,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"1y6qo5dvemTXe6JF","name":"Perception [PER] +2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"per","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"1y6qo5dvemTXe6JF","name":"Perception [PER] +2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"per","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"2XbpJr3oIIdXBQDX","name":"Red Eyes","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"2XbpJr3oIIdXBQDX","name":"Red Eyes","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
@ -11,18 +12,19 @@
|
|||||||
{"_id":"ITQR244uUDd0oYSu","name":"Social [SOC] -1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"soc","statmodifier":-1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"ITQR244uUDd0oYSu","name":"Social [SOC] -1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"soc","statmodifier":-1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"KOuUDW0BXlVaHo4W","name":"Night Vision","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"KOuUDW0BXlVaHo4W","name":"Night Vision","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"L0jGHI3Yx8Gp00G8","name":"Horns or Spikes","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"L0jGHI3Yx8Gp00G8","name":"Horns or Spikes","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"LxSNaTYCxAmqYrUh","name":"Cybernetic Legs","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"LxSNaTYCxAmqYrUh","name":"Cybernetic Legs","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"mr","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","affectedcircumstances":"","affectedspecialisations":"","nrgcost":1,"opponenthindrance":0,"attackgained":[],"armorgained":[],"description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"M7bQBret2fhsndTy","name":"Mind [MND] +3 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"mnd","statmodifier":3,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"M7bQBret2fhsndTy","name":"Mind [MND] +3 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"mnd","statmodifier":3,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"MkzLF58m1BK245XX","name":"Defence [DEF] +3 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"def","statmodifier":3,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"MkzLF58m1BK245XX","name":"Defence [DEF] +3 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"def","statmodifier":3,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"Nb6QQVzrIBNB1hS8","name":"Focus [FOC] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"foc","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"Nb6QQVzrIBNB1hS8","name":"Focus [FOC] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"foc","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"O0ygTfkjdjWylVnx","name":"Agility [AGI] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"agi","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"O0ygTfkjdjWylVnx","name":"Agility [AGI] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"agi","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"PE4SHrg7x0vKnR7y","name":"Strength [STR] +2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"str","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"PE4SHrg7x0vKnR7y","name":"Strength [STR] +2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"str","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"Pn3KDs17brH2JLun","name":"Metal Carapace","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"Pn3KDs17brH2JLun","name":"Metal Carapace","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","affectedcircumstances":"","affectedspecialisations":"","nrgcost":3,"opponenthindrance":0,"attackgained":[],"armorgained":[],"description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"SxnZHJddjsPfVa7c","name":"Dark Vision","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.vZlHA2YhsYm1tPTB"}}}
|
{"_id":"SxnZHJddjsPfVa7c","name":"Dark Vision","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.vZlHA2YhsYm1tPTB"}}}
|
||||||
{"_id":"TYhCzvymJ3W1B0FC","name":"Wings","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"TYhCzvymJ3W1B0FC","name":"Wings","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"TYkM7q3FtJbDRvlg","name":"Combat [COM] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"com","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"TYkM7q3FtJbDRvlg","name":"Combat [COM] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"com","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"name":"Small","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3,"hmgQYmqJMH3vUOoa":3},"flags":{"core":{"sourceId":"Compendium.fvtt-pegasus-rpg.racial-abilities.yahCc1WvFBPZ30QL"}},"_id":"UzUDFwHehTGAMws5"}
|
{"name":"Small","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3,"hmgQYmqJMH3vUOoa":3},"flags":{"core":{"sourceId":"Compendium.fvtt-pegasus-rpg.racial-abilities.yahCc1WvFBPZ30QL"}},"_id":"UzUDFwHehTGAMws5"}
|
||||||
{"_id":"V9VZTm0jztOQxZS1","name":"Social [SOC] +3 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"soc","statmodifier":3,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"V9VZTm0jztOQxZS1","name":"Social [SOC] +3 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"soc","statmodifier":3,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
|
{"_id":"X66FYt2SVavGHcUP","name":"Dexterity Gyro","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"agi","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","affectedcircumstances":"","affectedspecialisations":"","nrgcost":1,"opponenthindrance":0,"attackgained":[],"armorgained":[],"description":""},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"X85EYqbOGOyOyk4a","name":"Perception [PER] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"per","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"X85EYqbOGOyOyk4a","name":"Perception [PER] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"per","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"XMXv4DoIJ4EeUEQJ","name":"Stealth [STL] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"stl","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"XMXv4DoIJ4EeUEQJ","name":"Stealth [STL] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"stl","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"aTXjv00HKrZ0kOz9","name":"Extra Arms","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"aTXjv00HKrZ0kOz9","name":"Extra Arms","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
@ -40,20 +42,22 @@
|
|||||||
{"_id":"fffy2tzOU9B0eB56","name":"Strength [STR] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"str","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"fffy2tzOU9B0eB56","name":"Strength [STR] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"str","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"gKvTfvDjrJs8UOx7","name":"Bite","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"gKvTfvDjrJs8UOx7","name":"Bite","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"h5zbFgislyu171s4","name":"Focus [FOC] +2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"foc","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"h5zbFgislyu171s4","name":"Focus [FOC] +2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"foc","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"hprgdfSobvzQhWp9","name":"Cybernetic Arm","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"str","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"hprgdfSobvzQhWp9","name":"Cybernetic Arm","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"str","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","affectedcircumstances":"","affectedspecialisations":"","nrgcost":2,"opponenthindrance":0,"attackgained":[],"armorgained":[],"description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"hvhH88QJsfwEOWky","name":"Does Not Breathe","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"hvhH88QJsfwEOWky","name":"Does Not Breathe","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"i8Se94jUfLCgbyYN","name":"Move Rate (Initiative) [MR] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"mr","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Compendium.fvtt-pegasus-rpg.racial-abilities.xfW887EGz940gkqm"}}}
|
{"_id":"i8Se94jUfLCgbyYN","name":"Move Rate (Initiative) [MR] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"mr","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Compendium.fvtt-pegasus-rpg.racial-abilities.xfW887EGz940gkqm"}}}
|
||||||
{"_id":"lMYftTO5BNDnsvFN","name":"Physique [PHY] +2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"phy","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"lMYftTO5BNDnsvFN","name":"Physique [PHY] +2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"phy","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"nMRz1YLmjFed97rA","name":"Brain CPU","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"mnd","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"nMRz1YLmjFed97rA","name":"Brain CPU","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"mnd","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","affectedcircumstances":"","affectedspecialisations":"","nrgcost":1,"opponenthindrance":0,"attackgained":[],"armorgained":[],"description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"nVLbaMi41ArLbp3k","name":"Agility [AGI] +3 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"agi","statmodifier":3,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"nVLbaMi41ArLbp3k","name":"Agility [AGI] +3 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"agi","statmodifier":3,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"neoDM1fyRWDFkS30","name":"Social [SOC] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"soc","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"neoDM1fyRWDFkS30","name":"Social [SOC] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"soc","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"oES8AIR6MKXPRCR7","name":"Mechanical","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"oES8AIR6MKXPRCR7","name":"Mechanical","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"pNDVA9jsSI3wdVHj","name":"Physique [PHY] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"phy","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"pNDVA9jsSI3wdVHj","name":"Physique [PHY] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"phy","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"qLHrMCnPyi7KLz6q","name":"Social [SOC] -2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"soc","statmodifier":-2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"qLHrMCnPyi7KLz6q","name":"Social [SOC] -2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"soc","statmodifier":-2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
|
{"_id":"qs7k8YK9XcmpKDUK","name":"Reactive Nerve Wiring","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"mr","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","affectedcircumstances":"","affectedspecialisations":"","nrgcost":1,"opponenthindrance":0,"attackgained":[],"armorgained":[],"description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"rOMhQYdYLH4I2ga8","name":"Combat [COM] +3 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"com","statmodifier":3,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"rOMhQYdYLH4I2ga8","name":"Combat [COM] +3 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"com","statmodifier":3,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
|
{"_id":"rQsToDamxy670mmN","name":"Thermal Ocular Enhancer","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","affectedcircumstances":"","affectedspecialisations":"","nrgcost":1,"opponenthindrance":0,"attackgained":[],"armorgained":[],"description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"sOkzSAGdJTGjpWtd","name":"Fearsome Howl/Growl","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[{"_id":"wqzbo05wuiqmb1dc","name":"Intimidate [PHY]","type":"specialisation","img":"systems/fvtt-pegasus-rpg/images/icons/icon_spec.webp","data":{"statistic":"phy","level":1,"ispowergroup":false,"powersource":"","powers":[],"description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"sOkzSAGdJTGjpWtd","name":"Fearsome Howl/Growl","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[{"_id":"wqzbo05wuiqmb1dc","name":"Intimidate [PHY]","type":"specialisation","img":"systems/fvtt-pegasus-rpg/images/icons/icon_spec.webp","data":{"statistic":"phy","level":1,"ispowergroup":false,"powersource":"","powers":[],"description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"t80esMj8pfXDPZAt","name":"Claws","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":2,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"t80esMj8pfXDPZAt","name":"Claws","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":2,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"uX9B2hwNrFoBbSGJ","name":"Cybernetic Eye","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"per","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"uX9B2hwNrFoBbSGJ","name":"Cybernetic Eye","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"per","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","affectedcircumstances":"","affectedspecialisations":"","nrgcost":1,"opponenthindrance":0,"attackgained":[],"armorgained":[],"description":"<p><span style=\"color: #191813; font-size: 12.8px; letter-spacing: 1px; text-align: justify;\">See Pegasus Engine CORE RPG</span></p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"wEBaInNs74V7nab7","name":"Mind [MND] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"mnd","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"wEBaInNs74V7nab7","name":"Mind [MND] +1 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"mnd","statmodifier":1,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"wsKUMcPNKNfRSYXI","name":"Defence [DEF] +2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"def","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"wsKUMcPNKNfRSYXI","name":"Defence [DEF] +2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"def","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
{"_id":"ycMW7FZelfHvCquA","name":"Stealth [STL] +2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"stl","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
{"_id":"ycMW7FZelfHvCquA","name":"Stealth [STL] +2 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"stl","statmodifier":2,"statlevelincrease":0,"bonusdice":0,"otherdice":0,"statusaffected":"notapplicable","statusmodifier":0,"powersgained":[],"specialisations":[],"aoe":"","description":"<p>Change the Stat Modifier to reflect the Statistic Modifier (+/- 1 etc).</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
|
||||||
|
@ -100,9 +100,9 @@
|
|||||||
"styles": [
|
"styles": [
|
||||||
"styles/simple.css"
|
"styles/simple.css"
|
||||||
],
|
],
|
||||||
"templateVersion": 41,
|
"templateVersion": 46,
|
||||||
"title": "Pegasus RPG",
|
"title": "Pegasus RPG",
|
||||||
"url": "https://www.uberwald.me/data/files/fvtt-pegasus-rpg",
|
"url": "https://www.uberwald.me/data/files/fvtt-pegasus-rpg",
|
||||||
"version": "0.0.41",
|
"version": "0.0.46",
|
||||||
"background" : "./images/ui/pegasus_welcome_page.webp"
|
"background" : "./images/ui/pegasus_welcome_page.webp"
|
||||||
}
|
}
|
@ -104,6 +104,25 @@
|
|||||||
"mod": 0
|
"mod": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"nrg": {
|
||||||
|
"label": "NRG",
|
||||||
|
"type": "value",
|
||||||
|
"value": 0,
|
||||||
|
"max": 0,
|
||||||
|
"activated": 0
|
||||||
|
},
|
||||||
|
"mr": {
|
||||||
|
"label": "MR (Initiative)",
|
||||||
|
"type": "dice",
|
||||||
|
"value": 0,
|
||||||
|
"mod": 0
|
||||||
|
},
|
||||||
|
"momentum": {
|
||||||
|
"label": "Momentum",
|
||||||
|
"type": "value",
|
||||||
|
"value": 0,
|
||||||
|
"max": 0
|
||||||
|
},
|
||||||
"secondary": {
|
"secondary": {
|
||||||
"health": {
|
"health": {
|
||||||
"label": "Health",
|
"label": "Health",
|
||||||
@ -119,22 +138,6 @@
|
|||||||
"ismax": true,
|
"ismax": true,
|
||||||
"max": 0
|
"max": 0
|
||||||
},
|
},
|
||||||
"nrg": {
|
|
||||||
"label": "NRG",
|
|
||||||
"value": 0,
|
|
||||||
"type": "value",
|
|
||||||
"max": 0,
|
|
||||||
"ismax": true,
|
|
||||||
"isactivated": true,
|
|
||||||
"activated": 0
|
|
||||||
},
|
|
||||||
"mr": {
|
|
||||||
"label": "MR",
|
|
||||||
"type": "dice",
|
|
||||||
"value": 0,
|
|
||||||
"ismodifier": true,
|
|
||||||
"modifier": 0
|
|
||||||
},
|
|
||||||
"stealthhealth": {
|
"stealthhealth": {
|
||||||
"label": "Stealth Health",
|
"label": "Stealth Health",
|
||||||
"type": "value",
|
"type": "value",
|
||||||
@ -148,20 +151,14 @@
|
|||||||
"value": 0,
|
"value": 0,
|
||||||
"ismax": true,
|
"ismax": true,
|
||||||
"max": 0
|
"max": 0
|
||||||
},
|
|
||||||
"momentum": {
|
|
||||||
"label": "Momentum",
|
|
||||||
"type": "value",
|
|
||||||
"value": 0,
|
|
||||||
"ismax": true,
|
|
||||||
"max": 0
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"combat": {
|
"combat": {
|
||||||
"bonusdice": 0,
|
"bonusdice": 0,
|
||||||
"otherdice": 0,
|
"otherdice": 0,
|
||||||
"hindrancedice": 0,
|
"hindrancedice": 0,
|
||||||
"stunlevel": 0
|
"stunlevel": 0,
|
||||||
|
"stunthreshold": 0
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"npccore": {
|
"npccore": {
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
{{#each data.statistics as |stat key|}}
|
{{#each data.statistics as |stat key|}}
|
||||||
<li class="item flexrow list-item" data-attr-key="{{key}}">
|
<li class="item flexrow list-item" data-attr-key="{{key}}">
|
||||||
<span class="stat-label flexrow" name="{{key}}">
|
<span class="stat-label flexrow" name="{{key}}">
|
||||||
<h4><a class="roll-stat" data-stat-key="{{key}}"">{{stat.label}} [{{stat.abbrev}}]</a></h4></span>
|
<h4><a class="roll-stat" data-stat-key="{{key}}">{{stat.label}} [{{stat.abbrev}}]</a></h4></span>
|
||||||
<select class=" carac-base flexrow" type="text" name="data.statistics.{{key}}.value"
|
<select class=" carac-base flexrow" type="text" name="data.statistics.{{key}}.value"
|
||||||
value="{{stat.value}}" data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}>
|
value="{{stat.value}}" data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}>
|
||||||
{{#select stat.value}}
|
{{#select stat.value}}
|
||||||
@ -53,39 +53,52 @@
|
|||||||
|
|
||||||
<div class="">
|
<div class="">
|
||||||
<ul>
|
<ul>
|
||||||
|
<li class="item flexrow list-item"><span></span><span>Current</span><span>Max</span></li>
|
||||||
|
<li class="item flexrow list-item"></li>
|
||||||
|
<li class="item flexrow list-item"></li>
|
||||||
{{#each data.secondary as |stat2 key|}}
|
{{#each data.secondary as |stat2 key|}}
|
||||||
<li class="item flexrow list-item" data-attr-key="{{key}}">
|
<li class="item flexrow list-item" data-attr-key="{{key}}">
|
||||||
<span class="stat-label flexrow" name="{{key}}">
|
<span class="stat-label flexrow" name="{{key}}">
|
||||||
<h4>{{stat2.label}}</h4>
|
<h4>{{stat2.label}}</h4>
|
||||||
</span>
|
</span>
|
||||||
<select class="carac-base flexrow" type="text" name="data.secondary.{{key}}.value" value="{{stat2.value}}"
|
<input type="text" class="padd-right" name="data.secondary.{{key}}.value" value="{{stat2.value}}" data-dtype="Number"/>
|
||||||
data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}>
|
<input type="text" class="padd-right" name="data.secondary.{{key}}.max" value="{{stat2.max}}" data-dtype="Number"/>
|
||||||
{{#select stat2.value}}
|
|
||||||
{{#if (eq stat2.type "value")}}
|
|
||||||
{{{@root.optionsLevel}}}
|
|
||||||
{{else}}
|
|
||||||
{{{@root.optionsDiceList}}}
|
|
||||||
{{/if}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
{{#if stat2.ismax}}
|
|
||||||
<select class="carac-base flexrow" type="text" name="data.secondary.{{key}}.max" value="{{stat2.max}}"
|
|
||||||
data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}>
|
|
||||||
{{#select stat2.max}}
|
|
||||||
{{#if (eq stat2.type "value")}}
|
|
||||||
{{{@root.optionsLevel}}}
|
|
||||||
{{else}}
|
|
||||||
{{{@root.optionsDiceList}}}
|
|
||||||
{{/if}}
|
|
||||||
{{/select}}
|
|
||||||
</select>
|
|
||||||
{{/if}}
|
|
||||||
{{#if stat2.ismodifier}}
|
|
||||||
<input type="text" class="" name="data.secondary.{{key}}.modifier" value="{{stat2.modifier}}" data-dtype="Number" />
|
|
||||||
{{/if}}
|
|
||||||
</li>
|
</li>
|
||||||
{{/each}}
|
{{/each}}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li class="item flexrow list-item" data-key="nrg">
|
||||||
|
<span class="stat-label flexrow" name="nrg"> <h4>{{data.nrg.label}}</h4> </span>
|
||||||
|
<input type="text" class="padd-right" name="data.nrg.activated" value="{{data.nrg.activated}}" data-dtype="Number"/>
|
||||||
|
<input type="text" class="padd-right" name="data.nrg.value" value="{{data.nrg.value}}" data-dtype="Number"/>
|
||||||
|
<input type="text" class="padd-right" name="data.nrg.max" value="{{data.nrg.max}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li class="item flexrow list-item" data-key="momentum">
|
||||||
|
<span class="stat-label flexrow" name="momentum"> <h4>{{data.momentum.label}}</h4> </span>
|
||||||
|
<input type="text" class="padd-right" name="data.momentum.value" value="{{data.momentum.value}}" data-dtype="Number"/>
|
||||||
|
<input type="text" class="padd-right" name="data.momentum.max" value="{{data.momentum.max}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<ul>
|
||||||
|
<li class="item flexrow list-item" data-key="mr">
|
||||||
|
<span class="stat-label flexrow" name="mr">
|
||||||
|
<a class="roll-mr" data-stat-key="{{mr}}"><h4>{{data.mr.label}}</h4></a>
|
||||||
|
</span>
|
||||||
|
<select class="carac-base flexrow" type="text" name="data.mr.value" value="{{data.mr.value}}"
|
||||||
|
data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}>
|
||||||
|
{{#select data.mr.value}}
|
||||||
|
{{{@root.optionsDiceList}}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
<input type="text" class="padd-right" name="data.mr.mod" value="{{data.mr.mod}}" data-dtype="Number"/>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@ -165,6 +178,47 @@
|
|||||||
<div class="tab fight" data-group="primary" data-tab="combat">
|
<div class="tab fight" data-group="primary" data-tab="combat">
|
||||||
<div class="flexcol">
|
<div class="flexcol">
|
||||||
|
|
||||||
|
<span class="generic-label">
|
||||||
|
<h3>Basic Actions</h3>
|
||||||
|
</span>
|
||||||
|
<ul class="stat-list alternate-list">
|
||||||
|
<li class="item stat flexrow list-item">
|
||||||
|
<span class="generic-label"><a class="attack-melee">Melee Attack</a></span>
|
||||||
|
</li>
|
||||||
|
<li class="item stat flexrow list-item">
|
||||||
|
<span class="generic-label"><a class="attack-ranged">Ranged Attack</a></span>
|
||||||
|
</li>
|
||||||
|
<li class="item stat flexrow list-item">
|
||||||
|
<span class="generic-label"><a class="defense-roll">Defense</a></span>
|
||||||
|
</li>
|
||||||
|
<li class="item stat flexrow list-item">
|
||||||
|
<span class="generic-label"><a class="damage-melee">Melee/Thrown Damage</a></span>
|
||||||
|
</li>
|
||||||
|
<li class="item stat flexrow list-item">
|
||||||
|
<span class="generic-label"><a class="damage-ranged">Ranged Damage</a></span>
|
||||||
|
</li>
|
||||||
|
<li class="item stat flexrow list-item">
|
||||||
|
<span class="generic-label"><a class="damage-resistance">Damage Resistance</a></span>
|
||||||
|
</li>
|
||||||
|
<li class="item stat flexrow list-item">
|
||||||
|
<span class="generic-label"><a class="unarmed-attack">Unarmed Attack</a></span>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<span class="generic-label">
|
||||||
|
<h3>Stun</h3>
|
||||||
|
</span>
|
||||||
|
<ul class="stat-list alternate-list">
|
||||||
|
<li class="item stat flexrow list-item">
|
||||||
|
<span class="generic-label">Stun Level</span>
|
||||||
|
<input type="text" class="" name="data.combat.stunlevel" value="{{data.combat.stunlevel}}" data-dtype="Number" />
|
||||||
|
</li>
|
||||||
|
<li class="item stat flexrow list-item">
|
||||||
|
<span class="generic-label">Stun Threshold</span>
|
||||||
|
<input type="text" class="" name="data.combat.stunthreshold" value="{{data.combat.stunthreshold}}" data-dtype="Number" />
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
<span class="generic-label">
|
<span class="generic-label">
|
||||||
<h3>Weapons</h3>
|
<h3>Weapons</h3>
|
||||||
</span>
|
</span>
|
||||||
@ -333,7 +387,7 @@
|
|||||||
<h3>Psychology : </h3>
|
<h3>Psychology : </h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li class="flexrow">
|
<li class="flexrow">
|
||||||
<label class="short-label">Worstfear </label>
|
<label class="short-label">Worst Fear </label>
|
||||||
<input type="text" class="" name="data.biodata.worstfear" value="{{datadata.biodata.worstfear}}"
|
<input type="text" class="" name="data.biodata.worstfear" value="{{datadata.biodata.worstfear}}"
|
||||||
data-dtype="Number" />
|
data-dtype="Number" />
|
||||||
</li>
|
</li>
|
||||||
@ -370,25 +424,25 @@
|
|||||||
<input type="text" class="" name="data.biodata.charactervalue" value="{{data.biodata.charactervalue}}"
|
<input type="text" class="" name="data.biodata.charactervalue" value="{{data.biodata.charactervalue}}"
|
||||||
data-dtype="String" />
|
data-dtype="String" />
|
||||||
</li>
|
</li>
|
||||||
<li class="flexrow">
|
|
||||||
<label class="short-label">Level : </label>
|
|
||||||
<input type="text" class="" name="data.biodata.level" value="{{data.biodata.level}}"
|
|
||||||
data-dtype="Number" />
|
|
||||||
</li>
|
|
||||||
<li class="flexrow">
|
<li class="flexrow">
|
||||||
<label class="short-label">Character Development Points Total (CDP total) : </label>
|
<label class="short-label">Character Development Points Total (CDP total) : </label>
|
||||||
<input type="text" class="" name="data.biodata.cdp" value="{{data.biodata.cdp}}"
|
<input type="text" class="" name="data.biodata.cdp" value="{{data.biodata.cdp}}"
|
||||||
data-dtype="Number" />
|
data-dtype="Number" />
|
||||||
</li>
|
</li>
|
||||||
<li class="flexrow">
|
<li class="flexrow">
|
||||||
<label class="short-label">Character Development Points Used (CDP used) : </label>
|
<label class="short-label">Hero Level : </label>
|
||||||
|
<input type="text" class="" name="data.biodata.level" value="{{data.biodata.level}}"
|
||||||
|
data-dtype="Number" />
|
||||||
|
</li>
|
||||||
|
<li class="flexrow">
|
||||||
|
<label class="short-label">Hero Levels Remaining : </label>
|
||||||
<input type="text" class="" name="data.biodata.cdpused" value="{{data.biodata.cdpused}}"
|
<input type="text" class="" name="data.biodata.cdpused" value="{{data.biodata.cdpused}}"
|
||||||
data-dtype="Number" />
|
data-dtype="Number" />
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
<h3>History : </h3>
|
<h3>Background : </h3>
|
||||||
<div class="form-group editor">
|
<div class="form-group editor">
|
||||||
{{editor content=data.biodata.description target="data.biodata.description" button=true owner=owner
|
{{editor content=data.biodata.description target="data.biodata.description" button=true owner=owner
|
||||||
editable=editable}}
|
editable=editable}}
|
||||||
|
@ -89,7 +89,7 @@
|
|||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
{{#if (eq step "select-role-start-spec")}}
|
{{#if (eq step "select-role-start-spec")}}
|
||||||
<div>Choose 1 Stat at +1DT :
|
<div>Choose 1 Specialisation at +1DT :
|
||||||
</div>
|
</div>
|
||||||
<table class="table-create-actor">
|
<table class="table-create-actor">
|
||||||
{{#each rolestartspec as |spec index|}}
|
{{#each rolestartspec as |spec index|}}
|
||||||
|
@ -4,22 +4,8 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<hr>
|
<hr>
|
||||||
|
|
||||||
<div >
|
<div >
|
||||||
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
||||||
<h4>
|
|
||||||
{{#if (eq mode "stat")}}
|
|
||||||
Statistic : {{stat.label}}
|
|
||||||
{{else}}
|
|
||||||
{{#if (eq mode "spec")}}
|
|
||||||
Technique : {{spec.name}}
|
|
||||||
{{else}}
|
|
||||||
{{#if (eq mode "weapon")}}
|
|
||||||
Weapon attack : {{weapon.name}}
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
{{/if}}
|
|
||||||
</h4>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flexcol">
|
<div class="flexcol">
|
||||||
@ -27,8 +13,11 @@
|
|||||||
|
|
||||||
<div>
|
<div>
|
||||||
<ul>
|
<ul>
|
||||||
{{#if (eq mode "weapon")}}
|
{{#if stat}}
|
||||||
<li>Effect description : {{weapon.data.effectdescription}}</li>
|
<li>Statistic : {{stat.label}}</li>
|
||||||
|
{{/if}}
|
||||||
|
{{#if spec}}
|
||||||
|
<li>Specialisation : {{spec.name}}</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
<li><strong>Final Result : {{finalScore}}</strong>
|
<li><strong>Final Result : {{finalScore}}</strong>
|
||||||
|
|
||||||
@ -36,6 +25,10 @@
|
|||||||
<li><button class="chat-card-button apply-defense-roll" data-roll-score="{{finalScore}}" data-roll-id="{{@root.rollId}}" data-actor-id="{{actorId}}" data-defender-id="{{defenseAttackerId}}">Use this Roll as defense</button></li>
|
<li><button class="chat-card-button apply-defense-roll" data-roll-score="{{finalScore}}" data-roll-id="{{@root.rollId}}" data-actor-id="{{actorId}}" data-defender-id="{{defenseAttackerId}}">Use this Roll as defense</button></li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
|
{{#if dmgResult}}
|
||||||
|
<li>Damages : {{dmgResult}}</li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -1,3 +1,17 @@
|
|||||||
|
{{#if specList}}
|
||||||
|
<div class="flexrow">
|
||||||
|
<span class="roll-dialog-label" >Specialisation : </span>
|
||||||
|
<select class="competence-base" id="specList" type="text" name="selectedSpec" value="{{selectedSpec}}" data-dtype="String">
|
||||||
|
{{#select selectedSpecIndex}}
|
||||||
|
<option value="0">None</option>
|
||||||
|
{{#each specList as |spec idx|}}
|
||||||
|
<option value="{{spec._id}}">{{spec.name}}</option>
|
||||||
|
{{/each}}
|
||||||
|
{{/select}}
|
||||||
|
</select>
|
||||||
|
</div>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
<div class="flexrow">
|
<div class="flexrow">
|
||||||
<span class="roll-dialog-label" >Bonus Dice : </span>
|
<span class="roll-dialog-label" >Bonus Dice : </span>
|
||||||
<select class="competence-base" id="bonusDicesLevel" type="text" name="bonusDicesLevel" value="{{bonusDicesLevel}}" data-dtype="Number">
|
<select class="competence-base" id="bonusDicesLevel" type="text" name="bonusDicesLevel" value="{{bonusDicesLevel}}" data-dtype="Number">
|
||||||
|
Loading…
Reference in New Issue
Block a user