Compare commits
No commits in common. "master" and "fvtt-warhero-10.0.3" have entirely different histories.
master
...
fvtt-warhe
1
.gitignore
vendored
1
.gitignore
vendored
@ -1 +0,0 @@
|
||||
.history/
|
202
lang/en.json
202
lang/en.json
@ -1,29 +1,4 @@
|
||||
{
|
||||
"ACTOR": {
|
||||
"TypeCharacter": "Character",
|
||||
"TypeNpc": "NPC",
|
||||
"TypeMonster": "Monster",
|
||||
"TypeParty": "Party"
|
||||
},
|
||||
"ITEM": {
|
||||
"TypeWeapon": "Weapon",
|
||||
"TypeEquipment": "Equipment",
|
||||
"TypeRace": "Race",
|
||||
"TypeArmor": "Armor",
|
||||
"TypeShield": "Shield",
|
||||
"TypeSkill": "Skill",
|
||||
"TypePower": "Power",
|
||||
"TypeLanguage": "Language",
|
||||
"TypeCondition": "Condition",
|
||||
"TypeClass": "Class",
|
||||
"TypeMoney": "Money",
|
||||
"TypePotion": "Potion",
|
||||
"TypePoison": "Poison",
|
||||
"TypeTrap": "Trap",
|
||||
"TypeClassitem": "Class item",
|
||||
"TypeCompetency": "Competency"
|
||||
},
|
||||
|
||||
"WH.conf.short": "Short",
|
||||
"WH.conf.long": "Long",
|
||||
"WH.conf.twohanded": "Two-Handed",
|
||||
@ -35,8 +10,6 @@
|
||||
"WH.conf.lightshield": "Light",
|
||||
"WH.conf.mediumshield": "Medium",
|
||||
"WH.conf.towershield": "Tower",
|
||||
"WH.conf.polearm": "Polearm",
|
||||
"WH.conf.special": "Special",
|
||||
|
||||
"WH.conf.head": "Head",
|
||||
"WH.conf.cloak": "Cloak",
|
||||
@ -54,185 +27,14 @@
|
||||
"WH.conf.beltpouch1": "Beltpouch 1",
|
||||
"WH.conf.beltpouch2": "Beltpouch 2",
|
||||
"WH.conf.beltpouch3": "Beltpouch 3",
|
||||
"WH.conf.scrollcase": "Scroll case",
|
||||
"WH.conf.wandcase": "Wand case",
|
||||
"WH.conf.potioncase": "Potion case",
|
||||
"WH.conf.bagholding": "Bag of holding",
|
||||
"WH.conf.quiverholding": "Quiver of holding",
|
||||
"WH.conf.backpackholding": "Backpack of holding",
|
||||
"WH.conf.smallchest": "Small chest",
|
||||
"WH.conf.mediumchest": "Medium chest",
|
||||
"WH.conf.largechest": "Large chest",
|
||||
"WH.conf.hugechest": "Huge chest",
|
||||
"WH.conf.partystorage": "Party chest/storage",
|
||||
|
||||
"WH.conf.unknown": "Unknown",
|
||||
"WH.conf.yes": "Yes",
|
||||
"WH.conf.no": "No",
|
||||
"WH.conf.notapplicable": "Not applicable",
|
||||
"WH.conf.undefined": "Not applicable",
|
||||
|
||||
"WH.ui.level": "Level",
|
||||
"WH.ui.notes": "Notes",
|
||||
|
||||
"WH.ui.hpprog": "HP Progression",
|
||||
"WH.ui.lan": "Languages",
|
||||
"WH.ui.attrbonus": "Attribute",
|
||||
"WH.ui.attrbonus": "Attribute (+4/Lvl4, +2/Lvl8)",
|
||||
"WH.ui.weapons": "Weapons",
|
||||
"WH.ui.armors": "Armors",
|
||||
"WH.ui.shields": "Shields",
|
||||
"WH.ui.weapon": "Weapon",
|
||||
|
||||
"WH.ui.Strength": "Strength",
|
||||
"WH.ui.Instinct": "Instinct",
|
||||
"WH.ui.Dexterity": "Dexterity",
|
||||
"WH.ui.savestr": "Str Save",
|
||||
"WH.ui.savedex": "Dex Save",
|
||||
"WH.ui.savemin": "Mind Save",
|
||||
"WH.ui.Mind": "Mind",
|
||||
"WH.ui.Type": "Type",
|
||||
"WH.ui.HitPoints": "Hit Points",
|
||||
"WH.ui.Defence": "Defence",
|
||||
"WH.ui.Throw2HitM": "Throw to Hit (Melee)",
|
||||
"WH.ui.Throw2HitR": "Throw to Hit (Ranged)",
|
||||
"WH.ui.Mana": "Mana",
|
||||
"WH.ui.Initiative": "Initiative",
|
||||
"WH.ui.Movement": "Movement (Earth)",
|
||||
"WH.ui.MovementSwim": "Movement (Swim)",
|
||||
"WH.ui.MovementFly": "Movement (Fly)",
|
||||
"WH.ui.power": "Power",
|
||||
|
||||
"WH.ui.Qty": "Qty",
|
||||
"WH.ui.maxslots": "Max slots",
|
||||
"WH.ui.slotsused": "Slots used",
|
||||
"WH.ui.Damage": "Damage",
|
||||
"WH.ui.parrybonus": "Parry bonus",
|
||||
"WH.ui.damagereduction": "Damage reduction",
|
||||
"WH.ui.save": "Save",
|
||||
"WH.ui.XP": "XP",
|
||||
"WH.ui.xphp": "HP Progression",
|
||||
"WH.ui.Knowledge": "Knowledge",
|
||||
"WH.ui.malusmultiweapon": "Mult. Weapons malus",
|
||||
"WH.ui.drbonus": "DR bonus",
|
||||
"WH.ui.parrybonustotal": "Parry bonus total",
|
||||
"WH.ui.drbonustotal": "DR bonus total",
|
||||
"WH.ui.counterspell": "Counter spell",
|
||||
"WH.ui.createitem": "Bonus to percentage throws",
|
||||
"WH.ui.classSkills": "Class Skills",
|
||||
"WH.ui.skills": "Skills based on level",
|
||||
"WH.ui.isclassskill": "Class skill ?",
|
||||
"WH.ui.israceskill": "Race skill ?",
|
||||
"WH.ui.unlimited": "Unlimited use ?",
|
||||
"WH.ui.currentuse": "Current use",
|
||||
"WH.ui.maxuse": "Max use",
|
||||
"WH.ui.languages": "Languagess",
|
||||
"WH.ui.languagesbonus": "Bonus Languages (mind/2)",
|
||||
"WH.ui.competency": "Competency",
|
||||
"WH.ui.conditions": "Conditions",
|
||||
"WH.ui.effect": "Effect",
|
||||
|
||||
"WH.ui.main": "Main",
|
||||
"WH.ui.combat": "Combat",
|
||||
"WH.ui.skillstab": "Skills&Effects",
|
||||
"WH.ui.powers": "Powers",
|
||||
"WH.ui.equipment": "Equipment",
|
||||
"WH.ui.biography": "Biography",
|
||||
"WH.ui.race": "Race",
|
||||
"WH.ui.class": "Class",
|
||||
"WH.ui.religion": "Religion",
|
||||
"WH.ui.origin": "Origin",
|
||||
"WH.ui.age": "Age",
|
||||
"WH.ui.height": "Height",
|
||||
"WH.ui.eyes": "Eyes",
|
||||
"WH.ui.hair": "Hair",
|
||||
"WH.ui.preferredhand": "Preferred Hand",
|
||||
"WH.ui.size": "Size",
|
||||
"WH.ui.gender": "Gender",
|
||||
"WH.ui.background": "Background",
|
||||
"WH.ui.type": "Type",
|
||||
"WH.ui.description": "Description",
|
||||
"WH.ui.rawroll": "Raw Roll Formula (ex: 1d20+@statistics.str.value)",
|
||||
"WH.ui.rawdamage": "Raw Damage Formula (ex: 1d6+(@statistics.str.value/2))",
|
||||
"WH.ui.damage": "Damage",
|
||||
"WH.ui.2hdamage": "2 Hands Damage",
|
||||
"WH.ui.slotlocation": "Slot location",
|
||||
"WH.ui.quantity": "Quantity",
|
||||
"WH.ui.cost": "Cost",
|
||||
"WH.ui.details": "Details",
|
||||
"WH.ui.magicschool": "Magic School",
|
||||
"WH.ui.providedslot": "Provided slot",
|
||||
"WH.ui.skilllevelacquired": "Acquired at level",
|
||||
"WH.ui.totalmoney": "Total money owned",
|
||||
"WH.ui.preparetime": "Time to prepare",
|
||||
"WH.ui.durationrounds": "Duration in rounds",
|
||||
"WH.ui.application": "Application",
|
||||
"WH.ui.savesdc": "Saves DC",
|
||||
"WH.ui.savetype": "Save type",
|
||||
"WH.ui.Touch": "Touch",
|
||||
"WH.ui.Ingestion": "Ingestion",
|
||||
"WH.ui.Weapon": "Weapon",
|
||||
"WH.ui.halfdamage": "Half-damage",
|
||||
"WH.ui.ignore": "Ignore effect",
|
||||
"WH.ui.dcfind": "DC to find",
|
||||
"WH.ui.dcdisable": "DC to disable",
|
||||
"WH.ui.throwtohit": "Throw to hit",
|
||||
"WH.ui.mandatoryfor": "Mandatory for",
|
||||
"WH.ui.generic": "Generic",
|
||||
"WH.ui.bless": "Bless",
|
||||
"WH.ui.spell": "Spell",
|
||||
"WH.ui.poison": "Poison",
|
||||
"WH.ui.disease": "Disease",
|
||||
"WH.ui.curse": "Curse",
|
||||
"WH.ui.permanent": "Permanent",
|
||||
"WH.ui.temporary": "Temporary",
|
||||
"WH.ui.begin": "Begin",
|
||||
"WH.ui.specialduration": "Special duration",
|
||||
"WH.ui.infinite": "Infinite",
|
||||
"WH.uiwithineor": "Within end of round",
|
||||
"WH.ui.beginr": "Beginning of round",
|
||||
"WH.ui.nextr": "Next round",
|
||||
"WH.ui.nextcombat": "Next combat",
|
||||
"WH.ui.untilendcombat": "Until end of combat",
|
||||
"WH.ui.beginturn": "Beginning of turn",
|
||||
"WH.ui.endturn": "End of turn",
|
||||
"WH.ui.durationvalue": "Duration value",
|
||||
"WH.ui.durationunit": "Duration unit",
|
||||
"WH.ui.dcsave": "DC save",
|
||||
"WH.ui.incubationtime": "Incubation time",
|
||||
"WH.ui.diseaseduration": "Disease duration",
|
||||
"WH.ui.ignoreeffect": "Ignore effect",
|
||||
"WH.ui.raceSkills": "Race skills",
|
||||
"WH.ui.identified": "Identified",
|
||||
"WH.ui.isclasssecondary": "Secondary class ?",
|
||||
"WH.ui.secondaryclass": "Super warhero",
|
||||
"WH.ui.meleedamagebonus": "Melee damage bonus",
|
||||
"WH.ui.rangeddamagebonus": "Ranged damage bonus",
|
||||
"WH.ui.notapplicable": "Not applicable",
|
||||
"WH.ui.chargedaily": "Daily",
|
||||
"WH.ui.chargelimited": "Limited",
|
||||
"WH.ui.magiccharge": "Magic charges",
|
||||
"WH.ui.chargevalue": "Charge value",
|
||||
"WH.ui.allitems": "All items",
|
||||
"WH.ui.small": "Small",
|
||||
"WH.ui.medium": "Medium",
|
||||
"WH.ui.large": "Large",
|
||||
"WH.ui.conditiontype": "Condition type",
|
||||
"WH.ui.duration": "Duration",
|
||||
|
||||
"WH.ui.bodyslots": "Body",
|
||||
"WH.ui.containerslot": "Containers",
|
||||
|
||||
"WH.chat.save": "Save",
|
||||
"WH.chat.mweaponmalus": "Multiple weapons malus ",
|
||||
"WH.chat.diceresult": "Dice result",
|
||||
"WH.chat.result": "Result",
|
||||
"WH.chat.parysuccess": "Parry success !",
|
||||
"WH.chat.paryfailed": "Parry failed !",
|
||||
"WH.chat.rollformula": "Roll Formula",
|
||||
"WH.chat.useshield":"Use shield ?",
|
||||
"WH.chat.power": "Power",
|
||||
"WH.chat.powerlevel": "Power Level",
|
||||
|
||||
"WH.notif.skillmaxuse": "Maximum skill usage reach - Use is not allowed",
|
||||
"WH.notif.toomanyuses": "Maximum use reach - Roll is not allowed"
|
||||
"WH.ui.shields": "Shields"
|
||||
}
|
236
lang/it.json
236
lang/it.json
@ -1,236 +0,0 @@
|
||||
{
|
||||
"ACTOR": {
|
||||
"TypeCharacter": "PG",
|
||||
"TypeNpc": "PNG",
|
||||
"TypeMonster": "Mostro",
|
||||
"TypeParty": "Gruppo"
|
||||
},
|
||||
"ITEM": {
|
||||
"TypeWeapon": "Arma",
|
||||
"TypeEquipment": "Equipaggiamento",
|
||||
"TypeRace": "Razza",
|
||||
"TypeArmor": "Armatura",
|
||||
"TypeShield": "Scudo",
|
||||
"TypeSkill": "Abilità",
|
||||
"TypePower": "Potere",
|
||||
"TypeLanguage": "Lingua",
|
||||
"TypeCondition": "Status",
|
||||
"TypeClass": "Classe",
|
||||
"TypeMoney": "Mo",
|
||||
"TypePotion": "Pozione",
|
||||
"TypePoison": "Veleno",
|
||||
"TypeTrap": "Trappola",
|
||||
"TypeClassitem": "Classe",
|
||||
"TypeCompetency": "Competenza"
|
||||
},
|
||||
|
||||
"WH.conf.short": "Corte",
|
||||
"WH.conf.long": "Lunghe",
|
||||
"WH.conf.twohanded": "A due mani",
|
||||
"WH.conf.shooting": "Da Tiro",
|
||||
"WH.conf.throwing": "Da Lancio",
|
||||
"WH.conf.lightarmor" : "Leggera",
|
||||
"WH.conf.mediumarmor": "Media",
|
||||
"WH.conf.heavyarmor": "Pesante",
|
||||
"WH.conf.lightshield": "Leggero",
|
||||
"WH.conf.mediumshield": "Medio",
|
||||
"WH.conf.towershield": "Torre",
|
||||
"WH.conf.polearm": "In asta",
|
||||
"WH.conf.special": "Speciale",
|
||||
|
||||
"WH.conf.head": "Testa",
|
||||
"WH.conf.cloak": "Mantello",
|
||||
"WH.conf.weapon1": "Arma 1",
|
||||
"WH.conf.weapon2": "Arma 2",
|
||||
"WH.conf.gloves": "Guanti",
|
||||
"WH.conf.dress": "Vestito",
|
||||
"WH.conf.boots": "Stivali",
|
||||
"WH.conf.ring": "Anelli",
|
||||
"WH.conf.belt": "Cintura",
|
||||
"WH.conf.quiver": "Faretra",
|
||||
"WH.conf.armor": "Armatura",
|
||||
"WH.conf.shield": "Scudo",
|
||||
"WH.conf.backpack": "Zaino",
|
||||
"WH.conf.beltpouch1": "Borsa da cintura 1",
|
||||
"WH.conf.beltpouch2": "Borsa da cintura 2",
|
||||
"WH.conf.beltpouch3": "Borsa da cintura 3",
|
||||
"WH.conf.scrollcase": "Contenitore per mappe o pergamene",
|
||||
"WH.conf.wandcase": "Porta bacchette",
|
||||
"WH.conf.potioncase": "Porta pozioni",
|
||||
"WH.conf.bagholding": "Borsa conservante",
|
||||
"WH.conf.quiverholding": "Faretra conservante",
|
||||
"WH.conf.backpackholding": "Zaino conservante",
|
||||
"WH.conf.smallchest": "Scrigno piccolo",
|
||||
"WH.conf.mediumchest": "Scrigno medio",
|
||||
"WH.conf.largechest": "Scrigno grande",
|
||||
"WH.conf.hugechest": "Scrigno enorme",
|
||||
"WH.conf.partystorage": "Scrigno di gruppo",
|
||||
|
||||
"WH.conf.unknown": "Non sai se è magico",
|
||||
"WH.conf.yes": "Identificato",
|
||||
"WH.conf.no": "Non identificato",
|
||||
"WH.conf.notapplicable": "Non applicabile",
|
||||
"WH.conf.undefined": "Not applicable",
|
||||
|
||||
"WH.ui.level": "Livello",
|
||||
"WH.ui.notes": "Note",
|
||||
|
||||
"WH.ui.hpprog": "Progressione PF",
|
||||
"WH.ui.lan": "Lingue",
|
||||
"WH.ui.attrbonus": "Attributo",
|
||||
"WH.ui.weapons": "Armi",
|
||||
"WH.ui.armors": "Armature",
|
||||
"WH.ui.shields": "Scudi",
|
||||
"WH.ui.weapon": "Arma",
|
||||
|
||||
"WH.ui.Strength": "Fisico",
|
||||
"WH.ui.Instinct": "Istinto",
|
||||
"WH.ui.Dexterity": "Istinto",
|
||||
"WH.ui.savestr": "Ts Fisico",
|
||||
"WH.ui.savedex": "Ts Istinto",
|
||||
"WH.ui.savemin": "Ts Mente",
|
||||
"WH.ui.Mind": "Mente",
|
||||
"WH.ui.Type": "Tipo",
|
||||
"WH.ui.HitPoints": "Punti ferita",
|
||||
"WH.ui.Defence": "Difesa",
|
||||
"WH.ui.Throw2HitM": "Txc (corpo a corpo)",
|
||||
"WH.ui.Throw2HitR": "Txc (distanza)",
|
||||
"WH.ui.Mana": "Mana",
|
||||
"WH.ui.Initiative": "Iniziativa",
|
||||
"WH.ui.Movement": "Movimento (Terra)",
|
||||
"WH.ui.MovementSwim": "Movimento (Nuoto)",
|
||||
"WH.ui.MovementFly": "Movimento (Volare)",
|
||||
"WH.ui.power": "Potere",
|
||||
|
||||
"WH.ui.Qty": "Quantitá",
|
||||
"WH.ui.maxslots": "Max slots",
|
||||
"WH.ui.slotsused": "Slots usati",
|
||||
"WH.ui.Damage": "Danni",
|
||||
"WH.ui.parrybonus": "Bonus a parata",
|
||||
"WH.ui.damagereduction": "Riduzione danno",
|
||||
"WH.ui.save": "Salva",
|
||||
"WH.ui.XP": "PE",
|
||||
"WH.ui.xphp": "Progressione PF",
|
||||
"WH.ui.Knowledge": "Conoscenze",
|
||||
"WH.ui.malusmultiweapon": "Malus nell uso di due armi",
|
||||
"WH.ui.drbonus": "Bonus RD",
|
||||
"WH.ui.parrybonustotal": "Bonus Parata totale",
|
||||
"WH.ui.drbonustotal": "Bonus RD totale",
|
||||
"WH.ui.counterspell": "Contropotere",
|
||||
"WH.ui.createitem": "Bonus ai tiri percentuali",
|
||||
"WH.ui.classSkills": "Abilitá di classe",
|
||||
"WH.ui.skills": "Abilitá Aggiuntiva",
|
||||
"WH.ui.isclassskill": "Abilità di classe?",
|
||||
"WH.ui.israceskill": "Abilità di razza?",
|
||||
"WH.ui.unlimited": "Usi illimitati?",
|
||||
"WH.ui.currentuse": "Numero di usi",
|
||||
"WH.ui.maxuse": "Usi Massimi",
|
||||
"WH.ui.languages": "Lingue",
|
||||
"WH.ui.languagesbonus": "Bonus a linguaggi conosciuti (men/2)",
|
||||
"WH.ui.competency": "Competenze",
|
||||
"WH.ui.conditions": "Condizione",
|
||||
"WH.ui.effect": "Effetto",
|
||||
|
||||
"WH.ui.main": "Principale",
|
||||
"WH.ui.combat": "Combattimento",
|
||||
"WH.ui.skillstab": "Abilità ed effetti",
|
||||
"WH.ui.powers": "Poteri",
|
||||
"WH.ui.equipment": "Equipaggiamento",
|
||||
"WH.ui.biography": "Biografia",
|
||||
"WH.ui.race": "Razza",
|
||||
"WH.ui.class": "Classe",
|
||||
"WH.ui.religion": "Fede",
|
||||
"WH.ui.origin": "Origine",
|
||||
"WH.ui.age": "Età",
|
||||
"WH.ui.height": "Altezza",
|
||||
"WH.ui.eyes": "Occhi",
|
||||
"WH.ui.hair": "Capelli",
|
||||
"WH.ui.preferredhand": "Mano preferita",
|
||||
"WH.ui.size": "Taglia",
|
||||
"WH.ui.gender": "Genere",
|
||||
"WH.ui.background": "Storia",
|
||||
"WH.ui.type": "Tipo",
|
||||
"WH.ui.description": "Descrizione",
|
||||
"WH.ui.rawroll": "Formula del dado (es: 1d20+@statistics.str.value)",
|
||||
"WH.ui.rawdamage": "Formula danni (ex: 1d6+(@statistics.str.value/2))",
|
||||
"WH.ui.damage": "Danno",
|
||||
"WH.ui.2hdamage": "Danno a 2 mani",
|
||||
"WH.ui.slotlocation": "Posizione dello slot",
|
||||
"WH.ui.quantity": "Quantità",
|
||||
"WH.ui.cost": "Costo",
|
||||
"WH.ui.details": "Dettagli",
|
||||
"WH.ui.magicschool": "Scuola di magia",
|
||||
"WH.ui.providedslot": "Slot forniti",
|
||||
"WH.ui.skilllevelacquired": "Acquisito a livello",
|
||||
"WH.ui.totalmoney": "Total monete guadagnate",
|
||||
"WH.ui.preparetime": "Tempo di preparazione",
|
||||
"WH.ui.durationrounds": "Durata (in round)",
|
||||
"WH.ui.application": "Tipo di applicazione",
|
||||
"WH.ui.savesdc": "CD TS",
|
||||
"WH.ui.savetype": "Tipo del tiro salvezza",
|
||||
"WH.ui.Touch": "Tocco",
|
||||
"WH.ui.Ingestion": "Ingestione",
|
||||
"WH.ui.Weapon": "Arma",
|
||||
"WH.ui.halfdamage": "Dimezza",
|
||||
"WH.ui.ignore": "Nega",
|
||||
"WH.ui.dcfind": "CD per trovare",
|
||||
"WH.ui.dcdisable": "CD per disattivare ",
|
||||
"WH.ui.throwtohit": "Tiro per colpire",
|
||||
"WH.ui.mandatoryfor": "Obbligatorio per",
|
||||
"WH.ui.generic": "Generico",
|
||||
"WH.ui.bless": "Benedizione",
|
||||
"WH.ui.spell": "Incantesimo (Potere)",
|
||||
"WH.ui.poison": "Veleno",
|
||||
"WH.ui.disease": "Malattia",
|
||||
"WH.ui.curse": "Maledizione",
|
||||
"WH.ui.permanent": "Permanente",
|
||||
"WH.ui.temporary": "Temporanea",
|
||||
"WH.ui.begin": "Inizio",
|
||||
"WH.ui.specialduration": "Durata speciale",
|
||||
"WH.ui.infinite": "Infinita",
|
||||
"WH.uiwithineor": "Entro la fine del round",
|
||||
"WH.ui.beginr": "All' inizio del prossimo round",
|
||||
"WH.ui.nextr": "Prossimo round",
|
||||
"WH.ui.nextcombat": "Al prossimo combattimento",
|
||||
"WH.ui.untilendcombat": "Fino alla fine del combattimento",
|
||||
"WH.ui.beginturn": "Inizio del turno",
|
||||
"WH.ui.endturn": "Fine del turno",
|
||||
"WH.ui.durationvalue": "Durata",
|
||||
"WH.ui.durationunit": "Durata (unità di misura)",
|
||||
"WH.ui.dcsave": "CD",
|
||||
"WH.ui.incubationtime": "Tempo di incubazione",
|
||||
"WH.ui.diseaseduration": "Durata malattia",
|
||||
"WH.ui.ignoreeffect": "Ignora effetto",
|
||||
"WH.ui.raceSkills": "Abilità di razza",
|
||||
"WH.ui.identified": "Identificato",
|
||||
"WH.ui.isclasssecondary": "Classe secondaria?",
|
||||
"WH.ui.secondaryclass": "Super warhero",
|
||||
"WH.ui.meleedamagebonus": "Bonus ai danni in corpo a corpo",
|
||||
"WH.ui.rangeddamagebonus": "Bonus ai danni a distanza",
|
||||
"WH.ui.notapplicable": "Non applicabile",
|
||||
"WH.ui.chargedaily": "Al giorno",
|
||||
"WH.ui.chargelimited": "Limitate",
|
||||
"WH.ui.magiccharge": "Cariche magiche",
|
||||
"WH.ui.chargevalue": "Valore delle cariche",
|
||||
"WH.ui.allitems": "Tutti gli oggetti",
|
||||
"WH.ui.small": "Piccola",
|
||||
"WH.ui.medium": "Media",
|
||||
"WH.ui.large": "Grande",
|
||||
|
||||
"WH.ui.bodyslots": "Corpo",
|
||||
"WH.ui.containerslot": "Contenitori",
|
||||
|
||||
"WH.chat.save": "Salva",
|
||||
"WH.chat.mweaponmalus": "Malus attacchi con più armi",
|
||||
"WH.chat.diceresult": "Risultato del dado",
|
||||
"WH.chat.result": "Risultato",
|
||||
"WH.chat.parysuccess": "Parato con successo !",
|
||||
"WH.chat.paryfailed": "Parata fallita !",
|
||||
"WH.chat.rollformula": "Formula del dado",
|
||||
"WH.chat.useshield":"Usare scudo?",
|
||||
"WH.chat.power": "Potere",
|
||||
"WH.chat.powerlevel": "Livello di potere",
|
||||
|
||||
"WH.notif.skillmaxuse": "Usi massimi raggiunti",
|
||||
"WH.notif.toomanyuses": "Usi massimi raggiunti"
|
||||
}
|
File diff suppressed because it is too large
Load Diff
@ -14,7 +14,7 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["fvtt-warhero", "sheet", "actor"],
|
||||
template: "systems/fvtt-warhero/templates/actor-sheet.html",
|
||||
width: 720,
|
||||
width: 960,
|
||||
height: 720,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "skills" }],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||
@ -24,13 +24,8 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
|
||||
this.actor.setLevel()
|
||||
this.actor.computeDRTotal()
|
||||
this.actor.computeParryBonusTotal()
|
||||
this.actor.computeBonusLanguages()
|
||||
const objectData = duplicate(this.object.system)
|
||||
let race = this.actor.getRace()
|
||||
const objectData = this.object.system
|
||||
let actorData = duplicate(objectData)
|
||||
|
||||
let formData = {
|
||||
title: this.title,
|
||||
@ -40,50 +35,32 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
name: this.actor.name,
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
system: objectData,
|
||||
data: actorData,
|
||||
limited: this.object.limited,
|
||||
compentencyItems:this.actor.getCompetencyItems( ),
|
||||
skills: this.actor.getNormalSkills( ),
|
||||
raceSkills: this.actor.getRaceSkills( ),
|
||||
classSkills: this.actor.getClassSkills( ),
|
||||
languages: this.actor.getLanguages( ),
|
||||
skills: this.actor.getSkills( ),
|
||||
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ),
|
||||
conditions: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getConditions()) ),
|
||||
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
|
||||
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())),
|
||||
spells: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getLore())),
|
||||
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsOnly()) ),
|
||||
equippedWeapons: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquippedWeapons()) ),
|
||||
equippedArmors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getEquippedArmors())),
|
||||
equippedShields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getEquippedShields())),
|
||||
powers: this.actor.sortPowers(),
|
||||
allItems: this.actor.getAllItems(),
|
||||
equippedArmor: this.actor.getEquippedArmor(),
|
||||
equippedShield: this.actor.getEquippedShield(),
|
||||
subActors: duplicate(this.actor.getSubActors()),
|
||||
competency: this.actor.getCompetency(),
|
||||
race: duplicate(race),
|
||||
mainClass: this.actor.getMainClass(),
|
||||
secondaryClass: this.actor.getSecondaryClass(),
|
||||
totalMoney: this.actor.computeTotalMoney(),
|
||||
equipments: duplicate(this.actor.getEquipmentsOnly()),
|
||||
//moneys: duplicate(this.actor.getMoneys()),
|
||||
race: duplicate(this.actor.getRace()),
|
||||
moneys: duplicate(this.actor.getMoneys()),
|
||||
encCapacity: this.actor.getEncumbranceCapacity(),
|
||||
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
|
||||
notes: await TextEditor.enrichHTML(this.object.system.biodata.notes, {async: true}),
|
||||
containersTree: this.actor.containersTree,
|
||||
encCurrent: this.actor.encCurrent,
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
editScore: this.options.editScore,
|
||||
isGM: game.user.isGM
|
||||
}
|
||||
if (this.actor.type == "party") {
|
||||
formData.partySlots = this.actor.buildPartySlots()
|
||||
} else {
|
||||
formData.equipmentContainers = this.actor.buildEquipmentsSlot()
|
||||
formData.bodyContainers = this.actor.buildBodySlot()
|
||||
}
|
||||
// Dynamic patch
|
||||
formData.system.secondary.counterspell.hasmax = false
|
||||
// Race mngt
|
||||
if ( race && race.name) {
|
||||
formData.hpprogression = game.system.warhero.config.progressionList[race.system.hpprogresion]
|
||||
}
|
||||
this.formData = formData
|
||||
this.formData = formData;
|
||||
|
||||
console.log("PC : ", formData, this.object);
|
||||
return formData;
|
||||
}
|
||||
@ -115,8 +92,7 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
})
|
||||
html.find('.item-add').click(ev => {
|
||||
let dataType = $(ev.currentTarget).data("type")
|
||||
let slotKey = $(ev.currentTarget).data("slot")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: "NewItem", type: dataType, system: { slotlocation: slotKey} }], { renderSheet: true })
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: "NewItem", type: dataType }], { renderSheet: true })
|
||||
})
|
||||
|
||||
html.find('.equip-activate').click(ev => {
|
||||
@ -150,15 +126,6 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity( li.data("item-id"), +1 );
|
||||
} );
|
||||
html.find('.skill-use-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecSkillUse( li.data("item-id"), -1 );
|
||||
} );
|
||||
html.find('.skill-use-plus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecSkillUse( li.data("item-id"), +1 );
|
||||
} );
|
||||
|
||||
|
||||
html.find('.ammo-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
@ -169,36 +136,37 @@ export class WarheroActorSheet extends ActorSheet {
|
||||
this.actor.incDecAmmo( li.data("item-id"), +1 )
|
||||
} );
|
||||
|
||||
html.find('.roll-this').click((event) => {
|
||||
const rollType = $(event.currentTarget).data("type")
|
||||
const statKey = $(event.currentTarget).data("key")
|
||||
this.actor.rollFromType(rollType, statKey)
|
||||
html.find('.roll-ability').click((event) => {
|
||||
const abilityKey = $(event.currentTarget).data("ability-key");
|
||||
this.actor.rollAbility(abilityKey);
|
||||
});
|
||||
html.find('.roll-save').click((event) => {
|
||||
const rollType = $(event.currentTarget).data("type")
|
||||
const statKey = $(event.currentTarget).data("key")
|
||||
this.actor.rollSaveFromType(rollType, statKey)
|
||||
html.find('.roll-skill').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const skillId = li.data("item-id")
|
||||
this.actor.rollSkill(skillId)
|
||||
});
|
||||
|
||||
html.find('.roll-weapon').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const weaponId = li.data("item-id")
|
||||
this.actor.rollWeapon(weaponId)
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
const skillId = li.data("item-id")
|
||||
this.actor.rollWeapon(skillId)
|
||||
});
|
||||
html.find('.power-roll').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const powerId = li.data("item-id")
|
||||
this.actor.rollPower(powerId)
|
||||
html.find('.roll-armor-die').click((event) => {
|
||||
this.actor.rollArmorDie()
|
||||
});
|
||||
html.find('.roll-damage').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const weaponId = li.data("item-id")
|
||||
this.actor.rollDamage(weaponId)
|
||||
html.find('.roll-shield-die').click((event) => {
|
||||
this.actor.rollShieldDie()
|
||||
});
|
||||
html.find('.roll-damage-2hands').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const weaponId = li.data("item-id")
|
||||
this.actor.rollDamage(weaponId, true)
|
||||
html.find('.roll-target-die').click((event) => {
|
||||
this.actor.rollDefenseRanged()
|
||||
});
|
||||
|
||||
html.find('.roll-save').click((event) => {
|
||||
const saveKey = $(event.currentTarget).data("save-key")
|
||||
this.actor.rollSave(saveKey)
|
||||
});
|
||||
|
||||
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
this.options.editScore = !this.options.editScore;
|
||||
this.render(true);
|
||||
|
@ -64,6 +64,25 @@ export class WarheroActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
computeHitPoints() {
|
||||
if (this.type == "character") {
|
||||
let hp = duplicate(this.system.secondary.hp)
|
||||
let max = (this.system.abilities.str.value + this.system.abilities.con.value) * 6
|
||||
if (max != hp.max || hp.value > max) {
|
||||
hp.max = max
|
||||
hp.value = max // Init case
|
||||
this.update({ 'system.secondary.hp': hp })
|
||||
}
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
computeEffortPoints() {
|
||||
if (this.type == "character") {
|
||||
let effort = duplicate(this.system.secondary.effort)
|
||||
let max = (this.system.abilities.con.value + this.system.abilities.int.value) * 6
|
||||
if (max != effort.max || effort.value > max) {
|
||||
effort.max = max
|
||||
effort.value = max // Init case
|
||||
this.update({ 'system.secondary.effort': effort })
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -71,7 +90,10 @@ export class WarheroActor extends Actor {
|
||||
prepareDerivedData() {
|
||||
|
||||
if (this.type == 'character' || game.user.isGM) {
|
||||
this.system.encCapacity = this.getEncumbranceCapacity()
|
||||
this.buildContainerTree()
|
||||
this.computeHitPoints()
|
||||
this.computeEffortPoints()
|
||||
}
|
||||
|
||||
super.prepareDerivedData();
|
||||
@ -123,70 +145,37 @@ export class WarheroActor extends Actor {
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getEquippedArmors() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'armor' && item.system.slotlocation == 'armor') || []);
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
getArmors() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'armor') || []);
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
getPowers() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'power') || []);
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
getEquippedArmor() {
|
||||
let comp = this.items.find(item => item.type == 'armor' && item.system.equipped)
|
||||
if (comp) {
|
||||
return duplicate(comp)
|
||||
}
|
||||
sortPowers() {
|
||||
let schools = {}
|
||||
for (let power of this.items) {
|
||||
if (power.type == "power") {
|
||||
power = duplicate(power)
|
||||
let school = schools[power.system.magicschool] || []
|
||||
school.push(power)
|
||||
WarheroUtility.sortArrayObjectsByNameAndLevel(school)
|
||||
schools[power.system.magicschool] = school
|
||||
}
|
||||
}
|
||||
return schools
|
||||
}
|
||||
getAllItems() {
|
||||
let comp = duplicate(this.items || []);
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
return undefined
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getEquippedShields() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'shield' && item.system.slotlocation == "shield") || []);
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
getShields() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'shield') || []);
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
getEquippedShield() {
|
||||
let comp = this.items.find(item => item.type == 'shield' && item.system.equipped)
|
||||
if (comp) {
|
||||
return duplicate(comp)
|
||||
}
|
||||
return undefined
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getRace() {
|
||||
let race = this.items.filter(item => item.type == 'race')
|
||||
return race[0] ?? [];
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getMainClass() {
|
||||
let classWH = this.items.find(item => item.type == 'class' && !item.system.issecondary)
|
||||
return classWH
|
||||
}
|
||||
getSecondaryClass() {
|
||||
let classWH = this.items.find(item => item.type == 'class' && item.system.issecondary)
|
||||
return classWH
|
||||
}
|
||||
getClasses() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == "class") || []);
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
checkAndPrepareEquipment(item) {
|
||||
}
|
||||
|
||||
@ -197,88 +186,7 @@ export class WarheroActor extends Actor {
|
||||
}
|
||||
return listItem
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
computeTotalMoney() {
|
||||
let nbMoney = 0
|
||||
this.items.forEach(it => { if (it.type == 'money') { nbMoney += it.system.quantity } })
|
||||
return nbMoney
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
buildPartySlots() {
|
||||
let containers = {}
|
||||
for (let slotName in game.system.warhero.config.partySlotNames) {
|
||||
let slotDef = game.system.warhero.config.partySlotNames[slotName]
|
||||
containers[slotName] = duplicate(slotDef)
|
||||
containers[slotName].content = this.items.filter(it => (it.type == 'money' || it.type == 'weapon' || it.type == 'armor' || it.type == 'shield' || it.type == 'equipment') )
|
||||
let slotUsed = 0
|
||||
for (let item of containers[slotName].content) {
|
||||
let q = (item.system.quantity) ? item.system.quantity : 1
|
||||
containers[slotName].nbslots += (item.system.providedslot ?? 0) * q
|
||||
if (item.type == "money") {
|
||||
slotUsed += Math.ceil(item.system.quantity / 1000)
|
||||
} else {
|
||||
slotUsed += item.system.slotused * q
|
||||
}
|
||||
}
|
||||
slotUsed = Math.ceil(slotUsed)
|
||||
containers[slotName].slotUsed = slotUsed
|
||||
}
|
||||
return containers
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
buildBodySlot() {
|
||||
let containers = {}
|
||||
for (let slotName in game.system.warhero.config.slotNames) {
|
||||
let slotDef = game.system.warhero.config.slotNames[slotName]
|
||||
if (!slotDef.container) {
|
||||
containers[slotName] = duplicate(slotDef)
|
||||
containers[slotName].content = this.items.filter(it => (it.type == 'money' || it.type == 'weapon' || it.type == 'armor' || it.type == 'shield' || it.type == 'equipment')
|
||||
&& it.system.slotlocation == slotName)
|
||||
let slotUsed = 0
|
||||
for (let item of containers[slotName].content) {
|
||||
let q = (item.system.quantity) ? item.system.quantity : 1
|
||||
containers[slotName].nbslots += (item.system.providedslot ?? 0) * q
|
||||
if (item.type == "money") {
|
||||
slotUsed += Math.ceil(item.system.quantity / 1000)
|
||||
} else {
|
||||
slotUsed += item.system.slotused * q
|
||||
}
|
||||
}
|
||||
slotUsed = Math.ceil(slotUsed)
|
||||
containers[slotName].slotUsed = slotUsed
|
||||
}
|
||||
}
|
||||
return containers
|
||||
}
|
||||
|
||||
|
||||
/* -------------------------------------------- */
|
||||
buildEquipmentsSlot() {
|
||||
let containers = {}
|
||||
for (let slotName in game.system.warhero.config.slotNames) {
|
||||
let slotDef = game.system.warhero.config.slotNames[slotName]
|
||||
if (slotDef.container) {
|
||||
containers[slotName] = duplicate(slotDef)
|
||||
containers[slotName].content = this.items.filter(it => (it.type == 'money' || it.type == 'weapon' || it.type == 'armor' || it.type == 'shield' || it.type == 'equipment')
|
||||
&& it.system.slotlocation == slotName)
|
||||
let slotUsed = 0
|
||||
for (let item of containers[slotName].content) {
|
||||
let q = (item.system.quantity) ? item.system.quantity : 1
|
||||
containers[slotName].nbslots += (item.system.providedslot ?? 0) * q
|
||||
if (item.type == "money") {
|
||||
slotUsed += Math.ceil(item.system.quantity / 1000)
|
||||
} else {
|
||||
slotUsed += item.system.slotused * q
|
||||
}
|
||||
}
|
||||
slotUsed = Math.ceil(slotUsed)
|
||||
containers[slotName].slotUsed = slotUsed
|
||||
}
|
||||
}
|
||||
return containers
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getConditions() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'condition') || []);
|
||||
@ -286,48 +194,8 @@ export class WarheroActor extends Actor {
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
prepareWeapon(weapon) {
|
||||
let formula = weapon.system.damage
|
||||
if (weapon.system.weapontype == "long" || weapon.system.weapontype == "short") {
|
||||
formula += "+" + this.system.statistics.str.value
|
||||
}
|
||||
if (weapon.system.weapontype == "twohanded") {
|
||||
formula += "+" + Math.floor(this.system.statistics.str.value * 1.5)
|
||||
}
|
||||
if (weapon.system.weapontype == "polearm") {
|
||||
formula += "+" + Math.floor(this.system.statistics.str.value * 1)
|
||||
weapon.damageFormula2Hands = weapon.system.damage2hands + "+" + Math.floor(this.system.statistics.str.value * 1.5)
|
||||
}
|
||||
if (weapon.system.weapontype == "throwing" || weapon.system.weapontype == "shooting") {
|
||||
formula += "+"+this.system.secondary.rangeddamagebonus.value
|
||||
} else if ( weapon.system.weapontype != "special" ) {
|
||||
formula += "+"+this.system.secondary.meleedamagebonus.value
|
||||
if (weapon.damageFormula2Hands) {
|
||||
weapon.damageFormula2Hands += "+"+this.system.secondary.meleedamagebonus.value
|
||||
}
|
||||
}
|
||||
weapon.damageFormula = formula
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getEquippedWeapons() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'weapon' && (item.system.slotlocation == "weapon1" || item.system.slotlocation == "weapon2") ) || []);
|
||||
for (let weapon of comp) {
|
||||
this.prepareWeapon(weapon)
|
||||
}
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
getWeapons() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'weapon') || []);
|
||||
for (let weapon of comp) {
|
||||
this.prepareWeapon(weapon)
|
||||
}
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getConditions() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'condition') || []);
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
@ -339,30 +207,13 @@ export class WarheroActor extends Actor {
|
||||
}
|
||||
return item;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getLanguages() {
|
||||
let comp = this.items.filter(it => it.type == "language")
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getNormalSkills() {
|
||||
let comp = this.items.filter(it => it.type == "skill" && !it.system.classskill && !it.system.raceskill)
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp
|
||||
}
|
||||
getRaceSkills() {
|
||||
let comp = this.items.filter(it => it.type == "skill" && it.system.raceskill)
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp
|
||||
}
|
||||
getClassSkills() {
|
||||
let comp = this.items.filter(it => it.type == "skill" && it.system.classskill)
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp
|
||||
}
|
||||
getSkills() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'skill') || [])
|
||||
for (let skill of comp) {
|
||||
WarheroUtility.updateSkill(skill)
|
||||
}
|
||||
WarheroUtility.sortArrayObjectsByName(comp)
|
||||
return comp
|
||||
}
|
||||
@ -410,10 +261,7 @@ export class WarheroActor extends Actor {
|
||||
|
||||
/* ------------------------------------------- */
|
||||
getEquipments() {
|
||||
return this.items.filter(item => item.type == 'shield' || item.type == 'armor' || item.type == "weapon" || item.type == "equipment" || item.type == "potion" || item.type == "poison" || item.type == "trap" || item.type == "classitem");
|
||||
}
|
||||
getCompetencyItems() {
|
||||
return duplicate(this.items.filter(item => item.type == "competency") || [])
|
||||
return this.items.filter(item => item.type == 'shield' || item.type == 'armor' || item.type == "weapon" || item.type == "equipment");
|
||||
}
|
||||
/* ------------------------------------------- */
|
||||
getEquipmentsOnly() {
|
||||
@ -502,37 +350,6 @@ export class WarheroActor extends Actor {
|
||||
this.update({ 'system.secondary.hp': hp })
|
||||
return Number(dmgRoll.total)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
updateCompetency(competency, obj, labelTab) {
|
||||
for (let key in obj) {
|
||||
if (obj[key]) {
|
||||
//console.log("Parsing", key) //game.system.warhero.config.weaponTypes[key].label)
|
||||
competency[key] = { enabled: true, label: labelTab[key].label }
|
||||
}
|
||||
}
|
||||
}
|
||||
getCompetency() {
|
||||
let myRace = this.getRace()
|
||||
let myClass1 = this.getMainClass()
|
||||
let myClass2 = this.getSecondaryClass()
|
||||
let competency = { weapons: {}, armors: {}, shields: {} }
|
||||
if (myRace.system) {
|
||||
this.updateCompetency(competency.weapons, myRace.system.weapons, game.system.warhero.config.weaponTypes)
|
||||
this.updateCompetency(competency.armors, myRace.system.armors, game.system.warhero.config.armorTypes)
|
||||
this.updateCompetency(competency.shields, myRace.system.shields, game.system.warhero.config.shieldTypes)
|
||||
}
|
||||
if (myClass1 && myClass1.system) {
|
||||
this.updateCompetency(competency.weapons, myClass1.system.weapons, game.system.warhero.config.weaponTypes)
|
||||
this.updateCompetency(competency.armors, myClass1.system.armors, game.system.warhero.config.armorTypes)
|
||||
this.updateCompetency(competency.shields, myClass1.system.shields, game.system.warhero.config.shieldTypes)
|
||||
}
|
||||
if (myClass2 && myClass2.system) {
|
||||
this.updateCompetency(competency.weapons, myClass2.system.weapons, game.system.warhero.config.weaponTypes)
|
||||
this.updateCompetency(competency.armors, myClass2.system.armors, game.system.warhero.config.armorTypes)
|
||||
this.updateCompetency(competency.shields, myClass2.system.shields, game.system.warhero.config.shieldTypes)
|
||||
}
|
||||
return competency
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getAbility(abilKey) {
|
||||
@ -578,10 +395,12 @@ export class WarheroActor extends Actor {
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async getInitiativeScore(combatId, combatantId) {
|
||||
let roll = new Roll("1d20+" + this.system.attributes.ini.value).roll({ async: false })
|
||||
await WarheroUtility.showDiceSoNice(roll, game.settings.get("core", "rollMode"))
|
||||
return roll.total
|
||||
getInitiativeScore(combatId, combatantId) {
|
||||
if (this.type == 'character') {
|
||||
this.rollMR(true, combatId, combatantId)
|
||||
}
|
||||
console.log("Init required !!!!")
|
||||
return -1;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -662,19 +481,7 @@ export class WarheroActor extends Actor {
|
||||
}
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async incDecSkillUse(skillId, value) {
|
||||
let skill = this.items.get(skillId)
|
||||
if (skill) {
|
||||
let newUse = skill.system.currentuse + value
|
||||
if (newUse > skill.system.maxuse) {
|
||||
ui.notifications.warn(game.i18n.localize("WH.notif.skillmaxuse"))
|
||||
return
|
||||
}
|
||||
newUse = Math.max(newUse, 0)
|
||||
this.updateEmbeddedDocuments('Item', [{ _id: skill.id, 'system.currentuse': newUse }])
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async incDecQuantity(objetId, incDec = 0) {
|
||||
let objetQ = this.items.get(objetId)
|
||||
@ -724,141 +531,273 @@ export class WarheroActor extends Actor {
|
||||
isAttackerAdvantage() {
|
||||
return this.items.find(cond => cond.type == "condition" && cond.system.targetadvantage)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
setLevel() {
|
||||
let xp = this.system.secondary.xp.value
|
||||
this.system.secondary.xp.level = 1 + Math.floor(xp / 10)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
computeDRTotal() {
|
||||
let armors = this.items.filter(it => it.type == "armor" && it.system.slotlocation == 'armor')
|
||||
let dr = 0
|
||||
for (let armor of armors) {
|
||||
dr += armor.system.damagereduction
|
||||
}
|
||||
this.system.secondary.drbonustotal.value = this.system.secondary.drbonus.value + dr
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
computeParryBonusTotal() {
|
||||
let shields = this.items.filter(it => it.type == "shield" && it.system.slotlocation == 'shield')
|
||||
let parry = 0
|
||||
for (let shield of shields) {
|
||||
parry += shield.system.parrybonus
|
||||
}
|
||||
this.system.secondary.parrybonustotal.value = this.system.secondary.parrybonus.value + parry
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
computeBonusLanguages() {
|
||||
this.system.secondary.nblanguage.value = Math.floor(this.system.statistics.min.value / 2)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
spentMana(spentValue) {
|
||||
let mana = duplicate(this.system.attributes.mana)
|
||||
if (Number(spentValue) > mana.value) {
|
||||
ui.notifications.warn("Not enough Mana points !")
|
||||
return false
|
||||
}
|
||||
mana.value -= Number(spentValue)
|
||||
this.update({ 'system.attributes.mana': mana })
|
||||
return true
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
incrementUse(rollData) {
|
||||
let stat = duplicate(this.system[rollData.mode][rollData.statKey])
|
||||
stat.nbuse++
|
||||
this.update({ [`system.${rollData.mode}.${rollData.statKey}`]: stat })
|
||||
getCommonRollData(abilityKey = undefined) {
|
||||
let noAction = this.isNoAction()
|
||||
if (noAction) {
|
||||
ui.notifications.warn("You can't do any actions du to the condition : " + noAction.name)
|
||||
return
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
getCommonRollData() {
|
||||
let rollData = WarheroUtility.getBasicRollData()
|
||||
rollData.alias = this.name
|
||||
rollData.actorImg = this.img
|
||||
rollData.actorId = this.id
|
||||
rollData.img = this.img
|
||||
rollData.featsDie = this.getFeatsWithDie()
|
||||
rollData.featsSL = this.getFeatsWithSL()
|
||||
rollData.armors = this.getArmors()
|
||||
rollData.conditions = this.getConditions()
|
||||
rollData.featDieName = "none"
|
||||
rollData.featSLName = "none"
|
||||
rollData.rollAdvantage = "none"
|
||||
rollData.advantage = "none"
|
||||
rollData.disadvantage = "none"
|
||||
rollData.forceAdvantage = this.isForcedAdvantage()
|
||||
rollData.forceDisadvantage = this.isForcedDisadvantage()
|
||||
rollData.forceRollAdvantage = this.isForcedRollAdvantage()
|
||||
rollData.forceRollDisadvantage = this.isForcedRollDisadvantage()
|
||||
rollData.noAdvantage = this.isNoAdvantage()
|
||||
if (rollData.defenderTokenId) {
|
||||
let defenderToken = game.canvas.tokens.get(rollData.defenderTokenId)
|
||||
let defender = defenderToken.actor
|
||||
|
||||
// Distance management
|
||||
let token = this.token
|
||||
if (!token) {
|
||||
let tokens = this.getActiveTokens()
|
||||
token = tokens[0]
|
||||
}
|
||||
if (token) {
|
||||
const ray = new Ray(token.object?.center || token.center, defenderToken.center)
|
||||
rollData.tokensDistance = canvas.grid.measureDistances([{ ray }], { gridSpaces: false })[0] / canvas.grid.grid.options.dimensions.distance
|
||||
} else {
|
||||
ui.notifications.info("No token connected to this actor, unable to compute distance.")
|
||||
return
|
||||
}
|
||||
if (defender) {
|
||||
rollData.forceAdvantage = defender.isAttackerAdvantage()
|
||||
rollData.advantageFromTarget = true
|
||||
}
|
||||
}
|
||||
|
||||
if (abilityKey) {
|
||||
rollData.ability = this.getAbility(abilityKey)
|
||||
rollData.selectedKill = undefined
|
||||
}
|
||||
|
||||
console.log("ROLLDATA", rollData)
|
||||
|
||||
return rollData
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollFromType(rollType, rollKey) {
|
||||
let stat = duplicate(this.system[rollType][rollKey])
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = rollType
|
||||
rollData.statKey = rollKey
|
||||
rollData.stat = stat
|
||||
if (stat && stat.stat) {
|
||||
rollData.statBonus = duplicate(this.system.statistics[stat.stat])
|
||||
}
|
||||
if (stat.hasuse && stat.nbuse >= stat.maxuse) {
|
||||
ui.notifications.warn(game.i18n.localize("WH.notif.toomanyuses"))
|
||||
rollAbility(abilityKey) {
|
||||
let rollData = this.getCommonRollData(abilityKey)
|
||||
rollData.mode = "ability"
|
||||
if (rollData.target) {
|
||||
ui.notifications.warn("You are targetting a token with a skill : please use a Weapon instead.")
|
||||
return
|
||||
}
|
||||
if (rollKey == "parrybonustotal") {
|
||||
WarheroUtility.rollParry(rollData)
|
||||
return
|
||||
}
|
||||
this.startRoll(rollData)
|
||||
WarheroUtility.rollWarhero(rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollSaveFromType(rollType, rollKey) {
|
||||
let stat = duplicate(this.system[rollType][rollKey])
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "save"
|
||||
rollData.stat = stat
|
||||
rollSkill(skillId) {
|
||||
let skill = this.items.get(skillId)
|
||||
if (skill) {
|
||||
if (skill.system.islore && skill.system.level == 0) {
|
||||
ui.notifications.warn("You can't use Lore Skills with a SL of 0.")
|
||||
return
|
||||
}
|
||||
skill = duplicate(skill)
|
||||
WarheroUtility.updateSkill(skill)
|
||||
let abilityKey = skill.system.ability
|
||||
let rollData = this.getCommonRollData(abilityKey)
|
||||
rollData.mode = "skill"
|
||||
rollData.skill = skill
|
||||
rollData.img = skill.img
|
||||
if (rollData.target) {
|
||||
ui.notifications.warn("You are targetting a token with a skill : please use a Weapon instead.")
|
||||
return
|
||||
}
|
||||
this.startRoll(rollData)
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollWeapon(weaponId) {
|
||||
let weapon = this.items.get(weaponId)
|
||||
if (weapon) {
|
||||
weapon = duplicate(weapon)
|
||||
let rollData = this.getCommonRollData()
|
||||
let skill = this.items.find(item => item.name.toLowerCase() == weapon.system.skill.toLowerCase())
|
||||
if (skill) {
|
||||
skill = duplicate(skill)
|
||||
WarheroUtility.updateSkill(skill)
|
||||
let abilityKey = skill.system.ability
|
||||
let rollData = this.getCommonRollData(abilityKey)
|
||||
rollData.mode = "weapon"
|
||||
if (weapon.system.weapontype === "shooting" || weapon.system.weapontype === "throwing") {
|
||||
rollData.stat = duplicate(this.system.attributes.txcr)
|
||||
} else {
|
||||
rollData.stat = duplicate(this.system.attributes.txcm)
|
||||
}
|
||||
rollData.usemWeaponMalus = false
|
||||
rollData.mWeaponMalus = this.system.secondary.malusmultiweapon.value
|
||||
rollData.skill = skill
|
||||
rollData.weapon = weapon
|
||||
rollData.img = weapon.img
|
||||
if (!rollData.forceDisadvantage) { // This is an attack, check if disadvantaged
|
||||
rollData.forceDisadvantage = this.isAttackDisadvantage()
|
||||
}
|
||||
/*if (rollData.weapon.system.isranged && rollData.tokensDistance > WarheroUtility.getWeaponMaxRange(rollData.weapon) ) {
|
||||
ui.notifications.warn(`Your target is out of range of your weapon (max: ${WarheroUtility.getWeaponMaxRange(rollData.weapon)} - current : ${rollData.tokensDistance})` )
|
||||
return
|
||||
}*/
|
||||
this.startRoll(rollData)
|
||||
} else {
|
||||
ui.notifications.warn("Unable to find the relevant skill for weapon " + weapon.name)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollDamage(weaponId, is2hands = false) {
|
||||
let weapon = this.items.get(weaponId)
|
||||
rollDefenseMelee(attackRollData) {
|
||||
let weapon = this.items.get(attackRollData.defenseWeaponId)
|
||||
if (weapon) {
|
||||
weapon = duplicate(weapon)
|
||||
this.prepareWeapon(weapon)
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "damage"
|
||||
let skill = this.items.find(item => item.name.toLowerCase() == weapon.system.skill.toLowerCase())
|
||||
if (skill) {
|
||||
skill = duplicate(skill)
|
||||
WarheroUtility.updateSkill(skill)
|
||||
let abilityKey = skill.system.ability
|
||||
let rollData = this.getCommonRollData(abilityKey)
|
||||
rollData.defenderTokenId = undefined // Cleanup
|
||||
rollData.mode = "weapondefense"
|
||||
rollData.shield = this.getEquippedShield()
|
||||
rollData.attackRollData = duplicate(attackRollData)
|
||||
rollData.skill = skill
|
||||
rollData.weapon = weapon
|
||||
rollData.is2hands = is2hands
|
||||
rollData.img = weapon.img
|
||||
if (!rollData.forceDisadvantage) { // This is an attack, check if disadvantaged
|
||||
rollData.forceDisadvantage = this.isDefenseDisadvantage()
|
||||
}
|
||||
|
||||
this.startRoll(rollData)
|
||||
} else {
|
||||
ui.notifications.warn("Unable to find the relevant skill for weapon " + weapon.name)
|
||||
}
|
||||
} else {
|
||||
ui.notifications.warn("Weapon not found ! ")
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollDefenseRanged(attackRollData) {
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.defenderTokenId = undefined // Cleanup
|
||||
rollData.mode = "rangeddefense"
|
||||
if ( attackRollData) {
|
||||
rollData.attackRollData = duplicate(attackRollData)
|
||||
rollData.effectiveRange = WarheroUtility.getWeaponRange(attackRollData.weapon)
|
||||
rollData.tokensDistance = attackRollData.tokensDistance // QoL copy
|
||||
}
|
||||
rollData.sizeDice = WarheroUtility.getSizeDice(this.system.biodata.size)
|
||||
rollData.distanceBonusDice = 0 //Math.max(0, Math.floor((rollData.tokensDistance - rollData.effectiveRange) + 0.5))
|
||||
rollData.hasCover = "none"
|
||||
rollData.situational = "none"
|
||||
rollData.useshield = false
|
||||
rollData.shield = this.getEquippedShield()
|
||||
this.startRoll(rollData)
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollPower(powerId) {
|
||||
let power = this.items.get(powerId)
|
||||
if (power) {
|
||||
power = duplicate(power)
|
||||
rollShieldDie() {
|
||||
let shield = this.getEquippedShield()
|
||||
if (shield) {
|
||||
shield = duplicate(shield)
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "power"
|
||||
rollData.power = power
|
||||
rollData.powerLevel = Number(power.system.level)
|
||||
rollData.img = power.img
|
||||
rollData.hasBM = false
|
||||
rollData.mode = "shield"
|
||||
rollData.shield = shield
|
||||
rollData.useshield = true
|
||||
rollData.img = shield.img
|
||||
this.startRoll(rollData)
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async rollArmorDie(rollData = undefined) {
|
||||
let armor = this.getEquippedArmor()
|
||||
if (armor) {
|
||||
armor = duplicate(armor)
|
||||
let reduce = 0
|
||||
let multiply = 1
|
||||
let disadvantage = false
|
||||
let advantage = false
|
||||
let messages = ["Armor applied"]
|
||||
|
||||
if (rollData) {
|
||||
if (WarheroUtility.isArmorLight(armor) && WarheroUtility.isWeaponPenetrating(rollData.attackRollData.weapon)) {
|
||||
return { armorIgnored: true, nbSuccess: 0, messages: ["Armor ignored : Penetrating weapons ignore Light Armors."] }
|
||||
}
|
||||
if (WarheroUtility.isWeaponPenetrating(rollData.attackRollData.weapon)) {
|
||||
messages.push("Armor reduced by 1 (Penetrating weapon)")
|
||||
reduce = 1
|
||||
}
|
||||
if (WarheroUtility.isWeaponLight(rollData.attackRollData.weapon)) {
|
||||
messages.push("Armor with advantage (Light weapon)")
|
||||
advantage = true
|
||||
}
|
||||
if (WarheroUtility.isWeaponHeavy(rollData.attackRollData.weapon)) {
|
||||
messages.push("Armor with disadvantage (Heavy weapon)")
|
||||
disadvantage = true
|
||||
}
|
||||
if (WarheroUtility.isWeaponHack(rollData.attackRollData.weapon)) {
|
||||
messages.push("Armor reduced by 1 (Hack weapon)")
|
||||
reduce = 1
|
||||
}
|
||||
if (WarheroUtility.isWeaponUndamaging(rollData.attackRollData.weapon)) {
|
||||
messages.push("Armor multiplied by 2 (Undamaging weapon)")
|
||||
multiply = 2
|
||||
}
|
||||
}
|
||||
let diceColor = armor.system.absorprionroll
|
||||
let armorResult = await WarheroUtility.getRollTableFromDiceColor(diceColor, false)
|
||||
console.log("Armor log", armorResult)
|
||||
let armorValue = Math.max(0, (Number(armorResult.text) + reduce) * multiply)
|
||||
if (advantage || disadvantage) {
|
||||
let armorResult2 = await WarheroUtility.getRollTableFromDiceColor(diceColor, false)
|
||||
let armorValue2 = Math.max(0, (Number(armorResult2.text) + reduce) * multiply)
|
||||
if (advantage) {
|
||||
armorValue = (armorValue2 > armorValue) ? armorValue2 : armorValue
|
||||
messages.push(`Armor advantage - Roll 1 = ${armorValue} - Roll 2 = ${armorValue2}`)
|
||||
}
|
||||
if (disadvantage) {
|
||||
armorValue = (armorValue2 < armorValue) ? armorValue2 : armorValue
|
||||
messages.push(`Armor disadvantage - Roll 1 = ${armorValue} - Roll 2 = ${armorValue2}`)
|
||||
}
|
||||
}
|
||||
armorResult.armorValue = armorValue
|
||||
if (!rollData) {
|
||||
ChatMessage.create({ content: "Armor result : " + armorValue })
|
||||
}
|
||||
messages.push("Armor result : " + armorValue)
|
||||
return { armorIgnored: false, nbSuccess: armorValue, rawArmor: armorResult.text, messages: messages }
|
||||
}
|
||||
return { armorIgnored: true, nbSuccess: 0, messages: ["No armor equipped."] }
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
rollSave(saveKey) {
|
||||
let saves = this.getSaveRoll()
|
||||
let save = saves[saveKey]
|
||||
if (save) {
|
||||
save = duplicate(save)
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "save"
|
||||
rollData.save = save
|
||||
if (rollData.target) {
|
||||
ui.notifications.warn("You are targetting a token with a save roll - Not authorized.")
|
||||
return
|
||||
}
|
||||
this.startRoll(rollData)
|
||||
}
|
||||
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
async startRoll(rollData) {
|
||||
this.syncRoll(rollData)
|
||||
|
@ -9,7 +9,7 @@ export class WarheroCombat extends Combat {
|
||||
for (let cId = 0; cId < ids.length; cId++) {
|
||||
const c = this.combatants.get(ids[cId]);
|
||||
let id = c._id || c.id;
|
||||
let initBonus = c.actor ? await c.actor.getInitiativeScore( this.id, id ) : -1;
|
||||
let initBonus = c.actor ? c.actor.getInitiativeScore( this.id, id ) : -1;
|
||||
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: initBonus } ]);
|
||||
}
|
||||
|
||||
|
@ -4,10 +4,8 @@ export const WARHERO_CONFIG = {
|
||||
short: {damage: "1d6", label: "WH.conf.short"},
|
||||
long: {damage: "1d8", label: "WH.conf.long"},
|
||||
twohanded: {damage: "3d6", label: "WH.conf.twohanded"},
|
||||
polearm: {damage: "1d6", label: "WH.conf.polearm"},
|
||||
shooting: {damage: "2d6", label: "WH.conf.shooting"},
|
||||
throwing: {damage: "1d8", label: "WH.conf.throwing"},
|
||||
special: {damage: "1d6", label: "WH.conf.special"},
|
||||
},
|
||||
|
||||
armorTypes : {
|
||||
@ -22,90 +20,29 @@ export const WARHERO_CONFIG = {
|
||||
tower: {parry: "5", label: "WH.conf.towershield"},
|
||||
},
|
||||
|
||||
partySlotNames : {
|
||||
storage: {nbslots: 2000, itemtype:"equipment", label: "WH.conf.partystorage"}
|
||||
},
|
||||
|
||||
slotNames : {
|
||||
head: {nbslots: 1, itemtype:"armor", label: "WH.conf.head"},
|
||||
cloak: {nbslots: 1, itemtype:"equipment", label: "WH.conf.cloak"},
|
||||
weapon1: {nbslots: 1, itemtype:"weapon", label: "WH.conf.weapon1"},
|
||||
weapon2: {nbslots: 1, itemtype:"weapon", label: "WH.conf.weapon2"},
|
||||
gloves: {nbslots: 1, itemtype:"equipment",label: "WH.conf.gloves"},
|
||||
ring: {nbslots: 10, itemtype:"equipment",label: "WH.conf.ring"},
|
||||
dress: {nbslots: 1, itemtype:"equipment",label: "WH.conf.dress"},
|
||||
boots: {nbslots: 1, itemtype:"equipment",label: "WH.conf.boots"},
|
||||
armor: {nbslots: 1, itemtype:"armor",label: "WH.conf.armor"},
|
||||
shield: {nbslots: 1, itemtype:"shield",label: "WH.conf.shield"},
|
||||
belt: {nbslots: 6, itemtype:"equipment", container: true, available: true, parent: undefined, label: "WH.conf.belt"},
|
||||
quiver: {nbslots: 20, itemtype:"equipment",container: true, available: true, parent: undefined, label: "WH.conf.quiver"},
|
||||
backpack: {nbslots: 12, itemtype:"equipment",container: true, available: true, parent: undefined, label: "WH.conf.backpack"},
|
||||
beltpouch1: {nbslots: 4, itemtype:"equipment",container: true, available: true, parent: undefined, label: "WH.conf.beltpouch1"},
|
||||
beltpouch2: {nbslots: 4, itemtype:"equipment", container: true, available: true, parent: undefined, label: "WH.conf.beltpouch2"},
|
||||
beltpouch3: {nbslots: 4, itemtype:"equipment", container: true, available: true, parent: undefined, label: "WH.conf.beltpouch3"},
|
||||
scrollcase: {nbslots: 17, itemtype:"equipment", container: true, available: false, parent: undefined, label: "WH.conf.scrollcase"},
|
||||
wandcase: {nbslots: 10, itemtype:"equipment", container: true, available: false, parent: undefined, label: "WH.conf.wandcase"},
|
||||
potioncase: {nbslots: 8, itemtype:"equipment", container: true, available: false, parent: undefined, label: "WH.conf.potioncase"},
|
||||
bagholding: {nbslots: 30, itemtype:"equipment", container: true, available: false, parent: undefined, label: "WH.conf.bagholding"},
|
||||
quiverholding: {nbslots: 9999, itemtype:"equipment", container: true, available: false, parent: undefined, label: "WH.conf.quiverholding"},
|
||||
backpackholding: {nbslots: 90, itemtype:"equipment", container: true, available: false, parent: undefined, label: "WH.conf.backpackholding"},
|
||||
smallchest: {nbslots: 6, itemtype:"equipment", container: true, available: false, parent: undefined, label: "WH.conf.smallchest"},
|
||||
mediumchest: {nbslots: 12, itemtype:"equipment", container: true, available: false, parent: undefined, label: "WH.conf.mediumchest"},
|
||||
largechest: {nbslots: 24, itemtype:"equipment", container: true, available: false, parent: undefined, label: "WH.conf.largechest"},
|
||||
hugechest: {nbslots: 24, itemtype:"equipment", container: true, available: false, parent: undefined, label: "WH.conf.hugechest"},
|
||||
head: {nbslots: 1, label: "WH.conf.head"},
|
||||
cloak: {nbslots: 1, label: "WH.conf.cloak"},
|
||||
weapon1: {nbslots: 1, label: "WH.conf.weapon1"},
|
||||
weapon2: {nbslots: 1, label: "WH.conf.weapon2"},
|
||||
gloves: {nbslots: 1, label: "WH.conf.gloves"},
|
||||
ring: {nbslots: 10, label: "WH.conf.ring"},
|
||||
dress: {nbslots: 1, label: "WH.conf.dress"},
|
||||
boots: {nbslots: 1, label: "WH.conf.boots"},
|
||||
belt: {nbslots: 6, label: "WH.conf.belt"},
|
||||
quiver: {nbslots: 20, label: "WH.conf.quiver"},
|
||||
armor: {nbslots: 1, label: "WH.conf.armor"},
|
||||
shield: {nbslots: 1, label: "WH.conf.shield"},
|
||||
backpack: {nbslots: 12, label: "WH.conf.backpack"},
|
||||
beltpouch1: {nbslots: 4, label: "WH.conf.beltpouch1"},
|
||||
beltpouch2: {nbslots: 4, label: "WH.conf.beltpouch2"},
|
||||
beltpouch3: {nbslots: 4, label: "WH.conf.beltpouch3"},
|
||||
},
|
||||
|
||||
progressionList: {
|
||||
"high": "High (+6HP/Lvl)",
|
||||
"medium": "Medium (+4HP/Lvl)",
|
||||
"low": "Low (+2 HP/Lvl)"
|
||||
},
|
||||
|
||||
poisonApplication: {
|
||||
touch: "WH.ui.Touch",
|
||||
ingestion: "WH.ui.Ingestion",
|
||||
weapon: "WH.ui.Weapon"
|
||||
},
|
||||
|
||||
saveType: {
|
||||
halfdmg: "WH.ui.halfdamage",
|
||||
ignore: "WH.ui.ignoreeffect"
|
||||
},
|
||||
|
||||
conditionType : {
|
||||
generic: "WH.ui.generic",
|
||||
bless: "WH.ui.bless",
|
||||
spell: "WH.ui.spell",
|
||||
disease: "WH.ui.disease",
|
||||
poison: "WH.ui.poison",
|
||||
curse: "WH.u,i.curse"
|
||||
},
|
||||
|
||||
conditionDuration: {
|
||||
permanent: "WH.ui.permanent",
|
||||
temporary: "WH.ui.temporary"
|
||||
},
|
||||
|
||||
conditionSpecialDuration : {
|
||||
infinite: "WH.ui.infinite",
|
||||
withineor: "WH.uiwithineor",
|
||||
beginr: "WH.ui.beginr",
|
||||
nextr: "WH.ui.nextr",
|
||||
nextcombat: "WH.ui.nextcombat",
|
||||
untilendcombat: "WH.ui.untilendcombat",
|
||||
beginturn: "WH.ui.beginturn",
|
||||
endturn: "WH.ui.endturn"
|
||||
},
|
||||
magicCharge: {
|
||||
notapplicable: "WH.ui.notapplicable",
|
||||
chargedaily: "WH.ui.chargedaily",
|
||||
chargelimited: "WH.ui.chargelimited",
|
||||
},
|
||||
identifiedState: {
|
||||
unknown: "WH.conf.unknown",
|
||||
yes:"WH.conf.yes",
|
||||
no:"WH.conf.no",
|
||||
notapplicable:"WH.conf.notapplicable"
|
||||
}
|
||||
|
||||
}
|
@ -49,6 +49,9 @@ export class WarheroItemSheet extends ItemSheet {
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
|
||||
if ( this.object.type == "skill") {
|
||||
WarheroUtility.updateSkill(this.object)
|
||||
}
|
||||
let objectData = duplicate(this.object.system)
|
||||
|
||||
let itemData = objectData
|
||||
@ -63,12 +66,18 @@ export class WarheroItemSheet extends ItemSheet {
|
||||
config: game.system.warhero.config,
|
||||
description: await TextEditor.enrichHTML(this.object.system.description, {async: true}),
|
||||
system: itemData,
|
||||
statistics: duplicate(game.system.template.Actor.templates.core.statistics),
|
||||
limited: this.object.limited,
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
abilities: duplicate(game.model.Actor.character.abilities),
|
||||
isGM: game.user.isGM
|
||||
}
|
||||
if ( this.object.type == "power") {
|
||||
formData.level1 = await TextEditor.enrichHTML(this.object.system.level1, {async: true})
|
||||
formData.level2 = await TextEditor.enrichHTML(this.object.system.level2, {async: true})
|
||||
formData.level3 = await TextEditor.enrichHTML(this.object.system.level3, {async: true})
|
||||
formData.level4 = await TextEditor.enrichHTML(this.object.system.level4, {async: true})
|
||||
}
|
||||
this.options.editable = !(this.object.origin == "embeddedItem");
|
||||
console.log("ITEM DATA", formData, this);
|
||||
return formData;
|
||||
@ -124,6 +133,11 @@ export class WarheroItemSheet extends ItemSheet {
|
||||
const item = this.object.options.actor.getOwnedItem(li.data("item-id"));
|
||||
item.sheet.render(true);
|
||||
});
|
||||
|
||||
html.find('.delete-spec').click(ev => {
|
||||
this.object.update({ "data.specialisation": [{ name: 'None' }] });
|
||||
});
|
||||
|
||||
html.find('.delete-subitem').click(ev => {
|
||||
this.deleteSubitem(ev);
|
||||
});
|
||||
@ -134,6 +148,15 @@ export class WarheroItemSheet extends ItemSheet {
|
||||
let itemId = li.data("item-id");
|
||||
let itemType = li.data("item-type");
|
||||
});
|
||||
|
||||
html.find('.view-subitem').click(ev => {
|
||||
this.viewSubitem(ev);
|
||||
});
|
||||
|
||||
html.find('.view-spec').click(ev => {
|
||||
this.manageSpec();
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -11,7 +11,6 @@ export const defaultItemImg = {
|
||||
money: "systems/fvtt-warhero/images/icons/two-coins.svg",
|
||||
power: "systems/fvtt-warhero/images/icons/magia.webp",
|
||||
condition: "systems/fvtt-warhero/images/icons/stordenti.webp",
|
||||
language: "systems/fvtt-warhero/images/icons/linguaggi.webp"
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -11,9 +11,7 @@
|
||||
import { WarheroActor } from "./warhero-actor.js";
|
||||
import { WarheroItemSheet } from "./warhero-item-sheet.js";
|
||||
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
||||
import { WarheroPartySheet } from "./warhero-party-sheet.js";
|
||||
import { WarheroNPCSheet } from "./warhero-npc-sheet.js";
|
||||
import { WarheroMonsterSheet } from "./warhero-monster-sheet.js";
|
||||
import { WarheroUtility } from "./warhero-utility.js";
|
||||
import { WarheroCombat } from "./warhero-combat.js";
|
||||
import { WarheroItem } from "./warhero-item.js";
|
||||
@ -57,21 +55,30 @@ Hooks.once("init", async function () {
|
||||
CONFIG.Combat.documentClass = WarheroCombat
|
||||
CONFIG.Actor.documentClass = WarheroActor
|
||||
CONFIG.Item.documentClass = WarheroItem
|
||||
//CONFIG.Token.objectClass = WarheroToken
|
||||
|
||||
/* -------------------------------------------- */
|
||||
// Register sheet application classes
|
||||
Actors.unregisterSheet("core", ActorSheet);
|
||||
Actors.registerSheet("fvtt-warhero", WarheroActorSheet, { types: ["character"], makeDefault: true });
|
||||
Actors.registerSheet("fvtt-warhero", WarheroNPCSheet, { types: ["npc"], makeDefault: false });
|
||||
Actors.registerSheet("fvtt-warhero", WarheroMonsterSheet, { types: ["monster"], makeDefault: false });
|
||||
Actors.registerSheet("fvtt-warhero", WarheroPartySheet, { types: ["party"], makeDefault: false });
|
||||
Actors.registerSheet("fvtt-crucible", WarheroActorSheet, { types: ["character"], makeDefault: true });
|
||||
Actors.registerSheet("fvtt-crucible", WarheroNPCSheet, { types: ["npc"], makeDefault: false });
|
||||
|
||||
Items.unregisterSheet("core", ItemSheet);
|
||||
Items.registerSheet("fvtt-warhero", WarheroItemSheet, { makeDefault: true });
|
||||
Items.registerSheet("fvtt-crucible", WarheroItemSheet, { makeDefault: true });
|
||||
|
||||
WarheroUtility.init()
|
||||
});
|
||||
|
||||
/* -------------------------------------------- */
|
||||
function welcomeMessage() {
|
||||
ChatMessage.create({
|
||||
user: game.user.id,
|
||||
whisper: [game.user.id],
|
||||
content: `<div id="welcome-message-crucible"><span class="rdd-roll-part">
|
||||
<strong>Welcome to the Warhero RPG.</strong>
|
||||
` });
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Foundry VTT Initialization */
|
||||
/* -------------------------------------------- */
|
||||
@ -80,15 +87,29 @@ Hooks.once("ready", function () {
|
||||
// User warning
|
||||
if (!game.user.isGM && game.user.character == undefined) {
|
||||
ui.notifications.info("Warning ! No character linked to your user !");
|
||||
/*ChatMessage.create({
|
||||
content: "<b>WARNING</b> The player " + game.user.name + " is not linked to a character !",
|
||||
user: game.user._id
|
||||
});*/
|
||||
}
|
||||
|
||||
// CSS patch for v9
|
||||
if (game.version) {
|
||||
let sidebar = document.getElementById("sidebar");
|
||||
sidebar.style.width = "min-content";
|
||||
}
|
||||
|
||||
welcomeMessage();
|
||||
WarheroUtility.ready()
|
||||
WarheroCommands.init()
|
||||
WarheroHotbar.initDropbar()
|
||||
|
||||
})
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/* Foundry VTT Initialization */
|
||||
/* -------------------------------------------- */
|
||||
/*Hooks.on("chatMessage", (html, content, msg) => {
|
||||
Hooks.on("chatMessage", (html, content, msg) => {
|
||||
if (content[0] == '/') {
|
||||
let regExp = /(\S+)/g;
|
||||
let commands = content.match(regExp);
|
||||
@ -97,5 +118,5 @@ Hooks.once("ready", function () {
|
||||
}
|
||||
}
|
||||
return true;
|
||||
});*/
|
||||
});
|
||||
|
||||
|
@ -1,27 +0,0 @@
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
||||
|
||||
import { WarheroUtility } from "./warhero-utility.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class WarheroMonsterSheet extends WarheroActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["warhero-rpg", "sheet", "actor"],
|
||||
template: "systems/fvtt-warhero/templates/npc-sheet.html",
|
||||
width: 640,
|
||||
height: 720,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||
editScore: true
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -2,18 +2,18 @@
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
||||
|
||||
import { WarheroUtility } from "./warhero-utility.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class WarheroNPCSheet extends WarheroActorSheet {
|
||||
export class WarheroNPCSheet extends ActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["warhero-rpg", "sheet", "actor"],
|
||||
template: "systems/fvtt-warhero/templates/monster-sheet.html",
|
||||
template: "systems/fvtt-warhero/templates/npc-sheet.html",
|
||||
width: 640,
|
||||
height: 720,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
|
||||
@ -22,4 +22,188 @@ export class WarheroNPCSheet extends WarheroActorSheet {
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
const objectData = this.object.system
|
||||
let actorData = duplicate(objectData)
|
||||
|
||||
let formData = {
|
||||
title: this.title,
|
||||
id: this.actor.id,
|
||||
type: this.actor.type,
|
||||
img: this.actor.img,
|
||||
name: this.actor.name,
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
data: actorData,
|
||||
limited: this.object.limited,
|
||||
skills: this.actor.getSkills( ),
|
||||
weapons: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getWeapons()) ),
|
||||
armors: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getArmors())),
|
||||
shields: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getShields())),
|
||||
spells: this.actor.checkAndPrepareEquipments( duplicate(this.actor.getLore())),
|
||||
equipments: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquipmentsOnly()) ),
|
||||
equippedWeapons: this.actor.checkAndPrepareEquipments(duplicate(this.actor.getEquippedWeapons()) ),
|
||||
equippedArmor: this.actor.getEquippedArmor(),
|
||||
equippedShield: this.actor.getEquippedShield(),
|
||||
feats: duplicate(this.actor.getFeats()),
|
||||
subActors: duplicate(this.actor.getSubActors()),
|
||||
race: duplicate(this.actor.getRace()),
|
||||
moneys: duplicate(this.actor.getMoneys()),
|
||||
encCapacity: this.actor.getEncumbranceCapacity(),
|
||||
saveRolls: this.actor.getSaveRoll(),
|
||||
conditions: this.actor.getConditions(),
|
||||
containersTree: this.actor.containersTree,
|
||||
encCurrent: this.actor.encCurrent,
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
editScore: this.options.editScore,
|
||||
isGM: game.user.isGM
|
||||
}
|
||||
this.formData = formData;
|
||||
|
||||
console.log("PC : ", formData, this.object);
|
||||
return formData;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
// Everything below here is only needed if the sheet is editable
|
||||
if (!this.options.editable) return;
|
||||
|
||||
html.bind("keydown", function(e) { // Ignore Enter in actores sheet
|
||||
if (e.keyCode === 13) return false;
|
||||
});
|
||||
|
||||
// Update Inventory Item
|
||||
html.find('.item-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let itemId = li.data("item-id")
|
||||
const item = this.actor.items.get( itemId );
|
||||
item.sheet.render(true);
|
||||
});
|
||||
// Delete Inventory Item
|
||||
html.find('.item-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
WarheroUtility.confirmDelete(this, li)
|
||||
})
|
||||
html.find('.item-add').click(ev => {
|
||||
let dataType = $(ev.currentTarget).data("type")
|
||||
this.actor.createEmbeddedDocuments('Item', [{ name: "NewItem", type: dataType }], { renderSheet: true })
|
||||
})
|
||||
|
||||
html.find('.equip-activate').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let itemId = li.data("item-id")
|
||||
this.actor.equipActivate( itemId)
|
||||
});
|
||||
html.find('.equip-deactivate').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item")
|
||||
let itemId = li.data("item-id")
|
||||
this.actor.equipDeactivate( itemId)
|
||||
});
|
||||
|
||||
html.find('.subactor-edit').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
let actorId = li.data("actor-id");
|
||||
let actor = game.actors.get( actorId );
|
||||
actor.sheet.render(true);
|
||||
});
|
||||
|
||||
html.find('.subactor-delete').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
let actorId = li.data("actor-id");
|
||||
this.actor.delSubActor(actorId);
|
||||
});
|
||||
html.find('.quantity-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity( li.data("item-id"), -1 );
|
||||
} );
|
||||
html.find('.quantity-plus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
this.actor.incDecQuantity( li.data("item-id"), +1 );
|
||||
} );
|
||||
|
||||
html.find('.ammo-minus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
this.actor.incDecAmmo( li.data("item-id"), -1 );
|
||||
} );
|
||||
html.find('.ammo-plus').click(event => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
this.actor.incDecAmmo( li.data("item-id"), +1 )
|
||||
} );
|
||||
|
||||
html.find('.roll-ability').click((event) => {
|
||||
const abilityKey = $(event.currentTarget).data("ability-key");
|
||||
this.actor.rollAbility(abilityKey);
|
||||
});
|
||||
html.find('.roll-skill').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item")
|
||||
const skillId = li.data("item-id")
|
||||
this.actor.rollSkill(skillId)
|
||||
});
|
||||
|
||||
html.find('.roll-weapon').click((event) => {
|
||||
const li = $(event.currentTarget).parents(".item");
|
||||
const skillId = li.data("item-id")
|
||||
this.actor.rollWeapon(skillId)
|
||||
});
|
||||
html.find('.roll-armor-die').click((event) => {
|
||||
this.actor.rollArmorDie()
|
||||
});
|
||||
html.find('.roll-shield-die').click((event) => {
|
||||
this.actor.rollShieldDie()
|
||||
});
|
||||
html.find('.roll-target-die').click((event) => {
|
||||
this.actor.rollDefenseRanged()
|
||||
});
|
||||
|
||||
html.find('.roll-save').click((event) => {
|
||||
const saveKey = $(event.currentTarget).data("save-key")
|
||||
this.actor.rollSave(saveKey)
|
||||
});
|
||||
|
||||
|
||||
html.find('.lock-unlock-sheet').click((event) => {
|
||||
this.options.editScore = !this.options.editScore;
|
||||
this.render(true);
|
||||
});
|
||||
html.find('.item-link a').click((event) => {
|
||||
const itemId = $(event.currentTarget).data("item-id");
|
||||
const item = this.actor.getOwnedItem(itemId);
|
||||
item.sheet.render(true);
|
||||
});
|
||||
html.find('.item-equip').click(ev => {
|
||||
const li = $(ev.currentTarget).parents(".item");
|
||||
this.actor.equipItem( li.data("item-id") );
|
||||
this.render(true);
|
||||
});
|
||||
|
||||
html.find('.update-field').change(ev => {
|
||||
const fieldName = $(ev.currentTarget).data("field-name");
|
||||
let value = Number(ev.currentTarget.value);
|
||||
this.actor.update( { [`${fieldName}`]: value } );
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
setPosition(options = {}) {
|
||||
const position = super.setPosition(options);
|
||||
const sheetBody = this.element.find(".sheet-body");
|
||||
const bodyHeight = position.height - 192;
|
||||
sheetBody.css("height", bodyHeight);
|
||||
return position;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
/** @override */
|
||||
_updateObject(event, formData) {
|
||||
// Update the Actor
|
||||
return this.object.update(formData);
|
||||
}
|
||||
}
|
||||
|
@ -1,57 +0,0 @@
|
||||
/**
|
||||
* Extend the basic ActorSheet with some very simple modifications
|
||||
* @extends {ActorSheet}
|
||||
*/
|
||||
import { WarheroActorSheet } from "./warhero-actor-sheet.js";
|
||||
import { WarheroUtility } from "./warhero-utility.js";
|
||||
|
||||
/* -------------------------------------------- */
|
||||
export class WarheroPartySheet extends WarheroActorSheet {
|
||||
|
||||
/** @override */
|
||||
static get defaultOptions() {
|
||||
|
||||
return mergeObject(super.defaultOptions, {
|
||||
classes: ["warhero-rpg", "sheet", "actor"],
|
||||
template: "systems/fvtt-warhero/templates/party-sheet.html",
|
||||
width: 640,
|
||||
height: 720,
|
||||
tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "stats" }],
|
||||
dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }],
|
||||
editScore: true
|
||||
});
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
async getData() {
|
||||
|
||||
const objectData = duplicate(this.object.system)
|
||||
|
||||
let formData = {
|
||||
title: this.title,
|
||||
id: this.actor.id,
|
||||
type: this.actor.type,
|
||||
img: this.actor.img,
|
||||
name: this.actor.name,
|
||||
editable: this.isEditable,
|
||||
cssClass: this.isEditable ? "editable" : "locked",
|
||||
system: objectData,
|
||||
limited: this.object.limited,
|
||||
totalMoney: this.actor.computeTotalMoney(),
|
||||
equipments: duplicate(this.actor.getEquipmentsOnly()),
|
||||
//moneys: duplicate(this.actor.getMoneys()),
|
||||
description: await TextEditor.enrichHTML(this.object.system.biodata.description, {async: true}),
|
||||
notes: await TextEditor.enrichHTML(this.object.system.biodata.notes, {async: true}),
|
||||
options: this.options,
|
||||
owner: this.document.isOwner,
|
||||
editScore: this.options.editScore,
|
||||
isGM: game.user.isGM
|
||||
}
|
||||
formData.partySlots = this.actor.buildPartySlots()
|
||||
|
||||
this.formData = formData
|
||||
console.log("PARTY : ", formData, this.object);
|
||||
return formData;
|
||||
}
|
||||
|
||||
}
|
@ -5,7 +5,7 @@ export class WarheroRollDialog extends Dialog {
|
||||
/* -------------------------------------------- */
|
||||
static async create(actor, rollData) {
|
||||
|
||||
let options = { classes: ["WarheroDialog"], width: 420, height: 'fit-content', 'z-index': 99999 };
|
||||
let options = { classes: ["WarheroDialog"], width: 540, height: 340, 'z-index': 99999 };
|
||||
let html = await renderTemplate('systems/fvtt-warhero/templates/roll-dialog-generic.html', rollData);
|
||||
|
||||
return new WarheroRollDialog(actor, rollData, html, options);
|
||||
@ -58,16 +58,27 @@ export class WarheroRollDialog extends Dialog {
|
||||
}
|
||||
$(function () { onLoad(); });
|
||||
|
||||
html.find('#powerLevel').change((event) => {
|
||||
this.rollData.powerLevel = event.currentTarget.value
|
||||
html.find('#advantage').change((event) => {
|
||||
this.rollData.advantage = event.currentTarget.value
|
||||
})
|
||||
html.find('#bonusMalus').change((event) => {
|
||||
this.rollData.bonusMalus = Number(event.currentTarget.value)
|
||||
html.find('#disadvantage').change((event) => {
|
||||
this.rollData.disadvantage = event.currentTarget.value
|
||||
})
|
||||
html.find('#usemWeaponMalus').change((event) => {
|
||||
this.rollData.usemWeaponMalus = event.currentTarget.checked
|
||||
html.find('#rollAdvantage').change((event) => {
|
||||
this.rollData.rollAdvantage = event.currentTarget.value
|
||||
})
|
||||
html.find('#useshield').change((event) => {
|
||||
this.rollData.useshield = event.currentTarget.checked
|
||||
})
|
||||
html.find('#hasCover').change((event) => {
|
||||
this.rollData.hasCover = event.currentTarget.value
|
||||
})
|
||||
html.find('#situational').change((event) => {
|
||||
this.rollData.situational = event.currentTarget.value
|
||||
})
|
||||
html.find('#distanceBonusDice').change((event) => {
|
||||
this.rollData.distanceBonusDice = Number(event.currentTarget.value)
|
||||
})
|
||||
|
||||
|
||||
}
|
||||
}
|
@ -20,15 +20,6 @@ export class WarheroUtility {
|
||||
|
||||
WarheroCommands.init();
|
||||
|
||||
Handlebars.registerHelper('concat', function () {
|
||||
var outStr = '';
|
||||
for (var arg in arguments) {
|
||||
if (typeof arguments[arg] != 'object') {
|
||||
outStr += arguments[arg];
|
||||
}
|
||||
}
|
||||
return outStr;
|
||||
});
|
||||
Handlebars.registerHelper('count', function (list) {
|
||||
return list.length;
|
||||
})
|
||||
@ -217,6 +208,23 @@ export class WarheroUtility {
|
||||
html.on("click", '.view-item-from-chat', event => {
|
||||
game.system.crucible.creator.openItemView(event)
|
||||
})
|
||||
html.on("click", '.roll-defense-melee', event => {
|
||||
let rollId = $(event.currentTarget).data("roll-id")
|
||||
let rollData = WarheroUtility.getRollData(rollId)
|
||||
rollData.defenseWeaponId = $(event.currentTarget).data("defense-weapon-id")
|
||||
let actor = game.canvas.tokens.get(rollData.defenderTokenId).actor
|
||||
if (actor && (game.user.isGM || actor.isOwner)) {
|
||||
actor.rollDefenseMelee(rollData)
|
||||
}
|
||||
})
|
||||
html.on("click", '.roll-defense-ranged', event => {
|
||||
let rollId = $(event.currentTarget).data("roll-id")
|
||||
let rollData = WarheroUtility.getRollData(rollId)
|
||||
let defender = game.canvas.tokens.get(rollData.defenderTokenId).actor
|
||||
if (defender && (game.user.isGM || defender.isOwner)) {
|
||||
defender.rollDefenseRanged(rollData)
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
@ -225,13 +233,14 @@ export class WarheroUtility {
|
||||
|
||||
const templatePaths = [
|
||||
'systems/fvtt-warhero/templates/editor-notes-gm.html',
|
||||
'systems/fvtt-warhero/templates/partial-actor-stat-block.html',
|
||||
'systems/fvtt-warhero/templates/partial-roll-select.html',
|
||||
'systems/fvtt-warhero/templates/partial-actor-ability-block.html',
|
||||
'systems/fvtt-warhero/templates/partial-actor-status.html',
|
||||
'systems/fvtt-warhero/templates/partial-options-abilities.html',
|
||||
'systems/fvtt-warhero/templates/partial-item-nav.html',
|
||||
'systems/fvtt-warhero/templates/partial-item-description.html',
|
||||
'systems/fvtt-warhero/templates/partial-item-common-equipment.html',
|
||||
'systems/fvtt-warhero/templates/partial-actor-equipment.html',
|
||||
'systems/fvtt-warhero/templates/partial-container.html',
|
||||
]
|
||||
return loadTemplates(templatePaths);
|
||||
}
|
||||
@ -310,6 +319,11 @@ export class WarheroUtility {
|
||||
this.updateRollData(rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getRollData(id) {
|
||||
return this.rollDataStore[id]
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async displayDefenseMessage(rollData) {
|
||||
if (rollData.mode == "weapon" && rollData.defenderTokenId) {
|
||||
@ -503,6 +517,10 @@ export class WarheroUtility {
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static updateSkill(skill) {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getDiceFromCover(cover) {
|
||||
if (cover == "cover50") return 1
|
||||
@ -516,119 +534,177 @@ export class WarheroUtility {
|
||||
if (cover == "engaged") return 1
|
||||
return 0
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
static async rollParry(rollData) {
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
// ability/save/size => 0
|
||||
let diceFormula = "1d12+" + rollData.stat.value
|
||||
let myRoll = rollData.roll
|
||||
if (!myRoll) { // New rolls only of no rerolls
|
||||
myRoll = new Roll(diceFormula).roll({ async: false })
|
||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
}
|
||||
rollData.roll = myRoll
|
||||
rollData.diceFormula = diceFormula
|
||||
rollData.diceResult = myRoll.terms[0].results[0].result
|
||||
rollData.isSuccess = false
|
||||
if (myRoll.total >= 12 || rollData.diceResult == 12) {
|
||||
rollData.isSuccess = true
|
||||
if (rollData.diceResult == 12) {
|
||||
rollData.isCriticalSuccess = true
|
||||
}
|
||||
}
|
||||
if (rollData.diceResult == 1) {
|
||||
rollData.isSuccess = false
|
||||
rollData.isCriticalFailure = true
|
||||
}
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-warhero/templates/chat-parry-result.html`, rollData)
|
||||
})
|
||||
msg.setFlag("world", "rolldata", rollData)
|
||||
console.log("Rolldata result", rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async rollWarhero(rollData) {
|
||||
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
|
||||
if (rollData.mode == "power") {
|
||||
let manaCost = rollData.powerLevel
|
||||
if (actor.spentMana(manaCost)) {
|
||||
let powerKey = "level" + rollData.powerLevel
|
||||
rollData.powerText = rollData.power.system[powerKey]
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-warhero/templates/chat-generic-result.html`, rollData)
|
||||
})
|
||||
msg.setFlag("world", "rolldata", rollData)
|
||||
}
|
||||
return
|
||||
}
|
||||
if (rollData.mode == "damage") {
|
||||
let formula
|
||||
if (rollData.weapon.system.weapontype == "special") {
|
||||
formula = rollData.weapon.system.damageformula
|
||||
} else {
|
||||
formula = (rollData.is2hands) ? rollData.weapon.damageFormula2Hands : rollData.weapon.damageFormula
|
||||
}
|
||||
let myRoll = new Roll(formula + "+" + rollData.bonusMalus, actor.system).roll({ async: false })
|
||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
rollData.roll = myRoll
|
||||
rollData.diceFormula = myRoll.formula
|
||||
rollData.diceResult = myRoll.terms[0].results[0].result
|
||||
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-warhero/templates/chat-generic-result.html`, rollData)
|
||||
})
|
||||
msg.setFlag("world", "rolldata", rollData)
|
||||
return
|
||||
}
|
||||
|
||||
let diceFormula
|
||||
if (rollData.weapon && rollData.weapon.system.weapontype == "special") {
|
||||
diceFormula = rollData.weapon.system.rollformula
|
||||
} else {
|
||||
// ability/save/size => 0
|
||||
diceFormula = "1d20"
|
||||
if (rollData.stat) {
|
||||
diceFormula += "+" + rollData.stat.value
|
||||
let diceFormula
|
||||
let startFormula = "0d6cs>=5[blue]"
|
||||
if (rollData.ability) {
|
||||
startFormula = String(rollData.ability.value) + "d6cs>=5[blue]"
|
||||
}
|
||||
if (rollData.statBonus) {
|
||||
diceFormula += "+" + rollData.statBonus.value
|
||||
if (rollData.save) {
|
||||
startFormula = String(rollData.save.value) + "d6cs>=5[blue]"
|
||||
}
|
||||
if (rollData.sizeDice) {
|
||||
let nb = rollData.sizeDice.nb + rollData.distanceBonusDice + this.getDiceFromCover(rollData.hasCover) + this.getDiceFromSituational(rollData.situational)
|
||||
startFormula = String(nb) + String(rollData.sizeDice.dice) + "cs>=5[blue]"
|
||||
}
|
||||
diceFormula = startFormula
|
||||
|
||||
// skill => 2
|
||||
// feat => 4
|
||||
// bonus => 6
|
||||
if (rollData.skill) {
|
||||
let level = rollData.skill.system.level
|
||||
if (rollData.skill.system.issl2) {
|
||||
rollData.hasSLBonus = true
|
||||
level += 2
|
||||
if (level > 7) { level = 7 }
|
||||
}
|
||||
rollData.skill.system.skilldice = __skillLevel2Dice[level]
|
||||
diceFormula += "+" + String(rollData.skill.system.skilldice) + "cs>=5[black]"
|
||||
|
||||
if (rollData.skill.system.skilltype == "complex" && rollData.skill.system.level == 0) {
|
||||
rollData.complexSkillDisadvantage = true
|
||||
rollData.rollAdvantage = "roll-disadvantage"
|
||||
}
|
||||
|
||||
if (rollData.skill.system.isfeatdie) {
|
||||
rollData.hasFeatDie = true
|
||||
diceFormula += "+ 1d10cs>=5[warhero-purple]"
|
||||
} else {
|
||||
diceFormula += `+ 0d10cs>=5[warhero-purple]`
|
||||
}
|
||||
if (rollData.skill.system.bonusdice != "none") {
|
||||
rollData.hasBonusDice = rollData.skill.system.bonusdice
|
||||
diceFormula += `+ ${rollData.hasBonusDice}cs>=5[black]`
|
||||
} else {
|
||||
diceFormula += `+ 0d6cs>=5[black]`
|
||||
}
|
||||
} else {
|
||||
diceFormula += `+ 0d8cs=>5 + 0d10cs>=5 + 0d6cs>=5`
|
||||
}
|
||||
|
||||
// advantage => 8
|
||||
let advFormula = "+ 0d8cs>=5"
|
||||
if (rollData.advantage == "advantage1" || rollData.forceAdvantage) {
|
||||
advFormula = "+ 1d8cs>=5[warhero-darkgreen]"
|
||||
}
|
||||
if (rollData.advantage == "advantage2") {
|
||||
advFormula = "+ 2d8cs>=5[warhero-darkgreen]"
|
||||
}
|
||||
diceFormula += advFormula
|
||||
|
||||
// disadvantage => 10
|
||||
let disFormula = "- 0d8cs>=5"
|
||||
if (rollData.disadvantage == "disadvantage1" || rollData.forceDisadvantage) {
|
||||
disFormula = "- 1d8cs>=5[red]"
|
||||
}
|
||||
if (rollData.disadvantage == "disadvantage2") {
|
||||
disFormula = "- 2d8cs>=5[red]"
|
||||
}
|
||||
diceFormula += disFormula
|
||||
|
||||
// armor => 12
|
||||
let skillArmorPenalty = 0
|
||||
for (let armor of rollData.armors) {
|
||||
if (armor.system.equipped) {
|
||||
skillArmorPenalty += armor.system.skillpenalty
|
||||
}
|
||||
}
|
||||
if (rollData.usemWeaponMalus) {
|
||||
diceFormula += "+" + rollData.mWeaponMalus
|
||||
if (rollData.skill && rollData.skill.system.armorpenalty && skillArmorPenalty > 0) {
|
||||
rollData.skillArmorPenalty = skillArmorPenalty
|
||||
diceFormula += `- ${skillArmorPenalty}d8cs>=5`
|
||||
} else {
|
||||
diceFormula += `- 0d8cs>=5`
|
||||
}
|
||||
|
||||
// shield => 14
|
||||
if (rollData.useshield && rollData.shield) {
|
||||
diceFormula += "+ 1" + String(rollData.shield.system.shielddie) + "cs>=5[yellow]"
|
||||
} else {
|
||||
diceFormula += " + 0d6cs>=5"
|
||||
}
|
||||
diceFormula += "+" + rollData.bonusMalus
|
||||
|
||||
// Performs roll
|
||||
console.log("Roll formula", diceFormula)
|
||||
let myRoll = rollData.roll
|
||||
if (!myRoll) { // New rolls only of no rerolls
|
||||
myRoll = new Roll(diceFormula, actor.system).roll({ async: false })
|
||||
myRoll = new Roll(diceFormula).roll({ async: false })
|
||||
await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode"))
|
||||
}
|
||||
rollData.rollOrder = 0
|
||||
rollData.roll = myRoll
|
||||
rollData.diceFormula = diceFormula
|
||||
rollData.diceResult = myRoll.terms[0].results[0].result
|
||||
if (rollData.diceResult == 20) {
|
||||
rollData.isCriticalSuccess = true
|
||||
}
|
||||
if (rollData.diceResult == 1) {
|
||||
rollData.isCriticalFailure = true
|
||||
}
|
||||
rollData.nbSuccess = myRoll.total
|
||||
|
||||
if ( rollData.stat.hasuse ) {
|
||||
actor.incrementUse(rollData)
|
||||
if (rollData.rollAdvantage == "none" && rollData.forceRollAdvantage) {
|
||||
rollData.rollAdvantage = "roll-advantage"
|
||||
}
|
||||
if (rollData.rollAdvantage == "none" && rollData.forceRollDisadvantage) {
|
||||
rollData.rollAdvantage = "roll-disadvantage"
|
||||
}
|
||||
if (rollData.rollAdvantage != "none") {
|
||||
|
||||
let msg = await this.createChatWithRollMode(rollData.alias, {
|
||||
rollData.rollOrder = 1
|
||||
rollData.rollType = (rollData.rollAdvantage == "roll-advantage") ? "Advantage" : "Disadvantage"
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-warhero/templates/chat-generic-result.html`, rollData)
|
||||
})
|
||||
|
||||
rollData.rollOrder = 2
|
||||
let myRoll2 = new Roll(diceFormula).roll({ async: false })
|
||||
await this.showDiceSoNice(myRoll2, game.settings.get("core", "rollMode"))
|
||||
|
||||
rollData.roll = myRoll2 // Tmp switch to display the proper results
|
||||
rollData.nbSuccess = myRoll2.total
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-warhero/templates/chat-generic-result.html`, rollData)
|
||||
})
|
||||
rollData.roll = myRoll // Revert the tmp switch
|
||||
rollData.nbSuccess = myRoll.total
|
||||
|
||||
if (rollData.rollAdvantage == "roll-advantage") {
|
||||
if (myRoll2.total > rollData.nbSuccess) {
|
||||
hasChanged = true
|
||||
rollData.roll = myRoll2
|
||||
rollData.nbSuccess = myRoll2.total
|
||||
}
|
||||
} else {
|
||||
if (myRoll2.total < rollData.nbSuccess) {
|
||||
rollData.roll = myRoll2
|
||||
rollData.nbSuccess = myRoll2.total
|
||||
}
|
||||
}
|
||||
rollData.rollOrder = 3
|
||||
}
|
||||
rollData.nbSuccess = Math.max(0, rollData.nbSuccess)
|
||||
|
||||
rollData.isFirstRollAdvantage = false
|
||||
// Manage exp
|
||||
if (rollData.skill && rollData.skill.system.level > 0) {
|
||||
let nbSkillSuccess = rollData.roll.terms[2].total
|
||||
if (nbSkillSuccess == 0 || nbSkillSuccess == rollData.skill.system.level) {
|
||||
actor.incrementSkillExp(rollData.skill.id, 1)
|
||||
}
|
||||
}
|
||||
|
||||
this.saveRollData(rollData)
|
||||
actor.lastRoll = rollData
|
||||
|
||||
this.createChatWithRollMode(rollData.alias, {
|
||||
content: await renderTemplate(`systems/fvtt-warhero/templates/chat-generic-result.html`, rollData)
|
||||
})
|
||||
msg.setFlag("world", "rolldata", rollData)
|
||||
console.log("Rolldata result", rollData)
|
||||
|
||||
// Message response
|
||||
this.displayDefenseMessage(rollData)
|
||||
|
||||
// Manage defense result
|
||||
this.processAttackDefense(rollData)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -645,19 +721,7 @@ export class WarheroUtility {
|
||||
return 0;
|
||||
})
|
||||
}
|
||||
static sortArrayObjectsByNameAndLevel(myArray) {
|
||||
myArray.sort((a, b) => {
|
||||
let fa = a.system.level + a.name.toLowerCase();
|
||||
let fb = b.system.level + b.name.toLowerCase();
|
||||
if (fa < fb) {
|
||||
return -1;
|
||||
}
|
||||
if (fa > fb) {
|
||||
return 1;
|
||||
}
|
||||
return 0;
|
||||
})
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static getUsers(filter) {
|
||||
return game.users.filter(filter).map(user => user.id);
|
||||
@ -734,7 +798,7 @@ export class WarheroUtility {
|
||||
break;
|
||||
}
|
||||
chatOptions.alias = chatOptions.alias || name;
|
||||
return ChatMessage.create(chatOptions);
|
||||
ChatMessage.create(chatOptions);
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -742,10 +806,7 @@ export class WarheroUtility {
|
||||
let rollData = {
|
||||
rollId: randomID(16),
|
||||
rollMode: game.settings.get("core", "rollMode"),
|
||||
advantage: "none",
|
||||
bonusMalus: 0,
|
||||
powerLevel: "1",
|
||||
hasBM: true
|
||||
advantage: "none"
|
||||
}
|
||||
WarheroUtility.updateWithTarget(rollData)
|
||||
return rollData
|
||||
@ -760,8 +821,8 @@ export class WarheroUtility {
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
static async createChatWithRollMode(name, chatOptions) {
|
||||
return this.createChatMessage(name, game.settings.get("core", "rollMode"), chatOptions)
|
||||
static createChatWithRollMode(name, chatOptions) {
|
||||
this.createChatMessage(name, game.settings.get("core", "rollMode"), chatOptions)
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
|
@ -1 +0,0 @@
|
||||
{"name":"Arrow","type":"equipment","img":"systems/fvtt-warhero/images/icons/swap-bag.svg","system":{"equiptype":"","cost":2,"quantity":20,"equipped":false,"slotused":1,"slotlocation":"quiver","description":"<p>Arrow for @UUID[Compendium.world.weapons.kkn0H33tCD3594Mx]{Bow} and @UUID[Compendium.world.weapons.koM5TEFPzTlZeuMn]{CrossBow}. The arrows must be contained into a @UUID[Compendium.world.equipments.Fm01Gl7EuqGU9qdr]{Quiver} (or @UUID[Compendium.world.equipments.EuP7AVIoBRWk1wsX]{Quiver of holding}). Each 20 arrows they need one more quiver.</p>"},"effects":[],"flags":{"core":{"sourceId":"Item.g1U48kW3Uf3LkaeG"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674285482221,"modifiedTime":1674288079539,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"f7QTqfFzyTWLFOrY"}
|
@ -1,3 +0,0 @@
|
||||
{"name":"Scale mail","type":"armor","img":"systems/fvtt-warhero/images/icons/difesa.webp","system":{"armortype":"medium","equipped":false,"damagereduction":4,"cost":140,"slotused":1,"slotlocation":"armor","description":"<p>A medium armor. DR:4 (when weared)</p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.lQRGneHKxSt3Z1Aw"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674285629119,"modifiedTime":1674287831040,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"QQHtpszvyRmTRvTU"}
|
||||
{"name":"Plate","type":"armor","img":"systems/fvtt-warhero/images/icons/difesa.webp","system":{"armortype":"heavy","equipped":false,"damagereduction":6,"cost":680,"slotused":1,"slotlocation":"armor","description":"<p>An heavy armor. DR:6 (when weared)</p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.lQRGneHKxSt3Z1Aw"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674285629119,"modifiedTime":1674287827036,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"VwbtIBqYmLMGJn2e"}
|
||||
{"name":"Leather","type":"armor","img":"systems/fvtt-warhero/images/icons/difesa.webp","system":{"armortype":"light","equipped":false,"damagereduction":2,"cost":20,"slotused":1,"slotlocation":"armor","description":"<p>A simple armor. DR:2 (when weared)</p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.lQRGneHKxSt3Z1Aw"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674285629119,"modifiedTime":1674287829053,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"cJnFNx1MpfolTK6j"}
|
@ -1 +0,0 @@
|
||||
{"name":"Warrior","type":"class","img":"systems/fvtt-warhero/images/icons/classe.webp","system":{"weapons":{"short":false,"long":false,"twohanded":false,"shotgun":false,"throwing":false},"armors":{"light":false,"medium":false,"heavy":false},"shields":{"light":false,"medium":false,"tower":false},"description":""},"effects":[],"flags":{"core":{"sourceId":"Item.jRwz7D2iRTEMOjTL"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674286439186,"modifiedTime":1674287319937,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"FM6VG563q7C5Gdls"}
|
@ -1,8 +0,0 @@
|
||||
{"name":"Quiver of holding","type":"equipment","img":"systems/fvtt-warhero/images/icons/swap-bag.svg","system":{"equiptype":"","cost":8000,"quantity":1,"equipped":false,"slotused":1,"slotlocation":"quiver","description":"<p>Container.</p>\n<p>Slot provided: infinite (only for @UUID[Item.g1U48kW3Uf3LkaeG]{Arrow})</p>\n<p>Slot occupied: 1 in Quiver slot</p>\n<p>A quiver</p>"},"effects":[],"flags":{"core":{"sourceId":"Item.X627atoHcwnZPFh4"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674284215303,"modifiedTime":1674287883396,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"EuP7AVIoBRWk1wsX"}
|
||||
{"name":"Quiver","type":"equipment","img":"systems/fvtt-warhero/images/icons/swap-bag.svg","system":{"equiptype":"","cost":1,"quantity":1,"equipped":false,"slotused":1,"slotlocation":"quiver","description":"<p>Container.</p>\n<p>Slot provided: 20 (only for @UUID[Item.g1U48kW3Uf3LkaeG]{Arrow})</p>\n<p>Slot occupied: 1 in Quiver slot</p>\n<p>A quiver</p>"},"effects":[],"flags":{"core":{"sourceId":"Item.b10F87vD8eX74mE4"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674284215303,"modifiedTime":1674287881900,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"Fm01Gl7EuqGU9qdr"}
|
||||
{"name":"Belt Pouch","type":"equipment","img":"systems/fvtt-warhero/images/icons/swap-bag.svg","system":{"equiptype":"","cost":1,"quantity":1,"equipped":false,"slotused":1,"slotlocation":"belt","description":"<p>Container.</p>\n<p>Slot provided: 4</p>\n<p>Slot occupied: 1 in @UUID[Item.yEsS9y283ll5dPFG]{Belt}</p>\n<p>A belt pouch. It contains 4 slot of low volume items</p>"},"effects":[],"flags":{"core":{"sourceId":"Item.PxrsMWHj2gaWErfb"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674284215303,"modifiedTime":1674287880700,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"MUMZLLi6wmhBOy3l"}
|
||||
{"name":"Backpack","type":"equipment","img":"systems/fvtt-warhero/images/icons/swap-bag.svg","system":{"equiptype":"","cost":2,"quantity":1,"equipped":false,"slotused":1,"slotlocation":"backpack","description":"<p>Container.</p>\n<p>Slot provided: 12</p>\n<p>Slot occupied: 1 in Backpack slot</p>\n<p>A standard backpack</p>"},"effects":[],"flags":{"core":{"sourceId":"Item.uCaGC3EGQ85BVg2n"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674284215303,"modifiedTime":1674287875283,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"QfnlXUDkxDWqBnb9"}
|
||||
{"name":"Backpack of holding","type":"equipment","img":"systems/fvtt-warhero/images/icons/swap-bag.svg","system":{"equiptype":"","cost":48000,"quantity":1,"equipped":false,"slotused":1,"slotlocation":"backpack","description":"<p>Container.</p>\n<p>Slot provided: 90</p>\n<p>Slot occupied: 1 in Backpack slot</p>\n<p>A backpack that can contains 90 items</p>"},"effects":[],"flags":{"core":{"sourceId":"Item.FmiX5vOeuYxlLKXK"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674284215303,"modifiedTime":1674287876806,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"gU2Dg6Yo5K5XnWmB"}
|
||||
{"name":"Gold","type":"money","img":"systems/fvtt-warhero/images/icons/two-coins.svg","system":{"value":1,"quantity":500,"description":"<p>A pile of coins. Max 1000 coins in each pile. Each 1000 gold you need to occupy 1 slot in a @UUID[Item.PxrsMWHj2gaWErfb]{Belt Pouch}</p>\n<p>Each PC starts with 500 gold</p>"},"effects":[],"flags":{"core":{"sourceId":"Item.hbBYKnGLzFIn7KZn"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674284013488,"modifiedTime":1674287873177,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"j6fZ2Ru5Np4g0MFp"}
|
||||
{"name":"Belt","type":"equipment","img":"systems/fvtt-warhero/images/icons/swap-bag.svg","system":{"equiptype":"","cost":1,"quantity":1,"equipped":false,"slotused":1,"slotlocation":"belt","description":"<p>Container.</p>\n<p>Slot provided:6 in belt slot</p>\n<p>A belt</p>"},"effects":[],"flags":{"core":{"sourceId":"Item.yEsS9y283ll5dPFG"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674284215303,"modifiedTime":1674287879339,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"v44gVEKEYLfYoR9i"}
|
||||
{"name":"Bag of Holding","type":"equipment","img":"systems/fvtt-warhero/images/icons/swap-bag.svg","system":{"equiptype":"","cost":1,"quantity":1,"equipped":false,"slotused":1,"slotlocation":"belt","description":"<p>Container.</p>\n<p>Slot provided: 30 </p>\n<p>Slot occupied: 1 in Backpack slot or in belt slot</p>\n<p>A bag of holding</p>"},"effects":[],"flags":{"core":{"sourceId":"Item.Uzy0T6ZnCzEsyGop"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674284215303,"modifiedTime":1674287878052,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"vCREWenSFdmcWEGd"}
|
158
packs/powers.db
158
packs/powers.db
@ -1,158 +0,0 @@
|
||||
{"name":"Parlare linguaggi","type":"power","system":{"level":3,"magicschool":"Linguaggi","description":"il bersaglio può parlare una qualsiasi lingua per 5 minuti."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904923,"modifiedTime":1675877939482,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"08BXcOaoGE192zNB","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Muro di fuoco","type":"power","system":{"level":4,"magicschool":"Elementale - Fuoco","description":"si crea un muro di fuoco alto fino a 9 metri e lungo fino a 9 metri, chiunque stia adiacente al muro subisce 1d6 danni da fuoco, chi ci passa attraverso subisce 15d6 danni da fuco CD 18 ist per dimezzare"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904839,"modifiedTime":1675877939473,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"0fuQ1vuv4uUfReik","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Solo difesa","type":"power","system":{"level":4,"magicschool":"Protezione","description":"l'incantesimo da la possibilità di usare l'azione di parata fino a due volte per turno, tirando due volte i dadi e prendendo il risultato migliore, fino alla fine dello scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904960,"modifiedTime":1675877939486,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"0hqW3CDSxT0sb2jc","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Lentezza","type":"power","system":{"level":2,"magicschool":"Tempo","description":"il bersaglio può effettuare una terza mossa nel proprio turno fino alla fine dello scontro, e rimuove eventuali incantesimi di lentezza sul bersaglio"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904973,"modifiedTime":1675877939486,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"0s6X0VfFHJgKeYBs","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Cono di freddo","type":"power","system":{"level":2,"magicschool":"Elementale - Acqua","description":"tutti i bersagli di fronte all'incantatore entro 6 metri subiscono 5d6 danni da freddo. CD 14 , IST, dimezzare"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904824,"modifiedTime":1675877939470,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"1HjRX5S3R2TuqnIN","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Teletrasporto","type":"power","system":{"level":3,"magicschool":"Viaggio","description":"permette all'incantatore di andare in un qualsiasi posto di sua conoscenza. l'incantesimo costa un punto mana in più per ogni personaggio che si desidera portare con se. se un personaggio non vuol essere trasportato, CD 12, IST, negare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904988,"modifiedTime":1675877939488,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"1UrtrLZ51eLjsEIx","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Contropotere caotico","type":"power","system":{"level":4,"magicschool":"Indole - Caos","description":"Puoi usare questo potere come se fosse un contropotere e non spendere ulteriore mana, in qualsiasi momento anche nel round dell'avversario. Ottieni bonus pari a +4 al tiro di contropotere, se il contropotere ha successo puoi immediatamente usare un potere scelto in maniera casuale di livello III o inferiore"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904897,"modifiedTime":1675877939480,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"1ZCVzbwTVtuxwVxC","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Volare","type":"power","system":{"level":2,"magicschool":"Viaggio","description":"permette al bersaglio di volare per un ora alla normale velocità di movimento."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904987,"modifiedTime":1675877939488,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"1on8iKAjWzcbJkBd","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Comprensione dei linguaggi","type":"power","system":{"level":2,"magicschool":"Linguaggi","description":"il bersaglio capisce qualsiasi lingua per 1 ora."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904922,"modifiedTime":1675877939482,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"1x6LaCg71VjIcaHg","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Mani brucianti","type":"power","system":{"level":2,"magicschool":"Elementale - Fuoco","description":"tutti i bersagli difronte all'incantatore entro 6 metri subiscono 5d6 danni da fuoco. CD 14, IST, dimezzare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904836,"modifiedTime":1675877939472,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"1ychDvTMJrneQrl0","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Dardo incantato","type":"power","system":{"level":1,"magicschool":"Forza","description":"il bersaglio subisce 2d4+4 danni."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904858,"modifiedTime":1675877939476,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"2hAooR3fELiaIv9N","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Gabbia di terra","type":"power","system":{"level":4,"magicschool":"Elementale - Terra","description":"il bersaglio subisce 6d6 danni da acido e deve superare un tiro su ist CD 20 o rimanere paralizzato per 2 round."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904844,"modifiedTime":1675877939473,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"2t6zBr9FOTemb7ef","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Cura di massa","type":"power","system":{"level":4,"magicschool":"Guarigione","description":"l'incantatore e tutti gli alleati entro 9 metri vengono curati di 4d10 + 10"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904871,"modifiedTime":1675877939477,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"2xzmVKeu7aXWCTRD","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Sofferenza","type":"power","system":{"level":3,"magicschool":"Indole - Male","description":"infligge 12d6 danni a una creatura buona. CD 16, MEN, dimezzare"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904916,"modifiedTime":1675877939481,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"2zZ7J0Rjbak48Ljr","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Di fronte al male","type":"power","system":{"level":2,"magicschool":"Indole - Male","description":"fino alla fine dello scontro un bersaglio di allineamento malvagio che subisce un colpo infligge lo status di affaticato all'avversario che lo ha colpito avversario che lo ha colpito CD 16 su FIS per negare, se il bersaglio è già affaticato diventa esausto, se un bersaglio diventa esausto il potere termina"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904914,"modifiedTime":1675877939481,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"3l8fdh3vXRvjoJr7","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Segno esplosivo","type":"power","system":{"level":3,"magicschool":"Rune","description":"una volta lanciato questo incantesimo, si crea un disegno nel punto scelto. chiunque tocchi il segno, subisce 4d8 danni magici.e' possibile tracciarlo già in contatto con un personaggio, che subisce i danni immediatamente."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904969,"modifiedTime":1675877939486,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"3mDBK9zIf9R4PbLo","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Identificare","type":"power","system":{"level":3,"magicschool":"Conoscenze","description":"lanciando questo incantesimo su un oggetto se ne capisce il funzionamento e le proprietà magiche ad esso associate."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904810,"modifiedTime":1675877939467,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"4YCGLK5hBA1dymta","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Ristabilire equilibrio","type":"power","system":{"level":4,"magicschool":"Indole - Equilibrio","description":"Selezioni due bersagli e i punti vita attuali e i punti mana attuali diventano uguali alla loro rispettiva somma diviso due per entrambi i bersagli, CD 18 IST negare entrambi i bersagli possono tentare il tiro, il potere fallisce se anche solo uno dei bersagli ci riesce"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904904,"modifiedTime":1675877939480,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"4uxhEUuNFuDjlnr6","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Evoca zombi","type":"power","system":{"level":2,"magicschool":"Evocazione - Non Morte","description":"schianto 1d6 o danni dell'arma, fis 4, ist 0, men 0."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904849,"modifiedTime":1675877939474,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"5C07VRo8z41Kh70Y","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Resurrezione veloce","type":"power","system":{"level":3,"magicschool":"Negromanzia","description":"il bersaglio torna in vita ma perde permanentemente 1 punto di fis. i pf e pm sono al massimo. non è possibile resuscitare un personaggio con 1 punto fis o meno. e' possibile riportare in vita solo persone morte nella stessa giornata del lancio dell'incantesimo."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904940,"modifiedTime":1675877939485,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"6Z73jbvTwFqsiKOw","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Individuazione dell'allineamento","type":"power","system":{"level":1,"magicschool":"Divinazione","description":"l'incantatore conosce l'allineamento del bersaglio."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904819,"modifiedTime":1675877939469,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"6olhY5wohzlkW96u","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Scrutare","type":"power","system":{"level":2,"magicschool":"Divinazione","description":"l'incantatore può vedere e sentire tutto quello che si trova entro 10 metri da lui anche dietro a pareti solide per la durata di 1 minuto."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904819,"modifiedTime":1675877939469,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"6vZEQ1wjQsmCXMtR","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Risucchia vita","type":"power","system":{"level":1,"magicschool":"Negromanzia","description":"il bersaglio subisce 2d4 danni e l'incantatore si cura di altrettanti danni."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904938,"modifiedTime":1675877939484,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"7b6lal71wDDJAEd0","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Resistenza al gelo","type":"power","system":{"level":4,"magicschool":"Elementale - Acqua","description":"il bersaglio riduce per il prossimo scontro tutti i danni subiti di tipo gelo di 20"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904826,"modifiedTime":1675877939470,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"7n6sxQKYPaM7pkh4","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Sonno","type":"power","system":{"level":1,"magicschool":"Ammaliamento","description":"la creatura si addormenta e non si sveglia finché non riceve un danno normale o stordente o trascorrono otto ore. CD 13, FIS, negare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904793,"modifiedTime":1675877939466,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"9KljFSjM3pWaoI73","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Visione futura","type":"power","system":{"level":4,"magicschool":"Visione","description":"usare questo incantesimo produce gli stessi effetti dell'abilità visione dell'oracolo"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904995,"modifiedTime":1675877939490,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"9StvYUTQ7V0YhtOf","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Precognizione","type":"power","system":{"level":4,"magicschool":"Divinazione","description":"l'incantatore e gli alleati entro 9 metri ottengono un bonus di +10 all'iniziativa e un +1 a dif per il prossimo scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904822,"modifiedTime":1675877939470,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"9UH6CVtklssk2AVo","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Legge suprema","type":"power","system":{"level":4,"magicschool":"Indole - Legge","description":"Fino alla fine dello scontro un bersaglio di allineamento legale che subisce un colpo può decidere di disarmare il proprio avversario che lo ha colpito CD 16 su FIS per negare oppure di farlo sdraiare per terra CD 16 su MEN per negare oppure di infliggergli 5d6 danni CD 16 su IST per negare, dopo di che questo effetto rimane attivo altri 3 round prima di terminare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904910,"modifiedTime":1675877939480,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"AM3ATrHNkOsc9dXk","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Marchio del mago","type":"power","system":{"level":4,"magicschool":"Rune","description":"puoi incidere su te stesso o su un alleato una runa contenente un qualsiasi altro incantesimo di 3 livello o inferiore che conosci, il bersaglio può usare quell'incantesimo entro la fine della giornata"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904971,"modifiedTime":1675877939486,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"APjlRqats9YPRcli","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Confusione","type":"power","system":{"level":4,"magicschool":"Ammaliamento","description":"il bersaglio ha il 50% di possibilità di eseguire il suo turno, per la durata di 10 turni, CD 18 men per negare"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904805,"modifiedTime":1675877939466,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"Bo6yukhbjHibVLOR","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Patto","type":"power","system":{"level":3,"magicschool":"Costrizione","description":"Devi scegliere se negare le mosse di potere o quelle di attacco, il bersaglio non sarà in grado di usare tale mossa scelta per i prossimi 1d4 Round, CD 16 MEN Nega"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904815,"modifiedTime":1675877939469,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"BzDXrpTEM55aFIqg","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Raggio rovente","type":"power","system":{"level":1,"magicschool":"Elementale - Fuoco","description":"l'incantatore deve effettuare un tiro per colpire a distanza entro 20 metri per infliggere 4d4 danni da fuoco al bersaglio."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904835,"modifiedTime":1675877939472,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"CLp5TRPccBPANHUe","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Telepatia","type":"power","system":{"level":4,"magicschool":"Divinazione","description":"è possibile stabilire la connessione mentale con un tuo alleato per l'intera giornata e riuscire a comunicare con lui telepaticamente indipendentemente a dove vi trovate, per ogni punto mana aggiuntivo spesa si può comunicare fra più persone"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904821,"modifiedTime":1675877939469,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"CQ8MWucM1IWeDNQq","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Evoca mummia","type":"power","system":{"level":4,"magicschool":"Evocazione - Non Morte","description":"2x schianto 5d6 fis 7 ist 4 men 2, percezione cieca, aura 2d6"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904851,"modifiedTime":1675877939474,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"CjIg6780ZHG14ffq","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Mappa del tesoro","type":"power","system":{"level":4,"magicschool":"Illusione","description":"questo incantesimo si deve lanciare su una pergamena e bagnare tale pergamena con una goccia di sangue di un bersaglio , l'incantesimo disegnerà una mappa con indicato gli averi del proprietario del sangue usato"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904887,"modifiedTime":1675877939479,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"CkDS9usOUkTMPGo7","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Risucchio","type":"power","system":{"level":1,"magicschool":"Morte","description":"l'incantatore deve effettuare un tiro per colpire a distanza entro 20 metri e se ha successo , il bersaglio perde 1 punto di fis, fino ad un minimo di 1, per 24 ore."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904932,"modifiedTime":1675877939483,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"CpkqRsUQEjUBAgms","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Maglio oscuro","type":"power","system":{"level":1,"magicschool":"Oscurità","description":"con un tiro per colpire a distanza vengono inflitti 5d4+5 danni."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904944,"modifiedTime":1675877939485,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"DH9Fxd3yM8mEpOBi","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Castigo","type":"power","system":{"level":3,"magicschool":"Indole - Bene","description":"infligge 12d6 danni a una creatura malvagia. CD 16, MEN, dimezzare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904891,"modifiedTime":1675877939479,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"DNkcEyBQYp78RUeK","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Segno negatorio","type":"power","system":{"level":1,"magicschool":"Rune","description":"permette di celare il proprio allineamento negando anche eventuali incantesimi che lo rivelino, per la durata dell'intera giornata."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904967,"modifiedTime":1675877939486,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"DsPn3lqhpGAU77kL","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Sfocatura","type":"power","system":{"level":3,"magicschool":"Illusione","description":"il bersaglio ottiene una probabilità del 50% di essere mancato, per tutto il combattimento."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904884,"modifiedTime":1675877939479,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"EG2xA3TWqTHG8e28","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Viticci","type":"power","system":{"level":1,"magicschool":"Vegetale","description":"il bersaglio rimane bloccato sul posto per 3 round ma può comunque attaccare. CD 14, IST, negare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904981,"modifiedTime":1675877939487,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"ENRZyKNPGk9KfCzq","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Punire il caos","type":"power","system":{"level":1,"magicschool":"Indole - Legge","description":"Se il bersaglio è di allineamento caotico subisce 4d6 danni CD 14, MEN, dimezzare. Altrimenti il bersaglio riduce i danni subiti da creature caotiche di 5 punti per il prossimo scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904906,"modifiedTime":1675877939480,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"FAUFfMhdebRdKBnR","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Punire il male","type":"power","system":{"level":1,"magicschool":"Indole - Bene","description":"Se il bersaglio è di allineamento malvagio subisce 4d6 danni CD 14, MEN, dimezzare. Altrimenti il bersaglio riduce i danni subiti da creature malvagie di 5 punti per il prossimo scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904888,"modifiedTime":1675877939479,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"FD2jB2MQjwqX26F4","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Raggio di gelo","type":"power","system":{"level":1,"magicschool":"Elementale - Acqua","description":"l'incantatore deve effettuare un tiro per colpire a distanza entro 20 metri per infliggere 4d4 danni da freddo al bersaglio."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904823,"modifiedTime":1675877939470,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"Faq8SbGNkVrQ5pvp","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Alterazione","type":"power","system":{"level":1,"magicschool":"Trasmutazione","description":"può cambiare la razza di un personaggio in una, sempre umanoide. questo non ne modifica le statistiche, per 1 ora."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904976,"modifiedTime":1675877939487,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"FkJ49VbCvSL2ca6c","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Individuazione del magico","type":"power","system":{"level":1,"magicschool":"Conoscenze","description":"l'incantatore riesce a percepire in quell'istante se vi è intorno a lui nel raggio di 10 metri presenza di aure magiche. Capisce se vi sono effetti di incantesimi attivi o oggetti con proprietà magiche"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904807,"modifiedTime":1675877939467,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"FxvVobEr8NoXAW1R","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Messaggio","type":"power","system":{"level":4,"magicschool":"Tempo","description":"e' possibile mandare una lettera magica a un qualsiasi alleato che si conosce il quale può rispondere a sua volta, indipendentemente da dove si trovi"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904975,"modifiedTime":1675877939487,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"G1D0R27jxq7qkZ69","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Scudo magico","type":"power","system":{"level":1,"magicschool":"Protezione","description":"il bersaglio ottiene un bonus di 2 punti a difesa per il prossimo scontro."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904952,"modifiedTime":1675877939485,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"GEUOxFWgjZ72MadL","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Colosso","type":"power","system":{"level":4,"magicschool":"Trasmutazione","description":"Il bersaglio per i successivi 5 round perde tutte le abilità di classe, guadagna la competenza nelle armi a due mani, il suo punteggio di FIS diventa 20 e IST 10, il suo valore di difesa diventa 8, indipendentemente dall'istinto, CD 18 FIS per negare"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904979,"modifiedTime":1675877939487,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"GHfTTQwR6rtkRcJO","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Incatenare l' anima","type":"power","system":{"level":4,"magicschool":"Negromanzia","description":"impedisce qualsiasi incantesimo di negromanzia o guarigione su un bersaglio morto"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904943,"modifiedTime":1675877939485,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"GtDC6tnsJwJ8ddL1","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Potere caotico","type":"power","system":{"level":2,"magicschool":"Indole - Caos","description":"Il bersaglio di allineamento caotico, può lanciare immediatamente un suo potere di livello III scelto in maniera casuale"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904896,"modifiedTime":1675877939479,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"GuFclf6ZPIaESPS0","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Obbligo di parola","type":"power","system":{"level":4,"magicschool":"Linguaggi","description":"il bersaglio perde tutti i linguaggi tranne il comune e acquista il comune se non lo aveva per un ora, CD 18 men per negare, per i successivi 5 turni il bersaglio non è in grado di lanciare incantesimi con componenti verbali"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904924,"modifiedTime":1675877939482,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"HC832SufJP78O0kC","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Esplosione solare","type":"power","system":{"level":4,"magicschool":"Luce","description":"tutte le creature in un’area di raggio 6 metri subiscono 6d6 danni, poi CD 18, IST o rimanere accecato per 3 round."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904929,"modifiedTime":1675877939483,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"HU6CGjn215elzxZy","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Punire il bene","type":"power","system":{"level":1,"magicschool":"Indole - Male","description":"Se il bersaglio è di allineamento buono subisce 4d6 danni CD 14, MEN, dimezzare. Altrimenti il bersaglio riduce i danni subiti da creature buone di 5 punti per il prossimo scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904913,"modifiedTime":1675877939481,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"I0s3vfXtaej6XOsT","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Fulmine","type":"power","system":{"level":2,"magicschool":"Elementale - Aria","description":"tutti i bersagli difronte all'incantatore entro 6 metri subiscono 5d6 danni da scossa. CD 14, IST, dimezzare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904830,"modifiedTime":1675877939471,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"InXfXuABQDHb5zV5","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Resistenza al fuoco","type":"power","system":{"level":4,"magicschool":"Elementale - Fuoco","description":"il bersaglio riduce per il prossimo scontro tutti i danni subiti di tipo fuoco di 20"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904838,"modifiedTime":1675877939473,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"IwckOzpQuieWvcOn","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Spostamento planare","type":"power","system":{"level":4,"magicschool":"Viaggio","description":"ti permette di andare assieme ai tuoi alleati in un punto casuale di un piano del quale possiedi un pezzo di ferro lavorato"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904989,"modifiedTime":1675877939488,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"JdEYwDx8fzvPchwS","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Resistenza all' energia","type":"power","system":{"level":4,"magicschool":"Protezione","description":"al momento del lancio di questo incantesimo si deve scegliere fuoco,gelo,acido o scossa e si può ridurre i danni di quel tipo di elemento di 10 ad ogni colpo subito per la prossima ora"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904958,"modifiedTime":1675877939486,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"K9klyiLkV95kwTIe","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Cambio esito","type":"power","system":{"level":1,"magicschool":"Fato","description":"Per il prossimo scontro puoi scegliere di ritirare una volta un qualsiasi dado, si prende il secondo risultato anche se peggiore"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904852,"modifiedTime":1675877939474,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"KAtzfJafxDsLk9BL","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Evoca dinosauro","type":"power","system":{"level":4,"magicschool":"Evocazione - Animale","description":"2x ariglio 2d6,codata 1d8, morso 1d10, fis 7 ist 4 men 2"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904847,"modifiedTime":1675877939474,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"KBxBDMo05wN3L649","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Ingrandire/Ridurre","type":"power","system":{"level":2,"magicschool":"Trasmutazione","description":"può aumentare la taglia del bersaglio alleato fornendogli cosi un bonus di 4 punti ai danni ed una penalità di 2 a difesa o diminuire la taglia fornendogli una penalità di 4 ai danni ed un bonus di 2 alla difesa, per la durata di 1 ora."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904977,"modifiedTime":1675877939487,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"Kba4gKFruhTWdP5U","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Richiamo","type":"power","system":{"level":1,"magicschool":"Costrizione","description":"puoi selezionare un oggetto incustodito o un alleato, fino a fine giornata quando vuoi se il bersaglio è entro 20 metri puoi spostarlo magicamente e farlo apparire adiacente a colui che ha usato questo potere, non è possibile avere più di 3 richiami attivi contemporaneamente"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904813,"modifiedTime":1675877939468,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"KhIIZD2xav1wVqem","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Dito di morte","type":"power","system":{"level":3,"magicschool":"Morte","description":"il bersaglio subisce 100 danni, CD 14 FIS per negare questo effetto e subire 3d6 danni"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904935,"modifiedTime":1675877939484,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"KqvWjxWIifyTKNJy","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Folata di vento","type":"power","system":{"level":4,"magicschool":"Elementale - Aria","description":"i bersagli di fronte all'incantatore subiscono 15d6 danni da scossa, CD 18 IST per dimezzare, e devono riuscire in un tiro salvezza su fis CD 16 o far cadere tutto ciò che impugnano per terra"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904834,"modifiedTime":1675877939472,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"L42LjIoOFanFf2gZ","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Bersaglio","type":"power","system":{"level":4,"magicschool":"Costrizione","description":"Devi selezionare un alleato consenziente e un bersaglio. Il bersaglio scelto potrà effettuare mosse ostili solo su l'alleato scelto fino alla fine dello scontro o fino a quando i Punti ferita dell'alleato scendono a zero. Il Bersaglio può tentare un TS su MEN CD 18 per Negare"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904816,"modifiedTime":1675877939469,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"Ls96wsHFWG8F7Emb","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Modificare memoria","type":"power","system":{"level":4,"magicschool":"Ammaliamento","description":"chi usa questo incantesimo può vedere un ricordo di massimo 5 minuti e decidere di cancellare o modificare quel ricordo a piacimento dal bersaglio, CD 18 MEN per negare"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904806,"modifiedTime":1675877939467,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"MJQ0ZobtTdCjduDn","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Velocità","type":"power","system":{"level":3,"magicschool":"Tempo","description":"il bersaglio può effettuare una terza mossa nel proprio turno fino alla fine dello scontro, e rimuove eventuali incantesimi di lentezza sul bersaglio"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904974,"modifiedTime":1675877939486,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"O1yGotIS8YidAFh1","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Luce magica","type":"power","system":{"level":1,"magicschool":"Luce","description":"crea luce intorno al bersaglio per 1 ora."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904926,"modifiedTime":1675877939483,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"O6FhPQp1rV8YaJQA","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Mezzanotte polare","type":"power","system":{"level":4,"magicschool":"Oscurità","description":"funziona come l'incantesimo di secondo livello della sfera di oscurità, oscurità magica, con la differenza che chi si trova all'interno dell'area all'inizio di ogni suo turno subisce 6d6 danni magici, CD 16 fis per dimezzare"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904950,"modifiedTime":1675877939485,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"PzM7UtU8u6h39z5O","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Precisione","type":"power","system":{"level":1,"magicschool":"Guerra","description":"il bersaglio ottiene un bonus di 3 punti al tiro per colpire nel combattimento fino all afine dello scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904872,"modifiedTime":1675877939477,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"QGh1VtNFgRRKVvNK","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Pelle di pietra","type":"power","system":{"level":3,"magicschool":"Protezione","description":"il personaggio ottiene 40 punti ferita extra che permangono fin quando non subisce un numero di danni sufficiente a riportarlo ai suoi punti ferita originali o meno. fino ad allora non può ricevere incantesimi che restituiscano pf."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904956,"modifiedTime":1675877939485,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"QiWw4fEN7atSXqat","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Fiotto acido","type":"power","system":{"level":1,"magicschool":"Elementale - Terra","description":"l'incantatore deve effettuare un tiro per colpire a distanza entro 20 metri per infliggere 4d4 danni da acido al bersaglio."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904840,"modifiedTime":1675877939473,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"RNz7yZA5Hb3avPEC","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Evoca lupo","type":"power","system":{"level":2,"magicschool":"Evocazione - Animale","description":"morso 2d4, artiglio 1d6, fis 3 ist 4 men 0."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904845,"modifiedTime":1675877939474,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"SmGpYUgJY9PEIWhf","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Terremoto","type":"power","system":{"level":3,"magicschool":"Vegetale","description":"tutti i bersagli di fronte all'incantatore entro 12 metri subiscono 5d8 danni e cadono a terra. CD 18, IST, evitare di cadere per terra."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904983,"modifiedTime":1675877939487,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"Sz183GOBEDrQcGd1","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Punire l'equilibrio","type":"power","system":{"level":1,"magicschool":"Indole - Equilibrio","description":"Se il bersaglio è di allineamento neutrale subisce 4d6 danni CD 14, MEN, dimezzare. Altrimenti il bersaglio riduce i danni subiti da creature neutrali di 5 punti per il prossimo scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904900,"modifiedTime":1675877939480,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"T0eZtZLUZm9K2BzP","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Resurrezione","type":"power","system":{"level":3,"magicschool":"Guarigione","description":"riporta in vita un cadavere di un alleato conosciuto in vita. questa operazione non può essere fatta durante un combattimento. il personaggio torna in vita con i pm che aveva alla morte e 10 pf, il costo di mana dell'incantesimo aumenta di 1 per ogni giorno trascorso dalla morte del bersaglio. Il bersaglio ha un malus di -2 in tutte le statistiche, non rimovibili , fino al giorno successivo"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904867,"modifiedTime":1675877939477,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"Tnbo5qZBLCiZAli4","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Stretta del fato","type":"power","system":{"level":3,"magicschool":"Fato","description":"Per il prossimo scontro puoi aggiungere o togliere 2d4 alla CD di un potere a tua scelta che viene lanciato, prima di sapere l’esito del tiro salvezza, dopo di che quest'effetto termina"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904854,"modifiedTime":1675877939475,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"Tq39Gu1z4E3YMllS","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Passo del fato","type":"power","system":{"level":4,"magicschool":"Fato","description":"Per il prossimo scontro puoi fino a un massimo di 3 volte in qualsiasi momento invertire la posizione di due alleati presenti al momento del lancio di questo potere, come meglio preferisci"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904857,"modifiedTime":1675877939475,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"UidgozfLZsoPIBoK","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Fine dei giochi","type":"power","system":{"level":4,"magicschool":"Indole - Male","description":"il bersaglio deve effettuare un tiro su sfidare la morte, come se i suoi punti ferita fossero a 0, in caso di fallimento muore."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904917,"modifiedTime":1675877939481,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"V8KL2tzLEd12xRP8","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Trasformazione","type":"power","system":{"level":3,"magicschool":"Trasmutazione","description":"chi usa l'incantesimo si trasforma in un guerriero e può usare qualsiasi arma o scudo per lo scontro, ma perde la capacita di lanciare incantesimi. guadagna un bonus di 4 punti a fis. può interrompere questo effetto quando vuole, l'effetto termina automaticamente dopo che sia trascorso 1 ora dal lancio dell'incantesimo."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904978,"modifiedTime":1675877939487,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"Wiw3J9c1AGCZGbno","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Muro illusorio","type":"power","system":{"level":4,"magicschool":"Illusione","description":"si crea un muro illusorio dal quale non è possibile vedere o sentire niente, ma si può attraversare a piacimento, non svanisce alla fine del giorno"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904886,"modifiedTime":1675877939479,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"XO7MkRoN270zyu7q","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Armatura magica","type":"power","system":{"level":2,"magicschool":"Forza","description":"il bersaglio guadagna un bonus di 4 punti a difesa per il prossimo scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904859,"modifiedTime":1675877939476,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"YH6sayoSaQeWIwW7","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Ragnatela","type":"power","system":{"level":2,"magicschool":"Costrizione","description":"in un'area di 6 metri qualsiasi mossa di movimento,assaltare o travolgere per poterla fare è necessario superare un tiro salvezza su IST CD 13"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904814,"modifiedTime":1675877939468,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"Z1enNb056VVT8v5C","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Pietrificazione","type":"power","system":{"level":4,"magicschool":"Costrizione","description":"Il bersaglio viene tramutato in una pietra per 5 minuti rendendolo immune a danni ed effetti ma non potendo eseguire nessuna mossa. CD 18 su FIS per Negare"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904818,"modifiedTime":1675877939469,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"ZTzGLsI7fYvMZK44","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Catastrofe","type":"power","system":{"level":3,"magicschool":"Indole - Caos","description":"infligge 12d6 danni a una creatura legale CD 16, MEN, dimezzare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904896,"modifiedTime":1675877939479,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"b2ftOwRXke7sRraG","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Potere della furia","type":"power","system":{"level":4,"magicschool":"Guerra","description":"i danni inflitti dal bersaglio con le armi sono tutti raddoppiati prima di applicare eventuali effetti di critico fino alla fine del prossimo scontro. questa magia non influenza i danni aggiuntivi dovuti da elementi"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904878,"modifiedTime":1675877939478,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"b2nNuZqzQSJv8p1P","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Palla di Fuoco","type":"power","system":{"level":3,"magicschool":"Elementale - Fuoco","description":"tutte le creature in un area di raggio 6 metri subiscono 10d6 danni da fuoco. CD 16,ist, dimezzare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904837,"modifiedTime":1675877939473,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"bnWyUAi6Su0InjRo","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Tempesta di fulmini","type":"power","system":{"level":3,"magicschool":"Elementale - Aria","description":"tutte le creature in un area di raggio 6 metri subiscono 10d6 danni da scossa. CD 16, IST, dimezzare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904831,"modifiedTime":1675877939471,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"cOXbmiXeQRJwlhdd","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Evoca Orso","type":"power","system":{"level":3,"magicschool":"Evocazione - Animale","description":"artiglio 2d6, morso 1d10, fis 6 ist 1 men 0"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904846,"modifiedTime":1675877939474,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"dIl9bt79csKa8qSQ","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Cerchio contro il caos","type":"power","system":{"level":4,"magicschool":"Indole - Legge","description":"l'incantatore e tutti i suoi alleati entro 9 metri ottengono un bonus di +3 al txc e al danno contro creature caotiche, fino alla fine del prossimo scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904911,"modifiedTime":1675877939481,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"dKeIgbWOvb5WyQZ8","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Destino casuale","type":"power","system":{"level":4,"magicschool":"Fato","description":"Quando si lancia questo potere si determinano casualmente tre dei poteri di livello 1,2 o 3 di una sfera casuale e si lanciano contemporaneamente è possibile scegliere bersagli diversi per ogni potere"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904855,"modifiedTime":1675877939475,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"e5sdgdR1TBcKEpoO","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Evoca spettro","type":"power","system":{"level":3,"magicschool":"Evocazione - Non Morte","description":"tocco 1d4 più riduzione di 1 punto di fis per 24 ore (CD 16, FIS, negare), fis 0, ist 5,men 2."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904850,"modifiedTime":1675877939474,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"fJ30QpZ9OAb5JJyB","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Globo di forza","type":"power","system":{"level":3,"magicschool":"Forza","description":"tutte le creature in un area di raggio 6 metri subiscono 8d6 danni da forza. CD 18, IST,negare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904860,"modifiedTime":1675877939476,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"fKEXWz1U2rXN10bh","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Vita Falsa","type":"power","system":{"level":2,"magicschool":"Negromanzia","description":"un bersaglio ottiene, per uno scontro 2d10 + 10 pf extra."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904939,"modifiedTime":1675877939484,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"fYgXo7Pcq4HKOQqK","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Evoca aquila","type":"power","system":{"level":1,"magicschool":"Evocazione - Animale","description":"creatura volante, artiglio o becco 1d4 danni, fis 1, ist 3, men 1."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904845,"modifiedTime":1675877939473,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"fzJGod0FE4WiReR0","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Rampicanti","type":"power","system":{"level":4,"magicschool":"Vegetale","description":"in un raggio di 6 metri si crea dei rampicanti, muoversi all’interno dell’area fa subire 4d6 danni, CD IST 16 Dimezza, se si subisce i danni si deve fare una prova contrapposta con i rampicanti per non essere immobilizzati, per i rampicanti si una il FIS di chi ha lanciato il potere."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904986,"modifiedTime":1675877939488,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"gJGGSLgSqnJ8f7NZ","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Vera invisibilità","type":"power","system":{"level":4,"magicschool":"Oscurità","description":"l'incantatore rimane invisibile per 5 minuti"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904946,"modifiedTime":1675877939485,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"gVLEpQCmNRI1d9lo","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Bomba al vetriolo","type":"power","system":{"level":2,"magicschool":"Elementale - Terra","description":"tutti i bersagli difronte all'incantatore entro 6 metri subiscono 5d6 danni da acido. CD 14, IST, dimezzare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904841,"modifiedTime":1675877939473,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"gW2OzkrdGkW38XK6","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Cerchio contro la legge","type":"power","system":{"level":4,"magicschool":"Indole - Caos","description":"l'incantatore e tutti i suoi alleati entro 9 metri ottengono un bonus di +3 al txc e al danno contro creature legali, fino alla fine del prossimo scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904899,"modifiedTime":1675877939480,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"guHItAsGkNVxsEyf","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Buona speranza","type":"power","system":{"level":2,"magicschool":"Indole - Bene","description":"Un bersaglio di allineamento buono ottiene un +10 ai tiri di Sfidare la morte,se supera il tiro si cura di 2d10+10, poi l'effetto di questo potere termina."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904890,"modifiedTime":1675877939479,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"h1wvKCb0vzWc6VLI","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Dissolvi magie","type":"power","system":{"level":2,"magicschool":"Conoscenze","description":"questo incantesimo se lanciato su un bersaglio permette di togliergli un incantesimo attivo ( generalmente si parte sempre dal più forte ). se lanciata su un area permette di togliere l'incantesimo dall'area, in ogni caso per riuscire in questo intento è necessario superare una prova su men con CD in base al livello dell'incantesimo. livello 1 CD 10 livello 2 CD 14 livello 3 CD 16 livello 4 CD 18"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904809,"modifiedTime":1675877939467,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"hsNBWzXXYCTtRxte","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Immolarsi","type":"power","system":{"level":4,"magicschool":"Indole - Bene","description":"Il bersaglio di allineamento buono diventa immune a qualsiasi tipo di danno per 3 round dopo di che fino alla fine dello scontro fallisce automaticamente il prossimo tiro di Sfidare la morte"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904892,"modifiedTime":1675877939479,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"iHsSDP1pZMS8LwxC","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Ancora dimensionale","type":"power","system":{"level":4,"magicschool":"Forza","description":"in un raggio di 12 metri è impossibile usare qualsiasi tipo spostamento magico e qualsiasi incantesimo delle sfere di evocazione, tempo e viaggio per i successivi 5 minuti"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904861,"modifiedTime":1675877939476,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"iNo5f9tC1uLoUN9L","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Resistenza alla scossa","type":"power","system":{"level":4,"magicschool":"Elementale - Aria","description":"il bersaglio riduce per il prossimo scontro tutti i danni subiti di tipo scossa di 20"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904833,"modifiedTime":1675877939472,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"ip5OKhEQxoeb7pNy","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Forza","type":"power","system":{"level":2,"magicschool":"Guerra","description":"il bersaglio ottiene un bonus di 3 punti a fis per la durata fino all afine dello scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904874,"modifiedTime":1675877939477,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"ipXemqc1aOOxqoyG","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Nube tossica","type":"power","system":{"level":3,"magicschool":"Elementale - Terra","description":"tutte le creature in un area di raggio 6 metri subiscono 10d6 danni da acido. CD 16, IST,dimezzare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904842,"modifiedTime":1675877939473,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"ivnemz1L6Q3HTsjA","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Manto celato","type":"power","system":{"level":3,"magicschool":"Oscurità","description":"il personaggio diventa invisibile finchè non effettua azioni ostili, o trascorre 1 ora di tempo con questo incantesimo attivo."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904945,"modifiedTime":1675877939485,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"ivuHaYY53wtFZGkJ","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Levitazione","type":"power","system":{"level":1,"magicschool":"Viaggio","description":"permette di alzarsi dal terreno e andare solo in alto o in basso ignorando la forza di gravità, per 5 minuti"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904986,"modifiedTime":1675877939488,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"j7RjSZH85KRovJKc","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Resistenza all' acido","type":"power","system":{"level":4,"magicschool":"Elementale - Terra","description":"il bersaglio riduce per il prossimo scontro tutti i danni subiti di tipo acido di 20"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904843,"modifiedTime":1675877939473,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"jSH5a5NALT6v8E6H","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Trappola superiore","type":"power","system":{"level":4,"magicschool":"Rune","description":"questa runa può contenere un qualsiasi incantesimo di terzo livello o inferiore che si attiva al momento prescelto secondo il metodo i attivazione scelto dal runologo ( es. se toccata da un elfo )"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904970,"modifiedTime":1675877939486,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"jfGVhTT1diGxg3LR","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Immagine Speculare","type":"power","system":{"level":1,"magicschool":"Illusione","description":"crea 1d4 copie del bersaglio che appaiono intorno a lui. Ogni volta che si tenta di colpire il bersaglio si verifica casualmente se viene colpito il bersaglio o una delle copie. Le copie durano 6 round o fino a quando non vengono colpite"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904881,"modifiedTime":1675877939478,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"kMn8UGS6YtugQVi2","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Occhio per occhio","type":"power","system":{"level":2,"magicschool":"Indole - Equilibrio","description":"Fino alla fine dello scontro,il bersaglio di allineamento neutrale, che subisce un colpo riflette lo stesso identico quantitativo di punti ferita persi a chi gli provoca il danno, dopo di che questo effetto rimane attivo altri 3 round prima di terminare"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904901,"modifiedTime":1675877939480,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"ku6axOQVWmkXgyAV","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Immagine illusoria","type":"power","system":{"level":2,"magicschool":"Illusione","description":"crea un illusione di qualsiasi dimensione, difficile da riconoscere (CD 18, MEN), che può muoversi, riprodurre suoni e parlare attraverso la voce dell'incantatore, l'illusione svanisce dopo 15 minuti o dopo essere stata colpita."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904882,"modifiedTime":1675877939478,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"lRyyrm32BmBH05OM","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Punire la legge","type":"power","system":{"level":1,"magicschool":"Indole - Caos","description":"Se il bersaglio è di allineamento legale subisce 4d6 danni CD 14, MEN, dimezzare. Altrimenti il bersaglio riduce i danni subiti da creature legali di 5 punti per il prossimo scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904895,"modifiedTime":1675877939479,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"leMppxqSJDUNxpuo","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Spore velenose","type":"power","system":{"level":2,"magicschool":"Vegetale","description":"i bersagli entro 12 metri dall'incantatore subiscono 4d8.CD 16, IST, dimezzare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904982,"modifiedTime":1675877939487,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"lgjVKvYLB62C5OyL","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Di Fronte alla legge","type":"power","system":{"level":2,"magicschool":"Indole - Legge","description":"Fino alla fine dello scontro un bersaglio di allineamento legale che subisce un colpo può decidere di disarmare il proprio avversario che lo ha colpito CD 16 su FIS per negare oppure di farlo sdraiare per terra CD 16 su MEN per negare oppure di infliggergli 5d6 danni CD 16 su IST per negare, dopo di che questo effetto rimane attivo altri 3 round prima di terminare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904908,"modifiedTime":1675877939480,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"lrvqjBpUmos0t4HB","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Tsunami","type":"power","system":{"level":4,"magicschool":"Elementale - Acqua","description":"i bersagli di fronte all'incantatore subiscono 15d6 danni da freddo, CD 18, IST, dimezzare, e devono riuscire in un tiro salvezza su fis CD 16 o cadere per terra"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904827,"modifiedTime":1675877939471,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"luMwwiXjCbV7zV2k","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Identificare artefatti","type":"power","system":{"level":4,"magicschool":"Conoscenze","description":"lanciando questo incantesimo su un artefatto se ne capisce il funzionamento e le proprietà magiche ad esso associate"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904811,"modifiedTime":1675877939467,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"lx6FGweyivwXnUS4","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Comando","type":"power","system":{"level":3,"magicschool":"Ammaliamento","description":"il bersaglio esegue un ordine impartito alla creatura che non sia un ordine suicida CD 16, MEN, negare. una volta eseguito il comando l'effetto svanisce o dopo che sia trascorso 3 giorni."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904803,"modifiedTime":1675877939466,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"mIMKFBYf3Wjdz2DU","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Cerchio contro il bene","type":"power","system":{"level":4,"magicschool":"Indole - Male","description":"l'incantatore e tutti i suoi alleati entro 9 metri ottengono un bonus di +3 al txc e al danno contro creature buone, fino alla fine del prossimo scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904918,"modifiedTime":1675877939481,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"mTJvyuuhZr9wORuu","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Epurare invisibilità","type":"power","system":{"level":3,"magicschool":"Visione","description":"in un'area di raggio 20 metri si annulla tutti gli effetti di invisibilità"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904993,"modifiedTime":1675877939489,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"mrBJcZlqf2AXWfnU","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Prosciugare","type":"power","system":{"level":2,"magicschool":"Morte","description":"tutti i bersagli, tranne l'incantatore, entro 10 metri da lui subiscono 4d4 danni."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904934,"modifiedTime":1675877939484,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"nJFSR7YDdiC5aI5F","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Camminare nel vento","type":"power","system":{"level":4,"magicschool":"Viaggio","description":"l'incantatore e fino a un massimo di 10 alleati possono spendere 4 mosse consecutive per trasformarsi in una nuvola e 4 mosse consecutive per tornare normali. nello stato di nuvola ci si muove a una velocità di 360m ma non si può usare ne abilità, ne incantantesi ne è possibile attaccare"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904990,"modifiedTime":1675877939488,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"ntMeWTWn23Z87hdD","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Parlare con il morto","type":"power","system":{"level":4,"magicschool":"Linguaggi","description":"e' possibile fare una domanda a un morto il quale risponderà al meglio delle sue capacità alla domanda fatta"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904925,"modifiedTime":1675877939482,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"oClFfv4HOgXgbk6u","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Reggia meravigliosa","type":"power","system":{"level":4,"magicschool":"Trasmutazione","description":"si crea una reggia in un altro piano dove è possibile riposare tranquillamente senza essere disturbati, l'incantatore può scegliere chi entra dentro la reggia, la reggia non termina a fine giornata ma persiste fino a quando l'incantatore non decide di uscire o sono trascorsi 3 giorni"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904980,"modifiedTime":1675877939487,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"oHTmpHJrU8hzVEv7","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Tempesta di ghiaccio","type":"power","system":{"level":3,"magicschool":"Elementale - Acqua","description":"tutte le creature in un area di raggio 6 metri subiscono 10d6 danni da freddo. CD 16, IST, dimezzare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904825,"modifiedTime":1675877939470,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"omCX4zDN753iGPNr","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Retaggio","type":"power","system":{"level":3,"magicschool":"Indole - Equilibrio","description":"infligge 12d6 danni a una creatura neutrale CD 16, MEN, dimezzare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904902,"modifiedTime":1675877939480,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"on4EicWu0uubdb5o","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Oscurità magica","type":"power","system":{"level":2,"magicschool":"Oscurità","description":"un area di 6 metri viene oscurata e non è possibile illuminarla in alcun modo. l'incantesimo neutralizza luce magica. l'effetto persiste per 5 minuti."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904945,"modifiedTime":1675877939485,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"oqWkBcoDNbdIj4ya","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Cerchio contro il male","type":"power","system":{"level":4,"magicschool":"Indole - Bene","description":"l'incantatore e tutti i suoi alleati entro 9 metri ottengono un bonus di +3 al txc e al danno contro creature malvagie, fino alla fine del prossimo scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904893,"modifiedTime":1675877939479,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"pRLjX4jdslpxXHfR","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Scurovisione","type":"power","system":{"level":1,"magicschool":"Visione","description":"il bersaglio vede nel buio nel raggio di 10 metri per 1 ora"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904991,"modifiedTime":1675877939488,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"pyO4ExVqT7vRaBeK","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Parlare con i morti","type":"power","system":{"level":1,"magicschool":"Linguaggi","description":"il morto può rispondere a 5 domande fatte dall'incantatore con un si o un no."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904920,"modifiedTime":1675877939481,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"qFvbYLTi3t2C0iD0","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Tempo atmosferico","type":"power","system":{"level":1,"magicschool":"Tempo","description":"permettere di cambiare il tempo atmosferico da pioggia, a sole, a tempesta, a neve, in un raggio di 300 metri dall'incantatore, per 1 ora."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904972,"modifiedTime":1675877939486,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"qRyiUS9gGHy4Op9X","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Colpo del sole","type":"power","system":{"level":3,"magicschool":"Luce","description":"Il bersaglio subisce 8d6 danni CD 18, IST, negare"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904928,"modifiedTime":1675877939483,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"qTUOLlJQ8zULEhhI","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Cecitá","type":"power","system":{"level":4,"magicschool":"Luce","description":"il bersaglio diventa accecato CD 18, FIS nega questo effetto e subisce 3d6 danni."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904931,"modifiedTime":1675877939483,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"rN03o7ursWpEHlNN","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Cura ferite","type":"power","system":{"level":1,"magicschool":"Guarigione","description":"cura il bersaglio di 2d10 + 10."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904863,"modifiedTime":1675877939476,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"sqqxalQvLW3iSebG","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Alito di morte","type":"power","system":{"level":4,"magicschool":"Morte","description":"i bersagli di fronte all'incantatore subiscono 60 danni , CD 14 fis per negare questo effetto e subire solo 3d6 danni"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904936,"modifiedTime":1675877939484,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"tiDoC5PMgbOgfgIa","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Cerchio contro l' equilibrio","type":"power","system":{"level":4,"magicschool":"Indole - Equilibrio","description":"l'incantatore e tutti i suoi alleati entro 9 metri ottengono un bonus di +3 al txc e al danno contro creature neutrali, fino alla fine del prossimo scontro"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904905,"modifiedTime":1675877939480,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"u60tRTInSsCwthRj","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Cambia bersaglio","type":"power","system":{"level":2,"magicschool":"Fato","description":"Puoi scegliere due alleati, compreso te stesso e fino alla fine dello scontro tutti i danni subiti da uno, e viceversa, vengono dimezzati e la metà per difetto vanno all'altro. Il secondo bersaglio non può ridurre mai questo danno."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904854,"modifiedTime":1675877939475,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"ucedLMom9HNyIar6","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Interdizione alla morte","type":"power","system":{"level":4,"magicschool":"Morte","description":"il bersaglio fino alla fine del giorno supera automaticamente tutte le prove per il controllo sulla morte, ed è immune a gli incantesimi della sfera morte"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904937,"modifiedTime":1675877939484,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"ukjoDdLQ3EG8YG8X","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Charme","type":"power","system":{"level":2,"magicschool":"Ammaliamento","description":"la creatura considera l'incantatore un alleato per l'intera giornata. CD 15, MEN, negare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904797,"modifiedTime":1675877939466,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"uqJljByAKFAlnI2Z","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Domanda divina","type":"power","system":{"level":3,"magicschool":"Divinazione","description":"può fare una domanda al master il quale può rispondere con un si o un no."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904820,"modifiedTime":1675877939469,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"v1p3CqaMjGn4032X","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Segno di protezione","type":"power","system":{"level":2,"magicschool":"Rune","description":"il bersaglio può ignorare i danni inflitti dal primo colpo ricevuto in seguito all'incantesimo. il segno scompare all'alba del giorno successivo se non viene scaricato prima."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904968,"modifiedTime":1675877939486,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"vDxv1Amvg7xs2cM4","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Rigenerazione","type":"power","system":{"level":4,"magicschool":"Negromanzia","description":"il bersaglio rigenera parti del corpo distrutte o tagliate o perse che aveva in precedenza e recupera tutti i punti ferita"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904941,"modifiedTime":1675877939485,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"vSGeP4nrgzmoixcw","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Dettame","type":"power","system":{"level":3,"magicschool":"Indole - Legge","description":"infligge 12d6 danni ad una creatura caotica. CD 16, MEN, dimezzare."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904909,"modifiedTime":1675877939480,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"vj2MXWRP76IF9gdQ","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Aiuto della natura","type":"power","system":{"level":4,"magicschool":"Vegetale","description":"<p>si evocano 3 trent che rimangono per 5 round ognuno con le seguenti statistiche: fis: 7 ist:3 men:3 3x frustata 2d6, guarigione rapida 5. si considera una unica evocazione al fine dei limiti di controllo di creature evocate e si calcolano le statistiche come le creature evocate, ma il tempo di lancio di questo incantesimo è di una mossa incantesimo</p>"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904985,"modifiedTime":1675877939488,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"vtmeYf3FxtbUlc8k","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Dissolvi magie superiori","type":"power","system":{"level":4,"magicschool":"Conoscenze","description":"funziona come l'incantesimo della stessa sfera di secondo livello dissolvi magie, ma si ottiene un bonus di +5 al tiro per dissolvere l'incantesimo"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904812,"modifiedTime":1675877939468,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"wQp0B9jxS1XQQ9oi","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Titano","type":"power","system":{"level":3,"magicschool":"Guerra","description":"il bersaglio ottiene un bonus di 5 punti a fis cumulabile con l'incantesimo forza fino alla fine dello scontro."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904876,"modifiedTime":1675877939477,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"wnw46cRzlPWbO5PV","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Evoca scheletro","type":"power","system":{"level":1,"magicschool":"Evocazione - Non Morte","description":"artiglio 1d4 o danni dell'arma, fis 2, ist 2, men 0."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904848,"modifiedTime":1675877939474,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"x2Wn2yyZzfuS67r5","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Luce abbagliante","type":"power","system":{"level":2,"magicschool":"Luce","description":"un'area di 6 metri viene pervasa dalla luce i bersagli nell’area ottengono un -5 ai tiri per colpire, TS FIS 16 per negare . Il potere neutralizza oscurità magica. L'effetto nell’area persiste per 5 minuti."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904927,"modifiedTime":1675877939483,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"x6dRKlegqwmp0dh9","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Visione del vero","type":"power","system":{"level":4,"magicschool":"Visione","description":"Un personaggio riesce per i successivi 5 minuti a vedere le cose per come sono realmente vede sia le aree magiche che le mutazioni, riconosce tutto ciò che è alterato"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904994,"modifiedTime":1675877939490,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"x77FS5eTPPTlfvqU","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Vendetta della furia","type":"power","system":{"level":4,"magicschool":"Guerra","description":"fino alla fine del prossimo scontro tutti i risultati di 18,19 sul txc sono considerati come 20"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904879,"modifiedTime":1675877939478,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"x96WvKX2sEQHJjJZ","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Bloccare il tempo","type":"power","system":{"level":4,"magicschool":"Tempo","description":"con questo incantesimo l'incantatore può fare altri 3 turni consecutivi, non è possibile però lanciare incantesimi contro i nemici o usare mosse di attacco"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904975,"modifiedTime":1675877939486,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"xSeI7UXUOy20nx4U","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Permanenza","type":"power","system":{"level":4,"magicschool":"Forza","description":"questo incantesimo và usato su un altro incantesimo e se questo aveva la dicitura “per il prossimo scontro” diventa “fino a fine giornata”"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904862,"modifiedTime":1675877939476,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"xipmns7LBQ3k3HuG","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Rimuovi status","type":"power","system":{"level":2,"magicschool":"Guarigione","description":"rimuove tutti gli status negativi al bersaglio come il veleno, malattie, sonno o la perdita di caratteristiche, chi usa questo incantesimo deve essere a conoscenza di cosa vuole rimuovere"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904865,"modifiedTime":1675877939476,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"yYPcGqpad7uxCLlo","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Scintilla","type":"power","system":{"level":1,"magicschool":"Elementale - Aria","description":"l'incantatore deve effettuare un tiro per colpire a distanza entro 20 metri per infliggere 4d4 danni da scossa al bersaglio."},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904829,"modifiedTime":1675877939471,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"zTe8Bxq5Rc3lrrCo","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Salvezza","type":"power","system":{"level":2,"magicschool":"Protezione","description":"il bersaglio ottiene un bonus di 5 punti al risultato del primo tiro salvezza che effettua"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904954,"modifiedTime":1675877939485,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"zV19MhRi8xVJBGWq","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Alito di vita","type":"power","system":{"level":4,"magicschool":"Guarigione","description":"riporta il bersaglio al suo massimo di punti ferita anche se questo è morto negli ultimi 3 round"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904869,"modifiedTime":1675877939477,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"zbZ8urPD9fwpHNeR","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
||||
{"name":"Vedere invisibile","type":"power","system":{"level":2,"magicschool":"Visione","description":"il bersaglio vede le creature invisibili per 5 minuti"},"img":"systems/fvtt-warhero/images/icons/magia.webp","effects":[],"flags":{},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.19","coreVersion":"10.291","createdTime":1675877904992,"modifiedTime":1675877939489,"lastModifiedBy":"rDR9x9ZA2osHkrld"},"_id":"zdi9q4TiPn7KSSOZ","folder":null,"sort":0,"ownership":{"default":0,"rDR9x9ZA2osHkrld":3}}
|
@ -1,2 +0,0 @@
|
||||
{"name":"Elf","type":"race","img":"systems/fvtt-warhero/images/icons/razze.webp","system":{"description":"<p>Creature raffinate dalle vaste conoscenze molto affini alla<br>magia, con aspetti esotici e lunghe orecchie a punta</p>\n<ul>\n<li>HP Progression = Low (+2 Hp for level)</li>\n<li>Languages: Common, Elf</li>\n<li>Level 1,5 = +1 use to counterspell</li>\n<li>Level 1,2,4,6,8= +2% to all throws with d100</li>\n<li>Level 2,5,7=+1 Mana</li>\n<li>Level 1,4,8 = +1 INT</li>\n<li>Livello 3,6,9 = +1 TxC e +1 Damage</li>\n</ul>"},"effects":[],"flags":{"core":{"sourceId":"Item.bXFkTKWCyWs7c9Ps"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674283365951,"modifiedTime":1674287954294,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"dGj39hnZpsEWw8kS"}
|
||||
{"name":"Dirza","type":"race","img":"systems/fvtt-warhero/images/icons/razze.webp","system":{"description":"<p>Razza nata dall’ingegno delle altre razze creata durante<br>esperimenti, sono dei costrutti con volontà propria</p>\n<p> </p>\n<ul>\n<li>HP Progression = Medium (+4 Hp for level)</li>\n<li>Languages: Common, Undercommon</li>\n<li>Level 1,5,7 = +1 use to disarm</li>\n<li>Level 1 = Weapon competency: Long weapon</li>\n<li>Level 1,4,8 = +1 STR or +1 DEX</li>\n<li>Livello 3,6,9 = +1 TxC e +1 Damage</li>\n</ul>"},"effects":[],"flags":{"core":{"sourceId":"Item.t9BvXbl4oqD7BAUT"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674283365951,"modifiedTime":1674287952690,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"qeOasFFrQqrI0y62"}
|
@ -1,3 +0,0 @@
|
||||
{"name":"Wooden tower shield","type":"shield","img":"systems/fvtt-warhero/images/icons/difensiva.webp","system":{"shieldtype":"heavy","parrybonus":5,"equipped":false,"cost":38,"slotused":1,"slotlocation":"shield","description":"<p>A wooden large shield. Parry +5</p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.tK8bPZVbZaKgow7K"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674286037851,"modifiedTime":1674287856939,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"GfIDXBblhVS3VdXN"}
|
||||
{"name":"Wooden large shield","type":"shield","img":"systems/fvtt-warhero/images/icons/difensiva.webp","system":{"shieldtype":"medium","parrybonus":3,"equipped":false,"cost":38,"slotused":1,"slotlocation":"shield","description":"<p>A wooden large shield. Parry +3</p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.tK8bPZVbZaKgow7K"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674286037851,"modifiedTime":1674287860571,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"Xju80dPOF4jqJ5B3"}
|
||||
{"name":"Buckler","type":"shield","img":"systems/fvtt-warhero/images/icons/difensiva.webp","system":{"shieldtype":"light","parrybonus":1,"equipped":false,"cost":12,"slotused":1,"slotlocation":"shield","description":"<p>A bucker. Parry +1</p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.tQEp3JxDQab5yPV5"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674286037851,"modifiedTime":1674287858729,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"ronuYFULqGPjn0ij"}
|
@ -1,8 +0,0 @@
|
||||
{"name":"Stick (two-hand)","type":"weapon","img":"systems/fvtt-warhero/images/icons/two-handed-sword.svg","system":{"weapontype":"long","damage":"1d8","cost":2,"equipped":false,"slotused":1,"slotlocation":"weapon1","description":"<p>A Long sword</p>\n<p>It can goes into slot weapon1 or when not used in belt slot.</p>\n<p>It can be used 1 hand (1d6+STR) or 2 hands (1d8 + STR*1.5)</p>\n<p> </p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.EhoZ1NSTZst09mHE"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674285262655,"modifiedTime":1674287971706,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"4ZL7UAmh9jSs8zbh"}
|
||||
{"name":"Long sword","type":"weapon","img":"systems/fvtt-warhero/images/icons/two-handed-sword.svg","system":{"weapontype":"long","damage":"1d8","cost":12,"equipped":false,"slotused":1,"slotlocation":"weapon1","description":"<p>A Long sword</p>\n<p>It can goes into slot weapon1 or when not used in belt slot.</p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.EhoZ1NSTZst09mHE"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674285262655,"modifiedTime":1674287968028,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"Jd2a6a6b4wpbDJ3w"}
|
||||
{"name":"Greatsword","type":"weapon","img":"systems/fvtt-warhero/images/icons/two-handed-sword.svg","system":{"weapontype":"twohanded","damage":"3d6","cost":42,"equipped":false,"slotused":1,"slotlocation":"weapon1","description":"<p>A Greatsword</p>\n<p>It can goes into slot weapon1 or when not used in belt slot.</p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.jUtvX6kjiTzQQh59"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674285262655,"modifiedTime":1674287985414,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"YZbg0VJ4Hb2xIXMD"}
|
||||
{"name":"Stick (one-hand)","type":"weapon","img":"systems/fvtt-warhero/images/icons/two-handed-sword.svg","system":{"weapontype":"long","damage":"1d6","cost":2,"equipped":false,"slotused":1,"slotlocation":"weapon1","description":"<p>A Long sword</p>\n<p>It can goes into slot weapon1 or when not used in belt slot.</p>\n<p>It can be used 1 hand (1d6+STR) or 2 hands (1d8 + STR*1.5)</p>\n<p> </p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.EhoZ1NSTZst09mHE"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674285262655,"modifiedTime":1674287970122,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"YgnGOzeuxgprHW3u"}
|
||||
{"name":"Dagger","type":"weapon","img":"systems/fvtt-warhero/images/icons/two-handed-sword.svg","system":{"weapontype":"short","damage":"1d6","cost":2,"equipped":false,"slotused":1,"slotlocation":"weapon1","description":"<p>A dagger.</p>\n<p>Can be used as light weapons (1d6+STR) or as thrown weapon (1d8)</p>\n<p>It can goes into slot weapon1 or when not used in belt slot.</p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.XUOhKngx7fl9oVWV"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674285262655,"modifiedTime":1674287978363,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"bl1pTDhGeVQPtTEc"}
|
||||
{"name":"Bow","type":"weapon","img":"systems/fvtt-warhero/images/icons/two-handed-sword.svg","system":{"weapontype":"shooting","damage":"2d6","cost":32,"equipped":false,"slotused":1,"slotlocation":"weapon1","description":"<p>It fires @UUID[Compendium.world.ammunitions.f7QTqfFzyTWLFOrY]{Arrow}</p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.SF7nuKVRyXZSOcdB"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674285448228,"modifiedTime":1674288088722,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"kkn0H33tCD3594Mx"}
|
||||
{"name":"CrossBow","type":"weapon","img":"systems/fvtt-warhero/images/icons/two-handed-sword.svg","system":{"weapontype":"shooting","damage":"2d6","cost":45,"equipped":false,"slotused":1,"slotlocation":"weapon1","description":"<p>It fires @UUID[Compendium.world.ammunitions.f7QTqfFzyTWLFOrY]{Arrow}</p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.6xn63xsRt7AGSk8h"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674285448228,"modifiedTime":1674288094741,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"koM5TEFPzTlZeuMn"}
|
||||
{"name":"Dagger (Thrown)","type":"weapon","img":"systems/fvtt-warhero/images/icons/two-handed-sword.svg","system":{"weapontype":"throwing","damage":"1d8","cost":2,"equipped":false,"slotused":1,"slotlocation":"weapon1","description":"<p>A dagger.</p>\n<p>Can be used as light weapons (1d6+STR) or as thrown weapon (1d8)</p>\n<p>It can goes into slot weapon1 or when not used in belt slot.</p>","quantity":1},"effects":[],"flags":{"core":{"sourceId":"Item.LJWhSxBqpEqtSuhE"}},"_stats":{"systemId":"fvtt-warhero","systemVersion":"10.0.2","coreVersion":"10.291","createdTime":1674285262655,"modifiedTime":1674287980751,"lastModifiedBy":"HTxW4IKZV3evIunu"},"folder":null,"sort":0,"ownership":{"default":0,"HTxW4IKZV3evIunu":3},"_id":"rD1xh7I9UNmSDFWR"}
|
@ -10,7 +10,7 @@
|
||||
--major-button-font-weight: normal;
|
||||
--major-button-color: #dadada;
|
||||
|
||||
--tab-header-font-size: 1rem;
|
||||
--tab-header-font-size: 1.0rem;
|
||||
--tab-header-font-weight: 700;
|
||||
--tab-header-color: #403f3e;
|
||||
--tab-header-color-active: #4a0404;
|
||||
@ -41,14 +41,12 @@
|
||||
letter-spacing: 1px;
|
||||
color: rgba(228, 240, 240, 0.75);
|
||||
background: rgba(66, 66, 64, 0.95);
|
||||
|
||||
}
|
||||
|
||||
/* Fonts */
|
||||
.sheet header.sheet-header h1 input,
|
||||
.window-app .window-header,
|
||||
#actors .directory-list,
|
||||
#navigation #scene-list .scene.nav-item {
|
||||
font-size: 1rem;
|
||||
.sheet header.sheet-header h1 input, .window-app .window-header, #actors .directory-list, #navigation #scene-list .scene.nav-item {
|
||||
font-size: 1.0rem;
|
||||
color: rgba(228, 240, 240, 0.75);
|
||||
background: rgba(66, 66, 64, 0.95);
|
||||
} /* For title, sidebar character and scene */
|
||||
@ -57,16 +55,7 @@
|
||||
color: rgba(228, 240, 240, 0.75);
|
||||
background: rgba(66, 66, 64, 0.95);
|
||||
} /* For nav and title */
|
||||
.window-app input,
|
||||
.fvtt-warhero .item-form,
|
||||
.sheet header.sheet-header .flex-group-center.flex-compteurs,
|
||||
.sheet header.sheet-header .flex-group-center.flex-fatigue,
|
||||
select,
|
||||
button,
|
||||
.item-checkbox,
|
||||
#sidebar,
|
||||
#players,
|
||||
#navigation #nav-toggle {
|
||||
.window-app input, .fvtt-warhero .item-form, .sheet header.sheet-header .flex-group-center.flex-compteurs, .sheet header.sheet-header .flex-group-center.flex-fatigue, select, button, .item-checkbox, #sidebar, #players, #navigation #nav-toggle {
|
||||
font-size: 0.8rem;
|
||||
color: rgba(228, 240, 240, 0.75);
|
||||
background: rgba(66, 66, 64, 0.95);
|
||||
@ -78,9 +67,7 @@ button,
|
||||
.dialog .window-content {
|
||||
color: #ccdbe6;
|
||||
}
|
||||
.dialog-content,
|
||||
.dialog-buttons,
|
||||
.form-fields {
|
||||
.dialog-content, .dialog-buttons, .form-fields {
|
||||
color: #ccdbe6;
|
||||
}
|
||||
.window-app.sheet .window-content {
|
||||
@ -92,9 +79,7 @@ button,
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.tabs .item.active,
|
||||
.blessures-list li ul li:first-child:hover,
|
||||
a:hover {
|
||||
.tabs .item.active, .blessures-list li ul li:first-child:hover, a:hover {
|
||||
text-shadow: 1px 0px 0px #ff6600;
|
||||
}
|
||||
select {
|
||||
@ -106,8 +91,7 @@ select option {
|
||||
color: rgba(66, 66, 64, 0.95);
|
||||
}
|
||||
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
.rollable:hover, .rollable:focus {
|
||||
color: #000;
|
||||
text-shadow: 0 0 10px red;
|
||||
cursor: pointer;
|
||||
@ -118,12 +102,9 @@ input:disabled {
|
||||
select:disabled {
|
||||
color:#1c2058;
|
||||
}
|
||||
table {
|
||||
border: 1px solid #7a7971;
|
||||
}
|
||||
table {border: 1px solid #7a7971;}
|
||||
|
||||
.grid,
|
||||
.grid-2col {
|
||||
.grid, .grid-2col {
|
||||
display: grid;
|
||||
grid-column: span 2 / span 2;
|
||||
grid-template-columns: repeat(2, minmax(0, 1fr));
|
||||
@ -363,8 +344,8 @@ table {
|
||||
|
||||
.fvtt-warhero .tabs {
|
||||
height: 40px;
|
||||
border-top: 1px solid #aaa;
|
||||
border-bottom: 1px solid #aaa;
|
||||
border-top: 1px solid #AAA;
|
||||
border-bottom: 1px solid #AAA;
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
@ -393,7 +374,7 @@ table {
|
||||
height: 30px;
|
||||
line-height: 24px;
|
||||
padding: 1px 0;
|
||||
border-bottom: 1px solid #bbb;
|
||||
border-bottom: 1px solid #BBB;
|
||||
}
|
||||
|
||||
.fvtt-warhero .items-list .item .item-image {
|
||||
@ -418,19 +399,16 @@ table {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
|
||||
/* ======================================== */
|
||||
/* Sheet */
|
||||
.window-app.sheet .window-content .sheet-header{
|
||||
background: url('../images/ui/pc_sheet_bg.webp');
|
||||
background: url("../images/ui/pc_sheet_bg.webp")
|
||||
}
|
||||
/* background: #011d33 url("../images/ui/fond1.webp") repeat left top;*/
|
||||
/*color: rgba(168, 139, 139, 0.5);*/
|
||||
|
||||
.window-app.sheet .window-content .sheet-header input[type='text'],
|
||||
.window-app.sheet .window-content .sheet-header input[type='number'],
|
||||
.window-app.sheet .window-content .sheet-header input[type='password'],
|
||||
.window-app.sheet .window-content .sheet-header input[type='date'],
|
||||
.window-app.sheet .window-content .sheet-header input[type='time'] {
|
||||
.window-app.sheet .window-content .sheet-header input[type="text"], .window-app.sheet .window-content .sheet-header input[type="number"], .window-app.sheet .window-content .sheet-header input[type="password"], .window-app.sheet .window-content .sheet-header input[type="date"], .window-app.sheet .window-content .sheet-header input[type="time"] {
|
||||
color: rgba(228, 240, 240, 0.75);
|
||||
background: rgba(66, 66, 64, 0.95);
|
||||
border: 1 none;
|
||||
@ -438,11 +416,7 @@ table {
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
.window-app.sheet .window-content .sheet-body input[type='text'],
|
||||
.window-app.sheet .window-content .sheet-body input[type='number'],
|
||||
.window-app.sheet .window-content .sheet-body input[type='password'],
|
||||
.window-app.sheet .window-content .sheet-body input[type='date'],
|
||||
.window-app.sheet .window-content .sheet-body input[type='time'] {
|
||||
.window-app.sheet .window-content .sheet-body input[type="text"], .window-app.sheet .window-content .sheet-body input[type="number"], .window-app.sheet .window-content .sheet-body input[type="password"], .window-app.sheet .window-content .sheet-body input[type="date"], .window-app.sheet .window-content .sheet-body input[type="time"] {
|
||||
color: rgba(228, 240, 240, 0.75);
|
||||
background: rgba(66, 66, 64, 0.95);
|
||||
border: 1 none;
|
||||
@ -450,8 +424,7 @@ table {
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
.window-app.sheet .window-content .sheet-body select,
|
||||
.window-app.sheet .window-content .sheet-header select {
|
||||
.window-app.sheet .window-content .sheet-body select, .window-app.sheet .window-content .sheet-header select {
|
||||
color: rgba(228, 240, 240, 0.75);
|
||||
background: rgba(66, 66, 64, 0.95);
|
||||
border: 1 none;
|
||||
@ -459,19 +432,16 @@ table {
|
||||
margin-left: 2px;
|
||||
}
|
||||
|
||||
.window-app .window-content,
|
||||
.window-app.sheet .window-content .sheet-body {
|
||||
.window-app .window-content, .window-app.sheet .window-content .sheet-body{
|
||||
font-size: 0.8rem;
|
||||
background: url('../images/ui/pc_sheet_bg.webp') repeat left top;
|
||||
background: url("../images/ui/pc_sheet_bg.webp") repeat left top;
|
||||
color: rgba(228, 240, 240, 0.75);
|
||||
background: rgba(66, 66, 64, 0.95);
|
||||
}
|
||||
|
||||
/* background: rgba(245,245,240,0.6) url("../images/ui/sheet_background.webp") left top;*/
|
||||
|
||||
section.sheet-body {
|
||||
padding: 0.25rem 0.5rem;
|
||||
}
|
||||
section.sheet-body{padding: 0.25rem 0.5rem;}
|
||||
|
||||
.sheet header.sheet-header .profile-img {
|
||||
object-fit: cover;
|
||||
@ -481,7 +451,7 @@ section.sheet-body {
|
||||
}
|
||||
|
||||
.sheet nav.sheet-tabs {
|
||||
font-size: 0.7rem;
|
||||
font-size: 0.70rem;
|
||||
font-weight: bold;
|
||||
height: 3rem;
|
||||
flex: 0 0 3rem;
|
||||
@ -504,7 +474,7 @@ nav.sheet-tabs .item {
|
||||
}
|
||||
|
||||
nav.sheet-tabs .item:after {
|
||||
content: '';
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
@ -518,17 +488,13 @@ nav.sheet-tabs .item:after {
|
||||
}
|
||||
|
||||
section.sheet-body:after {
|
||||
content: '';
|
||||
content: "";
|
||||
display: block;
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.sheet header.sheet-header .flex-compteurs {
|
||||
text-align: right;
|
||||
}
|
||||
.sheet header.sheet-header .resource-content {
|
||||
width: 2rem;
|
||||
}
|
||||
.sheet header.sheet-header .flex-compteurs {text-align: right;}
|
||||
.sheet header.sheet-header .resource-content {width: 2rem;}
|
||||
|
||||
.select-diff {
|
||||
display: inline-block;
|
||||
@ -543,8 +509,7 @@ section.sheet-body:after {
|
||||
padding: 0.25rem;
|
||||
}
|
||||
|
||||
.window-app.sheet .window-content .carac-value,
|
||||
.window-app.sheet .window-content .competence-xp {
|
||||
.window-app.sheet .window-content .carac-value, .window-app.sheet .window-content .competence-xp {
|
||||
margin: 0.05rem;
|
||||
flex-basis: 3rem;
|
||||
text-align: center;
|
||||
@ -555,25 +520,20 @@ section.sheet-body:after {
|
||||
|
||||
/* ======================================== */
|
||||
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4 {
|
||||
h1, h2, h3, h4 {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
ul,
|
||||
ol {
|
||||
ul, ol {
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
ul,
|
||||
li {
|
||||
ul, li {
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.sheet li {
|
||||
margin: 0.01rem;
|
||||
margin: 0.010rem;
|
||||
padding: 0.25rem;
|
||||
}
|
||||
.header-fields li {
|
||||
@ -585,7 +545,7 @@ li {
|
||||
background: rgba(100, 100, 50, 0.25);
|
||||
}
|
||||
.alterne-list > .list-item:nth-child(even) {
|
||||
background: rgba(80, 60, 0, 0.1);
|
||||
background: rgba(80, 60, 0, 0.10);
|
||||
}
|
||||
.alterne-list > .list-item:nth-child(odd) {
|
||||
background: rgb(160, 130, 100, 0.05);
|
||||
@ -602,8 +562,8 @@ li {
|
||||
|
||||
.list-item {
|
||||
margin: 0.125rem;
|
||||
/*box-shadow: inset 0px 0px 1px #00000096;
|
||||
border-radius: 0.25rem;*/
|
||||
box-shadow: inset 0px 0px 1px #00000096;
|
||||
border-radius: 0.25rem;
|
||||
padding: 0.125rem;
|
||||
flex: 1 1 5rem;
|
||||
display: flex !important;
|
||||
@ -862,6 +822,7 @@ li {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
|
||||
.flex-actions-bar {
|
||||
flex-grow: 2;
|
||||
}
|
||||
@ -876,35 +837,15 @@ li {
|
||||
|
||||
/* background: rgb(105,85,65) url("../images/ui/texture_feuille_perso_onglets.webp") no-repeat right bottom;*/
|
||||
|
||||
#sidebar-tabs > .collapsed,
|
||||
#chat-controls .chat-control-icon {
|
||||
#sidebar.collapsed {
|
||||
height: 470px !important;
|
||||
}
|
||||
|
||||
#sidebar-tabs > .collapsed, #chat-controls .chat-control-icon {
|
||||
color: rgba(220,220,220,0.75);
|
||||
text-shadow: 1px 1px 0 rgba(0,0,0,0.75);
|
||||
}
|
||||
|
||||
#sidebar-tabs {
|
||||
flex: 0 0 28px;
|
||||
box-sizing: border-box;
|
||||
margin: 0 0 3px;
|
||||
border-bottom: 1px solid rgba(0,0,0,0);
|
||||
box-shadow: inset 0 0 2rem rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
#sidebar-tabs > .item.active {
|
||||
border: 1px solid rgba(114,98,72,1);
|
||||
background: rgba(30, 25, 20, 0.75);
|
||||
box-shadow: 0 0 6px inset rgba(114,98,72,1);
|
||||
}
|
||||
|
||||
#sidebar #sidebar-tabs i{
|
||||
width: 23px;
|
||||
height: 23px;
|
||||
/*display: inline-block;*/
|
||||
background-position:center;
|
||||
background-size:cover;
|
||||
text-shadow: 1px 1px 0 rgba(0,0,0,0.75);
|
||||
}
|
||||
|
||||
.sidebar-tab .directory-list .entity {
|
||||
border-top: 1px dashed rgba(0,0,0,0.25);
|
||||
border-bottom: 0 none;
|
||||
@ -915,7 +856,6 @@ li {
|
||||
background: rgba(0,0,0,0.05);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.chat-message-header {
|
||||
background: rgba(220,220,210,0.5);
|
||||
font-size: 1.1rem;
|
||||
@ -926,11 +866,9 @@ li {
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.chat-message .message-header .flavor-text,
|
||||
.chat-message .message-header .whisper-to {
|
||||
.chat-message .message-header .flavor-text, .chat-message .message-header .whisper-to {
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.chat-actor-name {
|
||||
padding: 4px;
|
||||
}
|
||||
@ -952,8 +890,8 @@ li {
|
||||
}
|
||||
|
||||
.padding-dice {
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-top: .2rem;
|
||||
padding-bottom: .2rem;
|
||||
}
|
||||
|
||||
.dice-image {
|
||||
@ -978,8 +916,8 @@ li {
|
||||
font-size: 15px;
|
||||
padding: 10px;
|
||||
padding-bottom: 20px;
|
||||
padding-top: 0.2rem;
|
||||
padding-bottom: 0.2rem;
|
||||
padding-top: .2rem;
|
||||
padding-bottom: .2rem;
|
||||
}
|
||||
|
||||
.div-river-full {
|
||||
@ -1049,11 +987,26 @@ li {
|
||||
box-shadow: inset 0 0 2rem rgba(0,0,0,0.5);
|
||||
}
|
||||
|
||||
#sidebar-tabs > .item.active {
|
||||
border: 1px solid rgba(114,98,72,1);
|
||||
background: rgba(30, 25, 20, 0.75);
|
||||
box-shadow: 0 0 6px inset rgba(114,98,72,1);
|
||||
}
|
||||
|
||||
#sidebar #sidebar-tabs i{
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
display: inline-block;
|
||||
background-position:center;
|
||||
background-size:cover;
|
||||
text-shadow: 1px 1px 0 rgba(0,0,0,0.75);
|
||||
|
||||
}
|
||||
|
||||
/*--------------------------------------------------------------------------*/
|
||||
/* Control, Tool, hotbar & navigation */
|
||||
|
||||
#controls .scene-control,
|
||||
#controls .control-tool {
|
||||
#controls .scene-control, #controls .control-tool {
|
||||
box-shadow: 0 0 3px #000;
|
||||
margin: 0 0 8px;
|
||||
border-radius: 0;
|
||||
@ -1064,10 +1017,7 @@ li {
|
||||
border-image-outset: 0px;
|
||||
}
|
||||
|
||||
#controls .scene-control.active,
|
||||
#controls .control-tool.active,
|
||||
#controls .scene-control:hover,
|
||||
#controls .control-tool:hover {
|
||||
#controls .scene-control.active, #controls .control-tool.active, #controls .scene-control:hover, #controls .control-tool:hover {
|
||||
background: rgba(72, 46, 28, 1);
|
||||
background-origin: padding-box;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
@ -1113,8 +1063,7 @@ li {
|
||||
border-image-outset: 0px;
|
||||
}
|
||||
|
||||
#navigation #scene-list .scene.view,
|
||||
#navigation #scene-list .scene.context {
|
||||
#navigation #scene-list .scene.view, #navigation #scene-list .scene.context {
|
||||
background: rgba(72, 46, 28, 1);
|
||||
background-origin: padding-box;
|
||||
border-image: url(img/ui/footer-button.png) 10 repeat;
|
||||
@ -1308,11 +1257,13 @@ li {
|
||||
}
|
||||
|
||||
/*************************************************************/
|
||||
#pause {
|
||||
#pause
|
||||
{
|
||||
font-size: 2rem;
|
||||
}
|
||||
#pause > h3 {
|
||||
color: #ccc;
|
||||
#pause > h3
|
||||
{
|
||||
color: #CCC
|
||||
}
|
||||
|
||||
/* =================== 1. ACTOR SHEET FONT STYLES =========== *//*
|
||||
@ -1419,8 +1370,7 @@ li {
|
||||
max-height: 42px;
|
||||
min-height: 36px;
|
||||
}
|
||||
.item-ability-roll select,
|
||||
.item-ability-roll input {
|
||||
.item-ability-roll select, .item-ability-roll input {
|
||||
margin-top: 4px;
|
||||
margin-right: 2px;
|
||||
}
|
||||
@ -1438,9 +1388,6 @@ li {
|
||||
background: black;
|
||||
color: white;
|
||||
}
|
||||
.items-title-bg-red {
|
||||
background: darkred;
|
||||
}
|
||||
.items-title-text {
|
||||
margin-left: 4px;
|
||||
}
|
||||
@ -1492,22 +1439,11 @@ li {
|
||||
max-width: 22rem;
|
||||
min-width: 22rem;
|
||||
}
|
||||
.item-name-label-long3 {
|
||||
flex-grow: 2;
|
||||
max-width: 32rem;
|
||||
min-width: 32rem;
|
||||
}
|
||||
.item-name-label-level2 {
|
||||
flex-grow:2;
|
||||
max-width: 9rem;
|
||||
min-width: 9rem;
|
||||
}
|
||||
.item-field-label-2rem {
|
||||
flex-grow: 1;
|
||||
margin-top: 4px;
|
||||
max-width: 1.2rem;
|
||||
min-width: 1.2rem;
|
||||
}
|
||||
.item-field-label-short {
|
||||
flex-grow:1;
|
||||
margin-top: 4px;
|
||||
@ -1529,21 +1465,21 @@ li {
|
||||
.item-field-label-vlong {
|
||||
flex-grow:1;
|
||||
margin-top: 4px;
|
||||
max-width: 12rem;
|
||||
min-width: 12rem;
|
||||
max-width: 14rem;
|
||||
min-width: 14rem;
|
||||
}
|
||||
.item-field-label-vlong2 {
|
||||
flex-grow:1;
|
||||
margin-top: 4px;
|
||||
max-width: 24rem;
|
||||
min-width: 24rem;
|
||||
max-width: 22rem;
|
||||
min-width: 22rem;
|
||||
}
|
||||
.item-control-end {
|
||||
align-self: flex-end;
|
||||
}
|
||||
.alternate-list {
|
||||
margin-top: 4px;
|
||||
flex-wrap: nowrap;
|
||||
fong2ex-wrap: nowrap;
|
||||
}
|
||||
.item-filler {
|
||||
flex-grow: 6;
|
||||
@ -1556,19 +1492,3 @@ li {
|
||||
form .notes {
|
||||
color: rgba(214, 230, 230, 0.95);
|
||||
}
|
||||
.crit-success {
|
||||
color: darkgreen;
|
||||
}
|
||||
.crit-failure {
|
||||
color: darkred;
|
||||
}
|
||||
.directory .directory-header .header-search input {
|
||||
color: rgba(52, 52, 52, 0.95);
|
||||
}
|
||||
a.content-link, a.inline-roll {
|
||||
color: #222;
|
||||
}
|
||||
.journal-page-header,
|
||||
.journal-page-content {
|
||||
color: #222;
|
||||
}
|
60
styles/unused.html
Normal file
60
styles/unused.html
Normal file
@ -0,0 +1,60 @@
|
||||
{{!-- Carac Tab --}}
|
||||
<div class="tab items" data-group="primary" data-tab="statistics">
|
||||
|
||||
<div class="grid grid-2col">
|
||||
<div class="">
|
||||
<div class="flexrow">
|
||||
<span class="generic-label packed-left"><a class="generic-pool-roll"><button class="chat-card-button">Dice Pool</button></a></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="">
|
||||
|
||||
<ul>
|
||||
<li class="item flexrow list-item" data-key="momentum">
|
||||
<span class="stat-label flexrow" name="momentum"> <h4>{{data.momentum.label}}</h4> </span>
|
||||
<input type="text" class="padd-right" name="data.momentum.value" value="{{data.momentum.value}}" data-dtype="Number"/>
|
||||
<input type="text" class="padd-right" name="data.momentum.max" value="{{data.momentum.max}}" data-dtype="Number"/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
<ul>
|
||||
<li class="item flexrow list-item" data-key="mr">
|
||||
<span class="stat-label flexrow" name="mr">
|
||||
<a class="roll-mr" data-stat-key="{{mr}}"><h4>{{data.mr.label}}</h4></a>
|
||||
</span>
|
||||
<select class="carac-base flexrow" type="text" name="data.mr.value" value="{{data.mr.value}}"
|
||||
data-dtype="Number" >
|
||||
{{#select data.mr.value}}
|
||||
{{{@root.optionsDiceList}}}
|
||||
{{/select}}
|
||||
</select>
|
||||
<input type="text" class="padd-right input-numeric-short" name="data.mr.mod" value="{{data.mr.mod}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
|
||||
<li class="item flexrow list-item" data-attr-key="{{key}}">
|
||||
{{#each data.secondary as |stat2 key|}}
|
||||
{{#if stat2.iscombat}}
|
||||
<span class="stat-label" name="{{key}}">
|
||||
<h4>{{stat2.label}} : </h4>
|
||||
</span>
|
||||
<span class="small-label padd-right packed-left">Cur</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.secondary.{{key}}.value" value="{{stat2.value}}" data-dtype="Number"/>
|
||||
<span class="small-label padd-right packed-left"> Max</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.secondary.{{key}}.max" value="{{stat2.max}}" data-dtype="Number"/>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</li>
|
||||
<li class="item flexrow list-item" data-key="momentum">
|
||||
<span class="stat-label flexrow" name="momentum"><h4>{{data.momentum.label}}:</h4></span>
|
||||
<span class="small-label padd-right packed-left">Cur</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.momentum.value" value="{{data.momentum.value}}" data-dtype="Number"/>
|
||||
<span class="small-label padd-right packed-left"> Max</span><input type="text" class="padd-right update-field input-numeric-short" data-field-name="data.momentum.max" value="{{data.momentum.max}}" data-dtype="Number"/>
|
||||
</li>
|
31
system.json
31
system.json
@ -7,10 +7,9 @@
|
||||
],
|
||||
"description": "Warhero RPG system for FoundryVTT",
|
||||
"esmodules": [
|
||||
"modules/warhero-main.js",
|
||||
"modules/import-global.js"
|
||||
"modules/warhero-main.js"
|
||||
],
|
||||
"gridDistance": 1,
|
||||
"gridDistance": 5,
|
||||
"gridUnits": "m",
|
||||
"languages": [
|
||||
{
|
||||
@ -18,22 +17,27 @@
|
||||
"name": "English",
|
||||
"path": "lang/en.json",
|
||||
"flags": {}
|
||||
},
|
||||
{
|
||||
"lang": "it",
|
||||
"name": "English",
|
||||
"path": "lang/it.json",
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"license": "LICENSE.txt",
|
||||
"primaryTokenAttribute": "attributes.hp",
|
||||
"secondaryTokenAttribute": "attributes.mana",
|
||||
"packs": [
|
||||
{
|
||||
"type": "Item",
|
||||
"label": "Races",
|
||||
"name": "races",
|
||||
"path": "packs/races.db",
|
||||
"system": "fvtt-warhero",
|
||||
"private": false,
|
||||
"flags": {}
|
||||
}
|
||||
],
|
||||
"primaryTokenAttribute": "secondary.hp",
|
||||
"secondaryTokenAttribute": "secondary.effort",
|
||||
"socket": true,
|
||||
"styles": [
|
||||
"styles/simple.css"
|
||||
],
|
||||
"version": "10.0.54",
|
||||
"version": "10.0.3",
|
||||
"compatibility": {
|
||||
"minimum": "10",
|
||||
"verified": "10",
|
||||
@ -41,7 +45,8 @@
|
||||
},
|
||||
"title": "Warhero RPG",
|
||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-warhero/raw/branch/master/system.json",
|
||||
"download": "https://www.uberwald.me/gitea/public/fvtt-warhero/archive/fvtt-warhero-10.0.54.zip",
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-warhero/archive/fvtt-warhero-10.0.3.zip",
|
||||
"url": "https://www.uberwald.me/gitea/public/fvtt-warhero",
|
||||
"background": "images/ui/warhero_welcome_page.webp",
|
||||
"id": "fvtt-warhero"
|
||||
}
|
421
template.json
421
template.json
@ -1,24 +1,18 @@
|
||||
{
|
||||
"Actor": {
|
||||
"types": [
|
||||
"character",
|
||||
"npc",
|
||||
"monster",
|
||||
"party"
|
||||
],
|
||||
"types": ["character", "npc"],
|
||||
"templates": {
|
||||
"biodata": {
|
||||
"biodata": {
|
||||
"class": "",
|
||||
"age": 0,
|
||||
"size": "medium",
|
||||
"size": 0,
|
||||
"weight": "",
|
||||
"height": "",
|
||||
"hair": "",
|
||||
"sex": "",
|
||||
"eyes": "",
|
||||
"background": "",
|
||||
"religion": "",
|
||||
"description": "",
|
||||
"notes": "",
|
||||
"gmnotes": ""
|
||||
@ -26,207 +20,71 @@
|
||||
},
|
||||
"core": {
|
||||
"subactors": [],
|
||||
"statistics": {
|
||||
"abilities": {
|
||||
"str":{
|
||||
"label": "WH.ui.Strength",
|
||||
"label": "Strength",
|
||||
"abbrev": "str",
|
||||
"style": "edit",
|
||||
"hassave": true,
|
||||
"roll": true,
|
||||
"save": 0,
|
||||
"value": 0
|
||||
"col": 1,
|
||||
"value": 1
|
||||
},
|
||||
"agi":{
|
||||
"label": "Agility",
|
||||
"abbrev": "agi",
|
||||
"col": 1,
|
||||
"value": 1
|
||||
},
|
||||
"dex":{
|
||||
"label": "WH.ui.Dexterity",
|
||||
"label": "Dexterity",
|
||||
"abbrev": "dex",
|
||||
"style": "edit",
|
||||
"hassave": true,
|
||||
"roll": true,
|
||||
"save": 0,
|
||||
"value": 0
|
||||
"col": 1,
|
||||
"value": 1
|
||||
},
|
||||
"min": {
|
||||
"label": "WH.ui.Mind",
|
||||
"abbrev": "min",
|
||||
"style": "edit",
|
||||
"hassave": true,
|
||||
"roll": true,
|
||||
"save": 0,
|
||||
"value": 0
|
||||
}
|
||||
"con":{
|
||||
"label": "Constitution",
|
||||
"abbrev": "con",
|
||||
"col": 1,
|
||||
"value": 1
|
||||
},
|
||||
"attributes": {
|
||||
"hp": {
|
||||
"label": "WH.ui.HitPoints",
|
||||
"abbrev": "hp",
|
||||
"style": "edit",
|
||||
"hasmax": true,
|
||||
"isheader": true,
|
||||
"max": 30,
|
||||
"value": 30
|
||||
"int":{
|
||||
"label": "Intelligence",
|
||||
"abbrev": "int",
|
||||
"col": 2,
|
||||
"value": 1
|
||||
},
|
||||
"knowledge": {
|
||||
"label": "WH.ui.Knowledge",
|
||||
"abbrev": "knowledge",
|
||||
"style": "edit",
|
||||
"hasmax": false,
|
||||
"roll": true,
|
||||
"max": 0,
|
||||
"value": 0
|
||||
"wit":{
|
||||
"label": "Wits",
|
||||
"abbrev": "wit",
|
||||
"col": 2,
|
||||
"value": 1
|
||||
},
|
||||
"def": {
|
||||
"label": "WH.ui.Defence",
|
||||
"abbrev": "def",
|
||||
"style": "edit",
|
||||
"iscombat": true,
|
||||
"max": 12,
|
||||
"value": 12
|
||||
},
|
||||
"txcm": {
|
||||
"label": "WH.ui.Throw2HitM",
|
||||
"abbrev": "txcm",
|
||||
"istxc": true,
|
||||
"style": "edit",
|
||||
"roll": true,
|
||||
"iscombat": true,
|
||||
"max": 0,
|
||||
"value": 0
|
||||
},
|
||||
"txcr": {
|
||||
"label": "WH.ui.Throw2HitR",
|
||||
"abbrev": "txcr",
|
||||
"istxc": true,
|
||||
"style": "edit",
|
||||
"roll": true,
|
||||
"iscombat": true,
|
||||
"max": 0,
|
||||
"value": 0
|
||||
},
|
||||
"mana": {
|
||||
"label": "WH.ui.Mana",
|
||||
"abbrev": "pm",
|
||||
"style": "edit",
|
||||
"hasmax": true,
|
||||
"isheader": true,
|
||||
"max": 3,
|
||||
"value": 3
|
||||
},
|
||||
"ini": {
|
||||
"label": "WH.ui.Initiative",
|
||||
"abbrev": "ini",
|
||||
"style": "edit",
|
||||
"iscombat": true,
|
||||
"roll": true,
|
||||
"max": 0,
|
||||
"value": 0
|
||||
},
|
||||
"movearth": {
|
||||
"label": "WH.ui.Movement",
|
||||
"abbrev": "mov",
|
||||
"style": "edit",
|
||||
"max": 6,
|
||||
"value": 6
|
||||
},
|
||||
"movswim": {
|
||||
"label": "WH.ui.MovementSwim",
|
||||
"abbrev": "mov",
|
||||
"style": "edit",
|
||||
"max": 0,
|
||||
"value": 0
|
||||
},
|
||||
"movfly": {
|
||||
"label": "WH.ui.MovementFly",
|
||||
"abbrev": "mov",
|
||||
"style": "edit",
|
||||
"max": 0,
|
||||
"value": 0
|
||||
"cha":{
|
||||
"label": "Charisma",
|
||||
"abbrev": "cha",
|
||||
"col": 2,
|
||||
"value": 1
|
||||
}
|
||||
},
|
||||
"secondary": {
|
||||
"xp": {
|
||||
"label": "WH.ui.XP",
|
||||
"abbrev": "xp",
|
||||
"islevel": true,
|
||||
"style": "edit",
|
||||
"hp": {
|
||||
"label": "Hitpoint",
|
||||
"abbrev": "hb",
|
||||
"value": -1,
|
||||
"max": 0
|
||||
},
|
||||
"effort": {
|
||||
"label": "Effort",
|
||||
"abbrev": "eff",
|
||||
"value": -1,
|
||||
"max": 0
|
||||
}
|
||||
},
|
||||
"social": {
|
||||
"fame": {
|
||||
"label": "Fame",
|
||||
"value": 0
|
||||
},
|
||||
"malusmultiweapon": {
|
||||
"label": "WH.ui.malusmultiweapon",
|
||||
"abbrev": "malusmultiweapon",
|
||||
"iscombat": true,
|
||||
"style": "edit",
|
||||
"value": 0
|
||||
},
|
||||
"drbonus": {
|
||||
"label": "WH.ui.drbonus",
|
||||
"abbrev": "drbonus",
|
||||
"style": "edit",
|
||||
"iscombat": true,
|
||||
"value": 0
|
||||
},
|
||||
"drbonustotal": {
|
||||
"label": "WH.ui.drbonustotal",
|
||||
"abbrev": "drbonustotal",
|
||||
"disabled": true,
|
||||
"style": "edit",
|
||||
"iscombat": true,
|
||||
"value": 0
|
||||
},
|
||||
"meleedamagebonus": {
|
||||
"label": "WH.ui.meleedamagebonus",
|
||||
"abbrev": "meleedamagebonus",
|
||||
"iscombat": true,
|
||||
"style": "edit",
|
||||
"value": 0
|
||||
},
|
||||
"rangeddamagebonus": {
|
||||
"label": "WH.ui.rangeddamagebonus",
|
||||
"abbrev": "rangeddamagebonus",
|
||||
"iscombat": true,
|
||||
"style": "edit",
|
||||
"value": 0
|
||||
},
|
||||
"parrybonus": {
|
||||
"label": "WH.ui.parrybonus",
|
||||
"abbrev": "parrybonus",
|
||||
"isparrybonus": true,
|
||||
"iscombat": true,
|
||||
"style": "edit",
|
||||
"value": 0
|
||||
},
|
||||
"parrybonustotal": {
|
||||
"label": "WH.ui.parrybonustotal",
|
||||
"abbrev": "parrybonustotal",
|
||||
"disabled": true,
|
||||
"style": "edit",
|
||||
"iscombat": true,
|
||||
"roll": true,
|
||||
"value": 0
|
||||
},
|
||||
"counterspell": {
|
||||
"label": "WH.ui.counterspell",
|
||||
"stat": "min",
|
||||
"abbrev": "counterspell",
|
||||
"style": "edit",
|
||||
"hasmax": false,
|
||||
"roll": true,
|
||||
"max": 1,
|
||||
"value": 0,
|
||||
"hasuse": true,
|
||||
"nbuse": 0,
|
||||
"maxuse": 0
|
||||
},
|
||||
"createitem": {
|
||||
"label": "WH.ui.createitem",
|
||||
"abbrev": "createitem",
|
||||
"style": "edit",
|
||||
"value": 0
|
||||
},
|
||||
"nblanguage": {
|
||||
"label": "WH.ui.languagesbonus",
|
||||
"abbrev": "nblanguage",
|
||||
"style": "edit",
|
||||
"disabled": true,
|
||||
"reputation": {
|
||||
"label": "Reputation",
|
||||
"value": 0
|
||||
}
|
||||
}
|
||||
@ -236,57 +94,24 @@
|
||||
"description": ""
|
||||
}
|
||||
},
|
||||
"party": {
|
||||
"templates": [
|
||||
"biodata"
|
||||
]
|
||||
},
|
||||
"character": {
|
||||
"templates": [
|
||||
"biodata",
|
||||
"core"
|
||||
]
|
||||
"templates": [ "biodata", "core" ]
|
||||
},
|
||||
"npc": {
|
||||
"templates": [
|
||||
"biodata",
|
||||
"core"
|
||||
]
|
||||
},
|
||||
"monster": {
|
||||
"templates": [
|
||||
"biodata",
|
||||
"core"
|
||||
]
|
||||
"templates": [ "biodata", "core" ]
|
||||
}
|
||||
},
|
||||
"Item": {
|
||||
"types": [
|
||||
"equipment",
|
||||
"race",
|
||||
"weapon",
|
||||
"armor",
|
||||
"shield",
|
||||
"skill",
|
||||
"power",
|
||||
"language",
|
||||
"condition",
|
||||
"class",
|
||||
"money",
|
||||
"potion",
|
||||
"poison",
|
||||
"trap",
|
||||
"classitem",
|
||||
"competency"
|
||||
],
|
||||
"templates": {
|
||||
"commonclassrace": {
|
||||
"types": [ "race", "weapon", "armor", "shield", "equipment", "money" , "skill", "power", "condition", "class"],
|
||||
"condition": {
|
||||
"description": ""
|
||||
},
|
||||
"class": {
|
||||
"weapons": {
|
||||
"short": false,
|
||||
"long": false,
|
||||
"twohanded": false,
|
||||
"shooting": false,
|
||||
"polearm": false,
|
||||
"shotgun": false,
|
||||
"throwing": false
|
||||
},
|
||||
"armors": {
|
||||
@ -298,123 +123,29 @@
|
||||
"light": false,
|
||||
"medium": false,
|
||||
"tower": false
|
||||
}
|
||||
}
|
||||
},
|
||||
"competency": {
|
||||
"description": ""
|
||||
},
|
||||
"potion": {
|
||||
"cost": 0,
|
||||
"quantity": 1,
|
||||
"slotused": 1,
|
||||
"slotlocation": "backpack",
|
||||
"isidentified": "unknown",
|
||||
"alchemycost": "",
|
||||
"preparetime": "",
|
||||
"durationround": 0,
|
||||
"description": ""
|
||||
},
|
||||
"poison": {
|
||||
"cost": 0,
|
||||
"quantity": 1,
|
||||
"slotused": 1,
|
||||
"slotlocation": "backpack",
|
||||
"isidentified": "unknown",
|
||||
"application": "",
|
||||
"preparecost": "",
|
||||
"preparetime": "",
|
||||
"damageroll": "",
|
||||
"durationround": 0,
|
||||
"savesdc": 0,
|
||||
"savetype": "",
|
||||
"description": ""
|
||||
},
|
||||
"trap": {
|
||||
"cost": 0,
|
||||
"quantity": 1,
|
||||
"slotused": 1,
|
||||
"slotlocation": "backpack",
|
||||
"isidentified": "unknown",
|
||||
"dcfind": 0,
|
||||
"dcdisable": 0,
|
||||
"throwtohit": 0,
|
||||
"damageroll": "",
|
||||
"description": ""
|
||||
},
|
||||
"classitem": {
|
||||
"cost": 0,
|
||||
"quantity": 1,
|
||||
"slotused": 1,
|
||||
"slotlocation": "backpack",
|
||||
"isidentified": "unknown",
|
||||
"class": "",
|
||||
"mandatoryfor": "",
|
||||
"description": ""
|
||||
},
|
||||
"money": {
|
||||
"quantity": 0,
|
||||
"slotlocation": "backpack",
|
||||
"description": ""
|
||||
},
|
||||
"condition": {
|
||||
"conditiontype": "",
|
||||
"duration": "",
|
||||
"begin": "",
|
||||
"specialduration": "",
|
||||
"durationvalue": 0,
|
||||
"durationunit": "",
|
||||
"shortdescription": "",
|
||||
"dcsave": 0,
|
||||
"incubationtime": "",
|
||||
"diseaseduration": "",
|
||||
"description": ""
|
||||
},
|
||||
"class": {
|
||||
"templates": [
|
||||
"commonclassrace"
|
||||
],
|
||||
"issecondary": false,
|
||||
"description": ""
|
||||
},
|
||||
"race": {
|
||||
"description": "",
|
||||
"hpprogresion": "hp2",
|
||||
"languages": "",
|
||||
"attributebonus1": "",
|
||||
"attributebonus4": "",
|
||||
"attributebonus8": "",
|
||||
"templates": [
|
||||
"commonclassrace"
|
||||
]
|
||||
},
|
||||
"language": {
|
||||
"shortdescription": "",
|
||||
"description": ""
|
||||
"attributebonus": "",
|
||||
"weapons": "",
|
||||
"shields": "",
|
||||
"armors": ""
|
||||
},
|
||||
"skill": {
|
||||
"raceskill": false,
|
||||
"classskill": false,
|
||||
"unlimited": false,
|
||||
"acquiredatlevel": 0,
|
||||
"currentuse": 0,
|
||||
"maxuse": 0,
|
||||
"description": ""
|
||||
},
|
||||
"weapon": {
|
||||
"weapontype": "short",
|
||||
"damage": "1d6",
|
||||
"damage2hands": "1d6",
|
||||
"rollformula": "",
|
||||
"damageformula": "",
|
||||
"cost": 0,
|
||||
"equipped": false,
|
||||
"quantity": 1,
|
||||
"slotused": 1,
|
||||
"slotlocation": "weapon1",
|
||||
"isidentified": "unknown",
|
||||
"magiccharge": "notapplicable",
|
||||
"chargevalue": 0,
|
||||
"description": ""
|
||||
},
|
||||
"armor": {
|
||||
@ -425,9 +156,6 @@
|
||||
"quantity": 1,
|
||||
"slotused": 1,
|
||||
"slotlocation": "armor",
|
||||
"isidentified": "unknown",
|
||||
"magiccharge": "notapplicable",
|
||||
"chargevalue": 0,
|
||||
"description":""
|
||||
},
|
||||
"shield": {
|
||||
@ -438,9 +166,6 @@
|
||||
"quantity": 1,
|
||||
"slotused": 1,
|
||||
"slotlocation": "shield",
|
||||
"isidentified": "unknown",
|
||||
"magiccharge": "notapplicable",
|
||||
"chargevalue": 0,
|
||||
"description":""
|
||||
},
|
||||
"equipment": {
|
||||
@ -450,15 +175,19 @@
|
||||
"equipped": false,
|
||||
"slotused": 1,
|
||||
"slotlocation": "backpack",
|
||||
"providedslot": 0,
|
||||
"isidentified": "unknown",
|
||||
"magiccharge": "notapplicable",
|
||||
"chargevalue": 0,
|
||||
"description":""
|
||||
},
|
||||
"power": {
|
||||
"level": "",
|
||||
"magicschool": "",
|
||||
"level1": "",
|
||||
"level2": "",
|
||||
"level3": "",
|
||||
"level4_1": "",
|
||||
"level4_2": "",
|
||||
"description": ""
|
||||
},
|
||||
"money" : {
|
||||
"value": 0,
|
||||
"quantity": 0,
|
||||
"description": ""
|
||||
},
|
||||
"spell":{
|
||||
|
@ -11,150 +11,112 @@
|
||||
<div class="flexrow">
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
{{#each system.statistics as |stat key|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key=key path="statistics" fieldClass="item-field-label-medium"}}
|
||||
{{#each data.abilities as |ability key|}}
|
||||
{{#if (eq ability.col 1)}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-ability-block.html ability=ability key=key}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<span class="ability-label " name="class">
|
||||
<h4 class="ability-text-white ability-margin">Class</h4>
|
||||
</span>
|
||||
<select class="competence-base flexrow" type="text" name="system.biodata.class" value="{{data.biodata.class}}" data-dtype="String">
|
||||
{{#select data.biodata.class}}
|
||||
<option value="chaplain">Chaplain</option>
|
||||
<option value="magus">Magus</option>
|
||||
<option value="martial">Martial</option>
|
||||
<option value="skalawag">Skalawag</option>
|
||||
<option value="warden">Warden</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
<li class="item flexrow list-item " data-item-id="{{race._id}}">
|
||||
<label class="item-field-label-medium">{{localize "WH.ui.race"}}</label>
|
||||
{{#if race}}
|
||||
<a class="item-edit"><img class="sheet-competence-img" src="{{race.img}}"></a>
|
||||
<input type="text" class="item-field-label-medium" disabled value="{{race.name}}" data-dtype="String" />
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{else}}
|
||||
<a class="item-edit"><img class="sheet-competence-img" src="icons/svg/mystery-man.svg"></a>
|
||||
{{/if}}
|
||||
</li>
|
||||
<li class="item flexrow list-item " data-item-id="{{mainClass._id}}">
|
||||
<label class="item-field-label-medium">{{localize "WH.ui.class"}}</label>
|
||||
{{#if mainClass}}
|
||||
<a class="item-edit"><img class="sheet-competence-img" src="{{mainClass.img}}"></a>
|
||||
<input type="text" class="item-field-label-medium" disabled value="{{mainClass.name}}" data-dtype="String" />
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{else}}
|
||||
<a class="item-edit"><img class="sheet-competence-img" src="icons/svg/mystery-man.svg"></a>
|
||||
{{/if}}
|
||||
</li>
|
||||
<li class="item flexrow list-item " data-item-id="{{secondaryClass._id}}">
|
||||
<label class="item-field-label-medium">{{localize "WH.ui.secondaryclass"}}</label>
|
||||
{{#if secondaryClass}}
|
||||
<a class="item-edit"><img class="sheet-competence-img" src="{{secondaryClass.img}}"></a>
|
||||
<input type="text" class="item-field-label-medium" disabled value="{{secondaryClass.name}}" data-dtype="String" />
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
{{else}}
|
||||
<a class="item-edit"><img class="sheet-competence-img" src="icons/svg/mystery-man.svg"></a>
|
||||
{{/if}}
|
||||
</li>
|
||||
<li class="item flexrow list-item" >
|
||||
<label class="item-field-label-medium">{{localize "WH.ui.religion"}}</label>
|
||||
<input type="text" class="item-field-label-medium" name="system.biodata.religion" value="{{system.biodata.religion}}" data-dtype="String" />
|
||||
|
||||
<label class="item-field-label-short">{{localize "WH.ui.size"}}</label>
|
||||
<select class="item-field-label-short" type="text" name="system.biodata.size" value="{{system.biodata.size}}" data-dtype="String">
|
||||
{{#select system.biodata.size}}
|
||||
<option value="small">{{localize "WH.ui.small"}}</option>
|
||||
<option value="medium">{{localize "WH.ui.medium"}}</option>
|
||||
<option value="large">{{localize "WH.ui.large"}}</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
{{#each system.attributes as |attr key|}}
|
||||
{{#if attr.isheader}}
|
||||
<div class="flexrow">
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=attr key=key path="attributes" fieldClass="item-field-label-medium"}}
|
||||
</div>
|
||||
{{#each data.abilities as |ability key|}}
|
||||
{{#if (eq ability.col 2)}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-ability-block.html ability=ability key=key}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
|
||||
{{#if equippedArmor}}
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<img class="sheet-competence-img" src="{{equippedArmor.img}}" />
|
||||
<span class="ability-label " name="class">
|
||||
<h4 class="ability-text-white ability-margin"><a class="roll-armor-die ability-margin">{{equippedArmor.name}}</a></h4>
|
||||
</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#if equippedShield}}
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<img class="sheet-competence-img" src="{{equippedShield.img}}" />
|
||||
<span class="ability-label " name="equippedShield">
|
||||
<h4 class="ability-text-white ability-margin"><a class="roll-shield-die ability-margin">{{equippedShield.name}}</a></h4>
|
||||
</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<img class="sheet-competence-img" src="systems/fvtt-crucible-rpg/images/icons/feats/Marksman (Ballistic).webp" />
|
||||
<span class="ability-label " name="rollTarget">
|
||||
<h4 class="ability-text-white ability-margin"><a class="roll-target-die ability-margin">Target Roll</a></h4>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="ability-item status-block">
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-status.html}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="main">{{localize "WH.ui.main"}}</a>
|
||||
<a class="item" data-tab="combat">{{localize "WH.ui.combat"}}</a>
|
||||
<a class="item" data-tab="skill">{{localize "WH.ui.skillstab"}}</a>
|
||||
<a class="item" data-tab="power">{{localize "WH.ui.powers"}}</a>
|
||||
<a class="item" data-tab="equipment">{{localize "WH.ui.equipment"}}</a>
|
||||
<a class="item" data-tab="biodata">{{localize "WH.ui.biography"}}</a>
|
||||
<a class="item" data-tab="skills">Skills</a>
|
||||
<a class="item" data-tab="combat">Combat</a>
|
||||
<a class="item" data-tab="lore">Lore</a>
|
||||
<a class="item" data-tab="equipment">Equipment</a>
|
||||
<a class="item" data-tab="biodata">Biography</a>
|
||||
</nav>
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{!-- Main Tab --}}
|
||||
<div class="tab main" data-group="primary" data-tab="main">
|
||||
{{!-- Skills Tab --}}
|
||||
<div class="tab skills" data-group="primary" data-tab="skills">
|
||||
|
||||
<div class="flexrow">
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
{{#each system.attributes as |attr key|}}
|
||||
{{#if (not attr.iscombat)}}
|
||||
{{#if (not attr.isheader)}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=attr key=key path="attributes" fieldClass="item-field-label-vlong"}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
<li class="item flexrow list-item item-stat-roll" data-attr-key="{{key}}">
|
||||
<span class="item-field-label-vlong" name="{{key}}">
|
||||
<h4 class="item-field-label-vlong">
|
||||
{{localize "WH.ui.xphp"}}
|
||||
</h4>
|
||||
</span>
|
||||
<span class="item-field-label-long" >{{hpprogression}}</span>
|
||||
</li>
|
||||
|
||||
|
||||
{{#each system.secondary as |second key|}}
|
||||
{{#if (not second.iscombat)}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=second key=key path="secondary" fieldClass="item-field-label-vlong"}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
|
||||
</ul>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.languages"}}</label></h3>
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Skills</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Ability</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Dice</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">Background</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each languages as |language key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
{{#each skills as |skill key|}}
|
||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{language.img}}" /></a>
|
||||
<span class="item-name-label-long">{{language.name}}</span>
|
||||
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label"><a class="roll-skill">{{skill.name}}</a></span>
|
||||
<span class="item-field-label-short">{{upper skill.system.ability}}</span>
|
||||
<span class="item-field-label-short">{{skill.system.skilldice}}</span>
|
||||
<span class="item-field-label-long"> - </span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
@ -164,162 +126,32 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Combat Tab --}}
|
||||
<div class="tab combat" data-group="primary" data-tab="combat">
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
<div class="grid grid2col">
|
||||
<ul class="stat-list alternate-list">
|
||||
{{#with system.attributes.def as |stat|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key="def" path="attributes" fieldClass="item-field-label-vlong"}}
|
||||
{{/with}}
|
||||
{{#with system.attributes.ini as |stat|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key="ini" path="attributes" fieldClass="item-field-label-vlong"}}
|
||||
{{/with}}
|
||||
{{#with system.secondary.meleedamagebonus as |stat|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key="meleedamagebonus" path="secondary" fieldClass="item-field-label-vlong"}}
|
||||
{{/with}}
|
||||
</ul>
|
||||
<ul class="stat-list alternate-list">
|
||||
{{#with system.attributes.txcm as |stat|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key="txcm" path="attributes" fieldClass="item-field-label-vlong"}}
|
||||
{{/with}}
|
||||
{{#with system.attributes.txcr as |stat|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key="txch" path="attributes" fieldClass="item-field-label-vlong"}}
|
||||
{{/with}}
|
||||
{{#with system.secondary.rangeddamagebonus as |stat|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key="rangeddamagebonus" path="secondary" fieldClass="item-field-label-vlong"}}
|
||||
{{/with}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.weapons"}}</label></h3>
|
||||
<h3><label class="items-title-text">Weapons</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Ability</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Damage"}}</label>
|
||||
<label class="short-label">Range</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each equippedWeapons as |weapon key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{weapon.img}}" /></a>
|
||||
<span class="item-name-label-long"><a class="roll-weapon"><i class="fa-solid fa-dice-d20"></i>{{weapon.name}}</a></span>
|
||||
<span class="item-name-label-long"><a class ="roll-weapon">{{weapon.name}}</a></span>
|
||||
|
||||
<span class="item-field-label-medium">{{localize (concat "WH.conf." weapon.system.weapontype)}}</span>
|
||||
<span class="item-field-label-short">{{weapon.system.ability}}</span>
|
||||
|
||||
{{#if (eq system.weapontype "special")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.system.damageformula}}</a></span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula}}</a></span>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq system.weapontype "polearm")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage-2hands"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula2Hands}}</a></span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="grid grid2col">
|
||||
<ul class="stat-list alternate-list">
|
||||
{{#with system.secondary.parrybonus as |stat|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key="parrybonus" path="secondary" fieldClass="item-field-label-vlong"}}
|
||||
{{/with}}
|
||||
</ul>
|
||||
<ul class="stat-list alternate-list">
|
||||
{{#with system.secondary.parrybonustotal as |stat|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key="parrybonustotal" path="secondary" fieldClass="item-field-label-vlong"}}
|
||||
{{/with}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.shields"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.parrybonus"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each equippedShields as |shield key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{shield._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{shield.img}}" /></a>
|
||||
<span class="item-name-label-long">{{shield.name}}</span>
|
||||
|
||||
<span class="item-field-label-short">{{shield.system.shieldtype}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{shield.system.parrybonus}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="grid grid2col">
|
||||
<ul class="stat-list alternate-list">
|
||||
{{#with system.secondary.drbonus as |stat|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key="drbonus" path="secondary" fieldClass="item-field-label-vlong"}}
|
||||
{{/with}}
|
||||
</ul>
|
||||
<ul class="stat-list alternate-list">
|
||||
{{#with system.secondary.drbonustotal as |stat|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key="drbonustotal" path="secondary" fieldClass="item-field-label-vlong"}}
|
||||
{{/with}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.armors"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.damagereduction"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each equippedArmors as |armor key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{armor._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{armor.img}}" /></a>
|
||||
<span class="item-name-label-long">{{armor.name}}</span>
|
||||
|
||||
<span class="item-field-label-short">{{armor.system.armortype}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{armor.system.damagereduction}}</span>
|
||||
<span class="item-field-label-medium">{{perk.system.range}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@ -334,82 +166,27 @@
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.competency"}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each competency.weapons as |cdata key|}}
|
||||
{{#if cdata}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<span class="item-name-label-long">{{localize "WH.ui.weapons"}} {{localize cdata.label}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each competency.shields as |cdata key|}}
|
||||
{{#if cdata}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<span class="item-name-label-long">{{localize "WH.ui.shields"}} {{localize cdata.label}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each competency.armors as |cdata key|}}
|
||||
{{#if cdata}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<span class="item-name-label-long">{{localize "WH.ui.armors"}} {{localize cdata.label}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
|
||||
{{#each compentencyItems as |comp key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{comp._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{comp.img}}" /></a>
|
||||
<span class="item-name-label-long">{{comp.name}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Skills Tab --}}
|
||||
<div class="tab skill" data-group="primary" data-tab="skill">
|
||||
<div class="flexcol">
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.raceSkills"}}</label></h3>
|
||||
<h3><label class="items-title-text">Feats</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.currentuse"}}</label>
|
||||
<label class="short-label">Feature Die?</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxuse"}}</label>
|
||||
<label class="short-label">SL?</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">SL</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each raceSkills as |skill key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
{{#each feats as |feat key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{feat._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label-long">{{skill.name}}</a></span>
|
||||
src="{{feat.img}}" /></a>
|
||||
<span class="item-name-label-long">{{feat.name}}</span>
|
||||
|
||||
{{#if skill.system.unlimited}}
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium">{{skill.system.currentuse}}
|
||||
(<a class="skill-use-minus plus-minus-button"> -</a>/<a class="skill-use-plus plus-minus-button">+</a>)
|
||||
</span>
|
||||
<span class="item-field-label-medium">{{skill.system.maxuse}}</span>
|
||||
{{/if}}
|
||||
<span class="item-field-label-medium">{{upperFirst feat.system.isfeatdie}}</span>
|
||||
<span class="item-field-label-medium">{{upperFirst feat.system.issl}}</span>
|
||||
<span class="item-field-label-medium">{{feat.system.sl}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@ -424,31 +201,14 @@
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.classSkills"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.currentuse"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxuse"}}</label>
|
||||
<h3><label class="items-title-text">Conditions</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each classSkills as |skill key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
{{#each conditions as |condition key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{condition._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label-long">{{skill.name}}</a></span>
|
||||
|
||||
{{#if skill.system.unlimited}}
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium">{{skill.system.currentuse}}
|
||||
(<a class="skill-use-minus plus-minus-button"> -</a>/<a class="skill-use-plus plus-minus-button">+</a>)
|
||||
</span>
|
||||
<span class="item-field-label-medium">{{skill.system.maxuse}}</span>
|
||||
{{/if}}
|
||||
|
||||
src="{{condition.img}}" /></a>
|
||||
<span class="item-name-label-long">{{condition.name}}</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
@ -458,97 +218,41 @@
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.skills"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.currentuse"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxuse"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each skills as |skill key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label-long">{{skill.name}}</span>
|
||||
|
||||
{{#if skill.system.unlimited}}
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium">{{skill.system.currentuse}}</span>
|
||||
<span class="item-field-label-medium">{{skill.system.maxuse}}</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.conditions"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.effect"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each conditions as |cond key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{cond._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{cond.img}}" /></a>
|
||||
<span class="item-name-label-long">{{cond.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{cond.system.shortdescription}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{{!-- Powers Tab --}}
|
||||
<div class="tab power" data-group="primary" data-tab="power">
|
||||
{{!-- Lore Tab --}}
|
||||
<div class="tab lore" data-group="primary" data-tab="lore">
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
{{#each powers as |school schoolKey|}}
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">{{schoolKey}}</label></h3>
|
||||
<h3><label class="items-title-text">Lore</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Lore</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Circle</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Range</label>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{{#each school as |power key|}}
|
||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{power._id}}">
|
||||
{{#each spells as |spell key|}}
|
||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{spell._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{power.img}}" /></a>
|
||||
<span class="item-name-label-long3">
|
||||
<a class="power-roll"><i class="fa-solid fa-dice-d20"></i>{{power.name}}</a>
|
||||
</span>
|
||||
<span class="item-name-label-medium">
|
||||
<a class="power-roll">{{power.system.level}}</a>
|
||||
src="{{spell.img}}" /></a>
|
||||
<span class="item-name-label">
|
||||
<a class="power-roll">{{spell.name}}</a>
|
||||
</span>
|
||||
<span class="item-field-label-medium">{{upperFirst spell.system.lore}}</span>
|
||||
<span class="item-field-label-short">{{upperFirst spell.system.circle}}</span>
|
||||
<span class="item-field-label-medium">{{upperFirst spell.system.range}}</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
@ -557,7 +261,6 @@
|
||||
{{/each}}
|
||||
|
||||
</ul>
|
||||
{{/each}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@ -566,22 +269,181 @@
|
||||
<div class="tab equipment" data-group="primary" data-tab="equipment">
|
||||
|
||||
<div class="flexrow">
|
||||
<label class="">{{localize "WH.ui.totalmoney"}} : {{totalMoney}}</label>
|
||||
<h3>Encumbrance</h3>
|
||||
<span class="small-label">Current : {{encCurrent}}</span>
|
||||
<span class="small-label">Capacity : {{encCapacity}}</span>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<h3>{{localize "WH.ui.bodyslots"}} : </h3>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Money</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">Qty</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Weight</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">IDR</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="money" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each moneys as |money key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{money._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{money.img}}" /></a>
|
||||
<span class="item-name-label">{{money.name}}</span>
|
||||
|
||||
{{#each bodyContainers as |slot slotKey|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-container.html slot=slot slotKey=slotKey}}
|
||||
<span class="item-field-label-long"><label>
|
||||
{{money.system.quantity}}
|
||||
(<a class="quantity-minus plus-minus-button"> -</a>/<a class="quantity-plus plus-minus-button">+</a>)
|
||||
</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label>{{money.system.weight}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
{{#if money.system.idrDice}}
|
||||
<a class="roll-idr" data-dice-value="{{money.data.idrDice}}">{{money.system.idrDice}}</a>
|
||||
{{else}}
|
||||
-
|
||||
{{/if}}
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
<h3>{{localize "WH.ui.containerslot"}} : </h3>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Weapons</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Attack</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Damage</label>
|
||||
</span>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="weapon" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each weapons as |weapon key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{weapon.img}}" /></a>
|
||||
<span class="item-name-label">{{weapon.name}}</span>
|
||||
<span class="item-field-label-short"><label>{{upper weapon.system.ability}}</label></span>
|
||||
<span class="item-field-label-short"><label>{{upper weapon.system.damage}}</label></span>
|
||||
|
||||
{{#each equipmentContainers as |slot slotKey|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-container.html slot=slot slotKey=slotKey}}
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" title="Worn">{{#if weapon.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Armors</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Type</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Absorption</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="armor" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each armors as |armor key|}}
|
||||
<li class="item list-item flexrow list-item-shadow" data-item-id="{{armor._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{armor.img}}" /></a>
|
||||
<span class="item-name-label">{{armor.name}}</span>
|
||||
<span class="item-field-label-short">{{upper armor.system.armortype}}</span>
|
||||
<span class="item-field-label-short">{{armor.system.absorprionroll}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" title="Worn">{{#if armor.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Shields</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Dice</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="shield" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each shields as |shield key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{shield._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{shield.img}}" /></a>
|
||||
<span class="item-name-label">{{shield.name}}</span>
|
||||
<span class="item-field-label-short">{{shield.system.levelDice}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" title="Worn">{{#if shield.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Equipment</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">Quantity</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="equipment" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
{{#each containersTree as |equip key|}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html equip=equip level=1}}
|
||||
<ul class="item-list list-item-shadow2 list-item-margin1">
|
||||
{{#each equip.data.contents as |subgear key|}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html equip=subgear level=2}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<hr>
|
||||
|
||||
@ -593,38 +455,56 @@
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.origin"}}</label>
|
||||
<input type="text" class="" name="system.biodata.origin" value="{{system.biodata.origin}}"
|
||||
<label class="generic-label">Origin</label>
|
||||
<input type="text" class="" name="system.biodata.origin" value="{{data.biodata.origin}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.age"}}</label>
|
||||
<input type="text" class="" name="system.biodata.age" value="{{system.biodata.age}}" data-dtype="String" />
|
||||
<label class="generic-label">Age</label>
|
||||
<input type="text" class="" name="system.biodata.age" value="{{data.biodata.age}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.height"}}</label>
|
||||
<input type="text" class="" name="system.biodata.height" value="{{system.biodata.height}}" data-dtype="String" />
|
||||
<label class="generic-label">Height</label>
|
||||
<input type="text" class="" name="system.biodata.height" value="{{data.biodata.height}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">{{localize "WH.ui.preferredhand"}}</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{system.biodata.preferredhand}}"
|
||||
data-dtype="String" />
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Eyes</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Hair</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">{{localize "WH.ui.gender"}}</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{system.biodata.sex}}" data-dtype="String" />
|
||||
<label class="generic-label">Size</label>
|
||||
<select class="competence-base flexrow" type="text" name="system.biodata.size" value="{{data.biodata.size}}" data-dtype="Number">
|
||||
{{#select data.biodata.size}}
|
||||
<option value="1">Tiny</option>
|
||||
<option value="2">Small</option>
|
||||
<option value="3">Medium</option>
|
||||
<option value="4">Large</option>
|
||||
<option value="5">Huge</option>
|
||||
<option value="6">Gargantuan</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.eyes"}}</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{system.biodata.eyes}}" data-dtype="String" />
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Sex</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.hair"}}</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{system.biodata.hair}}" data-dtype="String" />
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Preferred Hand</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{data.biodata.preferredhand}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item" data-item-id="{{race._id}}">
|
||||
<label class="generic-label">Race</label>
|
||||
<a class="item-edit"><img class="stat-icon" src="{{race.img}}"></a>
|
||||
<input type="text" class="" name="system.biodata.racename" value="{{data.biodata.racename}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -632,47 +512,18 @@
|
||||
|
||||
|
||||
<hr>
|
||||
<h3>{{localize "WH.ui.background"}} : </h3>
|
||||
<h3>Background : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor description target="system.biodata.description" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
<h3>{{localize "WH.ui.notes"}} : </h3>
|
||||
<h3>Notes : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
</article>
|
||||
|
||||
{{#if isGM}}
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.allitems"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.type"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each allItems as |item key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{item._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{item.img}}" /></a>
|
||||
<span class="item-name-label-long">{{item.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{upperFirst item.type}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
75
templates/chat-attack-defense-result.html
Normal file
75
templates/chat-attack-defense-result.html
Normal file
@ -0,0 +1,75 @@
|
||||
<div class="chat-message-header">
|
||||
{{#if actorImg}}
|
||||
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
|
||||
{{/if}}
|
||||
<h4 class=chat-actor-name>{{alias}}</h4>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{#if img}}
|
||||
<div >
|
||||
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul>
|
||||
<li><strong>Fight result !</strong></li>
|
||||
{{#if successDetails.fumbleDetails}}
|
||||
<li>Fumble ! : {{successDetails.fumbleDetails.data.text}} </li>
|
||||
{{/if}}
|
||||
|
||||
|
||||
{{#if armorResult}}
|
||||
<li>Armor initial result : {{armorResult.rawArmor}}</li>
|
||||
{{#each armorResult.messages as |message idx|}}
|
||||
<li>{{message}}</li>
|
||||
{{/each}}
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.hack_vs_shields}}
|
||||
<li>Hack weapon : check shield !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.entangle}}
|
||||
<li>Entangle weapon : attacker can entangle !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.knockback}}
|
||||
<li>Knockback weapon : check knockback !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.hack_armors}}
|
||||
<li>Hack weapon : check armor damage !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.penetrating_impale}}
|
||||
<li>Penetrating weapon : apply the Impale condition !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if (or successDetails.critical_1 successDetails.critical_2)}}
|
||||
<li>Critical {{#if successDetails.critical_1}} 1 {{else}} 2 {{/if}} : {{successDetails.criticalText}} </li>
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.attackerHPLossValue}}
|
||||
<li>Attacker has lost HP : {{successDetails.attackerHPLossValue}} HP </li>
|
||||
{{/if}}
|
||||
|
||||
{{#if successDetails.defenderHPLossValue}}
|
||||
<li>Defender has lost HP : {{successDetails.defenderHPLossValue}} HP </li>
|
||||
{{/if}}
|
||||
|
||||
<li>Success details : {{successDetails.result}} </li>
|
||||
|
||||
<li><strong>Final successes</strong> {{sumSuccess}} </li>
|
||||
|
||||
<!-- <button class="chat-card-button reroll-level-remaining" data-roll-id="{{rollId}}">Reroll</button> -->
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
@ -13,49 +13,136 @@
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul>
|
||||
{{#if (eq mode "save")}}
|
||||
<li>{{localize "WH.chat.save"}} {{localize stat.label}} : {{stat.save}}</li>
|
||||
{{#if (eq rollOrder 1)}}
|
||||
<li><strong>Roll with {{rollType}} - Roll 1</strong></li>
|
||||
{{/if}}
|
||||
{{#if (eq rollOrder 2)}}
|
||||
<li><strong>Roll with {{rollType}} - Roll 2</strong></li>
|
||||
{{/if}}
|
||||
{{#if (eq rollOrder 3)}}
|
||||
<li><strong>Roll with {{rollType}} - Final result !</strong></li>
|
||||
{{/if}}
|
||||
|
||||
{{#if save}}
|
||||
<li>Save : {{save.label}} - {{save.value}}d6
|
||||
({{#each roll.terms.0.results as |die idx|}}
|
||||
{{die.result}}
|
||||
{{/each}})
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if sizeDice}}
|
||||
<li>Size/Range/Cover/Situational dices
|
||||
({{#each roll.terms.0.results as |die idx|}}
|
||||
{{die.result}}
|
||||
{{/each}})
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if ability}}
|
||||
<li>Ability : {{ability.label}} - {{ability.value}}d6
|
||||
({{#each roll.terms.0.results as |die idx|}}
|
||||
{{die.result}}
|
||||
{{/each}})
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if skill}}
|
||||
<li>Skill : {{skill.name}} - {{skill.data.skilldice}}
|
||||
{{#if featSL}}
|
||||
- with Feat SL +{{featSL}}
|
||||
{{/if}}
|
||||
({{#each roll.terms.2.results as |die idx|}}
|
||||
{{die.result}}
|
||||
{{/each}})
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if noAdvantage}}
|
||||
<li>No advantage due to condition : {{noAdvantage.name}}</li>
|
||||
{{else}}
|
||||
{{#if stat}}
|
||||
<li>{{localize stat.label}} : {{stat.value}}</li>
|
||||
{{#if (or (eq advantage "advantage1") forceAdvantage)}}
|
||||
<li>1 Advantage Die !
|
||||
({{#each roll.terms.8.results as |die idx|}}
|
||||
{{die.result}}
|
||||
{{/each}})
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#if (eq advantage "advantage2") }}
|
||||
<li>2 Advantage Dice !
|
||||
({{#each roll.terms.8.results as |die idx|}}
|
||||
{{die.result}}
|
||||
{{/each}})
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if weapon}}
|
||||
<li>{{localize "WH.ui.weapon"}} : {{weapon.name}}</li>
|
||||
{{#if (or (eq disadvantage "disadvantage1") forceDisadvantage)}}
|
||||
<li>1 Disadvantage Die !
|
||||
({{#each roll.terms.10.results as |die idx|}}
|
||||
{{die.result}}
|
||||
{{/each}})
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#if hasBM}}
|
||||
<li>Bonus/Malus : {{bonusMalus}}</li>
|
||||
{{#if (eq disadvantage "disadvantage2")}}
|
||||
<li>2 Disadvantage Dice !
|
||||
({{#each roll.terms.10.results as |die idx|}}
|
||||
{{die.result}}
|
||||
{{/each}})
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#if (eq rollAdvantage "roll-advantage")}}
|
||||
<li>Roll with Advantage !</li>
|
||||
{{/if}}
|
||||
{{#if (eq rollAdvantage "roll-disadvantage")}}
|
||||
<li>Roll with Disadvantage !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if usemWeaponMalus}}
|
||||
<li>{{localize "WH.chat.mweaponmalus"}}: {{mWeaponMalus}}</li>
|
||||
{{#if skillArmorPenalty}}
|
||||
<li>Armor Penalty : {{skillArmorPenalty}} Disadvantage Dice
|
||||
({{#each roll.terms.12.results as |die idx|}}
|
||||
{{die.result}}
|
||||
{{/each}})
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if diceFormula}}
|
||||
<li>Formula : {{diceFormula}}</li>
|
||||
{{#if isCriticalSuccess}}
|
||||
<li><span class="crit-success">{{localize "WH.chat.diceresult"}} : {{diceResult}}</span></li>
|
||||
{{else}}
|
||||
{{#if isCriticalFailure}}
|
||||
<li><span class="crit-failure">{{localize "WH.chat.diceresult"}} : {{diceResult}}</span></li>
|
||||
{{else}}
|
||||
<li>{{localize "WH.chat.diceresult"}} : <span>{{diceResult}}</span></li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{#if hasBonusDice}}
|
||||
<li>Skill bonus dice : {{hasBonusDice}}
|
||||
({{#each roll.terms.6.results as |die idx|}}
|
||||
{{die.result}}
|
||||
{{/each}})
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if power}}
|
||||
<li>{{localize "WH.ui.power"}} : {{power.name}}</li>
|
||||
<li>{{localize "WH.ui.magicschool"}} : {{power.system.magicschool}}</li>
|
||||
<li>{{localize "WH.ui.level"}} : {{power.system.level}}</li>
|
||||
<li>{{{powerText}}}</li>
|
||||
{{else}}
|
||||
<li><strong>{{localize "WH.chat.result"}} : {{roll.total}} </strong></li>
|
||||
{{#if complexSkillDisadvantage}}
|
||||
<li>Roll with Disadvantage because of Complex Skill at SL 0 !</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if hasFeatDie}}
|
||||
<li>Feat Die : d10
|
||||
({{#each roll.terms.4.results as |die idx|}}
|
||||
{{die.result}}
|
||||
{{/each}})
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if useshield}}
|
||||
<li>Shield : {{shield.name}} - {{shield.data.shielddie}}
|
||||
({{#each roll.terms.14.results as |die idx|}}
|
||||
{{die.result}}
|
||||
{{/each}})
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
<li><strong>Number of successes</strong> {{nbSuccess}} </li>
|
||||
|
||||
<!-- <button class="chat-card-button reroll-level-remaining" data-roll-id="{{rollId}}">Reroll</button> -->
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
11
templates/chat-opposed-fail.html
Normal file
11
templates/chat-opposed-fail.html
Normal file
@ -0,0 +1,11 @@
|
||||
<div class="chat-message-header">
|
||||
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
|
||||
<h4 class=chat-actor-name>{{defenderName}}</h4>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
<div >
|
||||
{{defenderName}} wins the opposition against {{attackerName}} !
|
||||
</div>
|
||||
|
||||
</div>
|
@ -1,40 +0,0 @@
|
||||
<div class="chat-message-header">
|
||||
{{#if actorImg}}
|
||||
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
|
||||
{{/if}}
|
||||
<h4 class=chat-actor-name>{{alias}}</h4>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{#if img}}
|
||||
<div >
|
||||
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div>
|
||||
<ul>
|
||||
<li>{{localize stat.label}} : {{stat.value}}</li>
|
||||
<li><strong>Result : {{roll.total}} </strong></li>
|
||||
|
||||
<li>Formula : {{diceFormula}}</li>
|
||||
{{#if isCriticalSuccess}}
|
||||
<li><span class="crit-success">{{localize "WH.chat.diceresult"}} : {{diceResult}}</span></li>
|
||||
{{else}}
|
||||
{{#if isCriticalFailure}}
|
||||
<li><span class="crit-failure">{{localize "WH.chat.diceresult"}} : {{diceResult}}</span></li>
|
||||
{{else}}
|
||||
<li>{{localize "WH.chat.diceresult"}} : <span>{{diceResult}}</span></li>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{#if isSuccess}}
|
||||
<li><strong>{{localize "WH.chat.parysuccess"}} </strong></li>
|
||||
{{else}}
|
||||
<li><strong>{{localize "WH.chat.paryfailed"}} </strong></li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
46
templates/chat-request-defense.html
Normal file
46
templates/chat-request-defense.html
Normal file
@ -0,0 +1,46 @@
|
||||
<div class="chat-message-header">
|
||||
{{#if actorImg}}
|
||||
<img class="actor-icon" src="{{actorImg}}" alt="{{alias}}" />
|
||||
{{/if}}
|
||||
<h4 class=chat-actor-name>{{alias}}</h4>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
{{#if img}}
|
||||
<div>
|
||||
<img class="chat-icon" src="{{img}}" alt="{{name}}" />
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
|
||||
<div>
|
||||
|
||||
{{#if isRangedAttack}}
|
||||
<div>{{defender.name}} is under Ranged attack. He must roll a Target Roll to defend himself.</div>
|
||||
{{else}}
|
||||
<div>{{defender.name}} is under Melee attack. He must roll a Defense Roll to defend himself.</div>
|
||||
{{/if}}
|
||||
|
||||
<ul>
|
||||
{{#if isRangedAttack}}
|
||||
<li>
|
||||
<button class="chat-card-button roll-defense-ranged" data-roll-id="{{@root.rollId}}">Roll Target !</button>
|
||||
</li>
|
||||
{{else}}
|
||||
<li>
|
||||
{{#each defenderWeapons as |weapon idx|}}
|
||||
<button class="chat-card-button roll-defense-melee" data-defense-weapon-id="{{weapon._id}}"
|
||||
data-roll-id="{{@root.rollId}}">{{weapon.name}}</button>
|
||||
{{/each}}
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
<!-- <button class="chat-card-button reroll-level-remaining" data-roll-id="{{rollId}}">Reroll</button> -->
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
@ -18,7 +18,7 @@
|
||||
|
||||
<div class="tab" data-group="primary">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.type"}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Type</label>
|
||||
<select class="item-field-label-medium" type="text" name="system.armortype" value="{{system.armortype}}" data-dtype="String">
|
||||
{{#select system.armortype}}
|
||||
{{#each config.armorTypes as |type key|}}
|
||||
@ -28,7 +28,7 @@
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.damagereduction"}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Damage reduction</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.damagereduction" value="{{system.damagereduction}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
|
@ -12,8 +12,8 @@
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="description">
|
||||
|
||||
<label class="generic-label">{{localize "WH.ui.description"}}</label>
|
||||
<div class="editor item-text-long-line">
|
||||
<label class="generic-label">Description</label>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
@ -21,12 +21,8 @@
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.isclasssecondary"}}</label>
|
||||
<input type="checkbox" name="system.issecondary" {{checked system.issecondary}}/>
|
||||
</li>
|
||||
|
||||
{{#each system.weapons as |weaponflag key|}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.weapons"}} {{localize (concat "WH.conf." key)}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.weapons"}} {{key}}</label>
|
||||
<input type="checkbox" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.weapons.{{key}}" {{checked weaponflag}}/>
|
||||
|
||||
@ -34,7 +30,7 @@
|
||||
{{/each}}
|
||||
|
||||
{{#each system.armors as |armorflag key|}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.armors"}} {{localize (concat "WH.conf." key "armor")}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.armors"}} {{key}}</label>
|
||||
<input type="checkbox" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.armors.{{key}}" {{checked armorflag}}/>
|
||||
|
||||
@ -42,7 +38,7 @@
|
||||
{{/each}}
|
||||
|
||||
{{#each system.shields as |shieldflag key|}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.shields"}} {{localize (concat "WH.conf." key "shield")}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.shields"}} {{key}}</label>
|
||||
<input type="checkbox" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.shields.{{key}}" {{checked shieldflag}}/>
|
||||
|
||||
|
@ -1,32 +0,0 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<header class="sheet-header">
|
||||
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||
<div class="header-fields">
|
||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.class"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.class" value="{{system.class}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.mandatoryfor"}}</label>
|
||||
<input type="text" class="item-field-label-long2 " name="system.mandatoryfor" value="{{system.mandatoryfor}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
@ -1,24 +0,0 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<header class="sheet-header">
|
||||
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
<div class="header-fields">
|
||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||
</div>
|
||||
</header>
|
||||
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
@ -10,73 +10,17 @@
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
<div class="tab details" data-group="primary" data-tab="description">
|
||||
|
||||
<label class="generic-label">Description</label>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.conditiontype"}}</label>
|
||||
<select class="item-field-label-medium " type="text" name="system.conditiontype" value="{{system.conditiontype}}" data-dtype="String">
|
||||
{{#select system.conditiontype}}
|
||||
{{#each config.conditionType as |type key|}}
|
||||
<option value="{{key}}">{{localize type}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.duration"}}</label>
|
||||
<select class="item-field-label-medium " type="text" name="system.duration" value="{{system.duration}}" data-dtype="String">
|
||||
{{#select system.duration}}
|
||||
{{#each config.conditionDuration as |type key|}}
|
||||
<option value="{{key}}">{{localize type}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.begin"}}</label>
|
||||
<input type="text" class="item-field-label-long" name="system.begin" value="{{system.begin}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.specialduration"}}</label>
|
||||
<select class="item-field-label-medium " type="text" name="system.specialduration" value="{{system.specialduration}}" data-dtype="String">
|
||||
{{#select system.specialduration}}
|
||||
{{#each config.conditionSpecialDuration as |type key|}}
|
||||
<option value="{{key}}">{{localize type}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.durationvalue"}}</label>
|
||||
<input type="text" class="item-field-label-short" name="system.durationvalue" value="{{system.durationvalue}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.durationunit"}}</label>
|
||||
<input type="text" class="item-field-label-long" name="system.durationunit" value="{{system.durationunit}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
{{#if (eq conditiontype "disease")}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.dcsave"}}</label>
|
||||
<input type="text" class="item-field-label-short" name="system.dcsave" value="{{system.dcsave}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.incubationtime"}}</label>
|
||||
<input type="text" class="item-field-label-long" name="system.incubationtime" value="{{system.incubationtime}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.diseaseduration"}}</label>
|
||||
<input type="text" class="item-field-label-long" name="system.diseaseduration" value="{{system.diseaseduration}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
{{/if}}
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.effect"}}</label>
|
||||
<input type="text" class="item-field-label-long" name="system.shortdescription" value="{{system.shortdescription}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
@ -16,10 +16,6 @@
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.providedslot"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.providedslot" value="{{system.providedslot}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||
|
||||
</ul>
|
||||
|
@ -1,24 +0,0 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<header class="sheet-header">
|
||||
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
<div class="header-fields">
|
||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||
</div>
|
||||
</header>
|
||||
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
@ -1,22 +0,0 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<header class="sheet-header">
|
||||
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||
<div class="header-fields">
|
||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
@ -8,29 +8,20 @@
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.quantity"}}</label>
|
||||
<input type="text" class="item-field-label-long" name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Quantity</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.slotlocation"}}</label>
|
||||
<select class="item-field-label-long " type="text" name="system.slotlocation" value="{{system.slotlocation}}" data-dtype="String">
|
||||
{{#select system.slotlocation}}
|
||||
{{#each config.slotNames as |type key|}}
|
||||
<option value="{{key}}">{{localize type.label}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
<li class="flexrow"><label class="generic-label">Unit value</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.value" value="{{system.value}}" data-dtype="Number"/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
|
@ -5,60 +5,24 @@
|
||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
<div class="tab details" data-group="primary" data-tab="description">
|
||||
|
||||
<label class="generic-label">Description</label>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.application"}}</label>
|
||||
<select class="item-field-label-medium " type="text" name="system.application" value="{{system.application}}" data-dtype="String">
|
||||
{{#select system.application}}
|
||||
{{#each config.poisonApplication as |type key|}}
|
||||
<option value="{{key}}">{{localize type}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.cost"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.preparecost" value="{{system.preparecost}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.preparetime"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.preparetime" value="{{system.preparetime}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.damage"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.damageroll" value="{{system.damageroll}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.durationrounds"}}</label>
|
||||
<input type="text" class="item-field-label-short " name="system.durationround" value="{{system.durationround}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.savesdc"}}</label>
|
||||
<input type="text" class="item-field-label-short " name="system.savesdc" value="{{system.savesdc}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.savetype"}}</label>
|
||||
<select class="item-field-label-long " type="text" name="system.savetype" value="{{system.savetype}}" data-dtype="String">
|
||||
{{#select system.savetype}}
|
||||
{{#each config.saveType as |type key|}}
|
||||
<option value="{{key}}">{{localize type}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
@ -1,36 +0,0 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<header class="sheet-header">
|
||||
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||
<div class="header-fields">
|
||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.cost"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.alchemycost" value="{{system.alchemycost}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.preparetime"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.preparetime" value="{{system.preparetime}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.durationrounds"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.durationround" value="{{system.durationround}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
@ -12,18 +12,41 @@
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
<div class="tab description" data-group="primary" data-tab="description">
|
||||
<div>
|
||||
<label class="generic-label">{{localize WH.ui.level}} 1</label>
|
||||
<div class="small-editor item-text-long-line">
|
||||
{{editor level1 target="system.level1" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label class="generic-label">{{localize WH.ui.level}} 2</label>
|
||||
<div class="small-editor item-text-long-line">
|
||||
{{editor level2 target="system.level2" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label class="generic-label">{{localize WH.ui.level}} 3</label>
|
||||
<div class="small-editor item-text-long-line">
|
||||
{{editor level3 target="system.level3" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label class="generic-label">{{localize WH.ui.level}} 4</label>
|
||||
<div class="small-editor item-text-long-line">
|
||||
{{editor level4 target="system.level4" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<label class="generic-label">{{localize WH.ui.notes}}</label>
|
||||
<div class="small-editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.magicschool"}}</label>
|
||||
<input type="text" class="item-field-label-long" name="system.magicschool" value="{{system.magicschool}}" data-dtype="String"/>
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.level"}}</label>
|
||||
<input type="text" class="item-field-label-long" name="system.level" value="{{system.level}}" data-dtype="Number"/>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
||||
|
@ -10,12 +10,18 @@
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||
<div class="tab details" data-group="primary" data-tab="description">
|
||||
|
||||
<label class="generic-label">Description</label>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.hpprog"}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.hpprog"}}</label>
|
||||
<select class="item-field-label-long " type="text" name="system.hpprogresion" value="{{system.hpprogresion}}" data-dtype="String">
|
||||
{{#select system.hpprogresion}}
|
||||
{{#each config.progressionList as |prog key|}}
|
||||
@ -25,61 +31,29 @@
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.lan"}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.lan"}}</label>
|
||||
<input type="text" class="item-field-label-long" name="system.languages" value="{{system.languages}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.attrbonus"}} Lvl 1</label>
|
||||
<select class="item-field-label-long " type="text" name="system.attributebonus1" value="{{system.attributebonus1}}" data-dtype="String">
|
||||
{{#select system.attributebonus1}}
|
||||
{{#each statistics as |ability key|}}
|
||||
<option value="{{key}}">{{localize ability.label}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.attrbonus"}} Lvl 4</label>
|
||||
<select class="item-field-label-long " type="text" name="system.attributebonus4" value="{{system.attributebonus4}}" data-dtype="String">
|
||||
{{#select system.attributebonus4}}
|
||||
{{#each statistics as |ability key|}}
|
||||
<option value="{{key}}">{{localize ability.label}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.attrbonus"}} Lvl 8</label>
|
||||
<select class="item-field-label-long " type="text" name="system.attributebonus8" value="{{system.attributebonus8}}" data-dtype="String">
|
||||
{{#select system.attributebonus8}}
|
||||
{{#each statistics as |ability key|}}
|
||||
<option value="{{key}}">{{localize ability.label}}</option>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.attrbonus"}}</label>
|
||||
<select class="item-field-label-long " type="text" name="system.attributebonus" value="{{system.attributebonus}}" data-dtype="String">
|
||||
{{#select system.attributebonus}}
|
||||
{{#each abilities as |ability key|}}
|
||||
<option value="{{key}}">{{ability.label}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
{{#each system.weapons as |weaponflag key|}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.weapons"}} {{localize (concat "WH.conf." key)}}</label>
|
||||
<input type="checkbox" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.weapons.{{key}}" {{checked weaponflag}}/>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.weapons"}}</label>
|
||||
<input type="text" class="item-field-label-long3 " name="system.weapons" value="{{system.weapons}}" data-dtype="String"/>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
{{#each system.armors as |armorflag key|}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.armors"}} {{localize (concat "WH.conf." key "armor")}}</label>
|
||||
<input type="checkbox" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.armors.{{key}}" {{checked armorflag}}/>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.armors"}}</label>
|
||||
<input type="text" class="item-field-label-long3 " name="system.armors" value="{{system.armors}}" data-dtype="String"/>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
{{#each system.shields as |shieldflag key|}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.shields"}} {{localize (concat "WH.conf." key "shield")}}</label>
|
||||
<input type="checkbox" class="padd-right status-small-label color-class-common item-field-label-short"
|
||||
name="system.shields.{{key}}" {{checked shieldflag}}/>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.shields"}}</label>
|
||||
<input type="text" class="item-field-label-long3 " name="system.shields" value="{{system.shields}}" data-dtype="String"/>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
|
@ -18,7 +18,7 @@
|
||||
|
||||
<div class="tab" data-group="primary">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.type"}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Shield type</label>
|
||||
<select class="item-field-label-long " type="text" name="system.shieldtype" value="{{system.shieldtype}}" data-dtype="String">
|
||||
{{#select system.shieldtype}}
|
||||
{{#each config.armorTypes as |type key|}}
|
||||
@ -28,7 +28,7 @@
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.parrybonus"}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Parry Bonus</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.parrybonus" value="{{system.parrybonus}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
|
@ -15,34 +15,8 @@
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.israceskill"}}</label>
|
||||
<input type="checkbox" name="system.raceskill" {{checked system.raceskill}}/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.isclassskill"}}</label>
|
||||
<input type="checkbox" name="system.classskill" {{checked system.classskill}}/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.unlimited"}}</label>
|
||||
<input type="checkbox" name="system.unlimited" {{checked system.unlimited}}/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.skilllevelacquired"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.acquiredatlevel" value="{{system.acquiredatlevel}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
{{#if system.unlimited}}
|
||||
|
||||
{{else}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.currentuse"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.currentuse" value="{{system.currentuse}}" data-dtype="Number"/>
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.maxuse"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.maxuse" value="{{system.maxuse}}" data-dtype="Number"/>
|
||||
</li>
|
||||
{{/if}}
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
||||
|
49
templates/item-spell-sheet.html
Normal file
49
templates/item-spell-sheet.html
Normal file
@ -0,0 +1,49 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<header class="sheet-header">
|
||||
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||
<div class="header-fields">
|
||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="generic-label">Lore</label>
|
||||
<select class="competence-base flexrow" type="text" name="system.lore" value="{{data.lore}}" data-dtype="String">
|
||||
{{#select data.lore}}
|
||||
<option value="earth">Earth</option>
|
||||
<option value="air">Air</option>
|
||||
<option value="fire">Fire</option>
|
||||
<option value="water">Water</option>
|
||||
<option value="shadow">Shadow</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="generic-label">Circle</label>
|
||||
<select class="competence-base flexrow" type="text" name="system.circle" value="{{data.circle}}" data-dtype="Number">
|
||||
{{#select data.circle}}
|
||||
<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">Range</label>
|
||||
<input type="text" class="" name="system.range" value="{{data.range}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
@ -1,40 +0,0 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
<header class="sheet-header">
|
||||
<img class="item-sheet-img" src="{{img}}" data-edit="img" title="{{name}}"/>
|
||||
<div class="header-fields">
|
||||
<h1 class="charname"><input name="name" type="text" value="{{name}}" placeholder="Name"/></h1>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-nav.html}}
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-description.html}}
|
||||
|
||||
<div class="tab details" data-group="primary" data-tab="details">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.dcfind"}}</label>
|
||||
<input type="text" class="item-field-label-short " name="system.dcfind" value="{{system.dcfind}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.dcdisable"}}</label>
|
||||
<input type="text" class="item-field-label-short " name="system.dcdisable" value="{{system.dcdisable}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.throwtohit"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.throwtohit" value="{{system.throwtohit}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.damage"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.damageroll" value="{{system.damageroll}}" data-dtype="String"/>
|
||||
</li>
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</section>
|
||||
</form>
|
@ -18,7 +18,7 @@
|
||||
|
||||
<div class="tab" data-group="primary">
|
||||
<ul>
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.type"}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Type</label>
|
||||
<select class="item-field-label-medium " type="text" name="system.weapontype" value="{{system.weapontype}}" data-dtype="String">
|
||||
{{#select system.weapontype}}
|
||||
{{#each config.weaponTypes as |type key|}}
|
||||
@ -28,24 +28,10 @@
|
||||
</select>
|
||||
</li>
|
||||
|
||||
{{#if (eq system.weapontype "special")}}
|
||||
<li class="flexrow"><label class="item-field-label-vlong2 ">{{localize "WH.ui.rawroll"}}</label>
|
||||
<input type="text" class="item-field-label-long " name="system.rollformula" value="{{system.rollformula}}" data-dtype="String"/>
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-vlong2 ">{{localize "WH.ui.rawdamage"}}</label>
|
||||
<input type="text" class="item-field-label-long " name="system.damageformula" value="{{system.damageformula}}" data-dtype="String"/>
|
||||
</li>
|
||||
{{else}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.damage"}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Damage</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.damage" value="{{system.damage}}" data-dtype="String"/>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq system.weapontype "polearm")}}
|
||||
<li class="flexrow"><label class="item-field-label-long ">{{localize "WH.ui.2hdamage"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.damage2hands" value="{{system.damage2hands}}" data-dtype="String"/>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{> systems/fvtt-warhero/templates/partial-item-common-equipment.html}}
|
||||
|
||||
|
@ -1,555 +0,0 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
|
||||
{{!-- Sheet Header --}}
|
||||
<header class="sheet-header">
|
||||
<div class="header-fields">
|
||||
<h1 class="charname margin-right"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||
<div class="flexrow">
|
||||
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
<div class="flexcol">
|
||||
|
||||
<div class="flexrow">
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
{{#each system.statistics as |stat key|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key=key path="statistics" fieldClass="item-field-label-medium"}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
<li class="item flexrow list-item " data-item-id="{{race._id}}">
|
||||
<label class="item-field-label-medium">Race</label>
|
||||
<a class="item-edit"><img class="sheet-competence-img" src="{{race.img}}"></a>
|
||||
<input type="text" class="item-field-label-medium" disabled value="{{race.name}}" data-dtype="String" />
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item flexrow list-item" data-item-id="{{class._id}}">
|
||||
<label class="item-field-label-medium">Class</label>
|
||||
<a class="item-edit"><img class="sheet-competence-img" src="{{class.img}}"></a>
|
||||
<input type="text" class="item-field-label-medium" disabled value="{{class.name}}" data-dtype="String" />
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item flexrow list-item" >
|
||||
<label class="item-field-label-medium">Religion</label>
|
||||
<input type="text" class="item-field-label-medium" name="system.biodata.religion" value="{{system.biodata.religion}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
{{#each system.attributes as |attr key|}}
|
||||
{{#if attr.isheader}}
|
||||
<div class="flexrow">
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=attr key=key path="attributes" fieldClass="item-field-label-medium"}}
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="main">{{localize "WH.ui.main"}}</a>
|
||||
<a class="item" data-tab="combat">{{localize "WH.ui.combat"}}</a>
|
||||
<a class="item" data-tab="skill">{{localize "WH.ui.skillstab"}}</a>
|
||||
<a class="item" data-tab="power">{{localize "WH.ui.powers"}}</a>
|
||||
<a class="item" data-tab="equipment">{{localize "WH.ui.equipment"}}</a>
|
||||
<a class="item" data-tab="biodata">{{localize "WH.ui.biography"}}</a>
|
||||
</nav>
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{!-- Skills Tab --}}
|
||||
<div class="tab main" data-group="primary" data-tab="main">
|
||||
|
||||
<div class="flexrow">
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
{{#each system.attributes as |attr key|}}
|
||||
{{#if (not attr.isheader)}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=attr key=key path="attributes" fieldClass="item-field-label-vlong"}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.competency"}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each competency.weapons as |flag key|}}
|
||||
{{#if flag}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<span class="item-name-label-long">{{localize "WH.ui.weapons"}} {{key}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each competency.shields as |flag key|}}
|
||||
{{#if flag}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<span class="item-name-label-long">{{localize "WH.ui.shields"}} {{key}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each competency.armors as |flag key|}}
|
||||
{{#if flag}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<span class="item-name-label-long">{{localize "WH.ui.armors"}} {{key}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
<li class="item flexrow list-item item-stat-roll" data-attr-key="{{key}}">
|
||||
<span class="item-field-label-vlong" name="{{key}}">
|
||||
<h4 class="item-field-label-vlong">
|
||||
{{localize "WH.ui.xphp"}}
|
||||
</h4>
|
||||
</span>
|
||||
<span class="item-field-label-long" >{{hpprogression}}</span>
|
||||
</li>
|
||||
|
||||
|
||||
{{#each system.secondary as |second key|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=second key=key path="secondary" fieldClass="item-field-label-vlong"}}
|
||||
{{/each}}
|
||||
|
||||
</ul>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.languages"}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each languages as |language key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{language.img}}" /></a>
|
||||
<span class="item-name-label-long">{{language.name}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Combat Tab --}}
|
||||
<div class="tab combat" data-group="primary" data-tab="combat">
|
||||
<div class="flexcol">
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.weapons"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Damage"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each weapons as |weapon key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{weapon.img}}" /></a>
|
||||
<span class="item-name-label-long"><a class="roll-weapon"><i class="fa-solid fa-dice-d20"></i>{{weapon.name}}</a></span>
|
||||
|
||||
<span class="item-field-label-medium">{{weapon.system.weapontype}}</span>
|
||||
|
||||
{{#if (eq system.weapontype "special")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.system.damageformula}}</a></span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula}}</a></span>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq system.weapontype "polearm")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage-2hands"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula2Hands}}</a></span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.shields"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.parrybonus"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each shields as |shield key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{shield._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{shield.img}}" /></a>
|
||||
<span class="item-name-label-long">{{shield.name}}</span>
|
||||
|
||||
<span class="item-field-label-short">{{shield.system.shieldtype}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{shield.system.parrybonus}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.armors"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.damagereduction"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each armors as |armor key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{armor._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{armor.img}}" /></a>
|
||||
<span class="item-name-label-long">{{armor.name}}</span>
|
||||
|
||||
<span class="item-field-label-short">{{armor.system.armortype}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{armor.system.damagereduction}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Skills Tab --}}
|
||||
<div class="tab skill" data-group="primary" data-tab="skill">
|
||||
<div class="flexcol">
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.classSkills"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.currentuse"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxuse"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each classSkills as |skill key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label-long">{{skill.name}}</a></span>
|
||||
|
||||
{{#if skill.system.unlimited}}
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium">{{skill.system.currentuse}}</span>
|
||||
<span class="item-field-label-medium">{{skill.system.maxuse}}</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.skills"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.currentuse"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxuse"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each skills as |skill key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label-long">{{skill.name}}</span>
|
||||
|
||||
{{#if skill.system.unlimited}}
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium">{{skill.system.currentuse}}</span>
|
||||
<span class="item-field-label-medium">{{skill.system.maxuse}}</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.conditions"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.effect"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each conditions as |cond key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{cond._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{cond.img}}" /></a>
|
||||
<span class="item-name-label-long">{{cond.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{cond.system.shortdescription}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{{!-- Powers Tab --}}
|
||||
<div class="tab power" data-group="primary" data-tab="power">
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
{{#each powers as |school schoolKey|}}
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">{{schoolKey}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{{#each school as |power key|}}
|
||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{power._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{power.img}}" /></a>
|
||||
<span class="item-name-label">
|
||||
<a class="power-roll"><i class="fa-solid fa-dice-d20"></i>{{power.name}}</a>
|
||||
</span>
|
||||
<span class="item-name-label">
|
||||
<a class="power-roll">{{power.system.level}}</a>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
</ul>
|
||||
{{/each}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Equipement Tab --}}
|
||||
<div class="tab equipment" data-group="primary" data-tab="equipment">
|
||||
|
||||
{{#each slotEquipments as |slot slotKey|}}
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg {{#if (gt slot.slotUsed slot.nbslots)}}items-title-bg-red{{/if}}">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">{{localize slot.label}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">{{localize "WH.ui.Qty"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxslots"}}: {{slot.nbslots}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.slotsused"}}: {{slot.slotUsed}}</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="{{itemtype}}" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each slot.content as |item itemKey|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{item._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{item.img}}" /></a>
|
||||
<span class="item-name-label">{{item.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{upperFirst item.type}}</label>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-long"><label>
|
||||
{{item.system.quantity}}
|
||||
(<a class="quantity-minus plus-minus-button"> -</a>/<a class="quantity-plus plus-minus-button">+</a>)
|
||||
</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/each}}
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Biography Tab --}}
|
||||
<div class="tab biodata" data-group="primary" data-tab="biodata">
|
||||
<div class="grid grid-2col">
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.origin"}}</label>
|
||||
<input type="text" class="" name="system.biodata.origin" value="{{data.biodata.origin}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.age"}}</label>
|
||||
<input type="text" class="" name="system.biodata.age" value="{{data.biodata.age}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.height"}}</label>
|
||||
<input type="text" class="" name="system.biodata.height" value="{{data.biodata.height}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">{{localize "WH.ui.preferredhand"}}</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{data.biodata.preferredhand}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">{{localize "WH.ui.size"}}</label>
|
||||
<select class="competence-base flexrow" type="text" name="system.biodata.size" value="{{data.biodata.size}}" data-dtype="Number">
|
||||
{{#select data.biodata.size}}
|
||||
<option value="1">Tiny</option>
|
||||
<option value="2">Small</option>
|
||||
<option value="3">Medium</option>
|
||||
<option value="4">Large</option>
|
||||
<option value="5">Huge</option>
|
||||
<option value="6">Gargantuan</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">{{localize "WH.ui.gender"}}</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.eyes"}}</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.hair"}}</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<hr>
|
||||
<h3>{{localize "WH.ui.background"}} : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor description target="system.biodata.description" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
<h3>{{localize "WH.ui.notes"}} : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
@ -11,147 +11,139 @@
|
||||
<div class="flexrow">
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
{{#each system.statistics as |stat key|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=stat key=key path="statistics" fieldClass="item-field-label-medium"}}
|
||||
{{#each data.abilities as |ability key|}}
|
||||
{{#if (eq ability.col 1)}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-ability-block.html ability=ability key=key}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<span class="ability-label " name="class">
|
||||
<h4 class="ability-text-white ability-margin">Class</h4>
|
||||
</span>
|
||||
<select class="competence-base flexrow" type="text" name="system.biodata.class" value="{{data.biodata.class}}" data-dtype="String">
|
||||
{{#select data.biodata.class}}
|
||||
<option value="none">None</option>
|
||||
<option value="chaplain">Chaplain</option>
|
||||
<option value="magus">Magus</option>
|
||||
<option value="martial">Martial</option>
|
||||
<option value="skalawag">Skalawag</option>
|
||||
<option value="warden">Warden</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
<li class="item flexrow list-item " data-item-id="{{race._id}}">
|
||||
<label class="item-field-label-medium">Race</label>
|
||||
<a class="item-edit"><img class="sheet-competence-img" src="{{race.img}}"></a>
|
||||
<input type="text" class="item-field-label-medium" disabled value="{{race.name}}" data-dtype="String" />
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item flexrow list-item" data-item-id="{{class._id}}">
|
||||
<label class="item-field-label-medium">Class</label>
|
||||
<a class="item-edit"><img class="sheet-competence-img" src="{{class.img}}"></a>
|
||||
<input type="text" class="item-field-label-medium" disabled value="{{class.name}}" data-dtype="String" />
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
<li class="item flexrow list-item" >
|
||||
<label class="item-field-label-medium">Religion</label>
|
||||
<input type="text" class="item-field-label-medium" name="system.biodata.religion" value="{{system.biodata.religion}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
{{#each system.attributes as |attr key|}}
|
||||
{{#if attr.isheader}}
|
||||
<div class="flexrow">
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=attr key=key path="attributes" fieldClass="item-field-label-medium"}}
|
||||
</div>
|
||||
{{#each data.abilities as |ability key|}}
|
||||
{{#if (eq ability.col 2)}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-ability-block.html ability=ability key=key}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
|
||||
{{#if equippedArmor}}
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<img class="sheet-competence-img" src="{{equippedArmor.img}}" />
|
||||
<span class="ability-label " name="class">
|
||||
<h4 class="ability-text-white ability-margin"><a class="roll-armor-die ability-margin">{{equippedArmor.name}}</a></h4>
|
||||
</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{#if equippedShield}}
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<img class="sheet-competence-img" src="{{equippedShield.img}}" />
|
||||
<span class="ability-label " name="equippedShield">
|
||||
<h4 class="ability-text-white ability-margin"><a class="roll-shield-die ability-margin">{{equippedShield.name}}</a></h4>
|
||||
</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
<li class="item flexrow list-item" data-attr-key="class">
|
||||
<img class="sheet-competence-img" src="systems/fvtt-crucible-rpg/images/icons/feats/Marksman (Ballistic).webp" />
|
||||
<span class="ability-label " name="rollTarget">
|
||||
<h4 class="ability-text-white ability-margin"><a class="roll-target-die ability-margin">Target Roll</a></h4>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="ability-item status-block">
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-status.html}}
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="main">{{localize "WH.ui.main"}}</a>
|
||||
<a class="item" data-tab="combat">{{localize "WH.ui.combat"}}</a>
|
||||
<a class="item" data-tab="skill">{{localize "WH.ui.skillstab"}}</a>
|
||||
<a class="item" data-tab="power">{{localize "WH.ui.powers"}}</a>
|
||||
<a class="item" data-tab="equipment">{{localize "WH.ui.equipment"}}</a>
|
||||
<a class="item" data-tab="biodata">{{localize "WH.ui.biography"}}</a>
|
||||
<a class="item" data-tab="details">Details</a>
|
||||
<a class="item" data-tab="biodata">Biography</a>
|
||||
</nav>
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
{{!-- Skills Tab --}}
|
||||
<div class="tab main" data-group="primary" data-tab="main">
|
||||
<div class="tab skills" data-group="primary" data-tab="details">
|
||||
|
||||
<div class="flexrow">
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
{{#each system.attributes as |attr key|}}
|
||||
{{#if (not attr.isheader)}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=attr key=key path="attributes" fieldClass="item-field-label-vlong"}}
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<ul class="stat-list alternate-list item-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.competency"}}</label></h3>
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Skills</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Ability</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Dice</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">Background</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each competency.weapons as |flag key|}}
|
||||
{{#if flag}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<span class="item-name-label-long">{{localize "WH.ui.weapons"}} {{key}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each competency.shields as |flag key|}}
|
||||
{{#if flag}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<span class="item-name-label-long">{{localize "WH.ui.shields"}} {{key}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
{{#each competency.armors as |flag key|}}
|
||||
{{#if flag}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
<span class="item-name-label-long">{{localize "WH.ui.armors"}} {{key}}</span>
|
||||
</li>
|
||||
{{/if}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="ability-item">
|
||||
<ul>
|
||||
<li class="item flexrow list-item item-stat-roll" data-attr-key="{{key}}">
|
||||
<span class="item-field-label-vlong" name="{{key}}">
|
||||
<h4 class="item-field-label-vlong">
|
||||
{{localize "WH.ui.xphp"}}
|
||||
</h4>
|
||||
</span>
|
||||
<span class="item-field-label-long" >{{hpprogression}}</span>
|
||||
</li>
|
||||
|
||||
|
||||
{{#each system.secondary as |second key|}}
|
||||
{{> systems/fvtt-warhero/templates/partial-actor-stat-block.html stat=second key=key path="secondary" fieldClass="item-field-label-vlong"}}
|
||||
{{/each}}
|
||||
|
||||
</ul>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.languages"}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each languages as |language key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{language._id}}">
|
||||
{{#each skills as |skill key|}}
|
||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{language.img}}" /></a>
|
||||
<span class="item-name-label-long">{{language.name}}</span>
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label"><a class="roll-skill">{{skill.name}}</a></span>
|
||||
<span class="item-field-label-short">{{upper skill.system.ability}}</span>
|
||||
<span class="item-field-label-short">{{skill.system.skilldice}}</span>
|
||||
<span class="item-field-label-long"> - </span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">Combat</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Ability</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">Range</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each equippedWeapons as |weapon key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{weapon.img}}" /></a>
|
||||
<span class="item-name-label-long"><a class ="roll-weapon">{{weapon.name}}</a></span>
|
||||
|
||||
<span class="item-field-label-short">{{weapon.system.ability}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{perk.system.range}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
@ -160,322 +152,183 @@
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Combat Tab --}}
|
||||
<div class="tab combat" data-group="primary" data-tab="combat">
|
||||
<div class="flexcol">
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.weapons"}}</label></h3>
|
||||
<h3><label class="items-title-text">Monster Powers</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
<label class="short-label">Feature Die?</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Damage"}}</label>
|
||||
<label class="short-label">SL?</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">SL</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each feats as |feat key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{feat._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{feat.img}}" /></a>
|
||||
<span class="item-name-label-long">{{feat.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{upperFirst feat.system.isfeatdie}}</span>
|
||||
<span class="item-field-label-medium">{{upperFirst feat.system.issl}}</span>
|
||||
<span class="item-field-label-medium">{{feat.system.sl}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">Conditions</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
{{#each conditions as |condition key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{condition._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{condition.img}}" /></a>
|
||||
<span class="item-name-label-long">{{condition.name}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Weapons</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Attack</label>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Damage</label>
|
||||
</span>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="weapon" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each weapons as |weapon key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{weapon._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{weapon.img}}" /></a>
|
||||
<span class="item-name-label-long"><a class="roll-weapon"><i class="fa-solid fa-dice-d20"></i>{{weapon.name}}</a></span>
|
||||
|
||||
<span class="item-field-label-medium">{{weapon.system.weapontype}}</span>
|
||||
|
||||
{{#if (eq system.weapontype "special")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.system.damageformula}}</a></span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula}}</a></span>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq system.weapontype "polearm")}}
|
||||
<span class="item-field-label-medium"><a class="roll-damage-2hands"><i class="fa-solid fa-dice-d20"></i>{{weapon.damageFormula2Hands}}</a></span>
|
||||
{{/if}}
|
||||
<span class="item-name-label">{{weapon.name}}</span>
|
||||
<span class="item-field-label-short"><label>{{upper weapon.system.ability}}</label></span>
|
||||
<span class="item-field-label-short"><label>{{upper weapon.system.damage}}</label></span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" title="Worn">{{#if weapon.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.shields"}}</label></h3>
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Armors</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
<label class="short-label">Type</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.parrybonus"}}</label>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Absorption</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="armor" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each armors as |armor key|}}
|
||||
<li class="item list-item flexrow list-item-shadow" data-item-id="{{armor._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{armor.img}}" /></a>
|
||||
<span class="item-name-label">{{armor.name}}</span>
|
||||
<span class="item-field-label-short">{{upper armor.system.armortype}}</span>
|
||||
<span class="item-field-label-short">{{armor.system.absorprionroll}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" title="Worn">{{#if armor.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">Shields</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">Dice</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="shield" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each shields as |shield key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{shield._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{shield.img}}" /></a>
|
||||
<span class="item-name-label-long">{{shield.name}}</span>
|
||||
|
||||
<span class="item-field-label-short">{{shield.system.shieldtype}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{shield.system.parrybonus}}</span>
|
||||
<span class="item-name-label">{{shield.name}}</span>
|
||||
<span class="item-field-label-short">{{shield.system.levelDice}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-equip" title="Worn">{{#if shield.system.equipped}}<i
|
||||
class="fas fa-circle"></i>{{else}}<i class="fas fa-genderless"></i>{{/if}}</a>
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.armors"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-short">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.damagereduction"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each armors as |armor key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{armor._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{armor.img}}" /></a>
|
||||
<span class="item-name-label-long">{{armor.name}}</span>
|
||||
|
||||
<span class="item-field-label-short">{{armor.system.armortype}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{armor.system.damagereduction}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Skills Tab --}}
|
||||
<div class="tab skill" data-group="primary" data-tab="skill">
|
||||
<div class="flexcol">
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.classSkills"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.currentuse"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxuse"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each classSkills as |skill key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label-long">{{skill.name}}</a></span>
|
||||
|
||||
{{#if skill.system.unlimited}}
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium">{{skill.system.currentuse}}</span>
|
||||
<span class="item-field-label-medium">{{skill.system.maxuse}}</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.skills"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.currentuse"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxuse"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each skills as |skill key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{skill._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{skill.img}}" /></a>
|
||||
<span class="item-name-label-long">{{skill.name}}</span>
|
||||
|
||||
{{#if skill.system.unlimited}}
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
<span class="item-field-label-medium">N/A</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium">{{skill.system.currentuse}}</span>
|
||||
<span class="item-field-label-medium">{{skill.system.maxuse}}</span>
|
||||
{{/if}}
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header-long">
|
||||
<h3><label class="items-title-text">{{localize "WH.ui.conditions"}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.effect"}}</label>
|
||||
</span>
|
||||
</li>
|
||||
{{#each conditions as |cond key|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{cond._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{cond.img}}" /></a>
|
||||
<span class="item-name-label-long">{{cond.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">{{cond.system.shortdescription}}</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
{{!-- Powers Tab --}}
|
||||
<div class="tab power" data-group="primary" data-tab="power">
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
{{#each powers as |school schoolKey|}}
|
||||
<ul class="stat-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">{{schoolKey}}</label></h3>
|
||||
</span>
|
||||
</li>
|
||||
|
||||
{{#each school as |power key|}}
|
||||
<li class="item stat flexrow list-item list-item-shadow" data-item-id="{{power._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{power.img}}" /></a>
|
||||
<span class="item-name-label">
|
||||
<a class="power-roll"><i class="fa-solid fa-dice-d20"></i>{{power.name}}</a>
|
||||
</span>
|
||||
<span class="item-name-label">
|
||||
<a class="power-roll">{{power.system.level}}</a>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
|
||||
</ul>
|
||||
{{/each}}
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{!-- Equipement Tab --}}
|
||||
<div class="tab equipment" data-group="primary" data-tab="equipment">
|
||||
|
||||
{{#each slotEquipments as |slot slotKey|}}
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg {{#if (gt slot.slotUsed slot.nbslots)}}items-title-bg-red{{/if}}">
|
||||
<li class="item flexrow list-item items-title-bg">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">{{localize slot.label}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
<h3><label class="items-title-text">Equipment</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">{{localize "WH.ui.Qty"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxslots"}}: {{slot.nbslots}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.slotsused"}}: {{slot.slotUsed}}</label>
|
||||
<label class="short-label">Quantity</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="{{itemtype}}" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each slot.content as |item itemKey|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{item._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{item.img}}" /></a>
|
||||
<span class="item-name-label">{{item.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{upperFirst item.type}}</label>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-long"><label>
|
||||
{{item.system.quantity}}
|
||||
(<a class="quantity-minus plus-minus-button"> -</a>/<a class="quantity-plus plus-minus-button">+</a>)
|
||||
</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
<a class="item-control item-add" data-type="equipment" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
|
||||
</li>
|
||||
{{#each containersTree as |equip key|}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html equip=equip level=1}}
|
||||
<ul class="item-list list-item-shadow2 list-item-margin1">
|
||||
{{#each equip.data.contents as |subgear key|}}
|
||||
{{> systems/fvtt-crucible-rpg/templates/partial-actor-equipment.html equip=subgear level=2}}
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/each}}
|
||||
|
||||
|
||||
<hr>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
@ -485,29 +338,32 @@
|
||||
<div>
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.origin"}}</label>
|
||||
<label class="generic-label">Origin</label>
|
||||
<input type="text" class="" name="system.biodata.origin" value="{{data.biodata.origin}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.age"}}</label>
|
||||
<label class="generic-label">Age</label>
|
||||
<input type="text" class="" name="system.biodata.age" value="{{data.biodata.age}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.height"}}</label>
|
||||
<label class="generic-label">Height</label>
|
||||
<input type="text" class="" name="system.biodata.height" value="{{data.biodata.height}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">{{localize "WH.ui.preferredhand"}}</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{data.biodata.preferredhand}}"
|
||||
data-dtype="String" />
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Eyes</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">Hair</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<ul>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">{{localize "WH.ui.size"}}</label>
|
||||
<label class="generic-label">Size</label>
|
||||
<select class="competence-base flexrow" type="text" name="system.biodata.size" value="{{data.biodata.size}}" data-dtype="Number">
|
||||
{{#select data.biodata.size}}
|
||||
<option value="1">Tiny</option>
|
||||
@ -520,16 +376,18 @@
|
||||
</select>
|
||||
</li>
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">{{localize "WH.ui.gender"}}</label>
|
||||
<label class="generic-label">Sex</label>
|
||||
<input type="text" class="" name="system.biodata.sex" value="{{data.biodata.sex}}" data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.eyes"}}</label>
|
||||
<input type="text" class="" name="system.biodata.eyes" value="{{data.biodata.eyes}}" data-dtype="String" />
|
||||
<li class="flexrow item">
|
||||
<label class="generic-label">Preferred Hand</label>
|
||||
<input type="text" class="" name="system.biodata.preferredhand" value="{{data.biodata.preferredhand}}"
|
||||
data-dtype="String" />
|
||||
</li>
|
||||
<li class="item flexrow">
|
||||
<label class="generic-label">{{localize "WH.ui.hair"}}</label>
|
||||
<input type="text" class="" name="system.biodata.hair" value="{{data.biodata.hair}}" data-dtype="String" />
|
||||
<li class="flexrow item" data-item-id="{{race._id}}">
|
||||
<label class="generic-label">Race</label>
|
||||
<a class="item-edit"><img class="stat-icon" src="{{race.img}}"></a>
|
||||
<input type="text" class="" name="system.biodata.racename" value="{{data.biodata.racename}}" data-dtype="String" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
@ -537,15 +395,15 @@
|
||||
|
||||
|
||||
<hr>
|
||||
<h3>{{localize "WH.ui.background"}} : </h3>
|
||||
<h3>Background : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor description target="system.biodata.description" button=true owner=owner
|
||||
{{editor data.biodata.description target="system.biodata.description" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
<h3>{{localize "WH.ui.notes"}} : </h3>
|
||||
<h3>Notes : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
{{editor data.biodata.notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
</article>
|
||||
|
19
templates/partial-actor-ability-block.html
Normal file
19
templates/partial-actor-ability-block.html
Normal file
@ -0,0 +1,19 @@
|
||||
<li class="item flexrow list-item item-ability-roll" data-attr-key="{{key}}">
|
||||
<span class="ability-label ability-margin" name="{{key}}">
|
||||
<h4 class="ability-text-white ability-margin"><a class="roll-ability ability-margin" data-ability-key="{{key}}">{{ability.label}}</a></h4>
|
||||
</span>
|
||||
<select class="status-small-label color-class-common" type="text" name="system.abilities.{{key}}.value" value="{{ability.value}}"
|
||||
data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}>
|
||||
{{#select ability.value}}
|
||||
<option value="0">0</option>
|
||||
<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>
|
||||
<option value="6">6</option>
|
||||
<option value="7">7</option>
|
||||
<option value="8">8</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
@ -1,62 +0,0 @@
|
||||
<li class="item flexrow list-item item-stat-roll" data-attr-key="{{key}}">
|
||||
<span class="{{fieldClass}}" name="{{key}}">
|
||||
<h4 class="{{fieldClass}}">
|
||||
{{#if roll}}
|
||||
<i class="fa-solid fa-dice-d20"></i><a class="roll-this stat-margin" data-type="{{path}}" data-key="{{key}}">{{localize stat.label}}</a>
|
||||
{{else}}
|
||||
{{localize stat.label}}
|
||||
{{/if}}
|
||||
</h4>
|
||||
</span>
|
||||
|
||||
{{#if (eq style "dropdown")}}
|
||||
<select class="item-field-label-short" type="text" name="system.{{path}}.{{key}}.value" value="{{stat.value}}"
|
||||
data-dtype="Number" {{#unless @root.editScore}}disabled{{/unless}}>
|
||||
{{#select stat.value}}
|
||||
<option value="0">0</option>
|
||||
<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>
|
||||
<option value="6">6</option>
|
||||
<option value="7">7</option>
|
||||
<option value="8">8</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
{{/if}}
|
||||
|
||||
{{#if (eq style "edit")}}
|
||||
<input type="text" class="item-field-label-short " {{#if disabled}}disabled{{/if}} name="system.{{path}}.{{key}}.value" value="{{stat.value}}" data-dtype="Number"/>
|
||||
{{#if hasmax}}
|
||||
<input type="text" class="item-field-label-short " name="system.{{path}}.{{key}}.max" value="{{stat.max}}" data-dtype="Number"/>
|
||||
{{/if}}
|
||||
{{#if hasuse}}
|
||||
<input type="text" class="item-field-label-short " name="system.{{path}}.{{key}}.nbuse" value="{{stat.nbuse}}" data-dtype="Number"/>
|
||||
<label class="item-field-label-2rem"> / </label>
|
||||
<input type="text" class="item-field-label-short " name="system.{{path}}.{{key}}.maxuse" value="{{stat.maxuse}}" data-dtype="Number"/>
|
||||
{{/if}}
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{#if hassave}}
|
||||
<span class="item-field-label-medium" name="{{key}}">
|
||||
<h4 class="item-field-label-medium">
|
||||
<i class="fa-solid fa-dice-d20"></i>
|
||||
<a class="roll-save stat-margin" data-type="{{path}}" data-key="{{key}}">
|
||||
{{localize (concat "WH.ui.save" key)}}
|
||||
</a>
|
||||
</h4>
|
||||
</span>
|
||||
<input type="text" class="item-field-label-short " name="system.{{path}}.{{key}}.save" value="{{stat.save}}" data-dtype="Number"/>
|
||||
{{/if}}
|
||||
|
||||
{{#if islevel}}
|
||||
<span class="item-field-label-short" name="{{key}}">
|
||||
<h4 class="item-field-label-short">{{localize "WH.ui.level"}}
|
||||
</h4>
|
||||
</span>
|
||||
<input type="text" disabled class="item-field-label-short " value="{{stat.level}}" data-dtype="Number"/>
|
||||
{{/if}}
|
||||
|
||||
</li>
|
@ -1,53 +0,0 @@
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg {{#if (gt slot.slotUsed slot.nbslots)}}items-title-bg-red{{/if}}">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">{{localize slot.label}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">{{localize "WH.ui.Qty"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxslots"}}: {{slot.nbslots}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.slotsused"}}: {{slot.slotUsed}}</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="{{itemtype}}" data-slot="{{slotKey}}" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each slot.content as |item itemKey|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{item._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{item.img}}" /></a>
|
||||
<span class="item-name-label">{{item.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{upperFirst item.type}}</label>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-long"><label>
|
||||
{{item.system.quantity}}
|
||||
(<a class="quantity-minus plus-minus-button"> -</a>/<a class="quantity-plus plus-minus-button">+</a>)
|
||||
</label>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-medium">
|
||||
{{#if item.system.isidentified}}
|
||||
<label class="short-label">{{localize (concat "WH.conf." item.system.isidentified)}}</label>
|
||||
{{else}}
|
||||
<label class="short-label">{{localize (concat "WH.conf." item.system.notapplicable)}}</label>
|
||||
{{/if}}
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
@ -1,7 +1,7 @@
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.slotsused"}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Slots used</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.slotused" value="{{system.slotused}}" data-dtype="Number"/>
|
||||
</li>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.slotlocation"}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Slot location</label>
|
||||
<select class="item-field-label-long " type="text" name="system.slotlocation" value="{{system.slotlocation}}" data-dtype="String">
|
||||
{{#select system.slotlocation}}
|
||||
{{#each config.slotNames as |type key|}}
|
||||
@ -10,35 +10,9 @@
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.identified"}}</label>
|
||||
<select class="item-field-label-long " type="text" name="system.isidentified" value="{{system.isidentified}}" data-dtype="String">
|
||||
{{#select system.isidentified}}
|
||||
{{#each config.identifiedState as |type key|}}
|
||||
<option value="{{key}}">{{localize type}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.magiccharge"}}</label>
|
||||
<select class="item-field-label-long " type="text" name="system.magiccharge" value="{{system.magiccharge}}" data-dtype="String">
|
||||
{{#select system.magiccharge}}
|
||||
{{#each config.magicCharge as |type key|}}
|
||||
<option value="{{key}}">{{localize type}}</option>
|
||||
{{/each}}
|
||||
{{/select}}
|
||||
</select>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.chargevalue"}}</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.chargevalue" value="{{system.chargevalue}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium ">{{localize "WH.ui.quantity"}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium ">Quantity</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.quantity" value="{{system.quantity}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
||||
<li class="flexrow"><label class="item-field-label-medium">{{localize "WH.ui.cost"}}</label>
|
||||
<li class="flexrow"><label class="item-field-label-medium">Cost</label>
|
||||
<input type="text" class="item-field-label-medium " name="system.cost" value="{{system.cost}}" data-dtype="Number"/>
|
||||
</li>
|
||||
|
@ -1,7 +1,8 @@
|
||||
<div class="tab details" data-group="primary" data-tab="description">
|
||||
|
||||
<div class="tab description" data-group="primary" data-tab="description">
|
||||
<div>
|
||||
<label class="generic-label">Description</label>
|
||||
<div class="editor item-text-long-line">
|
||||
<div class="medium-editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
@ -1,5 +1,5 @@
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="description">{{localize "WH.ui.description"}}</a>
|
||||
<a class="item" data-tab="details">{{localize "WH.ui.details"}}</a>
|
||||
<a class="item" data-tab="description">Description</a>
|
||||
<a class="item" data-tab="details">Details</a>
|
||||
</nav>
|
||||
|
7
templates/partial-options-abilities.html
Normal file
7
templates/partial-options-abilities.html
Normal file
@ -0,0 +1,7 @@
|
||||
<option value="agi">Agility</option>
|
||||
<option value="str">Strength</option>
|
||||
<option value="dex">Dexterity</option>
|
||||
<option value="con">Constitution</option>
|
||||
<option value="int">Intelligence</option>
|
||||
<option value="wit">Wits</option>
|
||||
<option value="cha">Charisma</option>
|
13
templates/partial-options-equipment-types.html
Normal file
13
templates/partial-options-equipment-types.html
Normal file
@ -0,0 +1,13 @@
|
||||
<option value="camping">Camping & Survival</option>
|
||||
<option value="communication">Communication & Information</option>
|
||||
<option value="equestrian">Equestrian</option>
|
||||
<option value="spy">Law/Security/Spy/Thief</option>
|
||||
<option value="medical">Medical</option>
|
||||
<option value="tools">Tools</option>
|
||||
<option value="weaponaccess">Weapons accessories</option>
|
||||
<option value="wizard">Wizards materials</option>
|
||||
<option value="mount">Mounts</option>
|
||||
<option value="vehicle">Vehicles</option>
|
||||
<option value="clothing">Clothing</option>
|
||||
<option value="ammo">Ammo</option>
|
||||
<option value="misc">Misc</option>
|
14
templates/partial-options-level.html
Normal file
14
templates/partial-options-level.html
Normal file
@ -0,0 +1,14 @@
|
||||
{{#if notapplicable}}
|
||||
<option value="notapplicable">Not applicable</option>
|
||||
{{/if}}
|
||||
<option value="0">0</option>
|
||||
<option value="1">d4</option>
|
||||
<option value="2">d6</option>
|
||||
<option value="3">d8</option>
|
||||
<option value="4">d10</option>
|
||||
<option value="5">d12</option>
|
||||
<option value="6">d12 d4</option>
|
||||
<option value="7">d12 d6</option>
|
||||
<option value="8">d12 d8</option>
|
||||
<option value="9">d12 d10</option>
|
||||
<option value="10">d12 d12</option>
|
15
templates/partial-options-range.html
Normal file
15
templates/partial-options-range.html
Normal file
@ -0,0 +1,15 @@
|
||||
{{#if notapplicable}}
|
||||
<option value="notapplicable">Not applicable</option>
|
||||
{{/if}}
|
||||
<option value="touch">Self Only</option>
|
||||
<option value="touchself">Touch/Self</option>
|
||||
<option value="tz">Threat Zone</option>
|
||||
<option value="close">Close</option>
|
||||
<option value="medium">Medium</option>
|
||||
<option value="long">Long</option>
|
||||
<option value="extreme">Extreme</option>
|
||||
<option value="sight">Line of Sight</option>
|
||||
<option value="tz_close">TZ/Close</option>
|
||||
<option value="close_medium">Close/Medium</option>
|
||||
<option value="medium_long">Medium/Long</option>
|
||||
<option value="long_extreme">Long/Extreme</option>
|
4
templates/partial-roll-select.html
Normal file
4
templates/partial-roll-select.html
Normal file
@ -0,0 +1,4 @@
|
||||
|
||||
<ul>
|
||||
</ul>
|
||||
|
@ -1,100 +0,0 @@
|
||||
<form class="{{cssClass}}" autocomplete="off">
|
||||
|
||||
{{!-- Sheet Header --}}
|
||||
<header class="sheet-header">
|
||||
<div class="header-fields">
|
||||
<h1 class="charname margin-right"><input name="name" type="text" value="{{name}}" placeholder="Name" /></h1>
|
||||
<div class="flexrow">
|
||||
<img class="profile-img" src="{{img}}" data-edit="img" title="{{name}}" />
|
||||
<div class="flexcol">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</header>
|
||||
|
||||
{{!-- Sheet Tab Navigation --}}
|
||||
<nav class="sheet-tabs tabs" data-group="primary">
|
||||
<a class="item" data-tab="equipment">{{localize "WH.ui.equipment"}}</a>
|
||||
<a class="item" data-tab="biodata">{{localize "WH.ui.biography"}}</a>
|
||||
</nav>
|
||||
|
||||
{{!-- Sheet Body --}}
|
||||
<section class="sheet-body">
|
||||
|
||||
|
||||
{{!-- Equipement Tab --}}
|
||||
<div class="tab equipment" data-group="primary" data-tab="equipment">
|
||||
|
||||
{{#each partySlots as |slot slotKey|}}
|
||||
<ul class="item-list alternate-list">
|
||||
<li class="item flexrow list-item items-title-bg {{#if (gt slot.slotUsed slot.nbslots)}}items-title-bg-red{{/if}}">
|
||||
<span class="item-name-label-header">
|
||||
<h3><label class="items-title-text">{{localize slot.label}}</label></h3>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.Type"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-long">
|
||||
<label class="short-label">{{localize "WH.ui.Qty"}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.maxslots"}}: {{slot.nbslots}}</label>
|
||||
</span>
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{localize "WH.ui.slotsused"}}: {{slot.slotUsed}}</label>
|
||||
</span>
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-add" data-type="{{itemtype}}" title="Create Item"><i class="fas fa-plus"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{#each slot.content as |item itemKey|}}
|
||||
<li class="item flexrow list-item list-item-shadow" data-item-id="{{item._id}}">
|
||||
<a class="item-edit item-name-img" title="Edit Item"><img class="sheet-competence-img"
|
||||
src="{{item.img}}" /></a>
|
||||
<span class="item-name-label">{{item.name}}</span>
|
||||
|
||||
<span class="item-field-label-medium">
|
||||
<label class="short-label">{{upperFirst item.type}}</label>
|
||||
</span>
|
||||
|
||||
<span class="item-field-label-long"><label>
|
||||
{{item.system.quantity}}
|
||||
(<a class="quantity-minus plus-minus-button"> -</a>/<a class="quantity-plus plus-minus-button">+</a>)
|
||||
</label>
|
||||
</span>
|
||||
|
||||
<div class="item-filler"> </div>
|
||||
<div class="item-controls item-controls-fixed">
|
||||
<a class="item-control item-delete" title="Delete Item"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</li>
|
||||
{{/each}}
|
||||
</ul>
|
||||
{{/each}}
|
||||
|
||||
|
||||
<hr>
|
||||
|
||||
</div>
|
||||
|
||||
{{!-- Biography Tab --}}
|
||||
<div class="tab biodata" data-group="primary" data-tab="biodata">
|
||||
<hr>
|
||||
<h3>{{localize "WH.ui.background"}} : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor description target="system.biodata.description" button=true owner=owner
|
||||
editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
<h3>{{localize "WH.ui.notes"}} : </h3>
|
||||
<div class="form-group editor">
|
||||
{{editor notes target="system.biodata.notes" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
<hr>
|
||||
</article>
|
||||
</div>
|
||||
|
||||
</section>
|
||||
</form>
|
@ -4,5 +4,5 @@
|
||||
<img class="chat-img" src="{{img}}" title="{{name}}" />
|
||||
{{/if}}
|
||||
<h4><b>Description : </b></h4>
|
||||
<p class="card-content">{{{system.description}}}</p>
|
||||
<p class="card-content">{{{data.description}}}</p>
|
||||
</div>
|
||||
|
@ -8,105 +8,160 @@
|
||||
|
||||
<div class="flexcol">
|
||||
|
||||
{{#if weapon}}
|
||||
{{#if sizeDice}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">{{localize "WH.ui.weapon"}} : </span>
|
||||
<span class="item-field-label-vlong">{{weapon.name}}</span>
|
||||
<span class="roll-dialog-label">Size basic dices : </span>
|
||||
<span class="roll-dialog-label">{{sizeDice.nb}}{{sizeDice.dice}}</span>
|
||||
</div>
|
||||
|
||||
{{#if (eq mode "damage")}}
|
||||
{{#if (eq weapon.system.weapontype "special")}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">{{localize "WH.ui.damage"}} : </span>
|
||||
<span class="item-field-label-vlong">{{weapon.system.damageformula}}</span>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">{{localize "WH.ui.damage"}} : </span>
|
||||
{{#if is2hands}}
|
||||
<span class="item-field-label-vlong">{{weapon.damageFormula2Hands}}</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-vlong">{{weapon.damageFormula}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{else}}
|
||||
{{#if (eq weapon.system.weapontype "special")}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">{{localize "WH.chat.rollformula"}} : </span>
|
||||
<span class="item-field-label-vlong">{{weapon.system.rollformula}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
{{/if}}
|
||||
|
||||
{{#if stat}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">{{localize stat.label}}</span>
|
||||
{{#if (eq mode "save")}}
|
||||
<span class="item-field-label-medium">{{stat.save}}</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-medium">{{stat.value}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
|
||||
{{#if stat.istxc}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">{{localize "WH.chat.mweaponmalus"}} ({{mWeaponMalus}})? </span>
|
||||
<span class="item-field-label-medium"><input type="checkbox" id="usemWeaponMalus" name="usemWeaponMalus" {{checked usemWeaponMalus}}/></span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if shield}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">{{localize "WH.chat.useshield"}} : </span>
|
||||
<span class="roll-dialog-label">
|
||||
<input type="checkbox" id="useshield" name="useshield" {{checked useshield}}/>
|
||||
</span>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">{{shield.name}} : </span>
|
||||
<span class="item-field-label-medium">{{shield.data.shielddie}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if power}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">{{localize "WH.chat.power"}} : </span>
|
||||
<span class="item-field-label-medium">{{power.name}}</span>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">{{localize "WH.chat.powerlevel"}} : </span>
|
||||
<span class="item-field-label-medium">{{power.system.level}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if hasBM}}
|
||||
<div class="flexrow">
|
||||
<span class="item-field-label-vlong">Bonus/Malus : </span>
|
||||
<select class="item-field-label-medium" type="text" id="bonusMalus" value="{{bonusMalus}}">
|
||||
{{#select bonusMalus}}
|
||||
<option value="-6">-6</option>
|
||||
<option value="-5">-5</option>
|
||||
<option value="-4">-4</option>
|
||||
<option value="-3">-3</option>
|
||||
<option value="-2">-2</option>
|
||||
<option value="-1">-1</option>
|
||||
<span class="roll-dialog-label">Distance bonus dice(s) : </span>
|
||||
<select class="status-small-label color-class-common" type="text" id="distanceBonusDice" value="{{distanceBonusDice}}" data-dtype="String" >
|
||||
{{#select distanceBonusDice}}
|
||||
<option value="0">0</option>
|
||||
<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>
|
||||
<option value="6">6</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if hasCover}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Cover : </span>
|
||||
<select class="status-small-label color-class-common" type="text" id="hasCover" value="{{hasCover}}" data-dtype="String" >
|
||||
{{#select hasCover}}
|
||||
<option value="none">None</option>
|
||||
<option value="cover50">Cover at 50% (+1 dice)</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if situational}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Situational : </span>
|
||||
<select class="status-small-label color-class-common" type="text" id="situational" value="{{situational}}" data-dtype="String" >
|
||||
{{#select situational}}
|
||||
<option value="none">None</option>
|
||||
<option value="dodge">Dodge (+1 dice)</option>
|
||||
<option value="prone">Prone (+1 dice)</option>
|
||||
<option value="moving">Moving (+1 dice)</option>
|
||||
<option value="Engaged">Engaged (+1 dice)</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
|
||||
{{#if save}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">{{save.label}} : </span>
|
||||
<span class="roll-dialog-label">{{save.value}}d6</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if ability}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Ability : </span>
|
||||
<span class="roll-dialog-label">{{ability.value}}d6</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if weapon}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Weapon : </span>
|
||||
<span class="roll-dialog-label">{{weapon.name}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if shield}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Use shield ? : </span>
|
||||
<span class="roll-dialog-label"><input type="checkbox" id="useshield" name="useshield" {{checked useshield}}/></span>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">{{shield.name}} : </span>
|
||||
<span class="roll-dialog-label">{{shield.data.shielddie}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if skill}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Skill : </span>
|
||||
<span class="roll-dialog-label">{{skill.name}} - {{skill.data.skilldice}}</span>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Feature die or SL+2? : </span>
|
||||
<span class="roll-dialog-label">{{#if skill.data.isfeatdie}} Yes {{else}} No {{/if}}</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
{{#if noAdvantage}}
|
||||
<div>
|
||||
<span class="roll-dialog-label">No advantage due to condition : {{noAdvantage.name}}</span>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Advantage : </span>
|
||||
<select class="status-small-label color-class-common" type="text" id="advantage" value="{{advantage}}" data-dtype="String" >
|
||||
{{#select advantage}}
|
||||
<option value="none">None</option>
|
||||
<option value="advantage1">1 Advantage</option>
|
||||
<option value="advantage2">2 Advantages</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Disadvantage : </span>
|
||||
<select class="status-small-label color-class-common" type="text" id="disadvantage" value="{{disadvantage}}" data-dtype="String" >
|
||||
{{#select disadvantage}}
|
||||
<option value="none">None</option>
|
||||
<option value="disadvantage1">1 Disadvantage</option>
|
||||
<option value="disadvantage2">2 Disadvantages</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Roll with Advantage/Disadvantage : </span>
|
||||
<select class="status-small-label color-class-common" type="text" id="rollAdvantage" value="{{rollAdvantage}}" data-dtype="String" >
|
||||
{{#select rollAdvantage}}
|
||||
<option value="none">None</option>
|
||||
<option value="roll-advantage">Roll with Advantage</option>
|
||||
<option value="roll-disadvantage">Roll with Disadvantage</option>
|
||||
{{/select}}
|
||||
</select>
|
||||
</div>
|
||||
|
||||
{{#if forceAdvantage}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">1 Advantage from condition : {{forceAdvantage.name}}
|
||||
{{#if advantageFromTarget}} (Provided by targetted actor) {{/if}}
|
||||
</span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if forceDisadvantage}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">1 Disadvantage from condition : {{forceDisadvantage.name}} </span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if forceRollAdvantage}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Roll Advantage from condition : {{forceRollAdvantage.name}} </span>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{#if forceRollDisadvantage}}
|
||||
<div class="flexrow">
|
||||
<span class="roll-dialog-label">Roll Disadvantage from condition : {{forceRollDisadvantage.name}} </span>
|
||||
</div>
|
||||
{{/if}}
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</form>
|
Reference in New Issue
Block a user