forked from public/fvtt-cthulhu-eternal
Add rituals and tomes
This commit is contained in:
parent
270471f137
commit
2ac0f53c4f
1
assets/icons/icon_ritual.svg
Normal file
1
assets/icons/icon_ritual.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><filter id="shadow-1" height="300%" width="300%" x="-100%" y="-100%"><feFlood flood-color="rgba(255, 255, 255, 1)" result="flood"></feFlood><feComposite in="flood" in2="SourceGraphic" operator="atop" result="composite"></feComposite><feGaussianBlur in="composite" stdDeviation="15" result="blur"></feGaussianBlur><feOffset dx="0" dy="0" result="offset"></feOffset><feComposite in="SourceGraphic" in2="offset" operator="over"></feComposite></filter></defs><g class="" style="" transform="translate(0,0)"><path d="M245.813 23.188c-1.228-.006-2.455.027-3.657.093-10.103.56-19.646 3.682-30.156 11.25l20.72 196.782c-8.394 2.127-16.676 4.47-24.814 7.094L137.72 57.812c-7.032-1.706-17.442-.3-27.126 4.626-10.248 5.213-19.034 13.84-22.813 22.937L155.03 261.5c-7.414 4.345-14.59 9.137-21.5 14.47l-74.343-94.25c-16.34.698-34.965 14.455-37.562 32.655C28.89 222.693 93.978 297.77 126 357.405c10.3 19.184 29.543 50.725 39.188 70.064 5.83 11.693 16.004 24.238 27.843 32.342 11.84 8.104 24.7 11.82 37.907 8.282l112.907-30.22c5.493-1.47 9.196-5.39 13.22-11.937 4.02-6.545 7.535-15.137 12.905-23 20.61-30.185 50.432-76.085 115.186-112.062-2.696-15.053-7.405-24.57-12.72-29.563-6.03-5.667-13.198-7.372-23.686-5.843-18.062 2.63-43.498 17.063-69.594 36.874-1.68 1.39-3.318 2.802-4.937 4.22l-7-61.252 42.5-155.718c-4.478-7.355-13.806-13.258-24.845-15.97-10.874-2.67-22.506-1.698-30.28 1.595l-38.75 149.874c-9.365 1.58-18.732 3.17-28.064 4.812L273.69 27.5c-10.057-2.52-19.284-4.272-27.875-4.313zM234.343 255l30.157 56.625 54.406-33.906-33.78 54.186L341.562 362l-64.157-2.188 2.188 64.032-30.03-56.344-54.283 33.813 33.97-54.438-56.53-30.125 63.78 2.156L234.344 255z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 1.8 KiB |
1
assets/icons/icon_tome.svg
Normal file
1
assets/icons/icon_tome.svg
Normal file
@ -0,0 +1 @@
|
||||
<svg style="height: 512px; width: 512px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><defs><filter id="shadow-1" height="300%" width="300%" x="-100%" y="-100%"><feFlood flood-color="rgba(255, 255, 255, 1)" result="flood"></feFlood><feComposite in="flood" in2="SourceGraphic" operator="atop" result="composite"></feComposite><feGaussianBlur in="composite" stdDeviation="15" result="blur"></feGaussianBlur><feOffset dx="0" dy="0" result="offset"></feOffset><feComposite in="SourceGraphic" in2="offset" operator="over"></feComposite></filter></defs><g class="" style="" transform="translate(0,0)"><path d="M102.5 26.03l90.03 345.75 289.22 23.25-90.063-345.75L102.5 26.03zm-18.906 1.564c-30.466 11.873-55.68 53.098-49.75 75.312l3.25 11.78c.667-1.76 1.36-3.522 2.093-5.28C49.097 85.7 65.748 62.64 89.564 50.5l-5.97-22.906zm10.844 41.593c-16.657 10.012-29.92 28.077-38 47.407-5.247 12.55-8.038 25.63-8.75 36.53L112.5 388.407c.294-.55.572-1.106.875-1.656 10.603-19.252 27.823-37.695 51.125-48.47L94.437 69.19zm74.874 287.594c-17.677 9.078-31.145 23.717-39.562 39-4.464 8.107-7.27 16.364-8.688 23.75l11.688 42.408 1.625.125c-3.84-27.548 11.352-60.504 41.25-81.094l-6.313-24.19zm26.344 34c-32.567 17.27-46.51 52.44-41.844 72.94l289.844 24.5c-5.34-7.79-8.673-17.947-8.594-28.5l-22.406-9L459 443.436l-13.5-12.875c5.604-6.917 13.707-13.05 24.813-17.687L195.656 390.78z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 1.4 KiB |
@ -529,8 +529,8 @@ i.fvtt-cthulhu-eternal {
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
min-width: 12.3rem;
|
||||
max-width: 12.3rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-skills .skills .skill .rollable:hover,
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-skills .skills .skill .rollable:focus {
|
||||
@ -538,12 +538,17 @@ i.fvtt-cthulhu-eternal {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-skills .skills .skill .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-skills .skills .skill .score {
|
||||
min-width: 1.2rem;
|
||||
max-width: 1.2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-skills .skills .skill .name {
|
||||
min-width: 11rem;
|
||||
max-width: 11rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-skills .skills .skill .item-img {
|
||||
width: 24px;
|
||||
@ -572,8 +577,9 @@ i.fvtt-cthulhu-eternal {
|
||||
max-width: 18rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .bonds .bond .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .bonds .bond .name {
|
||||
min-width: 12rem;
|
||||
@ -605,8 +611,9 @@ i.fvtt-cthulhu-eternal {
|
||||
max-width: 14rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .motivations .motivation .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .motivations .motivation .name {
|
||||
min-width: 12rem;
|
||||
@ -630,8 +637,9 @@ i.fvtt-cthulhu-eternal {
|
||||
max-width: 18rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .mentaldisorders .mentaldisorder .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .mentaldisorders .mentaldisorder .name {
|
||||
min-width: 14rem;
|
||||
@ -659,8 +667,9 @@ i.fvtt-cthulhu-eternal {
|
||||
max-width: 16rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .injuries .injury .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-status .injuries .injury .name {
|
||||
min-width: 14rem;
|
||||
@ -698,8 +707,9 @@ i.fvtt-cthulhu-eternal {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons .weapon .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .weapons .weapon .damage {
|
||||
min-width: 6rem;
|
||||
@ -724,7 +734,7 @@ i.fvtt-cthulhu-eternal {
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13srem;
|
||||
max-width: 13rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors .armor .rollable:hover,
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors .armor .rollable:focus {
|
||||
@ -732,8 +742,9 @@ i.fvtt-cthulhu-eternal {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors .armor .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .armors .armor .protection {
|
||||
min-width: 5rem;
|
||||
@ -758,7 +769,7 @@ i.fvtt-cthulhu-eternal {
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13srem;
|
||||
max-width: 13rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .rollable:hover,
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .rollable:focus {
|
||||
@ -766,22 +777,81 @@ i.fvtt-cthulhu-eternal {
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .damage {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .name {
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .gears .gear .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .rituals {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .rituals .ritual {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 20rem;
|
||||
max-width: 20rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .rituals .ritual .rollable:hover,
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .rituals .ritual .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .rituals .ritual .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .rituals .ritual .name {
|
||||
min-width: 17rem;
|
||||
max-width: 17rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .rituals .ritual .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .tomes {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .tomes .tome {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 20rem;
|
||||
max-width: 20rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .tomes .tome .rollable:hover,
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .tomes .tome .rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .tomes .tome .controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .tomes .tome .name {
|
||||
min-width: 17rem;
|
||||
max-width: 17rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment .tomes .tome .item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tab.protagonist-equipment prose-mirror.inactive {
|
||||
min-height: 40px;
|
||||
}
|
||||
@ -1887,6 +1957,170 @@ i.fvtt-cthulhu-eternal {
|
||||
.fvtt-cthulhu-eternal .archetype-content label {
|
||||
flex: 10%;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content {
|
||||
font-family: var(--font-primary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
color: var(--color-dark-1);
|
||||
background-image: var(--background-image-base);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content input:disabled,
|
||||
.fvtt-cthulhu-eternal .ritual-content select:disabled {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
border-color: transparent;
|
||||
color: var(--color-dark-3);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content input,
|
||||
.fvtt-cthulhu-eternal .ritual-content select {
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
border-color: var(--color-dark-6);
|
||||
color: var(--color-dark-2);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content input[name="name"] {
|
||||
height: 40px;
|
||||
margin-right: 10px;
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
font-weight: bold;
|
||||
border: none;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content fieldset {
|
||||
margin-bottom: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content .form-fields input,
|
||||
.fvtt-cthulhu-eternal .ritual-content .form-fields select {
|
||||
text-align: center;
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content .form-fields select {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content legend {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
font-weight: bold;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content .form-fields {
|
||||
padding-top: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content label {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
flex: 50%;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content .align-top {
|
||||
align-self: flex-start;
|
||||
padding: 0.1rem;
|
||||
margin-right: 0.2rem;
|
||||
/*border-color: black;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-radius: 2%;*/
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content .shift-right {
|
||||
margin-left: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content fieldset {
|
||||
margin-top: 8px;
|
||||
background-color: var(--color-light-1);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content .header {
|
||||
background-color: var(--color-light-1);
|
||||
display: flex;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content .header img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .ritual-content label {
|
||||
flex: 10%;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content {
|
||||
font-family: var(--font-primary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
color: var(--color-dark-1);
|
||||
background-image: var(--background-image-base);
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content input:disabled,
|
||||
.fvtt-cthulhu-eternal .tome-content select:disabled {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
border-color: transparent;
|
||||
color: var(--color-dark-3);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content input,
|
||||
.fvtt-cthulhu-eternal .tome-content select {
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
border-color: var(--color-dark-6);
|
||||
color: var(--color-dark-2);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content input[name="name"] {
|
||||
height: 40px;
|
||||
margin-right: 10px;
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
font-weight: bold;
|
||||
border: none;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content fieldset {
|
||||
margin-bottom: 4px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content .form-fields input,
|
||||
.fvtt-cthulhu-eternal .tome-content .form-fields select {
|
||||
text-align: center;
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content .form-fields select {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content legend {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1.2);
|
||||
font-weight: bold;
|
||||
letter-spacing: 1px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content .form-fields {
|
||||
padding-top: 4px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content label {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
flex: 50%;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content .align-top {
|
||||
align-self: flex-start;
|
||||
padding: 0.1rem;
|
||||
margin-right: 0.2rem;
|
||||
/*border-color: black;
|
||||
border-width: 1px;
|
||||
border-style: solid;
|
||||
border-radius: 2%;*/
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content .shift-right {
|
||||
margin-left: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content fieldset {
|
||||
margin-top: 8px;
|
||||
background-color: var(--color-light-1);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content .header {
|
||||
background-color: var(--color-light-1);
|
||||
display: flex;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content .header img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .tome-content label {
|
||||
flex: 10%;
|
||||
}
|
||||
.application.dialog.fvtt-cthulhu-eternal {
|
||||
color: var(--color-dark-1);
|
||||
background-color: var(--color-light-1);
|
||||
|
@ -47,7 +47,9 @@ Hooks.once("init", function () {
|
||||
bond: models.CthulhuEternalBond,
|
||||
arcane: models.CthulhuEternalArcane,
|
||||
gear: models.CthulhuEternalGear,
|
||||
archetype: models.CthulhuEternalArchetype
|
||||
archetype: models.CthulhuEternalArchetype,
|
||||
ritual: models.CthulhuEternalRitual,
|
||||
tome: models.CthulhuEternalTome
|
||||
}
|
||||
|
||||
// Register sheet application classes
|
||||
@ -66,6 +68,8 @@ Hooks.once("init", function () {
|
||||
Items.registerSheet("fvtt-cthulhu-eternal", applications.CthulhuEternalBondSheet, { types: ["bond"], makeDefault: true })
|
||||
Items.registerSheet("fvtt-cthulhu-eternal", applications.CthulhuEternalGearSheet, { types: ["gear"], makeDefault: true })
|
||||
Items.registerSheet("fvtt-cthulhu-eternal", applications.CthulhuEternalArchetypeSheet, { types: ["archetype"], makeDefault: true })
|
||||
Items.registerSheet("fvtt-cthulhu-eternal", applications.CthulhuEternalRitualSheet, { types: ["ritual"], makeDefault: true })
|
||||
Items.registerSheet("fvtt-cthulhu-eternal", applications.CthulhuEternalTomeSheet, { types: ["tome"], makeDefault: true })
|
||||
|
||||
// Other Document Configuration
|
||||
CONFIG.ChatMessage.documentClass = documents.CthulhuEternalChatMessage
|
||||
|
79
lang/en.json
79
lang/en.json
@ -14,7 +14,9 @@
|
||||
"mentaldisorder": "Mental Disorder",
|
||||
"bond": "Bond" ,
|
||||
"arcane": "Arcane",
|
||||
"archetype": "Archetype"
|
||||
"archetype": "Archetype",
|
||||
"ritual": "Ritual",
|
||||
"tome": "Tome"
|
||||
}
|
||||
},
|
||||
"CTHULHUETERNAL": {
|
||||
@ -327,7 +329,78 @@
|
||||
"harsh": "Harsh",
|
||||
"veryHarsh": "Very Harsh"
|
||||
},
|
||||
"Tome": {
|
||||
"FIELDS": {
|
||||
"language": {
|
||||
"label": "Language"
|
||||
},
|
||||
"settings": {
|
||||
"label": "Settings"
|
||||
},
|
||||
"studyTime": {
|
||||
"label": "Study Time"
|
||||
},
|
||||
"sanLoss": {
|
||||
"label": "SAN Loss"
|
||||
},
|
||||
"unnaturalSkill": {
|
||||
"label": "Unnatural Skill"
|
||||
},
|
||||
"rituals": {
|
||||
"label": "Rituals"
|
||||
},
|
||||
"minimumEra": {
|
||||
"label": "Minimum Era"
|
||||
},
|
||||
"otherBenefits": {
|
||||
"label": "Other Benefits"
|
||||
},
|
||||
"creationDate": {
|
||||
"label": "Creation Date"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
}
|
||||
},
|
||||
"Label": {
|
||||
"tomeDetails": "Tome Details"
|
||||
},
|
||||
"Button": {
|
||||
"addRitual": "Add Ritual"
|
||||
}
|
||||
},
|
||||
"Ritual": {
|
||||
"Simple": "Simple",
|
||||
"Complex": "Complex",
|
||||
"Elaborate": "Elaborate",
|
||||
"FIELDS": {
|
||||
"ritualType": {
|
||||
"label": "Type"
|
||||
},
|
||||
"studyTime": {
|
||||
"label": "Study time"
|
||||
},
|
||||
"studySAN": {
|
||||
"label": "Study SAN"
|
||||
},
|
||||
"activationTime": {
|
||||
"label": "Activation time"
|
||||
},
|
||||
"activationSAN": {
|
||||
"label": "Activation SAN"
|
||||
},
|
||||
"activationWP": {
|
||||
"label": "Activation WP"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Label": {
|
||||
"Rituals": "Rituals",
|
||||
"Tomes": "Tomes",
|
||||
"otherBenefits": "Other Benefits",
|
||||
"Unarmed": "Unarmed",
|
||||
"Cured": "Cured",
|
||||
"Uncured": "Uncured",
|
||||
@ -433,7 +506,9 @@
|
||||
"newGear": "New Gear",
|
||||
"newArcane": "New Arcane",
|
||||
"newArchetype": "New Archetype",
|
||||
"newSkill": "New Skill"
|
||||
"newSkill": "New Skill",
|
||||
"newTome": "New Tome",
|
||||
"newRitual": "New Ritual"
|
||||
},
|
||||
"ChatMessage": {
|
||||
"exhausted": "Your protagonist is exhausted. He loses [[/r 1d6]] Willpower Points."
|
||||
|
@ -9,4 +9,6 @@ export { default as CthulhuEternalMentalDisorderSheet } from "./sheets/mentaldis
|
||||
export { default as CthulhuEternalGearSheet } from "./sheets/gear-sheet.mjs"
|
||||
export { default as CthulhuEternalMotivationSheet } from "./sheets/motivation-sheet.mjs"
|
||||
export { default as CthulhuEternalArchetypeSheet } from "./sheets/archetype-sheet.mjs"
|
||||
export { default as CthulhuEternalRitualSheet } from "./sheets/ritual-sheet.mjs"
|
||||
export { default as CthulhuEternalVehicleSheet } from "./sheets/vehicle-sheet.mjs"
|
||||
export { default as CthulhuEternalTomeSheet } from "./sheets/tome-sheet.mjs"
|
||||
|
@ -96,7 +96,6 @@ export default class CthulhuEternalActorSheet extends HandlebarsApplicationMixin
|
||||
drop: this._canDragDrop.bind(this),
|
||||
}
|
||||
d.callbacks = {
|
||||
dragstart: this._onDragStart.bind(this),
|
||||
dragover: this._onDragOver.bind(this),
|
||||
drop: this._onDrop.bind(this),
|
||||
}
|
||||
@ -133,70 +132,6 @@ export default class CthulhuEternalActorSheet extends HandlebarsApplicationMixin
|
||||
return true //this.isEditable && this.document.isOwner
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback actions which occur at the beginning of a drag start workflow.
|
||||
* @param {DragEvent} event The originating DragEvent
|
||||
* @protected
|
||||
*/
|
||||
_onDragStart(event) {
|
||||
if ("link" in event.target.dataset) return
|
||||
|
||||
const el = event.currentTarget.closest('[data-drag="true"]')
|
||||
const dragType = el.dataset.dragType
|
||||
|
||||
let dragData = {}
|
||||
|
||||
let target
|
||||
switch (dragType) {
|
||||
case "save":
|
||||
target = event.currentTarget.querySelector("input")
|
||||
dragData = {
|
||||
actorId: this.document.id,
|
||||
type: "roll",
|
||||
rollType: target.dataset.rollType,
|
||||
rollTarget: target.dataset.rollTarget,
|
||||
value: target.value,
|
||||
}
|
||||
break
|
||||
case "resource":
|
||||
target = event.currentTarget.querySelector("select")
|
||||
dragData = {
|
||||
actorId: this.document.id,
|
||||
type: "roll",
|
||||
rollType: target.dataset.rollType,
|
||||
rollTarget: target.dataset.rollTarget,
|
||||
value: target.value,
|
||||
}
|
||||
break
|
||||
case "damage":
|
||||
dragData = {
|
||||
actorId: this.document.id,
|
||||
type: "rollDamage",
|
||||
rollType: el.dataset.dragType,
|
||||
rollTarget: el.dataset.itemId,
|
||||
}
|
||||
break
|
||||
case "attack":
|
||||
dragData = {
|
||||
actorId: this.document.id,
|
||||
type: "rollAttack",
|
||||
rollValue: el.dataset.rollValue,
|
||||
rollTarget: el.dataset.rollTarget,
|
||||
}
|
||||
break
|
||||
default:
|
||||
// Handle other cases or do nothing
|
||||
break
|
||||
}
|
||||
|
||||
// Extract the data you need
|
||||
|
||||
if (!dragData) return
|
||||
|
||||
// Set data transfer
|
||||
event.dataTransfer.setData("text/plain", JSON.stringify(dragData))
|
||||
}
|
||||
|
||||
/**
|
||||
* Callback actions which occur when a dragged element is over a drop target.
|
||||
* @param {DragEvent} event The originating DragEvent
|
||||
|
@ -20,7 +20,9 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
createInjury: CthulhuEternalProtagonistSheet.#onCreateInjury,
|
||||
createMentalDisorder: CthulhuEternalProtagonistSheet.#onCreateMentalDisorder,
|
||||
createMotivation: CthulhuEternalProtagonistSheet.#onCreateMotivation,
|
||||
createSkill: CthulhuEternalProtagonistSheet.#onCreateSkill
|
||||
createSkill: CthulhuEternalProtagonistSheet.#onCreateSkill,
|
||||
createRitual: CthulhuEternalProtagonistSheet.#onCreateRitual,
|
||||
createTome: CthulhuEternalProtagonistSheet.#onCreateTome,
|
||||
},
|
||||
}
|
||||
|
||||
@ -108,6 +110,10 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
context.armors.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.gears = doc.itemTypes.gear
|
||||
context.gears.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.rituals = doc.itemTypes.ritual
|
||||
context.rituals.sort((a, b) => a.name.localeCompare(b.name))
|
||||
context.tomes = doc.itemTypes.tome
|
||||
context.tomes.sort((a, b) => a.name.localeCompare(b.name))
|
||||
break
|
||||
case "status":
|
||||
context.tab = context.tabs.status
|
||||
@ -170,6 +176,14 @@ export default class CthulhuEternalProtagonistSheet extends CthulhuEternalActorS
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newSkill"), type: "skill" }])
|
||||
}
|
||||
|
||||
static #onCreateRitual(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newRitual"), type: "ritual" }])
|
||||
}
|
||||
|
||||
static #onCreateTome(event, target) {
|
||||
this.document.createEmbeddedDocuments("Item", [{ name: game.i18n.localize("CTHULHUETERNAL.Label.newTome"), type: "tome" }])
|
||||
}
|
||||
|
||||
/**
|
||||
* Handles the roll action triggered by user interaction.
|
||||
*
|
||||
|
28
module/applications/sheets/ritual-sheet.mjs
Normal file
28
module/applications/sheets/ritual-sheet.mjs
Normal file
@ -0,0 +1,28 @@
|
||||
import CthulhuEternalItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class CthulhuEternalRitualSheet extends CthulhuEternalItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["ritual"],
|
||||
position: {
|
||||
width: 600,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["ritual-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/ritual.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext()
|
||||
context.enrichedDescription = await TextEditor.enrichHTML(this.document.system.description, { async: true })
|
||||
return context
|
||||
}
|
||||
}
|
28
module/applications/sheets/tome-sheet.mjs
Normal file
28
module/applications/sheets/tome-sheet.mjs
Normal file
@ -0,0 +1,28 @@
|
||||
import CthulhuEternalItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class CthulhuEternalTomeSheet extends CthulhuEternalItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["tome"],
|
||||
position: {
|
||||
width: 600,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["tome-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/tome.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext()
|
||||
context.enrichedDescription = await TextEditor.enrichHTML(this.document.system.description, { async: true })
|
||||
return context
|
||||
}
|
||||
}
|
@ -42,7 +42,7 @@ export const INSANITY = {
|
||||
}
|
||||
|
||||
export const ERA_CSS = {
|
||||
jazz: { primaryFont: "RozhaOne", secondaryFont: "RozhaOne", titleFont: "Broadway", baseFontSize: "1.0rem", titleFontSize: "1.2rem", imgFilter: "brightness(0) saturate(100%) invert(52%) sepia(9%) saturate(2368%) hue-rotate(360deg) brightness(86%) contrast(84%)" },
|
||||
jazz: { primaryFont: "RozhaOne", secondaryFont: "RozhaOne", titleFont: "Broadway", baseFontSize: "0.95rem", titleFontSize: "1.2rem", imgFilter: "brightness(0) saturate(100%) invert(52%) sepia(9%) saturate(2368%) hue-rotate(360deg) brightness(86%) contrast(84%)" },
|
||||
modern: { primaryFont: "Georama", secondaryFont: "Georama", titleFont: "Georama", baseFontSize: "1.0rem", titleFontSize: "1.2rem",imgFilter: "brightness(0) saturate(100%) invert(92%) sepia(11%) saturate(1214%) hue-rotate(51deg) brightness(93%) contrast(86%)" },
|
||||
future: { primaryFont: "Georama", secondaryFont: "Georama", titleFont: "Seabreed", baseFontSize: "1.0rem", titleFontSize: "2.0rem",imgFilter: "invert(90%) sepia(6%) saturate(1818%) hue-rotate(152deg) brightness(91%) contrast(91%)" },
|
||||
victorian: { primaryFont: "Volkhov", secondaryFont: "Volkhov", titleFont: "Excelsior", baseFontSize: "1.0rem", titleFontSize: "1.2rem",imgFilter: "brightness(0) saturate(100%) invert(100%) sepia(59%) saturate(1894%) hue-rotate(337deg) brightness(88%) contrast(98%)" },
|
||||
@ -238,6 +238,12 @@ export const MULTIPLIER_CHOICES = {
|
||||
"5": "5"
|
||||
}
|
||||
|
||||
export const RITUAL_TYPES = {
|
||||
"simple": "CTHULHUETERNAL.Ritual.Simple",
|
||||
"complex": "CTHULHUETERNAL.Ritual.Complex",
|
||||
"elaborate": "CTHULHUETERNAL.Ritual.Elaborate"
|
||||
}
|
||||
|
||||
/**
|
||||
* Include all constant definitions within the SYSTEM global export
|
||||
* @type {Object}
|
||||
@ -261,5 +267,6 @@ export const SYSTEM = {
|
||||
MODIFIER_CHOICES,
|
||||
MULTIPLIER_CHOICES,
|
||||
ASCII,
|
||||
DAMAGE_BONUS
|
||||
DAMAGE_BONUS,
|
||||
RITUAL_TYPES
|
||||
}
|
||||
|
@ -9,6 +9,8 @@ export const defaultItemImg = {
|
||||
arcane: "systems/fvtt-cthulhu-eternal/assets/icons/icon_arcane.svg",
|
||||
injury: "systems/fvtt-cthulhu-eternal/assets/icons/icon_injury.svg",
|
||||
motivation: "systems/fvtt-cthulhu-eternal/assets/icons/icon_motivation.svg",
|
||||
ritual: "systems/fvtt-cthulhu-eternal/assets/icons/icon_ritual.svg",
|
||||
tome: "systems/fvtt-cthulhu-eternal/assets/icons/icon_tome.svg",
|
||||
}
|
||||
|
||||
export default class CthulhuEternalItem extends Item {
|
||||
|
@ -9,5 +9,7 @@ export { default as CthulhuEternalBond } from "./bond.mjs"
|
||||
export { default as CthulhuEternalGear } from "./gear.mjs"
|
||||
export { default as CthulhuEternalMotivation } from "./motivation.mjs"
|
||||
export { default as CthulhuEternalArchetype } from "./archetype.mjs"
|
||||
export { default as CthulhuEternalRitual } from "./ritual.mjs"
|
||||
export { default as CthulhuEternalVehicle } from "./vehicle.mjs"
|
||||
export { default as CthulhuEternalTome } from "./tome.mjs"
|
||||
|
||||
|
24
module/models/ritual.mjs
Normal file
24
module/models/ritual.mjs
Normal file
@ -0,0 +1,24 @@
|
||||
import { SYSTEM } from "../config/system.mjs"
|
||||
|
||||
export default class CthulhuEternalRitual extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields
|
||||
const requiredInteger = { required: true, nullable: false, integer: true }
|
||||
const schema = {}
|
||||
|
||||
schema.ritualType = new fields.StringField({ required: true, initial: "simple", choices: SYSTEM.RITUAL_TYPES })
|
||||
schema.studyTime = new fields.StringField({ required: true, initial: "X days", textSearch: true })
|
||||
schema.studySAN = new fields.StringField({ required: true, initial: "1d4", textSearch: true })
|
||||
schema.activationTime = new fields.StringField({ required: true, initial: "X turns", textSearch: true })
|
||||
schema.activationWP = new fields.StringField({ required: true, initial: "1d4", textSearch: true })
|
||||
schema.activationSAN = new fields.StringField({ required: true, initial: "1d6", textSearch: true })
|
||||
|
||||
schema.description = new fields.HTMLField({ required: true, textSearch: true })
|
||||
|
||||
return schema
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static LOCALIZATION_PREFIXES = ["CTHULHUETERNAL.Ritual"]
|
||||
|
||||
}
|
64
module/models/tome.mjs
Normal file
64
module/models/tome.mjs
Normal file
@ -0,0 +1,64 @@
|
||||
import { SYSTEM } from "../config/system.mjs";
|
||||
|
||||
export default class CthulhuEternalTome extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields;
|
||||
const schema = {};
|
||||
|
||||
let setting = game.settings.get("fvtt-cthulhu-eternal", "settings-era") || "modern"
|
||||
schema.minimumEra = new fields.StringField({ required: true, initial: setting, choices: SYSTEM.AVAILABLE_SETTINGS })
|
||||
|
||||
schema.creationDate = new fields.StringField({
|
||||
required: true,
|
||||
initial: "",
|
||||
textSearch: true
|
||||
});
|
||||
|
||||
// Language field
|
||||
schema.language = new fields.StringField({
|
||||
required: true,
|
||||
initial: "Latin",
|
||||
textSearch: true
|
||||
});
|
||||
|
||||
// studyTime field
|
||||
schema.studyTime = new fields.StringField({
|
||||
required: true,
|
||||
initial: "X days",
|
||||
textSearch: true
|
||||
});
|
||||
|
||||
// SAN loss field
|
||||
schema.sanLoss = new fields.StringField({
|
||||
required: true,
|
||||
initial: "1d4",
|
||||
textSearch: true
|
||||
});
|
||||
|
||||
// Unnatural skill field
|
||||
schema.unnaturalSkill = new fields.StringField({
|
||||
required: true,
|
||||
initial: "1d4",
|
||||
textSearch: true
|
||||
});
|
||||
|
||||
schema.rituals = new fields.StringField({
|
||||
required: true,
|
||||
initial: "",
|
||||
textSearch: true
|
||||
});
|
||||
|
||||
schema.otherBenefits = new fields.StringField({
|
||||
required: true,
|
||||
initial: "",
|
||||
textSearch: true
|
||||
});
|
||||
|
||||
schema.description = new fields.HTMLField({ required: true, textSearch: true })
|
||||
|
||||
return schema;
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static LOCALIZATION_PREFIXES = ["CTHULHUETERNAL.Tome"];
|
||||
}
|
@ -1 +1 @@
|
||||
MANIFEST-000112
|
||||
MANIFEST-000128
|
||||
|
@ -1,8 +1,8 @@
|
||||
2025/02/06-21:12:01.561879 7ffae7fff6c0 Recovering log #110
|
||||
2025/02/06-21:12:01.618398 7ffae7fff6c0 Delete type=3 #108
|
||||
2025/02/06-21:12:01.618459 7ffae7fff6c0 Delete type=0 #110
|
||||
2025/02/06-22:37:39.915470 7ffae6bff6c0 Level-0 table #115: started
|
||||
2025/02/06-22:37:39.915518 7ffae6bff6c0 Level-0 table #115: 0 bytes OK
|
||||
2025/02/06-22:37:39.952549 7ffae6bff6c0 Delete type=0 #113
|
||||
2025/02/06-22:37:39.952742 7ffae6bff6c0 Manual compaction at level-0 from '!folders!DD8331Hda4rhvEf9' @ 72057594037927935 : 1 .. '!items!zplzTG30QXHURusr' @ 0 : 0; will stop at (end)
|
||||
2025/02/06-22:37:39.952774 7ffae6bff6c0 Manual compaction at level-1 from '!folders!DD8331Hda4rhvEf9' @ 72057594037927935 : 1 .. '!items!zplzTG30QXHURusr' @ 0 : 0; will stop at (end)
|
||||
2025/02/07-07:58:04.988627 7ffae7fff6c0 Recovering log #126
|
||||
2025/02/07-07:58:04.998629 7ffae7fff6c0 Delete type=3 #124
|
||||
2025/02/07-07:58:04.998698 7ffae7fff6c0 Delete type=0 #126
|
||||
2025/02/07-08:34:42.926911 7ffae6bff6c0 Level-0 table #131: started
|
||||
2025/02/07-08:34:42.926943 7ffae6bff6c0 Level-0 table #131: 0 bytes OK
|
||||
2025/02/07-08:34:42.933490 7ffae6bff6c0 Delete type=0 #129
|
||||
2025/02/07-08:34:42.933666 7ffae6bff6c0 Manual compaction at level-0 from '!folders!DD8331Hda4rhvEf9' @ 72057594037927935 : 1 .. '!items!zplzTG30QXHURusr' @ 0 : 0; will stop at (end)
|
||||
2025/02/07-08:34:42.944681 7ffae6bff6c0 Manual compaction at level-1 from '!folders!DD8331Hda4rhvEf9' @ 72057594037927935 : 1 .. '!items!zplzTG30QXHURusr' @ 0 : 0; will stop at (end)
|
||||
|
@ -1,8 +1,8 @@
|
||||
2025/02/06-21:10:37.808165 7ffae77fe6c0 Recovering log #106
|
||||
2025/02/06-21:10:37.818622 7ffae77fe6c0 Delete type=3 #104
|
||||
2025/02/06-21:10:37.818703 7ffae77fe6c0 Delete type=0 #106
|
||||
2025/02/06-21:11:20.037362 7ffae6bff6c0 Level-0 table #111: started
|
||||
2025/02/06-21:11:20.037398 7ffae6bff6c0 Level-0 table #111: 0 bytes OK
|
||||
2025/02/06-21:11:20.043269 7ffae6bff6c0 Delete type=0 #109
|
||||
2025/02/06-21:11:20.043465 7ffae6bff6c0 Manual compaction at level-0 from '!folders!DD8331Hda4rhvEf9' @ 72057594037927935 : 1 .. '!items!zplzTG30QXHURusr' @ 0 : 0; will stop at (end)
|
||||
2025/02/06-21:11:20.043496 7ffae6bff6c0 Manual compaction at level-1 from '!folders!DD8331Hda4rhvEf9' @ 72057594037927935 : 1 .. '!items!zplzTG30QXHURusr' @ 0 : 0; will stop at (end)
|
||||
2025/02/06-23:17:39.180197 7ffaecbf96c0 Recovering log #122
|
||||
2025/02/06-23:17:39.191385 7ffaecbf96c0 Delete type=3 #120
|
||||
2025/02/06-23:17:39.191461 7ffaecbf96c0 Delete type=0 #122
|
||||
2025/02/07-00:19:54.566098 7ffae6bff6c0 Level-0 table #127: started
|
||||
2025/02/07-00:19:54.566176 7ffae6bff6c0 Level-0 table #127: 0 bytes OK
|
||||
2025/02/07-00:19:54.572437 7ffae6bff6c0 Delete type=0 #125
|
||||
2025/02/07-00:19:54.583220 7ffae6bff6c0 Manual compaction at level-0 from '!folders!DD8331Hda4rhvEf9' @ 72057594037927935 : 1 .. '!items!zplzTG30QXHURusr' @ 0 : 0; will stop at (end)
|
||||
2025/02/07-00:19:54.596307 7ffae6bff6c0 Manual compaction at level-1 from '!folders!DD8331Hda4rhvEf9' @ 72057594037927935 : 1 .. '!items!zplzTG30QXHURusr' @ 0 : 0; will stop at (end)
|
||||
|
Binary file not shown.
BIN
packs-system/skills/MANIFEST-000128
Normal file
BIN
packs-system/skills/MANIFEST-000128
Normal file
Binary file not shown.
@ -16,6 +16,8 @@
|
||||
@import "gear.less";
|
||||
@import "arcane.less";
|
||||
@import "archetype.less";
|
||||
@import "ritual.less";
|
||||
@import "tome.less";
|
||||
}
|
||||
|
||||
@import "roll.less";
|
@ -294,20 +294,25 @@
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
margin-left: 4px;
|
||||
min-width: 12rem;
|
||||
max-width: 12rem;
|
||||
min-width: 12.3rem;
|
||||
max-width: 12.3rem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.score {
|
||||
min-width: 1.2rem;
|
||||
max-width: 1.2rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 11rem;
|
||||
max-width: 11rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
@ -340,8 +345,9 @@
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 12rem;
|
||||
@ -374,8 +380,9 @@
|
||||
min-width: 14rem;
|
||||
max-width: 14rem;
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 12rem;
|
||||
@ -400,8 +407,9 @@
|
||||
min-width: 18rem;
|
||||
max-width: 18rem;
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 14rem;
|
||||
@ -430,8 +438,9 @@
|
||||
min-width: 16rem;
|
||||
max-width: 16rem;
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 14rem;
|
||||
@ -472,8 +481,9 @@
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 6rem;
|
||||
@ -499,15 +509,16 @@
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13srem;
|
||||
max-width: 13rem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.protection {
|
||||
min-width: 5rem;
|
||||
@ -524,6 +535,7 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.gears {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(3, 1fr);
|
||||
@ -533,23 +545,84 @@
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 13rem;
|
||||
max-width: 13srem;
|
||||
max-width: 13rem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
min-width: 2rem;
|
||||
max-width: 2rem;
|
||||
}
|
||||
.damage {
|
||||
min-width: 5rem;
|
||||
max-width: 5rem;
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 8rem;
|
||||
max-width: 8rem;
|
||||
min-width: 10rem;
|
||||
max-width: 10rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.rituals {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.ritual {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 20rem;
|
||||
max-width: 20rem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 17rem;
|
||||
max-width: 17rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
margin: 4px 0 0 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.tomes {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(2, 1fr);
|
||||
gap: 4px;
|
||||
.tome {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
min-width: 20rem;
|
||||
max-width: 20rem;
|
||||
.rollable:hover,
|
||||
.rollable:focus {
|
||||
text-shadow: 0 0 8px var(--color-shadow-primary);
|
||||
cursor: pointer;
|
||||
}
|
||||
.controls {
|
||||
font-size: 0.7rem;
|
||||
min-width: 1.8rem;
|
||||
max-width: 1.8rem;
|
||||
}
|
||||
.name {
|
||||
min-width: 17rem;
|
||||
max-width: 17rem;
|
||||
}
|
||||
.item-img {
|
||||
width: 24px;
|
||||
|
22
styles/ritual.less
Normal file
22
styles/ritual.less
Normal file
@ -0,0 +1,22 @@
|
||||
.ritual-content {
|
||||
.sheet-common();
|
||||
.item-sheet-common();
|
||||
|
||||
fieldset {
|
||||
margin-top: 8px;
|
||||
background-color: var(--color-light-1);
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: var(--color-light-1);
|
||||
display: flex;
|
||||
img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
label {
|
||||
flex: 10%;
|
||||
}
|
||||
}
|
22
styles/tome.less
Normal file
22
styles/tome.less
Normal file
@ -0,0 +1,22 @@
|
||||
.tome-content {
|
||||
.sheet-common();
|
||||
.item-sheet-common();
|
||||
|
||||
fieldset {
|
||||
margin-top: 8px;
|
||||
background-color: var(--color-light-1);
|
||||
}
|
||||
|
||||
.header {
|
||||
background-color: var(--color-light-1);
|
||||
display: flex;
|
||||
img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
label {
|
||||
flex: 10%;
|
||||
}
|
||||
}
|
@ -47,7 +47,9 @@
|
||||
"motivation": { "htmlFields": ["description"] },
|
||||
"arcane": { "htmlFields": ["description"] },
|
||||
"gear": { "htmlFields": ["description"] },
|
||||
"archetype": { "htmlFields": ["description"] }
|
||||
"archetype": { "htmlFields": ["description"] },
|
||||
"ritual": { "htmlFields": ["description"] },
|
||||
"tome": { "htmlFields": ["description"] }
|
||||
}
|
||||
},
|
||||
"packs": [
|
||||
|
@ -81,4 +81,55 @@
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
{{#if (count tomes)}}
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.Tomes"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.addTome"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createTome"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="tomes">
|
||||
{{#each tomes as |item|}}
|
||||
<div class="tome" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'CTHULHUETERNAL.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'CTHULHUETERNAL.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
{{/if}}
|
||||
|
||||
{{#if (count rituals)}}
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.Rituals"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.addRitual"}}" data-tooltip-direction="UP"><i
|
||||
class="fas fa-plus" data-action="createRitual"></i></a>{{/if}}
|
||||
</legend>
|
||||
<div class="rituals">
|
||||
{{#each rituals as |item|}}
|
||||
<div class="ritual" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}">
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
<div class="controls">
|
||||
<a data-tooltip="{{localize 'CTHULHUETERNAL.Edit'}}" data-action="edit" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-edit"></i></a>
|
||||
<a data-tooltip="{{localize 'CTHULHUETERNAL.Delete'}}" data-action="delete" data-item-id="{{item.id}}"
|
||||
data-item-uuid="{{item.uuid}}"><i class="fas fa-trash"></i></a>
|
||||
</div>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
{{/if}}
|
||||
|
||||
|
||||
</section>
|
23
templates/ritual.hbs
Normal file
23
templates/ritual.hbs
Normal file
@ -0,0 +1,23 @@
|
||||
<section>
|
||||
<div class="header">
|
||||
<img class="item-img" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}" />
|
||||
{{formInput fields.name value=source.name}}
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
|
||||
{{formField systemFields.ritualType value=system.ritualType localize=true}}
|
||||
{{formField systemFields.studyTime value=system.studyTime}}
|
||||
{{formField systemFields.studySAN value=system.studySAN}}
|
||||
{{formField systemFields.activationTime value=system.activationTime}}
|
||||
{{formField systemFields.activationSAN value=system.activationSAN}}
|
||||
{{formField systemFields.activationWP value=system.activationWP}}
|
||||
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.description"}}</legend>
|
||||
{{formInput systemFields.description enriched=description value=system.description name="system.description" toggled=true}}
|
||||
</fieldset>
|
||||
|
||||
</section>
|
42
templates/tome.hbs
Normal file
42
templates/tome.hbs
Normal file
@ -0,0 +1,42 @@
|
||||
<section>
|
||||
<div class="header">
|
||||
<img class="item-img" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}" />
|
||||
{{formInput fields.name value=source.name}}
|
||||
</div>
|
||||
|
||||
<fieldset>
|
||||
|
||||
<div class="form-group">
|
||||
{{formField systemFields.language value=system.language }}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{{formField systemFields.minimumEra value=system.minimumEra localize=true }}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{{formField systemFields.creationDate value=system.creationDate }}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{{formField systemFields.studyTime value=system.studyTime }}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{{formField systemFields.sanLoss value=system.sanLoss }}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{{formField systemFields.unnaturalSkill value=system.unnaturalSkill }}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{localize "CTHULHUETERNAL.Label.Rituals"}} </label>
|
||||
<textarea class="form-control" rows="3" name="system.rituals" data-tooltip="{{localize "CTHULHUETERNAL.Label.Rituals"}}">{{system.rituals}}</textarea>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label>{{localize "CTHULHUETERNAL.Label.otherBenefits"}} </label>
|
||||
<textarea class="form-control" rows="3" name="system.otherBenefits" data-tooltip="{{localize "CTHULHUETERNAL.Label.otherBenefits"}}">{{system.otherBenefits}}</textarea>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.description"}}</legend>
|
||||
{{formInput systemFields.description enriched=description value=system.description name="system.description" toggled=true}}
|
||||
</fieldset>
|
||||
|
||||
</section>
|
Loading…
x
Reference in New Issue
Block a user