Add initiative and ammo
This commit is contained in:
@@ -158,6 +158,13 @@ export class DarkStarsActor extends Actor {
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
checkAndPrepareEquipment(item) {
|
||||
// Dynamic assign ammo for the weapon
|
||||
if (item.type == "weapon" && item.system.needammo) {
|
||||
let ammo = this.items.find(ammo => ammo.type == "ammo" && item.system.ammoid == ammo.id)
|
||||
if (ammo) {
|
||||
item.ammo = duplicate(ammo)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -177,6 +184,12 @@ export class DarkStarsActor extends Actor {
|
||||
/* -------------------------------------------- */
|
||||
getWeapons() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'weapon') || []);
|
||||
DarkStarsUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getAmmos() {
|
||||
let comp = duplicate(this.items.filter(item => item.type == 'ammo') || []);
|
||||
DarkStarsUtility.sortArrayObjectsByName(comp)
|
||||
return comp;
|
||||
}
|
||||
@@ -188,7 +201,13 @@ export class DarkStarsActor extends Actor {
|
||||
}
|
||||
return item;
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
setWeaponAmmo(weaponId, ammoId) {
|
||||
let weapon = this.items.get(weaponId)
|
||||
if(weapon) {
|
||||
this.updateEmbeddedDocuments('Item', [ {_id: weapon.id, 'system.ammoid': ammoId} ])
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
setSkillUsed( skillId, checked) {
|
||||
let skill = this.items.get(skillId)
|
||||
@@ -391,12 +410,14 @@ export class DarkStarsActor extends Actor {
|
||||
}
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getInitiativeScore(combatId, combatantId) {
|
||||
if (this.type == 'character') {
|
||||
this.rollMR(true, combatId, combatantId)
|
||||
}
|
||||
console.log("Init required !!!!")
|
||||
return -1;
|
||||
hasLastWord() {
|
||||
return this.items.find(i => i.type == "perk" && i.name.toLowerCase() === "last word")
|
||||
}
|
||||
/* -------------------------------------------- */
|
||||
getInitiativeScore() {
|
||||
let initFormula = (this.system.derivated.si.value + this.system.derivated.si.bonus) + "d6"
|
||||
let initRoll = new Roll(initFormula).roll({ async: false })
|
||||
return initRoll.total
|
||||
}
|
||||
|
||||
/* -------------------------------------------- */
|
||||
@@ -622,6 +643,7 @@ export class DarkStarsActor extends Actor {
|
||||
rollData.mode = "weapon"
|
||||
rollData.skill = skill
|
||||
rollData.weapon = weapon
|
||||
this.checkAndPrepareEquipment(weapon)
|
||||
rollData.img = weapon.img
|
||||
this.startRoll(rollData)
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user