Compare commits

..

6 Commits

Author SHA1 Message Date
dmitry_k 3c1e78c312 v1.1.1
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2023-11-08 21:21:02 +00:00
dmitry.kirdyashkin c86f968538 v1.1.1
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2023-11-09 00:08:16 +03:00
Dmitry Kirdyashkin 554834ae2a v1.1.0
continuous-integration/drone/push Build is passing Details
2023-11-07 23:08:01 +03:00
Dmitry Kirdyashkin 120d1f19ea v1.0.4.1
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2023-11-03 09:56:58 +03:00
dmitry.kirdyashkin 11426c3eda f
continuous-integration/drone/push Build is passing Details
2023-10-02 09:19:22 +03:00
Dmitry Kirdyashkin 876e16b85a v1.0.4
continuous-integration/drone/push Build is passing Details
continuous-integration/drone Build is passing Details
2023-09-29 00:38:44 +03: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