60 lines
2.2 KiB
JavaScript
60 lines
2.2 KiB
JavaScript
/**
|
|
* Shield types based on Prism RPG rules
|
|
* Shields prevent damage equal to their Shield Rating (SR)
|
|
* Each shield has a Block APC and a Block Augment passive ability
|
|
*/
|
|
export const TYPE = Object.freeze({
|
|
buckler: {
|
|
id: "buckler",
|
|
label: "PRISMRPG.Shield.Type.buckler",
|
|
apc: 1,
|
|
sr: "1d4",
|
|
blockAugment: "PRISMRPG.Shield.BlockAugment.buckler",
|
|
blockAugmentDescription: "PRISMRPG.Shield.BlockAugmentDescription.buckler"
|
|
},
|
|
light: {
|
|
id: "light",
|
|
label: "PRISMRPG.Shield.Type.light",
|
|
apc: 2,
|
|
sr: "1d8",
|
|
blockAugment: "PRISMRPG.Shield.BlockAugment.light",
|
|
blockAugmentDescription: "PRISMRPG.Shield.BlockAugmentDescription.light"
|
|
},
|
|
heavy: {
|
|
id: "heavy",
|
|
label: "PRISMRPG.Shield.Type.heavy",
|
|
apc: 3,
|
|
sr: "1d12",
|
|
blockAugment: "PRISMRPG.Shield.BlockAugment.heavy",
|
|
blockAugmentDescription: "PRISMRPG.Shield.BlockAugmentDescription.heavy"
|
|
},
|
|
tower: {
|
|
id: "tower",
|
|
label: "PRISMRPG.Shield.Type.tower",
|
|
apc: 4,
|
|
sr: "3d6",
|
|
blockAugment: "PRISMRPG.Shield.BlockAugment.tower",
|
|
blockAugmentDescription: "PRISMRPG.Shield.BlockAugmentDescription.tower"
|
|
}
|
|
});
|
|
|
|
/**
|
|
* Simplified Shield Types object for form choices (label-only format)
|
|
*/
|
|
export const TYPE_CHOICES = Object.freeze(
|
|
Object.fromEntries(
|
|
Object.entries(TYPE).map(([key, value]) => [key, value.label])
|
|
)
|
|
);
|
|
|
|
/**
|
|
* Block augment descriptions for reference
|
|
* These are activated when using the Block action with the shield
|
|
*/
|
|
export const BLOCK_AUGMENTS = Object.freeze({
|
|
buckler: "If the character should successfully block damage with this shield, the character reduces the cost of the next Parry action by an amount equal to their Prowess.",
|
|
light: "If the character would successfully block damage with this shield, the character may move an amount equal to their movement rating.",
|
|
heavy: "If the character would successfully block damage with this shield, they reduce the APC of the next attack they make by an amount equal to their Vigor or Prowess.",
|
|
tower: "If the character would successfully block damage with this shield, for 1 round they are considered cover for themselves and allies that are adjacent to them."
|
|
});
|