Релиз 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": "Масло остроты / Oil of Sharpness",
"type": "consumable",
"img": "icons/consumables/potions/potion-tube-corked-bat-gold-red.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "oil%20of%20sharpness_dmg"
},
"test_tube_merchant": {
"quantity": "1d4 - 1"
},
"babele": {
"hasTranslation": true,
"originalName": "Oil of Sharpness",
"translated": true
}
},
"system": {
"description": {
"value": "<div><p>Это прозрачное желеподобное масло поблескивает крохотными, тоненькими серебристыми осколками. Маслом можно покрыть одно колющее или режущее оружие или 5 и менее колющих или режущих боеприпасов. Нанесение масла занимает 1 минуту. На 1 час покрытый им предмет становится магическим и получает бонус +3 к броскам атаки и урона.</p></div>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 0.2,
"units": "lb"
},
"price": {
"value": 25000,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "veryRare",
"identified": true,
"activation": {
"type": "action",
"cost": 1,
"condition": ""
},
"duration": {
"value": "1",
"units": "hour"
},
"cover": null,
"target": {
"value": "0",
"width": null,
"units": "",
"type": "object",
"prompt": true
},
"range": {
"value": null,
"long": null,
"units": "touch"
},
"uses": {
"value": 1,
"max": "1",
"per": "charges",
"recovery": "",
"autoDestroy": true,
"prompt": true
},
"consume": {
"type": "",
"target": "",
"amount": null,
"scale": false
},
"ability": null,
"actionType": "",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [],
"versatile": ""
},
"formula": "",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"crewed": false,
"unidentified": {
"description": ""
},
"type": {
"value": "potion",
"subtype": ""
},
"attack": {
"bonus": "",
"flat": false
},
"container": null,
"attuned": false,
"enchantment": null,
"summons": null,
"magicalBonus": null,
"properties": []
}
}
@@ -0,0 +1,116 @@
{
"name": "Зелье абсолютного исцеления / Potion of Supreme Healing",
"type": "consumable",
"img": "icons/consumables/potions/potion-flask-stopped-red.webp",
"system": {
"description": {
"value": "<p><em>Зелье — красная жидкость, которая мерцает, если её встряхнуть.</em></p><p>Персонаж, выпивший магическую красную жидкость из этого пузырька, восстанавливает [[/r 10d4+20]] пункта здоровья.</p>",
"chat": ""
},
"source": {
"custom": "PHB"
},
"quantity": 1,
"weight": {
"value": 0.1,
"units": "lb"
},
"price": {
"value": 25000,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "veryRare",
"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": false,
"prompt": true
},
"consume": {
"type": "",
"target": null,
"amount": null,
"scale": false
},
"ability": "",
"actionType": "heal",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [
[
"10d4 + 20",
"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 Supreme Healing"
},
"test_tube_merchant": {
"quantity": "1d4"
}
}
}
@@ -0,0 +1,116 @@
{
"name": "Зелье долголетия / Potion of Longevity",
"type": "consumable",
"img": "modules/laaru-dnd5-hw/assets/images/pic/Potion%20of%20Longevity.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "potion%20of%20longevity_dmg"
},
"test_tube_merchant": {
"quantity": "1d4 - 1"
},
"babele": {
"hasTranslation": true,
"originalName": "Potion of Longevity",
"translated": true
}
},
"system": {
"description": {
"value": "<div>\n<p>Когда вы выпили это зелье, ваш физический возраст уменьшается на [[/r 1d6 + 6]] лет, минимум до 13 лет. Каждый раз после этого, когда вы снова пьёте зелье долголетия, появляется накапливающийся шанс 10%, что вместо этого вы постареете на [[/r 1d6 + 6]] лет.</p>\n<p>В этой янтарной жидкости плавают хвост скорпиона, клык гадюки, дохлый паук и маленькое сердечко, которое, как ни странно, до сих пор бьётся. Эти ингредиенты исчезают, если открыть зелье. </p>\n</div>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 0.1,
"units": "lb"
},
"price": {
"value": 25000,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "veryRare",
"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": 1,
"max": "1",
"per": "charges",
"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": "<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,173 @@
{
"name": "Зелье неуязвимости / Potion of Invulnerability",
"type": "consumable",
"img": "modules/laaru-dnd5-hw/assets/images/pic/Potion%20of%20Invulnerability.webp",
"effects": [
{
"changes": [
{
"key": "system.traits.dr.all",
"mode": 0,
"value": "true",
"priority": 7
}
],
"disabled": false,
"duration": {
"startTime": null,
"seconds": 60,
"combat": null,
"rounds": null,
"turns": null,
"startRound": null,
"startTurn": null
},
"tint": "#ffffff",
"transfer": false,
"flags": {
"core": {
"statusId": ""
},
"dae": {
"stackable": "none",
"durationExpression": "",
"specialDuration": [],
"transfer": true,
"selfTarget": false,
"selfTargetAlways": false,
"dontApply": false,
"showIcon": false
}
},
"_id": "iajkz8dkxhrxzl96",
"origin": null,
"name": "Устойчивость ко всему урону",
"description": "",
"statuses": [],
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"coreVersion": "12.327",
"systemId": "dnd5e",
"systemVersion": "3.3.1",
"createdTime": null,
"modifiedTime": null,
"lastModifiedBy": null
},
"img": "modules/laaru-dnd5-hw/assets/images/pic/Potion%20of%20Invulnerability.webp",
"type": "base",
"system": {},
"sort": 0
}
],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "potion%20of%20invulnerability_dmg"
},
"test_tube_merchant": {
"quantity": "1d4 - 1"
},
"babele": {
"hasTranslation": true,
"originalName": "Potion of Invulnerability",
"translated": true
}
},
"system": {
"description": {
"value": "<p>Выпив это зелье, вы получаете устойчивость ко всему урону на 1 минуту.</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": "",
"units": ""
},
"cover": null,
"target": {
"value": "",
"width": null,
"units": "",
"type": "",
"prompt": true
},
"range": {
"value": null,
"long": null,
"units": ""
},
"uses": {
"value": 1,
"max": "1",
"per": "charges",
"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": "<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 Vitality",
"type": "consumable",
"img": "modules/laaru-dnd5-hw/assets/images/pic/Potion%20of%20Vitality.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "potion%20of%20vitality_dmg"
},
"test_tube_merchant": {
"quantity": "1d4 - 1"
},
"babele": {
"hasTranslation": true,
"originalName": "Potion of Vitality",
"translated": true
}
},
"system": {
"description": {
"value": "<p>Выпив это зелье, вы полностью снимаете &amp;reference[exhaustion]{утомление} и исцеляете любые болезни и яды, которые на вас действовали. Все кости здоровья, которые вы потратите, чтобы восстановить ПЗ в ближайшие 24 часа, восстанавливают максимальное количество ПЗ.</p><p>Алая жидкость этого зелья пульсирует &amp;reference[dimlight]{тусклым светом}, напоминая бьющееся сердце.</p>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 0.1,
"units": "lb"
},
"price": {
"value": 25000,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "veryRare",
"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": 1,
"max": "1",
"per": "charges",
"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": "<p>Алая жидкость этого зелья пульсирует тусклым светом, напоминая бьющееся сердце.</p>"
},
"type": {
"value": "potion",
"subtype": ""
},
"container": null,
"properties": [
"mgc"
],
"attack": {
"bonus": "",
"flat": false
},
"attuned": false,
"enchantment": null,
"summons": null,
"magicalBonus": null
}
}