v1.1.1 #16

Merged
dmitry_k merged 5 commits from dev into main 2023-11-08 21:21:04 +00:00
8 changed files with 735 additions and 473 deletions

@ -1 +1 @@
Subproject commit 27c8f5203f295bb028a77b129b40c709bf941c28
Subproject commit 5d79f43c3cc4df1b2386f01f361d1baa93c1dc85

View File

@ -12,7 +12,7 @@
"minimumCoreVersion": "9",
"compatibility": {
"minimum": "9",
"verified": "10",
"verified": "11",
"maximum": "11"
},
"url": "${DRONE_REPO_LINK}",

View File

@ -0,0 +1,21 @@
const myContent = `
Value:
<input id="myInputID" type="number" value="0" />
`;
new Dialog({
title: "My Dialog Title",
content: myContent,
buttons: {
button1: {
label: "Display Value",
callback: (html) => myCallback(html),
icon: `<i class="fas fa-check"></i>`
}
}
}).render(true);
function myCallback(html) {
const value = html.find("input#myInputID").val();
ui.notifications.info(`Value: ${value}`);
}

View File

@ -0,0 +1,112 @@
// старый способ добавить итем персонажу
//
// const compendiumPackName = 'pf2e.feature-effects';
// const effectName = 'Effect: Rage';
// const actor = game.user.character;
// await pack.getEntry(effectId).then(effect => actor.createOwnedItem(effect) );
// get item from compendium to actor
async function getItemFromCompendium (itemName){
const pack = game.packs.get("sc-items.sc-items");
await pack.getIndex();
const itemId = pack.index.find(e => e.name === itemName)._id;
item = [await pack.getDocument(itemId)]
await actor.createEmbeddedDocuments("Item", item)
}
// проверить что у игрока есть персонаж
if (game.user.character == null){
ui.notifications.warn('Игроку не назначен персонаж');
return
}
let compendium = (Array.from(game.packs)).filter(element => element.metadata.name == 'sc-items')
compendiumData = Array.from(compendium[0].index)
compendiumData.find(element => element.name == 'Рапира/Rapier')
// найти объект по имени
function findItem(itemName, compendium) {
let compendiumData = (Array.from(game.packs)).filter(element => element.metadata.name == compendium)
compArray = Array.from(compendiumData[0].index)
return compArray.find(element => element.name == itemName)
}
// получить класс персонажа
// от класса выбрать варианты стартового снаряжения
// передать выбранное снаряжение персонажу
let a = `
<html lang="en">
<form>
<fieldset>
<legend>
Select items
</legend>
<fieldset>
<legend>
Legend2
</legend>
<div>
<ul>
<li><input type="radio" id="choise1" name="set1" value="Длинный меч/Longsword">Длинный меч/Longsword</li>
<li><input type="radio" id="choise2" name="set1" value="Рапира/Rapier">Рапира/Rapier</li>
</ul>
</div>
</fieldset>
<fieldset>
<legend>
Legend3
</legend>
<div>
<ul>
<li><input type="radio" id="choise1" name="set2" value="Набор дипломата/Diplomat's Pack">Набор дипломата</li>
<li><input type="radio" id="choise2" name="set2" value="Набор артиста/Entertainer's Pack">Набор артиста</li>
</ul>
</div>
</fieldset>
</div>
</fieldset>
<input type="submit" id="button">
</form>
</html>
`
new Dialog({
title: "Test Dialog",
// content: a,
template: "./templates/bard.html"
buttons: {
one: {
icon: '<i class="fas fa-check"></i>',
label: "Option One",
callback: (html) => myCallback(html)
}
}
}
).render(true);
function myCallback(html) {
// let radios = document.querySelectorAll('input[type="radio"]');
let radios = html.find('input[type="radio"]');
// let button = document.querySelector('#button');
for (let radio of radios) {
if (radio.checked) {
console.log(radio.value);
// item = findItem(radio.value, "sc-items")
// if (item == null || item == undefined){
// ui.notifications.warn(`Предмет `+radio.value+`не найден в библиотеке`);
// return
// }
getItemFromCompendium(radio.value)
// console.log(item);
}
}
// const value = html.find("input#choise1").val();
// const array1 = [html.find('input[type="radio"]:checked').val()];
// const value = html.find('input[type="radio"]:checked').val();
// ui.notifications.info(`Value: ${value}`);
// console.log(value)
// console.log(array1)
// return value
}

View File

@ -1,50 +0,0 @@
{
"id": "sc-classes",
"name": "shared-compendia-classes",
"title": "Shared Compendia Classes",
"description": "Character class list with features",
"authors": [
{
"name": "leego neit"
}
],
"version": "1.0.24",
"minimumCoreVersion": "9",
"compatibility": {
"minimum": "9",
"verified": "10",
"maximum": "10"
},
"url": "https://gitea.kdiva.ru/modules/sc-classes",
"manifest": "https://gitea.kdiva.ru/modules/sc-classes/raw/branch/main/src/module.json",
"download": "https://gitea.kdiva.ru/api/packages/modules/generic/sc-classes/1.0.24/module.zip",
"packs": [
{
"name": "sc-classes",
"label": "sc classes",
"path": "packs/sc-classes.db",
"entity": "Item",
"type": "Item",
"module": "shared-compendia-classes",
"system": "dnd5e"
},
{
"name": "sc-class-features",
"label": "sc class features",
"path": "packs/sc-class-features.db",
"entity": "Item",
"type": "Item",
"module": "shared-compendia-classes",
"system": "dnd5e"
},
{
"name": "sc-subclasses",
"label": "sc subclasses",
"path": "packs/sc-subclasses.db",
"entity": "Item",
"type": "Item",
"module": "shared-compendia-subclasses",
"system": "dnd5e"
}
]
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long