I have a list of equipment slots for a RPG type character sheet. Each of the slots has a type like “head” or “body”, and each of them will have an object representing an item the character is wearing. Every piece of equipment will have the same variable types (as shown below) but I do not want to write each one separately because the list is very long. Is there a way to say “each of these types of equipment will have these variables”. Below is my attempt at it, but it doesn’t work (says “head is undefined”) or if I remove head (“body is undefined”) etc.
equipment: {
head,
body,
legs,
feet,
shoulders,
arms,
hands,
back,
ringLeft,
ringRight,
neck,
rightHand,
leftHand,
ammunition: {
default: {
name: {
type: String,
default: "Empty"
},
Type: {
type: String,
default: ""
},
subType: {
type: String,
default: ""
},
handling: {
type: String,
default: ""
},
rarity: {
type: String,
default: ""
},
durability: {
max: {
type: Number,
default: 0
},
current: {
type: Number,
default: 0
}
},
damage: {
min: {
type: Number,
default: 0
},
max: {
type: Number,
default: 0
}
},
armorClass: {
type: Number,
default: 0
},
str: {
type: Number,
default: 0
},
dex: {
type: Number,
default: 0
},
int: {
type: Number,
default: 0
},
accuracy: {
type: Number,
default: 0
},
magicAccuracy: {
type: Number,
default: 0
},
magicDefense: {
type: Number,
default: 0
},
armorPiercing: {
type: Number,
default: 0
},
resistances: {
fire: {
type: Number,
default: 0
},
ice: {
type: Number,
default: 0
},
lightning: {
type: Number,
default: 0
},
water: {
type: Number,
default: 0
},
earth: {
type: Number,
default: 0
},
wind: {
type: Number,
default: 0
},
light: {
type: Number,
default: 0
},
dark: {
type: Number,
default: 0
}
}
}
}
}