const hasTraits = args.actor.has("Démoniaque") || args.actor.has("Mort-vivant") || args.actor.has("Lanceur de Sorts"); const hasSinOrCorruption = args.actor.status.sin.value > 0 || args.actor.status.corruption.value > 0; const isSpellcaster = args.actor.itemTags.talent.some(i => i.name.includes(game.i18n.localize("NAME.ArcaneMagic")) || i.name.includes(game.i18n.localize("NAME.ChaosMagic")) || i.name.includes(game.i18n.localize("NAME.PettyMagic")) ); const shouldDamage = hasTraits || hasSinOrCorruption || isSpellcaster; if (shouldDamage) { const roll = new Roll("1d10"); await roll.evaluate(); let damage = roll.total; await roll.toMessage(); await this.script.message(await this.actor.applyBasicDamage(damage, {damageType: game.wfrp4e.config.DAMAGE_TYPE.IGNORE_ALL, suppressMsg: true})); }