Levelup Remake (#100)

* Set up DhLevelTier datamodel

* Added Levelup data model and started at the render

* Fixed data handling in the LevelUp view

* Added back the save function

* Finalised levelup selections and propagating to PC

* Added level advancement selection data

* Added DomainCard selection

* Css merge commit

* Added PC level/delevel benefits of leveling up

* Fixed sticky previous selections on continous leveling

* Fixed up Summary. Fixed multiclass/subclass blocking on selection

* Removed unused level.hbs

* Fixed attribute base for PC

* Improved naming of attribute properties

* Renamed/structured resources/evasion/proficiency

* Improved trait marking

* Rework to level up once at a time

* Added markers

* Removed tabs when in Summary

* Fixed multilevel buttons

* Improved multiclass/subclass recognition

* Fixed tagify error on selection

* Review fixes
This commit is contained in:
WBHarry 2025-06-07 01:50:50 +02:00 committed by GitHub
parent 47a6abddfb
commit a92221778e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
41 changed files with 3279 additions and 1283 deletions

View file

@ -163,6 +163,12 @@
"Or": "Or",
"Description": "Description",
"Features": "Features",
"proficiency": "Proficiency",
"unarmored": "Unarmored",
"Experience": {
"Single": "Experience",
"plural": "Experiences"
},
"Adversary": {
"Singular": "Adversary",
"Plural": "Adversaries"
@ -357,39 +363,43 @@
"combatStarted": "Active"
},
"LevelUp": {
"Tier1": {
"Label": "Level 2-4",
"InfoLabel": "At Level 2, take an additional Experience.",
"Pretext": "When you level up, record it on your character sheet, then choose two available options from the list below and mark them.",
"Posttext": "Then increase your Severe Damage Threshold by +2 and choose a new Domain Deck card at your Level or lower."
"Options": {
"trait": "Gain a +1 bonus to two unmarked character traits and mark them.",
"hitPoint": "Permanently gain one Hit Point slot.",
"stress": "Permanently gain one Stress slot.",
"experience": "Permanently gain a +1 bonus to two experiences.",
"domainCard": "Choose an additional domain card of your level or lower from a domain you have access to (up to level {maxLevel})",
"evasion": "Permanently gain a +1 bonus to your Evasion.",
"subclass": "Take an upgraded subclass card. Then cross out the multiclass option for this tier.",
"proficiency": "Increase your Proficiency by +1.",
"multiclass": "Multiclass: Choose an additional class for your character, then cross out an unused “Take an upgraded subclass card” and the other multiclass option on this sheet."
},
"Tier2": {
"Label": "Level 5-7",
"InfoLabel": "At Level 5, take an additional Experience and clear all marks on Character Traits.",
"Pretext": "When you level up, record it on your character sheet, then choose two from the list below or any unmarked from the previous tier.",
"Posttext": "Then, increase your Damage Thresholds: Major by +1 and Severe by +3. Then choose a new Domain Deck card at your Level or lower. If your loadout is full, you may choose a card to swap."
"Label": "Levels 2-4",
"InfoLabel": "At Level 2, gain an additional Experience at +2 and gain a +1 bonus to your Proficiency.",
"Pretext": "Choose two options from the list below",
"Posttext": "Take an additional domain card of your level or lower from a domain you have access to."
},
"Tier3": {
"Label": "Level 8-10",
"Label": "Levels 5-7",
"InfoLabel": "At Level 5, take an additional Experience and clear all marks on Character Traits.",
"Pretext": "When you level up, record it on your character sheet, then choose two from the list below or any unmarked from the previous tier.",
"Posttext": "Take an additional domain card of your level or lower from a domain you have access to."
},
"Tier4": {
"Label": "Levels 8-10",
"InfoLabel": "At Level 8, take an additional Experience and clear all marks on Character Traits.",
"Pretext": "When you level up, record it on your character sheet, then choose two from the list below or any unmarked from the previous tier.",
"Posttext": "Then, increase your Damage Thresholds: Minor by +1, Major by +2, and Severe by +4. Then choose a new Domain Deck card at your Level or lower. If your loadout is full, you may choose a card to swap."
"Posttext": "Take an additional domain card of your level or lower from a domain you have access to."
},
"ChoiceDescriptions": {
"Attributes": "Increase two unmarked Character Traits by +1 and mark them.",
"HitPointSlots": "Permanently add one Hit Point Slot.",
"StressSlots": "Permanently add one Stress Slot.",
"Experiences": "Increase two Experiences by +1.",
"Proficiency": "Increase your Proficiency by +1",
"ArmorOrEvasionSlot": "Permanently add one Armor Slot or take +1 to your Evasion.",
"MajorDamageThreshold2": "Increase your Major Damage Threshold by +2.",
"SevereDamageThreshold2": "Increase your Severe Damage Threshold by +2.",
"MinorDamageThreshold2": "Increase your Minor Damage Threshold by +2.",
"SevereDamageThreshold3": "Increase your Severe Damage Threshold by +3.",
"Major2OrSevere4DamageThreshold": "Increase your Major Damage Threshold by +2 or Severe Damage Threshold by +4",
"Minor1OrMajor1DamageThreshold": "Increase your Minor or Major Damage Threshold by +1.",
"SevereDamageThreshold4": "Increase your Severe Damage Threshold by +4.",
"MajorDamageThreshold1": "Increase your Major Damage Threshold by +1.",
"Attributes": "Gain a +1 bonus to two unmarked character traits and mark them.",
"HitPointSlots": "Permanently gain one Hit Point slot.",
"StressSlots": "Permanently gain one Stress slot.",
"Experiences": "Permanently gain a +1 bonus to two experiences.",
"DomainCard": "Choose an additional domain card of your level or lower from a domain you have access to (up to level {maxLevel})",
"Evasion": "Permanently gain a +1 bonus to your Evasion.",
"Proficiency": "Increase your Proficiency by +1.",
"Subclass": "Take an upgraded subclass card. Then cross out the multiclass option for this tier.",
"Multiclass": "Multiclass: Choose an additional class for your character, then cross out an unused “Take an upgraded subclass card” and the other multiclass option on this sheet."
}
@ -775,8 +785,54 @@
"TakeDowntime": "Take Downtime"
},
"LevelUp": {
"AdvanceLevel": "Continue To Level {level}",
"TakeLevelUp": "Finish Level Up"
"Title": "{actor} Level Up",
"Tabs": {
"advancement": "Level Advancement",
"selections": "Advancement Choices",
"summary": "Summary"
},
"navigateLevel": "To Level {level}",
"navigateToLevelup": "Return To Levelup",
"navigateToSummary": "To Summary",
"TakeLevelUp": "Finish Level Up",
"Delevel": {
"title": "Go back to previous level",
"content": "Returning to the previous level selection will remove all selections made for this level. Do you want to proceed?"
},
"Selections": {
"emptyDomainCardHint": "Domain Card Level {level} or below"
},
"summary": {
"levelAchievements": "Level Achievements",
"levelAdvancements": "Level Advancements",
"proficiencyIncrease": "Proficiency Increased: {proficiency}",
"hpIncrease": "Hit Points Increased: {hitPoints}",
"stressIncrease": "Stress Increased: {stress}",
"evasionIncrease": "Evasion Increased: {evasion}",
"damageThresholdMajorIncrease": "Major: {threshold}",
"damageThresholdSevereIncrease": "Severe: {threshold}",
"newExperiences": "New Experiences",
"experiencePlaceholder": "A new experience..",
"domainCards": "Domain Cards",
"subclass": "Subclass",
"multiclass": "Multiclass",
"traits": "Increased Traits",
"experienceIncreases": "Experience Increases",
"damageThresholds": "Damage Thresholds"
},
"notifications": {
"info": {
"insufficentAdvancements": "You don't have enough advancements left.",
"insufficientTierAdvancements": "You have no available advancements for this tier."
},
"error": {
"domainCardWrongDomain": "You don't have access to that Domain",
"domainCardToHighLevel": "The Domain Card is too high level to be selected",
"domainCardDuplicate": "You already have that domain card!",
"noSelectionsLeft": "Nothing more to select!",
"alreadySelectedClass": "You already have that class!"
}
}
},
"DeathMove": {
"Title": "{actor} - Death Move",
@ -937,7 +993,10 @@
},
"NewItem": "New Item",
"NewScar": "New Scar",
"DeleteConfirmation": "Are you sure you want to delete the item - {item}?"
"DeleteConfirmation": "Are you sure you want to delete the item - {item}?",
"Errors": {
"missingClassOrSubclass": "The character doesn't have a class and subclass"
}
},
"Adversary": {
"Description": "Description",