Релиз 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
+91
View File
@@ -0,0 +1,91 @@
{
"name": "Барабан / Drum",
"type": "tool",
"img": "icons/tools/instruments/drum-brown-red.webp",
"effects": [],
"flags": {
"babele": {
"translated": true,
"hasTranslation": true,
"originalName": "Drum"
},
"test_tube_merchant": {
"quantity": "1d4"
},
"midi-qol": {
"onUseMacroName": ""
}
},
"system": {
"description": {
"value": "<p>Барабан любой разновидности, чтобы вызвать трепет, изумление или страх у ваших слушателей. Умение в обращении с этим музыкальным инструментом позволяет вам добавить ваш бонус умения к любой проверке характеристики, связанной с исполнением музыки на нём. Бард может использовать музыкальный инструмент как фокусирующий предмет для своих заклинаний.</p>\n<p>Умение в обращении с барабаном означает, что вы знакомы с приёмами игры на нём. Вы также знаете несколько песен, как правило, исполняющихся на этом музыкальном инструменте.</p>\n<p><em><strong>История.</strong></em> Ваш опыт помогает вам вспомнить исторические факты, связанные с вашим инструментом.</p>\n<p><em><strong>Исполнение.</strong></em> Ваши постановки заметно улучшаются, когда вы включаете в них игру на инструменте.</p>\n<p><em><strong>Сочинение мелодии.</strong></em> Частью долгого отдыха вы можете сочинить новую мелодию и слова для песни, исполняемой на своем инструменте. Вы можете использовать эту способность, чтобы произвести впечатление на дворянина или распространять скандальные слухи вместе с легко запоминающейся мелодией.</p>\n<table class=\"rd__table stripe-odd-table\">\n<thead>\n<tr>\n<th class=\"col-10\" data-rd-isroller=\"false\">Возможное действие</th>\n<th class=\"col-2 text-center\" data-rd-isroller=\"false\">СЛ</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"col-10\">Опознать мелодию на слух</td>\n<td class=\"col-2 text-center\">10</td>\n</tr>\n<tr>\n<td class=\"col-10\">Импровизация мелодии</td>\n<td class=\"col-2 text-center\">20</td>\n</tr>\n</tbody>\n</table>",
"chat": ""
},
"source": {
"custom": "PHB"
},
"quantity": 1,
"weight": {
"value": 3,
"units": "lb"
},
"price": {
"value": 6,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "common",
"identified": true,
"ability": "cha",
"chatFlavor": "",
"proficient": 0,
"bonus": "",
"unidentified": {
"description": ""
},
"type": {
"value": "music",
"baseItem": "drum"
},
"container": null,
"attuned": false,
"activation": {
"type": "",
"cost": null,
"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": "",
"prompt": true
},
"consume": {
"type": "",
"target": null,
"amount": null,
"scale": false
},
"properties": []
}
}
+87
View File
@@ -0,0 +1,87 @@
{
"name": "Бездонная сумка / Bag of Holding",
"type": "container",
"img": "modules/laaru-dnd5-hw/assets/images/pic/Bag%20of%20Holding.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "bag%20of%20holding_dmg"
},
"test_tube_merchant": {
"quantity": "1d4"
},
"magicitems": {
"enabled": false,
"equipped": false,
"attuned": false,
"charges": "0",
"chargeType": "c1",
"destroy": false,
"destroyFlavorText": "reaches 0 charges: it crumbles into ashes and is destroyed.",
"rechargeable": false,
"recharge": "0",
"rechargeType": "t1",
"rechargeUnit": "r1",
"sorting": "l"
},
"itemcollection": {
"bagWeight": 0,
"bagPrice": null,
"markup": 10
},
"babele": {
"hasTranslation": true,
"originalName": "Bag of Holding",
"translated": true
},
"dnd5e": {
"migratedProperties": [
"weightlessContents"
]
}
},
"system": {
"description": {
"value": "<p>Внутри эта сумка гораздо больше, чем снаружи. На вид она диаметром около <strong>2</strong> футов в горловине и глубиной <strong>4</strong> фута. Но вмещает она до<strong> 500 </strong>фунтов груза объёмом не более <strong>64</strong> кубических футов. Сумка весит <strong>15</strong> фунтов вне зависимости от содержимого. Чтобы достать предмет из сумки, требуется действие.</p><p>Если сумку перегрузить, проткнуть или порвать, она уничтожена, а её содержимое оказывается разбросано по Астральному плану. Если сумку вывернуть наизнанку, её содержимое вывалится, не пострадав, но сумку нужно будет вывернуть обратно, прежде чем снова использовать. Дышащие существа могут прожить в сумке не дольше <strong>10</strong> минут, разделённых на количество существ (минимум <strong>1</strong> минуту), после чего начинают задыхаться.</p><p>Если поместить бездонную сумку в межпространственный карман, созданный @Compendium[laaru-dnd5-hw.items.viRDmCTZf2wWbQx7]{Удобным рюкзаком Хьюварда}, @UUID[Compendium.laaru-dnd5-hw.items.Item.dATyJzva8Y5GaKDy]{Карманной ямой} или аналогичным предметом, это немедленно уничтожит оба предмета и откроет врата на Астральный план. Врата открываются там, где один предмет поместили в другой. Любое существо в пределах <strong>10</strong> футов от врат будет затянуто через них в случайное место на Астральном плане. Затем врата закрываются. Они односторонние, и снова их открыть нельзя.</p>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 15,
"units": "lb"
},
"price": {
"value": 500,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "uncommon",
"identified": true,
"capacity": {
"type": "weight",
"value": 500
},
"currency": {
"cp": 0,
"sp": 0,
"ep": 0,
"gp": 0,
"pp": 0
},
"unidentified": {
"description": "<p>На вид эта сумка диаметром около 2 футов в горловине и глубиной 4 фута.</p>"
},
"container": null,
"properties": [
"mgc",
"weightlessContents"
],
"attuned": false
}
}
+128
View File
@@ -0,0 +1,128 @@
{
"name": "Экзотическое седло",
"type": "equipment",
"img": "icons/equipment/shoulder/pauldron-segmented-red.webp",
"system": {
"description": {
"value": "<p>Тип седла, которое крепится на спине лошади и предназначено для поддержки всадника и крепления части снаряжения лошади, например, стремян.</p><p>Экзотическое седло необходимо для водных и летающих скакунов.</p>",
"chat": ""
},
"source": {
"custom": "",
"book": "SRD 5.1",
"page": "",
"license": "CC-BY-4.0"
},
"quantity": 1,
"weight": {
"value": 40,
"units": "lb"
},
"price": {
"value": 60,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "",
"identified": true,
"activation": {
"type": "",
"cost": null,
"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": "",
"prompt": true
},
"consume": {
"type": "",
"target": null,
"amount": null,
"scale": false
},
"ability": null,
"actionType": "",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [],
"versatile": ""
},
"formula": "",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"armor": {
"value": null,
"dex": null,
"magicalBonus": null
},
"hp": {
"value": 0,
"max": 0,
"dt": null,
"conditions": ""
},
"speed": {
"value": null,
"conditions": ""
},
"strength": null,
"proficient": null,
"type": {
"value": "clothing",
"baseItem": ""
},
"unidentified": {
"description": ""
},
"container": null,
"crewed": false,
"properties": [],
"attack": {
"bonus": "",
"flat": false
},
"enchantment": null,
"summons": null,
"attuned": false
},
"effects": [],
"folder": null,
"flags": {
"babele": {
"translated": true,
"hasTranslation": true,
"originalName": "Exotic Saddle"
},
"test_tube_merchant": {
"quantity": "1d4 - 1"
}
}
}
@@ -0,0 +1,129 @@
{
"name": "Эльфийские сапоги / Boots of Elvenkind",
"type": "equipment",
"img": "modules/laaru-dnd5-hw/assets/images/pic/Boots%20of%20Elvenkind.webp",
"effects": [],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "boots%20of%20elvenkind_dmg"
},
"test_tube_merchant": {
"quantity": "1"
},
"babele": {
"hasTranslation": true,
"originalName": "Boots of Elvenkind",
"translated": true
}
},
"system": {
"description": {
"value": "<p><em>Чудесный предмет</em></p><p>Пока вы носите эти сапоги, ваши шаги бесшумны независимо от поверхности, по которой вы идёте. У вас также преимущество к проверкам Ловкости (Скрытность), зависящим от бесшумной ходьбы.</p>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 1,
"units": "lb"
},
"price": {
"value": 500,
"denomination": "gp"
},
"attunement": "",
"equipped": true,
"rarity": "uncommon",
"identified": true,
"activation": {
"type": "",
"cost": 0,
"condition": ""
},
"duration": {
"value": "",
"units": ""
},
"cover": null,
"target": {
"value": "",
"width": null,
"units": "",
"type": "",
"prompt": true
},
"range": {
"value": 5,
"long": 0,
"units": "ft"
},
"uses": {
"value": null,
"max": "",
"per": null,
"recovery": "",
"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"
},
"armor": {
"value": 0,
"dex": 0,
"magicalBonus": null
},
"hp": {
"value": 0,
"max": 0,
"dt": null,
"conditions": ""
},
"speed": {
"value": null,
"conditions": ""
},
"strength": 0,
"proficient": 1,
"crewed": false,
"unidentified": {
"description": ""
},
"type": {
"value": "clothing",
"baseItem": ""
},
"attack": {
"bonus": "",
"flat": false
},
"container": null,
"attuned": false,
"enchantment": null,
"summons": null,
"properties": []
}
}
@@ -0,0 +1,124 @@
{
"name": "Клёпаный кожаный доспех / Studded Leather Armor",
"type": "equipment",
"img": "icons/equipment/chest/breastplate-rivited-red.webp",
"system": {
"description": {
"value": "<p>Сделан из плотной, но гибкой кожи и усилен частыми заклёпками или шипами.</p>",
"chat": ""
},
"source": {
"custom": "PHB"
},
"quantity": 1,
"weight": {
"value": 13,
"units": "lb"
},
"price": {
"value": 45,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "",
"identified": true,
"activation": {
"type": "",
"cost": null,
"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": "",
"prompt": true
},
"consume": {
"type": "",
"target": null,
"amount": null,
"scale": false
},
"ability": null,
"actionType": "",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [],
"versatile": ""
},
"formula": "",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"armor": {
"value": 12,
"dex": null,
"magicalBonus": null
},
"hp": {
"value": 0,
"max": 0,
"dt": null,
"conditions": ""
},
"speed": {
"value": null,
"conditions": ""
},
"strength": null,
"proficient": null,
"unidentified": {
"description": ""
},
"type": {
"value": "light",
"baseItem": "studded"
},
"attack": {
"bonus": "",
"flat": false
},
"container": null,
"attuned": false,
"enchantment": null,
"summons": null,
"properties": []
},
"effects": [],
"flags": {
"babele": {
"translated": true,
"hasTranslation": true,
"originalName": "Studded Leather Armor"
},
"test_tube_merchant": {
"quantity": "1d4 - 1"
}
}
}
@@ -0,0 +1,172 @@
{
"name": "Сапоги приполярья / Boots of the Winterlands",
"type": "equipment",
"img": "modules/laaru-dnd5-hw/assets/images/pic/Boots_of_the_winterlands-5e.webp",
"effects": [
{
"changes": [
{
"key": "system.traits.dr.value",
"mode": 2,
"value": "cold",
"priority": 7
}
],
"disabled": true,
"duration": {
"startTime": null,
"seconds": null,
"combat": null,
"rounds": null,
"turns": null,
"startRound": null,
"startTurn": null
},
"tint": "#ffffff",
"transfer": true,
"flags": {},
"_id": "if3jvftc3ufsotdp",
"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": "icons/equipment/feet/boots-leather-banded-furred.webp",
"type": "base",
"system": {},
"sort": 0
}
],
"flags": {
"srd5e": {
"page": "",
"source": "DMG",
"hash": "boots%20of%20the%20winterlands_dmg"
},
"test_tube_merchant": {
"quantity": "1"
},
"babele": {
"hasTranslation": true,
"originalName": "Boots of the Winterlands",
"translated": true
}
},
"system": {
"description": {
"value": "<p><em>Чудесный предмет, (требуется настроенность)</em></p><p>Эти отороченные мехом сапоги очень тёплые и удобные. Пока вы носите их, вы получаете следующую пользу:</p><ul><li>У вас устойчивость к урону холодом.</li><li>Вы игнорируете &amp;reference[difficultterrain]{пересечённую местность}, созданную льдом или снегом.</li><li>Вы можете выдерживать мороз до -45 °С без дополнительной защиты. Если вы носите плотную одежду, вы можете выдерживать мороз до -73 °C.</li></ul>",
"chat": ""
},
"source": {
"custom": "DMG"
},
"quantity": 1,
"weight": {
"value": 6,
"units": "lb"
},
"price": {
"value": 500,
"denomination": "gp"
},
"attunement": "required",
"equipped": true,
"rarity": "uncommon",
"identified": true,
"activation": {
"type": "",
"cost": 0,
"condition": ""
},
"duration": {
"value": "",
"units": ""
},
"cover": null,
"target": {
"value": "0",
"width": null,
"units": "",
"type": "",
"prompt": true
},
"range": {
"value": 5,
"long": 0,
"units": "ft"
},
"uses": {
"value": null,
"max": "",
"per": null,
"recovery": "",
"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"
},
"armor": {
"value": null,
"dex": null,
"magicalBonus": null
},
"hp": {
"value": 0,
"max": 0,
"dt": null,
"conditions": ""
},
"speed": {
"value": null,
"conditions": ""
},
"strength": 0,
"proficient": 1,
"crewed": false,
"unidentified": {
"description": ""
},
"type": {
"value": "clothing",
"baseItem": ""
},
"attack": {
"bonus": "",
"flat": false
},
"container": null,
"attuned": false,
"enchantment": null,
"summons": null,
"properties": []
}
}
+59
View File
@@ -0,0 +1,59 @@
{
"name": "Седельные сумки",
"type": "container",
"img": "icons/containers/bags/pack-leather-black-brown.webp",
"system": {
"description": {
"value": "<p>Набор сумок, соединенных кожаным ремешком и прикрепленных к седлу скакуна.</p>",
"chat": ""
},
"source": {
"custom": "",
"book": "SRD 5.1",
"page": "",
"license": "CC-BY-4.0"
},
"quantity": 1,
"weight": {
"value": 8,
"units": "lb"
},
"price": {
"value": 4,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "",
"identified": true,
"capacity": {
"type": "weight",
"value": 30
},
"currency": {
"cp": 0,
"sp": 0,
"ep": 0,
"gp": 0,
"pp": 0
},
"unidentified": {
"description": ""
},
"container": null,
"properties": [],
"attuned": false
},
"effects": [],
"folder": null,
"flags": {
"babele": {
"translated": true,
"hasTranslation": true,
"originalName": "Saddlebags"
},
"test_tube_merchant": {
"quantity": "1d3 * 2 + 1d2"
}
}
}
+171
View File
@@ -0,0 +1,171 @@
{
"name": "Шляпа, авантюриста",
"type": "equipment",
"img": "modules/test_tube_merchant/assets/icon/items/adventure_hat.png",
"system": {
"description": {
"value": "",
"chat": ""
},
"source": {
"custom": ""
},
"identified": true,
"unidentified": {
"description": ""
},
"container": null,
"quantity": 1,
"weight": {
"value": 3,
"units": "lb"
},
"price": {
"value": 15,
"denomination": "gp"
},
"rarity": "",
"attunement": "",
"attuned": false,
"equipped": false,
"activation": {
"type": "",
"cost": null,
"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": "",
"prompt": true
},
"consume": {
"type": "",
"target": null,
"amount": null,
"scale": false
},
"ability": null,
"actionType": "",
"attack": {
"bonus": "",
"flat": false
},
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [],
"versatile": ""
},
"enchantment": null,
"formula": "",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"summons": null,
"armor": {
"value": null,
"magicalBonus": null,
"dex": null
},
"hp": {
"value": null,
"max": null,
"dt": null,
"conditions": ""
},
"type": {
"value": "clothing",
"baseItem": ""
},
"properties": [],
"speed": {
"value": null,
"conditions": ""
},
"strength": null,
"proficient": null
},
"effects": [
{
"name": "Шляпа, авантюриста",
"origin": "Item.37LW49HWVzlhMMHX",
"duration": {
"rounds": null,
"startTime": null,
"seconds": null,
"combat": null,
"turns": null,
"startRound": null,
"startTurn": null
},
"disabled": false,
"flags": {
"dnd5e": {},
"dae": {
"stackable": "noneName",
"showIcon": false,
"durationExpression": "",
"specialDuration": []
}
},
"img": "modules/test_tube_merchant/assets/icon/items/adventure_hat.png",
"_id": "1W5wWFhMkQRE9gzb",
"type": "base",
"system": {},
"changes": [
{
"key": "system.attributes.ac.bonus",
"mode": 2,
"value": "1",
"priority": 20
}
],
"description": "",
"tint": "#ffffff",
"transfer": true,
"statuses": [],
"sort": 0,
"_stats": {
"compendiumSource": null,
"duplicateSource": null,
"coreVersion": "12.327",
"systemId": "dnd5e",
"systemVersion": "3.3.1",
"createdTime": 1724085811888,
"modifiedTime": 1724085825797,
"lastModifiedBy": "uygtCpIWAtXlcaXr"
}
}
],
"folder": null,
"flags": {
"test_tube_merchant": {
"quantity": "1d4"
}
}
}
+124
View File
@@ -0,0 +1,124 @@
{
"name": "Сыромятный доспех / Hide Armor",
"type": "equipment",
"img": "icons/equipment/chest/vest-cloth-tattered-tan.webp",
"system": {
"description": {
"value": "<p>Грубо изготовлен из толстых и тонких шкур. Их обычно носят варвары, злые гуманоиды и прочие народы, у которых нет инструментов и материалов для изготовления брони получше.</p>",
"chat": ""
},
"source": {
"custom": "PHB"
},
"quantity": 1,
"weight": {
"value": 12,
"units": "lb"
},
"price": {
"value": 10,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "",
"identified": true,
"activation": {
"type": "",
"cost": null,
"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": "",
"prompt": true
},
"consume": {
"type": "",
"target": null,
"amount": null,
"scale": false
},
"ability": null,
"actionType": "",
"chatFlavor": "",
"critical": {
"threshold": null,
"damage": ""
},
"damage": {
"parts": [],
"versatile": ""
},
"formula": "",
"save": {
"ability": "",
"dc": null,
"scaling": "spell"
},
"armor": {
"value": 12,
"dex": 2,
"magicalBonus": null
},
"hp": {
"value": 0,
"max": 0,
"dt": null,
"conditions": ""
},
"speed": {
"value": null,
"conditions": ""
},
"strength": null,
"proficient": null,
"unidentified": {
"description": ""
},
"type": {
"value": "medium",
"baseItem": "hide"
},
"attack": {
"bonus": "",
"flat": false
},
"container": null,
"attuned": false,
"enchantment": null,
"summons": null,
"properties": []
},
"effects": [],
"flags": {
"babele": {
"translated": true,
"hasTranslation": true,
"originalName": "Hide Armor"
},
"test_tube_merchant": {
"quantity": "1d4 - 1"
}
}
}
+91
View File
@@ -0,0 +1,91 @@
{
"name": "Волынка / Bagpipes",
"type": "tool",
"img": "modules/laaru-dnd5-hw/assets/images/pic/bagpipes.webp",
"effects": [],
"flags": {
"babele": {
"translated": true,
"hasTranslation": true,
"originalName": "Bagpipes"
},
"test_tube_merchant": {
"quantity": "1d4 - 1"
},
"midi-qol": {
"onUseMacroName": ""
}
},
"system": {
"description": {
"value": "<p>Волынка, чтобы вызвать трепет, изумление или страх у ваших слушателей. Умение в обращении с этим музыкальным инструментом позволяет вам добавить ваш бонус умения к любой проверке характеристики, связанной с исполнением музыки на ней. Бард может использовать музыкальный инструмент как фокусирующий предмет для своих заклинаний.</p>\n<p>Умение в обращении с волынкой означает, что вы знакомы с приёмами игры на нём. Вы также знаете несколько песен, как правило, исполняющихся на этом музыкальном инструменте.</p>\n<p><em><strong>История.</strong></em> Ваш опыт помогает вам вспомнить исторические факты, связанные с вашим инструментом.</p>\n<p><em><strong>Исполнение.</strong></em> Ваши постановки заметно улучшаются, когда вы включаете в них игру на инструменте.</p>\n<p><em><strong>Сочинение мелодии.</strong></em> Частью долгого отдыха вы можете сочинить новую мелодию и слова для песни, исполняемой на своем инструменте. Вы можете использовать эту способность, чтобы произвести впечатление на дворянина или распространять скандальные слухи вместе с легко запоминающейся мелодией.</p>\n<table class=\"rd__table stripe-odd-table\">\n<thead>\n<tr>\n<th class=\"col-10\" data-rd-isroller=\"false\">Возможное действие</th>\n<th class=\"col-2 text-center\" data-rd-isroller=\"false\">СЛ</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td class=\"col-10\">Опознать мелодию на слух</td>\n<td class=\"col-2 text-center\">10</td>\n</tr>\n<tr>\n<td class=\"col-10\">Импровизация мелодии</td>\n<td class=\"col-2 text-center\">20</td>\n</tr>\n</tbody>\n</table>",
"chat": ""
},
"source": {
"custom": "PHB"
},
"quantity": 1,
"weight": {
"value": 6,
"units": "lb"
},
"price": {
"value": 30,
"denomination": "gp"
},
"attunement": "",
"equipped": false,
"rarity": "common",
"identified": true,
"ability": "cha",
"chatFlavor": "",
"proficient": 0,
"bonus": "",
"unidentified": {
"description": ""
},
"type": {
"value": "music",
"baseItem": "bagpipes"
},
"container": null,
"attuned": false,
"activation": {
"type": "",
"cost": null,
"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": "",
"prompt": true
},
"consume": {
"type": "",
"target": null,
"amount": null,
"scale": false
},
"properties": []
}
}