This commit is contained in:
2022-02-21 10:12:27 +01:00
parent 6962d6fc04
commit 58c3fbcd42
8 changed files with 131 additions and 96 deletions

View File

@@ -157,10 +157,10 @@ export class ActorSheetKH extends ActorSheet {
let _item = this.actor.items.find((element) => element.id == itemId);
// Retrieve skill based on name
let skill = this.actor.items.find((element) => element.name === _item.data.data.skill.value);
let skill = this.actor.items.find((element) => element.name === _item.data.skill.value);
let skillName = skill.name
let skillValue = skill.data.data.value
let skillValue = skill.data.value
let showValue = false
if(this.actor.data.type === "character") {
@@ -189,7 +189,7 @@ export class ActorSheetKH extends ActorSheet {
let _item = this.actor.items.find((element) => element.id == itemId);
let skillName = _item.name
let skillValue = _item.data.data.value
let skillValue = _item.data.value
let showValue = false
if(this.actor.data.type === "character") {
@@ -233,7 +233,7 @@ export class ActorSheetKH extends ActorSheet {
showValue = true
}
switch (_item.data.data.difficulty.value) {
switch (_item.data.difficulty.value) {
case "simple":
difficulty = 5
break;
@@ -248,24 +248,24 @@ export class ActorSheetKH extends ActorSheet {
break;
}
if(_item.data.data.roll.value === "roll" || _item.data.data.roll.value === "attackroll") {
if(_item.data.roll.value === "roll" || _item.data.roll.value === "attackroll") {
// Retrieve skill based on name
let skill = this.actor.items.find((element) => element.name === _item.data.data.roll.skill);
let skill = this.actor.items.find((element) => element.name === _item.data.roll.skill);
let skillName = _item.name
let skillValue = skill.data.data.value
let skillValue = skill.data.value
if(this.actor.data.type === "character") {
skillName = _item.name + " (" + skill.name + ")"
}
this.khRoller.rollSkillDialogInChat(skillName, skillValue, showValue, this.actor, difficulty)
} else if(_item.data.data.roll.value === "opposite") {
} else if(_item.data.roll.value === "opposite") {
// Retrieve skill based on name
let skill = this.actor.items.find((element) => element.name === _item.data.data.roll.skill);
let skill = this.actor.items.find((element) => element.name === _item.data.roll.skill);
let skillName = _item.name
let skillValue = skill.data.data.value
let skillValue = skill.data.value
if(this.actor.data.type === "character") {
skillName = _item.name + " (" + skill.name + ")"
@@ -274,62 +274,62 @@ export class ActorSheetKH extends ActorSheet {
let opposite = []
// Retrieve skill based on name
if(_item.data.data.roll.oppositeskill !== "") {
let skill1 = this.actor.items.find((element) => element.name === _item.data.data.roll.oppositeskill);
if(_item.data.roll.oppositeskill !== "") {
let skill1 = this.actor.items.find((element) => element.name === _item.data.roll.oppositeskill);
opposite.push(skill1.name)
}
if(_item.data.data.roll.oppositeskilltwo !== "") {
let skill2 = this.actor.items.find((element) => element.name === _item.data.data.roll.oppositeskilltwo);
if(_item.data.roll.oppositeskilltwo !== "") {
let skill2 = this.actor.items.find((element) => element.name === _item.data.roll.oppositeskilltwo);
opposite.push(skill2.name)
}
this.khRoller.rollSkillDialogInChat(skillName, skillValue, showValue, this.actor, difficulty, opposite)
} else if(_item.data.data.roll.value === "ritual") {
} else if(_item.data.roll.value === "ritual") {
let skills = []
if(_item.data.data.roll.ritual.skillone !== "") {
let skill1 = this.actor.items.find((element) => element.name === _item.data.data.roll.ritual.skillone);
if(_item.data.roll.ritual.skillone !== "") {
let skill1 = this.actor.items.find((element) => element.name === _item.data.roll.ritual.skillone);
skills.push({
name: skill1.name,
value: skill1.data.data.value
value: skill1.data.value
});
}
if(_item.data.data.roll.ritual.skilltwo !== "") {
let skill2 = this.actor.items.find((element) => element.name === _item.data.data.roll.ritual.skilltwo);
if(_item.data.roll.ritual.skilltwo !== "") {
let skill2 = this.actor.items.find((element) => element.name === _item.data.roll.ritual.skilltwo);
skills.push({
name: skill2.name,
value: skill2.data.data.value
value: skill2.data.value
});
}
if(_item.data.data.roll.ritual.skillthree !== "") {
let skill3 = this.actor.items.find((element) => element.name === _item.data.data.roll.ritual.skillthree);
if(_item.data.roll.ritual.skillthree !== "") {
let skill3 = this.actor.items.find((element) => element.name === _item.data.roll.ritual.skillthree);
skills.push({
name: skill3.name,
value: skill3.data.data.value
value: skill3.data.value
});
}
if(_item.data.data.roll.ritual.skillfour !== "") {
let skill4 = this.actor.items.find((element) => element.name === _item.data.data.roll.ritual.skillfour);
if(_item.data.roll.ritual.skillfour !== "") {
let skill4 = this.actor.items.find((element) => element.name === _item.data.roll.ritual.skillfour);
skills.push({
name: skill4.name,
value: skill4.data.data.value
value: skill4.data.value
});
}
if(_item.data.data.roll.ritual.skillfive !== "") {
let skill5 = this.actor.items.find((element) => element.name === _item.data.data.roll.ritual.skillfive);
if(_item.data.roll.ritual.skillfive !== "") {
let skill5 = this.actor.items.find((element) => element.name === _item.data.roll.ritual.skillfive);
skills.push({
name: skill5.name,
value: skill5.data.data.value
value: skill5.data.value
});
}
@@ -388,6 +388,7 @@ export class ActorSheetKH extends ActorSheet {
]);
html.find(".feature").click(async (ev) => {
console.log("feature")
const featureName = $(ev.currentTarget).data("feature");
const featureValue = this.actor.data.data.feature[featureName].value;
if (featureName === "one") {
@@ -417,10 +418,10 @@ export class ActorSheetKH extends ActorSheet {
this.actor.items.map((i) => {
if (i.type === "armor") {
if (i.id !== item.id && i.data.data.equipable.equipped && i.data?.data?.modifications) {
for (let k of Object.keys(i.data.data.modifications)) {
if (i.data.data.modifications[k].modtype === "init") {
initValue = i.data.data.modifications[k].value;
if (i.id !== item.id && i.data.equipable.equipped && i.data?.data?.modifications) {
for (let k of Object.keys(i.data.modifications)) {
if (i.data.modifications[k].modtype === "init") {
initValue = i.data.modifications[k].value;
}
}
}
@@ -434,13 +435,16 @@ export class ActorSheetKH extends ActorSheet {
}
}
this.actor.deleteOwnedItem(li.data("itemId"));
this.actor.deleteEmbeddedDocuments("Item", [li.data("itemId")]);
//this.actor.deleteOwnedItem(li.data("itemId"));
li.slideUp(200, () => this.render(false));
});
// Edit Inventory Item
html.find(".item-edit").click(async (ev) => {
console.log("item-edit")
let parent = $(ev.currentTarget).data("parent")
let li = $(ev.currentTarget).parents(parent);
let itemId = li.data("itemId");
@@ -617,11 +621,6 @@ export class ActorSheetKH extends ActorSheet {
let itemId = li.data("item-id");
let _item = this.actor.items.find((element) => element.id === itemId);
console.log(li)
console.log(li.data)
console.log(itemId)
console.log(_item)
let skillName = _item.name
let skillValue = _item.data.data.value
let showValue = false
@@ -812,6 +811,12 @@ export class ActorSheetKH extends ActorSheet {
// Add or Remove relationship
html.find(".learning-control").click(this._onClickLearningControl.bind(this));
html.find(".learning-delete").click(async (event) => {
event.preventDefault();
const a = event.currentTarget.closest(".learning");
const id = a.dataset["attribute"];
this.object.update({ "data.learning": { ["-=" + id]: null } });
});
html.find(".learning-click").click(this._onClickLearingLearned.bind(this));
/* Hjältarnas Tid specefic */
@@ -823,6 +828,7 @@ export class ActorSheetKH extends ActorSheet {
}
async _onClickLearingLearned(event) {
console.log("_onClickLearingLearned")
event.stopPropagation();
const li1 = $(event.currentTarget);
const li2 = $(event.currentTarget).parents(".learning");
@@ -842,13 +848,11 @@ export class ActorSheetKH extends ActorSheet {
async _onClickLearningControl(event) {
event.preventDefault();
const a = event.currentTarget;
const action = a.dataset.action;
const attrs = this.object.data.data.learning;
const form = this.form;
const action = event.currentTarget.dataset.action;
// Add new modification
if (action === "create") {
const form = this.form;
const nk = new Date().getTime();
let newKey = document.createElement("div");
@@ -858,41 +862,43 @@ export class ActorSheetKH extends ActorSheet {
await this._onSubmit(event);
}
/*
// Remove existing modification
else if (action === "delete") {
const li = a.closest(".learning");
li.parentElement.removeChild(li);
await this._onSubmit(event);
const a = event.currentTarget.closest(".learning");
const id = a.dataset["attribute"];
this.object.update({ "data.learning": { ["-=" + id]: null } });
}
*/
}
async _onClickRelationshipControl(event) {
console.log("_onClickRelationshipControl")
event.preventDefault();
const a = event.currentTarget;
const action = a.dataset.action;
const attrs = this.object.data.data.relationships;
const form = this.form;
const action = event.currentTarget.dataset.action;
// Add new modification
if (action === "create") {
const form = this.form;
const nk = new Date().getTime();
let newKey = document.createElement("div");
newKey.innerHTML = `<input class="relation-key" type="text" name="data.relationships.attr${nk}.key" value="attr${nk}" style="display: none;" /><input class="relation-key" type="text" name="data.relationships.attr${nk}.value" value="" style="display: none;" />`;
form.appendChild(newKey);
await this._onSubmit(event);
}
// Remove existing modification
else if (action === "delete") {
const li = a.closest(".relation");
li.parentElement.removeChild(li);
await this._onSubmit(event);
const ability = $(event.currentTarget).closest(".relation").data("attribute");
await this.object.update({ "data.relationships": { ["-=" + ability]: null } });
}
await this._onSubmit(event);
}
async _onClickRelationshipUsed(event) {
console.log("_onClickRelationshipUsed")
event.stopPropagation();
const li = $(event.currentTarget).parents(".relation");
@@ -910,6 +916,7 @@ export class ActorSheetKH extends ActorSheet {
}
async _toggleEquippedItem(event) {
console.log("_toggleEquippedItem")
const li = $(event.currentTarget);
const item = this.actor.items.get(li.data("itemId"));
const actor = this.actor;
@@ -954,6 +961,7 @@ export class ActorSheetKH extends ActorSheet {
}
async _increaseQuantity(event) {
console.log("_increaseQuantity")
event.stopPropagation();
const li = $(event.currentTarget).parents(".item");
@@ -968,6 +976,7 @@ export class ActorSheetKH extends ActorSheet {
}
async _decreaseQuantity(event) {
console.log("_decreaseQuantity")
event.stopPropagation();
const li = $(event.currentTarget).parents(".item");
@@ -984,6 +993,7 @@ export class ActorSheetKH extends ActorSheet {
}
async _onChangeSkillValue(event) {
console.log("_decreaseQuantity")
event.preventDefault();
const itemId = $(event.currentTarget).data("item-id");
@@ -994,31 +1004,29 @@ export class ActorSheetKH extends ActorSheet {
_id: _item.id,
data: { value: $(event.currentTarget).val() },
};
await this.actor.updateEmbeddedEntity("Item", [update]);
await this.actor.updateEmbeddedDocuments("Item", [update]);
}
}
async _onClickSkill(event) {
console.log("_onClickSkill")
event.preventDefault();
const itemId = $(event.currentTarget).data("item-id");
let _item = this.actor.items.find((element) => element.id == itemId);
console.log(_item)
console.log(itemId)
if (_item) {
let newVal = true;
if(_item.data.used !== undefined) {
newVal = !_item.data.used;
if(_item.data.data.used !== undefined) {
newVal = !_item.data.data.used;
}
let update = {
_id: _item.id,
data: { used: newVal },
};
await this.actor.updateEmbeddedEntity("Item", [update]);
await this.actor.updateEmbeddedDocuments("Item", [update]);
}
}
@@ -1034,6 +1042,7 @@ export class ActorSheetKH extends ActorSheet {
* @private
*/
async _itemDetailsToChat(itemId) {
console.log("_itemDetailsToChat")
let item = this.actor.items.get(itemId);
if (!item) {