FIX: Initiative on skip defeated
parent
83fa2f1744
commit
031168bddc
Binary file not shown.
Before Width: | Height: | Size: 75 KiB After Width: | Height: | Size: 69 KiB |
|
@ -12,7 +12,7 @@ export class OseCombat {
|
||||||
Object.keys(groups).forEach((group) => {
|
Object.keys(groups).forEach((group) => {
|
||||||
let roll = new Roll("1d6").roll();
|
let roll = new Roll("1d6").roll();
|
||||||
roll.toMessage({
|
roll.toMessage({
|
||||||
flavor: game.i18n.format('OSE.roll.initiative', {group: CONFIG["OSE"].colors[group]}),
|
flavor: game.i18n.format('OSE.roll.initiative', { group: CONFIG["OSE"].colors[group] }),
|
||||||
});
|
});
|
||||||
groups[group].initiative = roll.total;
|
groups[group].initiative = roll.total;
|
||||||
});
|
});
|
||||||
|
@ -34,17 +34,20 @@ export class OseCombat {
|
||||||
static async individualInitiative(combat, data) {
|
static async individualInitiative(combat, data) {
|
||||||
let updates = [];
|
let updates = [];
|
||||||
let messages = [];
|
let messages = [];
|
||||||
|
|
||||||
combat.data.combatants.forEach((c, i) => {
|
combat.data.combatants.forEach((c, i) => {
|
||||||
// This comes from foundry.js, had to remove the update turns thing
|
// This comes from foundry.js, had to remove the update turns thing
|
||||||
// Roll initiative
|
// Roll initiative
|
||||||
const cf = combat._getInitiativeFormula(c);
|
const cf = combat._getInitiativeFormula(c);
|
||||||
const roll = combat._getInitiativeRoll(c, cf);
|
const roll = combat._getInitiativeRoll(c, cf);
|
||||||
updates.push({_id: c._id, initiative: roll.total});
|
let value = roll.total;
|
||||||
|
if (combat.settings.skipDefeated && c.defeated) {
|
||||||
|
value = -790;
|
||||||
|
}
|
||||||
|
updates.push({ _id: c._id, initiative: value });
|
||||||
|
|
||||||
// Determine the roll mode
|
// Determine the roll mode
|
||||||
let rollMode = game.settings.get("core", "rollMode");
|
let rollMode = game.settings.get("core", "rollMode");
|
||||||
if (( c.token.hidden || c.hidden ) && (rollMode === "roll") ) rollMode = "gmroll";
|
if ((c.token.hidden || c.hidden) && (rollMode === "roll")) rollMode = "gmroll";
|
||||||
|
|
||||||
// Construct chat message data
|
// Construct chat message data
|
||||||
let messageData = mergeObject({
|
let messageData = mergeObject({
|
||||||
|
@ -54,16 +57,15 @@ export class OseCombat {
|
||||||
token: c.token._id,
|
token: c.token._id,
|
||||||
alias: c.token.name
|
alias: c.token.name
|
||||||
},
|
},
|
||||||
flavor: game.i18n.format('OSE.roll.individualInit', {name: c.token.name})
|
flavor: game.i18n.format('OSE.roll.individualInit', { name: c.token.name })
|
||||||
}, {});
|
}, {});
|
||||||
const chatData = roll.toMessage(messageData, {rollMode, create:false});
|
const chatData = roll.toMessage(messageData, { rollMode, create: false });
|
||||||
|
|
||||||
if ( i > 0 ) chatData.sound = null; // Only play 1 sound for the whole set
|
if (i > 0) chatData.sound = null; // Only play 1 sound for the whole set
|
||||||
messages.push(chatData);
|
messages.push(chatData);
|
||||||
});
|
});
|
||||||
await combat.updateEmbeddedEntity("Combatant", updates);
|
await combat.updateEmbeddedEntity("Combatant", updates);
|
||||||
await CONFIG.ChatMessage.entityClass.create(messages);
|
await CONFIG.ChatMessage.entityClass.create(messages);
|
||||||
// Take the first combatant
|
|
||||||
data.turn = 0;
|
data.turn = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -73,6 +75,10 @@ export class OseCombat {
|
||||||
span.innerHTML == "-789.00"
|
span.innerHTML == "-789.00"
|
||||||
? '<i class="fas fa-weight-hanging"></i>'
|
? '<i class="fas fa-weight-hanging"></i>'
|
||||||
: span.innerHTML;
|
: span.innerHTML;
|
||||||
|
span.innerHTML =
|
||||||
|
span.innerHTML == "-790.00"
|
||||||
|
? '<i class="fas fa-dizzy"></i>'
|
||||||
|
: span.innerHTML;
|
||||||
});
|
});
|
||||||
let init = game.settings.get("ose", "individualInit");
|
let init = game.settings.get("ose", "individualInit");
|
||||||
if (init) {
|
if (init) {
|
||||||
|
|
|
@ -111,7 +111,7 @@ export class OseCharacterCreator extends FormApplication {
|
||||||
// Generate gold
|
// Generate gold
|
||||||
let gold = event.target.elements.namedItem('gold').value;
|
let gold = event.target.elements.namedItem('gold').value;
|
||||||
const itemData = {
|
const itemData = {
|
||||||
name: "Gold pieces",
|
name: "GP",
|
||||||
type: "item",
|
type: "item",
|
||||||
img: "/systems/ose/assets/gold.png",
|
img: "/systems/ose/assets/gold.png",
|
||||||
data: {
|
data: {
|
||||||
|
|
Loading…
Reference in New Issue