Релиз v1.2.9
Build release archive / release (push) Failing after 28s

Изменено:
 - Поддержка новых типов товаров: "Механические приспособления" и "Религиозные товары".
 - Добавлена возможность случайной генерации уровня торговца.
 - Улучшена производительность при загрузке предметов из компендиумов.
 - Обновлены тексты описаний для категорий товаров.
 - Исправлена ошибка при добавлении предметов к торговцу (см. `module/data.mjs`, строки 2436-2446).
 - Исправлена проблема с отображением характеристик торговца в интерфейсе.
This commit is contained in:
2026-07-15 19:42:45 +03:00
parent 34782dc3b0
commit e21d8c5198
5611 changed files with 163869 additions and 0 deletions
@@ -0,0 +1,114 @@
{
"name": "Эликсир здоровья / Elixir of Health",
"type": "consumable",
"img": "icons/consumables/potions/potion-flask-corked-shiny-red.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "elixir%20of%20health_dmg"
},
"test_tube_merchant": {
"quantity": "1d4 + 1"
},
"babele": {
"hasTranslation": true,
"originalName": "Elixir of Health",
"translated": true
}
},
"system": {
"description": {
"value": "<div>\n<p>Выпив это зелье, вы исцеляете все болезни, которые на вас действовали, а также состояния слепоты, глухоты, паралича и отравления.</p>\n<p>Это прозрачная красная жидкость, в которой плавают пузырьки света.</p>\n</div>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 0.3,
"units": "lb"
},
"price": {
"value": 2500,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "rare",
"identified": true,
"activation": {
"type": "action",
"cost": 1,
"condition": ""
},
"duration": {
"value": "",
"units": ""
},
"cover": null,
"crewed": false,
"target": {
"value": "",
"width": null,
"units": "",
"type": "",
"prompt": true
},
"range": {
"value": null,
"long": null,
"units": ""
},
"uses": {
"value": null,
"max": "",
"per": null,
"recovery": "",
"autoDestroy": true,
"prompt": true
},
"consume": {
"type": "",
"target": "",
"amount": null,
"scale": false
},
"ability": "",
"actionType": "",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [],
"versatile": ""
},
"formula": "",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"unidentified": {
"description": ""
},
"type": {
"value": "potion",
"subtype": ""
},
"attack": {
"bonus": "",
"flat": false
},
"container": null,
"attuned": false,
"enchantment": null,
"summons": null,
"magicalBonus": null,
"properties": []
}
}
+114
View File
@@ -0,0 +1,114 @@
{
"name": "Яд дроу / Drow Poison",
"type": "consumable",
"img": "icons/consumables/potions/flask-ornate-skull-green.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "drow%20poison_dmg"
},
"test_tube_merchant": {
"quantity": "1d4"
},
"babele": {
"hasTranslation": true,
"originalName": "Drow Poison",
"translated": true
}
},
"system": {
"description": {
"value": "<p>Такой яд обычно изготавливают только @Compendium[laaru-dnd5-hw.monsters.XMHGgKpjb0Ss6dYl]{Дроу} и только вдали от солнечного света. Существо, подвергшееся действию этого яда, должно пройти испытание Выносливости со СЛ 13, при провале оно &amp;reference[poisoned]{отравлено} на 1 час. При провале на 5 или более существо также &amp;reference[unconscious]{теряет сознание}, пока отравлено таким образом. Существо приходит в сознание, если получает урон или когда другое существо разбудит его, потратив действие.</p>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 0.1,
"units": "lb"
},
"price": {
"value": 200,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "",
"identified": true,
"activation": {
"type": "action",
"cost": 1,
"condition": ""
},
"duration": {
"value": "",
"units": ""
},
"cover": null,
"crewed": false,
"target": {
"value": "",
"width": null,
"units": "",
"type": "",
"prompt": true
},
"range": {
"value": null,
"long": null,
"units": ""
},
"uses": {
"value": null,
"max": "",
"per": null,
"recovery": "",
"autoDestroy": false,
"prompt": true
},
"consume": {
"type": "",
"target": "",
"amount": null,
"scale": false
},
"ability": "",
"actionType": "",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [],
"versatile": ""
},
"formula": "",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"unidentified": {
"description": ""
},
"type": {
"value": "poison",
"subtype": ""
},
"attack": {
"bonus": "",
"flat": false
},
"container": null,
"attuned": false,
"enchantment": null,
"summons": null,
"magicalBonus": null,
"properties": []
}
}
@@ -0,0 +1,116 @@
{
"name": "Зелье чтения мыслей / Potion of Mind Reading",
"type": "consumable",
"img": "modules/laaru-dnd5-hw/assets/images/pic/Potion%20of%20Mind%20Reading.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "potion%20of%20mind%20reading_dmg"
},
"test_tube_merchant": {
"quantity": "1d4"
},
"babele": {
"hasTranslation": true,
"originalName": "Potion of Mind Reading",
"translated": true
}
},
"system": {
"description": {
"value": "<p>Выпив это зелье, вы получаете эффект заклинания @Compendium[laaru-dnd5-hw.spells.MSM1XtWei12DFoLN]{Обнаружение мыслей} (СЛ испытаний 13).</p>\n<p>В плотной пурпурной жидкости этого зелья плавает овальное розовое облачко.</p>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 0.1,
"units": "lb"
},
"price": {
"value": 2500,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "rare",
"identified": true,
"activation": {
"type": "action",
"cost": 1,
"condition": ""
},
"duration": {
"value": "1",
"units": "minute"
},
"cover": null,
"target": {
"value": "1",
"width": null,
"units": "",
"type": "creature",
"prompt": true
},
"range": {
"value": null,
"long": null,
"units": "touch"
},
"uses": {
"value": 1,
"max": "1",
"per": "charges",
"recovery": "",
"autoDestroy": false,
"prompt": true
},
"consume": {
"type": "",
"target": "",
"amount": null,
"scale": false
},
"ability": "",
"actionType": "save",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [],
"versatile": ""
},
"formula": "",
"save": {
"ability": "wis",
"dc": 13,
"scaling": "flat"
},
"crewed": false,
"unidentified": {
"description": "<p>В плотной пурпурной жидкости этого зелья плавает овальное розовое облачко.</p>"
},
"type": {
"value": "potion",
"subtype": ""
},
"container": null,
"properties": [
"mgc"
],
"attack": {
"bonus": "",
"flat": false
},
"attuned": false,
"enchantment": null,
"summons": null,
"magicalBonus": null
}
}
@@ -0,0 +1,135 @@
{
"name": "Зелье героизма / Potion of Heroism",
"type": "consumable",
"img": "modules/laaru-dnd5-hw/assets/images/pic/Potion%20of%20Heroism.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "potion%20of%20heroism_dmg"
},
"test_tube_merchant": {
"quantity": "1d4"
},
"midi-qol": {
"effectActivation": false
},
"midiProperties": {
"nodam": false,
"fulldam": false,
"halfdam": false,
"rollOther": false,
"critOther": false,
"magicdam": false,
"magiceffect": false,
"concentration": false,
"toggleEffect": false
},
"babele": {
"hasTranslation": true,
"originalName": "Potion of Heroism",
"translated": true
}
},
"system": {
"description": {
"value": "<p>Выпив это зелье, вы получаете 10 временных ПЗ на 1 час. На это же время вы находитесь под эффектом заклинания @Compendium[laaru-dnd5-hw.spells.jYsMCeg6AbSHzq1F]{Благословение} (концентрация не требуется).</p><p>Это синее зелье пузырится и испускает пар, будто кипит.</p>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 0.1,
"units": "lb"
},
"price": {
"value": 2500,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "rare",
"identified": true,
"activation": {
"type": "action",
"cost": 1,
"condition": ""
},
"duration": {
"value": "1",
"units": "hour"
},
"cover": null,
"target": {
"value": "1",
"width": null,
"units": "",
"type": "creature",
"prompt": true
},
"range": {
"value": null,
"long": null,
"units": "touch"
},
"uses": {
"value": 1,
"max": "1",
"per": "charges",
"recovery": "",
"autoDestroy": false,
"prompt": true
},
"consume": {
"type": "",
"target": "",
"amount": null,
"scale": false
},
"ability": "",
"actionType": "heal",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [
[
"10",
"temphp"
]
],
"versatile": ""
},
"formula": "1d4",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"crewed": false,
"unidentified": {
"description": "<p>Это синее зелье пузырится и испускает пар, будто кипит.</p>"
},
"type": {
"value": "potion",
"subtype": ""
},
"container": null,
"properties": [
"mgc"
],
"attack": {
"bonus": "",
"flat": false
},
"attuned": false,
"enchantment": null,
"summons": null,
"magicalBonus": null
}
}
@@ -0,0 +1,116 @@
{
"name": "Зелье уменьшения / Potion of Diminution",
"type": "consumable",
"img": "modules/laaru-dnd5-hw/assets/images/pic/Potion%20of%20Growth.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "potion%20of%20diminution_dmg"
},
"test_tube_merchant": {
"quantity": "1d4 + 1"
},
"babele": {
"hasTranslation": true,
"originalName": "Potion of Diminution",
"translated": true
}
},
"system": {
"description": {
"value": "<div><p>Выпив это зелье, вы получаете эффект уменьшения заклинания @Compendium[laaru-dnd5-hw.spells.ImfucJ4hO0mnf3W6]{Увеличение/уменьшение} на [[/r 1d4]] часа (концентрация не требуется).</p><p>Краснота внутри зелья то сжимается до крохотной точки, то вновь расширяется, окрашивая жидкость вокруг. Если встряхнуть бутылку. этот процесс не прерывается.</p><section id=\"secret-XAbSByBbt6zFNNli\" class=\"secret\"><p>*Для визуализации заклинания, можете добавить макрос на панель быстрого доступа и воспользоваться им при выпивания зелья:<br />@UUID[Compendium.laaru-dnd5-hw.macro.PbsokcPJs6YZZ44T]{Изменение Размера}</p></section></div>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 0.1,
"units": "lb"
},
"price": {
"value": 2500,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "rare",
"identified": true,
"activation": {
"type": "action",
"cost": 1,
"condition": ""
},
"duration": {
"value": "",
"units": "hour"
},
"cover": null,
"target": {
"value": "1",
"width": null,
"units": "",
"type": "creature",
"prompt": true
},
"range": {
"value": null,
"long": null,
"units": "touch"
},
"uses": {
"value": 1,
"max": "1",
"per": "charges",
"recovery": "",
"autoDestroy": false,
"prompt": true
},
"consume": {
"type": "",
"target": "",
"amount": null,
"scale": false
},
"ability": "",
"actionType": "util",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [],
"versatile": ""
},
"formula": "1d4",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"crewed": false,
"unidentified": {
"description": "<p>Краснота внутри зелья то сжимается до крохотной точки, то вновь расширяется, окрашивая жидкость вокруг. Если встряхнуть бутылку. этот процесс не прерывается.</p>"
},
"type": {
"value": "potion",
"subtype": ""
},
"container": null,
"properties": [
"mgc"
],
"attack": {
"bonus": "",
"flat": false
},
"attuned": false,
"enchantment": null,
"summons": null,
"magicalBonus": null
}
}
@@ -0,0 +1,116 @@
{
"name": "Зелье высшего исцеления / Potion of Superior Healing",
"type": "consumable",
"img": "icons/consumables/potions/bottle-round-corked-red.webp",
"system": {
"description": {
"value": "<p>Зелье — красная жидкость, которая мерцает, если её встряхнуть.</p><p>Персонаж, выпивший магическую красную жидкость из этого пузырька, восстанавливает [[/r 8d4+8]] пункта здоровья.</p>",
"chat": ""
},
"source": {
"custom": "PHB"
},
"quantity": 1,
"weight": {
"value": 0.1,
"units": "lb"
},
"price": {
"value": 2500,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "rare",
"identified": true,
"activation": {
"type": "action",
"cost": 1,
"condition": ""
},
"duration": {
"value": "",
"units": ""
},
"cover": null,
"crewed": false,
"target": {
"value": "1",
"width": null,
"units": "",
"type": "creature",
"prompt": true
},
"range": {
"value": null,
"long": null,
"units": "touch"
},
"uses": {
"value": 1,
"max": "1",
"per": "charges",
"recovery": "",
"autoDestroy": true,
"prompt": true
},
"consume": {
"type": "",
"target": null,
"amount": null,
"scale": false
},
"ability": "",
"actionType": "heal",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [
[
"8d4 + 8",
"healing"
]
],
"versatile": ""
},
"formula": "",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"properties": [
"mgc"
],
"unidentified": {
"description": "<p>Зелье — красная жидкость, которая мерцает, если её встряхнуть.</p>"
},
"type": {
"value": "potion",
"subtype": ""
},
"container": null,
"attack": {
"bonus": "",
"flat": false
},
"attuned": false,
"enchantment": null,
"summons": null,
"magicalBonus": null
},
"effects": [],
"flags": {
"babele": {
"translated": true,
"hasTranslation": true,
"originalName": "Potion of Superior Healing"
},
"test_tube_merchant": {
"quantity": "1d4 + 1"
}
}
}
@@ -0,0 +1,116 @@
{
"name": "Зелье ясновидения / Potion of Clairvoyance",
"type": "consumable",
"img": "modules/laaru-dnd5-hw/assets/images/pic/Potion%20of%20Clairvoyance.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "potion%20of%20clairvoyance_dmg"
},
"test_tube_merchant": {
"quantity": "1d4 + 1"
},
"babele": {
"hasTranslation": true,
"originalName": "Potion of Clairvoyance",
"translated": true
}
},
"system": {
"description": {
"value": "<p>Выпив это зелье, вы получаете эффект заклинания @Compendium[laaru-dnd5-hw.spells.IopVF9lETFjtZTK6]{Ясновидение}.</p>\n<p>В этой желтоватой жидкости плавает глаз, но как только зелье откроют, он исчезает.</p>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 0.1,
"units": "lb"
},
"price": {
"value": 2500,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "rare",
"identified": true,
"activation": {
"type": "action",
"cost": 1,
"condition": ""
},
"duration": {
"value": "10",
"units": "minute"
},
"cover": null,
"target": {
"value": "1",
"width": null,
"units": "",
"type": "creature",
"prompt": true
},
"range": {
"value": null,
"long": null,
"units": "touch"
},
"uses": {
"value": 1,
"max": "1",
"per": "charges",
"recovery": "",
"autoDestroy": false,
"prompt": true
},
"consume": {
"type": "",
"target": "",
"amount": null,
"scale": false
},
"ability": "",
"actionType": "util",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [],
"versatile": ""
},
"formula": "",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"crewed": false,
"unidentified": {
"description": "<p>В этой желтоватой жидкости плавает глаз.</p>"
},
"type": {
"value": "potion",
"subtype": ""
},
"container": null,
"properties": [
"mgc"
],
"attack": {
"bonus": "",
"flat": false
},
"attuned": false,
"enchantment": null,
"summons": null,
"magicalBonus": null
}
}
+114
View File
@@ -0,0 +1,114 @@
{
"name": "Злоба / Malice",
"type": "consumable",
"img": "icons/consumables/potions/bottle-conical-fumes-green.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "malice_dmg"
},
"test_tube_merchant": {
"quantity": "1d4 - 1"
},
"babele": {
"hasTranslation": true,
"originalName": "Malice",
"translated": true
}
},
"system": {
"description": {
"value": "<p><em>(вдыхаемый)</em></p>\n<p>Существо, подвергшееся действию этого яда, должно пройти испытание Выносливости со СЛ 15, при провале оно &amp;reference[poisoned]{отравлено} на 1 час. Пока существо отравлено, оно &amp;reference[blinded]{ослеплено}.</p>\n\n<div id=\"gtx-trans\" style=\"position:absolute;left:-40px;top:-19px\">\n<div class=\"gtx-trans-icon\"> </div>\n</div>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 0.1,
"units": "lb"
},
"price": {
"value": 250,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "",
"identified": true,
"activation": {
"type": "action",
"cost": 1,
"condition": ""
},
"duration": {
"value": "",
"units": ""
},
"cover": null,
"target": {
"value": "",
"width": null,
"units": "",
"type": "",
"prompt": true
},
"range": {
"value": null,
"long": null,
"units": ""
},
"uses": {
"value": null,
"max": "",
"per": null,
"recovery": "",
"autoDestroy": false,
"prompt": true
},
"consume": {
"type": "",
"target": "",
"amount": null,
"scale": false
},
"ability": "",
"actionType": "",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [],
"versatile": ""
},
"formula": "",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"crewed": false,
"unidentified": {
"description": ""
},
"type": {
"value": "poison",
"subtype": ""
},
"attack": {
"bonus": "",
"flat": false
},
"container": null,
"attuned": false,
"enchantment": null,
"summons": null,
"magicalBonus": null,
"properties": []
}
}
+114
View File
@@ -0,0 +1,114 @@
{
"name": "Змеиный яд / Serpent Venom",
"type": "consumable",
"img": "icons/consumables/potions/round-decorated-snake-green.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "serpent%20venom_dmg"
},
"test_tube_merchant": {
"quantity": "1d4"
},
"babele": {
"hasTranslation": true,
"originalName": "Serpent Venom",
"translated": true
}
},
"system": {
"description": {
"value": "<p><em> (оружейный)</em></p>\n<p>Этот яд надо собрать у мёртвой или &amp;reference[incapacitated]{выведенной из строя} @Compendium[laaru-dnd5-hw.monsters.HsLTyUOpDJvXQRAE]{гигантской ядовитой змеи}. Существо, подвергшееся действию этого яда, должно пройти испытание Выносливости со СЛ 11, получая 10 ([[/r 3d6]]) урона ядом при провале или половину этого урона при успехе.</p>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 0.1,
"units": "lb"
},
"price": {
"value": 200,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "",
"identified": true,
"activation": {
"type": "action",
"cost": 1,
"condition": ""
},
"duration": {
"value": "",
"units": ""
},
"cover": null,
"target": {
"value": "",
"width": null,
"units": "",
"type": "",
"prompt": true
},
"range": {
"value": null,
"long": null,
"units": ""
},
"uses": {
"value": null,
"max": "",
"per": null,
"recovery": "",
"autoDestroy": false,
"prompt": true
},
"consume": {
"type": "",
"target": "",
"amount": null,
"scale": false
},
"ability": "",
"actionType": "",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [],
"versatile": ""
},
"formula": "",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"crewed": false,
"unidentified": {
"description": ""
},
"type": {
"value": "poison",
"subtype": ""
},
"attack": {
"bonus": "",
"flat": false
},
"container": null,
"attuned": false,
"enchantment": null,
"summons": null,
"magicalBonus": null,
"properties": []
}
}