179 lines
4.2 KiB
JavaScript
179 lines
4.2 KiB
JavaScript
import {compatibleCore} from "../misc.js";
|
|
|
|
export class wfrp4e {
|
|
constructor(){
|
|
|
|
}
|
|
|
|
getFate(token) {
|
|
return token.actor.data.data.status.fate.value
|
|
}
|
|
|
|
getFortune(token) {
|
|
return token.actor.data.data.status.fortune.value
|
|
}
|
|
|
|
|
|
getWounds(token) {
|
|
const wounds = token.actor.data.data.status.wounds
|
|
return {
|
|
value: wounds.value,
|
|
max: wounds.max
|
|
}
|
|
|
|
}
|
|
|
|
getCriticalWounds(token) {
|
|
const criticalWounds = token.actor.data.data.status.criticalWounds
|
|
return {
|
|
value: criticalWounds.value,
|
|
max: criticalWounds.max
|
|
}
|
|
}
|
|
|
|
getCorruption(token) {
|
|
return token.actor.data.data.status.corruption.value
|
|
}
|
|
|
|
getAdvantage(token) {
|
|
return token.actor.data.data.status.advantage.value
|
|
}
|
|
|
|
getResolve(token) {
|
|
return token.actor.data.data.status.resolve.value
|
|
}
|
|
|
|
getResilience(token) {
|
|
return token.actor.data.data.status.resilience.value
|
|
}
|
|
|
|
getAbility(token, abilityName) {
|
|
return this.getCharacteristics(token, abilityName);
|
|
}
|
|
|
|
getCharacteristics(token, characteristicName) {
|
|
if (characteristicName == undefined ) characteristicName = `AG`;
|
|
const characteristic = token.actor.data.data.characteristics[characteristicName.toLowerCase()]
|
|
const val = characteristic.value;
|
|
return (val >= 0) ? `+${val}` : val;
|
|
}
|
|
|
|
getFeatures(token,featureType) {
|
|
if (featureType == undefined) featureType = 'any';
|
|
const allItems = token.actor.items;
|
|
if (featureType == 'any') return allItems.filter(i => i.type == 'skill' || i.type == 'talent' || i.type == "career" || i.type == 'trait');
|
|
return allItems.filter(i => i.type == featureType);
|
|
}
|
|
getSpells(token,spellType) {
|
|
const allItems = token.actor.items;
|
|
return allItems.filter(i => i.type == 'spell')
|
|
}
|
|
|
|
getSpellUses(token,level,item) {
|
|
return;
|
|
}
|
|
|
|
getFeatureUses(item) {
|
|
return {available: `+${item.data.data.total.value}`};
|
|
}
|
|
|
|
getHP(token) {
|
|
return this.getWounds(token);
|
|
}
|
|
|
|
rollItem(item) {
|
|
return game.wfrp4e.utility.rollItemMacro(item.name, item.type, false);
|
|
}
|
|
|
|
getSpeed(token) {
|
|
return token.actor.data.data.details.move.value;
|
|
}
|
|
|
|
|
|
async toggleCondition(token,condition) {
|
|
if (condition == undefined) condition = 'removeAll';
|
|
if (condition == 'removeAll'){
|
|
for( let effect of token.actor.effects)
|
|
await effect.delete();
|
|
}
|
|
else {
|
|
const effect = CONFIG.statusEffects.find(e => e.id === condition);
|
|
await token.toggleEffect(effect);
|
|
}
|
|
return true;
|
|
}
|
|
|
|
roll(token,roll,options,ability,skill,save) {
|
|
if (ability == undefined) ability = 'ag';
|
|
return game.wfrp4e.utility.rollItemMacro(ability, "characteristic", false);
|
|
}
|
|
|
|
|
|
|
|
getItems(token,itemType) {
|
|
if (itemType == undefined) itemType = 'any';
|
|
const allItems = token.actor.items;
|
|
if (itemType == 'any') return allItems.filter(i => i.type == 'weapon' ||
|
|
i.type == 'ammunition' ||
|
|
i.type == 'armour' ||
|
|
i.type == 'trapping');
|
|
else {
|
|
return allItems.filter(i => i.type == itemType);
|
|
}
|
|
}
|
|
|
|
|
|
getItemUses(item) {
|
|
if ( item.type == 'ammunition') {
|
|
return {available: item.data.data.quantity.value};
|
|
}
|
|
else {
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
/* this is all cargo-culted in and some of it could be deleted once the interface is resolved
|
|
to not be the superset of all possible systems
|
|
*/
|
|
|
|
getAC(token) {
|
|
return;
|
|
}
|
|
|
|
getShieldHP(token) {
|
|
return;
|
|
}
|
|
|
|
getInitiative(token) {
|
|
return;
|
|
}
|
|
|
|
toggleInitiative(token) {
|
|
return;
|
|
}
|
|
|
|
|
|
getConditionIcon(condition) {
|
|
return;
|
|
}
|
|
|
|
getConditionActive(token,condition) {
|
|
return;
|
|
}
|
|
|
|
getTempHP(token) {
|
|
return;
|
|
}
|
|
|
|
/**
|
|
* Ring Colors
|
|
*/
|
|
getSkillRingColor(token, skill) {
|
|
return;
|
|
}
|
|
|
|
getSaveRingColor(token, save) {
|
|
return;
|
|
}
|
|
} |