First iteration over items
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
/**
|
||||
* Class configuration for Prism RPG
|
||||
*/
|
||||
|
||||
export const ARCHETYPE = {
|
||||
faith: "PRISMRPG.Class.Archetype.faith",
|
||||
mana: "PRISMRPG.Class.Archetype.mana",
|
||||
wanderer: "PRISMRPG.Class.Archetype.wanderer",
|
||||
warrior: "PRISMRPG.Class.Archetype.warrior"
|
||||
}
|
||||
|
||||
export const CLASS_TYPE = {
|
||||
core: "PRISMRPG.Class.ClassType.core",
|
||||
continental: "PRISMRPG.Class.ClassType.continental"
|
||||
}
|
||||
|
||||
export const SPELLCASTING_TYPE = {
|
||||
mana: "PRISMRPG.Class.SpellcastingType.mana",
|
||||
faith: "PRISMRPG.Class.SpellcastingType.faith"
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
/**
|
||||
* Race configuration for Prism RPG
|
||||
*/
|
||||
|
||||
export const SIZE = {
|
||||
small: "PRISMRPG.Race.Size.small",
|
||||
medium: "PRISMRPG.Race.Size.medium",
|
||||
large: "PRISMRPG.Race.Size.large"
|
||||
}
|
||||
|
||||
export const AGE_CATEGORY = {
|
||||
short: "PRISMRPG.Race.AgeCategory.short",
|
||||
medium: "PRISMRPG.Race.AgeCategory.medium",
|
||||
long: "PRISMRPG.Race.AgeCategory.long"
|
||||
}
|
||||
@@ -38,6 +38,15 @@ export const TYPE = Object.freeze({
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* 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
|
||||
|
||||
@@ -99,6 +99,30 @@ export const CORE_SKILLS = Object.freeze({
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Simplified Core Skills object for form choices (label-only format)
|
||||
*/
|
||||
export const CORE_SKILLS_CHOICES = {
|
||||
acrobatics: "PRISMRPG.Skill.CoreSkill.acrobatics",
|
||||
animalHandling: "PRISMRPG.Skill.CoreSkill.animalHandling",
|
||||
arcana: "PRISMRPG.Skill.CoreSkill.arcana",
|
||||
athletics: "PRISMRPG.Skill.CoreSkill.athletics",
|
||||
deception: "PRISMRPG.Skill.CoreSkill.deception",
|
||||
history: "PRISMRPG.Skill.CoreSkill.history",
|
||||
insight: "PRISMRPG.Skill.CoreSkill.insight",
|
||||
intimidate: "PRISMRPG.Skill.CoreSkill.intimidate",
|
||||
investigation: "PRISMRPG.Skill.CoreSkill.investigation",
|
||||
medicine: "PRISMRPG.Skill.CoreSkill.medicine",
|
||||
nature: "PRISMRPG.Skill.CoreSkill.nature",
|
||||
perception: "PRISMRPG.Skill.CoreSkill.perception",
|
||||
performance: "PRISMRPG.Skill.CoreSkill.performance",
|
||||
persuasion: "PRISMRPG.Skill.CoreSkill.persuasion",
|
||||
religion: "PRISMRPG.Skill.CoreSkill.religion",
|
||||
sleightOfHand: "PRISMRPG.Skill.CoreSkill.sleightOfHand",
|
||||
stealth: "PRISMRPG.Skill.CoreSkill.stealth",
|
||||
survival: "PRISMRPG.Skill.CoreSkill.survival"
|
||||
};
|
||||
|
||||
/**
|
||||
* Core Skill bonus values
|
||||
*/
|
||||
|
||||
@@ -40,6 +40,15 @@ export const COLORS = Object.freeze({
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Simplified Spell Colors object for form choices (label-only format)
|
||||
*/
|
||||
export const COLORS_CHOICES = Object.freeze(
|
||||
Object.fromEntries(
|
||||
Object.entries(COLORS).map(([key, value]) => [key, value.label])
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Spell ranges (legacy - to be replaced with Prism system)
|
||||
*/
|
||||
|
||||
+13
-12
@@ -7,6 +7,8 @@ import * as SKILL from "./skill.mjs"
|
||||
import * as EQUIPMENT from "./equipment.mjs"
|
||||
import * as CHARACTERISTICS from "./characteristic-tables.mjs"
|
||||
import * as MONSTER from "./monster.mjs"
|
||||
import * as RACE from "./race.mjs"
|
||||
import * as CLASS from "./class.mjs"
|
||||
|
||||
export const SYSTEM_ID = "fvtt-prism-rpg"
|
||||
export const DEV_MODE = false
|
||||
@@ -220,15 +222,6 @@ export const MIRACLE_TYPES = {
|
||||
"ritualfaith": "Ritual of Faith"
|
||||
}
|
||||
|
||||
export const SPELL_CRITICAL = {
|
||||
"none": "None",
|
||||
"electric": "Electric",
|
||||
"fire": "Fire",
|
||||
"cold": "Cold",
|
||||
"force": "Force",
|
||||
"acid": "Acid"
|
||||
}
|
||||
|
||||
export const CHOICE_MODIFIERS = {
|
||||
"-9": "-9",
|
||||
"-8": "-8",
|
||||
@@ -296,6 +289,7 @@ export const SYSTEM = {
|
||||
CHALLENGES: CHARACTER.CHALLENGES,
|
||||
SKILL_CATEGORY: SKILL.CATEGORY,
|
||||
CORE_SKILLS: SKILL.CORE_SKILLS,
|
||||
CORE_SKILLS_CHOICES: SKILL.CORE_SKILLS_CHOICES,
|
||||
CORE_SKILL_BONUS: SKILL.CORE_SKILL_BONUS,
|
||||
ARMOR_TYPE: ARMOR.TYPE,
|
||||
ARMOR_BASE_AC: ARMOR.BASE_AC,
|
||||
@@ -303,16 +297,19 @@ export const SYSTEM = {
|
||||
ARMOR_WITHSTAND_APC: ARMOR.WITHSTAND_APC,
|
||||
ARMOR_SET_REQUIREMENTS: ARMOR.SET_REQUIREMENTS,
|
||||
SHIELD_TYPE: SHIELD.TYPE,
|
||||
SHIELD_TYPE_CHOICES: SHIELD.TYPE_CHOICES,
|
||||
SHIELD_BLOCK_AUGMENTS: SHIELD.BLOCK_AUGMENTS,
|
||||
EQUIPMENT_CATEGORY: EQUIPMENT.CATEGORY,
|
||||
SPELL_RANGE: SPELL.RANGE,
|
||||
SPELL_COLORS: SPELL.COLORS,
|
||||
SPELL_COLORS_CHOICES: SPELL.COLORS_CHOICES,
|
||||
WEAPON_TYPE: WEAPON.TYPE,
|
||||
WEAPON_TYPE_CHOICES: WEAPON.TYPE_CHOICES,
|
||||
WEAPON_GROUP: WEAPON.WEAPON_GROUP,
|
||||
WEAPON_GROUP_CHOICES: WEAPON.WEAPON_GROUP_CHOICES,
|
||||
WEAPON_DAMAGE_TYPE: WEAPON.DAMAGE_TYPE,
|
||||
WEAPON_CLASS: WEAPON.WEAPON_CLASS,
|
||||
COMBAT_PROGRESSION_DICE: DICE_VALUES,
|
||||
SHIELD_DEFENSE_DICE: DEFENSE_DICE_VALUES,
|
||||
WEAPON_CATEGORIES: WEAPON.WEAPON_CATEGORIES,
|
||||
CHARACTERISTIC_ATTACK,
|
||||
CHARACTERISTIC_RANGED_ATTACK,
|
||||
@@ -333,8 +330,12 @@ export const SYSTEM = {
|
||||
FAVOR_CHOICES,
|
||||
ATTACKER_AIM_CHOICES,
|
||||
MORTAL_CHOICES,
|
||||
SPELL_CRITICAL,
|
||||
MIRACLE_TYPES,
|
||||
SPELL_LETHARGY_DICE,
|
||||
GRANTED_DICE_CHOICES
|
||||
GRANTED_DICE_CHOICES,
|
||||
RACE_SIZE: RACE.SIZE,
|
||||
RACE_AGE_CATEGORY: RACE.AGE_CATEGORY,
|
||||
CLASS_ARCHETYPE: CLASS.ARCHETYPE,
|
||||
CLASS_TYPE: CLASS.CLASS_TYPE,
|
||||
CLASS_SPELLCASTING_TYPE: CLASS.SPELLCASTING_TYPE
|
||||
}
|
||||
|
||||
@@ -29,6 +29,15 @@ export const TYPE = Object.freeze({
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Simplified Weapon 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])
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Weapon groups and their associated passives
|
||||
* Each weapon belongs to a group and possesses its passive while wielded
|
||||
@@ -36,48 +45,57 @@ export const TYPE = Object.freeze({
|
||||
export const WEAPON_GROUP = Object.freeze({
|
||||
longsword: {
|
||||
id: "longsword",
|
||||
label: "PRISMRPG.Weapon.WeaponGroup.longsword",
|
||||
label: "PRISMRPG.WeaponGroup.longsword",
|
||||
passive: "turningEdge",
|
||||
passiveLabel: "PRISMRPG.Weapon.Passive.turningEdge",
|
||||
passiveDescription: "PRISMRPG.Weapon.PassiveDescription.turningEdge"
|
||||
},
|
||||
warhammer: {
|
||||
id: "warhammer",
|
||||
label: "PRISMRPG.Weapon.WeaponGroup.warhammer",
|
||||
label: "PRISMRPG.WeaponGroup.warhammer",
|
||||
passive: "puncturingBlows",
|
||||
passiveLabel: "PRISMRPG.Weapon.Passive.puncturingBlows",
|
||||
passiveDescription: "PRISMRPG.Weapon.PassiveDescription.puncturingBlows"
|
||||
},
|
||||
battleaxe: {
|
||||
id: "battleaxe",
|
||||
label: "PRISMRPG.Weapon.WeaponGroup.battleaxe",
|
||||
label: "PRISMRPG.WeaponGroup.battleaxe",
|
||||
passive: "shieldEater",
|
||||
passiveLabel: "PRISMRPG.Weapon.Passive.shieldEater",
|
||||
passiveDescription: "PRISMRPG.Weapon.PassiveDescription.shieldEater"
|
||||
},
|
||||
dagger: {
|
||||
id: "dagger",
|
||||
label: "PRISMRPG.Weapon.WeaponGroup.dagger",
|
||||
label: "PRISMRPG.WeaponGroup.dagger",
|
||||
passive: "balancingStance",
|
||||
passiveLabel: "PRISMRPG.Weapon.Passive.balancingStance",
|
||||
passiveDescription: "PRISMRPG.Weapon.PassiveDescription.balancingStance"
|
||||
},
|
||||
crossbow: {
|
||||
id: "crossbow",
|
||||
label: "PRISMRPG.Weapon.WeaponGroup.crossbow",
|
||||
label: "PRISMRPG.WeaponGroup.crossbow",
|
||||
passive: "boltlock",
|
||||
passiveLabel: "PRISMRPG.Weapon.Passive.boltlock",
|
||||
passiveDescription: "PRISMRPG.Weapon.PassiveDescription.boltlock"
|
||||
},
|
||||
longbow: {
|
||||
id: "longbow",
|
||||
label: "PRISMRPG.Weapon.WeaponGroup.longbow",
|
||||
label: "PRISMRPG.WeaponGroup.longbow",
|
||||
passive: "volleyFire",
|
||||
passiveLabel: "PRISMRPG.Weapon.Passive.volleyFire",
|
||||
passiveDescription: "PRISMRPG.Weapon.PassiveDescription.volleyFire"
|
||||
}
|
||||
});
|
||||
|
||||
/**
|
||||
* Simplified Weapon Groups object for form choices (label-only format)
|
||||
*/
|
||||
export const WEAPON_GROUP_CHOICES = Object.freeze(
|
||||
Object.fromEntries(
|
||||
Object.entries(WEAPON_GROUP).map(([key, value]) => [key, value.label])
|
||||
)
|
||||
);
|
||||
|
||||
/**
|
||||
* Damage types for weapons
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user