Vereinfachter-NPC/Kreaturen-Bogen (#107)
Ich habe mal den ersten Entwurf eines NPC Bogens fertiggestellt. Ist jetzt ein eigener Actor Type geworden und nicht nur ein alternativer Char Bogen: Einfach beim Erstellen eines neuen Actors NPC wählen. Co-authored-by: Ender <harald@drueppels.de> Co-authored-by: LeFrique <lefrique@live.de> Co-authored-by: Byroks <byroks@gmail.com> Reviewed-on: #107 Reviewed-by: Le-Frique <lefrique@live.de>
This commit was merged in pull request #107.
This commit is contained in:
@@ -7,7 +7,6 @@ import { M5Roll } from "../rolls/M5Roll";
|
||||
export default class M5CharacterSheet extends ActorSheet {
|
||||
static get defaultOptions() {
|
||||
return mergeObject(super.defaultOptions, {
|
||||
template: "systems/midgard5/templates/sheets/character/main.hbs",
|
||||
width: 1000,
|
||||
height: 800,
|
||||
classes: ["midgard5", "sheet", "character"],
|
||||
@@ -21,7 +20,15 @@ export default class M5CharacterSheet extends ActorSheet {
|
||||
});
|
||||
}
|
||||
|
||||
// get template() {
|
||||
get template() {
|
||||
//console.log("M5CharacterSheet", this.actor.data.type)
|
||||
if (this.actor.type === "npc") {
|
||||
return "systems/midgard5/templates/sheets/npc/main.hbs";
|
||||
}
|
||||
else {
|
||||
return "systems/midgard5/templates/sheets/character/main.hbs";
|
||||
}
|
||||
}
|
||||
// return "systems/midgard5/templates/character_sheet/main.hbs"
|
||||
// }Options extends ActorSheet.Options = ActorSheet.Options, Data extends object = ActorSheet.Data<Options>
|
||||
|
||||
@@ -78,7 +85,8 @@ export default class M5CharacterSheet extends ActorSheet {
|
||||
let attributeValue = target ? parseInt(target.dataset.value) : null;
|
||||
let attributeStr = target ? target.dataset.attribute : null;
|
||||
const roll = M5Roll.fromAttributeValue(this.actor, attributeStr, attributeValue);
|
||||
await roll.toMessage();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await roll.toMessage(toggleAutomatedRoll);
|
||||
});
|
||||
|
||||
html.find(".edit-item").on("click", async (event) => {
|
||||
@@ -138,7 +146,8 @@ export default class M5CharacterSheet extends ActorSheet {
|
||||
});
|
||||
}
|
||||
|
||||
await item.roll();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await item.roll(toggleAutomatedRoll);
|
||||
this.render();
|
||||
});
|
||||
|
||||
@@ -158,7 +167,8 @@ export default class M5CharacterSheet extends ActorSheet {
|
||||
|
||||
const actor = this.actor as any;
|
||||
const item = actor.items.get(skillId) as M5Item;
|
||||
await item.roll();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await item.roll(toggleAutomatedRoll);
|
||||
});
|
||||
|
||||
html.find(".roll-general-button").on("click", async (event) => {
|
||||
@@ -169,7 +179,8 @@ export default class M5CharacterSheet extends ActorSheet {
|
||||
const unlearnedSkill = data.skills.general[skillName] as M5SkillUnlearned;
|
||||
|
||||
const roll = M5Roll.fromUnlearnedSkill(this.actor, unlearnedSkill, skillName);
|
||||
await roll.toMessage();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await roll.toMessage(toggleAutomatedRoll);
|
||||
});
|
||||
|
||||
html.find(".learn-button").on("click", async (event) => {
|
||||
@@ -267,48 +278,57 @@ export default class M5CharacterSheet extends ActorSheet {
|
||||
|
||||
const context = this.actor as any;
|
||||
const item = context.items.get(itemId) as M5Item;
|
||||
await item.roll();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await item.roll(toggleAutomatedRoll);
|
||||
this.render();
|
||||
});
|
||||
|
||||
html.find(".roll-brawl-button").on("click", async (event) => {
|
||||
const roll = M5Roll.brawl(this.actor);
|
||||
await roll.toMessage();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await roll.toMessage(toggleAutomatedRoll);
|
||||
});
|
||||
|
||||
html.find(".roll-cleanSpell-button").on("click", async (event) => {
|
||||
const roll = M5Roll.cleanSpell(this.actor);
|
||||
await roll.toMessage();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await roll.toMessage(toggleAutomatedRoll);
|
||||
});
|
||||
|
||||
html.find(".roll-deprivationCold-button").on("click", async (event) => {
|
||||
const roll = M5Roll.deprivationCold(this.actor);
|
||||
await roll.toMessage();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await roll.toMessage(toggleAutomatedRoll);
|
||||
});
|
||||
|
||||
html.find(".roll-deprivationHeat-button").on("click", async (event) => {
|
||||
const roll = M5Roll.deprivationHeat(this.actor);
|
||||
await roll.toMessage();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await roll.toMessage(toggleAutomatedRoll);
|
||||
});
|
||||
|
||||
html.find(".roll-deprivationFood-button").on("click", async (event) => {
|
||||
const roll = M5Roll.deprivationFood(this.actor);
|
||||
await roll.toMessage();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await roll.toMessage(toggleAutomatedRoll);
|
||||
});
|
||||
|
||||
html.find(".roll-defense-button").on("click", async (event) => {
|
||||
const roll = M5Roll.defense(this.actor);
|
||||
await roll.toMessage();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await roll.toMessage(toggleAutomatedRoll);
|
||||
});
|
||||
|
||||
html.find(".roll-resistanceMind-button").on("click", async (event) => {
|
||||
const roll = M5Roll.resistanceMind(this.actor);
|
||||
await roll.toMessage();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await roll.toMessage(toggleAutomatedRoll);
|
||||
});
|
||||
|
||||
html.find(".roll-resistanceBody-button").on("click", async (event) => {
|
||||
const roll = M5Roll.resistanceBody(this.actor);
|
||||
await roll.toMessage();
|
||||
let toggleAutomatedRoll = (event.shiftKey)
|
||||
await roll.toMessage(toggleAutomatedRoll);
|
||||
});
|
||||
|
||||
html.find(".change-equipped").on("click", async (event) => {
|
||||
|
||||
Reference in New Issue
Block a user