Изменено: - Поддержка новых типов товаров: "Механические приспособления" и "Религиозные товары". - Добавлена возможность случайной генерации уровня торговца. - Улучшена производительность при загрузке предметов из компендиумов. - Обновлены тексты описаний для категорий товаров. - Исправлена ошибка при добавлении предметов к торговцу (см. `module/data.mjs`, строки 2436-2446). - Исправлена проблема с отображением характеристик торговца в интерфейсе.
This commit is contained in:
@@ -0,0 +1,198 @@
|
||||
{
|
||||
"name": "Клеймора +1",
|
||||
"type": "weapon",
|
||||
"img": "modules/test_tube_merchant/assets/icon/items/curse/claymore.png",
|
||||
"system": {
|
||||
"description": {
|
||||
"value": "<p>Длинный прямой клинок, предназначенный для рассечения противников, клеймора — очень универсальное оружие, которое можно держать двумя руками для нанесения более сокрушительных ударов. <span style=\"font-family: Lato, sans-serif\">Он обладает удлиненным эфесом, а по длине клинка написано слово «клеймора».</span></p><p><em>Будь то демонический дар, небесное благословение, безумный эксперимент или искусное ремесло – это оружие было созданно, чтобы быть более смертоносным.</em></p><p>Вы получаете бонус +1 к броскам атаки и урона этим магическим оружием.</p><p></p><section id=\"secret-POmeuuL7HcGozxAT\" class=\"secret\"><p><span style=\"font-family: Lato, sans-serif\">В клинке живет кто-то, однако ничего не говорит. Любой, кто держит этот предмет, может почувствовать, что клинок доволен или разочарован действиями владельца.</span></p></section><section id=\"secret-6vVAWuA5DA2e99BL\" class=\"secret\"><p><span style=\"font-family: Lato, sans-serif\">Срабатывание проклятья: Если владелец не держит клинок двумя руками или отказывается называть его «Клеймора». Проклятье перестает действовать, как только владелец начинает держать клинок «правильно».</span></p></section><section id=\"secret-352MUZbEVSzKidrm\" class=\"secret\"><p><span style=\"font-family: Lato, sans-serif\">Само проклятье: Вместо того, чтобы давать бонус +1, клинок дает штраф -2 к броскам атаки и урона. Заклинание Снятие проклятья не снимает эффект, однако сам предмет можно выбросить.</span></p></section>",
|
||||
"chat": ""
|
||||
},
|
||||
"source": {
|
||||
"custom": ""
|
||||
},
|
||||
"quantity": 1,
|
||||
"weight": {
|
||||
"value": 3,
|
||||
"units": "lb"
|
||||
},
|
||||
"price": {
|
||||
"value": 1000,
|
||||
"denomination": "gp"
|
||||
},
|
||||
"attunement": "",
|
||||
"equipped": false,
|
||||
"rarity": "veryRare",
|
||||
"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": 5,
|
||||
"long": null,
|
||||
"units": "ft"
|
||||
},
|
||||
"uses": {
|
||||
"value": null,
|
||||
"max": "",
|
||||
"per": null,
|
||||
"recovery": "",
|
||||
"prompt": true
|
||||
},
|
||||
"consume": {
|
||||
"type": "",
|
||||
"target": null,
|
||||
"amount": null,
|
||||
"scale": false
|
||||
},
|
||||
"ability": "",
|
||||
"actionType": "mwak",
|
||||
"chatFlavor": "",
|
||||
"critical": {
|
||||
"threshold": null,
|
||||
"damage": ""
|
||||
},
|
||||
"damage": {
|
||||
"parts": [
|
||||
[
|
||||
"1d8 + @mod + 1",
|
||||
"slashing"
|
||||
]
|
||||
],
|
||||
"versatile": "1d10 + @mod + 1"
|
||||
},
|
||||
"formula": "",
|
||||
"save": {
|
||||
"ability": "",
|
||||
"dc": null,
|
||||
"scaling": "spell"
|
||||
},
|
||||
"armor": {
|
||||
"value": 10
|
||||
},
|
||||
"hp": {
|
||||
"value": 0,
|
||||
"max": 0,
|
||||
"dt": null,
|
||||
"conditions": ""
|
||||
},
|
||||
"properties": [
|
||||
"mgc",
|
||||
"ver"
|
||||
],
|
||||
"proficient": 0,
|
||||
"unidentified": {
|
||||
"description": ""
|
||||
},
|
||||
"type": {
|
||||
"value": "martialM",
|
||||
"baseItem": "longsword"
|
||||
},
|
||||
"attack": {
|
||||
"bonus": "+1",
|
||||
"flat": false
|
||||
},
|
||||
"container": null,
|
||||
"attuned": false,
|
||||
"enchantment": null,
|
||||
"summons": null,
|
||||
"magicalBonus": null
|
||||
},
|
||||
"effects": [
|
||||
{
|
||||
"name": "Клеймора +1",
|
||||
"origin": "Item.PvHbWlbxqZB0vmc5",
|
||||
"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/curse/claymore.png",
|
||||
"_id": "AMSG4T5DODvprMmy",
|
||||
"type": "base",
|
||||
"system": {},
|
||||
"changes": [
|
||||
{
|
||||
"key": "system.bonuses.mwak.attack",
|
||||
"mode": 2,
|
||||
"value": "-3",
|
||||
"priority": 20
|
||||
},
|
||||
{
|
||||
"key": "system.bonuses.All-Damage",
|
||||
"mode": 2,
|
||||
"value": "-3",
|
||||
"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": 1724148134357,
|
||||
"modifiedTime": 1724148235916,
|
||||
"lastModifiedBy": "uygtCpIWAtXlcaXr"
|
||||
}
|
||||
}
|
||||
],
|
||||
"flags": {
|
||||
"babele": {
|
||||
"translated": true,
|
||||
"hasTranslation": true,
|
||||
"originalName": "Longsword +1"
|
||||
},
|
||||
"core": {
|
||||
"sourceId": "Compendium.dnd5e.items.IPkf0XNowClwXnjQ"
|
||||
},
|
||||
"exportSource": {
|
||||
"world": "test",
|
||||
"system": "dnd5e",
|
||||
"coreVersion": "12.327",
|
||||
"systemVersion": "3.3.1"
|
||||
}
|
||||
},
|
||||
"_stats": {
|
||||
"coreVersion": "12.327",
|
||||
"systemId": "dnd5e",
|
||||
"systemVersion": "3.3.1",
|
||||
"createdTime": 1724147699971,
|
||||
"modifiedTime": 1724148250755,
|
||||
"lastModifiedBy": "uygtCpIWAtXlcaXr"
|
||||
},
|
||||
"folder": null
|
||||
}
|
||||
@@ -0,0 +1,144 @@
|
||||
{
|
||||
"name": "Меч паладина",
|
||||
"type": "weapon",
|
||||
"img": "modules/test_tube_merchant/assets/icon/items/curse/paladin_sword.png",
|
||||
"system": {
|
||||
"description": {
|
||||
"value": "<p>Выглядит как хорошо сделанный длинный меч с позолотой на рукояти. </p><p>Им явно пользовался какой-то воитель, хотя качество меча все еще на высоте. </p><p>Магический меч плюс один также при привязке меча дает дополнительные 1д4 урона излучением в дополнение к обычному урону оружием.</p><section id=\"secret-L29ijvbBMWuYPKwB\" class=\"secret\"><p>проклятие. Когда владелец меча убивает нежить, исчадие или любое другое существо с мировоззрением хаотично-нейтральной или злой, он должен совершить спасбросок харизм за сложностью 15. В случае провала им оплодевает мстительный и фанатичный дух паладина. </p><p>Тот заставляет нынешнего владельца меча в течение минуты атаковать любую нежить, исчадий и хаотично-нейтральных и злых существ в радиусе 60 футов.</p><p>Если таких нет, то вы бросаетесь к ближайшему, видимому врагу и атакуете его, пока один из вас не попадет в недееспособное состояние. </p></section><section id=\"secret-aGDCG2owFU59rhgU\" class=\"secret\"><p>550 золотых. Необычный. Забрать его из могилы паладина или выкупить рассветителя гробниц. </p><p>Шрец местной церкви может рассказать историю о могучем паладине, что защищал раньше эти земли от нежити и пал в бою с ними. </p><p>А сейчас его тело покоится в склепе вместе с его снаряжением.</p></section>",
|
||||
"chat": ""
|
||||
},
|
||||
"source": {
|
||||
"custom": ""
|
||||
},
|
||||
"quantity": 1,
|
||||
"weight": {
|
||||
"value": 3,
|
||||
"units": "lb"
|
||||
},
|
||||
"price": {
|
||||
"value": 550,
|
||||
"denomination": "gp"
|
||||
},
|
||||
"attunement": "required",
|
||||
"equipped": false,
|
||||
"rarity": "uncommon",
|
||||
"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": 5,
|
||||
"long": null,
|
||||
"units": "ft"
|
||||
},
|
||||
"uses": {
|
||||
"value": null,
|
||||
"max": "",
|
||||
"per": null,
|
||||
"recovery": "",
|
||||
"prompt": true
|
||||
},
|
||||
"consume": {
|
||||
"type": "",
|
||||
"target": null,
|
||||
"amount": null,
|
||||
"scale": false
|
||||
},
|
||||
"ability": "",
|
||||
"actionType": "mwak",
|
||||
"chatFlavor": "",
|
||||
"critical": {
|
||||
"threshold": null,
|
||||
"damage": ""
|
||||
},
|
||||
"damage": {
|
||||
"parts": [
|
||||
[
|
||||
"1d8 + @mod + 1",
|
||||
"slashing"
|
||||
],
|
||||
[
|
||||
"1d4",
|
||||
"radiant"
|
||||
]
|
||||
],
|
||||
"versatile": "1d10 + @mod + 1"
|
||||
},
|
||||
"formula": "",
|
||||
"save": {
|
||||
"ability": "",
|
||||
"dc": null,
|
||||
"scaling": "spell"
|
||||
},
|
||||
"armor": {
|
||||
"value": 10
|
||||
},
|
||||
"hp": {
|
||||
"value": 0,
|
||||
"max": 0,
|
||||
"dt": null,
|
||||
"conditions": ""
|
||||
},
|
||||
"properties": [
|
||||
"ver"
|
||||
],
|
||||
"proficient": null,
|
||||
"unidentified": {
|
||||
"description": ""
|
||||
},
|
||||
"type": {
|
||||
"value": "martialM",
|
||||
"baseItem": "longsword"
|
||||
},
|
||||
"attack": {
|
||||
"bonus": "1",
|
||||
"flat": false
|
||||
},
|
||||
"container": null,
|
||||
"attuned": false,
|
||||
"enchantment": null,
|
||||
"summons": null,
|
||||
"magicalBonus": null
|
||||
},
|
||||
"effects": [],
|
||||
"flags": {
|
||||
"babele": {
|
||||
"translated": true,
|
||||
"hasTranslation": true,
|
||||
"originalName": "Longsword"
|
||||
},
|
||||
"core": {
|
||||
"sourceId": "Compendium.dnd5e.items.10ZP2Bu3vnCuYMIB"
|
||||
},
|
||||
"exportSource": {
|
||||
"world": "test",
|
||||
"system": "dnd5e",
|
||||
"coreVersion": "12.327",
|
||||
"systemVersion": "3.3.1"
|
||||
}
|
||||
},
|
||||
"_stats": {
|
||||
"coreVersion": "12.327",
|
||||
"systemId": "dnd5e",
|
||||
"systemVersion": "3.3.1",
|
||||
"createdTime": 1724245413531,
|
||||
"modifiedTime": 1724246233257,
|
||||
"lastModifiedBy": "uygtCpIWAtXlcaXr"
|
||||
},
|
||||
"folder": null
|
||||
}
|
||||
+131
@@ -0,0 +1,131 @@
|
||||
{
|
||||
"name": "Повязка истинного самурая",
|
||||
"type": "equipment",
|
||||
"img": "modules/test_tube_merchant/assets/icon/items/curse/band.png",
|
||||
"system": {
|
||||
"description": {
|
||||
"value": "<p>Черная повязка с протектором, надеваемая на голову.<br /></p><section class=\"secret\" id=\"secret-tfPbzLwb5Z4We9Jk\"><p>одевшие эту повязку, обязаны изясняться как устно, так и письменно, только с помощью хокку.</p><p>При этом форма хокку 5 слогов, 7 слогов, 5 слогов обязана не соблюдаться.</p></section><section id=\"secret-0RlbXTnvDFoLPWGk\" class=\"secret\"><p>Повязка не имеет реальной ценности и существует в единственном экземпляре.</p><p>Получить её может персонаж игрока, который уж очень сильно отсылается к</p><p>Японии в целом или к самураям в частности.</p></section>",
|
||||
"chat": ""
|
||||
},
|
||||
"source": {
|
||||
"custom": ""
|
||||
},
|
||||
"identified": true,
|
||||
"unidentified": {
|
||||
"description": ""
|
||||
},
|
||||
"container": null,
|
||||
"quantity": 1,
|
||||
"weight": {
|
||||
"value": 1.4,
|
||||
"units": "lb"
|
||||
},
|
||||
"price": {
|
||||
"value": 5000,
|
||||
"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": [],
|
||||
"folder": null,
|
||||
"flags": {
|
||||
"exportSource": {
|
||||
"world": "test",
|
||||
"system": "dnd5e",
|
||||
"coreVersion": "12.327",
|
||||
"systemVersion": "3.3.1"
|
||||
}
|
||||
},
|
||||
"_stats": {
|
||||
"coreVersion": "12.327",
|
||||
"systemId": "dnd5e",
|
||||
"systemVersion": "3.3.1",
|
||||
"createdTime": 1724141682913,
|
||||
"modifiedTime": 1724141980168,
|
||||
"lastModifiedBy": "uygtCpIWAtXlcaXr"
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user