diff --git a/css/fvtt-cthulhu-eternal.css b/css/fvtt-cthulhu-eternal.css
index 5940819..86d7bb1 100644
--- a/css/fvtt-cthulhu-eternal.css
+++ b/css/fvtt-cthulhu-eternal.css
@@ -290,6 +290,24 @@ i.fvtt-cthulhu-eternal {
width: auto;
border: none;
}
+.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-left .protagonist-hp {
+ gap: 2px;
+ align-items: center;
+}
+.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-left .protagonist-hp input {
+ flex: none;
+ width: 2rem;
+ margin-left: 4px;
+}
+.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-left .protagonist-hp .damage-bonus {
+ font-size: calc(var(--font-size-standard) * 0.8);
+}
+.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-left .protagonist-hp .hp-separator {
+ font-size: calc(var(--font-size-standard) * 1.2);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-left .protagonist-dv .form-fields,
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-left .protagonist-dmax .form-fields {
flex: none;
@@ -395,44 +413,9 @@ i.fvtt-cthulhu-eternal {
min-width: 1rem;
max-width: 1rem;
}
-.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos {
- display: flex;
- flex-direction: column;
- gap: 4px;
-}
-.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos label {
+.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right label {
min-width: 120px;
}
-.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos .protagonist-hp {
- display: flex;
- gap: 2px;
- align-items: center;
-}
-.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos .protagonist-hp .protagonist-hp-value .form-fields input {
- flex: none;
- width: 50px;
- margin-left: 4px;
- font-size: calc(var(--font-size-standard) * 1.4);
-}
-.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos .protagonist-hp .protagonist-hp-max {
- clear: both;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- margin: 3px 0;
- align-items: center;
-}
-.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos .protagonist-hp .protagonist-hp-max input {
- width: 50px;
- text-align: center;
- font-size: calc(var(--font-size-standard) * 1.4);
-}
-.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc .protagonist-right .protagonist-infos .protagonist-hp .hp-separator {
- font-size: calc(var(--font-size-standard) * 1.2);
- display: flex;
- align-items: center;
- justify-content: center;
-}
.fvtt-cthulhu-eternal .protagonist-main .protagonist-pc-play {
min-width: 500px;
}
diff --git a/lang/en.json b/lang/en.json
index 573f253..0806cda 100644
--- a/lang/en.json
+++ b/lang/en.json
@@ -37,6 +37,9 @@
},
"Protagonist": {
"FIELDS": {
+ "damageBonus": {
+ "label": "Dmg.Bonus"
+ },
"resources": {
"permanentRating": {
"label": "Permanent Rating"
diff --git a/module/applications/sheets/protagonist-sheet.mjs b/module/applications/sheets/protagonist-sheet.mjs
index d8d1d8d..be4bd12 100644
--- a/module/applications/sheets/protagonist-sheet.mjs
+++ b/module/applications/sheets/protagonist-sheet.mjs
@@ -210,6 +210,7 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
case "damage":
li = $(event.currentTarget).parents(".item");
item = this.actor.items.get(li.data("item-id"));
+ item.damageBonus = this.actor.system.damageBonus
break
case "san":
item = foundry.utils.duplicate(this.actor.system.san)
diff --git a/module/config/system.mjs b/module/config/system.mjs
index 92dfc5e..157d82b 100644
--- a/module/config/system.mjs
+++ b/module/config/system.mjs
@@ -113,6 +113,8 @@ export const RESOURCE_BREAKDOWN = [
{ value: 20, hand: 6, stowed: 6, storage: 8, checks: 3}
]
+export const DAMAGE_BONUS = [ -2, -2, -2, -2, -2, -1, -1, -1, -1, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2]
+
export const VEHICLE_SPEED = {
"none": "CTHULHUETERNAL.Label.None",
"slow": "CTHULHUETERNAL.Label.Slow",
@@ -258,5 +260,6 @@ export const SYSTEM = {
VEHICLE_SPEED,
MODIFIER_CHOICES,
MULTIPLIER_CHOICES,
- ASCII
+ ASCII,
+ DAMAGE_BONUS
}
diff --git a/module/documents/roll.mjs b/module/documents/roll.mjs
index a4b1280..d4a3c16 100644
--- a/module/documents/roll.mjs
+++ b/module/documents/roll.mjs
@@ -147,6 +147,9 @@ export default class CthulhuEternalRoll extends Roll {
break
case "damage":
let formula = options.rollItem.system.damage
+ if ( options.rollItem.system.weaponType === "melee" || options.rollItem.system.weaponType === "unarmed") {
+ formula += ` + ${options.rollItem.damageBonus}`
+ }
let damageRoll = new Roll(formula)
await damageRoll.evaluate()
await damageRoll.toMessage({
diff --git a/styles/protagonist.less b/styles/protagonist.less
index 10cbe63..cc39141 100644
--- a/styles/protagonist.less
+++ b/styles/protagonist.less
@@ -34,6 +34,25 @@
}
}
+ .protagonist-hp {
+ gap: 2px;
+ align-items: center;
+ input {
+ flex: none;
+ width: 2rem;
+ margin-left: 4px;
+ }
+ .damage-bonus {
+ font-size: calc(var(--font-size-standard) * 0.8);
+ }
+ .hp-separator {
+ font-size: calc(var(--font-size-standard) * 1.2);
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+
.protagonist-dv,
.protagonist-dmax {
.form-fields {
@@ -82,7 +101,7 @@
text-shadow: 0 0 8px var(--color-shadow-primary);
cursor: pointer;
font-size: 0.9rem;
- }
+ }
.button {
min-width: 4rem;
max-width: 4rem;
@@ -141,54 +160,14 @@
min-width: 5rem;
font-size: 0.9rem;
}
- .checkbox {
+ .checkbox {
flex-grow: 0;
min-width: 1rem;
max-width: 1rem;
}
-
}
- .protagonist-infos {
- display: flex;
- flex-direction: column;
- gap: 4px;
-
- label {
- min-width: 120px;
- }
-
- .protagonist-hp {
- display: flex;
- gap: 2px;
- align-items: center;
- .protagonist-hp-value {
- .form-fields input {
- flex: none;
- width: 50px;
- margin-left: 4px;
- font-size: calc(var(--font-size-standard) * 1.4);
- }
- }
- .protagonist-hp-max {
- clear: both;
- display: flex;
- flex-direction: row;
- flex-wrap: wrap;
- margin: 3px 0;
- align-items: center;
- input {
- width: 50px;
- text-align: center;
- font-size: calc(var(--font-size-standard) * 1.4);
- }
- }
- .hp-separator {
- font-size: calc(var(--font-size-standard) * 1.2);
- display: flex;
- align-items: center;
- justify-content: center;
- }
- }
+ label {
+ min-width: 120px;
}
}
}
@@ -259,7 +238,7 @@
.field-label {
margin-left: 8px;
}
-
+
.adapted {
display: grid;
grid-template-columns: repeat(2, 1fr);
@@ -268,7 +247,7 @@
min-width: 20rem;
}
}
-
+
.resources {
display: grid;
grid-template-columns: repeat(3, 1fr);
@@ -284,14 +263,14 @@
grid-template-columns: repeat(2, 1fr);
gap: 8px;
label {
- min-width: 3.0rem;
+ min-width: 3rem;
}
.feature {
- display: flex;
- align-items: center;
- gap: 4px;
- min-width: 18rem;
- max-width: 18rem;
+ display: flex;
+ align-items: center;
+ gap: 4px;
+ min-width: 18rem;
+ max-width: 18rem;
}
}
}
@@ -409,7 +388,7 @@
}
}
}
-
+
.mentaldisorders {
display: grid;
grid-template-columns: repeat(2, 1fr);
diff --git a/templates/protagonist-main.hbs b/templates/protagonist-main.hbs
index 27e504d..36c8c5a 100644
--- a/templates/protagonist-main.hbs
+++ b/templates/protagonist-main.hbs
@@ -9,13 +9,16 @@
-