268 lines
5.5 KiB
TypeScript
268 lines
5.5 KiB
TypeScript
export interface SeedItem {
|
|
name: string;
|
|
type: "weapon" | "armor" | "gear";
|
|
slot_count: number;
|
|
effects: Record<string, unknown>;
|
|
properties: Record<string, unknown>;
|
|
}
|
|
|
|
export const SEED_ITEMS: SeedItem[] = [
|
|
// --- Weapons ---
|
|
{
|
|
name: "Bastard sword",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: { damage: "1d8", melee: true, stat: "STR", versatile: "1d10" },
|
|
properties: { tags: ["versatile"] },
|
|
},
|
|
{
|
|
name: "Club",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: { damage: "1d4", melee: true, stat: "STR" },
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Crossbow",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: { damage: "1d6", ranged: true, stat: "DEX", range: "far" },
|
|
properties: { tags: ["loading"] },
|
|
},
|
|
{
|
|
name: "Dagger",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: {
|
|
damage: "1d4",
|
|
melee: true,
|
|
stat: "STR",
|
|
finesse: true,
|
|
thrown: true,
|
|
range: "close",
|
|
},
|
|
properties: { tags: ["finesse", "thrown"] },
|
|
},
|
|
{
|
|
name: "Greataxe",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: { damage: "1d10", melee: true, stat: "STR", two_handed: true },
|
|
properties: { tags: ["two-handed"] },
|
|
},
|
|
{
|
|
name: "Greatsword",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: { damage: "2d6", melee: true, stat: "STR", two_handed: true },
|
|
properties: { tags: ["two-handed"] },
|
|
},
|
|
{
|
|
name: "Javelin",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: {
|
|
damage: "1d4",
|
|
melee: true,
|
|
stat: "STR",
|
|
thrown: true,
|
|
range: "far",
|
|
},
|
|
properties: { tags: ["thrown"] },
|
|
},
|
|
{
|
|
name: "Longbow",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: {
|
|
damage: "1d8",
|
|
ranged: true,
|
|
stat: "DEX",
|
|
range: "far",
|
|
two_handed: true,
|
|
},
|
|
properties: { tags: ["two-handed"] },
|
|
},
|
|
{
|
|
name: "Longsword",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: { damage: "1d8", melee: true, stat: "STR" },
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Mace",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: { damage: "1d6", melee: true, stat: "STR" },
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Shortbow",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: {
|
|
damage: "1d4",
|
|
ranged: true,
|
|
stat: "DEX",
|
|
range: "far",
|
|
two_handed: true,
|
|
},
|
|
properties: { tags: ["two-handed"] },
|
|
},
|
|
{
|
|
name: "Shortsword",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: { damage: "1d6", melee: true, stat: "STR" },
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Spear",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: {
|
|
damage: "1d6",
|
|
melee: true,
|
|
stat: "STR",
|
|
thrown: true,
|
|
range: "close",
|
|
},
|
|
properties: { tags: ["thrown"] },
|
|
},
|
|
{
|
|
name: "Staff",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: { damage: "1d4", melee: true, stat: "STR", two_handed: true },
|
|
properties: { tags: ["two-handed"] },
|
|
},
|
|
{
|
|
name: "Warhammer",
|
|
type: "weapon",
|
|
slot_count: 1,
|
|
effects: { damage: "1d10", melee: true, stat: "STR", two_handed: true },
|
|
properties: { tags: ["two-handed"] },
|
|
},
|
|
|
|
// --- Armor ---
|
|
{
|
|
name: "Leather armor",
|
|
type: "armor",
|
|
slot_count: 1,
|
|
effects: { ac_base: 11, ac_dex: true },
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Chainmail",
|
|
type: "armor",
|
|
slot_count: 1,
|
|
effects: { ac_base: 13, ac_dex: true },
|
|
properties: { note: "Disadvantage on stealth and swimming" },
|
|
},
|
|
{
|
|
name: "Plate mail",
|
|
type: "armor",
|
|
slot_count: 1,
|
|
effects: { ac_base: 15, ac_dex: false },
|
|
properties: { note: "Disadvantage on stealth, swimming, and climbing" },
|
|
},
|
|
{
|
|
name: "Shield",
|
|
type: "armor",
|
|
slot_count: 1,
|
|
effects: { ac_bonus: 2 },
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Mithral chainmail",
|
|
type: "armor",
|
|
slot_count: 1,
|
|
effects: { ac_base: 13, ac_dex: true },
|
|
properties: { note: "No disadvantage" },
|
|
},
|
|
|
|
// --- Gear ---
|
|
{
|
|
name: "Arrows/bolts (20)",
|
|
type: "gear",
|
|
slot_count: 1,
|
|
effects: {},
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Backpack",
|
|
type: "gear",
|
|
slot_count: 0,
|
|
effects: {},
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Caltrops",
|
|
type: "gear",
|
|
slot_count: 1,
|
|
effects: {},
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Climbing gear",
|
|
type: "gear",
|
|
slot_count: 1,
|
|
effects: {},
|
|
properties: {},
|
|
},
|
|
{ name: "Crowbar", type: "gear", slot_count: 1, effects: {}, properties: {} },
|
|
{
|
|
name: "Flask/bottle",
|
|
type: "gear",
|
|
slot_count: 1,
|
|
effects: {},
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Flint and steel",
|
|
type: "gear",
|
|
slot_count: 1,
|
|
effects: {},
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Grappling hook",
|
|
type: "gear",
|
|
slot_count: 1,
|
|
effects: {},
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Iron spikes (10)",
|
|
type: "gear",
|
|
slot_count: 1,
|
|
effects: {},
|
|
properties: {},
|
|
},
|
|
{ name: "Lantern", type: "gear", slot_count: 1, effects: {}, properties: {} },
|
|
{ name: "Mirror", type: "gear", slot_count: 1, effects: {}, properties: {} },
|
|
{
|
|
name: "Oil flask",
|
|
type: "gear",
|
|
slot_count: 1,
|
|
effects: {},
|
|
properties: {},
|
|
},
|
|
{ name: "Rations", type: "gear", slot_count: 1, effects: {}, properties: {} },
|
|
{
|
|
name: "Rope (60ft)",
|
|
type: "gear",
|
|
slot_count: 1,
|
|
effects: {},
|
|
properties: {},
|
|
},
|
|
{
|
|
name: "Thieves' tools",
|
|
type: "gear",
|
|
slot_count: 1,
|
|
effects: {},
|
|
properties: {},
|
|
},
|
|
{ name: "Torch", type: "gear", slot_count: 1, effects: {}, properties: {} },
|
|
];
|