attitudes
This commit is contained in:
@@ -421,4 +421,75 @@ export class VermineCombat extends Combat {
|
||||
}
|
||||
super._onDelete()*/
|
||||
}
|
||||
}
|
||||
|
||||
export class VermineCombatTracker extends CombatTracker {
|
||||
|
||||
get template() {
|
||||
return "systems/vermine2047/templates/combat-tracker.hbs";
|
||||
}
|
||||
|
||||
async getData(options) {
|
||||
const context = await super.getData(options);
|
||||
|
||||
if (!context.hasCombat) {
|
||||
return context;
|
||||
}
|
||||
|
||||
for (let [i, combatant] of context.combat.turns.entries()) {
|
||||
context.turns[i].hasActed = combatant.getFlag("world", "hasActed");
|
||||
context.turns[i].isPlayer = combatant.actor.type == "player";
|
||||
context.turns[i].isNpc = combatant.actor.type == "npc";
|
||||
}
|
||||
return context;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
get template() {
|
||||
return "systems/gods-system/templates/combat/tracker.hbs";
|
||||
}
|
||||
|
||||
async getData(options) {
|
||||
const context = await super.getData(options);
|
||||
|
||||
if (!context.hasCombat) {
|
||||
return context;
|
||||
}
|
||||
|
||||
for (let [i, combatant] of context.combat.turns.entries()) {
|
||||
context.turns[i].attitude = combatant.getFlag("world", "attitude");
|
||||
context.turns[i].isPlayer = combatant.actor.type == "character";
|
||||
context.turns[i].isNpc = combatant.actor.type == "npc";
|
||||
context.turns[i].isCreature = combatant.actor.type == "creature";
|
||||
}
|
||||
return context;
|
||||
}
|
||||
|
||||
activateListeners(html) {
|
||||
super.activateListeners(html);
|
||||
|
||||
html.find(".status").click(this._setStatut.bind(this));
|
||||
}
|
||||
|
||||
/**
|
||||
* @description Use to put an attitude to an actor
|
||||
* @param {*} event
|
||||
*/
|
||||
async _setStatut(event) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
const btn = event.currentTarget;
|
||||
const li = btn.closest(".combatant");
|
||||
const combat = this.viewed;
|
||||
const combatant = combat.combatants.get(li.dataset.combatantId);
|
||||
|
||||
if ($(btn).hasClass('offensive'))
|
||||
await combatant.setFlag("world", "attitude", "offensive");
|
||||
else if ($(btn).hasClass('active'))
|
||||
await combatant.setFlag("world", "attitude", "active");
|
||||
else if ($(btn).hasClass('passive'))
|
||||
await combatant.setFlag("world", "attitude", "passive");
|
||||
else
|
||||
await combatant.setFlag("world", "attitude", null);
|
||||
}
|
||||
}
|
||||
@@ -46,12 +46,18 @@ export const registerHandlebarsHelpers = function () {
|
||||
return game.i18n.localize(arrayLabel +"."+objectLabel+".name");
|
||||
});
|
||||
|
||||
// return skill level information
|
||||
Handlebars.registerHelper('skillLevel', function (property, level, options) {
|
||||
if (level < 1 || level > 5)
|
||||
return "";
|
||||
let levelData = CONFIG.VERMINE.SkillLevels[level];
|
||||
|
||||
return (levelData !== undefined) ? levelData[property] : "";
|
||||
});
|
||||
// return skill level information
|
||||
Handlebars.registerHelper('skillLevel', function (property, level, options) {
|
||||
if (level < 1 || level > 5)
|
||||
return "";
|
||||
let levelData = CONFIG.VERMINE.SkillLevels[level];
|
||||
|
||||
return (levelData !== undefined) ? levelData[property] : "";
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('getCombatTrackerColor', function (isPlayer, isNpc) {
|
||||
if (isPlayer) return "player";
|
||||
if (isNpc) return "npc";
|
||||
});
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user