Char creation

This commit is contained in:
sladecraven 2022-01-08 18:28:01 +01:00
parent 91ab828681
commit c74fb5969a
15 changed files with 470 additions and 267 deletions

View File

@ -52,6 +52,8 @@ export class PegasusActorSheet extends ActorSheet {
activePerks: duplicate(this.actor.getActivePerks()),
powers: duplicate(this.actor.getPowers()),
subActors: duplicate(this.actor.getSubActors()),
race: duplicate(this.actor.getRace()),
role: duplicate(this.actor.getRole()),
options: this.options,
owner: this.document.isOwner,
editScore: this.options.editScore,

View File

@ -114,6 +114,14 @@ export class PegasusActor extends Actor {
let comp = this.data.items.filter( item => item.type == 'shield');
return comp;
}
getRace() {
let race = this.data.items.filter( item => item.type == 'race');
return race[0]?? [];
}
getRole() {
let role = this.data.items.filter( item => item.type == 'role');
return role[0]?? [];
}
/* -------------------------------------------- */
checkAndPrepareWeapon(item) {
@ -548,6 +556,18 @@ export class PegasusActor extends Actor {
stat.mod += parseInt(ability.data.statmodifier)
updates[`data.statistics.${ability.data.affectedstat}`] = stat
}
for (let power of race.data.powersgained) {
newItems.push(power);
}
for (let spec of race.data.specialisations) {
newItems.push(spec);
}
for (let weapon of race.data.attackgained) {
newItems.push(weapon);
}
for (let armor of race.data.armorgained) {
newItems.push(armor);
}
}
await this.update( updates )
await this.createEmbeddedDocuments('Item', newItems)

View File

@ -43,9 +43,10 @@ export class PegasusActorCreate {
processChatEvent( event ) {
const step = $(event.currentTarget).data("step-name");
const itemId = $(event.currentTarget).data("item-id");
console.log("Create chat evet", event, itemId, step)
if ( step == "select-race") {
let race = this.races.find( item => item._id == itemId);
this.currentRace = race;
this.actor.applyRace( race);
PegasusUtility.removeChatMessageId(PegasusUtility.findChatMessageId(event.currentTarget));
if ( race.data.nboptionnal > 0 && race.data.optionnalabilities.length > 0) {
@ -53,6 +54,8 @@ export class PegasusActorCreate {
} else {
if ( race.data.selectablestats ) {
this.manageSelectableStats(race);
} else if ( race.data.perksgained) {
this.showRacePerks(race);
} else {
this.showRoles()
}
@ -77,6 +80,24 @@ export class PegasusActorCreate {
this.processSelectableStats();
}
if (step == 'select-race-perks-all') {
PegasusUtility.removeChatMessageId(PegasusUtility.findChatMessageId(event.currentTarget));
let perk = this.racePerks.find( item => item._id == itemId);
this.actor.createEmbeddedDocuments( 'Item', [perk]);
this.racePerks = this.racePerks.filter( item => item._id != itemId);
this.nbperks -= 1;
if ( this.nbperks == 0 || this.racePerks.length == 0) {
this.showRoles()
}else {
this.showRacePerks();
}
}
if (step == 'select-race-perks') {
PegasusUtility.removeChatMessageId(PegasusUtility.findChatMessageId(event.currentTarget));
this.showRoles()
}
if ( step == 'select-role') {
let role = this.roles.find( item => item._id == itemId);
PegasusUtility.removeChatMessageId(PegasusUtility.findChatMessageId(event.currentTarget));
@ -153,7 +174,37 @@ export class PegasusActorCreate {
this.processSelectableStats()
}
/* --------------- ----------------------------- */
/* -------------------------------------------- */
async renderChatMessage( formData) {
let chatData = {
user: game.user.id,
alias : this.actor.name,
rollMode: game.settings.get("core", "rollMode"),
whisper: [game.user.id].concat( ChatMessage.getWhisperRecipients('GM') ),
content: await renderTemplate('systems/fvtt-pegasus-rpg/templates/chat-create-actor.html', formData)
};
//console.log("Apply damage chat", chatData );
await ChatMessage.create( chatData );
}
/* --------------- -------------------- --------- */
manageRacePerks(race) {
if ( !this.racePerks) { // First init
this.racePerks = duplicate(race.data.perks)
this.nbRacePerks = race.data.perksnumber;
}
let formData
if (race.data.perksall) {
formData = this.createFormData("select-race-perks-all")
} else {
formData = this.createFormData("select-race-perks")
formData.raceperks = this.racePerks;
formData.nbraceperks = this.nbRacePerks;
}
this.renderChatMessage(formData)
}
/* --------------- -------------------- --------- */
async processSelectableStats() {
// End of race options choice
if ( this.raceSelectableStats.numberstats == 0) {
@ -186,49 +237,28 @@ export class PegasusActorCreate {
// End of race options choice
if ( this.raceOptionnalAbilities.nboptionnal == 0) {
if ( this.raceSelectableStats ) {
this.manageSelectableStats(this.raceSelectableStats.race);
this.manageSelectableStats(this.currentrace);
} else if ( this.currentRace.data.perksgained) {
this.manageRacePerks(this.currentRace);
} else {
this.showRoles()
}
} else {
let formData = this.createFormData("select-race-optionnal")
this.renderChatMessage( formData)
}
let formData = this.createFormData("select-race-optionnal")
let chatData = {
user: game.user.id,
alias : this.actor.name,
rollMode: game.settings.get("core", "rollMode"),
whisper: [game.user.id].concat( ChatMessage.getWhisperRecipients('GM') ),
content: await renderTemplate('systems/fvtt-pegasus-rpg/templates/chat-create-actor.html', formData)
};
//console.log("Apply damage chat", chatData );
await ChatMessage.create( chatData );
}
/* -------------------------------------------- */
async showRaces() {
let formData = this.createFormData("select-race")
let chatData = {
user: game.user.id,
alias : this.actor.name,
rollMode: game.settings.get("core", "rollMode"),
whisper: [game.user.id].concat( ChatMessage.getWhisperRecipients('GM') ),
content: await renderTemplate('systems/fvtt-pegasus-rpg/templates/chat-create-actor.html', formData)
};
//console.log("Apply damage chat", chatData );
await ChatMessage.create( chatData );
this.renderChatMessage( formData)
}
/* -------------------------------------------- */
async showRoles() {
let formData = this.createFormData("select-role")
let chatData = {
user: game.user.id,
alias : this.actor.name,
rollMode: game.settings.get("core", "rollMode"),
whisper: [game.user.id].concat( ChatMessage.getWhisperRecipients('GM') ),
content: await renderTemplate('systems/fvtt-pegasus-rpg/templates/chat-create-actor.html', formData)
};
await ChatMessage.create( chatData );
this.renderChatMessage( formData)
}
/* -------------------------------------------- */
@ -241,14 +271,7 @@ export class PegasusActorCreate {
}
}
console.log("STAT", this.roleStats, formData)
let chatData = {
user: game.user.id,
alias : this.actor.name,
rollMode: game.settings.get("core", "rollMode"),
whisper: [game.user.id].concat( ChatMessage.getWhisperRecipients('GM') ),
content: await renderTemplate('systems/fvtt-pegasus-rpg/templates/chat-create-actor.html', formData)
};
await ChatMessage.create( chatData );
this.renderChatMessage( formData)
}
/* -------------------------------------------- */
@ -259,14 +282,7 @@ export class PegasusActorCreate {
if (this.nbDT2 > 0 ) {
formData.dt = 2
}
let chatData = {
user: game.user.id,
alias : this.actor.name,
rollMode: game.settings.get("core", "rollMode"),
whisper: [game.user.id].concat( ChatMessage.getWhisperRecipients('GM') ),
content: await renderTemplate('systems/fvtt-pegasus-rpg/templates/chat-create-actor.html', formData)
};
await ChatMessage.create( chatData );
this.renderChatMessage( formData)
}
/* -------------------------------------------- */
@ -274,28 +290,14 @@ export class PegasusActorCreate {
let formData = this.createFormData("select-role-perk")
formData.roleperks = duplicate(this.rolePerks)
formData.nbperks = this.nbPerks
let chatData = {
user: game.user.id,
alias : this.actor.name,
rollMode: game.settings.get("core", "rollMode"),
whisper: [game.user.id].concat( ChatMessage.getWhisperRecipients('GM') ),
content: await renderTemplate('systems/fvtt-pegasus-rpg/templates/chat-create-actor.html', formData)
};
await ChatMessage.create( chatData );
this.renderChatMessage( formData)
}
/* -------------------------------------------- */
async showCharacterEnd() {
this.actor.computeNRGHealth()
let formData = this.createFormData("character-end")
let chatData = {
user: game.user.id,
alias : this.actor.name,
rollMode: game.settings.get("core", "rollMode"),
whisper: [game.user.id].concat( ChatMessage.getWhisperRecipients('GM') ),
content: await renderTemplate('systems/fvtt-pegasus-rpg/templates/chat-create-actor.html', formData)
};
await ChatMessage.create( chatData );
this.renderChatMessage( formData)
}
}

View File

@ -223,6 +223,17 @@ export class PegasusItemSheet extends ItemSheet {
}
}
/* -------------------------------------------- */
async addRacePerk(event, item, dataItem) {
let newItem = duplicate(item.data);
newItem._id = randomID( dataItem.id.length );
if ( event.toElement.className == 'drop-race-perk') {
let perkArray = duplicate(this.object.data.data.perks);
perkArray.push( newItem);
await this.object.update( { 'data.perks': perkArray} );
}
}
/* -------------------------------------------- */
async addSpecialisation(item, dataItem) {
let newItem = duplicate(item.data);
@ -286,6 +297,7 @@ export class PegasusItemSheet extends ItemSheet {
await this.object.update( { 'data.powersgained': powArray} );
}
}
/* -------------------------------------------- */
async addAbilitySpec( event, item, dataItem) {
let newItem = duplicate(item.data);
@ -296,6 +308,22 @@ export class PegasusItemSheet extends ItemSheet {
await this.object.update( { 'data.specialisations': powArray} );
}
}
/* -------------------------------------------- */
async addAbilityWeaponArmor( event, item, dataItem) {
let newItem = duplicate(item.data);
newItem._id = randomID( dataItem.id.length );
if ( event.toElement.className == 'drop-ability-weapon') {
let weaponArray = duplicate(this.object.data.data.attackgained);
weaponArray.push( newItem );
await this.object.update( { 'data.attackgained': weaponArray} );
}
if ( event.toElement.className == 'drop-ability-armor') {
let armorArray = duplicate(this.object.data.data.armorgained);
armorArray.push( newItem );
await this.object.update( { 'data.armorgained': armorArray} );
}
}
/* -------------------------------------------- */
async addPerkSpecialisation( event, item, dataItem) {
@ -322,6 +350,9 @@ export class PegasusItemSheet extends ItemSheet {
if ( item.data.type == 'ability') {
return this.addAbility( event, item, dataItem);
}
if ( item.data.type == 'perk') {
return this.addRacePerk( event, item, dataItem);
}
}
}
@ -357,6 +388,9 @@ export class PegasusItemSheet extends ItemSheet {
if ( item.data.type == 'specialisation') {
return this.addAbilitySpec( event, item, dataItem);
}
if ( item.data.type == 'weapon' || item.data.type == 'armor') {
return this.addAbilityWeaponArmor( event, item, dataItem);
}
}
}

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
{"_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":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":"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":"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":"3cq8bAvKZVewpPi0","name":"Strength [STR] +3 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"str","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":{}}
@ -7,7 +7,7 @@
{"_id":"9pAPPSEEQTaKGIGn","name":"Bite & Tail Combo","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":"CCQqre28bBEcxbvT","name":"Artificial","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>See Pegasus Engine CORE RPG</p>"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Compendium.fvtt-pegasus-rpg.racial-abilities.HJoEmBzCz8vJhMnO"}}}
{"_id":"Eme4Yf7vZjRBiXsK","name":"Tough Skin","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":"IM1vzlBizepTjvYS","name":"Tail","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":"IM1vzlBizepTjvYS","name":"Tail","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"notapplicable","statmodifier":0,"statlevelincrease":1,"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":"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":"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":{}}
@ -40,22 +40,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":"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":"hprgdfSobvzQhWp9","name":"Cybernetic Arm","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":"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":"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":"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":"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":"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":"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":"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":"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":"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":"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":[],"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":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":"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":"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":"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":"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":"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":"yhi3UPzYd0OZcCkD","name":"Stealth [STL] +3 Modifier","type":"ability","img":"systems/fvtt-pegasus-rpg/images/icons/icon_raceability.webp","data":{"affectedstat":"stl","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":"yjB1JKOKHK4uEnfZ","name":"Skin of Scales","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":"yjB1JKOKHK4uEnfZ","name":"Skin of Scales","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":{}}

File diff suppressed because one or more lines are too long

View File

@ -44,7 +44,7 @@
{"_id":"dj3C9tFq5PKJ9t9x","name":"Endurance [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":{}}
{"_id":"e13r56dJ1LYnUHve","name":"Initiative [MR] *requires MR*","type":"specialisation","img":"systems/fvtt-pegasus-rpg/images/icons/icon_spec.webp","data":{"statistic":"agi","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":{}}
{"_id":"enBLBr5wOfUF4Nb0","name":"Driving [AGI]","type":"specialisation","img":"systems/fvtt-pegasus-rpg/images/icons/icon_spec.webp","data":{"statistic":"agi","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":{}}
{"_id":"fnvq4eGEhS2ziGUa","name":"Illusion [MND]","type":"specialisation","img":"systems/fvtt-pegasus-rpg/images/icons/icon_spec.webp","data":{"statistic":"mnd","level":1,"ispowergroup":true,"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":{}}
{"_id":"fnvq4eGEhS2ziGUa","name":"Illusionist [MND]","type":"specialisation","img":"systems/fvtt-pegasus-rpg/images/icons/icon_spec.webp","data":{"statistic":"mnd","level":1,"ispowergroup":true,"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>","MR":0},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{}}
{"_id":"h65ID9PFleXY2iXJ","name":"Track [PER]","type":"specialisation","img":"systems/fvtt-pegasus-rpg/images/icons/icon_spec.webp","data":{"statistic":"per","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":{}}
{"_id":"h8QppkFNsguuRupJ","name":"Taunt [SOC]","type":"specialisation","img":"systems/fvtt-pegasus-rpg/images/icons/icon_spec.webp","data":{"statistic":"soc","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":{}}
{"_id":"id44rFWhRLazyAwl","name":"Arcane Lore [MND]","type":"specialisation","img":"systems/fvtt-pegasus-rpg/images/icons/icon_spec.webp","data":{"statistic":"mnd","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":{}}

View File

@ -1160,6 +1160,9 @@ ul, li {
.ul-level1 {
padding-left: 2rem;
}
.drop-ability-weapon,
.drop-ability-armor,
.drop-race-perk,
.drop-spec-perk,
.drop-ability-power,
.drop-ability-spec,

View File

@ -100,9 +100,9 @@
"styles": [
"styles/simple.css"
],
"templateVersion": 34,
"templateVersion": 36,
"title": "Pegasus RPG",
"url": "https://www.uberwald.me/data/files/fvtt-pegasus-rpg",
"version": "0.0.34",
"version": "0.0.36",
"background" : "./images/ui/pegasus_welcome_page.webp"
}

View File

@ -153,6 +153,10 @@
"abilities": [],
"optionnalabilities": [],
"nboptionnal": 0,
"perksgained": false,
"perksall": false,
"perksnumber": 0,
"perks": [],
"statistics": ""
},
"role": {
@ -163,9 +167,6 @@
"powers1": [],
"MR": 0,
"specialperk": [],
"statincreasechoice": [ { "name":"AGI", "flag":false }, {"name":"MND", "flag":false }, {"name":"SOC", "flag":false }, {"name":"STR", "flag":false },
{"name":"PHY", "flag":false }, {"name":"COM", "flag":false }, {"name":"DEF", "flag":false }, {"name":"STL", "flag":false },
{"name":"PER", "flag":false }, {"name":"FOC", "flag":false } ],
"specincrease": [],
"perks": [],
"description": ""
@ -181,6 +182,12 @@
"powersgained": [],
"specialisations": [],
"aoe": "",
"affectedcircumstances": "",
"affectedspecialisations": "",
"nrgcost": 0,
"opponenthindrance": 0,
"attackgained": [],
"armorgained": [],
"description": ""
},
"specialisation": {

View File

@ -1,24 +1,24 @@
<form class="{{cssClass}}" autocomplete="off">
{{!-- Sheet Header --}}
<header class="sheet-header">
<div class="header-fields">
<div class="flexrow">
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
</div>
{{!-- Sheet Header --}}
<header class="sheet-header">
<div class="header-fields">
<div class="flexrow">
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
</div>
</header>
</div>
</header>
{{!-- Sheet Tab Navigation --}}
<nav class="sheet-tabs tabs" data-group="primary">
<a class="item" data-tab="statistics">Statistics</a>
<a class="item" data-tab="specs">Specialisations</a>
<a class="item" data-tab="powers">Powers</a>
<a class="item" data-tab="combat">Combat</a>
<a class="item" data-tab="equipment">Equipment</a>
<a class="item" data-tab="biodata">Biography</a>
</nav>
{{!-- Sheet Tab Navigation --}}
<nav class="sheet-tabs tabs" data-group="primary">
<a class="item" data-tab="statistics">Statistics</a>
<a class="item" data-tab="specs">Specialisations</a>
<a class="item" data-tab="powers">Powers</a>
<a class="item" data-tab="combat">Combat</a>
<a class="item" data-tab="equipment">Equipment</a>
<a class="item" data-tab="biodata">Biography</a>
</nav>
{{!-- Sheet Body --}}
<section class="sheet-body">
@ -27,8 +27,8 @@
<div class="tab items" data-group="primary" data-tab="statistics">
<span><a class="lock-unlock-sheet"><img class="small-button-container"
src="systems/fvtt-weapons-of-the-gods/images/icons/{{#if editScore}}unlocked.svg{{else}}locked.svg{{/if}}" alt="Unlocked/Locked"
>{{#if editScore}}Unlocked{{else}}Locked{{/if}}</a>
src="systems/fvtt-weapons-of-the-gods/images/icons/{{#if editScore}}unlocked.svg{{else}}locked.svg{{/if}}"
alt="Unlocked/Locked">{{#if editScore}}Unlocked{{else}}Locked{{/if}}</a>
</span>
<div class="grid grid-2col">
@ -36,13 +36,16 @@
<ul>
{{#each data.statistics as |stat key|}}
<li class="item flexrow list-item" data-attr-key="{{key}}">
<span class="stat-label flexrow" name="{{key}}"><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" value="{{stat.value}}" data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}>
{{#select stat.value}}
{{{@root.optionsDiceList}}}
{{/select}}
</select>
<input type="text" class="input-numeric-short padd-right" name="data.statistics.{{key}}.mod" value="{{stat.mod}}" data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}/>
<span class="stat-label flexrow" name="{{key}}">
<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"
value="{{stat.value}}" data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}>
{{#select stat.value}}
{{{@root.optionsDiceList}}}
{{/select}}
</select>
<input type="text" class="input-numeric-short padd-right" name="data.statistics.{{key}}.mod"
value="{{stat.mod}}" data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}} />
</li>
{{/each}}
</ul>
@ -52,15 +55,18 @@
<ul>
{{#each data.secondary as |stat2 key|}}
<li class="item flexrow list-item" data-attr-key="{{key}}">
<span class="stat-label flexrow" name="{{key}}"><h4>{{stat2.label}}</h4></span>
<select class="carac-base flexrow" type="text" name="data.secondary.{{key}}.value" value="{{stat2.value}}" data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}>
<span class="stat-label flexrow" name="{{key}}">
<h4>{{stat2.label}}</h4>
</span>
<select class="carac-base flexrow" type="text" name="data.secondary.{{key}}.value" value="{{stat2.value}}"
data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}>
{{#select stat2.value}}
{{#if (eq stat2.type "value")}}
{{{@root.optionsLevel}}}
{{else}}
{{{@root.optionsDiceList}}}
{{/if}}
{{/select}}
{{#if (eq stat2.type "value")}}
{{{@root.optionsLevel}}}
{{else}}
{{{@root.optionsDiceList}}}
{{/if}}
{{/select}}
</select>
</li>
{{/each}}
@ -78,11 +84,13 @@
<div class="grid grid-2col">
<div>
<span class="generic-label"><h3>Specialisations</h3></span>
<span class="generic-label">
<h3>Specialisations</h3>
</span>
<ul class="stat-list alternate-list">
{{#each specs as |spec key|}}
<li class="item stat flexrow list-item" data-item-id="{{spec._id}}">
<img class="sheet-competence-img" src="{{spec.img}}"/>
<img class="sheet-competence-img" src="{{spec.img}}" />
<span class="stat-label"><a class="roll-spec">{{spec.name}}</a></span>
<span class="stat-label">{{spec.data.statistic}}</span>
<span class="stat-label">{{spec.data.dice}}</span>
@ -96,15 +104,18 @@
</div>
<div>
<span class="generic-label"><h3>Perks</h3></span>
<span class="generic-label">
<h3>Perks</h3>
</span>
<ul class="stat-list alternate-list">
{{#each perks as |perk key|}}
<li class="item stat flexrow list-item" data-item-id="{{perk._id}}">
<img class="sheet-competence-img" src="{{perk.img}}"/>
<img class="sheet-competence-img" src="{{perk.img}}" />
<span class="stat-label">{{perk.name}}</span>
<span class="stat-label">{{perk.data.level}}</span>
<div class="item-controls">
<a class="item-control perk-active" title="active">{{#if perk.data.active}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control perk-active" title="active">{{#if perk.data.active}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
@ -115,11 +126,13 @@
</div>
<div>
<span class="generic-label"><h3>Abilities</h3></span>
<span class="generic-label">
<h3>Abilities</h3>
</span>
<ul class="stat-list alternate-list">
{{#each abilities as |ability key|}}
<li class="item stat flexrow list-item" data-item-id="{{ability._id}}">
<img class="sheet-competence-img" src="{{ability.img}}"/>
<img class="sheet-competence-img" src="{{ability.img}}" />
<span class="stat-label">{{ability.name}}</span>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
@ -137,17 +150,20 @@
<div class="tab fight" data-group="primary" data-tab="combat">
<div class="flexcol">
<span class="generic-label"><h3>Weapons</h3></span>
<span class="generic-label">
<h3>Weapons</h3>
</span>
<ul class="stat-list alternate-list">
{{#each weapons as |weapon key|}}
<li class="item stat flexrow list-item" data-arme-id="{{weapon.id}}" data-item-id="{{weapon._id}}">
<img class="sheet-competence-img" src="{{weapon.img}}"/>
<img class="sheet-competence-img" src="{{weapon.img}}" />
<span class="generic-label"><a class="weapon-roll">{{weapon.name}}</a></span>
<span class="generic-label">{{weapon.data.typeText}}</span>
<span class="generic-label">Speed {{weapon.data.speed}}</span>
<span class="generic-label">Damage {{weapon.data.damage}}</span>
<div class="item-controls">
<a class="item-control item-equip" title="Equip">{{#if weapon.data.equipped}}<i class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-equip" title="Equip">{{#if weapon.data.equipped}}<i
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
@ -155,14 +171,17 @@
{{/each}}
</ul>
<span class="generic-label"><h3>Armor</h3></span>
<span class="generic-label">
<h3>Armor</h3>
</span>
<ul class="item-list alternate-list">
{{#each armors as |armor key|}}
<li class="item stat flexrow list-item" data-item-id="{{armor._id}}">
<img class="sheet-competence-img" src="{{armor.img}}"/>
<img class="sheet-competence-img" src="{{armor.img}}" />
<span class="stat-label outfit-label">{{armor.name}}</span>
<div class="item-controls">
<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-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-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
@ -177,12 +196,20 @@
<div class="flexcol">
<span class="generic-label"><h3>Powers</h3></span>
<span class="generic-label">
<h3>Powers</h3>
</span>
<ul class="stat-list alternate-list">
{{#each powers as |power key|}}
{{#each powers as |power key|}}
<li class="item stat flexrow list-item" data-item-id="{{power._id}}">
<img class="sheet-competence-img" src="{{power.img}}"/>
<span class="stat-label"><a class="power-roll">{{power.name}}</a></span>
<img class="sheet-competence-img" src="{{power.img}}" />
<span class="stat-label">
{{#if power.data.rollneeded}}
<a class="power-roll">{{power.name}}</a>
{{else}}
{{power.name}}
{{/if}}
</span>
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
@ -197,30 +224,33 @@
{{!-- Equipement Tab --}}
<div class="tab equipment" data-group="primary" data-tab="equipment">
<div><h4>Equipment</h4></div>
<ul class="item-list alternate-list">
<li class="item flexrow list-item">
<span class="equipement-label">Name</span>
<span class="equipement-label">Type</span>
<div class="item-controls">
<span class="equipement-label">&nbsp;</span>
<span class="equipement-label">&nbsp;</span>
<span class="equipement-label">&nbsp;</span>
</div>
</li>
{{#each equipments as |equip key|}}
<li class="item flexrow list-item" data-item-id="{{equip._id}}">
<img class="sheet-competence-img" src="{{equip.img}}"/>
<span class="equipement-label">{{equip.name}}</span>
<span class="equipement-label">{{equip.type}}</span>
<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-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
<div>
<h4>Equipment</h4>
</div>
<ul class="item-list alternate-list">
<li class="item flexrow list-item">
<span class="equipement-label">Name</span>
<span class="equipement-label">Type</span>
<div class="item-controls">
<span class="equipement-label">&nbsp;</span>
<span class="equipement-label">&nbsp;</span>
<span class="equipement-label">&nbsp;</span>
</div>
</li>
{{#each equipments as |equip key|}}
<li class="item flexrow list-item" data-item-id="{{equip._id}}">
<img class="sheet-competence-img" src="{{equip.img}}" />
<span class="equipement-label">{{equip.name}}</span>
<span class="equipement-label">{{equip.type}}</span>
<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-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</ul>
</div>
{{!-- Biography Tab --}}
@ -230,51 +260,51 @@
<ul>
<li class="flexrow">
<label class="generic-label">Origin</label>
<input type="text" class="" name="data.biodata.origin" value="{{data.biodata.origin}}" data-dtype="String"/>
<input type="text" class="" name="data.biodata.origin" value="{{data.biodata.origin}}"
data-dtype="String" />
</li>
<li class="flexrow">
<label class="generic-label">Age</label>
<input type="text" class="" name="data.biodata.age" value="{{data.biodata.age}}" data-dtype="String"/>
<input type="text" class="" name="data.biodata.age" value="{{data.biodata.age}}" data-dtype="String" />
</li>
<li class="flexrow">
<label class="generic-label">Height</label>
<input type="text" class="" name="data.biodata.size" value="{{data.biodata.size}}" data-dtype="String"/>
<input type="text" class="" name="data.biodata.size" value="{{data.biodata.size}}" data-dtype="String" />
</li>
<li class="flexrow">
<label class="generic-label">Eyes</label>
<input type="text" class="" name="data.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String"/>
<input type="text" class="" name="data.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String" />
</li>
<li class="flexrow">
<label class="generic-label">Hair</label>
<input type="text" class="" name="data.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String"/>
<input type="text" class="" name="data.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
</li>
</ul>
</div>
<div>
<ul>
<li class="flexrow">
<label class="generic-label">Rank</label>
<select class="competence-base flexrow" type="text" name="data.biodata.rank" value="{{data.biodata.rank}}" data-dtype="Number">
{{#select data.biodata.rank}}
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
{{/select}}
</select>
</li>
<li class="flexrow">
<label class="generic-label">Weight</label>
<input type="text" class="" name="data.biodata.weight" value="{{data.biodata.weight}}" data-dtype="String"/>
</li>
<li class="flexrow">
<label class="generic-label">Race</label>
<input type="text" class="" name="data.racename" value="{{data.racename}}" data-dtype="String"/>
<input type="text" class="" name="data.biodata.weight" value="{{data.biodata.weight}}"
data-dtype="String" />
</li>
<li class="flexrow">
<label class="generic-label">Sex</label>
<input type="text" class="" name="data.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String"/>
<input type="text" class="" name="data.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" />
</li>
<li class="flexrow item list_item" data-item-id="{{race._id}}">
<label class="generic-label">Race</label>
<input type="text" class="" name="data.racename" value="{{data.racename}}" data-dtype="String" />
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
</div>
</li>
<li class="flexrow item list_item" data-item-id="{{role._id}}">
<label class="generic-label">Role</label>
<input type="text" class="" name="data.rolename" value="{{data.rolename}}" data-dtype="String" />
<div class="item-controls">
<a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>
</div>
</li>
</ul>
</div>
@ -284,49 +314,55 @@
<ul>
<li class="flexrow">
<label class="short-label">Achieved (Total) : </label>
<input type="text" class="" name="data.destiny.achieved" value="{{data.destiny.achieved}}" data-dtype="Number"/>
<input type="text" class="" name="data.destiny.achieved" value="{{data.destiny.achieved}}"
data-dtype="Number" />
</li>
<li class="flexrow">
<label class="short-label">Avanced (Spent) : </label>
<input type="text" class="" name="data.destiny.advanced" value="{{data.destiny.advanced}}" data-dtype="Number"/>
<input type="text" class="" name="data.destiny.advanced" value="{{data.destiny.advanced}}"
data-dtype="Number" />
</li>
<li class="flexrow">
<label class="short-label">Held back (available) : </label>
<input type="text" class="" name="data.destiny.available" value="{{data.destiny.available}}" data-dtype="Number"/>
<input type="text" class="" name="data.destiny.available" value="{{data.destiny.available}}"
data-dtype="Number" />
</li>
</ul>
</ul>
<hr>
<h3>Goals : </h3>
<ul>
<li class="flexrow">
<label class="short-label">Immediate : </label>
<input type="text" class="" name="data.biodata.goalimmediate" value="{{data.biodata.goalimmediate}}" data-dtype="String"/>
<input type="text" class="" name="data.biodata.goalimmediate" value="{{data.biodata.goalimmediate}}"
data-dtype="String" />
</li>
<li class="flexrow">
<label class="short-label">Futur : </label>
<input type="text" class="" name="data.biodata.goalfutur" value="{{data.biodata.goalfutur}}" data-dtype="String"/>
<input type="text" class="" name="data.biodata.goalfutur" value="{{data.biodata.goalfutur}}"
data-dtype="String" />
</li>
<li class="flexrow">
<label class="short-label">Passion : </label>
<input type="text" class="" name="data.biodata.passion" value="{{data.biodata.passion}}" data-dtype="String"/>
<input type="text" class="" name="data.biodata.passion" value="{{data.biodata.passion}}"
data-dtype="String" />
</li>
</ul>
</ul>
<hr>
<h3>History : </h3>
<div class="form-group editor">
{{editor content=data.biodata.description target="data.biodata.description" button=true owner=owner editable=editable}}
</div>
<hr>
<h3>Notes : </h3>
<div class="form-group editor">
{{editor content=data.biodata.notes target="data.biodata.notes" button=true owner=owner editable=editable}}
</div>
<hr>
<hr>
<h3>History : </h3>
<div class="form-group editor">
{{editor content=data.biodata.description target="data.biodata.description" button=true owner=owner
editable=editable}}
</div>
<hr>
<h3>Notes : </h3>
<div class="form-group editor">
{{editor content=data.biodata.notes target="data.biodata.notes" button=true owner=owner editable=editable}}
</div>
<hr>
</article>
</div>
</section>
</form>

View File

@ -56,6 +56,24 @@
</table>
{{/if}}
{{#if (eq step "select-race-perks-all")}}
<div>Select {{nbperks}} from the Perks Comepndium. Once done, click the button below<br>
<a class="chat-card-button chat-create-actor" data-step-name="{{@root.step}}" data-stat-key="{{key}}" >Race Perks selected!</a>
</div>
{{/if}}
{{#if (eq step "select-race-perks")}}
<div>Now select {{nbperks}} for your character
</div>
<table class="table-create-actor">
{{#each raceperks as |perk index|}}
<tr>
<td>{{perk.name}}</td>
<td><a class="chat-card-button chat-create-actor" data-step-name="{{@root.step}}" data-item-id="{{perk._id}}" >Select it !</a></td>
</tr>
{{/each}}
</table>
{{/if}}
{{#if (eq step "select-role")}}
<div>Now select a Role for your character.

View File

@ -78,6 +78,7 @@
{{/each}}
</ul>
</li>
<li class="flexrow"><label class="generic-label">Specialisation Gained</label>
<li>
<ul class="ul-level1">
@ -94,11 +95,61 @@
</ul>
</li>
</li>
<li class="flexrow"><label class="generic-label">AoE</label>
<input type="text" class="padd-right" name="data.aoe" value="{{data.aoe}}" data-dtype="String"/>
</li>
<li class="flexrow"><label class="generic-label">Affected Circumstances</label>
<input type="text" class="padd-right" name="data.affectedcircumstances" value="{{data.affectedcircumstances}}" data-dtype="String"/>
</li>
<li class="flexrow"><label class="generic-label">NRG Cost</label>
<input type="text" class="padd-right" name="data.nrgcost" value="{{data.nrgcost}}" data-dtype="Number"/>
</li>
<li class="flexrow"><label class="generic-label">Opponents Gain Hindrance Dice</label>
<select class="competence-base flexrow" type="text" name="data.opponenthindrance" value="{{data.opponenthindrance}}" data-dtype="Number">
{{#select data.opponenthindrance}}
{{{optionsDiceList}}}
{{/select}}
</select>
</li>
<li class="flexrow"><label class="generic-label">Attacks Gained</label>
<li>
<ul class="ul-level1">
<li class="flexrow"><div class="drop-ability-weapon"><label>Drop Weapons here !</label></div>
</li>
{{#each data.attackgained as |weapon idx|}}
<li class="flexrow">
<label name="data.specialisations[{{idx}}].name"><a class="view-subitem" data-type="attackgained" data-index="{{idx}}">{{weapon.name}}</a></label>
<div class="item-controls padd-left">
<a class="item-control delete-subitem padd-left" data-type="attackgained" data-index="{{idx}}" title="Delete Weapon"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</li>
</li>
<li class="flexrow"><label class="generic-label">Armors Gained</label>
<li>
<ul class="ul-level1">
<li class="flexrow"><div class="drop-ability-armor"><label>Drop Armors here !</label></div>
</li>
{{#each data.armorgained as |armor idx|}}
<li class="flexrow">
<label name="data.specialisations[{{idx}}].name"><a class="view-subitem" data-type="armorgained" data-index="{{idx}}">{{armor.name}}</a></label>
<div class="item-controls padd-left">
<a class="item-control delete-subitem padd-left" data-type="armorgained" data-index="{{idx}}" title="Delete Armor"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
</li>
</li>
</ul>
<div class="tab" data-group="primary">
<label class="generic-label">Description</label>
<div class="small-editor item-text-long-line">

View File

@ -53,7 +53,7 @@
</li>
{{#each data.optionnalabilities as |ability idx|}}
<li class="flexrow">
<label name="data.optionnalabilities[{{idx}}].name"><a class="view-subitem" data-type="abilities" data-index="{{idx}}">{{ability.name}}</a></label>
<label name="data.optionnalabilities[{{idx}}].name"><a class="view-subitem" data-type="optionnalabilities" data-index="{{idx}}">{{ability.name}}</a></label>
<div class="item-controls padd-left">
<a class="item-control delete-subitem padd-left" data-type="optionnalabilities" data-index="{{idx}}" title="Delete Ability"><i class="fas fa-trash"></i></a>
</div>
@ -62,6 +62,36 @@
</ul>
</ul>
<ul>
<li class="flexrow"><label class="generic-label">Perks Gained ?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="data.perksgained" {{checked data.perksgained}}/></label>
</li>
{{#if data.perksgained}}
<li class="flexrow"><label class="generic-label">Choose in all available perks?</label>
<label class="attribute-value checkbox"><input type="checkbox" name="data.perksall" {{checked data.perksall}}/></label>
</li>
<li class="flexrow"><label class="generic-label">Number of perks to gain</label>
<input type="text" class="input-numeric-short padd-right" name="data.perksnumber" value="{{data.perksnumber}}" data-dtype="Number"/>
</li>
{{#if data.perksall}}
{{else}}
<ul class="ul-level1">
<li class="flexrow"><div class="drop-race-perk"><label>Drop Perks here !</label></div>
</li>
{{#each data.perks as |perk idx|}}
<li class="flexrow">
<label name="data.perks[{{idx}}].name"><a class="view-subitem" data-type="perks" data-index="{{idx}}">{{perk.name}}</a></label>
<div class="item-controls padd-left">
<a class="item-control delete-subitem padd-left" data-type="perks" data-index="{{idx}}" title="Delete Perk"><i class="fas fa-trash"></i></a>
</div>
</li>
{{/each}}
</ul>
{{/if}}
{{/if}}
</ul>
<label class="generic-label">Description</label>
<div class="small-editor item-text-long-line">
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}}