mini attack rolls now use the same chatty as the big boys.

main
macniel 2026-01-26 17:45:28 +01:00
parent 487994ff24
commit 71a15e83c9
2 changed files with 17 additions and 43 deletions

View File

@ -81,49 +81,20 @@ export class SkillDataModel extends BaseItem {
async #combatRoll(rollMode, mode) { async #combatRoll(rollMode, mode) {
const owner = this.parent.parent const owner = this.parent.parent
const rollData = owner.getRollData()
let targetNumber = 0
if (mode === this.SKILL_MODE.ATTACK) { if (mode === this.SKILL_MODE.ATTACK) {
targetNumber = this.at + owner.system.at.basis owner.rollAttack({
} else { skill: this.parent._id,
targetNumber = this.pa + owner.system.pa.basis target: owner._id,
} mod: 0,
penalty: 0,
// TODO: Migrate to DSARoll actor: owner,
let roll1 = new Roll(`1d20cs<${targetNumber}`, owner.getRollData()); circumstance: 0,
targetNumber: this.at + owner.system.at.basis
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,
}, {
}) })
} else {
//targetNumber = this.pa + owner.system.pa.basis
}
} }
async #talentRoll(rollMode) { async #talentRoll(rollMode) {

View File

@ -500,9 +500,13 @@ export class Character extends Actor {
async rollAttack(data) { async rollAttack(data) {
const maneuver = data.manuever const maneuver = data.manuever
const weapon = this.itemTypes["Equipment"].find(p => p._id === data.weapon) const weapon = this.itemTypes["Equipment"].find(p => p._id === data.weapon) ?? this.itemTypes["Skill"].find(p => p._id === data.skill)
const skill = this.itemTypes["Skill"].find(p => p._id === data.skill) let target = 0
const target = game.actors.get(game.scenes.current.tokens.find(p => p._id === data.target).actorId) 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", { let evaluated = await evaluateRoll("1d20", {
value: data.targetNumber, value: data.targetNumber,
@ -514,7 +518,6 @@ export class Character extends Actor {
const context = { const context = {
weapon: weapon.name, weapon: weapon.name,
maneuver, maneuver,
skill: skill.name,
target: target.name, target: target.name,
attacker: this._id, attacker: this._id,
mod: data.mod, mod: data.mod,