new style for dialog roll and remove console.log debuggers (#272)

* new style for dialog roll and remove console.log debuggers

* enhance advantage logic
This commit is contained in:
Murilo Brito 2025-07-05 14:34:42 -03:00 committed by GitHub
parent 0add5f369e
commit 41181f19f1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
50 changed files with 682 additions and 233 deletions

View file

@ -0,0 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="40 40 100 100" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="200" y1="300" x2="450" y2="350">
<stop offset="3%" stop-color="#40A640"/>
<stop offset="85%" stop-color="#011B01"/>
</linearGradient>
</defs>
<g fill="url(#gold-gradient)">
<g transform="matrix(1.1679092,0,0,1.1679092,-274.931,-137.53749)">
<path d="M313.653,154.602l-26.488,55.612l24.356,15.89l26.354-15.928L313.653,154.602z"/>
<path d="M314.9,153.687l24.49,55.919l14.175-4.584l0.915-22.612L314.9,153.687z"/>
<path d="M312.359,227.393v8.568l40.76-28.762l-13.608,3.825L312.359,227.393z"/>
<path d="M312.359,153.927l-26.756,55.732l-13.925-5.99l-1.229-22.679L312.359,153.927z"/>
<path d="M310.517,227.213v8.75l-39.019-30.157l13.513,5.275L310.517,227.213z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 927 B

View file

@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="20%" y1="20%" x2="100%" y2="100%">
<stop offset="3%" stop-color="#40A640"/>
<stop offset="85%" stop-color="#011B01"/>
</linearGradient>
</defs>
<path fill="url(#gold-gradient)" d="M34.449,72.826L23.851,41.064l26.853-21.056l27.455,21.056 l-10.2,32.344L34.449,72.826z"/>
<path fill="url(#gold-gradient)" d="M2.878,34.373L3.77,66.281l17.192,23.602l12.24-15.092 l-11.28-34.152L2.878,34.373z"/>
<path fill="url(#gold-gradient)" d="M67.664,75.568l-33.525-0.201L23.358,90.52l27.099,8.449 l27.684-8.83L67.664,75.568z"/>
<path fill="url(#gold-gradient)" d="M4.499,33.375L21.4,10.646l27.974-9.616v16.901L22.35,39.216 L4.499,33.375z"/>
<path fill="url(#gold-gradient)" d="M52.702,1.047l27.682,9.325l16.153,23.325l-17.028,5.967 l-27.1-21.423L52.702,1.047z"/>
<path fill="url(#gold-gradient)" d="M69.944,74.227l10.415-31.761l16.762-5.829l-0.076,28.558 L80.436,88.506L69.944,74.227z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 280 320" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="120%" y1="120%" x2="200%" y2="200%">
<stop offset="3%" stop-color="#40A640"/>
<stop offset="85%" stop-color="#011B01"/>
</linearGradient>
</defs>
<g transform="translate(-246.69456,-375.66745)">
<path fill="url(#gold-gradient)" d="M379.93,375.668c-0.57,0.019-1.226,0.228-1.585,0.731l-80.673,96.527 c-1.342,1.681-1.433,2.056,0.366,2.073l161.59-0.427c2.221-0.182,2.23-0.07,0.792-1.951l-79.27-96.527 C380.986,375.84,380.501,375.654,379.93,375.668L379.93,375.668z M395.419,384.266l72.746,88.478 c0.974,1.182,1.212,1.249,2.927,0.427l38.354-17.562c2.513-1.134,2.165-1.366,0.487-2.5L395.419,384.266z M361.454,387.498 c-0.034-0.072-0.625,0.37-1.952,1.281L253.89,458.292l33.05,15.001c1.724,0.568,2.239,0.599,3.354-0.793l69.698-83.234 C360.973,388.129,361.487,387.57,361.454,387.498L361.454,387.498z M515.056,459.756c-0.328,0.023-0.846,0.212-1.646,0.548 l-39.392,17.989c-1.398,0.635-1.311,1.49-0.792,2.561l45.793,116.162l-3.292-135.309 C515.626,460.228,515.604,459.717,515.056,459.756L515.056,459.756z M250.902,463.354l-4.208,131.651l38.782-113.907 c0.573-1.682,0.559-1.767-0.61-2.317L250.902,463.354L250.902,463.354z M461.761,480.427l-165.249,0.427 c-2.361-0.035-2.264-0.033-1.098,1.89l83.905,141.529c1.417,2.159,1.265,2.092,2.744-0.121l80.612-141.772 C463.383,481.253,463.887,480.466,461.761,480.427L461.761,480.427z M468.347,484.147c-0.152,0.064-0.318,0.639-0.793,1.524 l-81.16,142.809c-0.887,1.508-1.097,2.048,1.036,1.708l128.845-17.744c2.044-0.467,1.982-1.197,1.281-3.232l-48.6-123.479 C468.635,484.55,468.5,484.083,468.347,484.147L468.347,484.147z M290.171,485.489c-0.158,0.113-0.3,0.715-0.609,1.585 l-41.16,121.162c-0.701,2.573-0.78,3.541,1.829,4.024l123.113,17.805c2.328,0.351,2.03-0.822,1.463-1.951l-83.783-141.345 C290.498,485.702,290.329,485.375,290.171,485.489L290.171,485.489z M258.158,619.334l120.796,68.538 c1.564,0.949,1.929,0.604,1.707-1.036l-2.561-48.05c-0.07-1.551-0.28-2.183-1.89-2.439L258.158,619.334L258.158,619.334z M507.922,619.455l-122.625,16.952c-1.618,0.238-1.326,1.032-1.342,2.195l2.622,48.903c0.135,1.483,0.091,2.017,1.89,1.098 L507.922,619.455z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="5 0 64 74" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="20%" y1="20%" x2="100%" y2="100%">
<stop offset="3%" stop-color="#40A640"/>
<stop offset="85%" stop-color="#011B01"/>
</linearGradient>
</defs>
<polygon points="36.421875,0.2080078 0.2910156,62.7871094 36.421875,41.8974609" fill="url(#gold-gradient)"/>
<polygon points="37.5771484,0.2094727 37.5771484,41.8984375 73.7089844,62.7871094" fill="url(#gold-gradient)"/>
<polygon points="36.9990234,42.8984375 0.8603516,63.7919922 73.1376953,63.7919922" fill="url(#gold-gradient)"/>
</svg>

After

Width:  |  Height:  |  Size: 710 B

View file

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="3%" stop-color="#40A640"/>
<stop offset="85%" stop-color="#011B01"/>
</linearGradient>
</defs>
<g fill="url(#gold-gradient)"><rect x="6" y="6" width="52" height="52" rx="4"/></g>
</svg>

After

Width:  |  Height:  |  Size: 453 B

View file

@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="40 40 100 100" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="320" y1="520" x2="380" y2="620">
<stop offset="3%" stop-color="#40A640"/>
<stop offset="85%" stop-color="#011B01"/>
</linearGradient>
</defs>
<g>
<g transform="translate(-242.40981,-473.89862)">
<path fill="url(#gold-gradient)" d="M293.527,582.264l38.894-67.597l39.229,67.261L293.527,582.264z"/>
<path fill="url(#gold-gradient)" d="M291.304,581.946l-0.562-38.354l39.36-29.039L291.304,581.946z"/>
<path fill="url(#gold-gradient)" d="M373.477,581.529l0.6-37.685l-39.565-29.314L373.477,581.529z"/>
<path fill="url(#gold-gradient)" d="M332.421,613.268l-38.894-29.016l78.122-0.621L332.421,613.268z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 914 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="40 40 100 100" width="64" height="64"><g><g transform="matrix(1.1679092,0,0,1.1679092,-274.931,-137.53749)"><path fill="#efe6d8" d="M313.653,154.602l-26.488,55.612l24.356,15.89l26.354-15.928 L313.653,154.602z"/><path fill="#efe6d8" d="M314.9,153.687l24.49,55.919l14.175-4.584l0.915-22.612 L314.9,153.687z"/><path fill="#efe6d8" d="M312.359,227.393v8.568l40.76-28.762l-13.608,3.825 L312.359,227.393z"/><path fill="#efe6d8" d="M312.359,153.927l-26.756,55.732l-13.925-5.99l-1.229-22.679 L312.359,153.927z"/><path fill="#efe6d8" d="M310.517,227.213v8.75l-39.019-30.157l13.513,5.275 L310.517,227.213z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 676 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="64" height="64"><path fill="#efe6d8" d="M34.449,72.826L23.851,41.064l26.853-21.056l27.455,21.056 l-10.2,32.344L34.449,72.826z"/><path fill="#efe6d8" d="M2.878,34.373L3.77,66.281l17.192,23.602l12.24-15.092 l-11.28-34.152L2.878,34.373z"/><path fill="#efe6d8" d="M67.664,75.568l-33.525-0.201L23.358,90.52l27.099,8.449 l27.684-8.83L67.664,75.568z"/><path fill="#efe6d8" d="M4.499,33.375L21.4,10.646l27.974-9.616v16.901L22.35,39.216 L4.499,33.375z"/><path fill="#efe6d8" d="M52.702,1.047l27.682,9.325l16.153,23.325l-17.028,5.967 l-27.1-21.423L52.702,1.047z"/><path fill="#efe6d8" d="M69.944,74.227l10.415-31.761l16.762-5.829l-0.076,28.558 L80.436,88.506L69.944,74.227z"/></svg>

After

Width:  |  Height:  |  Size: 747 B

View file

@ -0,0 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 280 320" width="64" height="64">
<g transform="translate(-246.69456,-375.66745)">
<path fill="#efe6d8" d="M379.93,375.668c-0.57,0.019-1.226,0.228-1.585,0.731l-80.673,96.527 c-1.342,1.681-1.433,2.056,0.366,2.073l161.59-0.427c2.221-0.182,2.23-0.07,0.792-1.951l-79.27-96.527 C380.986,375.84,380.501,375.654,379.93,375.668L379.93,375.668z M395.419,384.266l72.746,88.478 c0.974,1.182,1.212,1.249,2.927,0.427l38.354-17.562c2.513-1.134,2.165-1.366,0.487-2.5L395.419,384.266z M361.454,387.498 c-0.034-0.072-0.625,0.37-1.952,1.281L253.89,458.292l33.05,15.001c1.724,0.568,2.239,0.599,3.354-0.793l69.698-83.234 C360.973,388.129,361.487,387.57,361.454,387.498L361.454,387.498z M515.056,459.756c-0.328,0.023-0.846,0.212-1.646,0.548 l-39.392,17.989c-1.398,0.635-1.311,1.49-0.792,2.561l45.793,116.162l-3.292-135.309 C515.626,460.228,515.604,459.717,515.056,459.756L515.056,459.756z M250.902,463.354l-4.208,131.651l38.782-113.907 c0.573-1.682,0.559-1.767-0.61-2.317L250.902,463.354L250.902,463.354z M461.761,480.427l-165.249,0.427 c-2.361-0.035-2.264-0.033-1.098,1.89l83.905,141.529c1.417,2.159,1.265,2.092,2.744-0.121l80.612-141.772 C463.383,481.253,463.887,480.466,461.761,480.427L461.761,480.427z M468.347,484.147c-0.152,0.064-0.318,0.639-0.793,1.524 l-81.16,142.809c-0.887,1.508-1.097,2.048,1.036,1.708l128.845-17.744c2.044-0.467,1.982-1.197,1.281-3.232l-48.6-123.479 C468.635,484.55,468.5,484.083,468.347,484.147L468.347,484.147z M290.171,485.489c-0.158,0.113-0.3,0.715-0.609,1.585 l-41.16,121.162c-0.701,2.573-0.78,3.541,1.829,4.024l123.113,17.805c2.328,0.351,2.03-0.822,1.463-1.951l-83.783-141.345 C290.498,485.702,290.329,485.375,290.171,485.489L290.171,485.489z M258.158,619.334l120.796,68.538 c1.564,0.949,1.929,0.604,1.707-1.036l-2.561-48.05c-0.07-1.551-0.28-2.183-1.89-2.439L258.158,619.334L258.158,619.334z M507.922,619.455l-122.625,16.952c-1.618,0.238-1.326,1.032-1.342,2.195l2.622,48.903c0.135,1.483,0.091,2.017,1.89,1.098 L507.922,619.455z"/></g></svg>

After

Width:  |  Height:  |  Size: 2 KiB

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="5 0 64 74" width="64" height="64"><polygon points="36.421875,0.2080078 0.2910156,62.7871094 36.421875,41.8974609" fill="#efe6d8"/><polygon points="37.5771484,0.2094727 37.5771484,41.8984375 73.7089844,62.7871094" fill="#efe6d8"/><polygon points="36.9990234,42.8984375 0.8603516,63.7919922 73.1376953,63.7919922" fill="#efe6d8"/></svg>

After

Width:  |  Height:  |  Size: 383 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64"><g fill="#efe6d8"><rect x="6" y="6" width="52" height="52" rx="4"/></g></svg>

After

Width:  |  Height:  |  Size: 160 B

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="40 40 100 100" width="64" height="64"><g><g transform="translate(-242.40981,-473.89862)"><path fill="#efe6d8" d="M293.527,582.264l38.894-67.597l39.229,67.261L293.527,582.264z"/><path fill="#efe6d8" d="M291.304,581.946l-0.562-38.354l39.36-29.039L291.304,581.946z"/><path fill="#efe6d8" d="M373.477,581.529l0.6-37.685l-39.565-29.314L373.477,581.529z"/><path fill="#efe6d8" d="M332.421,613.268l-38.894-29.016l78.122-0.621L332.421,613.268z"/></g></g></svg>

After

Width:  |  Height:  |  Size: 501 B

View file

@ -0,0 +1,18 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="40 40 100 100" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="200" y1="300" x2="450" y2="350">
<stop offset="3%" stop-color="#E54E4E"/>
<stop offset="85%" stop-color="#3C0000"/>
</linearGradient>
</defs>
<g fill="url(#gold-gradient)">
<g transform="matrix(1.1679092,0,0,1.1679092,-274.931,-137.53749)">
<path d="M313.653,154.602l-26.488,55.612l24.356,15.89l26.354-15.928L313.653,154.602z"/>
<path d="M314.9,153.687l24.49,55.919l14.175-4.584l0.915-22.612L314.9,153.687z"/>
<path d="M312.359,227.393v8.568l40.76-28.762l-13.608,3.825L312.359,227.393z"/>
<path d="M312.359,153.927l-26.756,55.732l-13.925-5.99l-1.229-22.679L312.359,153.927z"/>
<path d="M310.517,227.213v8.75l-39.019-30.157l13.513,5.275L310.517,227.213z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 927 B

View file

@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="20%" y1="20%" x2="100%" y2="100%">
<stop offset="3%" stop-color="#E54E4E"/>
<stop offset="85%" stop-color="#3C0000"/>
</linearGradient>
</defs>
<path fill="url(#gold-gradient)" d="M34.449,72.826L23.851,41.064l26.853-21.056l27.455,21.056 l-10.2,32.344L34.449,72.826z"/>
<path fill="url(#gold-gradient)" d="M2.878,34.373L3.77,66.281l17.192,23.602l12.24-15.092 l-11.28-34.152L2.878,34.373z"/>
<path fill="url(#gold-gradient)" d="M67.664,75.568l-33.525-0.201L23.358,90.52l27.099,8.449 l27.684-8.83L67.664,75.568z"/>
<path fill="url(#gold-gradient)" d="M4.499,33.375L21.4,10.646l27.974-9.616v16.901L22.35,39.216 L4.499,33.375z"/>
<path fill="url(#gold-gradient)" d="M52.702,1.047l27.682,9.325l16.153,23.325l-17.028,5.967 l-27.1-21.423L52.702,1.047z"/>
<path fill="url(#gold-gradient)" d="M69.944,74.227l10.415-31.761l16.762-5.829l-0.076,28.558 L80.436,88.506L69.944,74.227z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 280 320" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="120%" y1="120%" x2="200%" y2="200%">
<stop offset="3%" stop-color="#E54E4E"/>
<stop offset="85%" stop-color="#3C0000"/>
</linearGradient>
</defs>
<g transform="translate(-246.69456,-375.66745)">
<path fill="url(#gold-gradient)" d="M379.93,375.668c-0.57,0.019-1.226,0.228-1.585,0.731l-80.673,96.527 c-1.342,1.681-1.433,2.056,0.366,2.073l161.59-0.427c2.221-0.182,2.23-0.07,0.792-1.951l-79.27-96.527 C380.986,375.84,380.501,375.654,379.93,375.668L379.93,375.668z M395.419,384.266l72.746,88.478 c0.974,1.182,1.212,1.249,2.927,0.427l38.354-17.562c2.513-1.134,2.165-1.366,0.487-2.5L395.419,384.266z M361.454,387.498 c-0.034-0.072-0.625,0.37-1.952,1.281L253.89,458.292l33.05,15.001c1.724,0.568,2.239,0.599,3.354-0.793l69.698-83.234 C360.973,388.129,361.487,387.57,361.454,387.498L361.454,387.498z M515.056,459.756c-0.328,0.023-0.846,0.212-1.646,0.548 l-39.392,17.989c-1.398,0.635-1.311,1.49-0.792,2.561l45.793,116.162l-3.292-135.309 C515.626,460.228,515.604,459.717,515.056,459.756L515.056,459.756z M250.902,463.354l-4.208,131.651l38.782-113.907 c0.573-1.682,0.559-1.767-0.61-2.317L250.902,463.354L250.902,463.354z M461.761,480.427l-165.249,0.427 c-2.361-0.035-2.264-0.033-1.098,1.89l83.905,141.529c1.417,2.159,1.265,2.092,2.744-0.121l80.612-141.772 C463.383,481.253,463.887,480.466,461.761,480.427L461.761,480.427z M468.347,484.147c-0.152,0.064-0.318,0.639-0.793,1.524 l-81.16,142.809c-0.887,1.508-1.097,2.048,1.036,1.708l128.845-17.744c2.044-0.467,1.982-1.197,1.281-3.232l-48.6-123.479 C468.635,484.55,468.5,484.083,468.347,484.147L468.347,484.147z M290.171,485.489c-0.158,0.113-0.3,0.715-0.609,1.585 l-41.16,121.162c-0.701,2.573-0.78,3.541,1.829,4.024l123.113,17.805c2.328,0.351,2.03-0.822,1.463-1.951l-83.783-141.345 C290.498,485.702,290.329,485.375,290.171,485.489L290.171,485.489z M258.158,619.334l120.796,68.538 c1.564,0.949,1.929,0.604,1.707-1.036l-2.561-48.05c-0.07-1.551-0.28-2.183-1.89-2.439L258.158,619.334L258.158,619.334z M507.922,619.455l-122.625,16.952c-1.618,0.238-1.326,1.032-1.342,2.195l2.622,48.903c0.135,1.483,0.091,2.017,1.89,1.098 L507.922,619.455z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="5 0 64 74" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="20%" y1="20%" x2="100%" y2="100%">
<stop offset="3%" stop-color="#E54E4E"/>
<stop offset="85%" stop-color="#3C0000"/>
</linearGradient>
</defs>
<polygon points="36.421875,0.2080078 0.2910156,62.7871094 36.421875,41.8974609" fill="url(#gold-gradient)"/>
<polygon points="37.5771484,0.2094727 37.5771484,41.8984375 73.7089844,62.7871094" fill="url(#gold-gradient)"/>
<polygon points="36.9990234,42.8984375 0.8603516,63.7919922 73.1376953,63.7919922" fill="url(#gold-gradient)"/>
</svg>

After

Width:  |  Height:  |  Size: 710 B

View file

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="3%" stop-color="#E54E4E"/>
<stop offset="85%" stop-color="#3C0000"/>
</linearGradient>
</defs>
<g fill="url(#gold-gradient)"><rect x="6" y="6" width="52" height="52" rx="4"/></g>
</svg>

After

Width:  |  Height:  |  Size: 453 B

View file

@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="40 40 100 100" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="320" y1="520" x2="380" y2="620">
<stop offset="3%" stop-color="#E54E4E"/>
<stop offset="85%" stop-color="#3C0000"/>
</linearGradient>
</defs>
<g>
<g transform="translate(-242.40981,-473.89862)">
<path fill="url(#gold-gradient)" d="M293.527,582.264l38.894-67.597l39.229,67.261L293.527,582.264z"/>
<path fill="url(#gold-gradient)" d="M291.304,581.946l-0.562-38.354l39.36-29.039L291.304,581.946z"/>
<path fill="url(#gold-gradient)" d="M373.477,581.529l0.6-37.685l-39.565-29.314L373.477,581.529z"/>
<path fill="url(#gold-gradient)" d="M332.421,613.268l-38.894-29.016l78.122-0.621L332.421,613.268z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 914 B

View file

@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="40 40 100 100" width="64" height="64">
<defs>
<linearGradient id="gold-gradient"
gradientUnits="userSpaceOnUse"
x1="200" y1="300" x2="450" y2="350">
<stop offset="3.51%" stop-color="#352AB2"/>
<stop offset="96.49%" stop-color="#18162E"/>
</linearGradient>
</defs>
<g fill="url(#gold-gradient)">
<g transform="matrix(1.1679092,0,0,1.1679092,-274.931,-137.53749)">
<path d="M313.653,154.602l-26.488,55.612l24.356,15.89l26.354-15.928L313.653,154.602z"/>
<path d="M314.9,153.687l24.49,55.919l14.175-4.584l0.915-22.612L314.9,153.687z"/>
<path d="M312.359,227.393v8.568l40.76-28.762l-13.608,3.825L312.359,227.393z"/>
<path d="M312.359,153.927l-26.756,55.732l-13.925-5.99l-1.229-22.679L312.359,153.927z"/>
<path d="M310.517,227.213v8.75l-39.019-30.157l13.513,5.275L310.517,227.213z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 971 B

View file

@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="20%" y1="20%" x2="100%" y2="100%">
<stop offset="3.51%" stop-color="#352AB2"/>
<stop offset="96.49%" stop-color="#18162E"/>
</linearGradient>
</defs>
<path fill="url(#gold-gradient)" d="M34.449,72.826L23.851,41.064l26.853-21.056l27.455,21.056 l-10.2,32.344L34.449,72.826z"/>
<path fill="url(#gold-gradient)" d="M2.878,34.373L3.77,66.281l17.192,23.602l12.24-15.092 l-11.28-34.152L2.878,34.373z"/>
<path fill="url(#gold-gradient)" d="M67.664,75.568l-33.525-0.201L23.358,90.52l27.099,8.449 l27.684-8.83L67.664,75.568z"/>
<path fill="url(#gold-gradient)" d="M4.499,33.375L21.4,10.646l27.974-9.616v16.901L22.35,39.216 L4.499,33.375z"/>
<path fill="url(#gold-gradient)" d="M52.702,1.047l27.682,9.325l16.153,23.325l-17.028,5.967 l-27.1-21.423L52.702,1.047z"/>
<path fill="url(#gold-gradient)" d="M69.944,74.227l10.415-31.761l16.762-5.829l-0.076,28.558 L80.436,88.506L69.944,74.227z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 280 320" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="120%" y1="120%" x2="200%" y2="200%">
<stop offset="3.51%" stop-color="#352AB2"/>
<stop offset="96.49%" stop-color="#18162E"/>
</linearGradient>
</defs>
<g transform="translate(-246.69456,-375.66745)">
<path fill="url(#gold-gradient)" d="M379.93,375.668c-0.57,0.019-1.226,0.228-1.585,0.731l-80.673,96.527 c-1.342,1.681-1.433,2.056,0.366,2.073l161.59-0.427c2.221-0.182,2.23-0.07,0.792-1.951l-79.27-96.527 C380.986,375.84,380.501,375.654,379.93,375.668L379.93,375.668z M395.419,384.266l72.746,88.478 c0.974,1.182,1.212,1.249,2.927,0.427l38.354-17.562c2.513-1.134,2.165-1.366,0.487-2.5L395.419,384.266z M361.454,387.498 c-0.034-0.072-0.625,0.37-1.952,1.281L253.89,458.292l33.05,15.001c1.724,0.568,2.239,0.599,3.354-0.793l69.698-83.234 C360.973,388.129,361.487,387.57,361.454,387.498L361.454,387.498z M515.056,459.756c-0.328,0.023-0.846,0.212-1.646,0.548 l-39.392,17.989c-1.398,0.635-1.311,1.49-0.792,2.561l45.793,116.162l-3.292-135.309 C515.626,460.228,515.604,459.717,515.056,459.756L515.056,459.756z M250.902,463.354l-4.208,131.651l38.782-113.907 c0.573-1.682,0.559-1.767-0.61-2.317L250.902,463.354L250.902,463.354z M461.761,480.427l-165.249,0.427 c-2.361-0.035-2.264-0.033-1.098,1.89l83.905,141.529c1.417,2.159,1.265,2.092,2.744-0.121l80.612-141.772 C463.383,481.253,463.887,480.466,461.761,480.427L461.761,480.427z M468.347,484.147c-0.152,0.064-0.318,0.639-0.793,1.524 l-81.16,142.809c-0.887,1.508-1.097,2.048,1.036,1.708l128.845-17.744c2.044-0.467,1.982-1.197,1.281-3.232l-48.6-123.479 C468.635,484.55,468.5,484.083,468.347,484.147L468.347,484.147z M290.171,485.489c-0.158,0.113-0.3,0.715-0.609,1.585 l-41.16,121.162c-0.701,2.573-0.78,3.541,1.829,4.024l123.113,17.805c2.328,0.351,2.03-0.822,1.463-1.951l-83.783-141.345 C290.498,485.702,290.329,485.375,290.171,485.489L290.171,485.489z M258.158,619.334l120.796,68.538 c1.564,0.949,1.929,0.604,1.707-1.036l-2.561-48.05c-0.07-1.551-0.28-2.183-1.89-2.439L258.158,619.334L258.158,619.334z M507.922,619.455l-122.625,16.952c-1.618,0.238-1.326,1.032-1.342,2.195l2.622,48.903c0.135,1.483,0.091,2.017,1.89,1.098 L507.922,619.455z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="5 0 64 74" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="20%" y1="20%" x2="100%" y2="100%">
<stop offset="3.51%" stop-color="#352AB2"/>
<stop offset="96.49%" stop-color="#18162E"/>
</linearGradient>
</defs>
<polygon points="36.421875,0.2080078 0.2910156,62.7871094 36.421875,41.8974609" fill="url(#gold-gradient)"/>
<polygon points="37.5771484,0.2094727 37.5771484,41.8984375 73.7089844,62.7871094" fill="url(#gold-gradient)"/>
<polygon points="36.9990234,42.8984375 0.8603516,63.7919922 73.1376953,63.7919922" fill="url(#gold-gradient)"/>
</svg>

After

Width:  |  Height:  |  Size: 716 B

View file

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="3.51%" stop-color="#352AB2"/>
<stop offset="96.49%" stop-color="#18162E"/>
</linearGradient>
</defs>
<g fill="url(#gold-gradient)"><rect x="6" y="6" width="52" height="52" rx="4"/></g>
</svg>

After

Width:  |  Height:  |  Size: 459 B

View file

@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="40 40 100 100" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="320" y1="520" x2="380" y2="620">
<stop offset="3.51%" stop-color="#352AB2"/>
<stop offset="96.49%" stop-color="#18162E"/>
</linearGradient>
</defs>
<g>
<g transform="translate(-242.40981,-473.89862)">
<path fill="url(#gold-gradient)" d="M293.527,582.264l38.894-67.597l39.229,67.261L293.527,582.264z"/>
<path fill="url(#gold-gradient)" d="M291.304,581.946l-0.562-38.354l39.36-29.039L291.304,581.946z"/>
<path fill="url(#gold-gradient)" d="M373.477,581.529l0.6-37.685l-39.565-29.314L373.477,581.529z"/>
<path fill="url(#gold-gradient)" d="M332.421,613.268l-38.894-29.016l78.122-0.621L332.421,613.268z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 920 B

View file

@ -0,0 +1,20 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="40 40 100 100" width="64" height="64">
<defs>
<linearGradient id="gold-gradient"
gradientUnits="userSpaceOnUse"
x1="200" y1="300" x2="450" y2="350">
<stop offset="3.51%" stop-color="#F3C267"/>
<stop offset="96.49%" stop-color="#4C3407"/>
</linearGradient>
</defs>
<g fill="url(#gold-gradient)">
<g transform="matrix(1.1679092,0,0,1.1679092,-274.931,-137.53749)">
<path d="M313.653,154.602l-26.488,55.612l24.356,15.89l26.354-15.928L313.653,154.602z"/>
<path d="M314.9,153.687l24.49,55.919l14.175-4.584l0.915-22.612L314.9,153.687z"/>
<path d="M312.359,227.393v8.568l40.76-28.762l-13.608,3.825L312.359,227.393z"/>
<path d="M312.359,153.927l-26.756,55.732l-13.925-5.99l-1.229-22.679L312.359,153.927z"/>
<path d="M310.517,227.213v8.75l-39.019-30.157l13.513,5.275L310.517,227.213z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 971 B

View file

@ -0,0 +1,15 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="20%" y1="20%" x2="100%" y2="100%">
<stop offset="3.51%" stop-color="#F3C267"/>
<stop offset="96.49%" stop-color="#4C3407"/>
</linearGradient>
</defs>
<path fill="url(#gold-gradient)" d="M34.449,72.826L23.851,41.064l26.853-21.056l27.455,21.056 l-10.2,32.344L34.449,72.826z"/>
<path fill="url(#gold-gradient)" d="M2.878,34.373L3.77,66.281l17.192,23.602l12.24-15.092 l-11.28-34.152L2.878,34.373z"/>
<path fill="url(#gold-gradient)" d="M67.664,75.568l-33.525-0.201L23.358,90.52l27.099,8.449 l27.684-8.83L67.664,75.568z"/>
<path fill="url(#gold-gradient)" d="M4.499,33.375L21.4,10.646l27.974-9.616v16.901L22.35,39.216 L4.499,33.375z"/>
<path fill="url(#gold-gradient)" d="M52.702,1.047l27.682,9.325l16.153,23.325l-17.028,5.967 l-27.1-21.423L52.702,1.047z"/>
<path fill="url(#gold-gradient)" d="M69.944,74.227l10.415-31.761l16.762-5.829l-0.076,28.558 L80.436,88.506L69.944,74.227z"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

View file

@ -0,0 +1,11 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 280 320" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="120%" y1="120%" x2="200%" y2="200%">
<stop offset="3.51%" stop-color="#F3C267"/>
<stop offset="96.49%" stop-color="#4C3407"/>
</linearGradient>
</defs>
<g transform="translate(-246.69456,-375.66745)">
<path fill="url(#gold-gradient)" d="M379.93,375.668c-0.57,0.019-1.226,0.228-1.585,0.731l-80.673,96.527 c-1.342,1.681-1.433,2.056,0.366,2.073l161.59-0.427c2.221-0.182,2.23-0.07,0.792-1.951l-79.27-96.527 C380.986,375.84,380.501,375.654,379.93,375.668L379.93,375.668z M395.419,384.266l72.746,88.478 c0.974,1.182,1.212,1.249,2.927,0.427l38.354-17.562c2.513-1.134,2.165-1.366,0.487-2.5L395.419,384.266z M361.454,387.498 c-0.034-0.072-0.625,0.37-1.952,1.281L253.89,458.292l33.05,15.001c1.724,0.568,2.239,0.599,3.354-0.793l69.698-83.234 C360.973,388.129,361.487,387.57,361.454,387.498L361.454,387.498z M515.056,459.756c-0.328,0.023-0.846,0.212-1.646,0.548 l-39.392,17.989c-1.398,0.635-1.311,1.49-0.792,2.561l45.793,116.162l-3.292-135.309 C515.626,460.228,515.604,459.717,515.056,459.756L515.056,459.756z M250.902,463.354l-4.208,131.651l38.782-113.907 c0.573-1.682,0.559-1.767-0.61-2.317L250.902,463.354L250.902,463.354z M461.761,480.427l-165.249,0.427 c-2.361-0.035-2.264-0.033-1.098,1.89l83.905,141.529c1.417,2.159,1.265,2.092,2.744-0.121l80.612-141.772 C463.383,481.253,463.887,480.466,461.761,480.427L461.761,480.427z M468.347,484.147c-0.152,0.064-0.318,0.639-0.793,1.524 l-81.16,142.809c-0.887,1.508-1.097,2.048,1.036,1.708l128.845-17.744c2.044-0.467,1.982-1.197,1.281-3.232l-48.6-123.479 C468.635,484.55,468.5,484.083,468.347,484.147L468.347,484.147z M290.171,485.489c-0.158,0.113-0.3,0.715-0.609,1.585 l-41.16,121.162c-0.701,2.573-0.78,3.541,1.829,4.024l123.113,17.805c2.328,0.351,2.03-0.822,1.463-1.951l-83.783-141.345 C290.498,485.702,290.329,485.375,290.171,485.489L290.171,485.489z M258.158,619.334l120.796,68.538 c1.564,0.949,1.929,0.604,1.707-1.036l-2.561-48.05c-0.07-1.551-0.28-2.183-1.89-2.439L258.158,619.334L258.158,619.334z M507.922,619.455l-122.625,16.952c-1.618,0.238-1.326,1.032-1.342,2.195l2.622,48.903c0.135,1.483,0.091,2.017,1.89,1.098 L507.922,619.455z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

@ -0,0 +1,12 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="5 0 64 74" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="20%" y1="20%" x2="100%" y2="100%">
<stop offset="3.51%" stop-color="#F3C267"/>
<stop offset="96.49%" stop-color="#4C3407"/>
</linearGradient>
</defs>
<polygon points="36.421875,0.2080078 0.2910156,62.7871094 36.421875,41.8974609" fill="url(#gold-gradient)"/>
<polygon points="37.5771484,0.2094727 37.5771484,41.8984375 73.7089844,62.7871094" fill="url(#gold-gradient)"/>
<polygon points="36.9990234,42.8984375 0.8603516,63.7919922 73.1376953,63.7919922" fill="url(#gold-gradient)"/>
</svg>

After

Width:  |  Height:  |  Size: 716 B

View file

@ -0,0 +1,9 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="0%" y1="0%" x2="100%" y2="100%">
<stop offset="3.51%" stop-color="#F3C267"/>
<stop offset="96.49%" stop-color="#4C3407"/>
</linearGradient>
</defs>
<g fill="url(#gold-gradient)"><rect x="6" y="6" width="52" height="52" rx="4"/></g>
</svg>

After

Width:  |  Height:  |  Size: 459 B

View file

@ -0,0 +1,16 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="40 40 100 100" width="64" height="64">
<defs>
<linearGradient id="gold-gradient" gradientUnits="userSpaceOnUse" x1="320" y1="520" x2="380" y2="620">
<stop offset="3.51%" stop-color="#F3C267"/>
<stop offset="96.49%" stop-color="#4C3407"/>
</linearGradient>
</defs>
<g>
<g transform="translate(-242.40981,-473.89862)">
<path fill="url(#gold-gradient)" d="M293.527,582.264l38.894-67.597l39.229,67.261L293.527,582.264z"/>
<path fill="url(#gold-gradient)" d="M291.304,581.946l-0.562-38.354l39.36-29.039L291.304,581.946z"/>
<path fill="url(#gold-gradient)" d="M373.477,581.529l0.6-37.685l-39.565-29.314L373.477,581.529z"/>
<path fill="url(#gold-gradient)" d="M332.421,613.268l-38.894-29.016l78.122-0.621L332.421,613.268z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 920 B

View file

@ -245,7 +245,8 @@
"potentialAdversaries": "Potential Adversaries",
"adversaries": "Adversaries"
},
"basics": "Basics"
"basics": "Basics",
"dualityRoll": "Duality Roll"
},
"ActionType": {
"passive": "Passive",

View file

@ -30,7 +30,7 @@ export default class CostSelectionDialog extends HandlebarsApplicationMixin(Appl
static PARTS = {
costSelection: {
id: 'costSelection',
template: 'systems/daggerheart/templates/dialogs/costSelection.hbs'
template: 'systems/daggerheart/templates/dialogs/dice-roll/costSelection.hbs'
}
};

View file

@ -20,10 +20,12 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio
static DEFAULT_OPTIONS = {
tag: 'form',
id: 'roll-selection',
classes: ['daggerheart', 'views', 'roll-selection'],
classes: ['daggerheart', 'dialog', 'dh-style', 'views', 'roll-selection'],
position: {
width: 400,
height: 'auto'
width: 550
},
window: {
icon: 'fa-solid fa-dice'
},
actions: {
updateIsAdvantage: this.updateIsAdvantage,
@ -37,20 +39,29 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio
}
};
get title() {
return this.config.title;
}
/** @override */
static PARTS = {
costSelection: {
id: 'costSelection',
template: 'systems/daggerheart/templates/dialogs/costSelection.hbs'
header: {
id: 'header',
template: 'systems/daggerheart/templates/dialogs/dice-roll/header.hbs'
},
rollSelection: {
id: 'rollSelection',
template: 'systems/daggerheart/templates/dialogs/rollSelection.hbs'
template: 'systems/daggerheart/templates/dialogs/dice-roll/rollSelection.hbs'
},
costSelection: {
id: 'costSelection',
template: 'systems/daggerheart/templates/dialogs/dice-roll/costSelection.hbs'
}
};
async _prepareContext(_options) {
const context = await super._prepareContext(_options);
context.rollConfig = this.config;
context.hasRoll = !!this.config.roll;
context.roll = this.roll;
context.rollType = this.roll?.constructor.name;
@ -60,6 +71,7 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio
}));
context.selectedExperiences = this.config.experiences;
context.advantage = this.config.roll?.advantage;
context.disadvantage = this.config.roll?.disadvantage;
context.diceOptions = CONFIG.DH.GENERAL.diceTypes;
context.canRoll = true;
context.isLite = this.config.roll?.lite;
@ -75,7 +87,6 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio
}
context.extraFormula = this.config.extraFormula;
context.formula = this.roll.constructFormula(this.config);
return context;
}
@ -96,6 +107,9 @@ export default class D20RollDialog extends HandlebarsApplicationMixin(Applicatio
static updateIsAdvantage(_, button) {
const advantage = Number(button.dataset.advantage);
this.advantage = advantage === 1;
this.disadvantage = advantage === -1;
this.config.roll.advantage = this.config.roll.advantage === advantage ? 0 : advantage;
this.render();
}

View file

@ -30,7 +30,7 @@ export default class DamageDialog extends HandlebarsApplicationMixin(Application
static PARTS = {
damageSelection: {
id: 'damageSelection',
template: 'systems/daggerheart/templates/dialogs/damageSelection.hbs'
template: 'systems/daggerheart/templates/dialogs/dice-roll/damageSelection.hbs'
}
};

View file

@ -44,7 +44,7 @@ export default class DamageSelectionDialog extends HandlebarsApplicationMixin(Ap
static PARTS = {
damageSelection: {
id: 'damageSelection',
template: 'systems/daggerheart/templates/dialogs/damageSelection.hbs'
template: 'systems/daggerheart/templates/dialogs/dice-roll/damageSelection.hbs'
}
};

View file

@ -85,7 +85,8 @@ export default class AdversarySheet extends DaggerheartSheet(ActorSheetV2) {
static async reactionRoll(event) {
const config = {
event: event,
title: `${this.actor.name} - Reaction Roll`,
title: `Reaction Roll: ${this.actor.name}`,
headerTitle: 'Adversary Reaction Roll',
roll: {
// modifier: null,
type: 'reaction'

View file

@ -490,6 +490,19 @@ export default class CharacterSheet extends DaggerheartSheet(ActorSheetV2) {
}
}
static async rollAttribute(event, button) {
const abilityLabel = game.i18n.localize(abilities[button.dataset.attribute].label);
const config = {
event: event,
title: `${game.i18n.localize('DAGGERHEART.General.dualityRoll')}: ${this.actor.name}`,
headerTitle: game.i18n.format('DAGGERHEART.Chat.DualityRoll.AbilityCheckTitle', { ability: abilityLabel }),
roll: {
trait: button.dataset.attribute
}
};
this.document.diceRoll(config);
}
/* -------------------------------------------- */
/* Filter Menus */
/* -------------------------------------------- */

View file

@ -244,7 +244,6 @@ export default class DHBaseAction extends foundry.abstract.DataModel {
}
if (this.hasRoll) {
console.log(config);
const rollConfig = this.prepareRoll(config);
config.roll = rollConfig;
config = await this.actor.diceRoll(config);

View file

@ -233,81 +233,6 @@ div.daggerheart.views.multiclass {
}
.roll-dialog-container {
.disadvantage,
.advantage {
border: 2px solid @secondaryAccent;
border-radius: 6px;
display: flex;
align-items: center;
padding: 4px;
margin-bottom: 6px;
&.selected {
filter: drop-shadow(0px 0px 3px @mainShadow);
}
input {
border: 0;
}
button {
flex: 0;
border-radius: 50%;
height: 20px;
width: 20px;
display: flex;
align-items: center;
justify-content: center;
margin: 2px 0 2px 4px;
padding: 12px;
i {
margin: 0;
}
}
}
.roll-dialog-experience-container {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: @halfMargin;
.roll-dialog-chip {
border: @thinBorder solid black;
border-radius: 6px;
min-width: calc(33% - 2px);
flex: 1;
display: flex;
align-items: center;
justify-content: center;
gap: @halfMargin;
cursor: pointer;
padding: @fullPadding;
background: grey;
overflow: hidden;
font-weight: bold;
&.hover {
filter: drop-shadow(0 0 3px @mainShadow);
}
span {
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
&.selected {
background: green;
span {
filter: drop-shadow(0 0 3px @secondaryShadow);
}
}
}
}
.hope-container {
display: flex;
gap: @fullMargin;
@ -371,28 +296,6 @@ div.daggerheart.views.multiclass {
}
}
}
.roll-dialog-experience-container {
display: flex;
align-items: flex-start;
flex-wrap: wrap;
gap: @halfMargin;
flex: 1;
height: 100%;
.experience-chip {
opacity: 0.6;
border-radius: 16px;
width: calc(50% - 4px);
white-space: nowrap;
&.active,
&:hover {
opacity: 1;
background: var(--button-hover-background-color);
}
}
}
}
}

View file

@ -53,6 +53,8 @@
@import './less/items/domainCard.less';
@import './less/items/class.less';
@import './less/dialog/dice-roll/roll-selection.less';
@import './less/utils/colors.less';
@import './less/utils/fonts.less';

View file

@ -0,0 +1,128 @@
@import '../../utils/colors.less';
@import '../../utils/fonts.less';
.application.daggerheart.dialog.dh-style.views.roll-selection {
.roll-dialog-container {
display: flex;
flex-direction: column;
gap: 12px;
.dices-section {
display: flex;
gap: 60px;
justify-content: center;
.dice-option {
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
width: 120px;
.dice-icon {
width: 70px;
height: 70px;
object-fit: contain;
}
.dice-select {
display: flex;
align-items: center;
gap: 10px;
height: 32px;
.label {
font-family: @font-subtitle;
font-style: normal;
font-weight: 700;
font-size: 16px;
line-height: 19px;
color: light-dark(@dark, @beige);
}
}
}
}
.experience-container {
display: flex;
gap: 10px;
flex-wrap: wrap;
.experience-chip {
display: flex;
align-items: center;
border-radius: 5px;
width: fit-content;
gap: 5px;
cursor: pointer;
padding: 5px;
background: light-dark(@dark-blue-10, @golden-10);
color: light-dark(@dark-blue, @golden);
.label {
font-family: @font-body;
font-style: normal;
font-weight: 400;
font-size: 14px;
line-height: 17px;
}
&.selected {
background: light-dark(@dark-blue-40, @golden-40);
}
}
}
.modifier-container {
.advantage-chip,
.disadvantage-chip {
display: flex;
align-items: center;
border-radius: 5px;
width: fit-content;
gap: 5px;
cursor: pointer;
padding: 5px;
transition: all 0.3s ease;
.label {
font-family: @font-body;
font-style: normal;
font-weight: 400;
font-size: 14px;
line-height: 17px;
}
}
.advantage-chip {
background: @green-10;
color: @green;
&.selected {
color: @beige;
background: @gradient-green;
}
}
.disadvantage-chip {
background: @red-10;
color: @red;
&.selected {
color: @beige;
background: @gradient-red;
}
}
}
.formula-label {
font-family: @font-body;
font-style: normal;
font-weight: 500;
font-size: 14px;
line-height: 17px;
color: light-dark(@dark, @beige);
}
}
}

View file

@ -1,22 +1,47 @@
@primary-blue: #1488cc;
@secondary-blue: #2b32b2;
@golden: #f3c267;
@golden-40: #f3c26740;
@dark-blue-40: #18162e40;
@golden-10: #f3c26710;
@dark-blue-10: #18162e10;
@dark-blue-50: #18162e50;
@golden-40: #f3c26740;
@red: #e54e4e;
@red-10: #e54e4e10;
@red-40: #e54e4e40;
@dark-red: #3c0000;
@dark-red-10: #3c000010;
@dark-red-40: #3c000040;
@green: #40a640;
@green-10: #40a64010;
@green-40: #40a64040;
@dark-green: #011b01;
@dark-green-10: #011b0110;
@dark-green-40: #011b0140;
@dark-blue: #18162e;
@dark-blue-10: #18162e10;
@dark-blue-40: #18162e40;
@dark-blue-50: #18162e50;
@semi-transparent-dark-blue: rgba(24, 22, 46, 0.33);
@dark: #222;
@dark-15: #22222215;
@deep-black: #0e0d15;
@beige: #efe6d8;
@beige-15: #efe6d815;
@beige-50: #efe6d850;
@dark-blue: rgb(24, 22, 46);
@semi-transparent-dark-blue: rgba(24, 22, 46, 0.33);
@dark: #222;
@dark-15: #22222215;
@light-black: rgba(0, 0, 0, 0.3);
@soft-shadow: rgba(0, 0, 0, 0.05);
@gradient-green: linear-gradient(151.21deg, @green 7.21%, @dark-green 92.79%);
@gradient-red: linear-gradient(151.21deg, @red 7.21%, @dark-red 92.79%);
@gradient-hp: linear-gradient(15deg, rgb(70, 20, 10) 0%, rgb(190, 0, 0) 42%, rgb(252, 176, 69) 100%);
@gradient-stress: linear-gradient(15deg, rgb(130, 59, 1) 0%, rgb(252, 142, 69) 65%, rgb(190, 0, 0) 100%);

View file

@ -5,18 +5,18 @@
*/
.appTheme(@darkRules, @lightRules) {
// Dark theme selectors
.themed.theme-dark .application.sheet.dh-style,
.themed.theme-dark.application.sheet.dh-style,
body.theme-dark .application,
body.theme-dark.application {
.themed.theme-dark .application.daggerheart.sheet.dh-style,
.themed.theme-dark.application.daggerheart.sheet.dh-style,
body.theme-dark .application.daggerheart,
body.theme-dark.application.daggerheart {
@darkRules();
}
// Light theme selectors
.themed.theme-light .application.sheet.dh-style,
.themed.theme-light.application.sheet.dh-style,
body.theme-light .application,
body.theme-light.application {
.themed.theme-light .application.daggerheart.sheet.dh-style,
.themed.theme-light.application.daggerheart.sheet.dh-style,
body.theme-light .application.daggerheart,
body.theme-light.application.daggerheart {
@lightRules();
}
}

View file

@ -0,0 +1,7 @@
<header class="dialog-header">
{{#if rollConfig.headerTitle}}
<h1>{{rollConfig.headerTitle}}</h1>
{{else}}
<h1>{{rollConfig.title}}</h1>
{{/if}}
</header>

View file

@ -0,0 +1,126 @@
<div>
{{#if @root.hasRoll}}
<div class="roll-dialog-container">
{{#unless @root.isLite}}
<div class="dices-section">
{{#if (eq @root.rollType 'D20Roll')}}
<div class="dice-option">
<img class="dice-icon" src="{{concat 'systems/daggerheart/assets/icons/dice/default/' @root.roll.d20.denomination '.svg'}}" alt="">
<div class="dice-select">
<select name="roll.dice.d20">
{{selectOptions diceOptions selected=@root.roll.d20.denomination}}
</select>
</div>
</div>
{{#if @root.advantage}}
{{#if (eq @root.advantage 1)}}
<div class="dice-option">
<img class="dice-icon" src="{{concat 'systems/daggerheart/assets/icons/dice/adv/' @root.roll.d20.denomination '.svg'}}" alt="">
<div class="dice-select">
<span class="label">Advantage</span>
</div>
</div>
{{else if (eq @root.advantage -1)}}
<div class="dice-option">
<img class="dice-icon" src="{{concat 'systems/daggerheart/assets/icons/dice/disadv/' @root.roll.d20.denomination '.svg'}}" alt="">
<div class="dice-select">
<span class="label">Disdvantage</span>
</div>
</div>
{{/if}}
{{/if}}
{{/if}}
{{#if (eq @root.rollType 'DualityRoll')}}
<div class="dice-option">
<img class="dice-icon" src="{{concat 'systems/daggerheart/assets/icons/dice/hope/' @root.roll.dHope.denomination '.svg'}}" alt="">
<div class="dice-select">
<span class="label">Hope</span>
<select name="roll.dice.dHope">
{{selectOptions diceOptions selected=@root.roll.dHope.denomination}}
</select>
</div>
</div>
<div class="dice-option">
<img class="dice-icon" src="{{concat 'systems/daggerheart/assets/icons/dice/fear/' @root.roll.dFear.denomination '.svg'}}" alt="">
<div class="dice-select">
<span class="label">Fear</span>
<select name="roll.dice.dFear">
{{selectOptions diceOptions selected=@root.roll.dFear.denomination}}
</select>
</div>
</div>
{{#if @root.advantage}}
{{#if (eq @root.advantage 1)}}
<div class="dice-option">
<img class="dice-icon" src="{{concat 'systems/daggerheart/assets/icons/dice/adv/' @root.roll.dAdvantage.denomination '.svg'}}" alt="">
<div class="dice-select">
<span class="label">Advantage</span>
</div>
</div>
{{else if (eq @root.advantage -1)}}
<div class="dice-option">
<img class="dice-icon" src="{{concat 'systems/daggerheart/assets/icons/dice/disadv/' @root.roll.dAdvantage.denomination '.svg'}}" alt="">
<div class="dice-select">
<span class="label">Disdvantage</span>
</div>
</div>
{{/if}}
{{/if}}
{{/if}}
</div>
<fieldset class="experience-container">
<legend>Experiences</legend>
{{#each experiences}}
{{#if name}}
<div class="experience-chip {{#if (includes ../selectedExperiences id)}}selected{{/if}}" data-action="selectExperience" data-key="{{id}}">
{{#if (includes ../selectedExperiences id)}}
<span><i class="fa-solid fa-circle"></i></span>
{{else}}
<span><i class="fa-regular fa-circle"></i></span>
{{/if}}
{{#if (eq @root.rollType 'D20Roll')}}
<span class="label">{{name}} +{{modifier}}</span>
{{else}}
<span class="label">{{name}} +{{value}}</span>
{{/if}}
</div>
{{/if}}
{{/each}}
</fieldset>
<fieldset class="modifier-container one-column">
<legend>Modifiers</legend>
<div class="nest-inputs">
<button class="advantage-chip flex1 {{#if (eq advantage 1)}}selected{{/if}}" data-action="updateIsAdvantage" data-advantage="1">
{{#if (eq advantage 1)}}
<span><i class="fa-solid fa-circle"></i></span>
{{else}}
<span><i class="fa-regular fa-circle"></i></span>
{{/if}}
<span class="label">{{localize "DAGGERHEART.General.Advantage.Full"}}</span>
</button>
<button class="disadvantage-chip flex1 {{#if (eq advantage -1)}}selected{{/if}}" data-action="updateIsAdvantage" data-advantage="-1">
{{#if (eq advantage -1)}}
<span><i class="fa-solid fa-circle"></i></span>
{{else}}
<span><i class="fa-regular fa-circle"></i></span>
{{/if}}
<span class="label">{{localize "DAGGERHEART.General.Disadvantage.Full"}}</span>
</button>
{{#unless (eq @root.rollType 'D20Roll')}}
<select name="roll.dice.advantageFaces">
{{selectOptions diceOptions selected=@root.roll.dAdvantage.denomination}}
</select>
{{/unless}}
</div>
<input type="text" value="{{extraFormula}}" name="extraFormula" placeholder="Situational Bonus">
</fieldset>
{{/unless}}
<span class="formula-label"><b>Formula:</b> {{@root.formula}}</span>
<button class="sunmit-btn" data-action="submitRoll"{{#unless canRoll}} disabled{{/unless}}>
<i class="fa-solid fa-dice"></i>
<span class="label">Roll</span>
</button>
</div>
{{/if}}
</div>

View file

@ -1,23 +0,0 @@
<div class="npc-roll-dialog-container">
<div class="selection-container">
<div class="dice-container">
<div class="dice-inner-container">
<img src="icons/svg/d20-grey.svg" />
<div class="dice-number">d20</div>
</div>
<div class="advantage-container">
<button class="advantage-button {{#if this.advantage}}active{{/if}} advantage" data-action="updateIsAdvantage" data-advantage="true">{{localize "DAGGERHEART.General.Advantage.Full"}}</button>
<button class="advantage-button {{#if (eq this.advantage false)}}active{{/if}} disadvantage" data-action="updateIsAdvantage">{{localize "DAGGERHEART.General.Disadvantage.Full"}}</button>
</div>
</div>
<div class="roll-dialog-experience-container">
{{#each this.experiences as |experience|}}
<button class="experience-chip {{#if experience.selected}}active{{/if}}" data-action="selectExperience" id="{{id}}">{{experience.name}} {{experience.value}}</button>
{{/each}}
</div>
</div>
<footer class="flexrow">
<button type="submit" class="roll-button">Roll</button>
</footer>
</div>

View file

@ -1,81 +0,0 @@
<div>
{{#if @root.hasRoll}}
<div class="roll-dialog-container">
<div class="flexcol">
<div>
{{!-- <input type="text" value="{{@root.formula}}" disabled> --}}
<div>{{@root.formula}}</div>
</div>
{{#unless @root.isLite}}
<div class="roll-dialog-experience-container">
{{#each experiences}}
{{#if name}}
<div class="roll-dialog-chip {{#if (includes ../selectedExperiences id)}}selected{{/if}}" data-action="selectExperience" data-key="{{id}}">
<span>{{name}}</span>
<span>+{{value}}</span>
</div>
{{/if}}
{{/each}}
</div>
<div class="flexrow">
<button class="disadvantage flex1 {{#if (eq advantage 1)}}selected{{/if}}" data-action="updateIsAdvantage" data-advantage="1">{{localize "DAGGERHEART.General.Advantage.Full"}}</button>
<button class="disadvantage flex1 {{#if (eq advantage -1)}}selected{{/if}}" data-action="updateIsAdvantage" data-advantage="-1">{{localize "DAGGERHEART.General.Disadvantage.Full"}}</button>
</div>
{{#if (eq @root.rollType 'D20Roll')}}
<div class="flexrow">
<select name="roll.dice.d20">
{{selectOptions diceOptions selected=@root.roll.d20.denomination}}
</select>
</div>
{{/if}}
{{#if (eq @root.rollType 'DualityRoll')}}
<div class="flexrow">
<div>Hope Dice</div>
<select name="roll.dice.dHope">
{{selectOptions diceOptions selected=@root.roll.dHope.denomination}}
</select>
</div>
<div class="flexrow">
<div>Fear Dice</div>
<select name="roll.dice.dFear">
{{selectOptions diceOptions selected=@root.roll.dFear.denomination}}
</select>
</div>
{{#if roll.advantage}}
<div class="flexrow">
<div>Adv/Disadv Dice</div>
<select name="roll.dice.advantageFaces">
{{selectOptions diceOptions selected=@root.roll.dAdvantage.denomination}}
</select>
</div>
{{/if}}
{{/if}}
<div>
<input type="text" value="{{extraFormula}}" name="extraFormula" placeholder="Situational Bonus">
</div>
{{/unless}}
{{!-- {{#if (not isNpc)}} --}}
{{!-- <div class="form-group">
<label>Hope</label>
<div class="form-fields">
<select name="hope">
{{selectOptions diceOptions selected=hope valueAttr="value" labelAttr="name" localize=true}}
</select>
</div>
</div>
<div class="form-group">
<label>Fear</label>
<div class="form-fields">
<select name="fear">
{{selectOptions diceOptions selected=fear valueAttr="value" labelAttr="name" localize=true}}
</select>
</div>
</div> --}}
{{!-- {{/if}} --}}
</div>
</div>
{{/if}}
<footer>
<button data-action="submitRoll"{{#unless canRoll}} disabled{{/unless}}>Roll</button>
</footer>
</div>

View file

@ -2,8 +2,6 @@ import fs from 'fs';
import path from 'path';
import readline from 'readline';
console.log('Reforging Symlinks');
const askQuestion = question => {
const rl = readline.createInterface({
input: process.stdin,