Push Finished Forbidden Lands,
All stats have been added into the rolling
This commit is contained in:
@@ -6,13 +6,47 @@ export class forbiddenlands{
|
|||||||
}
|
}
|
||||||
|
|
||||||
getHP(token) {
|
getHP(token) {
|
||||||
const hp = token.actor.data.data.attributes.attribute.strength;
|
const hp = token.actor.data.data.attribute.strength;
|
||||||
return {
|
return {
|
||||||
value: hp.value,
|
value: hp.value,
|
||||||
max: hp.max
|
max: hp.max
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
getAgility(token) {
|
||||||
|
const agility = token.actor.data.data.attribute.agility;
|
||||||
|
return {
|
||||||
|
value: agility.value,
|
||||||
|
max: agility.max
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
getWits(token) {
|
||||||
|
const wits = token.actor.data.data.attribute.wits;
|
||||||
|
return {
|
||||||
|
value: wits.value,
|
||||||
|
max: wits.max
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getEmpathy(token) {
|
||||||
|
const empathy = token.actor.data.data.attribute.empathy;
|
||||||
|
return {
|
||||||
|
value: empathy.value,
|
||||||
|
max: empathy.max
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
getWillPower(token) {
|
||||||
|
const wp = token.actor.data.data.bio.willpower;
|
||||||
|
return {
|
||||||
|
value: wp.value,
|
||||||
|
max: wp.max
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
getTempHP(token) {
|
getTempHP(token) {
|
||||||
return 0;
|
return 0;
|
||||||
const hp = token.actor.data.data.attributes.hp;
|
const hp = token.actor.data.data.attributes.hp;
|
||||||
@@ -38,37 +72,6 @@ export class forbiddenlands{
|
|||||||
|
|
||||||
getSpeed(token) {
|
getSpeed(token) {
|
||||||
return 1;
|
return 1;
|
||||||
const movement = token.actor.data.data.attributes.movement;
|
|
||||||
let speed = "";
|
|
||||||
if (movement != undefined){
|
|
||||||
if (movement.burrow > 0) speed += `${game.i18n.localize("DND5E.MovementBurrow")}: ${movement.burrow + movement.units}`;
|
|
||||||
if (movement.climb > 0) {
|
|
||||||
if (speed.length > 0) speed += '\n';
|
|
||||||
speed += `${game.i18n.localize("DND5E.MovementClimb")}: ${movement.climb + movement.units}`;
|
|
||||||
}
|
|
||||||
if (movement.fly > 0) {
|
|
||||||
if (speed.length > 0) speed += '\n';
|
|
||||||
speed += `${game.i18n.localize("DND5E.MovementFly")}: ${movement.fly + movement.units}`;
|
|
||||||
}
|
|
||||||
if (movement.hover > 0) {
|
|
||||||
if (speed.length > 0) speed += '\n';
|
|
||||||
speed += `${game.i18n.localize("DND5E.MovementHover")}: ${movement.hover + movement.units}`;
|
|
||||||
}
|
|
||||||
if (movement.swim > 0) {
|
|
||||||
if (speed.length > 0) speed += '\n';
|
|
||||||
speed += `${game.i18n.localize("DND5E.MovementSwim")}: ${movement.swim + movement.units}`;
|
|
||||||
}
|
|
||||||
if (movement.walk > 0) {
|
|
||||||
if (speed.length > 0) speed += '\n';
|
|
||||||
speed += `${game.i18n.localize("DND5E.MovementWalk")}: ${movement.walk + movement.units}`;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
const spd = token.actor.data.data.attributes.speed;
|
|
||||||
speed = spd.value;
|
|
||||||
if (spd.special.length > 0) speed + "\n" + spd.special;
|
|
||||||
}
|
|
||||||
return speed;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
getInitiative(token) {
|
getInitiative(token) {
|
||||||
@@ -93,7 +96,7 @@ export class forbiddenlands{
|
|||||||
|
|
||||||
getAbility(token, ability) {
|
getAbility(token, ability) {
|
||||||
if (ability == undefined) ability = 'strength';
|
if (ability == undefined) ability = 'strength';
|
||||||
return token.actor.data.data.attributes.attribute?.[ability].value;
|
return token.actor.data.data.attribute?.[ability].value;
|
||||||
}
|
}
|
||||||
|
|
||||||
getAbilityModifier(token, ability) {
|
getAbilityModifier(token, ability) {
|
||||||
@@ -106,8 +109,9 @@ export class forbiddenlands{
|
|||||||
|
|
||||||
getSkill(token, skill) {
|
getSkill(token, skill) {
|
||||||
if (skill == undefined) skill = 'might';
|
if (skill == undefined) skill = 'might';
|
||||||
const val = token.actor.data.data.skills.skill?.[skill].value;
|
let skillComp = token.actor.sheet.getSkill(skill);
|
||||||
return (val >= 0) ? `+${val}` : val;
|
const val = skillComp.skill.value + skillComp.attribute.value;
|
||||||
|
return game.i18n.localize(skillComp.skill.label)+`-${val}`;
|
||||||
}
|
}
|
||||||
|
|
||||||
getProficiency(token) {
|
getProficiency(token) {
|
||||||
@@ -149,11 +153,15 @@ export class forbiddenlands{
|
|||||||
if (skill == undefined) skill = 'might';
|
if (skill == undefined) skill = 'might';
|
||||||
if (save == undefined) save = 'strength';
|
if (save == undefined) save = 'strength';
|
||||||
|
|
||||||
if (roll == 'ability') token.actor.rollAbilityTest(ability,options);
|
if (roll == 'ability') token.actor.sheet.rollAttribute(ability);
|
||||||
else if (roll == 'save') token.actor.rollAbilitySave(save,options);
|
else if (roll == 'save') token.actor.sheet.rollAttribute(save);
|
||||||
else if (roll == 'skill') token.actor.rollSkill(skill,options);
|
else if (roll == 'skill') token.actor.sheet.rollSkill(skill);
|
||||||
else if (roll == 'initiative') token.actor.rollInitiative(options);
|
else if (roll == 'rollFood') token.actor.sheet.rollConsumable('food');
|
||||||
else if (roll == 'deathSave') token.actor.rollDeathSave(options);
|
else if (roll == 'rollWater') token.actor.sheet.rollConsumable('water');
|
||||||
|
else if (roll == 'rollArrows') token.actor.sheet.rollConsumable('arrows');
|
||||||
|
else if (roll == 'rollTorches') token.actor.sheet.rollConsumable('torches');
|
||||||
|
else if (roll == 'rollArmor') token.actor.sheet.rollArmor();
|
||||||
|
//else if (roll == 'initiative') token.actor.rollInitiative(options);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -167,7 +175,8 @@ export class forbiddenlands{
|
|||||||
}
|
}
|
||||||
|
|
||||||
getItemUses(item) {
|
getItemUses(item) {
|
||||||
return {available: item.data.data.quantity};
|
return {available: item.data.data.bonus.value,
|
||||||
|
maximum: item.data.data.bonus.max};
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -176,7 +185,7 @@ export class forbiddenlands{
|
|||||||
getFeatures(token,featureType) {
|
getFeatures(token,featureType) {
|
||||||
if (featureType == undefined) featureType = 'any';
|
if (featureType == undefined) featureType = 'any';
|
||||||
const allItems = token.actor.items;
|
const allItems = token.actor.items;
|
||||||
if (featureType == 'any') return allItems.filter(i => i.type == 'class' || i.type == 'feat')
|
if (featureType == 'any') return allItems.filter(i => i.type == 'talent')
|
||||||
else return allItems.filter(i => i.type == featureType)
|
else return allItems.filter(i => i.type == featureType)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -208,6 +217,14 @@ export class forbiddenlands{
|
|||||||
}
|
}
|
||||||
|
|
||||||
rollItem(item) {
|
rollItem(item) {
|
||||||
return item.roll()
|
const sheet = item.actor.sheet;
|
||||||
|
if (item.type === "armor")
|
||||||
|
return sheet.rollSpecificArmor(item.id);
|
||||||
|
else if (item.type === "weapon")
|
||||||
|
return sheet.rollGear(item.id);
|
||||||
|
else if (item.type === "spell")
|
||||||
|
return sheet.rollSpell(item.id);
|
||||||
|
else
|
||||||
|
return item.sendToChat();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -230,6 +230,26 @@ export class TokenHelper{
|
|||||||
return this.system.getPerception(token)
|
return this.system.getPerception(token)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* forbidden-lands */
|
||||||
|
getAgility(token) {
|
||||||
|
return this.system.getAgility(token)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* forbidden-lands */
|
||||||
|
getWits(token) {
|
||||||
|
return this.system.getWits(token)
|
||||||
|
}
|
||||||
|
|
||||||
|
/* forbidden-lands */
|
||||||
|
getEmpathy(token) {
|
||||||
|
return this.system.getEmpathy(token)
|
||||||
|
}
|
||||||
|
/* forbidden-lands */
|
||||||
|
getWillPower(token) {
|
||||||
|
return this.system.getWillPower(token)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Conditions
|
* Conditions
|
||||||
*/
|
*/
|
||||||
|
|||||||
53
src/token.js
53
src/token.js
@@ -106,6 +106,59 @@ export class TokenControl{
|
|||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (stats == 'Agility') { /* forbidden-lands */
|
||||||
|
const wits = tokenHelper.getAgility(token);
|
||||||
|
txt += wits.value + "/" + wits.max;
|
||||||
|
|
||||||
|
if (icon == 'stats')
|
||||||
|
uses = {
|
||||||
|
available: wits.value,
|
||||||
|
maximum: wits.max,
|
||||||
|
heart: "#FF0000"
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stats == 'Wits') { /* forbidden-lands */
|
||||||
|
const wits = tokenHelper.getWits(token);
|
||||||
|
txt += wits.value + "/" + wits.max;
|
||||||
|
|
||||||
|
if (icon == 'stats')
|
||||||
|
uses = {
|
||||||
|
available: wits.value,
|
||||||
|
maximum: wits.max,
|
||||||
|
heart: "#FF0000"
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stats == 'Empathy') { /* forbidden-lands */
|
||||||
|
const wits = tokenHelper.getEmpathy(token);
|
||||||
|
txt += wits.value + "/" + wits.max;
|
||||||
|
|
||||||
|
if (icon == 'stats')
|
||||||
|
uses = {
|
||||||
|
available: wits.value,
|
||||||
|
maximum: wits.max,
|
||||||
|
heart: "#FF0000"
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
if (stats == 'WillPower') { /* forbidden-lands */
|
||||||
|
const wits = tokenHelper.getWillPower(token);
|
||||||
|
txt += wits.value + "/" + wits.max;
|
||||||
|
|
||||||
|
if (icon == 'stats')
|
||||||
|
uses = {
|
||||||
|
available: wits.value,
|
||||||
|
maximum: wits.max,
|
||||||
|
heart: "#FF0000"
|
||||||
|
};
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
if (stats == 'CriticalWounds') { /* WFRP4e */
|
if (stats == 'CriticalWounds') { /* WFRP4e */
|
||||||
const criticalWounds = tokenHelper.getCriticalWounds(token);
|
const criticalWounds = tokenHelper.getCriticalWounds(token);
|
||||||
txt += criticalWounds.value + "/" + criticalWounds.max;
|
txt += criticalWounds.value + "/" + criticalWounds.max;
|
||||||
|
|||||||
Reference in New Issue
Block a user