Compare commits

..

No commits in common. "main" and "v.1.0.2-dev" have entirely different histories.

11 changed files with 533 additions and 898 deletions

View File

@ -1,55 +0,0 @@
## v1.3.2.5
* исправлено увеличение единиц чародейства чародея
* добавлен выбор метамагии при повышении уровня чародея
## v1.3.2.4
* исправлены ссылки на состояния
## v1.3.2.3
* исправлены ссылки в карточках классов и подклассов
* добавлено количество использований особенности `поток хаоса` чародея
## v1.3.2.2
* исправлены ссылки в списке заклинаний классов
## v1.3.2.1
* подтвержденная версия fvtt увеличена до 12
* максимальная версия fvtt увеличена до 12
* минимальная версия fvtt увеличена до 11
## v1.3.2.1
* Добавлен журнал со списком заклинаний классов
* В умения `Использование заклинаний` классов добавлены ссылки на страницы со списком заклинаний
## v1.3.2.0
* Добавлены таинственные воззвания из Занатара (#24)
* Исправлена особенность `божественное чувство` паладина #23
## v1.3.1.2
* Исправлена карточка таинственных воззваний колдуна (#22)
* Исправлено развитие следопыта (#23)
## v1.3.1.1
* Исправлен скрипт-конвертор журнала
## v1.3.1.0
* обновление журнала со списком классов
## v1.3.0.0
* добавлена библиотека для журналов
## v1.2.1.0
* добавлены подклассы изобретателя
* добавлены умения подклассов
* удалён флаг plutonium у подклассов монаха и изобретателя
## v1.2.0.1
### Бард
* Удалены неиспользуемые эффекты вдохновения барда
### Варвар
* Удалены неиспользуемые эффекты умения `ярость`
* Удалены неиспользуемые эффекты умения `безрассудная атака`
* Удалены неиспользуемые эффекты умения `Быстрое передвижение`
### Изобретатель
* удалён флаг plutonium
## v1.2.0.0
* Добавлен класс изобретателя
* Добавлены умения класса изобретателя
* При увеличении уровня добавлены уведомления об изменении классовых ресурсов для всех классов
* Исправлено форматирование таблиц в описании классов
* Исправлены неточности перевода в описании классов
* Исправлено количество использований божественного канала жреца (теперь скалируется от @scale.cleric.channel-divinity)
* Движение без доспехов монаха теперь скалируется от @scale.monk.unarmored-movement
## v1.1.6.2
* При получении любого класса персонажу добавляется безоружный удар
* Удалён флаг foundry у класса монаха

View File

@ -1 +1,47 @@
# Библиотека классов
# Исправлено
## Воин
* `Всплеск действий/Action Surge` количество использований
* `Воинский архетип/Martial Archetype` описание карточки
### Мастер боевых искусств
* выбор приёмов при повышении уровня
### Мистический рыцарь
* описание развития
## Волшебник
* описание развития
* получение навыков при развитии
* `Магическое восстановление/Arcane Recovery` восстановление навыка
---
привмер работы `вдохновение барда`:
* после активации умения, происходит выбор актёра
* выдача "особенности" вдохновение барда с нужным кубом
* использование актёром вдохновения из своего инвентаря
гайды:
https://github.com/foundry-vtt-community/wiki/blob/main/API-Learning-API.md
https://www.youtube.com/@oatveal/videos
https://www.answeroverflow.com/m/905397822822703116
Получение id персонажа
```javascript
let actor = game.user.character
let actorId - actor.id
```
Добавление значения к характеристике:
```javascript
actor.update({'system.abilities.str.value': actor.data.system.abilities.str.value+1})
```
Добавление предмета из мира
```javascript
const item = game.items.getName("End Concentration")
await actor.createEmbeddedDocuments('Item', [item.toObject()])
```
Добавление предмета из компендиума
```javascript
(Array.from(game.packs)).filter(element => element.metadata.name == 'sc-items')
```

@ -1 +1 @@
Subproject commit ce582f5b3835762ea5c67d6669dee0c08f8e09c1
Subproject commit 27c8f5203f295bb028a77b129b40c709bf941c28

View File

@ -11,9 +11,9 @@
"version": "$RELEASE_TAG",
"minimumCoreVersion": "9",
"compatibility": {
"minimum": "11",
"verified": "12",
"maximum": "12"
"minimum": "9",
"verified": "10",
"maximum": "11"
},
"url": "${DRONE_REPO_LINK}",
"manifest": "${DRONE_REPO_LINK}/releases/download/latest/module.json",
@ -45,13 +45,6 @@
"type": "Item",
"module": "shared-compendia-subclasses",
"system": "dnd5e"
},
{
"name": "sc-classes-journals",
"label": "sc class list",
"path": "packs/sc-classes-journals.db",
"entity": "JournalEntry",
"type": "JournalEntry"
}
]
}

View File

@ -1,21 +0,0 @@
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

@ -1,112 +0,0 @@
// старый способ добавить итем персонажу
//
// 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
}

50
src/module.json 100644
View File

@ -0,0 +1,50 @@
{
"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

File diff suppressed because one or more lines are too long