Add Qishan renewed offensive chapter

This commit is contained in:
2026-06-24 15:00:24 +09:00
parent 305ead1777
commit 44c017ab6c
16 changed files with 892 additions and 98 deletions

View File

@@ -14,13 +14,10 @@
<filter id="grain" x="-10%" y="-10%" width="120%" height="120%">
<feTurbulence type="fractalNoise" baseFrequency="0.012" numOctaves="3" seed="60"/>
<feColorMatrix type="saturate" values="0.18"/>
<feBlend in="SourceGraphic" mode="multiply"/>
<feBlend mode="multiply" in2="SourceGraphic"/>
</filter>
</defs>
<rect width="1920" height="1632" fill="url(#ground)"/>
<g opacity="0.2" filter="url(#grain)">
<rect width="1920" height="1632" fill="#2f2a1f"/>
</g>
<path d="M48 98 C230 210 190 360 380 500 C558 631 505 812 720 928 C928 1042 890 1218 1110 1342 C1328 1468 1494 1464 1872 1562" fill="none" stroke="url(#river)" stroke-width="88" stroke-linecap="round"/>
<path d="M974 8 C920 170 998 306 924 454 C842 620 946 776 874 934 C812 1070 850 1208 760 1450" fill="none" stroke="#356e7b" stroke-width="54" stroke-linecap="round" opacity="0.88"/>
<path d="M86 1410 C324 1358 468 1258 612 1142 C790 1000 1008 956 1188 806 C1388 640 1524 488 1840 358" fill="none" stroke="#c8a66b" stroke-width="42" stroke-linecap="round"/>

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -15,16 +15,13 @@
<filter id="grain" x="-10%" y="-10%" width="120%" height="120%">
<feTurbulence type="fractalNoise" baseFrequency="0.014" numOctaves="3" seed="61"/>
<feColorMatrix type="saturate" values="0.16"/>
<feBlend in="SourceGraphic" mode="multiply"/>
<feBlend mode="multiply" in2="SourceGraphic"/>
</filter>
<filter id="rainBlur" x="-4%" y="-4%" width="108%" height="108%">
<feGaussianBlur stdDeviation="1.2"/>
</filter>
</defs>
<rect width="1952" height="1664" fill="url(#ground)"/>
<g opacity="0.22" filter="url(#grain)">
<rect width="1952" height="1664" fill="#1f251f"/>
</g>
<path d="M72 118 C254 246 216 406 424 558 C606 692 560 882 790 1010 C1010 1134 982 1304 1216 1444 C1410 1562 1594 1586 1888 1608" fill="none" stroke="url(#rainRiver)" stroke-width="92" stroke-linecap="round"/>
<path d="M998 0 C942 164 1032 330 944 492 C858 650 950 824 882 990 C812 1162 860 1300 746 1518" fill="none" stroke="#2c6775" stroke-width="60" stroke-linecap="round" opacity="0.9"/>
<path d="M260 1440 C448 1276 616 1228 812 1090 C1002 956 1234 948 1418 784 C1594 626 1696 496 1900 438" fill="none" stroke="#d0b173" stroke-width="44" stroke-linecap="round"/>

Before

Width:  |  Height:  |  Size: 4.8 KiB

After

Width:  |  Height:  |  Size: 4.7 KiB

View File

@@ -0,0 +1,91 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1984 1696" role="img" aria-labelledby="title desc">
<title id="title">Qishan renewed offensive map</title>
<desc id="desc">Original tactical battlefield map with renewed Qishan roads, Lucheng forts, Shu supply camps, Wei delay lines, rivers, forests, ridges, and cliff gates.</desc>
<defs>
<linearGradient id="ground" x1="0" x2="1" y1="0" y2="1">
<stop offset="0" stop-color="#445343"/>
<stop offset="0.42" stop-color="#6f7652"/>
<stop offset="1" stop-color="#9d8358"/>
</linearGradient>
<linearGradient id="river" x1="0" x2="1" y1="0" y2="1">
<stop offset="0" stop-color="#25465d"/>
<stop offset="0.5" stop-color="#3f7483"/>
<stop offset="1" stop-color="#8eb1a4"/>
</linearGradient>
<linearGradient id="road" x1="0" x2="1" y1="0" y2="0">
<stop offset="0" stop-color="#c49a62"/>
<stop offset="0.5" stop-color="#dfc07c"/>
<stop offset="1" stop-color="#a9784f"/>
</linearGradient>
<filter id="grain" x="-10%" y="-10%" width="120%" height="120%">
<feTurbulence type="fractalNoise" baseFrequency="0.012" numOctaves="4" seed="62"/>
<feColorMatrix type="saturate" values="0.18"/>
<feBlend mode="multiply" in2="SourceGraphic"/>
</filter>
<filter id="soft" x="-4%" y="-4%" width="108%" height="108%">
<feGaussianBlur stdDeviation="1.4"/>
</filter>
</defs>
<rect width="1984" height="1696" fill="url(#ground)"/>
<path d="M88 122 C318 258 258 472 506 626 C732 768 678 982 948 1128 C1210 1266 1208 1430 1462 1542 C1650 1626 1816 1650 1918 1668" fill="none" stroke="url(#river)" stroke-width="88" stroke-linecap="round"/>
<path d="M1048 0 C1000 180 1082 352 1004 522 C922 704 1044 864 956 1050 C878 1212 908 1390 790 1618" fill="none" stroke="#2c6875" stroke-width="54" stroke-linecap="round" opacity="0.92"/>
<path d="M146 1458 C390 1308 612 1260 818 1102 C1032 938 1294 906 1498 714 C1688 534 1790 382 1940 292" fill="none" stroke="url(#road)" stroke-width="46" stroke-linecap="round"/>
<path d="M178 1308 C412 1242 592 1118 750 950 C942 746 1170 754 1390 586 C1588 434 1754 310 1948 178" fill="none" stroke="#b48758" stroke-width="30" stroke-linecap="round"/>
<path d="M490 1560 C604 1398 742 1324 950 1196 C1152 1070 1374 1082 1544 920 C1714 758 1806 596 1948 548" fill="none" stroke="#d3aa68" stroke-width="30" stroke-linecap="round"/>
<path d="M706 1148 C828 1012 894 872 1030 736 C1166 600 1334 506 1518 372" fill="none" stroke="#e3c17b" stroke-width="24" stroke-linecap="round" opacity="0.95"/>
<g fill="#324432" opacity="0.92">
<path d="M0 0 L500 0 L374 214 L520 414 L268 526 L0 424 Z"/>
<path d="M630 0 L1036 0 L932 258 L732 386 L584 204 Z"/>
<path d="M1168 0 L1984 0 L1984 334 L1786 282 L1566 396 L1378 226 Z"/>
<path d="M1514 560 L1984 462 L1984 1018 L1716 918 L1462 990 Z"/>
<path d="M0 598 L428 658 L260 930 L452 1150 L0 1232 Z"/>
</g>
<g fill="#22372e" opacity="0.78">
<ellipse cx="294" cy="748" rx="238" ry="152"/>
<ellipse cx="588" cy="1000" rx="224" ry="138"/>
<ellipse cx="1228" cy="1226" rx="310" ry="154"/>
<ellipse cx="1590" cy="1084" rx="236" ry="128"/>
<ellipse cx="1042" cy="654" rx="252" ry="132"/>
<ellipse cx="1446" cy="446" rx="196" ry="104"/>
</g>
<g fill="#755c42" stroke="#30251d" stroke-width="8">
<rect x="238" y="1340" width="250" height="142" rx="6"/>
<rect x="574" y="1160" width="270" height="154" rx="6"/>
<rect x="946" y="978" width="282" height="158" rx="6"/>
<rect x="1290" y="742" width="310" height="174" rx="6"/>
<rect x="1620" y="402" width="274" height="160" rx="6"/>
</g>
<g fill="#593d34" stroke="#241c17" stroke-width="10">
<path d="M1376 414 L1600 380 L1734 504 L1676 670 L1442 706 L1304 574 Z"/>
<path d="M926 670 L1146 628 L1274 748 L1214 922 L978 952 L850 808 Z"/>
<path d="M1540 152 L1770 126 L1912 242 L1850 394 L1618 430 L1474 302 Z"/>
<path d="M1112 1184 L1322 1154 L1452 1272 L1392 1414 L1156 1438 L1034 1300 Z"/>
</g>
<g fill="#e2ca8f" stroke="#59442f" stroke-width="7">
<rect x="164" y="1244" width="122" height="82" rx="5"/>
<rect x="484" y="1084" width="130" height="84" rx="5"/>
<rect x="738" y="930" width="136" height="86" rx="5"/>
<rect x="1184" y="826" width="144" height="90" rx="5"/>
<rect x="1418" y="556" width="134" height="86" rx="5"/>
</g>
<g opacity="0.23" stroke="#eef0dc" stroke-width="4" stroke-linecap="round" filter="url(#soft)">
<path d="M120 230 C300 188 424 190 604 238"/>
<path d="M710 420 C876 372 1058 382 1238 440"/>
<path d="M1140 150 C1300 112 1486 126 1658 176"/>
<path d="M1264 1018 C1430 986 1608 998 1814 1054"/>
</g>
<g fill="#d9b869" stroke="#4a3322" stroke-width="5">
<circle cx="318" cy="1352" r="22"/>
<circle cx="384" cy="1378" r="18"/>
<circle cx="642" cy="1188" r="20"/>
<circle cx="1038" cy="1000" r="22"/>
<circle cx="1368" cy="762" r="20"/>
<circle cx="1708" cy="418" r="22"/>
</g>
<g opacity="0.58" fill="#7b2f2d">
<path d="M314 1290 l56 16 -56 16 z"/>
<path d="M650 1130 l60 18 -60 18 z"/>
<path d="M1048 946 l64 18 -64 18 z"/>
<path d="M1400 704 l64 20 -64 20 z"/>
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB