mini attack rolls now use the same chatty as the big boys.
parent
487994ff24
commit
71a15e83c9
|
|
@ -81,49 +81,20 @@ export class SkillDataModel extends BaseItem {
|
|||
|
||||
async #combatRoll(rollMode, mode) {
|
||||
const owner = this.parent.parent
|
||||
const rollData = owner.getRollData()
|
||||
|
||||
let targetNumber = 0
|
||||
|
||||
if (mode === this.SKILL_MODE.ATTACK) {
|
||||
targetNumber = this.at + owner.system.at.basis
|
||||
} else {
|
||||
targetNumber = this.pa + owner.system.pa.basis
|
||||
}
|
||||
|
||||
// TODO: Migrate to DSARoll
|
||||
let roll1 = new Roll(`1d20cs<${targetNumber}`, owner.getRollData());
|
||||
|
||||
let evaluated1 = (await roll1.evaluate())
|
||||
|
||||
const rolledValue = evaluated1.terms[0].results[0].result
|
||||
|
||||
if (rolledValue === 1 || rolledValue === 20) { // TODO: Modify this target
|
||||
// fill with actual evaluation (targetNumber should be reduced by X and roll against that again)
|
||||
}
|
||||
|
||||
let message = ""
|
||||
if (mode === this.SKILL_MODE.ATTACK) {
|
||||
if (rolledValue <= targetNumber) {
|
||||
message = `Würde treffen [${rolledValue}]`
|
||||
} else {
|
||||
message = `Verfehlt [${rolledValue}]`
|
||||
}
|
||||
} else {
|
||||
if (rolledValue <= targetNumber) {
|
||||
message = `Würde parrieren [${rolledValue}]`
|
||||
} else {
|
||||
message = `Verfehlt die parade [${rolledValue}]`
|
||||
}
|
||||
}
|
||||
|
||||
evaluated1.toMessage({
|
||||
speaker: ChatMessage.getSpeaker({actor: owner}),
|
||||
flavor: message,
|
||||
rollMode,
|
||||
}, {
|
||||
owner.rollAttack({
|
||||
skill: this.parent._id,
|
||||
target: owner._id,
|
||||
mod: 0,
|
||||
penalty: 0,
|
||||
actor: owner,
|
||||
circumstance: 0,
|
||||
targetNumber: this.at + owner.system.at.basis
|
||||
})
|
||||
|
||||
} else {
|
||||
//targetNumber = this.pa + owner.system.pa.basis
|
||||
}
|
||||
}
|
||||
|
||||
async #talentRoll(rollMode) {
|
||||
|
|
|
|||
|
|
@ -500,9 +500,13 @@ export class Character extends Actor {
|
|||
|
||||
async rollAttack(data) {
|
||||
const maneuver = data.manuever
|
||||
const weapon = this.itemTypes["Equipment"].find(p => p._id === data.weapon)
|
||||
const skill = this.itemTypes["Skill"].find(p => p._id === data.skill)
|
||||
const target = game.actors.get(game.scenes.current.tokens.find(p => p._id === data.target).actorId)
|
||||
const weapon = this.itemTypes["Equipment"].find(p => p._id === data.weapon) ?? this.itemTypes["Skill"].find(p => p._id === data.skill)
|
||||
let target = 0
|
||||
try {
|
||||
target = game.actors.get(game.scenes.current.tokens.find(p => p._id === data.target).actorId)
|
||||
} catch (e) {
|
||||
target = game.actors.get(data.target)
|
||||
}
|
||||
|
||||
let evaluated = await evaluateRoll("1d20", {
|
||||
value: data.targetNumber,
|
||||
|
|
@ -514,7 +518,6 @@ export class Character extends Actor {
|
|||
const context = {
|
||||
weapon: weapon.name,
|
||||
maneuver,
|
||||
skill: skill.name,
|
||||
target: target.name,
|
||||
attacker: this._id,
|
||||
mod: data.mod,
|
||||
|
|
|
|||
Loading…
Reference in New Issue