feat: luck bonus, inventory slots bonus, multi-enhancements, magic skill modifier
Release Creation / build (release) Successful in 1m25s
Release Creation / build (release) Successful in 1m25s
- Add luck.bonus field to character DataModel; included in prepareDerivedData (luck.max = fate.rank + bonus); shown as editable +bonus field next to luck max in edit mode (same UX as grit bonus) - Add inventory.slotsBonus field to character DataModel; Equipment tab now shows an editable "Bonus Slots" input that adds to the calculated max slots (10 + Might×2 + bonus) - Replace single Enhancement <select> in spell cast dialog with a checkbox list; multiple enhancements can now be selected simultaneously — stress costs, pool penalties, and boolean flags (redDice, noStress) are aggregated across all active enhancements - Include skills.magic.modifier in basePool for both spell and miracle dialogs and in baseDice in rollSpellCast / rollMiracleCast; modifier is shown in the dialog pool-info line and in the chat card when non-zero - Fix: pool-reduction indicator in rollSpellCast now compares against intRank + magicRank + magicMod (was missing magicMod)
This commit is contained in:
@@ -565,16 +565,19 @@
|
||||
opacity: 0.7;
|
||||
font-size: calc(0.86rem * 0.9);
|
||||
}
|
||||
.oathhammer .character-main .character-stats-band .character-resources .character-resource .grit-max-group {
|
||||
.oathhammer .character-main .character-stats-band .character-resources .character-resource .grit-max-group,
|
||||
.oathhammer .character-main .character-stats-band .character-resources .character-resource .luck-max-group {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 2px;
|
||||
}
|
||||
.oathhammer .character-main .character-stats-band .character-resources .character-resource .grit-max-group .res-bonus-label {
|
||||
.oathhammer .character-main .character-stats-band .character-resources .character-resource .grit-max-group .res-bonus-label,
|
||||
.oathhammer .character-main .character-stats-band .character-resources .character-resource .luck-max-group .res-bonus-label {
|
||||
opacity: 0.6;
|
||||
font-size: calc(0.86rem * 0.9);
|
||||
}
|
||||
.oathhammer .character-main .character-stats-band .character-resources .character-resource .grit-max-group .res-bonus-input {
|
||||
.oathhammer .character-main .character-stats-band .character-resources .character-resource .grit-max-group .res-bonus-input,
|
||||
.oathhammer .character-main .character-stats-band .character-resources .character-resource .luck-max-group .res-bonus-input {
|
||||
width: 2.2rem;
|
||||
opacity: 0.85;
|
||||
border-left: 1px dashed #535128;
|
||||
@@ -1327,6 +1330,7 @@
|
||||
}
|
||||
.slots-counter {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
padding: 2px 6px 4px;
|
||||
}
|
||||
@@ -1353,6 +1357,20 @@
|
||||
background: rgba(192, 57, 43, 0.1);
|
||||
border-color: rgba(192, 57, 43, 0.4);
|
||||
}
|
||||
.slots-counter .slots-bonus-label {
|
||||
font-size: calc(0.86rem * 0.9);
|
||||
color: rgba(42, 26, 10, 0.6);
|
||||
margin-left: 6px;
|
||||
}
|
||||
.slots-counter .slots-bonus-input {
|
||||
width: 3rem;
|
||||
font-size: calc(0.86rem * 0.9);
|
||||
text-align: center;
|
||||
padding: 1px 4px;
|
||||
border: 1px solid rgba(200, 168, 75, 0.4);
|
||||
border-radius: 4px;
|
||||
background: rgba(200, 168, 75, 0.08);
|
||||
}
|
||||
.oathhammer .item-list--regiment .item-list-header,
|
||||
.oathhammer .item-list--regiment .item-entry {
|
||||
grid-template-columns: 24px 1fr 4rem 5rem 4rem 4.5rem;
|
||||
@@ -2360,6 +2378,42 @@
|
||||
.oh-miracle-dialog select.enhancement-select {
|
||||
min-width: 220px;
|
||||
}
|
||||
.oh-spell-dialog .roll-option-enhancements,
|
||||
.oh-miracle-dialog .roll-option-enhancements {
|
||||
align-items: flex-start;
|
||||
}
|
||||
.oh-spell-dialog .roll-option-enhancements .enhancements-header,
|
||||
.oh-miracle-dialog .roll-option-enhancements .enhancements-header {
|
||||
padding-top: 3px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.oh-spell-dialog .roll-option-enhancements .enhancements-list,
|
||||
.oh-miracle-dialog .roll-option-enhancements .enhancements-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
}
|
||||
.oh-spell-dialog .roll-option-enhancements .enhancement-item,
|
||||
.oh-miracle-dialog .roll-option-enhancements .enhancement-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
.oh-spell-dialog .roll-option-enhancements .enhancement-item input[type="checkbox"],
|
||||
.oh-miracle-dialog .roll-option-enhancements .enhancement-item input[type="checkbox"] {
|
||||
flex-shrink: 0;
|
||||
width: 14px;
|
||||
height: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.oh-spell-dialog .roll-option-enhancements .enhancement-item .enh-name,
|
||||
.oh-miracle-dialog .roll-option-enhancements .enhancement-item .enh-name {
|
||||
font-size: calc(0.86rem * 0.85);
|
||||
color: #2a1a0a;
|
||||
cursor: pointer;
|
||||
margin: 0;
|
||||
font-weight: normal;
|
||||
}
|
||||
.oh-spell-card .oh-stress-line,
|
||||
.oh-miracle-card .oh-stress-line {
|
||||
margin-top: 6px;
|
||||
|
||||
Reference in New Issue
Block a user