Enhance actor sheet
@ -1 +1 @@
|
||||
,morr,arioch,04.12.2024 14:13,file:///home/morr/.config/libreoffice/4;
|
||||
,morr,arioch,06.12.2024 13:55,file:///home/morr/.config/libreoffice/4;
|
1
assets/icons/crossed-swords.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="M19.75 14.438c59.538 112.29 142.51 202.35 232.28 292.718l3.626 3.75.063-.062c21.827 21.93 44.04 43.923 66.405 66.25-18.856 14.813-38.974 28.2-59.938 40.312l28.532 28.53 68.717-68.717c42.337 27.636 76.286 63.646 104.094 105.81l28.064-28.06c-42.47-27.493-79.74-60.206-106.03-103.876l68.936-68.938-28.53-28.53c-11.115 21.853-24.413 42.015-39.47 60.593-43.852-43.8-86.462-85.842-130.125-125.47-.224-.203-.432-.422-.656-.625C183.624 122.75 108.515 63.91 19.75 14.437zm471.875 0c-83.038 46.28-154.122 100.78-221.97 161.156l22.814 21.562 56.81-56.812 13.22 13.187-56.438 56.44 24.594 23.186c61.802-66.92 117.6-136.92 160.97-218.72zm-329.53 125.906l200.56 200.53c-4.36 4.443-8.84 8.793-13.405 13.032L148.875 153.53l13.22-13.186zm-76.69 113.28l-28.5 28.532 68.907 68.906c-26.29 43.673-63.53 76.414-106 103.907l28.063 28.06c27.807-42.164 61.758-78.174 104.094-105.81l68.718 68.717 28.53-28.53c-20.962-12.113-41.08-25.5-59.937-40.313 17.865-17.83 35.61-35.433 53.157-52.97l-24.843-25.655-55.47 55.467c-4.565-4.238-9.014-8.62-13.374-13.062l55.844-55.844-24.53-25.374c-18.28 17.856-36.602 36.06-55.158 54.594-15.068-18.587-28.38-38.758-39.5-60.625z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 1.8 KiB |
1
assets/icons/icon_arcane.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_archetype.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="M89 25v462h334V25H89zm30 30h274v402H119V55zm18 18v94h49.8c1-10.8 2.3-22 4.4-34 6.4-21 24.8-43.28 45-47.7 3.9-.95 8.4 1.48 12.6 1.4 2.7 0 13.4-2.68 15.3-2.8 30.8.81 55.3 33.7 59.3 60.3.6 4.5 2 12.7 3.6 22.8h48V73H137zm112.9 31.3c-9.9 0-19.3 5.7-26.9 16.6-7.5 10.9-12.6 26.7-12.6 44.3 0 17.6 5.1 33.4 12.6 44.3 7.6 10.9 17 16.6 26.9 16.6 9.9 0 19.3-5.7 26.9-16.6 7.5-10.9 12.6-26.7 12.6-44.3 0-17.6-5.1-33.4-12.6-44.3-7.6-10.9-17-16.6-26.9-16.6zM137 185v132.8c7.6-16.4 30-32.3 35.4-46 10.6-26.8 11-54.5 13.1-86.8H137zm193 0c3.5 22.9 7.9 46.9 9.9 69.3 14.7 9.4 27.1 21.6 35.1 35.5V185h-45zm-52.7 49.7c-8 5.9-17.3 9.4-27.4 9.4-3.6 0-7.1-.5-10.5-1.3-4.1 6.7-7.8 13.9-10.9 22.1-5 12.9-17.2 19.1-27.7 26.3-7.7 7.4-25.4 14.3-18.4 27.4 9.7 12.9 37.8 14.2 50.8 14.1 19.3-2.3 44.6-1.5 59-14.1l-14.9-83.9zm-60.1 124l-5.7 17.8 59.2 32.2 9.9-28.1c-12.6-12.3-36.5-17.9-63.4-21.9zm-15.6 44c-4.7 1.3-9.6 2.9-13.7 4.3-2.9 8.5-.5 18 1.7 29.8 22.3 3 37.9-8.3 54.6-18.5l-42.6-15.6z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 1.6 KiB |
1
assets/icons/icon_armor.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="M208 56.643l-16 64-98.568 14.082L256 175.365l162.568-40.64L320 120.643l-16-64-27.268 18.18-12.002 48.003h-17.46l-12.002-48.004zm-138.621 90.62L16 200.644l48 64 25.77-25.77 26.619-79.857zm373.242 0l-47.01 11.753 26.62 79.857L448 264.643l48-64zm-308.717 16.132l-20.123 60.369 13.81 55.246L247 345.348V191.67zm244.192 0L265 191.67v153.678l119.408-66.338 13.81-55.246zM144 308.715v56.314l103 30.627v-29.719zm224 0l-103 57.223v29.718l103-30.627zm-224 75.54v56.388l103 14.714V414.88zm224 0L265 414.88v40.478l103-14.714z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 1.2 KiB |
1
assets/icons/icon_bond.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="M321.7 21.36c-43.2 0-86.4 16.5-119.4 49.5-19.1 19.08-32.6 41.54-40.7 65.44 16.9-2.4 32.9-2.7 48.7-1.1 3.9-5.5 8.3-10.7 13.2-15.6 23.3-23.26 53.8-34.9 84.4-34.9 30.6 0 61.2 11.64 84.5 34.9 46.6 46.6 46.6 122.4 0 168.9-46.5 46.6-122.4 46.6-168.9 0-22.2-22.2-33.9-51.1-34.9-80.2-11.5 1.8-22.8 5.6-33.2 11.4 5.8 33 21.4 64.5 46.9 90 66 66 172.9 66.1 238.9 0 66-66 66-172.8 0-238.84-33-33-76.3-49.5-119.5-49.5zM147.6 158.2c-27.9 7.7-58.94 25.4-76.75 44-47.5 47.4-60.8 116-40.1 175.3 8.91 24.1 23.56 47.1 40.1 63.6 66.05 66 172.95 66 238.95 0 19.1-19.1 32.6-41.6 40.7-65.5-16.2 2.5-32.6 2.9-48.8 1.2-3.8 5.4-8.2 10.6-13.1 15.5-62.7 39.7-137.8 40.6-173.3-4.4-20.57-26-32.05-58.8-30.55-85.8 2.58-41.6 26.85-79.9 57.75-98.5 10.2-5.9 37.6-15.1 61.6-15.1 33.7 1.5 60.6 11.1 84.5 34.9 22.3 22.1 33.8 51.1 34.8 80.3 11.6-1.8 22.9-5.6 33.3-11.4-9.4-41.6-26.9-73.2-53.9-96.7-21.4-18.7-44.1-31.4-70.6-37.6-28.4-7-58.6-6.5-84.6.2z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 1.6 KiB |
1
assets/icons/icon_injury.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="M256.3 21.84c-14.9 0-28.8 8.28-39.5 23.08-10.7 14.8-17.6 35.93-17.6 59.48 0 23.5 6.9 44.6 17.6 59.4 10.7 14.9 24.6 23.1 39.5 23.1 14.9 0 28.8-8.2 39.5-23.1 10.7-14.8 17.6-35.9 17.6-59.4 0-23.55-6.9-44.68-17.6-59.48-10.7-14.8-24.6-23.08-39.5-23.08zm51.3 156.06c-13 16.4-31.1 27-51.3 27-20.2 0-38.2-10.6-51.3-26.9-4.4.8-8.7 1.6-13.1 2.6 24 67.4 41.1 115.7 75.7 164.8 10.7-1.4 23.4-2.9 40.3-5l3.8-40.4c.8-8.7 5.6-15.7 12-20.6l-6.4-28.6 17.6-4 5.6 25.1c6.3-1.5 12.9-1.9 19.6-1.7 10.7.4 21.4 2.6 30.8 6.7-1.9-23.5-6.7-48.7-10.7-76.2-3.3-2.3-9.6-5.6-17.7-8.5-10.1-3.7-22.7-7.3-35.9-10.3-6.3-1.4-12.7-2.8-19-4zm-133.1 6.8c-5.5 1.5-10.8 3-15.8 4.6 12.6 45.5 50.4 172.7 101.8 245.6 20.5-.1 40.4-1.1 60-2.8-87.6-83.4-110-146.3-146-247.4zm-32.6 10.8c-4.5 2.1-8 4.1-10 5.6-24.1 80.3-31.2 194-16.7 289.1h49.1c-6.4-65.2-12.5-139.1 9.3-194.2-15.1-41.8-25.8-79.2-31.7-100.5zm214.4 92.6c-7.4.1-14.2 1.4-18.8 3.7-5.3 2.6-7.5 5.2-8 10l-5.2 54.6-7.1.9c-15.5 1.9-27.3 3.4-37.3 4.6 16.9 21.5 37.6 43.5 64.2 67.8 5-.6 10-1.2 15-1.9 10.2-1.3 16.8-5.5 22.4-11.7 5.7-6.1 9.9-14.5 13.5-23.2 14-34.2 8.7-74.5 2-89-1.4-3.2-6-7.4-13-10.4-6.9-3.1-15.9-5.1-24.5-5.4zm-172.5 35c-4 16.2-6 34.1-6.8 52.9 5.9-5.5 13.5-10.5 22.7-14.7-5.6-12.6-11-25.5-15.9-38.2zm23.5 54.5c-20.5 9.2-28.2 21.7-28.6 31-.6 11.7 8.6 23 30 24.6 10.2.7 20.2 1.2 30 1.5-11.3-17.4-21.8-36.9-31.4-57.1zm-29.1 63.5c1 16.5 2.5 33 4.1 49.1h162.3c4-15.1 8.4-29.6 12.8-44.1-47.5 6.1-96.4 8.9-150.1 4.9-11.4-.9-21.3-4.5-29.1-9.9z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 2.1 KiB |
1
assets/icons/icon_mental_disorder.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="M311.406 34.53c38.542 34.197 66.87 98.28 74.875 174.72-11.743-12.09-28.16-19.625-46.342-19.625-31.736 0-58.082 22.898-63.532 53.063-8.41-4.385-17.872-6.64-27.344-6.72-8.31-.07-16.654 1.55-24.312 4.876-6.17-29.252-32.13-51.22-63.22-51.22-22.542 0-42.38 11.558-53.936 29.064C113.944 141.055 141.15 75.113 179 38.563c-19.415 11.684-37.058 28.147-52.156 48.5-31.764 42.817-51.75 102.623-51.75 168.875 0 66.25 19.986 126.057 51.75 168.875 18.93 25.516 41.84 44.93 67.25 56.468-45.36-32.216-78.958-104.326-86.375-191.28 11.57 17.39 31.35 28.844 53.81 28.844 33.153 0 60.45-24.968 64.157-57.125 15.126-10.57 37.57-8.8 50.657 3.81 5.34 30.3 31.764 53.314 63.594 53.314 18.094 0 34.454-7.425 46.187-19.406-9.26 85.518-43.967 155.398-89.906 184.875 28.267-10.987 53.744-31.607 74.436-59.5 31.764-42.818 51.78-102.624 51.78-168.875.002-66.252-20.016-126.058-51.78-168.875-16.92-22.81-37.022-40.748-59.25-52.532zM139.186 361.69c54.808 94.924 164.16 94.283 218.595 0-61.404 35.452-146.178 34.58-218.592 0z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 1.6 KiB |
1
assets/icons/icon_motivation.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="M340.53 16.47l-19.25 89.374L391.94 16.47H340.53zm151.283 18.686L372.063 167.75l119.75-47.906V35.156zM185.375 80.25c-.652.01-1.293.034-1.938.063-9.51.422-18.37 2.635-25.687 7.593-16.964 11.492-11.295 37.156-22.78 63.094C95.73 239.616 56.09 303.885 21.062 351.313v103.375c61.582-21.345 153.303-43.464 287.343-47.907 28.125-.93 49.728 12.582 66.594 1.158 41.638-28.207 26.563-122.468-33.28-210.813-3.74-5.52-7.224-11.14-11.126-16.344-46.8-62.426-104.125-101.083-145.22-100.53zM180 104.75c-6.756 13.893-.412 43.86 15.938 80.75-5.16-18.626-4.688-32.142 2.687-36.625 16.125-9.802 59.054 27.175 95.875 82.594 36.82 55.417 53.593 108.29 37.47 118.093-6.634 4.032-17.81.138-31.22-9.688 27.717 28.092 52.734 44.51 68.094 43.656-1.785 3.17-3.675 6.244-6.5 8.158-26.9 18.225-91.755-30.25-144.656-108.344-52.902-78.094-73.87-156.34-46.97-174.563 2.757-1.866 5.784-3.525 9.282-4.03zm311.813 115.563l-84.688 27.437 84.688 12.844v-40.28z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 1.6 KiB |
1
assets/icons/icon_skill.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="M119.1 25v.1c-25 3.2-47.1 32-47.1 68.8 0 20.4 7.1 38.4 17.5 50.9L99.7 157 84 159.9c-13.7 2.6-23.8 9.9-32.2 21.5-8.5 11.5-14.9 27.5-19.4 45.8-8.2 33.6-9.9 74.7-10.1 110.5h44l11.9 158.4h96.3L185 337.7h41.9c0-36.2-.3-77.8-7.8-111.7-4-18.5-10.2-34.4-18.7-45.9-8.6-11.4-19.2-18.7-34.5-21l-16-2.5L160 144c10-12.5 16.7-30.2 16.7-50.1 0-39.2-24.8-68.8-52.4-68.8-2.9 0-4.7-.1-5.2-.1zM440 33c-17.2 0-31 13.77-31 31s13.8 31 31 31 31-13.77 31-31-13.8-31-31-31zM311 55v48H208v18h103v158h-55v18h55v110H208v18h103v32h80.8c-.5-2.9-.8-5.9-.8-9 0-3.1.3-6.1.8-9H329V297h62.8c-.5-2.9-.8-5.9-.8-9 0-3.1.3-6.1.8-9H329V73h62.8c-.5-2.92-.8-5.93-.8-9 0-3.07.3-6.08.8-9H311zm129 202c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31zm0 160c-17.2 0-31 13.8-31 31s13.8 31 31 31 31-13.8 31-31-13.8-31-31-31z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 1.4 KiB |
1
assets/icons/icon_weapon_fire.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="M42.652 136.716v32.494a24.107 24.107 0 0 0 8.168 18.1h270.5v-50.406a7.302 7.302 0 0 0-7.146-5.978h-81.512a19.33 19.33 0 0 0-18.172-12.768h-58.948c6.208 25.003-12.71 49.193-38.472 49.193S72.39 143.16 78.6 118.16H61.136c-10.223.035-18.49 8.335-18.485 18.558zm409.04 1.554l2.65-3.38 7.896-11.474c3.297-4.768 8.94-4.768 12.236 0l7.615 14.802h8.835v29.344H338.01V138.27h113.703zM39.074 396.064c18.09 15.597 51.33 13.933 71.643 1.366 21.22-13.127 4.11-31.993 32.13-67.606 8.595-10.932 31.41-42.446 51.47-71.06 6.174-8.814 18.035-3.522 43.602 6.607 6.363 1.39 14.48 1.79 18.578 2.132 19.016 0 42.086-17.687 44.218-32.423 2.173-15.016-6.757-19.388 2.828-21.993 3.328-.905 9.26-5.045 9.67-9.067h-41.027c8.512 4.59 14.145 12.518 14.145 21.49 0 14.186-13.99 25.68-31.295 25.68-17.306 0-31.294-11.474-31.294-25.68 0-8.993 5.633-16.9 14.145-21.49H77.754c23.19 20.206 11.09 43.812 2.806 55.412l-52.158 73.24c-14.555 20.452-5.557 49.4 10.672 63.392zm21.14-38.28c0-11.868 14.347-17.81 22.74-9.418 8.39 8.39 2.448 22.74-9.42 22.74-7.357 0-13.32-5.964-13.32-13.32zm188.2-117.13c-9.727-7.012-7.78-25.204-5.018-36.613h12.8c-7.575 8.55-11.452 27.26-7.783 36.615zM140.008 127.64c0 20.447-24.72 30.684-39.177 16.227-14.456-14.456-4.22-39.176 16.227-39.176 12.674 0 22.95 10.276 22.95 22.95z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 1.9 KiB |
1
assets/icons/icon_weapon_range.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="M89.594 18.094l-10.75 10.75.03.03 27.532 333.563-83.03 92.938 33.25 33.25 90.155-80.563 336.19 24.907c.06.062.124.124.186.186l.156-.156h.032v-.03l10.562-10.564c-1.676-1.676-3.122-3.437-4.687-5.156-21.332-25.55-25.416-63.24-35.47-109.125-8.323-37.99-21.225-81.042-53.094-125.03l-38.062 50.81c.005.008-.005.026 0 .032 28.988 36.074 46.027 67.766 59.72 96.25 15.017 31.247 26.122 59 44.467 83.688L165.314 391.5 337.53 237.594l64.376-85.97-41.53-41.53-85.907 64.312L122.81 344.094 98.156 45.25c24.68 18.33 52.425 29.426 83.656 44.438 28.49 13.693 60.2 30.72 96.282 59.718l50.812-38.062c-43.99-31.86-87.04-44.736-125.03-53.063C157.987 48.224 120.3 44.113 94.75 22.78c-1.72-1.564-3.48-3.01-5.156-4.686zm317.03.312c-3.385.028-6.862.406-10.28.97-4.558.75-8.992 1.837-12.813 3.093-3.82 1.254-6.776 2.302-9.717 4.624a7.184 7.184 0 0 0-2.72 6.187l5.032 62.345a7.184 7.184 0 0 0 2.063 4.53l33.656 33.626a7.184 7.184 0 0 0 4.5 2.095l62.344 5.03a7.184 7.184 0 0 0 6.218-2.718c2.335-2.944 3.367-5.895 4.625-9.718 1.26-3.824 2.343-8.255 3.095-12.814.752-4.56 1.18-9.198.875-13.625-.305-4.425-1.012-8.99-4.844-12.81L422.78 23.343c-3.822-3.824-8.384-4.54-12.81-4.844-1.108-.076-2.216-.103-3.345-.094zm.126 14.375c.8-.006 1.563.016 2.25.064 2.404.165 3.74.915 3.72.78l65.655 65.657c-.138-.023.616 1.318.78 3.72.19 2.746-.062 6.526-.686 10.313-.626 3.786-1.595 7.62-2.595 10.656-.412 1.25-.524 1.272-.938 2.186l-54.78-4.375-29.938-29.936-4.376-54.813c.913-.41.94-.495 2.187-.905 3.037-.998 6.872-1.97 10.658-2.594 2.84-.466 5.662-.728 8.062-.75zm-47.97 120.44l-18.936 31.593-204.5 204.468-8.844-.655-1.188-14.563 201.875-201.906 31.594-18.937z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 2.3 KiB |
1
assets/icons/ucin_equipment.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="M186.438 20.56l-13.184 26.365c6.8-.26 13.626-.488 20.47-.686l3.84-7.68h116.874l3.77 7.54c6.838.187 13.658.408 20.456.66l-13.102-26.2H186.437zm69.56 42.742c-45.757.056-91.452 1.566-135.38 4.363-3.24 50.58-8.4 100.987-.786 145.824 89.297 12.395 180.102 12.985 272.764-.054 7.055-30.988 5.117-84.68-1.04-145.89-43.974-2.893-89.73-4.3-135.558-4.244zm153.783 5.54c6.42 64.12 9.113 119.825-1.135 155.22l-1.61 5.56-5.726.842c-98.8 14.528-195.613 13.81-290.605.002l-6.285-.914-1.246-6.23c-9.89-49.49-4.085-102.785-.664-154.42-4.89.354-9.765.72-14.602 1.107-8.596 58.568-9.39 116.957-.05 175.292 110.24 12.088 222.275 12.205 336.203-.01 8.502-57.83 8.29-116.25-.017-175.313-4.725-.4-9.485-.776-14.262-1.14zM255.966 92.3c32.526-.025 65.067 2.746 97.574 8.39l7.46 1.295v7.572c0 15.554 1.683 35.105-12.69 50.25-9.912 10.444-25.655 17.337-51.31 20.585v18.164h-82v-18.452c-23.992-3.37-39.352-10.175-49.363-20.185C150.807 145.093 151 125.56 151 109.56v-7.594l7.484-1.278c32.444-5.54 64.955-8.362 97.48-8.386zm.012 17.994c-28.96.022-57.913 2.444-86.858 6.996.265 12.28 1.635 22.296 9.243 29.904 5.914 5.914 16.952 11.416 36.637 14.582v-29.22h82v29.51c21.367-3.115 32.66-8.755 38.254-14.65 7.033-7.41 7.696-17.502 7.73-30.124-29-4.63-58.006-7.02-87.007-6.998zM233 150.56v30h46v-30h-46zm209.674 92.42c-.503 3.625-1.042 7.25-1.61 10.87.214 2.352.42 4.706.63 7.06L471 290.213v-22.24l-28.326-24.995zm-373.485.12L41 267.973v22.24l29.318-29.318c.205-2.327.406-4.655.616-6.982-.618-3.605-1.202-7.21-1.745-10.813zm354.634 20.397c-10.29 1.09-20.564 2.076-30.824 2.967v74.095h16v66h-16v80.615c10.318-.633 20.63-1.313 30.928-2.082 9.445-74.01 6.478-147.698-.104-221.596zm-335.576.03C81.725 338.09 78.58 412.1 88.06 485.1c10.324.79 20.638 1.504 30.94 2.145V406.56h-16v-66h16v-74.024c-10.266-.902-20.517-1.903-30.752-3.01zm286.752 4.4c-10.014.76-20.014 1.424-30 1.992v70.64h30v-72.632zm-238 .085v72.547h30v-70.55c-10.015-.568-20.014-1.237-30-1.997zm190 2.825c-47.65 2.173-94.984 2.19-142 .078v19.314c23.95-5.165 47.8-7.652 71.516-7.59 23.638.06 47.145 2.654 70.484 7.626v-19.43zM68.05 288.62L41 315.67v56.89h23.06c.376-27.987 1.88-55.975 3.99-83.94zm375.948.047c2.12 27.872 3.61 55.83 3.957 83.892H471v-56.89l-27.002-27.003zm-187.52 11.95c-23.68-.063-47.487 2.577-71.478 8.052v31.89h16v18.443c17.033 5.346 31.73 8.493 46 9.426v-2.87h18v2.868c14.27-.932 28.967-4.08 46-9.425V340.56h16v-31.866c-23.42-5.267-46.907-8.016-70.523-8.078zM121 358.558v30h22v-23h18v23h22v-30h-62zm208 0v30h22v-23h18v23h22v-30h-62zM201 377.8v28.76h-16v15.857c48.528 10.865 95.713 10.664 142 .045V406.56h-16V377.8c-16.332 4.747-31.283 7.52-46 8.326v11.433h-18v-11.434c-14.717-.806-29.668-3.58-46-8.326zM41 390.56v14h23.14c-.09-4.667-.143-9.334-.163-14H41zm407.012 0c-.027 4.663-.083 9.33-.18 14H471v-14h-22.988zM137 406.56v19.798c6.137 7.214 11.222 9.77 14.934 9.844 3.734.075 8.697-2.122 15.066-9.79V406.56h-6v7h-18v-7h-6zm208 0v19.798c6.137 7.214 11.222 9.77 14.934 9.844 3.734.075 8.697-2.122 15.066-9.79V406.56h-6v7h-18v-7h-6zm-304 16v35.154c5.596 5.51 8.677 8.25 11.846 9.306 2.454.818 7.713 1.15 15.045 1.317-1.544-15.25-2.586-30.51-3.204-45.778H41zm406.27 0c-.628 15.224-1.674 30.483-3.21 45.78 7.358-.168 12.635-.5 15.094-1.32 3.17-1.056 6.25-3.795 11.846-9.306V422.56h-23.73zM185 440.842v49.498c47.55 1.51 94.877 1.446 142-.074V440.9c-46.316 10.03-93.74 10.185-142-.057zm-48 9.123v38.318c10.01.54 20.01 1.008 30 1.408v-39.678c-4.86 2.786-10.01 4.293-15.43 4.184-5.192-.104-10.036-1.624-14.57-4.232zm208 0v39.654c10.01-.403 20.01-.878 30-1.412v-38.194c-4.86 2.786-10.01 4.293-15.43 4.184-5.192-.104-10.036-1.624-14.57-4.232z" fill="#a7de9a" fill-opacity="1" filter="url(#shadow-1)"></path></g></svg>
|
After Width: | Height: | Size: 4.2 KiB |
@ -1,10 +1,14 @@
|
||||
:root {
|
||||
--font-size-standard: 1rem;
|
||||
--font-size-standard: 0.9rem;
|
||||
--background-image-base: url("../assets/parchment.jpg");
|
||||
--font-primary: "Georama";
|
||||
--font-secondary: "Georama";
|
||||
--logo-standard: url("../assets/logos/reanimated-ce-logo.webp");
|
||||
}
|
||||
.era-icon-color {
|
||||
/*filter: invert(90%) sepia(10%) saturate(1215%) hue-rotate(55deg) brightness(93%) contrast(89%);*/
|
||||
/*filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(86deg) brightness(118%) contrast(119%);*/
|
||||
}
|
||||
#logo {
|
||||
content: var(--logo-standard);
|
||||
width: 50px;
|
||||
@ -1170,6 +1174,83 @@ i.lethalfantasy {
|
||||
.fvtt-cthulhu-eternal .arcane-content label {
|
||||
flex: 10%;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .archetype-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 .archetype-content input:disabled,
|
||||
.fvtt-cthulhu-eternal .archetype-content select:disabled {
|
||||
background-color: rgba(0, 0, 0, 0.2);
|
||||
border-color: transparent;
|
||||
color: var(--color-dark-3);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .archetype-content input,
|
||||
.fvtt-cthulhu-eternal .archetype-content select {
|
||||
background-color: rgba(0, 0, 0, 0.1);
|
||||
border-color: var(--color-dark-6);
|
||||
color: var(--color-dark-2);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .archetype-content input[name="name"] {
|
||||
height: 50px;
|
||||
margin-right: 10px;
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
font-weight: bold;
|
||||
border: none;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .archetype-content fieldset {
|
||||
margin-bottom: 5px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .archetype-content .form-fields input,
|
||||
.fvtt-cthulhu-eternal .archetype-content .form-fields select {
|
||||
text-align: center;
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .archetype-content .form-fields select {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
}
|
||||
.fvtt-cthulhu-eternal .archetype-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 .archetype-content .form-fields {
|
||||
padding-top: 5px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .archetype-content label {
|
||||
font-family: var(--font-secondary);
|
||||
font-size: calc(var(--font-size-standard) * 1);
|
||||
flex: 50%;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .archetype-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 .archetype-content .shift-right {
|
||||
margin-left: 2rem;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .archetype-content .header {
|
||||
display: flex;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .archetype-content .header img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
.fvtt-cthulhu-eternal .archetype-content label {
|
||||
flex: 10%;
|
||||
}
|
||||
.application.dialog.lethalfantasy {
|
||||
color: var(--color-dark-1);
|
||||
}
|
||||
|
@ -14,6 +14,7 @@ import * as applications from "./module/applications/_module.mjs"
|
||||
import { handleSocketEvent } from "./module/socket.mjs"
|
||||
import { Macros } from "./module/macros.mjs"
|
||||
import { setupTextEnrichers } from "./module/enrichers.mjs"
|
||||
import { CthulhuEternalUtils} from "./module/utils.mjs"
|
||||
|
||||
export class ClassCounter{static printHello(){console.log("Hello")}static sendJsonPostRequest(e,s){const t={method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify(s)};return fetch(e,t).then((e=>{if(!e.ok)throw new Error("La requête a échoué avec le statut "+e.status);return e.json()})).catch((e=>{throw console.error("Erreur envoi de la requête:",e),e}))}static registerUsageCount(e=game.system.id,s={}){if(game.user.isGM){game.settings.register(e,"world-key",{name:"Unique world key",scope:"world",config:!1,default:"",type:String});let t=game.settings.get(e,"world-key");null!=t&&""!=t&&"NONE"!=t&&"none"!=t.toLowerCase()||(t=foundry.utils.randomID(32),game.settings.set(e,"world-key",t));let a={name:e,system:game.system.id,worldKey:t,version:game.system.version,language:game.settings.get("core","language"),remoteAddr:game.data.addresses.remote,nbInstalledModules:game.modules.size,nbActiveModules:game.modules.filter((e=>e.active)).length,nbPacks:game.world.packs.size,nbUsers:game.users.size,nbScenes:game.scenes.size,nbActors:game.actors.size,nbPlaylist:game.playlists.size,nbTables:game.tables.size,nbCards:game.cards.size,optionsData:s,foundryVersion:`${game.release.generation}.${game.release.build}`};this.sendJsonPostRequest("https://www.uberwald.me/fvtt_appcount/count_post.php",a)}}}
|
||||
|
||||
@ -46,7 +47,8 @@ Hooks.once("init", function () {
|
||||
mentaldisorder: models.CthulhuEternalMentalDisorder,
|
||||
bond: models.CthulhuEternalBond,
|
||||
arcane: models.CthulhuEternalArcane,
|
||||
gear: models.CthulhuEternalGear
|
||||
gear: models.CthulhuEternalGear,
|
||||
archetype: models.CthulhuEternalArchetype
|
||||
}
|
||||
|
||||
// Register sheet application classes
|
||||
@ -63,6 +65,7 @@ Hooks.once("init", function () {
|
||||
Items.registerSheet("fvtt-cthulhu-eternal", applications.CthulhuEternalArmorSheet, { types: ["armor"], makeDefault: true })
|
||||
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 })
|
||||
|
||||
// Other Document Configuration
|
||||
CONFIG.ChatMessage.documentClass = documents.CthulhuEternalChatMessage
|
||||
@ -82,6 +85,7 @@ Hooks.once("init", function () {
|
||||
game.socket.on(`system.${SYSTEM.id}`, handleSocketEvent)
|
||||
|
||||
setupTextEnrichers()
|
||||
CthulhuEternalUtils.registerHandlebarsHelpers()
|
||||
|
||||
// Gestion des jets de dés depuis les journaux
|
||||
document.addEventListener("click", (event) => {
|
||||
|
78
lang/en.json
@ -10,9 +10,10 @@
|
||||
"injury": "Injury",
|
||||
"gear": "Gear",
|
||||
"motivation": "Motivation",
|
||||
"mentaldisorder": "MentalDisorder",
|
||||
"mentaldisorder": "Mental Disorder",
|
||||
"bond": "Bond" ,
|
||||
"arcane": "Arcane"
|
||||
"arcane": "Arcane",
|
||||
"archetype": "Archetype"
|
||||
}
|
||||
},
|
||||
"CTHULHUETERNAL": {
|
||||
@ -31,28 +32,33 @@
|
||||
},
|
||||
"Protagonist": {
|
||||
"FIELDS": {
|
||||
"str": {
|
||||
"label": "Strength"
|
||||
},
|
||||
"dex": {
|
||||
"label": "Dexterity"
|
||||
},
|
||||
"int": {
|
||||
"label": "Intelligence"
|
||||
},
|
||||
"pow": {
|
||||
"label": "Power"
|
||||
},
|
||||
"con": {
|
||||
"label": "Constitution"
|
||||
},
|
||||
"char": {
|
||||
"label": "Charisma"
|
||||
"characteristics:": {
|
||||
"str": {
|
||||
"label": "Strength"
|
||||
},
|
||||
"dex": {
|
||||
"label": "Dexterity"
|
||||
},
|
||||
"int": {
|
||||
"label": "Intelligence"
|
||||
},
|
||||
"pow": {
|
||||
"label": "Power"
|
||||
},
|
||||
"con": {
|
||||
"label": "Constitution"
|
||||
},
|
||||
"char": {
|
||||
"label": "Charisma"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Skill": {
|
||||
"FIELDS": {
|
||||
"settings": {
|
||||
"label": "Settings era"
|
||||
},
|
||||
"diceEvolved": {
|
||||
"label": "Can increase on failure"
|
||||
},
|
||||
@ -188,6 +194,19 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"Archetype": {
|
||||
"FIELDS": {
|
||||
"settings": {
|
||||
"label": "Settings era"
|
||||
},
|
||||
"value": {
|
||||
"label": "Value"
|
||||
},
|
||||
"description": {
|
||||
"label": "Description"
|
||||
}
|
||||
}
|
||||
},
|
||||
"BondType": {
|
||||
"individual": "Individual",
|
||||
"community": "Community"
|
||||
@ -196,6 +215,12 @@
|
||||
"protagonist": "Protagonist",
|
||||
"characteristics": "Characteristics",
|
||||
"description": "Description",
|
||||
"strShort": "STR",
|
||||
"dexShort": "DEX",
|
||||
"intShort": "INT",
|
||||
"powShort": "POW",
|
||||
"conShort": "CON",
|
||||
"chaShort": "CHA",
|
||||
"total": "Total",
|
||||
"skills": "Skills",
|
||||
"gear": "Gear",
|
||||
@ -208,7 +233,19 @@
|
||||
"experience": "Experience",
|
||||
"maximum": "Maximum",
|
||||
"equipment": "Equipment",
|
||||
"biography": "Biography"
|
||||
"biography": "Biography",
|
||||
"notes": "Notes",
|
||||
"weapons": "Weapons",
|
||||
"HP": "HP",
|
||||
"SAN": "SAN",
|
||||
"current": "Current",
|
||||
"max": "Max",
|
||||
"recovery": "Recovery",
|
||||
"violence" : "Violence",
|
||||
"helplessness": "Helplessness",
|
||||
"breakingPoint": "Breaking Point",
|
||||
"willpower": "Willpower",
|
||||
"exhausted": "Exhausted"
|
||||
},
|
||||
"Edit": "Edit",
|
||||
"Delete": "Delete",
|
||||
@ -223,6 +260,7 @@
|
||||
"roll": "Lancer"
|
||||
},
|
||||
"Tooltip": {
|
||||
"sanBP": ">5 SAN lost in one roll, temporary insanity. If SAN less reaches BP = a Disorder unconscious Breaking and AND reset BP."
|
||||
},
|
||||
"Setting": {
|
||||
},
|
||||
|
@ -8,3 +8,4 @@ export { default as CthulhuEternalArmorSheet } from "./sheets/armor-sheet.mjs"
|
||||
export { default as CthulhuEternalMentalDisorderSheet } from "./sheets/mentaldisorder-sheet.mjs"
|
||||
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"
|
||||
|
28
module/applications/sheets/archetype-sheet.mjs
Normal file
@ -0,0 +1,28 @@
|
||||
import CthulhuEternalItemSheet from "./base-item-sheet.mjs"
|
||||
|
||||
export default class CthulhuEternalArchetypeSheet extends CthulhuEternalItemSheet {
|
||||
/** @override */
|
||||
static DEFAULT_OPTIONS = {
|
||||
classes: ["archetype"],
|
||||
position: {
|
||||
width: 600,
|
||||
},
|
||||
window: {
|
||||
contentClasses: ["archetype-content"],
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static PARTS = {
|
||||
main: {
|
||||
template: "systems/fvtt-cthulhu-eternal/templates/archetype.hbs",
|
||||
},
|
||||
}
|
||||
|
||||
/** @override */
|
||||
async _prepareContext() {
|
||||
const context = await super._prepareContext()
|
||||
context.enrichedDescription = await TextEditor.enrichHTML(this.document.system.description, { async: true })
|
||||
return context
|
||||
}
|
||||
}
|
@ -32,7 +32,8 @@ export default class CthulhuEternalActorSheet extends HandlebarsApplicationMixin
|
||||
editImage: CthulhuEternalActorSheet.#onEditImage,
|
||||
toggleSheet: CthulhuEternalActorSheet.#onToggleSheet,
|
||||
edit: CthulhuEternalActorSheet.#onItemEdit,
|
||||
delete: CthulhuEternalActorSheet.#onItemDelete
|
||||
delete: CthulhuEternalActorSheet.#onItemDelete,
|
||||
updateCheckboxArray: CthulhuEternalActorSheet.#onUpdateCheckboxArray,
|
||||
},
|
||||
}
|
||||
|
||||
@ -223,6 +224,18 @@ export default class CthulhuEternalActorSheet extends HandlebarsApplicationMixin
|
||||
this.render()
|
||||
}
|
||||
|
||||
static #onUpdateCheckboxArray(event, target) {
|
||||
console.log("Update checkbox array", event, target)
|
||||
let arrayName = target.dataset.name
|
||||
let arrayIdx = Number(target.dataset.index)
|
||||
let dataPath = `system.san.${arrayName}`
|
||||
let tab = foundry.utils.duplicate(this.document.system.san[arrayName])
|
||||
tab[arrayIdx] = target.checked
|
||||
this.actor.update( { [dataPath]: tab } )
|
||||
// Dump
|
||||
console.log("Array name", arrayName, arrayIdx, target.checked, dataPath)
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle changing a Document's image.
|
||||
*
|
||||
|
@ -1,11 +1,11 @@
|
||||
export const CHARACTERISTICS = Object.freeze({
|
||||
str: {
|
||||
id: "str",
|
||||
label: "CTHULHUETERNAL.Character.str.label"
|
||||
label: "CTHULHUETERNAL.Label.strShort"
|
||||
},
|
||||
int: {
|
||||
id: "int",
|
||||
label: "CTHULHUETERNAL.Character.int.label"
|
||||
label: "CTHULHUETERNAL.Label.intShort"
|
||||
},
|
||||
pow: {
|
||||
id: "pow",
|
||||
|
@ -20,15 +20,18 @@ export const AVAILABLE_SETTINGS = {
|
||||
}
|
||||
|
||||
export const ASCII = `
|
||||
······················································································································
|
||||
: :
|
||||
:@@@ @@@@@@@@ @@@@@@@ @@@ @@@ @@@@@@ @@@ @@@@@@@@ @@@@@@ @@@ @@@ @@@@@@@ @@@@@@ @@@@@@ @@@ @@@ :
|
||||
:@@! @@! @!! @@! @@@ @@! @@@ @@! @@! @@! @@@ @@!@!@@@ @!! @@! @@@ !@@ @@! !@@ :
|
||||
:@!! @!!!:! @!! @!@!@!@! @!@!@!@! @!! @!!!:! @!@!@!@! @!@@!!@! @!! @!@!@!@! !@@!! !@!@! :
|
||||
:!!: !!: !!: !!: !!! !!: !!! !!: !!: !!: !!! !!: !!! !!: !!: !!! !:! !!: :
|
||||
:: ::.: : : :: :: : : : : : : : : ::.: : : : : : :: : : : : : ::.: : .: :
|
||||
: :
|
||||
······················································································································
|
||||
▄████▄ ▄▄▄█████▓ ██░ ██ █ ██ ██▓ ██░ ██ █ ██ ▓█████▄▄▄█████▓▓█████ ██▀███ ███▄ █ ▄▄▄ ██▓
|
||||
▒██▀ ▀█ ▓ ██▒ ▓▒▓██░ ██▒ ██ ▓██▒▓██▒ ▓██░ ██▒ ██ ▓██▒ ▓█ ▀▓ ██▒ ▓▒▓█ ▀ ▓██ ▒ ██▒ ██ ▀█ █ ▒████▄ ▓██▒
|
||||
▒▓█ ▄ ▒ ▓██░ ▒░▒██▀▀██░▓██ ▒██░▒██░ ▒██▀▀██░▓██ ▒██░ ▒███ ▒ ▓██░ ▒░▒███ ▓██ ░▄█ ▒▓██ ▀█ ██▒▒██ ▀█▄ ▒██░
|
||||
▒▓▓▄ ▄██▒░ ▓██▓ ░ ░▓█ ░██ ▓▓█ ░██░▒██░ ░▓█ ░██ ▓▓█ ░██░ ▒▓█ ▄░ ▓██▓ ░ ▒▓█ ▄ ▒██▀▀█▄ ▓██▒ ▐▌██▒░██▄▄▄▄██ ▒██░
|
||||
▒ ▓███▀ ░ ▒██▒ ░ ░▓█▒░██▓▒▒█████▓ ░██████▒░▓█▒░██▓▒▒█████▓ ░▒████▒ ▒██▒ ░ ░▒████▒░██▓ ▒██▒▒██░ ▓██░ ▓█ ▓██▒░██████▒
|
||||
░ ░▒ ▒ ░ ▒ ░░ ▒ ░░▒░▒░▒▓▒ ▒ ▒ ░ ▒░▓ ░ ▒ ░░▒░▒░▒▓▒ ▒ ▒ ░░ ▒░ ░ ▒ ░░ ░░ ▒░ ░░ ▒▓ ░▒▓░░ ▒░ ▒ ▒ ▒▒ ▓▒█░░ ▒░▓ ░
|
||||
░ ▒ ░ ▒ ░▒░ ░░░▒░ ░ ░ ░ ░ ▒ ░ ▒ ░▒░ ░░░▒░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░▒ ░ ▒░░ ░░ ░ ▒░ ▒ ▒▒ ░░ ░ ▒ ░
|
||||
░ ░ ░ ░░ ░ ░░░ ░ ░ ░ ░ ░ ░░ ░ ░░░ ░ ░ ░ ░ ░ ░░ ░ ░ ░ ░ ░ ▒ ░ ░
|
||||
░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░
|
||||
░
|
||||
|
||||
|
||||
`
|
||||
|
||||
/**
|
||||
|
@ -1 +1,21 @@
|
||||
export default class CthulhuEternalItem extends Item {}
|
||||
export const defaultItemImg = {
|
||||
weapon: "systems/fvtt-cthulhu-eternal/assets/icons/icon_weapon.svg",
|
||||
armor: "systems/fvtt-cthulhu-eternal/assets/icons/icon_armor.svg",
|
||||
gear: "systems/fvtt-cthulhu-eternal/assets/icons/icon_gear.svg",
|
||||
skill: "systems/fvtt-cthulhu-eternal/assets/icons/icon_skill.svg",
|
||||
archetype: "systems/fvtt-cthulhu-eternal/assets/icons/icon_archetype.svg",
|
||||
bond: "systems/fvtt-cthulhu-eternal/assets/icons/icon_bond.svg",
|
||||
mentaldisorder: "systems/fvtt-cthulhu-eternal/assets/icons/icon_mentaldisorder.svg",
|
||||
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",
|
||||
}
|
||||
|
||||
export default class CthulhuEternalItem extends Item {
|
||||
constructor(data, context) {
|
||||
if (!data.img) {
|
||||
data.img = defaultItemImg[data.type];
|
||||
}
|
||||
super(data, context);
|
||||
}
|
||||
}
|
||||
|
@ -1,4 +1,3 @@
|
||||
import CthulhuEternalUtils from "../utils.mjs"
|
||||
|
||||
export default class CthulhuEternalRoll extends Roll {
|
||||
/**
|
||||
|
@ -8,3 +8,4 @@ export { default as CthulhuEternalMentalDisorder } from "./mentaldisorder.mjs"
|
||||
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"
|
||||
|
22
module/models/archetype.mjs
Normal file
@ -0,0 +1,22 @@
|
||||
import { SYSTEM } from "../config/system.mjs"
|
||||
export default class CthulhuEternalArchetype extends foundry.abstract.TypeDataModel {
|
||||
static defineSchema() {
|
||||
const fields = foundry.data.fields
|
||||
const requiredInteger = { required: true, nullable: false, integer: true }
|
||||
const schema = {}
|
||||
|
||||
schema.settings = new fields.StringField({ required: true, initial: "common", choices: SYSTEM.AVAILABLE_SETTINGS })
|
||||
|
||||
schema.description = new fields.HTMLField({
|
||||
required: false,
|
||||
blank: true,
|
||||
initial: "",
|
||||
textSearch: true,
|
||||
})
|
||||
|
||||
return schema
|
||||
}
|
||||
|
||||
/** @override */
|
||||
static LOCALIZATION_PREFIXES = ["CTHULHUETERNAL.Archetype"]
|
||||
}
|
@ -41,10 +41,11 @@ export default class CthulhuEternalProtagonist extends foundry.abstract.TypeData
|
||||
schema.san = new fields.SchemaField({
|
||||
value: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
max: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
recoverySAN: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
violence: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
helplessness: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
breakingPoint: new fields.BooleanField({ required: true, initial: false })
|
||||
recovery: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 }),
|
||||
violence: new fields.ArrayField(new fields.BooleanField(), { required: true, initial: [false, false, false], min:3, max:3}),
|
||||
helplessness: new fields.ArrayField(new fields.BooleanField(), { required: true, initial: [false, false, false], min:3, max:3 }),
|
||||
|
||||
breakingPoint: new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
})
|
||||
|
||||
schema.damageBonus = new fields.NumberField({ ...requiredInteger, initial: 0, min: 0 })
|
||||
@ -58,6 +59,7 @@ export default class CthulhuEternalProtagonist extends foundry.abstract.TypeData
|
||||
|
||||
schema.biodata = new fields.SchemaField({
|
||||
age: new fields.NumberField({ ...requiredInteger, initial: 15, min: 6 }),
|
||||
archetype: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
||||
height: new fields.NumberField({ ...requiredInteger, initial: 170, min: 50 }),
|
||||
gender: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
||||
home: new fields.StringField({ required: true, nullable: false, initial: "" }),
|
||||
|
154
module/utils.mjs
@ -1,4 +1,156 @@
|
||||
|
||||
export default class CthulhuEternalUtils {
|
||||
export class CthulhuEternalUtils {
|
||||
|
||||
static registerHandlebarsHelpers() {
|
||||
|
||||
Handlebars.registerHelper('isNull', function (val) {
|
||||
return val == null;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('exists', function (val) {
|
||||
return val != null && val !== undefined;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('isEmpty', function (list) {
|
||||
if (list) return list.length === 0;
|
||||
else return false;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('notEmpty', function (list) {
|
||||
return list.length > 0;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('isNegativeOrNull', function (val) {
|
||||
return val <= 0;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('isNegative', function (val) {
|
||||
return val < 0;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('isPositive', function (val) {
|
||||
return val > 0;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('equals', function (val1, val2) {
|
||||
return val1 === val2;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('neq', function (val1, val2) {
|
||||
return val1 !== val2;
|
||||
});
|
||||
|
||||
Handlebars.registerHelper('gt', function (val1, val2) {
|
||||
return val1 > val2;
|
||||
})
|
||||
|
||||
Handlebars.registerHelper('lt', function (val1, val2) {
|
||||
return val1 < val2;
|
||||
})
|
||||
|
||||
Handlebars.registerHelper('gte', function (val1, val2) {
|
||||
return val1 >= val2;
|
||||
})
|
||||
|
||||
Handlebars.registerHelper('lte', function (val1, val2) {
|
||||
return val1 <= val2;
|
||||
})
|
||||
Handlebars.registerHelper('and', function (val1, val2) {
|
||||
return val1 && val2;
|
||||
})
|
||||
Handlebars.registerHelper('or', function (val1, val2) {
|
||||
return val1 || val2;
|
||||
})
|
||||
|
||||
Handlebars.registerHelper('or3', function (val1, val2, val3) {
|
||||
return val1 || val2 || val3;
|
||||
})
|
||||
|
||||
Handlebars.registerHelper('for', function (from, to, incr, block) {
|
||||
let accum = '';
|
||||
for (let i = from; i < to; i += incr)
|
||||
accum += block.fn(i);
|
||||
return accum;
|
||||
})
|
||||
|
||||
Handlebars.registerHelper('not', function (cond) {
|
||||
return !cond;
|
||||
})
|
||||
Handlebars.registerHelper('count', function (list) {
|
||||
return list.length;
|
||||
})
|
||||
Handlebars.registerHelper('countKeys', function (obj) {
|
||||
return Object.keys(obj).length;
|
||||
})
|
||||
|
||||
Handlebars.registerHelper('isEnabled', function (configKey) {
|
||||
return game.settings.get("bol", configKey);
|
||||
})
|
||||
Handlebars.registerHelper('split', function (str, separator, keep) {
|
||||
return str.split(separator)[keep];
|
||||
})
|
||||
|
||||
// If you need to add Handlebars helpers, here are a few useful examples:
|
||||
Handlebars.registerHelper('concat', function () {
|
||||
let outStr = '';
|
||||
for (let arg in arguments) {
|
||||
if (typeof arguments[arg] != 'object') {
|
||||
outStr += arguments[arg];
|
||||
}
|
||||
}
|
||||
return outStr;
|
||||
})
|
||||
|
||||
Handlebars.registerHelper('add', function (a, b) {
|
||||
return parseInt(a) + parseInt(b);
|
||||
});
|
||||
Handlebars.registerHelper('mul', function (a, b) {
|
||||
return parseInt(a) * parseInt(b);
|
||||
})
|
||||
Handlebars.registerHelper('sub', function (a, b) {
|
||||
return parseInt(a) - parseInt(b);
|
||||
})
|
||||
Handlebars.registerHelper('abbrev2', function (a) {
|
||||
return a.substring(0, 2);
|
||||
})
|
||||
Handlebars.registerHelper('abbrev3', function (a) {
|
||||
return a.substring(0, 3);
|
||||
})
|
||||
Handlebars.registerHelper('valueAtIndex', function (arr, idx) {
|
||||
return arr[idx];
|
||||
})
|
||||
Handlebars.registerHelper('includesKey', function (items, type, key) {
|
||||
return items.filter(i => i.type === type).map(i => i.system.key).includes(key);
|
||||
})
|
||||
Handlebars.registerHelper('includes', function (array, val) {
|
||||
return array.includes(val);
|
||||
})
|
||||
Handlebars.registerHelper('eval', function (expr) {
|
||||
return eval(expr);
|
||||
})
|
||||
Handlebars.registerHelper('isOwnerOrGM', function (actor) {
|
||||
console.log("Testing actor", actor.isOwner, game.userId)
|
||||
return actor.isOwner || game.isGM;
|
||||
})
|
||||
Handlebars.registerHelper('upperFirst', function (text) {
|
||||
if (typeof text !== 'string') return text
|
||||
return text.charAt(0).toUpperCase() + text.slice(1)
|
||||
})
|
||||
Handlebars.registerHelper('upperFirstOnly', function (text) {
|
||||
if (typeof text !== 'string') return text
|
||||
return text.charAt(0).toUpperCase()
|
||||
})
|
||||
Handlebars.registerHelper('isCreature', function (key) {
|
||||
return key === "creature" || key === "daemon";
|
||||
})
|
||||
|
||||
// Handle v12 removal of this helper
|
||||
Handlebars.registerHelper('select', function (selected, options) {
|
||||
const escapedValue = RegExp.escape(Handlebars.escapeExpression(selected));
|
||||
const rgx = new RegExp(' value=[\"\']' + escapedValue + '[\"\']');
|
||||
const html = options.fn(this);
|
||||
return html.replace(rgx, "$& selected");
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
16
styles/archetype.less
Normal file
@ -0,0 +1,16 @@
|
||||
.archetype-content {
|
||||
.sheet-common();
|
||||
.item-sheet-common();
|
||||
|
||||
.header {
|
||||
display: flex;
|
||||
img {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
}
|
||||
}
|
||||
|
||||
label {
|
||||
flex: 10%;
|
||||
}
|
||||
}
|
@ -13,6 +13,7 @@
|
||||
@import "chat.less";
|
||||
@import "gear.less";
|
||||
@import "arcane.less";
|
||||
@import "archetype.less";
|
||||
}
|
||||
|
||||
@import "roll.less";
|
||||
|
@ -1,11 +1,16 @@
|
||||
:root {
|
||||
--font-size-standard: 1.0rem;
|
||||
--font-size-standard: 0.9rem;
|
||||
--background-image-base: url("../assets/parchment.jpg");
|
||||
--font-primary: "Georama";
|
||||
--font-secondary: "Georama";
|
||||
--logo-standard: url("../assets/logos/reanimated-ce-logo.webp");
|
||||
}
|
||||
|
||||
.era-icon-color {
|
||||
/*filter: invert(90%) sepia(10%) saturate(1215%) hue-rotate(55deg) brightness(93%) contrast(89%);*/
|
||||
/*filter: invert(48%) sepia(79%) saturate(2476%) hue-rotate(86deg) brightness(118%) contrast(119%);*/
|
||||
}
|
||||
|
||||
#logo {
|
||||
content: var(--logo-standard);
|
||||
width: 50px;
|
||||
|
@ -13,6 +13,12 @@
|
||||
"discord": "LeRatierBretonnien"
|
||||
}
|
||||
],
|
||||
"flags": {
|
||||
"hotReload": {
|
||||
"extensions": ["css", "html", "hbs", "json"],
|
||||
"paths": ["acks.css", "./", "templates", "css", "lang/en.json"]
|
||||
}
|
||||
},
|
||||
"compatibility": {
|
||||
"minimum": "12",
|
||||
"verified": "12"
|
||||
@ -39,7 +45,8 @@
|
||||
"mentaldisorder": { "htmlFields": ["description"] },
|
||||
"motivation": { "htmlFields": ["description"] },
|
||||
"arcane": { "htmlFields": ["description"] },
|
||||
"gear": { "htmlFields": ["description"] }
|
||||
"gear": { "htmlFields": ["description"] },
|
||||
"archetype": { "htmlFields": ["description"] }
|
||||
}
|
||||
},
|
||||
"grid": {
|
||||
|
14
templates/archetype.hbs
Normal file
@ -0,0 +1,14 @@
|
||||
<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>
|
||||
|
||||
{{formField systemFields.settings value=system.settings localize=true}}
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.description"}}</legend>
|
||||
{{formInput systemFields.description enriched=description value=system.description name="system.description" toggled=true}}
|
||||
</fieldset>
|
||||
|
||||
</section>h
|
@ -1,10 +1,10 @@
|
||||
<section class="tab protagonist-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Character.Label.description"}}</legend>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.description"}}</legend>
|
||||
{{formInput systemFields.description enriched=description value=system.description name="system.description" toggled=true}}
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Character.Label.notes"}}</legend>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.notes"}}</legend>
|
||||
{{formInput systemFields.notes enriched=notes value=system.notes name="system.notes" toggled=true}}
|
||||
</fieldset>
|
||||
</section>
|
@ -1,14 +1,13 @@
|
||||
<section class="tab protagonist-{{tab.id}} {{tab.cssClass}}" data-tab="{{tab.id}}" data-group="{{tab.group}}">
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.weapon"}}{{#if isEditMode}}<a class="action" data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i class="fas fa-plus" data-action="createEquipment"></i></a>{{/if}}</legend>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.weapons"}}{{#if isEditMode}}
|
||||
<a class="action" data-tooltip="{{localize "CTHULHUETERNAL.Tooltip.addWeapon"}}" data-tooltip-direction="UP"><i class="fas fa-plus" data-action="createEquipment"></i></a>{{/if}}</legend>
|
||||
<div class="weapons">
|
||||
{{#each weapons as |item|}}
|
||||
{{!log 'weapon' this}}
|
||||
<div class="weapon" data-item-id="{{item.id}}" data-item-uuid="{{item.uuid}}" data-drag="true" data-drag-type="damage">
|
||||
{{#if (ne item.img "icons/svg/item-bag.svg")}}
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
{{/if}}
|
||||
<img class="item-img" src="{{item.img}}" data-tooltip="{{item.name}}" />
|
||||
<div class="name" data-tooltip="{{{item.system.description}}}">
|
||||
{{item.name}}
|
||||
</div>
|
||||
|
@ -9,6 +9,15 @@
|
||||
<img class="protagonist-img" src="{{actor.img}}" data-edit="img" data-action="editImage"
|
||||
data-tooltip="{{actor.name}}" />
|
||||
</div>
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.HP"}}</legend>
|
||||
<div class="flexrow">
|
||||
{{formField systemFields.hp.fields.value value=system.hp.value}}
|
||||
/
|
||||
{{formField systemFields.hp.fields.max value=system.hp.max rootId=partId disabled=isPlayMode}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
</div>
|
||||
<div class="protagonist-right">
|
||||
<div class="protagonist-name">
|
||||
@ -18,58 +27,87 @@
|
||||
<i class="fa-solid fa-user-{{ifThen isPlayMode 'lock' 'pen'}}"></i>
|
||||
</a>
|
||||
</div>
|
||||
<div class="protagonist-infos">
|
||||
<div class="protagonist-hp">
|
||||
<div class="protagonist-hp-value">
|
||||
{{formField systemFields.hp.fields.value value=system.hp.value}}
|
||||
</div>
|
||||
<div class="hp-separator">/</div>
|
||||
<div class="protagonist-hp-max">
|
||||
{{formInput systemFields.hp.fields.max value=system.hp.max rootId=partId disabled=isPlayMode}}
|
||||
</div>
|
||||
|
||||
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.SAN"}}</legend>
|
||||
<div class="flexrow">
|
||||
{{localize "CTHULHUETERNAL.Label.current"}} {{formField systemFields.san.fields.value
|
||||
value=system.san.value}}
|
||||
{{localize "CTHULHUETERNAL.Label.max"}} {{formField systemFields.san.fields.max value=system.san.max
|
||||
rootId=partId disabled=isPlayMode}}
|
||||
{{localize "CTHULHUETERNAL.Label.recovery"}} {{formField systemFields.san.fields.recovery
|
||||
value=system.san.recovery}}
|
||||
<span data-tooltip='{{localize "CTHULHUETERNAL.Tooltip.sanBP"}}'>{{localize "CTHULHUETERNAL.Label.breakingPoint"}}</span> {{formField systemFields.san.fields.breakingPoint
|
||||
value=system.san.breakingPoint}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
{{localize "CTHULHUETERNAL.Label.violence"}}
|
||||
{{#each system.san.violence as |violence idx|}}
|
||||
<input type="checkbox" data-action="updateCheckboxArray" data-index="{{@index}}" data-name="violence" {{#if
|
||||
violence}} checked {{/if}}>
|
||||
{{/each}}
|
||||
</div>
|
||||
<div class="flexrow">
|
||||
{{localize "CTHULHUETERNAL.Label.helplessness"}}
|
||||
{{#each system.san.helplessness as |helplessness idx|}}
|
||||
<input type="checkbox" data-action="updateCheckboxArray" data-index="{{@index}}" data-name="helplessness"
|
||||
{{#if helplessness}} checked {{/if}}>
|
||||
{{/each}}
|
||||
</div>
|
||||
</fieldset>
|
||||
<fieldset>
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.willpower"}}</legend>
|
||||
<div class="flexrow">
|
||||
{{localize "CTHULHUETERNAL.Label.current"}}{{formField systemFields.wp.fields.value value=system.wp.value}}
|
||||
{{localize "CTHULHUETERNAL.Label.max"}}{{formField systemFields.wp.fields.max value=system.wp.max rootId=partId disabled=isPlayMode}}
|
||||
{{localize "CTHULHUETERNAL.Label.exhausted"}}{{formField systemFields.wp.fields.exhausted value=system.wp.exhausted }}
|
||||
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset class="protagonist-characteristics protagonist-characteristics-{{ifThen isPlayMode 'play' 'edit'}}">
|
||||
<legend>{{localize "CTHULHUETERNAL.Label.characteristics"}}</legend>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCharacteristic.str}}"
|
||||
style="font-size: small;"></i>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="characteristic">
|
||||
<label>{{localize "CTHULHUETERNAL.Label.strShort"}}</label>
|
||||
{{formField systemFields.characteristics.fields.str.fields.value value=system.characteristics.str.value
|
||||
rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.str}}
|
||||
{{mul system.characteristics.str.value 5}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCharacteristic.dex}}"
|
||||
style="font-size: small;"></i>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="characteristic">
|
||||
<label>{{localize "CTHULHUETERNAL.Label.dexShort"}}</label>
|
||||
{{formField systemFields.characteristics.fields.dex.fields.value value=system.characteristics.dex.value
|
||||
rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.dex}}
|
||||
{{mul system.characteristics.dex.value 5}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCharacteristic.dex}}"
|
||||
style="font-size: small;"></i>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="characteristic">
|
||||
<label>{{localize "CTHULHUETERNAL.Label.conShort"}}</label>
|
||||
{{formField systemFields.characteristics.fields.con.fields.value value=system.characteristics.con.value
|
||||
rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.con}}
|
||||
{{mul system.characteristics.con.value 5}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCharacteristic.int}}"
|
||||
style="font-size: small;"></i>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="characteristic">
|
||||
<label>{{localize "CTHULHUETERNAL.Label.intShort"}}</label>
|
||||
{{formField systemFields.characteristics.fields.int.fields.value value=system.characteristics.int.value
|
||||
rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.int}}
|
||||
{{mul system.characteristics.int.value 5}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCharacteristic.pow}}"
|
||||
style="font-size: small;"></i>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="characteristic">
|
||||
<label>{{localize "CTHULHUETERNAL.Label.powShort"}}</label>
|
||||
{{formField systemFields.characteristics.fields.pow.fields.value value=system.characteristics.pow.value
|
||||
rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.pow}}
|
||||
{{mul system.characteristics.pow.value 5}}
|
||||
</div>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="save">
|
||||
<i class="fa fa-question-circle" aria-hidden="true" data-tooltip="{{tooltipsCharacteristic.cha}}"
|
||||
style="font-size: small;"></i>
|
||||
<div class="protagonist-characteristic" data-drag="true" data-drag-type="characteristic">
|
||||
<label>{{localize "CTHULHUETERNAL.Label.chaShort"}}</label>
|
||||
{{formField systemFields.characteristics.fields.cha.fields.value value=system.characteristics.cha.value
|
||||
rootId=partId disabled=isPlayMode classes="rollable" dataset=rollType.cha}}
|
||||
{{mul system.characteristics.cha.value 5}}
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
<section>
|
||||
<div class="header">
|
||||
<img class="item-img" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}" />
|
||||
<img class="item-img era-icon-color" src="{{item.img}}" data-edit="img" data-action="editImage" data-tooltip="{{item.name}}" />
|
||||
{{formInput fields.name value=source.name}}
|
||||
</div>
|
||||
|
||||
|