Added Gold & Troop donate button (#373)

## Please complete the following:

- [x] I have added screenshots for all UI updates
- [x] I confirm I have thoroughly tested these changes and take full
responsibility for any bugs introduced
- [x] I understand that submitting code with bugs that could have been
caught through manual testing blocks releases and new features for all
contributors

Changed the icon for the troop donation button, as it looked like it was
donating gold.
I replaced it with a soldier icon to better reflect its function.
Additionally, I updated the icon below it to clearly represent gold
donation instead.

## Please put your Discord username so you can be contacted if a bug or
regression is found:
aotumuri

The cat is because of an extension I have put in. Please ignore it.
<img width="345" alt="スクリーンショット 2025-03-30 10 13 06"
src="https://github.com/user-attachments/assets/9088be1a-57b4-4d10-9507-ca8dc0fcc68c"
/>
<img width="396" alt="スクリーンショット 2025-03-30 10 18 10"
src="https://github.com/user-attachments/assets/2555fd24-0bbc-4b40-8f80-ccf43a1e9a75"
/>

---------

Co-authored-by: Evan <evanpelle@gmail.com>
This commit is contained in:
Aotumuri
2025-04-01 02:51:05 +09:00
committed by GitHub
parent d0e220c0a2
commit 745017aee2
18 changed files with 331 additions and 33 deletions

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

+36
View File
@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="_レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 512 512">
<!-- Generator: Adobe Illustrator 29.3.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 151) -->
<defs>
<style>
.st0 {
fill: #fefffe;
fill-rule: evenodd;
}
</style>
</defs>
<path class="st0" d="M511.5,274.5v18c-3,10.2-8.6,18.7-17,25.5-44.7,35.7-89.7,71-135,106-11.9,6.4-24.6,10.4-38,12-56.3.3-112.7.7-169,1-4.6.9-9,2.5-13,5-20.8,13.6-41.8,26.9-63,40-8.5,4.4-15.6,2.9-21.5-4.5-18.5-24.4-37-48.7-55.5-73v-9c3.4-4.9,7.4-9.4,12-13.5,34.3-30.6,68.3-61.6,102-93,35.7-26.3,74-31,115-14,12.7,7.3,26,13,40,17,21.3.7,42.7.7,64,0,8.3-7.2,17-13.8,26-20,18.4-8.1,35-5.6,50,7.5,13.5-10.3,26.8-20.8,40-31.5,22.7-11,41.9-6.5,57.5,13.5,2.3,4.3,4.1,8.6,5.5,13ZM468.5,268.5c14.4,1.5,19.2,9.2,14.5,23-44.5,36.2-89.4,72-134.5,107.5-8.5,4.7-17.5,8.1-27,10-58.7,0-117.4.7-176,2-7.1,1.6-13.8,4.2-20,8-18.2,11.5-36.3,23-54.5,34.5-13.3-17.1-26.5-34.3-39.5-51.5,32.6-31,65.6-61.6,99-92,24.7-18.5,51.7-22.8,81-13,11.8,5.4,23.5,11.1,35,17,6.8,2.4,13.8,4.1,21,5,22.7.3,45.3.7,68,1,8.7,3.7,11.2,9.8,7.5,18.5-2.5,3.8-6,6-10.5,6.5-52.7,2.8-105.4,6.1-158,10-7.9,4.5-10.1,11-6.5,19.5,1.9,2.2,4,4,6.5,5.5,55.4-2.1,110.7-5.1,166-9,13.8-3.2,23.3-11.3,28.5-24.5,29.6-24.5,59.4-48.7,89.5-72.5,3-2.7,6.3-4.5,10-5.5ZM377.5,293.5c3.4.3,6.4,1.5,9,3.5l-18,15c-.7.7-1.3.7-2,0-1.8-2.6-3.8-5.1-6-7.5,4.9-5,10.6-8.6,17-11Z"/>
<g>
<g>
<path class="st0" d="M203,91.9c0,36.8,27.9,66.7,62.4,66.7l33.3-12.2,1.9-4.8,2.2,3s2.4-1.6,2.8-1.8c13.6-12.2,22.2-30.6,22.2-51.1s-.8-12.5-2.4-18.2h-120.1c-1.6,5.8-2.4,11.9-2.4,18.2v.2Z"/>
<path class="st0" d="M265.3-.4c-62.4,0-60.2,27.7-74.8,68.9h149.8C325.5,27.5,327.8-.4,265.4-.4h-.1Z"/>
<path class="st0" d="M263.2,190.4c-1.8,1.4-4.7,4.4-9.8,9.8-14.6,15.5-10.6,15.4-7.8,18.5,2.8,3.1,3.1,8.2,17.8-7.3,8.8-9.1,10.9-11.5,10.3-13.1,1.3,0,2.6-.4,4.1-1.6,4.9-4.1,8.4-17,7.7-25.2,13.1-6,26-11.9,39.1-17.9,7.7-3.5,13.8-10,27.1-16,2.8-1.2,4.7-2.2,6.5-3,2.9-1.3,5.9-2.6,15.5-7,.2,0,.2-.6.2-1.3,4.2-1.9,8.5-3.8,12.7-5.8.7-.4-.2-2.8-1-2.5-4.2,1.9-8.3,3.7-12.4,5.5,0-.1,0-.2-.1-.4,4.6-2,9.1-4.1,13.7-6.1.7-.4-1.7-6.4-2.4-6.1-.8.4-1.6.7-2.4,1.1l-.8-2-3.2,1.4.8,2c-2.9,1.3-5.6,2.5-8.5,3.8-.4-.4-.7-.6-1-.5-9.5,4.2-15.4,7-15.4,7l-9.4,4.2-42.2,19-1.9-4.1s.4,2.3.5,4.7l-55.7,25.1c-.8.4-1.7.8-2.5,1.4l-9.2.6s3.1.7,6.1,1.7c-9.4,7.2-21.6,21.2-30.1,28.2-13.3,17.3-21.1,9.6-21.1,9.6,0,0-18.8,13.2-31.4,18.8,0,0,9.7,7.2,12.2,10.4,4,5,10.7,19.8,10.7,19.8l83.1-73h.2ZM269,185.1c1.4,3.4,3.4,6.2,5.8,6.4,0,0-3-4.1-4.4-7.4l10.7-9.5c2,3.5,0,15.1-4.3,18.7-4.6,3.8-8.5-2-11.3-4.6,0,0-.1-.1-.2-.2l3.8-3.4h0ZM271.3,197.6c1.9,2,1,3.1-8.8,13.2-12.8,13.4-12.8,8.8-15.2,6s-6.2-2.3,6.5-15.7c6.1-6.4,8.8-9.1,10.3-9.7,1.9,2,4.4,4.9,7.2,6.2h0Z"/>
<path class="st0" d="M139.5,238.3l46.1-27.7s10,9.8,26.9-12.1c10.8-8.9,12.2-12.5,24.1-21.7-3.7-1.2-7.7-2.2-7.7-2.2l12-1.6c1.1-.7,2.2-1.3,3.2-1.8l8.2-3.7c-20.4-3.6-38-15.5-50.1-32.3-37.5,20.6-62.7,59-62.7,103"/>
<path class="st0" d="M345.5,146.5c-.2,0-.5.2-.7.4-16.6,7.6-40.3,18.6-56.9,26.1,1.1,10.4-.2,20.5-6.4,25.7-1.8,1.4-3.5,2-5.2,1.9.8,2-2,5-13.1,16.7-12.6,13.3-14.9,7.4-18.4,3.5-3.5-4-5.5-4.7-4-8.4l-25.5,26.3h175.8c0-37.1-17.9-70-45.8-92h0Z"/>
</g>
<g>
<path class="st0" d="M48.6,85.8c0,28.3,21.5,51.2,47.9,51.2l25.5-9.4,1.4-3.7,1.7,2.3s1.9-1.2,2-1.3c10.4-9.4,17-23.4,17-39.1s-.6-9.6-1.8-14H50.3c-1.2,4.4-1.8,9.1-1.8,14h.1Z"/>
<path class="st0" d="M96.4,15c-47.9,0-46.2,21.2-57.5,52.8h114.8c-11.3-31.5-9.6-52.8-57.5-52.8h.1Z"/>
<path class="st0" d="M94.8,161.3c-1.4,1.1-3.6,3.4-7.6,7.6-11.3,11.9-8,11.8-6,14.2,2.2,2.4,2.4,6.2,13.7-5.6,6.7-7,8.4-8.9,7.9-10.1,1,0,2-.2,3.1-1.2,3.7-3.1,6.5-13.1,5.9-19.3,10-4.6,20-9.1,30-13.7,5.9-2.6,10.6-7.6,20.8-12.2,2.2-1,3.6-1.7,5-2.3,2.2-1,4.6-2,11.9-5.3.2,0,.2-.5.1-1,3.2-1.4,6.5-2.9,9.8-4.4.6-.2-.2-2.2-.7-1.9-3.1,1.4-6.4,2.9-9.5,4.3v-.4c3.5-1.6,7-3.1,10.4-4.7.6-.2-1.3-4.9-1.8-4.7-.6.2-1.2.5-1.8.8l-.6-1.6-2.4,1.1.6,1.6c-2.2,1-4.3,1.9-6.5,2.9-.2-.4-.5-.5-.7-.4-7.2,3.2-11.8,5.3-11.8,5.3l-7.1,3.2-32.4,14.6-1.4-3.1s.2,1.7.4,3.6l-42.7,19.2c-.6.2-1.3.6-1.9,1.1l-7.1.4s2.4.6,4.7,1.3c-7.2,5.5-16.6,16.3-23.2,21.6-10.2,13.3-16.2,7.3-16.2,7.3,0,0-14.4,10.1-24.1,14.4,0,0,7.4,5.5,9.4,8,3,3.8,8.2,15.2,8.2,15.2l63.8-56h-.2ZM99.2,157.3c1.1,2.5,2.5,4.8,4.4,4.9,0,0-2.4-3.1-3.4-5.8l8.3-7.2c1.6,2.6,0,11.6-3.4,14.4-3.5,2.9-6.5-1.6-8.6-3.5,0,0-.1-.1-.2-.2l2.9-2.5h0ZM101,166.8c1.6,1.6.7,2.4-6.7,10.2-9.8,10.3-9.8,6.7-11.8,4.7s-4.8-1.8,5-12.1c4.7-4.9,6.7-7,7.9-7.4,1.6,1.6,3.4,3.8,5.5,4.8h0Z"/>
<path class="st0" d="M55.9,167.4c8.3-6.8,9.4-9.6,18.5-16.7-2.9-1-5.9-1.7-5.9-1.7l9.2-1.2c.8-.6,1.7-1,2.5-1.3l6.2-2.9c-15.6-2.8-29.1-11.9-38.4-24.7C19.3,134.8,0,164.3,0,198l35.4-21.4s7.7,7.6,20.6-9.4h-.1Z"/>
<path class="st0" d="M157.7,169.7c4.9-8.9,11.3-16.8,19.4-21.8-5.3-7.7-11.9-14.5-19.3-20.4-.1,0-.4.1-.5.2-12.7,5.8-30.9,14.3-43.7,20,.8,8-.1,15.7-4.9,19.7-1.3,1.1-2.6,1.6-4,1.4.6,1.6-1.6,3.8-10.1,12.7-9.7,10.2-11.4,5.6-14.2,2.6s-4.2-3.6-3-6.5l-19.6,20.2h84.4c3.1-10.4,10-18.8,15.2-28.3h0Z"/>
</g>
<g>
<path class="st0" d="M461.3,71.4h-92.1c-1.2,4.4-1.8,9.1-1.8,14,0,10.2,2.8,19.6,7.6,27.6,3.4-1.8,9.4-5.8,11.8-1.3s2.3,5.2,2,7.6c-.2,1.9-.5,2.5-2.4,2.9-.4.4-2.8,1-3.1,1.2,8.5,8.3,19.8,13.3,32.1,13.3l25.5-9.4,1.4-3.7,1.7,2.3s1.9-1.2,2-1.3c10.4-9.4,17-23.4,17-39.1s-.6-9.6-1.8-14h0Z"/>
<path class="st0" d="M415.4,14.6c-47.9,0-46.2,21.2-57.5,52.8h114.8c-11.3-31.5-9.6-52.8-57.5-52.8h.1Z"/>
<path class="st0" d="M507.5,105.7c-3.1,1.4-6.4,2.9-9.5,4.3v-.4c3.5-1.6,7-3.1,10.4-4.7.6-.2-1.3-4.9-1.8-4.7-.6.2-1.2.5-1.8.8l-.6-1.6-2.4,1.1.6,1.6c-2.2,1-4.3,1.9-6.5,2.9-.2-.4-.5-.5-.7-.4-7.2,3.2-11.8,5.3-11.8,5.3l-7.1,3.2-32.4,14.6-1.4-3.1s.2,1.7.4,3.6l-42.7,19.2c-.6.2-1.3.6-1.9,1.1l-7.1.4s2.4.6,4.7,1.3c-5.8,4.4-13,12.2-19,18,1.6,2.3,3.1,4.6,4.7,6.7,2.2,3,3.8,6.2,5.2,9.6l27-23.7h0c-1.4,1.1-3.6,3.4-7.6,7.6-11.3,11.9-8,11.8-6,14.2,2.2,2.4,2.4,6.2,13.7-5.6,6.7-7,8.4-8.9,7.9-10.1,1,0,2-.2,3.1-1.2,3.7-3.1,6.5-13.1,5.9-19.3,10-4.6,20-9.1,30-13.7,5.9-2.6,10.6-7.6,20.8-12.2,2.2-1,3.6-1.7,5-2.3,2.2-1,4.6-2,11.9-5.3.2,0,.2-.5.1-1,3.2-1.4,6.5-2.9,9.8-4.4.6-.2-.2-2.2-.7-1.9h-.2ZM413.2,176.6c-9.8,10.3-9.8,6.7-11.8,4.7s-4.8-1.8,5-12.1c4.7-4.9,6.7-7,7.9-7.4,1.6,1.6,3.4,3.8,5.5,4.8,1.6,1.6.7,2.4-6.7,10.2h0ZM424,163.1c-3.5,2.9-6.5-1.6-8.6-3.5,0,0-.1-.1-.2-.2l2.9-2.5c1.1,2.5,2.5,4.8,4.4,4.9,0,0-2.4-3.1-3.4-5.8l8.3-7.2c1.6,2.6,0,11.6-3.4,14.4h0Z"/>
<path class="st0" d="M376,128.8s-.2.2-.4.4c-7.2,6-16,11.5-25.1,13.9,4.2,1.9,8.2,4.8,11.6,7.8,5,4.4,9.2,10,13.2,15.6,7.7-6.4,8.9-9.2,17.8-16.1-2.9-1-5.9-1.7-5.9-1.7l9.2-1.2c.8-.6,1.7-1,2.5-1.3l6.2-2.9c-11-1.9-21.1-7.1-29.3-14.5h0Z"/>
<path class="st0" d="M387.4,186.9c1.2,3.5,2.2,7.1,3,10.8h121.4c0-28.4-13.7-53.7-35.1-70.5-.1,0-.4.1-.5.2-12.7,5.8-30.9,14.3-43.7,20,.8,8-.1,15.7-4.9,19.7-1.3,1.1-2.6,1.6-4,1.4.6,1.6-1.6,3.8-10.1,12.7-9.7,10.2-11.4,5.6-14.2,2.6s-4.2-3.6-3-6.5l-9.1,9.4h.1Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.8 KiB

@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="_レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 512 512">
<!-- Generator: Adobe Illustrator 29.3.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 151) -->
<defs>
<style>
.st0 {
fill: #fefffe;
fill-rule: evenodd;
}
</style>
</defs>
<path class="st0" d="M511.5,274.5v18c-3,10.2-8.6,18.7-17,25.5-44.7,35.7-89.7,71-135,106-11.9,6.4-24.6,10.4-38,12-56.3.3-112.7.7-169,1-4.6.9-9,2.5-13,5-20.8,13.6-41.8,26.9-63,40-8.5,4.4-15.6,2.9-21.5-4.5-18.5-24.4-37-48.7-55.5-73v-9c3.4-4.9,7.4-9.4,12-13.5,34.3-30.6,68.3-61.6,102-93,35.7-26.3,74-31,115-14,12.7,7.3,26,13,40,17,21.3.7,42.7.7,64,0,8.3-7.2,17-13.8,26-20,18.4-8.1,35-5.6,50,7.5,13.5-10.3,26.8-20.8,40-31.5,22.7-11,41.9-6.5,57.5,13.5,2.3,4.3,4.1,8.6,5.5,13ZM468.5,268.5c14.4,1.5,19.2,9.2,14.5,23-44.5,36.2-89.4,72-134.5,107.5-8.5,4.7-17.5,8.1-27,10-58.7,0-117.4.7-176,2-7.1,1.6-13.8,4.2-20,8-18.2,11.5-36.3,23-54.5,34.5-13.3-17.1-26.5-34.3-39.5-51.5,32.6-31,65.6-61.6,99-92,24.7-18.5,51.7-22.8,81-13,11.8,5.4,23.5,11.1,35,17,6.8,2.4,13.8,4.1,21,5,22.7.3,45.3.7,68,1,8.7,3.7,11.2,9.8,7.5,18.5-2.5,3.8-6,6-10.5,6.5-52.7,2.8-105.4,6.1-158,10-7.9,4.5-10.1,11-6.5,19.5,1.9,2.2,4,4,6.5,5.5,55.4-2.1,110.7-5.1,166-9,13.8-3.2,23.3-11.3,28.5-24.5,29.6-24.5,59.4-48.7,89.5-72.5,3-2.7,6.3-4.5,10-5.5ZM377.5,293.5c3.4.3,6.4,1.5,9,3.5l-18,15c-.7.7-1.3.7-2,0-1.8-2.6-3.8-5.1-6-7.5,4.9-5,10.6-8.6,17-11Z"/>
<path class="st0" d="M383.2,21h7.8c1.7.7,2.9,2,3.7,3.7v7.8c-1,9.2-2,18.3-3,27.6-1.1,3.3-2.6,6.4-4.6,9.2-41.2,41.2-82.2,82.2-123.3,123.3-3.1,2.1-6.1,2.1-9.2,0l-8.9-8.9c-1.5-2.9-1.5-5.8,0-8.7,34.5-34.5,68.9-68.9,103.4-103.4,1.3-3.1.4-4.9-3-5.5-1.1,0-2,.5-2.7,1.2-34.1,34.1-68.3,68.3-102.4,102.4-2.5,1.7-5,2-7.8,1-3.6-3.1-7-6.4-10.3-9.9-1.7-3.4-1.4-6.7,1-9.6,41.3-40.8,82.3-81.7,123.3-122.9,3.3-2.4,6.9-3.9,11.1-4.6,8.4-.7,16.9-1.5,25.2-2.5v-.2Z"/>
<path class="st0" d="M168.4,149.4c7.5,0,15,0,22.5.2,1,.1,1.9.5,2.7,1,23.2,23.3,46.5,46.5,70.1,69.6.7,1,1.3,2,1.8,3.2.4,8.4.4,16.9,0,25.2-3,5-6.8,5.7-11.5,2.3-.6-1.1-1.1-2.1-1.4-3.2-.1-6.5-.4-13.2-.5-19.7l-18.1-18.1c-5.7,3-11.2,6.3-16.5,10.1-1.4.7-3,.8-4.6.5-2.6-4.2-5.7-8-9.2-11.5-2.9-2-5.7-4-8.4-6.2-.4-1.1-.4-2.1,0-3.2,3-5.1,6.1-10.2,9.2-15.1.7-1,1.1-2,1-3.2l-18.1-18.1c-6.8-.1-13.4-.4-20.2-.5-4.3-1.8-5.6-5-3.9-9.4,1.3-2,3.1-3.2,5.2-3.7h.1Z"/>
<path class="st0" d="M185.7,256h-9.2c-8.9-2.5-14.5-8.1-17-17v-9.2c5.6-15,15.9-19.9,31.3-14.9,12.4,8,15.1,18.7,8.4,31.9-1.2,1.1-2.1,2.1-3,3.4-3.2,2.6-6.7,4.5-10.6,5.7h0Z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

@@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="_レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 512 512">
<!-- Generator: Adobe Illustrator 29.3.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 151) -->
<defs>
<style>
.st0 {
fill: #fefffe;
fill-rule: evenodd;
}
</style>
</defs>
<path class="st0" d="M511.5,300.9v18c-3,10.2-8.6,18.7-17,25.5-44.7,35.7-89.7,71-135,106-11.9,6.4-24.6,10.4-38,12-56.3.3-112.7.7-169,1-4.6.9-9,2.5-13,5-20.8,13.6-41.8,26.9-63,40-8.5,4.4-15.6,2.9-21.5-4.5-18.5-24.4-37-48.7-55.5-73v-9c3.4-4.9,7.4-9.4,12-13.5,34.3-30.6,68.3-61.6,102-93,35.7-26.3,74-31,115-14,12.7,7.3,26,13,40,17,21.3.7,42.7.7,64,0,8.3-7.2,17-13.8,26-20,18.4-8.1,35-5.6,50,7.5,13.5-10.3,26.8-20.8,40-31.5,22.7-11,41.9-6.5,57.5,13.5,2.3,4.3,4.1,8.6,5.5,13ZM468.5,294.9c14.4,1.5,19.2,9.2,14.5,23-44.5,36.2-89.4,72-134.5,107.5-8.5,4.7-17.5,8.1-27,10-58.7,0-117.4.7-176,2-7.1,1.6-13.8,4.2-20,8-18.2,11.5-36.3,23-54.5,34.5-13.3-17.1-26.5-34.3-39.5-51.5,32.6-31,65.6-61.6,99-92,24.7-18.5,51.7-22.8,81-13,11.8,5.4,23.5,11.1,35,17,6.8,2.4,13.8,4.1,21,5,22.7.3,45.3.7,68,1,8.7,3.7,11.2,9.8,7.5,18.5-2.5,3.8-6,6-10.5,6.5-52.7,2.8-105.4,6.1-158,10-7.9,4.5-10.1,11-6.5,19.5,1.9,2.2,4,4,6.5,5.5,55.4-2.1,110.7-5.1,166-9,13.8-3.2,23.3-11.3,28.5-24.5,29.6-24.5,59.4-48.7,89.5-72.5,3-2.7,6.3-4.5,10-5.5ZM377.5,319.9c3.4.3,6.4,1.5,9,3.5l-18,15c-.7.7-1.3.7-2,0-1.8-2.6-3.8-5.1-6-7.5,4.9-5,10.6-8.6,17-11Z"/>
<g>
<g>
<path class="st0" d="M202.6,107.1c0,36.8,27.9,66.7,62.4,66.7l33.3-12.2,1.9-4.8,2.2,3s2.4-1.6,2.8-1.8c13.6-12.2,22.2-30.6,22.2-51.1s-.8-12.5-2.4-18.2h-120.1c-1.6,5.8-2.4,11.9-2.4,18.2v.2h.1Z"/>
<path class="st0" d="M264.9,14.8c-62.4,0-60.2,27.7-74.8,68.9h149.8c-14.8-41-12.5-68.9-74.9-68.9h-.1Z"/>
<path class="st0" d="M262.8,205.6c-1.8,1.4-4.7,4.4-9.8,9.8-14.6,15.5-10.6,15.4-7.8,18.5s3.1,8.2,17.8-7.3c8.8-9.1,10.9-11.5,10.3-13.1,1.3,0,2.6-.4,4.1-1.6,4.9-4.1,8.4-17,7.7-25.2,13.1-6,26-11.9,39.1-17.9,7.7-3.5,13.8-10,27.1-16,2.8-1.2,4.7-2.2,6.5-3,2.9-1.3,5.9-2.6,15.5-7,.2,0,.2-.6.2-1.3,4.2-1.9,8.5-3.8,12.7-5.8.7-.4-.2-2.8-1-2.5-4.2,1.9-8.3,3.7-12.4,5.5,0,0,0-.2-.1-.4,4.6-2,9.1-4.1,13.7-6.1.7-.4-1.7-6.4-2.4-6.1-.8.4-1.6.7-2.4,1.1l-.8-2-3.2,1.4.8,2c-2.9,1.3-5.6,2.5-8.5,3.8-.4-.4-.7-.6-1-.5-9.5,4.2-15.4,7-15.4,7l-9.4,4.2-42.2,19-1.9-4.1s.4,2.3.5,4.7l-55.7,25.1c-.8.4-1.7.8-2.5,1.4l-9.2.6s3.1.7,6.1,1.7c-9.4,7.2-21.6,21.2-30.1,28.2-13.3,17.3-21.1,9.6-21.1,9.6,0,0-18.8,13.2-31.4,18.8,0,0,9.7,7.2,12.2,10.4,4,5,10.7,19.8,10.7,19.8l83.1-73h.2v.3ZM268.6,200.3c1.4,3.4,3.4,6.2,5.8,6.4,0,0-3-4.1-4.4-7.4l10.7-9.5c2,3.5,0,15.1-4.3,18.7-4.6,3.8-8.5-2-11.3-4.6,0,0-.1-.1-.2-.2l3.8-3.4h-.1ZM270.9,212.8c1.9,2,1,3.1-8.8,13.2-12.8,13.4-12.8,8.8-15.2,6s-6.2-2.3,6.5-15.7c6.1-6.4,8.8-9.1,10.3-9.7,1.9,2,4.4,4.9,7.2,6.2h0Z"/>
<path class="st0" d="M139.1,253.5l46.1-27.7s10,9.8,26.9-12.1c10.8-8.9,12.2-12.5,24.1-21.7-3.7-1.2-7.7-2.2-7.7-2.2l12-1.6c1.1-.7,2.2-1.3,3.2-1.8l8.2-3.7c-20.4-3.6-38-15.5-50.1-32.3-37.5,20.6-62.7,59-62.7,103"/>
<path class="st0" d="M345.1,161.7c-.2,0-.5.2-.7.4-16.6,7.6-40.3,18.6-56.9,26.1,1.1,10.4-.2,20.5-6.4,25.7-1.8,1.4-3.5,2-5.2,1.9.8,2-2,5-13.1,16.7-12.6,13.3-14.9,7.4-18.4,3.5-3.5-4-5.5-4.7-4-8.4l-25.5,26.3h175.8c0-37.1-17.9-70-45.8-92h0l.2-.2Z"/>
</g>
<g>
<path class="st0" d="M48.2,101c0,28.3,21.5,51.2,47.9,51.2l25.5-9.4,1.4-3.7,1.7,2.3s1.9-1.2,2-1.3c10.4-9.4,17-23.4,17-39.1s-.6-9.6-1.8-14H49.9c-1.2,4.4-1.8,9.1-1.8,14h0Z"/>
<path class="st0" d="M96,30.2c-47.9,0-46.2,21.2-57.5,52.8h114.8c-11.3-31.5-9.6-52.8-57.5-52.8h.2Z"/>
<path class="st0" d="M94.4,176.5c-1.4,1.1-3.6,3.4-7.6,7.6-11.3,11.9-8,11.8-6,14.2,2.2,2.4,2.4,6.2,13.7-5.6,6.7-7,8.4-8.9,7.9-10.1,1,0,2-.2,3.1-1.2,3.7-3.1,6.5-13.1,5.9-19.3,10-4.6,20-9.1,30-13.7,5.9-2.6,10.6-7.6,20.8-12.2,2.2-1,3.6-1.7,5-2.3,2.2-1,4.6-2,11.9-5.3.2,0,.2-.5.1-1,3.2-1.4,6.5-2.9,9.8-4.4.6-.2-.2-2.2-.7-1.9-3.1,1.4-6.4,2.9-9.5,4.3v-.4c3.5-1.6,7-3.1,10.4-4.7.6-.2-1.3-4.9-1.8-4.7-.6.2-1.2.5-1.8.8l-.6-1.6-2.4,1.1.6,1.6c-2.2,1-4.3,1.9-6.5,2.9-.2-.4-.5-.5-.7-.4-7.2,3.2-11.8,5.3-11.8,5.3l-7.1,3.2-32.4,14.6-1.4-3.1s.2,1.7.4,3.6l-42.7,19.2c-.6.2-1.3.6-1.9,1.1l-7.1.4s2.4.6,4.7,1.3c-7.2,5.5-16.6,16.3-23.2,21.6-10.2,13.3-16.2,7.3-16.2,7.3,0,0-14.4,10.1-24.1,14.4,0,0,7.4,5.5,9.4,8,3,3.8,8.2,15.2,8.2,15.2l63.8-56h-.2v.2ZM98.8,172.5c1.1,2.5,2.5,4.8,4.4,4.9,0,0-2.4-3.1-3.4-5.8l8.3-7.2c1.6,2.6,0,11.6-3.4,14.4-3.5,2.9-6.5-1.6-8.6-3.5,0,0,0-.1-.2-.2l2.9-2.5h0ZM100.6,182c1.6,1.6.7,2.4-6.7,10.2-9.8,10.3-9.8,6.7-11.8,4.7s-4.8-1.8,5-12.1c4.7-4.9,6.7-7,7.9-7.4,1.6,1.6,3.4,3.8,5.5,4.8h0v-.2Z"/>
<path class="st0" d="M55.5,182.6c8.3-6.8,9.4-9.6,18.5-16.7-2.9-1-5.9-1.7-5.9-1.7l9.2-1.2c.8-.6,1.7-1,2.5-1.3l6.2-2.9c-15.6-2.8-29.1-11.9-38.4-24.7C18.9,150-.4,179.5-.4,213.2l35.4-21.4s7.7,7.6,20.6-9.4h0v.2Z"/>
<path class="st0" d="M157.3,184.9c4.9-8.9,11.3-16.8,19.4-21.8-5.3-7.7-11.9-14.5-19.3-20.4-.1,0-.4,0-.5.2-12.7,5.8-30.9,14.3-43.7,20,.8,8,0,15.7-4.9,19.7-1.3,1.1-2.6,1.6-4,1.4.6,1.6-1.6,3.8-10.1,12.7-9.7,10.2-11.4,5.6-14.2,2.6s-4.2-3.6-3-6.5l-19.6,20.2h84.4c3.1-10.4,10-18.8,15.2-28.3h0l.3.2Z"/>
</g>
<g>
<path class="st0" d="M460.9,86.6h-92.1c-1.2,4.4-1.8,9.1-1.8,14,0,10.2,2.8,19.6,7.6,27.6,3.4-1.8,9.4-5.8,11.8-1.3s2.3,5.2,2,7.6c-.2,1.9-.5,2.5-2.4,2.9-.4.4-2.8,1-3.1,1.2,8.5,8.3,19.8,13.3,32.1,13.3l25.5-9.4,1.4-3.7,1.7,2.3s1.9-1.2,2-1.3c10.4-9.4,17-23.4,17-39.1s-.6-9.6-1.8-14h0Z"/>
<path class="st0" d="M415,29.8c-47.9,0-46.2,21.2-57.5,52.8h114.8c-11.3-31.5-9.6-52.8-57.5-52.8h.2Z"/>
<path class="st0" d="M507.1,120.9c-3.1,1.4-6.4,2.9-9.5,4.3v-.4c3.5-1.6,7-3.1,10.4-4.7.6-.2-1.3-4.9-1.8-4.7-.6.2-1.2.5-1.8.8l-.6-1.6-2.4,1.1.6,1.6c-2.2,1-4.3,1.9-6.5,2.9-.2-.4-.5-.5-.7-.4-7.2,3.2-11.8,5.3-11.8,5.3l-7.1,3.2-32.4,14.6-1.4-3.1s.2,1.7.4,3.6l-42.7,19.2c-.6.2-1.3.6-1.9,1.1l-7.1.4s2.4.6,4.7,1.3c-5.8,4.4-13,12.2-19,18,1.6,2.3,3.1,4.6,4.7,6.7,2.2,3,3.8,6.2,5.2,9.6l27-23.7h0c-1.4,1.1-3.6,3.4-7.6,7.6-11.3,11.9-8,11.8-6,14.2,2.2,2.4,2.4,6.2,13.7-5.6,6.7-7,8.4-8.9,7.9-10.1,1,0,2-.2,3.1-1.2,3.7-3.1,6.5-13.1,5.9-19.3,10-4.6,20-9.1,30-13.7,5.9-2.6,10.6-7.6,20.8-12.2,2.2-1,3.6-1.7,5-2.3,2.2-1,4.6-2,11.9-5.3.2,0,.2-.5.1-1,3.2-1.4,6.5-2.9,9.8-4.4.6-.2-.2-2.2-.7-1.9h-.2ZM412.8,191.8c-9.8,10.3-9.8,6.7-11.8,4.7s-4.8-1.8,5-12.1c4.7-4.9,6.7-7,7.9-7.4,1.6,1.6,3.4,3.8,5.5,4.8,1.6,1.6.7,2.4-6.7,10.2h0v-.2ZM423.6,178.3c-3.5,2.9-6.5-1.6-8.6-3.5,0,0-.1-.1-.2-.2l2.9-2.5c1.1,2.5,2.5,4.8,4.4,4.9,0,0-2.4-3.1-3.4-5.8l8.3-7.2c1.6,2.6,0,11.6-3.4,14.4h0Z"/>
<path class="st0" d="M375.6,144s-.2.2-.4.4c-7.2,6-16,11.5-25.1,13.9,4.2,1.9,8.2,4.8,11.6,7.8,5,4.4,9.2,10,13.2,15.6,7.7-6.4,8.9-9.2,17.8-16.1-2.9-1-5.9-1.7-5.9-1.7l9.2-1.2c.8-.6,1.7-1,2.5-1.3l6.2-2.9c-11-1.9-21.1-7.1-29.3-14.5h.2Z"/>
<path class="st0" d="M387,202.1c1.2,3.5,2.2,7.1,3,10.8h121.4c0-28.4-13.7-53.7-35.1-70.5-.1,0-.4,0-.5.2-12.7,5.8-30.9,14.3-43.7,20,.8,8-.1,15.7-4.9,19.7-1.3,1.1-2.6,1.6-4,1.4.6,1.6-1.6,3.8-10.1,12.7-9.7,10.2-11.4,5.6-14.2,2.6s-4.2-3.6-3-6.5l-9.1,9.4h.1v.2Z"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.9 KiB

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="_レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 512 512">
<!-- Generator: Adobe Illustrator 29.3.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 151) -->
<defs>
<style>
.st0 {
fill: #fefffe;
fill-rule: evenodd;
}
</style>
</defs>
<path class="st0" d="M511.5,301.5v18c-3,10.2-8.6,18.7-17,25.5-44.7,35.7-89.7,71-135,106-11.9,6.4-24.6,10.4-38,12-56.3.3-112.7.7-169,1-4.6.9-9,2.5-13,5-20.8,13.6-41.8,26.9-63,40-8.5,4.4-15.6,2.9-21.5-4.5-18.5-24.4-37-48.7-55.5-73v-9c3.4-4.9,7.4-9.4,12-13.5,34.3-30.6,68.3-61.6,102-93,35.7-26.3,74-31,115-14,12.7,7.3,26,13,40,17,21.3.7,42.7.7,64,0,8.3-7.2,17-13.8,26-20,18.4-8.1,35-5.6,50,7.5,13.5-10.3,26.8-20.8,40-31.5,22.7-11,41.9-6.5,57.5,13.5,2.3,4.3,4.1,8.6,5.5,13ZM468.5,295.5c14.4,1.5,19.2,9.2,14.5,23-44.5,36.2-89.4,72-134.5,107.5-8.5,4.7-17.5,8.1-27,10-58.7,0-117.4.7-176,2-7.1,1.6-13.8,4.2-20,8-18.2,11.5-36.3,23-54.5,34.5-13.3-17.1-26.5-34.3-39.5-51.5,32.6-31,65.6-61.6,99-92,24.7-18.5,51.7-22.8,81-13,11.8,5.4,23.5,11.1,35,17,6.8,2.4,13.8,4.1,21,5,22.7.3,45.3.7,68,1,8.7,3.7,11.2,9.8,7.5,18.5-2.5,3.8-6,6-10.5,6.5-52.7,2.8-105.4,6.1-158,10-7.9,4.5-10.1,11-6.5,19.5,1.9,2.2,4,4,6.5,5.5,55.4-2.1,110.7-5.1,166-9,13.8-3.2,23.3-11.3,28.5-24.5,29.6-24.5,59.4-48.7,89.5-72.5,3-2.7,6.3-4.5,10-5.5ZM377.5,320.5c3.4.3,6.4,1.5,9,3.5l-18,15c-.7.7-1.3.7-2,0-1.8-2.6-3.8-5.1-6-7.5,4.9-5,10.6-8.6,17-11Z"/>
<g>
<path class="st0" d="M192.7,113.5c0,38.5,31.8,69.8,71,69.8l37.9-12.8,2.2-5,2.5,3.1s2.7-1.7,3.2-1.9c15.5-12.8,25.3-32,25.3-53.5s-.9-13.1-2.7-19h-136.7c-1.8,6.1-2.7,12.5-2.7,19v.2h.1Z"/>
<path class="st0" d="M263.6,16.9c-71,0-68.5,29-85.1,72.1h170.5c-16.8-42.9-14.2-72.1-85.2-72.1h-.1Z"/>
<path class="st0" d="M261.2,216.6c-2,1.5-5.3,4.6-11.2,10.3-16.6,16.2-12.1,16.1-8.9,19.4s3.5,8.6,20.3-7.6c10-9.5,12.4-12,11.7-13.7,1.5,0,3-.4,4.7-1.7,5.6-4.3,9.6-17.8,8.8-26.4,14.9-6.3,29.6-12.5,44.5-18.7,8.8-3.7,15.7-10.5,30.8-16.7,3.2-1.3,5.3-2.3,7.4-3.1,3.3-1.4,6.7-2.7,17.6-7.3.2,0,.2-.6.2-1.4,4.8-2,9.7-4,14.5-6.1.8-.4-.2-2.9-1.1-2.6-4.8,2-9.4,3.9-14.1,5.8,0-.1,0-.2-.1-.4,5.2-2.1,10.4-4.3,15.6-6.4.8-.4-1.9-6.7-2.7-6.4-.9.4-1.8.7-2.7,1.2l-.9-2.1-3.6,1.5.9,2.1c-3.3,1.4-6.4,2.6-9.7,4-.5-.4-.8-.6-1.1-.5-10.8,4.4-17.5,7.3-17.5,7.3l-10.7,4.4-48,19.9-2.2-4.3s.5,2.4.6,4.9l-63.4,26.3c-.9.4-1.9.8-2.8,1.5l-10.5.6s3.5.7,6.9,1.8c-10.7,7.5-24.6,22.2-34.3,29.5-15.1,18.1-24,10-24,10,0,0-21.4,13.8-35.7,19.7,0,0,11,7.5,13.9,10.9,4.6,5.2,12.2,20.7,12.2,20.7l94.6-76.4h.2v.3ZM267.8,211.1c1.6,3.6,3.9,6.5,6.6,6.7,0,0-3.4-4.3-5-7.7l12.2-9.9c2.3,3.7,0,15.8-4.9,19.6-5.2,4-9.7-2.1-12.9-4.8,0,0-.1-.1-.2-.2l4.3-3.6h-.1ZM270.5,224.1c2.2,2.1,1.1,3.2-10,13.8-14.6,14-14.6,9.2-17.3,6.3s-7.1-2.4,7.4-16.4c6.9-6.7,10-9.5,11.7-10.2,2.2,2.1,5,5.1,8.2,6.5h0Z"/>
<path class="st0" d="M120.5,266.7l52.5-29s11.4,10.3,30.6-12.7c12.3-9.3,13.9-13.1,27.4-22.7-4.2-1.3-8.8-2.3-8.8-2.3l13.7-1.7c1.3-.7,2.5-1.4,3.6-1.9l9.3-3.9c-23.2-3.8-43.2-16.2-57-33.8-42.7,21.6-71.4,61.7-71.4,107.8"/>
<path class="st0" d="M354.9,170.7c-.2,0-.6.2-.8.4-18.9,8-45.9,19.5-64.8,27.3,1.3,10.9-.2,21.5-7.3,26.9-2,1.5-4,2.1-5.9,2,.9,2.1-2.3,5.2-14.9,17.5-14.3,13.9-17,7.7-20.9,3.7-4-4.2-6.3-4.9-4.6-8.8l-29,27.5h200.1c0-38.8-20.4-73.3-52.1-96.3h0l.2-.2Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.3 KiB

@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="_レイヤー_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 512 512">
<!-- Generator: Adobe Illustrator 29.3.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 151) -->
<defs>
<style>
.st0 {
fill: #fefffe;
fill-rule: evenodd;
}
</style>
</defs>
<path class="st0" d="M511.5,274.5v18c-3,10.2-8.6,18.7-17,25.5-44.7,35.7-89.7,71-135,106-11.9,6.4-24.6,10.4-38,12-56.3.3-112.7.7-169,1-4.6.9-9,2.5-13,5-20.8,13.6-41.8,26.9-63,40-8.5,4.4-15.6,2.9-21.5-4.5-18.5-24.4-37-48.7-55.5-73v-9c3.4-4.9,7.4-9.4,12-13.5,34.3-30.6,68.3-61.6,102-93,35.7-26.3,74-31,115-14,12.7,7.3,26,13,40,17,21.3.7,42.7.7,64,0,8.3-7.2,17-13.8,26-20,18.4-8.1,35-5.6,50,7.5,13.5-10.3,26.8-20.8,40-31.5,22.7-11,41.9-6.5,57.5,13.5,2.3,4.3,4.1,8.6,5.5,13ZM468.5,268.5c14.4,1.5,19.2,9.2,14.5,23-44.5,36.2-89.4,72-134.5,107.5-8.5,4.7-17.5,8.1-27,10-58.7,0-117.4.7-176,2-7.1,1.6-13.8,4.2-20,8-18.2,11.5-36.3,23-54.5,34.5-13.3-17.1-26.5-34.3-39.5-51.5,32.6-31,65.6-61.6,99-92,24.7-18.5,51.7-22.8,81-13,11.8,5.4,23.5,11.1,35,17,6.8,2.4,13.8,4.1,21,5,22.7.3,45.3.7,68,1,8.7,3.7,11.2,9.8,7.5,18.5-2.5,3.8-6,6-10.5,6.5-52.7,2.8-105.4,6.1-158,10-7.9,4.5-10.1,11-6.5,19.5,1.9,2.2,4,4,6.5,5.5,55.4-2.1,110.7-5.1,166-9,13.8-3.2,23.3-11.3,28.5-24.5,29.6-24.5,59.4-48.7,89.5-72.5,3-2.7,6.3-4.5,10-5.5ZM377.5,293.5c3.4.3,6.4,1.5,9,3.5l-18,15c-.7.7-1.3.7-2,0-1.8-2.6-3.8-5.1-6-7.5,4.9-5,10.6-8.6,17-11Z"/>
<g>
<path class="st0" d="M203,91.9c0,36.8,27.9,66.7,62.4,66.7l33.3-12.2,1.9-4.8,2.2,3s2.4-1.6,2.8-1.8c13.6-12.2,22.2-30.6,22.2-51.1s-.8-12.5-2.4-18.2h-120.1c-1.6,5.8-2.4,11.9-2.4,18.2v.2h.1Z"/>
<path class="st0" d="M265.3-.4c-62.4,0-60.2,27.7-74.8,68.9h149.8C325.5,27.5,327.8-.4,265.4-.4h-.1Z"/>
<path class="st0" d="M263.2,190.4c-1.8,1.4-4.7,4.4-9.8,9.8-14.6,15.5-10.6,15.4-7.8,18.5s3.1,8.2,17.8-7.3c8.8-9.1,10.9-11.5,10.3-13.1,1.3,0,2.6-.4,4.1-1.6,4.9-4.1,8.4-17,7.7-25.2,13.1-6,26-11.9,39.1-17.9,7.7-3.5,13.8-10,27.1-16,2.8-1.2,4.7-2.2,6.5-3,2.9-1.3,5.9-2.6,15.5-7,.2,0,.2-.6.2-1.3,4.2-1.9,8.5-3.8,12.7-5.8.7-.4-.2-2.8-1-2.5-4.2,1.9-8.3,3.7-12.4,5.5,0,0,0-.2-.1-.4,4.6-2,9.1-4.1,13.7-6.1.7-.4-1.7-6.4-2.4-6.1-.8.4-1.6.7-2.4,1.1l-.8-2-3.2,1.4.8,2c-2.9,1.3-5.6,2.5-8.5,3.8-.4-.4-.7-.6-1-.5-9.5,4.2-15.4,7-15.4,7l-9.4,4.2-42.2,19-1.9-4.1s.4,2.3.5,4.7l-55.7,25.1c-.8.4-1.7.8-2.5,1.4l-9.2.6s3.1.7,6.1,1.7c-9.4,7.2-21.6,21.2-30.1,28.2-13.3,17.3-21.1,9.6-21.1,9.6,0,0-18.8,13.2-31.4,18.8,0,0,9.7,7.2,12.2,10.4,4,5,10.7,19.8,10.7,19.8l83.1-73h.2v.3ZM269,185.1c1.4,3.4,3.4,6.2,5.8,6.4,0,0-3-4.1-4.4-7.4l10.7-9.5c2,3.5,0,15.1-4.3,18.7-4.6,3.8-8.5-2-11.3-4.6,0,0-.1-.1-.2-.2l3.8-3.4h-.1ZM271.3,197.6c1.9,2,1,3.1-8.8,13.2-12.8,13.4-12.8,8.8-15.2,6s-6.2-2.3,6.5-15.7c6.1-6.4,8.8-9.1,10.3-9.7,1.9,2,4.4,4.9,7.2,6.2h0Z"/>
<path class="st0" d="M139.5,238.3l46.1-27.7s10,9.8,26.9-12.1c10.8-8.9,12.2-12.5,24.1-21.7-3.7-1.2-7.7-2.2-7.7-2.2l12-1.6c1.1-.7,2.2-1.3,3.2-1.8l8.2-3.7c-20.4-3.6-38-15.5-50.1-32.3-37.5,20.6-62.7,59-62.7,103"/>
<path class="st0" d="M345.5,146.5c-.2,0-.5.2-.7.4-16.6,7.6-40.3,18.6-56.9,26.1,1.1,10.4-.2,20.5-6.4,25.7-1.8,1.4-3.5,2-5.2,1.9.8,2-2,5-13.1,16.7-12.6,13.3-14.9,7.4-18.4,3.5-3.5-4-5.5-4.7-4-8.4l-25.5,26.3h175.8c0-37.1-17.9-70-45.8-92h0l.2-.2Z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.2 KiB

+30
View File
@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg id="svg4" xmlns="http://www.w3.org/2000/svg" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" version="1.1" viewBox="0 0 800 800">
<!-- Generator: Adobe Illustrator 29.3.1, SVG Export Plug-In . SVG Version: 2.1.0 Build 151) -->
<defs>
<style>
.st0 {
fill: #231815;
}
.st1 {
fill: #fff;
}
.st2 {
fill: #fefffe;
fill-rule: evenodd;
}
</style>
</defs>
<rect class="st0" x="-53.2" y="-41.3" width="906.5" height="946.2"/>
<sodipodi:namedview id="namedview6" bordercolor="#000000" borderopacity="0.25" inkscape:current-layer="svg4" inkscape:cx="401.69492" inkscape:cy="400" inkscape:deskcolor="#d1d1d1" inkscape:pagecheckerboard="0" inkscape:pageopacity="0.0" inkscape:showpageshadow="2" inkscape:window-height="987" inkscape:window-maximized="1" inkscape:window-width="1536" inkscape:window-x="0" inkscape:window-y="0" inkscape:zoom="0.295" pagecolor="#ffffff" showgrid="false"/>
<g>
<path class="st2" d="M417.5,491.2c0,61.7,50,111.7,111.7,111.7l59.7-20.4,3.4-8,4,5.1s4.4-2.5,4.9-3c24.3-20.5,39.7-51.1,39.7-85.4s-1.5-20.8-4.3-30.5h-214.8c-2.8,9.7-4.3,19.9-4.3,30.5Z"/>
<path class="st2" d="M529.2,336.9c-111.7,0-107.7,46.4-134,115.2h268c-26.3-68.7-22.3-115.2-134-115.2Z"/>
<path class="st2" d="M525.2,656c-3.2,2.3-8.3,7.4-17.5,16.4-26.3,25.8-18.8,25.7-13.9,30.9,5,5.1,5.6,13.6,31.9-12.2,15.6-15.3,19.6-19.3,18.4-21.9,2.3.1,4.8-.6,7.2-2.5,8.7-6.8,15.1-28.5,13.7-42.2,23.3-9.9,46.7-19.9,70-29.8,13.8-5.9,24.6-16.6,48.5-26.6,4.9-2.1,8.5-3.6,11.7-4.9,5.1-2.1,10.6-4.4,27.7-11.6.4-.2.5-1,.4-2.2,7.6-3.2,15.2-6.4,22.8-9.6,1.3-.6-.5-4.7-1.7-4.1-7.4,3.1-14.8,6.2-22.2,9.3,0-.2-.2-.5-.2-.7,8.1-3.4,16.3-6.8,24.4-10.3,1.3-.6-3-10.7-4.3-10.1-1.4.6-2.8,1.2-4.2,1.8l-1.4-3.3-5.7,2.4,1.4,3.3c-5.1,2.1-10.2,4.3-15.2,6.4-.6-.7-1.2-1-1.6-.8-16.9,7.1-27.5,11.6-27.5,11.6l-16.6,7-75.7,31.8-3.4-6.7s.5,3.7.9,7.8l-99.6,41.9c-1.4.6-3,1.4-4.5,2.3l-16.6.9s5.6,1.2,10.9,2.9c-16.7,12-38.7,35.5-53.9,47.2-23.8,29-37.8,16-37.8,16,0,0-33.6,22-56.2,31.5,0,0,17.4,12.1,21.9,17.4,7.1,8.4,19.1,33.1,19.1,33.1l148.8-122.2s0,0,.1.1ZM535.6,647.2c2.5,5.6,6,10.5,10.2,10.6,0,0-5.5-6.7-7.9-12.5l19.2-15.8c3.7,5.8,0,25.3-7.7,31.3-8.2,6.4-15.2-3.4-20.1-7.6-.2-.1-.3-.3-.4-.4l6.8-5.6ZM539.8,668c3.5,3.4,1.7,5.1-15.6,22.2-22.9,22.5-23,14.6-27.3,10.1s-11.3-3.8,11.6-26.3c10.9-10.7,15.6-15.3,18.5-16.3,3.5,3.4,7.9,8.2,12.8,10.4Z"/>
<path class="st2" d="M434.6,669.5c19.3-14.9,21.8-21,43.1-36.3-6.6-2.1-13.8-3.6-13.8-3.6l21.5-2.7c2-1.2,4-2.2,5.8-3l14.6-6.2c-36.4-6-68.1-25.8-89.6-53.9-67.1,34.5-112.2,98.8-112.2,172.4l82.5-46.5s17.8,16.5,48.1-20.4Z"/>
<path class="st2" d="M672.4,582.5c-.4.2-.8.4-1.2.5-29.7,12.6-72.1,31-101.8,43.7,1.8,17.5-.4,34.3-11.4,42.9-3.2,2.5-6.2,3.4-9.2,3.2,1.5,3.3-3.7,8.4-23.5,27.8-22.6,22.3-26.6,12.4-32.9,5.8-6.3-6.6-9.8-7.8-7-14.1l-45.7,43.9h314.7c0-61.9-31.9-117.3-82-153.8Z"/>
</g>
<path class="st1" d="M594.2,94.8c-9.3,3.9-18.6,7.8-27.9,11.7,0-.3-.2-.6-.3-.9,10.2-4.3,20.5-8.6,30.8-12.9,1.7-.7-3.8-13.4-5.4-12.8-1.8.7-3.5,1.5-5.3,2.2l-1.8-4.2-7.2,3,1.8,4.2c-6.4,2.7-12.8,5.4-19.2,8.1-.8-.8-1.5-1.3-2.1-1.1-21.3,9-34.6,14.6-34.6,14.6l-20.9,8.8-95.2,40-4.3-8.5s.7,4.7,1.2,9.8l-125.3,52.7c-1.8.8-3.7,1.8-5.7,2.9l-20.9,1.1s7.1,1.6,13.7,3.6c-21.1,15.2-48.7,44.7-67.8,59.4-30,36.4-47.6,20.1-47.6,20.1,0,0-42.3,27.7-70.7,39.7,0,0,21.9,15.2,27.6,21.9,8.9,10.6,24,41.7,24,41.7l187.2-153.7c0,0,.1.1.2.2-4.1,3-10.5,9.3-22,20.6-33.1,32.5-23.7,32.3-17.4,38.8,6.3,6.5,7,17.1,40.1-15.4,19.6-19.3,24.7-24.2,23.2-27.6,2.9.1,6-.7,9.1-3.2,10.9-8.6,19-35.8,17.2-53.2,29.4-12.5,58.7-25,88.1-37.5,17.3-7.4,31-20.9,61.1-33.5,6.2-2.6,10.6-4.5,14.7-6.2,6.4-2.7,13.3-5.6,34.8-14.6.5-.2.7-1.2.5-2.7,9.5-4,19.1-8,28.7-12.1,1.7-.7-.6-5.9-2.2-5.2ZM317,289.5c-28.8,28.3-28.9,18.3-34.4,12.7s-14.2-4.8,14.6-33.1c13.7-13.4,19.6-19.3,23.2-20.5,4.5,4.2,10,10.4,16.1,13.1,4.4,4.2,2.2,6.5-19.6,27.9ZM348.8,252.5c-10.3,8-19.1-4.3-25.3-9.6-.2-.2-.4-.4-.6-.6l8.5-7c3.2,7.1,7.5,13.2,12.9,13.4.1,0-6.9-8.5-10-15.8l24.2-19.8c4.6,7.3,0,31.8-9.7,39.4Z"/>
</svg>

After

Width:  |  Height:  |  Size: 4.1 KiB

+26 -4
View File
@@ -96,7 +96,15 @@ export class SendEmojiIntentEvent implements GameEvent {
) {}
}
export class SendDonateIntentEvent implements GameEvent {
export class SendDonateGoldIntentEvent implements GameEvent {
constructor(
public readonly sender: PlayerView,
public readonly recipient: PlayerView,
public readonly gold: number | null,
) {}
}
export class SendDonateTroopsIntentEvent implements GameEvent {
constructor(
public readonly sender: PlayerView,
public readonly recipient: PlayerView,
@@ -187,7 +195,12 @@ export class Transport {
this.onSendTargetPlayerIntent(e),
);
this.eventBus.on(SendEmojiIntentEvent, (e) => this.onSendEmojiIntent(e));
this.eventBus.on(SendDonateIntentEvent, (e) => this.onSendDonateIntent(e));
this.eventBus.on(SendDonateGoldIntentEvent, (e) =>
this.onSendDonateGoldIntent(e),
);
this.eventBus.on(SendDonateTroopsIntentEvent, (e) =>
this.onSendDonateTroopIntent(e),
);
this.eventBus.on(SendEmbargoIntentEvent, (e) =>
this.onSendEmbargoIntent(e),
);
@@ -425,9 +438,18 @@ export class Transport {
});
}
private onSendDonateIntent(event: SendDonateIntentEvent) {
private onSendDonateGoldIntent(event: SendDonateGoldIntentEvent) {
this.sendIntent({
type: "donate",
type: "donate_gold",
clientID: this.lobbyConfig.clientID,
recipient: event.recipient.id(),
gold: event.gold,
});
}
private onSendDonateTroopIntent(event: SendDonateTroopsIntentEvent) {
this.sendIntent({
type: "donate_troops",
clientID: this.lobbyConfig.clientID,
recipient: event.recipient.id(),
troops: event.troops,
+34 -6
View File
@@ -15,13 +15,15 @@ import { TileRef } from "../../../core/game/GameMap";
import { renderNumber, renderTroops } from "../../Utils";
import targetIcon from "../../../../resources/images/TargetIconWhite.svg";
import emojiIcon from "../../../../resources/images/EmojiIconWhite.svg";
import donateIcon from "../../../../resources/images/DonateIconWhite.svg";
import donateTroopIcon from "../../../../resources/images/DonateTroopIconWhite.svg";
import donateGoldIcon from "../../../../resources/images/DonateGoldIconWhite.svg";
import traitorIcon from "../../../../resources/images/TraitorIconWhite.svg";
import allianceIcon from "../../../../resources/images/AllianceIconWhite.svg";
import {
SendAllianceRequestIntentEvent,
SendBreakAllianceIntentEvent,
SendDonateIntentEvent,
SendDonateGoldIntentEvent,
SendDonateTroopsIntentEvent,
SendEmojiIntentEvent,
SendTargetPlayerIntentEvent,
SendEmbargoIntentEvent,
@@ -77,9 +79,23 @@ export class PlayerPanel extends LitElement implements Layer {
this.hide();
}
private handleDonateClick(e: Event, myPlayer: PlayerView, other: PlayerView) {
private handleDonateTroopClick(
e: Event,
myPlayer: PlayerView,
other: PlayerView,
) {
e.stopPropagation();
this.eventBus.emit(new SendDonateIntentEvent(myPlayer, other, null));
this.eventBus.emit(new SendDonateTroopsIntentEvent(myPlayer, other, null));
this.hide();
}
private handleDonateGoldClick(
e: Event,
myPlayer: PlayerView,
other: PlayerView,
) {
e.stopPropagation();
this.eventBus.emit(new SendDonateGoldIntentEvent(myPlayer, other, null));
this.hide();
}
@@ -302,12 +318,24 @@ export class PlayerPanel extends LitElement implements Layer {
: ""}
${canDonate
? html`<button
@click=${(e) => this.handleDonateClick(e, myPlayer, other)}
@click=${(e) =>
this.handleDonateTroopClick(e, myPlayer, other)}
class="w-10 h-10 flex items-center justify-center
bg-opacity-50 bg-gray-700 hover:bg-opacity-70
text-white rounded-lg transition-colors"
>
<img src=${donateIcon} alt="Donate" class="w-6 h-6" />
<img src=${donateTroopIcon} alt="Donate" class="w-6 h-6" />
</button>`
: ""}
${canDonate
? html`<button
@click=${(e) =>
this.handleDonateGoldClick(e, myPlayer, other)}
class="w-10 h-10 flex items-center justify-center
bg-opacity-50 bg-gray-700 hover:bg-opacity-70
text-white rounded-lg transition-colors"
>
<img src=${donateGoldIcon} alt="Donate" class="w-6 h-6" />
</button>`
: ""}
${canSendEmoji
+2 -1
View File
@@ -18,7 +18,8 @@ import {
SendAttackIntentEvent,
SendBoatAttackIntentEvent,
SendBreakAllianceIntentEvent,
SendDonateIntentEvent,
SendDonateTroopsIntentEvent,
SendDonateGoldIntentEvent,
SendEmojiIntentEvent,
SendSpawnIntentEvent,
SendTargetPlayerIntentEvent,
+2 -2
View File
@@ -360,8 +360,8 @@ label.option-card:hover {
}
#helpModal .donate-icon {
mask: url("../../resources/images/DonateIconWhite.svg") no-repeat center /
cover;
mask: url("../../resources/images/DonateTroopIconWhite.svg") no-repeat
center / cover;
}
#helpModal .build-icon {
+14 -5
View File
@@ -23,7 +23,8 @@ export type Intent =
| BreakAllianceIntent
| TargetPlayerIntent
| EmojiIntent
| DonateIntent
| DonateGoldIntent
| DonateTroopsIntent
| TargetTroopRatioIntent
| BuildUnitIntent
| EmbargoIntent
@@ -40,7 +41,8 @@ export type AllianceRequestReplyIntent = z.infer<
export type BreakAllianceIntent = z.infer<typeof BreakAllianceIntentSchema>;
export type TargetPlayerIntent = z.infer<typeof TargetPlayerIntentSchema>;
export type EmojiIntent = z.infer<typeof EmojiIntentSchema>;
export type DonateIntent = z.infer<typeof DonateIntentSchema>;
export type DonateGoldIntent = z.infer<typeof DonateGoldIntentSchema>;
export type DonateTroopsIntent = z.infer<typeof DonateTroopIntentSchema>;
export type EmbargoIntent = z.infer<typeof EmbargoIntentSchema>;
export type TargetTroopRatioIntent = z.infer<
typeof TargetTroopRatioIntentSchema
@@ -232,8 +234,14 @@ export const EmbargoIntentSchema = BaseIntentSchema.extend({
action: z.union([z.literal("start"), z.literal("stop")]),
});
export const DonateIntentSchema = BaseIntentSchema.extend({
type: z.literal("donate"),
export const DonateGoldIntentSchema = BaseIntentSchema.extend({
type: z.literal("donate_gold"),
recipient: ID,
gold: z.number().nullable(),
});
export const DonateTroopIntentSchema = BaseIntentSchema.extend({
type: z.literal("donate_troops"),
recipient: ID,
troops: z.number().nullable(),
});
@@ -271,7 +279,8 @@ const IntentSchema = z.union([
BreakAllianceIntentSchema,
TargetPlayerIntentSchema,
EmojiIntentSchema,
DonateIntentSchema,
DonateGoldIntentSchema,
DonateTroopIntentSchema,
TargetTroopRatioIntentSchema,
BuildUnitIntentSchema,
EmbargoIntentSchema,
+58
View File
@@ -0,0 +1,58 @@
import { consolex } from "../Consolex";
import { Execution, Game, Player, PlayerID, Gold } from "../game/Game";
export class DonateGoldExecution implements Execution {
private sender: Player;
private recipient: Player;
private active = true;
constructor(
private senderID: PlayerID,
private recipientID: PlayerID,
private gold: number | null,
) {}
init(mg: Game, ticks: number): void {
if (!mg.hasPlayer(this.senderID)) {
console.warn(`DonateExecution: sender ${this.senderID} not found`);
this.active = false;
return;
}
if (!mg.hasPlayer(this.recipientID)) {
console.warn(`DonateExecution recipient ${this.recipientID} not found`);
this.active = false;
return;
}
this.sender = mg.player(this.senderID);
this.recipient = mg.player(this.recipientID);
if (this.gold == null) {
this.gold = Math.round(this.sender.gold() / 3);
}
}
tick(ticks: number): void {
if (this.sender.canDonate(this.recipient)) {
this.sender.donateGold(this.recipient, this.gold);
this.recipient.updateRelation(this.sender, 50);
} else {
consolex.warn(
`cannot send gold from ${this.sender.name()} to ${this.recipient.name()}`,
);
}
this.active = false;
}
owner(): Player {
return null;
}
isActive(): boolean {
return this.active;
}
activeDuringSpawnPhase(): boolean {
return false;
}
}
@@ -1,7 +1,7 @@
import { consolex } from "../Consolex";
import { Execution, Game, Player, PlayerID } from "../game/Game";
import { Execution, Game, Player, PlayerID, Gold } from "../game/Game";
export class DonateExecution implements Execution {
export class DonateTroopsExecution implements Execution {
private sender: Player;
private recipient: Player;
@@ -34,7 +34,7 @@ export class DonateExecution implements Execution {
tick(ticks: number): void {
if (this.sender.canDonate(this.recipient)) {
this.sender.donate(this.recipient, this.troops);
this.sender.donateTroops(this.recipient, this.troops);
this.recipient.updateRelation(this.sender, 50);
} else {
consolex.warn(
+10 -3
View File
@@ -29,7 +29,8 @@ import { AllianceRequestReplyExecution } from "./alliance/AllianceRequestReplyEx
import { BreakAllianceExecution } from "./alliance/BreakAllianceExecution";
import { TargetPlayerExecution } from "./TargetPlayerExecution";
import { EmojiExecution } from "./EmojiExecution";
import { DonateExecution } from "./DonateExecution";
import { DonateTroopsExecution } from "./DonateTroopExecution";
import { DonateGoldExecution } from "./DonateGoldExecution";
import { SetTargetTroopRatioExecution } from "./SetTargetTroopRatioExecution";
import { ConstructionExecution } from "./ConstructionExecution";
import { fixProfaneUsername, isProfaneUsername } from "../validations/username";
@@ -111,8 +112,14 @@ export class Executor {
return new TargetPlayerExecution(playerID, intent.target);
case "emoji":
return new EmojiExecution(playerID, intent.recipient, intent.emoji);
case "donate":
return new DonateExecution(playerID, intent.recipient, intent.troops);
case "donate_troops":
return new DonateTroopsExecution(
playerID,
intent.recipient,
intent.troops,
);
case "donate_gold":
return new DonateGoldExecution(playerID, intent.recipient, intent.gold);
case "troop_ratio":
return new SetTargetTroopRatioExecution(playerID, intent.ratio);
case "embargo":
+2 -1
View File
@@ -384,7 +384,8 @@ export interface Player {
// Donation
canDonate(recipient: Player): boolean;
donate(recipient: Player, troops: number): void;
donateTroops(recipient: Player, troops: number): void;
donateGold(recipient: Player, gold: number): void;
// Embargo
hasEmbargoAgainst(other: Player): boolean;
+22 -8
View File
@@ -39,7 +39,7 @@ import {
import { CellString, GameImpl } from "./GameImpl";
import { UnitImpl } from "./UnitImpl";
import { MessageType } from "./Game";
import { renderTroops } from "../../client/Utils";
import { renderTroops, renderNumber } from "../../client/Utils";
import { TerraNulliusImpl } from "./TerraNulliusImpl";
import { andFN, manhattanDistFN, TileRef } from "./GameMap";
import { AttackImpl } from "./AttackImpl";
@@ -523,7 +523,7 @@ export class PlayerImpl implements Player {
return true;
}
donate(recipient: Player, troops: number): void {
donateTroops(recipient: Player, troops: number): void {
this.sentDonations.push(new Donation(recipient, this.mg.ticks()));
recipient.addTroops(this.removeTroops(troops));
this.mg.displayMessage(
@@ -537,6 +537,20 @@ export class PlayerImpl implements Player {
recipient.id(),
);
}
donateGold(recipient: Player, gold: number): void {
this.sentDonations.push(new Donation(recipient, this.mg.ticks()));
recipient.addGold(this.removeGold(gold));
this.mg.displayMessage(
`Sent ${renderNumber(gold)} gold to ${recipient.name()}`,
MessageType.INFO,
this.id(),
);
this.mg.displayMessage(
`Recieved ${renderNumber(gold)} gold from ${this.name()}`,
MessageType.SUCCESS,
recipient.id(),
);
}
hasEmbargoAgainst(other: Player): boolean {
return this.embargoes.has(other.id());
@@ -588,13 +602,13 @@ export class PlayerImpl implements Player {
this._gold += toInt(toAdd);
}
removeGold(toRemove: Gold): void {
if (toRemove > this._gold) {
throw Error(
`Player ${this} does not enough gold (${toRemove} vs ${this._gold}))`,
);
removeGold(toRemove: Gold): number {
if (toRemove <= 1) {
return 0;
}
this._gold -= toInt(toRemove);
const actualRemoved = minInt(this._gold, toInt(toRemove));
this._gold -= actualRemoved;
return Number(actualRemoved);
}
population(): number {