Minor changes
This commit is contained in:
parent
46b129cf81
commit
7137de0983
@ -118,7 +118,8 @@
|
||||
"WH.ui.details": "Details",
|
||||
"WH.ui.magicschool": "Magic School",
|
||||
"WH.ui.providedslot": "Provided slot",
|
||||
|
||||
"WH.ui.skilllevelacquired": "Acquired at level",
|
||||
|
||||
"WH.chat.save": "Save",
|
||||
"WH.chat.mweaponmalus": "Multiple weapons malus ",
|
||||
"WH.chat.diceresult": "Dice result",
|
||||
@ -128,5 +129,7 @@
|
||||
"WH.chat.rollformula": "Roll Formula",
|
||||
"WH.chat.useshield":"Use shield ?",
|
||||
"WH.chat.power": "Power",
|
||||
"WH.chat.powerlevel": "Power Level"
|
||||
"WH.chat.powerlevel": "Power Level",
|
||||
|
||||
"WH.notif.skillmaxuse": "Maximum skill usage reach - Use is not allowed"
|
||||
}
|
@ -134,6 +134,15 @@ 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")
|
||||
|
@ -461,12 +461,10 @@ export class WarheroActor extends Actor {
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getInitiativeScore(combatId, combatantId) {
|
||||
if (this.type == 'character') {
|
||||
this.rollMR(true, combatId, combatantId)
|
||||
}
|
||||
console.log("Init required !!!!")
|
||||
return -1;
|
||||
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
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@ -547,7 +545,19 @@ 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)
|
||||
@ -625,12 +635,14 @@ export class WarheroActor extends Actor {
|
||||
this.system.secondary.nblanguage.value = Math.floor(this.system.statistics.min.value / 2)
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
spentMana(mana) {
|
||||
if (Number(mana) > this.system.attributes.mana.value) {
|
||||
spentMana(spentValue) {
|
||||
let mana = duplicate(this.system.attributes.mana)
|
||||
if (Number(spentValue) > mana.value) {
|
||||
ui.notifications.warn("Not enough Mana points !")
|
||||
return false
|
||||
}
|
||||
this.update({ 'system.attributes.mana.value': this.system.attributes.mana.value - mana })
|
||||
mana.value -= Number(spentValue)
|
||||
this.update({ 'system.attributes.mana': mana })
|
||||
return true
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
@ -651,6 +663,10 @@ export class WarheroActor extends Actor {
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = rollType
|
||||
rollData.stat = stat
|
||||
if (stat && stat.stat)
|
||||
{
|
||||
rollData.statBonus = duplicate(this.system.statistics[stat.stat])
|
||||
}
|
||||
if (rollKey == "parrybonustotal") {
|
||||
WarheroUtility.rollParry(rollData)
|
||||
return
|
||||
@ -678,8 +694,8 @@ export class WarheroActor extends Actor {
|
||||
} else {
|
||||
rollData.stat = duplicate(this.system.attributes.txcm)
|
||||
}
|
||||
rollData.usemWeaponMalus =
|
||||
rollData.mWeaponMalus = this.system.secondary.malusmultiweapon.value
|
||||
rollData.usemWeaponMalus = false
|
||||
rollData.mWeaponMalus = this.system.secondary.malusmultiweapon.value
|
||||
rollData.weapon = weapon
|
||||
rollData.img = weapon.img
|
||||
this.startRoll(rollData)
|
||||
@ -707,7 +723,7 @@ export class WarheroActor extends Actor {
|
||||
let rollData = this.getCommonRollData()
|
||||
rollData.mode = "power"
|
||||
rollData.power = power
|
||||
rollData.powerLevel = power.system.level
|
||||
rollData.powerLevel = Number(power.system.level)
|
||||
rollData.img = power.img
|
||||
rollData.hasBM = false
|
||||
this.startRoll(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 ? c.actor.getInitiativeScore( this.id, id ) : -1;
|
||||
let initBonus = c.actor ? await c.actor.getInitiativeScore( this.id, id ) : -1;
|
||||
await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: initBonus } ]);
|
||||
}
|
||||
|
||||
|
@ -71,16 +71,6 @@ Hooks.once("init", async function () {
|
||||
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 */
|
||||
/* -------------------------------------------- */
|
||||
@ -96,15 +86,14 @@ Hooks.once("ready", function () {
|
||||
}
|
||||
|
||||
// CSS patch for v9
|
||||
if (game.version) {
|
||||
/*if (game.version) {
|
||||
let sidebar = document.getElementById("sidebar");
|
||||
sidebar.style.width = "min-content";
|
||||
}
|
||||
}*/
|
||||
|
||||
welcomeMessage();
|
||||
//welcomeMessage();
|
||||
WarheroUtility.ready()
|
||||
WarheroCommands.init()
|
||||
WarheroHotbar.initDropbar()
|
||||
//WarheroHotbar.initDropbar()
|
||||
|
||||
})
|
||||
|
||||
|
@ -552,7 +552,7 @@ export class WarheroUtility {
|
||||
let actor = game.actors.get(rollData.actorId)
|
||||
|
||||
if (rollData.mode == "power") {
|
||||
let manaCost = Array.from(rollData.powerLevel)[0]
|
||||
let manaCost = rollData.powerLevel
|
||||
if (actor.spentMana(manaCost)) {
|
||||
let powerKey = "level" + rollData.powerLevel
|
||||
rollData.powerText = rollData.power.system[powerKey]
|
||||
@ -592,6 +592,9 @@ export class WarheroUtility {
|
||||
if (rollData.stat) {
|
||||
diceFormula += "+" + rollData.stat.value
|
||||
}
|
||||
if (rollData.statBonus) {
|
||||
diceFormula += "+" + rollData.statBonus.value
|
||||
}
|
||||
}
|
||||
if (rollData.usemWeaponMalus) {
|
||||
diceFormula += "+" + rollData.mWeaponMalus
|
||||
|
@ -876,16 +876,36 @@ li {
|
||||
|
||||
/* background: rgb(105,85,65) url("../images/ui/texture_feuille_perso_onglets.webp") no-repeat right bottom;*/
|
||||
|
||||
#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;
|
||||
@ -1028,21 +1048,6 @@ 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 */
|
||||
|
||||
|
@ -107,7 +107,7 @@
|
||||
"styles": [
|
||||
"styles/simple.css"
|
||||
],
|
||||
"version": "10.0.29",
|
||||
"version": "10.0.31",
|
||||
"compatibility": {
|
||||
"minimum": "10",
|
||||
"verified": "10",
|
||||
@ -115,7 +115,7 @@
|
||||
},
|
||||
"title": "Warhero RPG",
|
||||
"manifest": "https://www.uberwald.me/gitea/public/fvtt-warhero/raw/branch/master/system.json",
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-warhero/archive/fvtt-warhero-10.0.29.zip",
|
||||
"download": "https://www.uberwald.me/gitea/uberwald/fvtt-warhero/archive/fvtt-warhero-10.0.31.zip",
|
||||
"url": "https://www.uberwald.me/gitea/public/fvtt-warhero",
|
||||
"background": "images/ui/warhero_welcome_page.webp",
|
||||
"id": "fvtt-warhero"
|
||||
|
@ -111,6 +111,7 @@
|
||||
"label": "WH.ui.Initiative",
|
||||
"abbrev": "ini",
|
||||
"style": "edit",
|
||||
"roll": true,
|
||||
"max": 1,
|
||||
"value": 1
|
||||
},
|
||||
@ -180,9 +181,11 @@
|
||||
},
|
||||
"counterspell": {
|
||||
"label": "WH.ui.counterspell",
|
||||
"stat": "min",
|
||||
"abbrev": "counterspell",
|
||||
"style": "edit",
|
||||
"hasmax": true,
|
||||
"roll": true,
|
||||
"max": 1,
|
||||
"value": 0
|
||||
},
|
||||
@ -236,7 +239,8 @@
|
||||
"power",
|
||||
"language",
|
||||
"condition",
|
||||
"class"
|
||||
"class",
|
||||
"genericitem"
|
||||
],
|
||||
"templates": {
|
||||
"commonclassrace": {
|
||||
@ -260,6 +264,9 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"genericitem": {
|
||||
"description": ""
|
||||
},
|
||||
"condition": {
|
||||
"shortdescription": "",
|
||||
"description": ""
|
||||
@ -288,6 +295,7 @@
|
||||
"skill": {
|
||||
"classskill": false,
|
||||
"unlimited": false,
|
||||
"acquiredatlevel": 0,
|
||||
"currentuse": 0,
|
||||
"maxuse": 0,
|
||||
"description": ""
|
||||
|
@ -191,7 +191,7 @@
|
||||
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>
|
||||
<span class="item-field-label-medium">{{localize (concat "WH.conf." 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>
|
||||
@ -306,7 +306,9 @@
|
||||
<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.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}}
|
||||
|
||||
|
@ -13,7 +13,7 @@
|
||||
<div class="tab details" data-group="primary" data-tab="description">
|
||||
|
||||
<label class="generic-label">{{localize "WH.ui.description"}}</label>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
<div class="editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
|
24
templates/item-genericitem-sheet.html
Normal file
24
templates/item-genericitem-sheet.html
Normal file
@ -0,0 +1,24 @@
|
||||
<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>
|
@ -13,7 +13,7 @@
|
||||
<div class="tab details" data-group="primary" data-tab="description">
|
||||
|
||||
<label class="generic-label">Description</label>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
<div class="editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -23,6 +23,10 @@
|
||||
<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}}
|
||||
|
@ -1,7 +1,7 @@
|
||||
<div class="tab description" data-group="primary" data-tab="description">
|
||||
<div>
|
||||
<label class="generic-label">{{localize "WH.ui.description"}}</label>
|
||||
<div class="medium-editor item-text-long-line">
|
||||
<div class="editor item-text-long-line">
|
||||
{{editor description target="system.description" button=true owner=owner editable=editable}}
|
||||
</div>
|
||||
</div>
|
||||
|
@ -26,7 +26,7 @@
|
||||
{{#if is2hands}}
|
||||
<span class="item-field-label-vlong">{{weapon.damageFormula2Hands}}</span>
|
||||
{{else}}
|
||||
<span class="item-field-label-vlong">{{weapon.damage}}</span>
|
||||
<span class="item-field-label-vlong">{{weapon.damageFormula}}</span>
|
||||
{{/if}}
|
||||
</div>
|
||||
{{/if}}
|
||||
|
Reference in New Issue
Block a user