From 71d61f13877f562bc0a0220cfa0d42ba1e45ceeb Mon Sep 17 00:00:00 2001 From: sladecraven Date: Thu, 9 Dec 2021 18:40:50 +0100 Subject: [PATCH] Race/Roles --- modules/pegasus-item-sheet.js | 30 +++++++++++-- packs/racial-abilities.db | 26 +++++++++++ packs/specialisations.db | 55 ++++++++++++++++++++++++ styles/simple.css | 2 + system.json | 16 +++++-- template.json | 4 ++ templates/item-race-sheet.html | 37 ++++++++++------ templates/item-role-sheet.html | 31 +++++++++---- templates/item-specialisation-sheet.html | 27 +++++++++++- 9 files changed, 199 insertions(+), 29 deletions(-) create mode 100644 packs/racial-abilities.db diff --git a/modules/pegasus-item-sheet.js b/modules/pegasus-item-sheet.js index c6d8367..6205d9a 100644 --- a/modules/pegasus-item-sheet.js +++ b/modules/pegasus-item-sheet.js @@ -200,13 +200,21 @@ export class PegasusItemSheet extends ItemSheet { async searchItem( dataItem) { let item; if (dataItem.pack) { - item = await fromUuid(dataItem.id); + item = await fromUuid("Compendium."+dataItem.pack+"."+dataItem.id); } else { item = game.items.get(dataItem.id ) } return item; } - + /* -------------------------------------------- */ + async addAbility(item, dataItem) { + let abilityArray = duplicate(this.object.data.data.abilities); + let newItem = duplicate(item.data); + newItem._id = randomID( dataItem.id.length ); + abilityArray.push( newItem); + await this.object.update( { 'data.abilities': abilityArray} ); + } + /* -------------------------------------------- */ async addSpecialisation(item, dataItem) { let newItem = duplicate(item.data); @@ -241,12 +249,28 @@ export class PegasusItemSheet extends ItemSheet { let perkArray = duplicate(this.object.data.data.perks); perkArray.push( newItem ); await this.object.update( { 'data.perks': perkArray} ); + } + if ( event.toElement.className == 'drop-specialperk1') { + let perkArray = duplicate(this.object.data.data.specialperk); + perkArray.push( newItem ); + await this.object.update( { 'data.specialperk': perkArray} ); } } /* -------------------------------------------- */ async _onDrop(event) { - console.log(event); + //console.log(event); + if (this.object.type == 'race' ) { + let data = event.dataTransfer.getData('text/plain'); + if (data) { + let dataItem = JSON.parse( data ); + let item = await this.searchItem( dataItem); + if ( item.data.type == 'ability') { + return this.addAbility( item, dataItem); + } + } + } + if (this.object.type == 'perk' || this.object.type == 'ability') { let data = event.dataTransfer.getData('text/plain'); if (data) { diff --git a/packs/racial-abilities.db b/packs/racial-abilities.db new file mode 100644 index 0000000..53aeef3 --- /dev/null +++ b/packs/racial-abilities.db @@ -0,0 +1,26 @@ +{"name":"Metal Body","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"0bW374Onk2LEUKNO"} +{"name":"Red Eyes","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"2XbpJr3oIIdXBQDX"} +{"name":"Bite & Tail Combo","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"9pAPPSEEQTaKGIGn"} +{"name":"Tough Skin","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"Eme4Yf7vZjRBiXsK"} +{"name":"Artificial","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"HJoEmBzCz8vJhMnO"} +{"name":"Tail","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"IM1vzlBizepTjvYS"} +{"name":"Night Vision","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"KOuUDW0BXlVaHo4W"} +{"name":"Horns or Spikes","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"L0jGHI3Yx8Gp00G8"} +{"name":"Cybernetic Legs","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"LxSNaTYCxAmqYrUh"} +{"name":"Metal Carapace","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"Pn3KDs17brH2JLun"} +{"name":"Dark Vision","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.vZlHA2YhsYm1tPTB"}},"_id":"SxnZHJddjsPfVa7c"} +{"name":"Wings","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"TYhCzvymJ3W1B0FC"} +{"name":"Extra Arms","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"aTXjv00HKrZ0kOz9"} +{"name":"Flight","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"agIfRmAFZeZgnqQ8"} +{"name":"Radioactive Spit","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"dieKfSLXvGjBz8Qk"} +{"name":"Master","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"e4U1spBkNg6bHxMy"} +{"name":"Reduced Move","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"f90XWV1Jt1Kx0ELd"} +{"name":"Bite","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"gKvTfvDjrJs8UOx7"} +{"name":"Cybernetic Arm","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"hprgdfSobvzQhWp9"} +{"name":"Does Not Breathe","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"hvhH88QJsfwEOWky"} +{"name":"Brain CPU","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"nMRz1YLmjFed97rA"} +{"name":"Mechanical","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"oES8AIR6MKXPRCR7"} +{"name":"Fearsome Howl/Growl","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"sOkzSAGdJTGjpWtd"} +{"name":"Claws","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"t80esMj8pfXDPZAt"} +{"name":"Cybernetic Eye","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"uX9B2hwNrFoBbSGJ"} +{"name":"Skin of Scales","type":"ability","img":"icons/svg/item-bag.svg","data":{"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"yjB1JKOKHK4uEnfZ"} diff --git a/packs/specialisations.db b/packs/specialisations.db index e69de29..1dd0080 100644 --- a/packs/specialisations.db +++ b/packs/specialisations.db @@ -0,0 +1,55 @@ +{"name":"Melee (Weapon Type) [COM]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"com","level":1,"description":"

See Pegasus Engine CORE RPG

\n

This Specialisation is taken for each type of Weapon.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"0wzrYWobG8hHDr10"} +{"name":"Astrogation [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"2BODbmmD56MdjPNv"} +{"name":"Dodge [DEF]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"def","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"7rI4PyJwlWNV8FkI"} +{"name":"Listen [PER]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"per","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"8KWwAh0lpa0rMgZ6"} +{"name":"Wrestling [COM]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"com","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"9GBCO0z2uJNtjWRX"} +{"name":"Thrown [AGI]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"agi","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"EE64M4n7VWZdneD2"} +{"name":"Diplomacy [SOC]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"soc","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"Fg4NrJOKaUC2uULk"} +{"name":"Rowing [STR]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"str","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"FkmlbtqseNjT59sz"} +{"name":"Mechanics [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"GsxbmvpyiaBDaAhb"} +{"name":"Block [DEF]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"def","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"Gw0pbw3rQxvkNnna"} +{"name":"Hide [STL]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"stl","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"HYWY78GDpBxk38ZR"} +{"name":"Fast Talk [SOC]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"soc","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"I4dTGBes4mEDrG64"} +{"name":"Arcane Staff [FOC]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"foc","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"KE3lJZoNsiUtrexa"} +{"name":"Riding [AGI]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"agi","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"Kh77epFWMICWf1JU"} +{"name":"Computer Operation [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"LM0TjvJRRabpi0gL"} +{"name":"Sneak [STL]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"stl","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"MNvdosV6BsxmrViO"} +{"name":"Smell [PER]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"per","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"MkdU8F4KDP4ScmhV"} +{"name":"Spot [PER]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"per","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"O45wjDgA7U779mxR"} +{"name":"Espionage [PER]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"per","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"OLUUmPSAWy6gfT50"} +{"name":"Wand Parry [FOC]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"foc","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"OZGCfiQtsxqcbdvn"} +{"name":"Disguise [STL]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"stl","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"RsRRaqID3jziK3eP"} +{"name":"Sailing [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"SBUHpAK3W6ip2AKt"} +{"name":"Interrogate [SOC]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"soc","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"SU5gQsupB3wjrHux"} +{"name":"Taunt [SOC]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"soc","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"SwTrfOEVV3JjMOWH"} +{"name":"Driving [AGI]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"agi","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"TDNnFSFTvnUctUUU"} +{"name":"Engineering [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"TrFFMZEmP85t5WDh"} +{"name":"Swim [STR]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"str","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"UKBZZZeYjkrdgWHC"} +{"name":"Stamina [PHY]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"phy","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"VeDEAVRkM3Kf1bP4"} +{"name":"Piloting [AGI]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"agi","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"XM5dBZnwNNvr0RIM"} +{"name":"Wand Blast [AGI]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"agi","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"XpVG3QkQAdvtN4IB"} +{"name":"Robotics [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"YLNrSS3gH6rypFwB"} +{"name":"Electronics [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"YqAYFFpjMMHsDrJ4"} +{"name":"Battlelore [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"Yy4kCoeAMBo8uXqn"} +{"name":"Climb [STR]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"str","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"ZN56wKKqVfjt8U9f"} +{"name":"Taste [PER]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"per","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"bkQdcXQHUfRALhQ1"} +{"name":"Survival [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"eIIYGsOTHuLSNGiU"} +{"name":"Intimidate [PHY]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"phy","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"euErN2gWiVZ2FN7g"} +{"name":"Arcane Lore [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"ewyhnhrEjYPLJJl3"} +{"name":"Lockpick [AGI]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"agi","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"fGyR6dCE8H74iKS4"} +{"name":"Inspire [SOC]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"soc","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"fUIdZCKS9njzaYF8"} +{"name":"Acrobatic [AGI]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"agi","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"g6YYY1LmOukiX95u"} +{"name":"Martial Arts [COM]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"com","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"kx2zFFpFvxF8pe7g"} +{"name":"Distract [SOC]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"soc","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"pp0n9ZnlOxvPo45X"} +{"name":"Calm [SOC]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"soc","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{},"_id":"pxuQd1mBFZPTvz1T"} +{"name":"Ranged (Weapon Type) [AGI]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"agi","level":1,"description":"

See Pegasus Engine CORE RPG

\n

Purchase this Specialisation for each TYPE of Ranged Weapon.

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"qltHGRAQFXO6w6EQ"} +{"name":"Jumping [STR]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"str","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"r8vyfYM9qEkfRYQK"} +{"name":"Hacking [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"rSbjm1HwlE4XcnJq"} +{"name":"Investigate [PER]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"agi","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"sVLXOdXGQ8c4deBA"} +{"name":"Navigation [PER]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"per","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"sk4woqGa2TAD9r76"} +{"name":"Track [PER]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"per","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"svA1KgQQxBdesFM0"} +{"name":"Endurance [PHY]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"phy","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"v1TvagjYpnnkmAMy"} +{"name":"Initiative [MR] *requires MR*","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"agi","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"vfQpUtrAbrDd4Hcm"} +{"name":"Parry [DEF]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"def","level":1,"description":"

See Pegasus Engine CORE RPG

\n

 

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"w1g1yoXatnULayuq"} +{"name":"Lore (TYPE) [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

\n

Create a Different Lore for each Lore Specialisations

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"w8AoM35khHJlbtPn"} +{"name":"First Aid [MND]","type":"specialisation","img":"icons/svg/item-bag.svg","data":{"statistic":"mnd","level":1,"description":"

See Pegasus Engine CORE RPG

"},"effects":[],"folder":null,"sort":0,"permission":{"default":0,"iNL4aGohJ8v6YrUk":3},"flags":{"core":{"sourceId":"Item.r4UBikkWrryeN0DR"}},"_id":"yTo1QTKaQ77LlNTE"} diff --git a/styles/simple.css b/styles/simple.css index 17bc6dd..2c8b0d3 100644 --- a/styles/simple.css +++ b/styles/simple.css @@ -1147,6 +1147,8 @@ ul, li { padding-left: 2rem; } +.drop-abilities, +.drop-specialperk1, .drop-perk2, .drop-spec1 , .drop-spec2 { diff --git a/system.json b/system.json index e91019c..b7876aa 100644 --- a/system.json +++ b/system.json @@ -30,7 +30,17 @@ "path": "./packs/specialisations.db", "system": "fvtt-pegasus-rpg", "tags": [ - "skill" + "specialisation" + ] + }, + { + "entity": "Item", + "label": "Racial Abilities", + "name": "racial-abilities", + "path": "./packs/racial-abilities.db", + "system": "fvtt-pegasus-rpg", + "tags": [ + "ability" ] } ], @@ -40,9 +50,9 @@ "styles": [ "styles/simple.css" ], - "templateVersion": 13, + "templateVersion": 17, "title": "Pegasus RPG", "url": "https://www.uberwald.me/data/files/fvtt-pegasus-rpg", - "version": "0.0.13", + "version": "0.0.17", "background" : "./images/ui/pegasus_welcome_page.webp" } \ No newline at end of file diff --git a/template.json b/template.json index 6bf80fa..2db55aa 100644 --- a/template.json +++ b/template.json @@ -139,6 +139,7 @@ "role": { "statincrease1": "", "statincrease2": "", + "messagespecplus1": "", "specialisationsplus1": [], "powers1": [], "specialperk": [], @@ -165,6 +166,9 @@ "specialisation": { "statistic": "", "level": 1, + "ispowergroup": false, + "powersource": "", + "powers": [], "description": "" }, "perk": { diff --git a/templates/item-race-sheet.html b/templates/item-race-sheet.html index 13f2814..abd899d 100644 --- a/templates/item-race-sheet.html +++ b/templates/item-race-sheet.html @@ -10,20 +10,29 @@
- -
- {{editor content=data.statistics target="data.statistics" button=true owner=owner editable=editable}} -
- - {{#each data.abilities as |ability idx|}} - -
- -
- {{/each}} -
- {{editor content=data.abilities target="data.abilities" button=true owner=owner editable=editable}} -
+
    +
  • + +
    + {{editor content=data.statistics target="data.statistics" button=true owner=owner editable=editable}} +
    +
  • +
  • +
  • +
      +
    • +
    • + {{#each data.abilities as |ability idx|}} +
    • + +
      + +
      +
    • + {{/each}} +
    +
+
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}} diff --git a/templates/item-role-sheet.html b/templates/item-role-sheet.html index 07f652d..b5cceef 100644 --- a/templates/item-role-sheet.html +++ b/templates/item-role-sheet.html @@ -27,9 +27,16 @@ {{/select}} -
  • +
  • +
    • +
    • + +
    • +
    • + +
    • {{#each data.specialisationsplus1 as |spec idx|}} @@ -41,14 +48,22 @@ {{/each}}
    -
  • - {{#each data.specialperk as |perk idx|}} - -
    - -
    +
  • + +
  • +
      +
    • +
    • + {{#each data.specialperk as |perk idx|}} +
    • + +
      + +
      +
    • {{/each}} - +
    +
    • diff --git a/templates/item-specialisation-sheet.html b/templates/item-specialisation-sheet.html index 10aebd6..0a2f62c 100644 --- a/templates/item-specialisation-sheet.html +++ b/templates/item-specialisation-sheet.html @@ -25,10 +25,35 @@ {{/select}} +
    • + +
    • + {{#if data.ispowergroup}} +
    • +
      + {{editor content=data.powersource target="data.powersource" button=true owner=owner editable=editable}} +
      +
    • +
    • +
    • +
        +
      • +
      • + {{#each data.powers as |power idx|}} +
      • + +
        + +
        +
      • + {{/each}} +
      + + {{/if}}
    - + {{editor content=data.description target="data.description" button=true owner=owner editable=editable}}