|
@@ -0,0 +1,474 @@
|
|
|
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
|
|
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
|
|
|
+ "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
|
|
+<!-- Generated by graphviz version 2.43.0 (0)
|
|
|
+ -->
|
|
|
+<!-- Title: mygraph Pages: 1 -->
|
|
|
+<svg width="1625pt" height="1440pt"
|
|
|
+ viewBox="0.00 0.00 1624.50 1440.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
|
+<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1436)">
|
|
|
+<title>mygraph</title>
|
|
|
+<polygon fill="white" stroke="transparent" points="-4,4 -4,-1436 1620.5,-1436 1620.5,4 -4,4"/>
|
|
|
+<!-- Global -->
|
|
|
+<g id="node1" class="node">
|
|
|
+<title>Global</title>
|
|
|
+<polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1365.5,-1432 1047.5,-1432 1047.5,-1283 1365.5,-1283 1365.5,-1432"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1050.5,-1407.5 1050.5,-1428.5 1362.5,-1428.5 1362.5,-1407.5 1050.5,-1407.5"/>
|
|
|
+<text text-anchor="start" x="1183" y="-1415.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Global</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1050.5,-1384.5 1050.5,-1405.5 1362.5,-1405.5 1362.5,-1384.5 1050.5,-1384.5"/>
|
|
|
+<text text-anchor="start" x="1110.5" y="-1392.3" font-family="Noto Serif" font-size="14.00">Propagator: </text>
|
|
|
+<text text-anchor="start" x="1194.5" y="-1392.3" font-family="monospace" font-weight="bold" font-size="14.00">GLOBAL_EFFECT</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1050.5,-1361.5 1050.5,-1382.5 1362.5,-1382.5 1362.5,-1361.5 1050.5,-1361.5"/>
|
|
|
+<text text-anchor="start" x="1131" y="-1369.3" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="1199" y="-1369.3" font-family="monospace" font-weight="bold" font-size="14.00">CGameState</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1050.5,-1323.5 1050.5,-1359.5 1362.5,-1359.5 1362.5,-1323.5 1050.5,-1323.5"/>
|
|
|
+<text text-anchor="start" x="1135" y="-1345.3" font-family="Noto Serif" font-size="14.00">Global node to which</text>
|
|
|
+<text text-anchor="start" x="1105" y="-1330.3" font-family="Noto Serif" font-size="14.00">all map entities are connected</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1050.5,-1285.5 1050.5,-1321.5 1362.5,-1321.5 1362.5,-1285.5 1050.5,-1285.5"/>
|
|
|
+<text text-anchor="start" x="1053.5" y="-1307.3" font-family="Noto Serif" font-size="14.00">Note: Not recruited heroes (such as in tavern)</text>
|
|
|
+<text text-anchor="start" x="1109" y="-1292.3" font-family="Noto Serif" font-size="14.00">are not attached to any node</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1047.5,-1283 1047.5,-1432 1365.5,-1432 1365.5,-1283 1047.5,-1283"/>
|
|
|
+</g>
|
|
|
+<!-- Team -->
|
|
|
+<g id="node2" class="node">
|
|
|
+<title>Team</title>
|
|
|
+<polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1256,-1247 1001,-1247 1001,-1121 1256,-1121 1256,-1247"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1004.5,-1223 1004.5,-1244 1253.5,-1244 1253.5,-1223 1004.5,-1223"/>
|
|
|
+<text text-anchor="start" x="1109" y="-1230.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Team</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1004.5,-1200 1004.5,-1221 1253.5,-1221 1253.5,-1200 1004.5,-1200"/>
|
|
|
+<text text-anchor="start" x="1025" y="-1207.8" font-family="Noto Serif" font-size="14.00">Propagator: </text>
|
|
|
+<text text-anchor="start" x="1109" y="-1207.8" font-family="monospace" font-weight="bold" font-size="14.00">TEAM_PROPAGATOR</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1004.5,-1177 1004.5,-1198 1253.5,-1198 1253.5,-1177 1004.5,-1177"/>
|
|
|
+<text text-anchor="start" x="1057.5" y="-1184.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="1125.5" y="-1184.8" font-family="monospace" font-weight="bold" font-size="14.00">TeamState</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1004.5,-1124 1004.5,-1175 1253.5,-1175 1253.5,-1124 1004.5,-1124"/>
|
|
|
+<text text-anchor="start" x="1077.5" y="-1160.8" font-family="Noto Serif" font-size="14.00">Per-team node.</text>
|
|
|
+<text text-anchor="start" x="1007.5" y="-1145.8" font-family="Noto Serif" font-size="14.00">Game will put players without team</text>
|
|
|
+<text text-anchor="start" x="1022" y="-1130.8" font-family="Noto Serif" font-size="14.00">into a team with a single player</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1001,-1121 1001,-1247 1256,-1247 1256,-1121 1001,-1121"/>
|
|
|
+</g>
|
|
|
+<!-- Global->Team -->
|
|
|
+<g id="edge1" class="edge">
|
|
|
+<title>Global->Team</title>
|
|
|
+<path fill="none" stroke="black" d="M1172.97,-1282.77C1169,-1274.04 1164.95,-1265.14 1160.99,-1256.43"/>
|
|
|
+<polygon fill="black" stroke="black" points="1164.07,-1254.74 1156.74,-1247.09 1157.69,-1257.64 1164.07,-1254.74"/>
|
|
|
+</g>
|
|
|
+<!-- Neutral Army -->
|
|
|
+<g id="node9" class="node">
|
|
|
+<title>Neutral Army</title>
|
|
|
+<polygon fill="#808080" fill-opacity="0.501961" stroke="transparent" points="1616.5,-614 1336.5,-614 1336.5,-549 1616.5,-549 1616.5,-614"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1339.5,-589.5 1339.5,-610.5 1613.5,-610.5 1613.5,-589.5 1339.5,-589.5"/>
|
|
|
+<text text-anchor="start" x="1427" y="-597.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Neutral Army</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1339.5,-551.5 1339.5,-587.5 1613.5,-587.5 1613.5,-551.5 1339.5,-551.5"/>
|
|
|
+<text text-anchor="start" x="1343" y="-573.3" font-family="Noto Serif" font-size="14.00">Any army that is not owned by a player</text>
|
|
|
+<text text-anchor="start" x="1342.5" y="-558.3" font-family="Noto Serif" font-size="14.00">Wandering monsters, Banks, Events, etc</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1336.5,-549 1336.5,-614 1616.5,-614 1616.5,-549 1336.5,-549"/>
|
|
|
+</g>
|
|
|
+<!-- Global->Neutral Army -->
|
|
|
+<g id="edge2" class="edge">
|
|
|
+<title>Global->Neutral Army</title>
|
|
|
+<path fill="none" stroke="black" d="M1292.33,-1282.85C1354.8,-1220.68 1428.5,-1125.59 1428.5,-1023 1428.5,-1023 1428.5,-1023 1428.5,-855 1428.5,-771.96 1450.39,-676.82 1464.6,-623.78"/>
|
|
|
+<polygon fill="black" stroke="black" points="1468,-624.63 1467.25,-614.07 1461.24,-622.8 1468,-624.63"/>
|
|
|
+</g>
|
|
|
+<!-- Player -->
|
|
|
+<g id="node3" class="node">
|
|
|
+<title>Player</title>
|
|
|
+<polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1173,-1085 936,-1085 936,-959 1173,-959 1173,-1085"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="939.5,-1061 939.5,-1082 1170.5,-1082 1170.5,-1061 939.5,-1061"/>
|
|
|
+<text text-anchor="start" x="1031.5" y="-1068.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Player</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="939.5,-1038 939.5,-1059 1170.5,-1059 1170.5,-1038 939.5,-1038"/>
|
|
|
+<text text-anchor="start" x="942.5" y="-1045.8" font-family="Noto Serif" font-size="14.00">Propagator: </text>
|
|
|
+<text text-anchor="start" x="1026.5" y="-1045.8" font-family="monospace" font-weight="bold" font-size="14.00">PLAYER_PROPAGATOR</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="939.5,-1015 939.5,-1036 1170.5,-1036 1170.5,-1015 939.5,-1015"/>
|
|
|
+<text text-anchor="start" x="971" y="-1022.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="1039" y="-1022.8" font-family="monospace" font-weight="bold" font-size="14.00">CPlayerState</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="939.5,-962 939.5,-1013 1170.5,-1013 1170.5,-962 939.5,-962"/>
|
|
|
+<text text-anchor="start" x="999" y="-998.8" font-family="Noto Serif" font-size="14.00">Per-player team.</text>
|
|
|
+<text text-anchor="start" x="956.5" y="-983.8" font-family="Noto Serif" font-size="14.00">All objects owned by a player</text>
|
|
|
+<text text-anchor="start" x="988" y="-968.8" font-family="Noto Serif" font-size="14.00">belong to such node</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="936,-959 936,-1085 1173,-1085 1173,-959 936,-959"/>
|
|
|
+</g>
|
|
|
+<!-- Team->Player -->
|
|
|
+<g id="edge3" class="edge">
|
|
|
+<title>Team->Player</title>
|
|
|
+<path fill="none" stroke="black" d="M1099.68,-1120.68C1095.67,-1112.02 1091.53,-1103.07 1087.46,-1094.26"/>
|
|
|
+<polygon fill="black" stroke="black" points="1090.62,-1092.76 1083.24,-1085.15 1084.26,-1095.69 1090.62,-1092.76"/>
|
|
|
+</g>
|
|
|
+<!-- Wandering Hero -->
|
|
|
+<g id="node8" class="node">
|
|
|
+<title>Wandering Hero</title>
|
|
|
+<polygon fill="#808080" fill-opacity="0.501961" stroke="transparent" points="784.5,-614 548.5,-614 548.5,-549 784.5,-549 784.5,-614"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="551.5,-589.5 551.5,-610.5 781.5,-610.5 781.5,-589.5 551.5,-589.5"/>
|
|
|
+<text text-anchor="start" x="607.5" y="-597.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Wandering Hero</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="551.5,-551.5 551.5,-587.5 781.5,-587.5 781.5,-551.5 551.5,-551.5"/>
|
|
|
+<text text-anchor="start" x="592.5" y="-573.3" font-family="Noto Serif" font-size="14.00">Hero that is currently</text>
|
|
|
+<text text-anchor="start" x="554.5" y="-558.3" font-family="Noto Serif" font-size="14.00">moving on map, outside of towns</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="548.5,-549 548.5,-614 784.5,-614 784.5,-549 548.5,-549"/>
|
|
|
+</g>
|
|
|
+<!-- Player->Wandering Hero -->
|
|
|
+<g id="edge5" class="edge">
|
|
|
+<title>Player->Wandering Hero</title>
|
|
|
+<path fill="none" stroke="black" d="M1019.12,-958.91C1013.14,-947.18 1007.32,-934.87 1002.5,-923 953.37,-801.94 993.71,-733.83 893.5,-650 884.76,-642.69 841.02,-629.05 794.23,-615.94"/>
|
|
|
+<polygon fill="black" stroke="black" points="795.1,-612.55 784.53,-613.24 793.22,-619.29 795.1,-612.55"/>
|
|
|
+</g>
|
|
|
+<!-- Owned Army -->
|
|
|
+<g id="node10" class="node">
|
|
|
+<title>Owned Army</title>
|
|
|
+<polygon fill="#808080" fill-opacity="0.501961" stroke="transparent" points="199,-614 0,-614 0,-549 199,-549 199,-614"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="3.5,-589.5 3.5,-610.5 196.5,-610.5 196.5,-589.5 3.5,-589.5"/>
|
|
|
+<text text-anchor="start" x="53" y="-597.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Owned Army</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="3.5,-551.5 3.5,-587.5 196.5,-587.5 196.5,-551.5 3.5,-551.5"/>
|
|
|
+<text text-anchor="start" x="16.5" y="-573.3" font-family="Noto Serif" font-size="14.00">Army owned by a player.</text>
|
|
|
+<text text-anchor="start" x="6.5" y="-558.3" font-family="Noto Serif" font-size="14.00">Mines, Garrisons, Dwellings</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="0,-549 0,-614 199,-614 199,-549 0,-549"/>
|
|
|
+</g>
|
|
|
+<!-- Player->Owned Army -->
|
|
|
+<g id="edge6" class="edge">
|
|
|
+<title>Player->Owned Army</title>
|
|
|
+<path fill="none" stroke="black" d="M935.73,-1017.81C688.35,-1009.92 135.99,-985.45 79.5,-923 4.57,-840.16 50.92,-694.54 80.5,-623.62"/>
|
|
|
+<polygon fill="black" stroke="black" points="83.85,-624.7 84.55,-614.13 77.41,-621.95 83.85,-624.7"/>
|
|
|
+</g>
|
|
|
+<!-- Town and visiting hero -->
|
|
|
+<g id="node14" class="node">
|
|
|
+<title>Town and visiting hero</title>
|
|
|
+<polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1398,-923 1011,-923 1011,-789 1398,-789 1398,-923"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1014.5,-899 1014.5,-920 1395.5,-920 1395.5,-899 1014.5,-899"/>
|
|
|
+<text text-anchor="start" x="1122" y="-906.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Town and Visiting Hero</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1014.5,-876 1014.5,-897 1395.5,-897 1395.5,-876 1014.5,-876"/>
|
|
|
+<text text-anchor="start" x="1063.5" y="-883.8" font-family="Noto Serif" font-size="14.00">Propagator: </text>
|
|
|
+<text text-anchor="start" x="1147.5" y="-883.8" font-family="monospace" font-weight="bold" font-size="14.00">VISITED_TOWN_AND_VISITOR</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1014.5,-853 1014.5,-874 1395.5,-874 1395.5,-853 1014.5,-853"/>
|
|
|
+<text text-anchor="start" x="1088" y="-860.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="1156" y="-860.8" font-family="monospace" font-weight="bold" font-size="14.00">CTownAndVisitingHero</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1014.5,-815 1014.5,-851 1395.5,-851 1395.5,-815 1014.5,-815"/>
|
|
|
+<text text-anchor="start" x="1105.5" y="-836.8" font-family="Noto Serif" font-size="14.00">Helper node that exists solely</text>
|
|
|
+<text text-anchor="start" x="1029" y="-821.8" font-family="Noto Serif" font-size="14.00">to propagate bonuses to both town and visiting hero</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1014.5,-792 1014.5,-813 1395.5,-813 1395.5,-792 1014.5,-792"/>
|
|
|
+<text text-anchor="start" x="1017.5" y="-798.8" font-family="Noto Serif" font-size="14.00">Note: Neutral towns are attached to global node instead</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1011,-789 1011,-923 1398,-923 1398,-789 1011,-789"/>
|
|
|
+</g>
|
|
|
+<!-- Player->Town and visiting hero -->
|
|
|
+<g id="edge4" class="edge">
|
|
|
+<title>Player->Town and visiting hero</title>
|
|
|
+<path fill="none" stroke="black" d="M1111.21,-959C1119.65,-949.77 1128.43,-940.17 1137.07,-930.73"/>
|
|
|
+<polygon fill="black" stroke="black" points="1139.79,-932.93 1143.96,-923.19 1134.63,-928.21 1139.79,-932.93"/>
|
|
|
+</g>
|
|
|
+<!-- Hero -->
|
|
|
+<g id="node4" class="node">
|
|
|
+<title>Hero</title>
|
|
|
+<polygon fill="#808080" fill-opacity="0.501961" stroke="transparent" points="1060.5,-513 678.5,-513 678.5,-387 1060.5,-387 1060.5,-513"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="681.5,-489 681.5,-510 1057.5,-510 1057.5,-489 681.5,-489"/>
|
|
|
+<text text-anchor="start" x="851.5" y="-496.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Hero</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="681.5,-466 681.5,-487 1057.5,-487 1057.5,-466 681.5,-466"/>
|
|
|
+<text text-anchor="start" x="810.5" y="-473.8" font-family="Noto Serif" font-size="14.00">Propagator: </text>
|
|
|
+<text text-anchor="start" x="894.5" y="-473.8" font-family="monospace" font-weight="bold" font-size="14.00">HERO</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="681.5,-443 681.5,-464 1057.5,-464 1057.5,-443 681.5,-443"/>
|
|
|
+<text text-anchor="start" x="777.5" y="-450.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="845.5" y="-450.8" font-family="monospace" font-weight="bold" font-size="14.00">CGHeroInstance</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="681.5,-390 681.5,-441 1057.5,-441 1057.5,-390 681.5,-390"/>
|
|
|
+<text text-anchor="start" x="684.5" y="-426.8" font-family="Noto Serif" font-size="14.00">Represents a hero, either owned by player or in prison.</text>
|
|
|
+<text text-anchor="start" x="722" y="-411.8" font-family="Noto Serif" font-size="14.00">Bonuses from specialty and secondary skills</text>
|
|
|
+<text text-anchor="start" x="758" y="-396.8" font-family="Noto Serif" font-size="14.00">are attached directly to this node</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="678.5,-387 678.5,-513 1060.5,-513 1060.5,-387 678.5,-387"/>
|
|
|
+</g>
|
|
|
+<!-- Army -->
|
|
|
+<g id="node18" class="node">
|
|
|
+<title>Army</title>
|
|
|
+<polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1071,-351 668,-351 668,-263 1071,-263 1071,-351"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="671.5,-327 671.5,-348 1068.5,-348 1068.5,-327 671.5,-327"/>
|
|
|
+<text text-anchor="start" x="850" y="-334.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Army</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="671.5,-304 671.5,-325 1068.5,-325 1068.5,-304 671.5,-304"/>
|
|
|
+<text text-anchor="start" x="778" y="-311.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="846" y="-311.8" font-family="monospace" font-weight="bold" font-size="14.00">CArmedInstance</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="671.5,-266 671.5,-302 1068.5,-302 1068.5,-266 671.5,-266"/>
|
|
|
+<text text-anchor="start" x="729" y="-287.8" font-family="Noto Serif" font-size="14.00">Represents any object that can hold army,</text>
|
|
|
+<text text-anchor="start" x="674.5" y="-272.8" font-family="Noto Serif" font-size="14.00">such as town, hero, mines, garrisons, wandering monsters</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="668,-263 668,-351 1071,-351 1071,-263 668,-263"/>
|
|
|
+</g>
|
|
|
+<!-- Hero->Army -->
|
|
|
+<g id="edge26" class="edge">
|
|
|
+<title>Hero->Army</title>
|
|
|
+<path fill="none" stroke="black" d="M869.5,-386.74C869.5,-378.34 869.5,-369.78 869.5,-361.55"/>
|
|
|
+<polygon fill="black" stroke="black" points="873,-361.33 869.5,-351.33 866,-361.33 873,-361.33"/>
|
|
|
+</g>
|
|
|
+<!-- Combat -->
|
|
|
+<g id="node5" class="node">
|
|
|
+<title>Combat</title>
|
|
|
+<polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="660.5,-505.5 210.5,-505.5 210.5,-394.5 660.5,-394.5 660.5,-505.5"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="213.5,-481 213.5,-502 657.5,-502 657.5,-481 213.5,-481"/>
|
|
|
+<text text-anchor="start" x="408" y="-488.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Combat</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="213.5,-458 213.5,-479 657.5,-479 657.5,-458 213.5,-458"/>
|
|
|
+<text text-anchor="start" x="348" y="-465.8" font-family="Noto Serif" font-size="14.00">Propagator: </text>
|
|
|
+<text text-anchor="start" x="432" y="-465.8" font-family="monospace" font-weight="bold" font-size="14.00">BATTLE_WIDE</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="213.5,-435 213.5,-456 657.5,-456 657.5,-435 213.5,-435"/>
|
|
|
+<text text-anchor="start" x="360" y="-442.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="428" y="-442.8" font-family="monospace" font-weight="bold" font-size="14.00">BattleInfo</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="213.5,-397 213.5,-433 657.5,-433 657.5,-397 213.5,-397"/>
|
|
|
+<text text-anchor="start" x="295" y="-418.8" font-family="Noto Serif" font-size="14.00">Node that contains both sides of a combat</text>
|
|
|
+<text text-anchor="start" x="216.5" y="-403.8" font-family="Noto Serif" font-size="14.00">Anything propagated to this node will affect both sides in combat</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="210.5,-394.5 210.5,-505.5 660.5,-505.5 660.5,-394.5 210.5,-394.5"/>
|
|
|
+</g>
|
|
|
+<!-- Combat->Army -->
|
|
|
+<g id="edge10" class="edge">
|
|
|
+<title>Combat->Army</title>
|
|
|
+<path fill="none" stroke="black" d="M603.3,-394.49C644.28,-381.17 687.74,-367.05 727.4,-354.17"/>
|
|
|
+<polygon fill="black" stroke="black" points="728.7,-357.42 737.13,-351.01 726.53,-350.77 728.7,-357.42"/>
|
|
|
+</g>
|
|
|
+<!-- Visiting Hero -->
|
|
|
+<g id="node6" class="node">
|
|
|
+<title>Visiting Hero</title>
|
|
|
+<polygon fill="#808080" fill-opacity="0.501961" stroke="transparent" points="1012,-614 803,-614 803,-549 1012,-549 1012,-614"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="806.5,-589.5 806.5,-610.5 1009.5,-610.5 1009.5,-589.5 806.5,-589.5"/>
|
|
|
+<text text-anchor="start" x="861" y="-597.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Visiting Hero</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="806.5,-551.5 806.5,-587.5 1009.5,-587.5 1009.5,-551.5 806.5,-551.5"/>
|
|
|
+<text text-anchor="start" x="834" y="-573.3" font-family="Noto Serif" font-size="14.00">Hero that is currently</text>
|
|
|
+<text text-anchor="start" x="809.5" y="-558.3" font-family="Noto Serif" font-size="14.00">visiting owned or allied town</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="803,-549 803,-614 1012,-614 1012,-549 803,-549"/>
|
|
|
+</g>
|
|
|
+<!-- Visiting Hero->Hero -->
|
|
|
+<g id="edge23" class="edge">
|
|
|
+<title>Visiting Hero->Hero</title>
|
|
|
+<path fill="none" stroke="black" d="M898.2,-548.82C895.88,-540.9 893.29,-532.08 890.65,-523.07"/>
|
|
|
+<polygon fill="black" stroke="black" points="893.94,-521.86 887.77,-513.25 887.22,-523.83 893.94,-521.86"/>
|
|
|
+</g>
|
|
|
+<!-- Garrisoned Hero -->
|
|
|
+<g id="node7" class="node">
|
|
|
+<title>Garrisoned Hero</title>
|
|
|
+<polygon fill="#808080" fill-opacity="0.501961" stroke="transparent" points="1280.5,-614 1030.5,-614 1030.5,-549 1280.5,-549 1280.5,-614"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1033.5,-589.5 1033.5,-610.5 1277.5,-610.5 1277.5,-589.5 1033.5,-589.5"/>
|
|
|
+<text text-anchor="start" x="1095.5" y="-597.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Garrisoned Hero</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1033.5,-551.5 1033.5,-587.5 1277.5,-587.5 1277.5,-551.5 1033.5,-551.5"/>
|
|
|
+<text text-anchor="start" x="1081.5" y="-573.3" font-family="Noto Serif" font-size="14.00">Hero that is currently</text>
|
|
|
+<text text-anchor="start" x="1036.5" y="-558.3" font-family="Noto Serif" font-size="14.00">placed in a garrison of owned town</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1030.5,-549 1030.5,-614 1280.5,-614 1280.5,-549 1030.5,-549"/>
|
|
|
+</g>
|
|
|
+<!-- Garrisoned Hero->Hero -->
|
|
|
+<g id="edge24" class="edge">
|
|
|
+<title>Garrisoned Hero->Hero</title>
|
|
|
+<path fill="none" stroke="black" d="M1085.9,-548.99C1064.64,-539.36 1040.41,-528.39 1016.05,-517.36"/>
|
|
|
+<polygon fill="black" stroke="black" points="1017.26,-514.06 1006.71,-513.13 1014.37,-520.44 1017.26,-514.06"/>
|
|
|
+</g>
|
|
|
+<!-- Wandering Hero->Hero -->
|
|
|
+<g id="edge25" class="edge">
|
|
|
+<title>Wandering Hero->Hero</title>
|
|
|
+<path fill="none" stroke="black" d="M715.9,-548.99C730.39,-539.74 746.83,-529.26 763.42,-518.67"/>
|
|
|
+<polygon fill="black" stroke="black" points="765.56,-521.46 772.11,-513.13 761.8,-515.56 765.56,-521.46"/>
|
|
|
+</g>
|
|
|
+<!-- Neutral Army->Army -->
|
|
|
+<g id="edge21" class="edge">
|
|
|
+<title>Neutral Army->Army</title>
|
|
|
+<path fill="none" stroke="black" d="M1461.15,-548.93C1437.84,-504.7 1389.07,-425.4 1322.5,-387 1231.06,-334.27 1190.02,-367.76 1081.09,-350.98"/>
|
|
|
+<polygon fill="black" stroke="black" points="1081.48,-347.49 1071.04,-349.32 1080.34,-354.4 1081.48,-347.49"/>
|
|
|
+</g>
|
|
|
+<!-- Owned Army->Army -->
|
|
|
+<g id="edge22" class="edge">
|
|
|
+<title>Owned Army->Army</title>
|
|
|
+<path fill="none" stroke="black" d="M106.42,-548.96C117.92,-504.75 145.46,-425.48 201.5,-387 273.67,-337.44 490.45,-318.84 657.69,-311.93"/>
|
|
|
+<polygon fill="black" stroke="black" points="658.02,-315.42 667.87,-311.52 657.74,-308.42 658.02,-315.42"/>
|
|
|
+</g>
|
|
|
+<!-- Town -->
|
|
|
+<g id="node11" class="node">
|
|
|
+<title>Town</title>
|
|
|
+<polygon fill="#808080" fill-opacity="0.501961" stroke="transparent" points="1388,-753 1049,-753 1049,-650 1388,-650 1388,-753"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1052.5,-728.5 1052.5,-749.5 1385.5,-749.5 1385.5,-728.5 1052.5,-728.5"/>
|
|
|
+<text text-anchor="start" x="1199.5" y="-736.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Town</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1052.5,-705.5 1052.5,-726.5 1385.5,-726.5 1385.5,-705.5 1052.5,-705.5"/>
|
|
|
+<text text-anchor="start" x="1127" y="-713.3" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="1195" y="-713.3" font-family="monospace" font-weight="bold" font-size="14.00">CGTownInstance</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1052.5,-652.5 1052.5,-703.5 1385.5,-703.5 1385.5,-652.5 1052.5,-652.5"/>
|
|
|
+<text text-anchor="start" x="1128" y="-689.3" font-family="Noto Serif" font-size="14.00">Represents a town on map.</text>
|
|
|
+<text text-anchor="start" x="1055.5" y="-674.3" font-family="Noto Serif" font-size="14.00">Town buildings can provide bonuses to this node</text>
|
|
|
+<text text-anchor="start" x="1123" y="-659.3" font-family="Noto Serif" font-size="14.00">(or propagate them upward)</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1049,-650 1049,-753 1388,-753 1388,-650 1049,-650"/>
|
|
|
+</g>
|
|
|
+<!-- Town->Garrisoned Hero -->
|
|
|
+<g id="edge19" class="edge">
|
|
|
+<title>Town->Garrisoned Hero</title>
|
|
|
+<path fill="none" stroke="black" d="M1191.42,-649.77C1186.67,-640.87 1181.78,-631.72 1177.2,-623.14"/>
|
|
|
+<polygon fill="black" stroke="black" points="1180.16,-621.27 1172.37,-614.09 1173.99,-624.56 1180.16,-621.27"/>
|
|
|
+</g>
|
|
|
+<!-- Town->Army -->
|
|
|
+<g id="edge20" class="edge">
|
|
|
+<title>Town->Army</title>
|
|
|
+<path fill="none" stroke="black" d="M1269.58,-649.67C1277.74,-638.72 1284.98,-626.62 1289.5,-614 1299.23,-586.8 1302.53,-574.78 1289.5,-549 1240.14,-451.35 1132.4,-390.7 1038.41,-354.66"/>
|
|
|
+<polygon fill="black" stroke="black" points="1039.37,-351.29 1028.78,-351.04 1036.9,-357.84 1039.37,-351.29"/>
|
|
|
+</g>
|
|
|
+<!-- Artifact Instance -->
|
|
|
+<g id="node12" class="node">
|
|
|
+<title>Artifact Instance</title>
|
|
|
+<polygon fill="#00ffff" fill-opacity="0.501961" stroke="transparent" points="884.5,-745.5 562.5,-745.5 562.5,-657.5 884.5,-657.5 884.5,-745.5"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="565.5,-721.5 565.5,-742.5 881.5,-742.5 881.5,-721.5 565.5,-721.5"/>
|
|
|
+<text text-anchor="start" x="663" y="-729.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Artifact Instance</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="565.5,-698.5 565.5,-719.5 881.5,-719.5 881.5,-698.5 565.5,-698.5"/>
|
|
|
+<text text-anchor="start" x="652" y="-706.3" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="720" y="-706.3" font-family="monospace" font-weight="bold" font-size="14.00">CArtifact</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="565.5,-660.5 565.5,-696.5 881.5,-696.5 881.5,-660.5 565.5,-660.5"/>
|
|
|
+<text text-anchor="start" x="568.5" y="-682.3" font-family="Noto Serif" font-size="14.00">Represents a particular instance of an artifact</text>
|
|
|
+<text text-anchor="start" x="626.5" y="-667.3" font-family="Noto Serif" font-size="14.00"> that hero can equip or trade</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="562.5,-657.5 562.5,-745.5 884.5,-745.5 884.5,-657.5 562.5,-657.5"/>
|
|
|
+</g>
|
|
|
+<!-- Artifact Instance->Hero -->
|
|
|
+<g id="edge16" class="edge">
|
|
|
+<title>Artifact Instance->Hero</title>
|
|
|
+<path fill="none" stroke="black" d="M585.05,-657.47C566.99,-646.13 550.85,-631.88 539.5,-614 524.02,-589.61 522.01,-571.99 539.5,-549 573.95,-503.71 608.3,-527.17 668.56,-512.98"/>
|
|
|
+<polygon fill="black" stroke="black" points="669.69,-516.3 678.46,-510.36 667.9,-509.53 669.69,-516.3"/>
|
|
|
+</g>
|
|
|
+<!-- Boat -->
|
|
|
+<g id="node13" class="node">
|
|
|
+<title>Boat</title>
|
|
|
+<polygon fill="#00ffff" fill-opacity="0.501961" stroke="transparent" points="544,-745.5 233,-745.5 233,-657.5 544,-657.5 544,-745.5"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="236.5,-721.5 236.5,-742.5 541.5,-742.5 541.5,-721.5 236.5,-721.5"/>
|
|
|
+<text text-anchor="start" x="372.5" y="-729.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Boat</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="236.5,-698.5 236.5,-719.5 541.5,-719.5 541.5,-698.5 236.5,-698.5"/>
|
|
|
+<text text-anchor="start" x="330" y="-706.3" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="398" y="-706.3" font-family="monospace" font-weight="bold" font-size="14.00">CGBoat</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="236.5,-660.5 236.5,-696.5 541.5,-696.5 541.5,-660.5 236.5,-660.5"/>
|
|
|
+<text text-anchor="start" x="239.5" y="-682.3" font-family="Noto Serif" font-size="14.00">Represents a boat or other type of transport.</text>
|
|
|
+<text text-anchor="start" x="263.5" y="-667.3" font-family="Noto Serif" font-size="14.00">Can provide bonuses to boarded hero</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="233,-657.5 233,-745.5 544,-745.5 544,-657.5 233,-657.5"/>
|
|
|
+</g>
|
|
|
+<!-- Boat->Hero -->
|
|
|
+<g id="edge9" class="edge">
|
|
|
+<title>Boat->Hero</title>
|
|
|
+<path fill="none" stroke="black" d="M415.69,-657.4C439.67,-622.94 477.72,-576.05 522.5,-549 577.38,-515.85 602.3,-529.51 668.43,-513.13"/>
|
|
|
+<polygon fill="black" stroke="black" points="669.71,-516.41 678.5,-510.49 667.94,-509.64 669.71,-516.41"/>
|
|
|
+</g>
|
|
|
+<!-- Town and visiting hero->Visiting Hero -->
|
|
|
+<g id="edge8" class="edge">
|
|
|
+<title>Town and visiting hero->Visiting Hero</title>
|
|
|
+<path fill="none" stroke="black" d="M1079.27,-788.81C1065.1,-778.07 1051.74,-766.11 1040.5,-753 1008.09,-715.22 1027.13,-689.24 996.5,-650 988.05,-639.18 977.46,-629.17 966.57,-620.37"/>
|
|
|
+<polygon fill="black" stroke="black" points="968.65,-617.55 958.61,-614.18 964.36,-623.08 968.65,-617.55"/>
|
|
|
+</g>
|
|
|
+<!-- Town and visiting hero->Town -->
|
|
|
+<g id="edge7" class="edge">
|
|
|
+<title>Town and visiting hero->Town</title>
|
|
|
+<path fill="none" stroke="black" d="M1210.56,-789C1211.34,-780.53 1212.13,-771.89 1212.9,-763.5"/>
|
|
|
+<polygon fill="black" stroke="black" points="1216.4,-763.71 1213.82,-753.43 1209.42,-763.07 1216.4,-763.71"/>
|
|
|
+</g>
|
|
|
+<!-- Creature Type -->
|
|
|
+<g id="node15" class="node">
|
|
|
+<title>Creature Type</title>
|
|
|
+<polygon fill="#00ffff" fill-opacity="0.501961" stroke="transparent" points="1469.5,-343.5 1089.5,-343.5 1089.5,-270.5 1469.5,-270.5 1469.5,-343.5"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1092.5,-319 1092.5,-340 1466.5,-340 1466.5,-319 1092.5,-319"/>
|
|
|
+<text text-anchor="start" x="1228" y="-326.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Creature Type</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1092.5,-296 1092.5,-317 1466.5,-317 1466.5,-296 1092.5,-296"/>
|
|
|
+<text text-anchor="start" x="1208" y="-303.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="1276" y="-303.8" font-family="monospace" font-weight="bold" font-size="14.00">CCreature</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1092.5,-273 1092.5,-294 1466.5,-294 1466.5,-273 1092.5,-273"/>
|
|
|
+<text text-anchor="start" x="1095.5" y="-279.8" font-family="Noto Serif" font-size="14.00">Represents a creature type, such as Pikeman or Archer</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1089.5,-270.5 1089.5,-343.5 1469.5,-343.5 1469.5,-270.5 1089.5,-270.5"/>
|
|
|
+</g>
|
|
|
+<!-- Unit in Army -->
|
|
|
+<g id="node19" class="node">
|
|
|
+<title>Unit in Army</title>
|
|
|
+<polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1394.5,-227 1118.5,-227 1118.5,-124 1394.5,-124 1394.5,-227"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1121.5,-202.5 1121.5,-223.5 1391.5,-223.5 1391.5,-202.5 1121.5,-202.5"/>
|
|
|
+<text text-anchor="start" x="1210" y="-210.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Unit in Army</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1121.5,-179.5 1121.5,-200.5 1391.5,-200.5 1391.5,-179.5 1121.5,-179.5"/>
|
|
|
+<text text-anchor="start" x="1164.5" y="-187.3" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="1232.5" y="-187.3" font-family="monospace" font-weight="bold" font-size="14.00">CStackInstance</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1121.5,-126.5 1121.5,-177.5 1391.5,-177.5 1391.5,-126.5 1121.5,-126.5"/>
|
|
|
+<text text-anchor="start" x="1124.5" y="-163.3" font-family="Noto Serif" font-size="14.00">Represents a unit that is part of a army</text>
|
|
|
+<text text-anchor="start" x="1142" y="-148.3" font-family="Noto Serif" font-size="14.00">A unit always has a creature type,</text>
|
|
|
+<text text-anchor="start" x="1130" y="-133.3" font-family="Noto Serif" font-size="14.00">belongs to an army and has stack size</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1118.5,-124 1118.5,-227 1394.5,-227 1394.5,-124 1118.5,-124"/>
|
|
|
+</g>
|
|
|
+<!-- Creature Type->Unit in Army -->
|
|
|
+<g id="edge18" class="edge">
|
|
|
+<title>Creature Type->Unit in Army</title>
|
|
|
+<path fill="none" stroke="black" d="M1273.15,-270.27C1271.32,-259.96 1269.27,-248.42 1267.25,-237.05"/>
|
|
|
+<polygon fill="black" stroke="black" points="1270.69,-236.37 1265.49,-227.14 1263.8,-237.6 1270.69,-236.37"/>
|
|
|
+</g>
|
|
|
+<!-- Summon in Combat -->
|
|
|
+<g id="node21" class="node">
|
|
|
+<title>Summon in Combat</title>
|
|
|
+<polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1078,-219.5 751,-219.5 751,-131.5 1078,-131.5 1078,-219.5"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="754.5,-195.5 754.5,-216.5 1075.5,-216.5 1075.5,-195.5 754.5,-195.5"/>
|
|
|
+<text text-anchor="start" x="846" y="-203.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Summon in Combat</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="754.5,-172.5 754.5,-193.5 1075.5,-193.5 1075.5,-172.5 754.5,-172.5"/>
|
|
|
+<text text-anchor="start" x="856" y="-180.3" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="924" y="-180.3" font-family="monospace" font-weight="bold" font-size="14.00">CStack</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="754.5,-134.5 754.5,-170.5 1075.5,-170.5 1075.5,-134.5 754.5,-134.5"/>
|
|
|
+<text text-anchor="start" x="757.5" y="-156.3" font-family="Noto Serif" font-size="14.00">Represents any unit that was added in combat,</text>
|
|
|
+<text text-anchor="start" x="800.5" y="-141.3" font-family="Noto Serif" font-size="14.00">and may not remain after combat</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="751,-131.5 751,-219.5 1078,-219.5 1078,-131.5 751,-131.5"/>
|
|
|
+</g>
|
|
|
+<!-- Creature Type->Summon in Combat -->
|
|
|
+<g id="edge17" class="edge">
|
|
|
+<title>Creature Type->Summon in Combat</title>
|
|
|
+<path fill="none" stroke="black" d="M1179.28,-270.44C1137.99,-255.79 1089.59,-238.62 1045.55,-223"/>
|
|
|
+<polygon fill="black" stroke="black" points="1046.53,-219.63 1035.93,-219.58 1044.18,-226.23 1046.53,-219.63"/>
|
|
|
+</g>
|
|
|
+<!-- Artifact Type -->
|
|
|
+<g id="node16" class="node">
|
|
|
+<title>Artifact Type</title>
|
|
|
+<polygon fill="#00ffff" fill-opacity="0.501961" stroke="transparent" points="954.5,-892.5 590.5,-892.5 590.5,-819.5 954.5,-819.5 954.5,-892.5"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="593.5,-868 593.5,-889 951.5,-889 951.5,-868 593.5,-868"/>
|
|
|
+<text text-anchor="start" x="724.5" y="-875.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Artifact Type</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="593.5,-845 593.5,-866 951.5,-866 951.5,-845 593.5,-845"/>
|
|
|
+<text text-anchor="start" x="701" y="-852.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="769" y="-852.8" font-family="monospace" font-weight="bold" font-size="14.00">CArtifact</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="593.5,-822 593.5,-843 951.5,-843 951.5,-822 593.5,-822"/>
|
|
|
+<text text-anchor="start" x="596.5" y="-828.8" font-family="Noto Serif" font-size="14.00">Represents an artifact type, for example Ring of Life</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="590.5,-819.5 590.5,-892.5 954.5,-892.5 954.5,-819.5 590.5,-819.5"/>
|
|
|
+</g>
|
|
|
+<!-- Artifact Type->Artifact Instance -->
|
|
|
+<g id="edge14" class="edge">
|
|
|
+<title>Artifact Type->Artifact Instance</title>
|
|
|
+<path fill="none" stroke="black" d="M761.01,-819.25C754.91,-800.25 747.28,-776.52 740.51,-755.43"/>
|
|
|
+<polygon fill="black" stroke="black" points="743.75,-754.08 737.36,-745.63 737.09,-756.23 743.75,-754.08"/>
|
|
|
+</g>
|
|
|
+<!-- Artifact Component -->
|
|
|
+<g id="node17" class="node">
|
|
|
+<title>Artifact Component</title>
|
|
|
+<polygon fill="#808080" fill-opacity="0.501961" stroke="transparent" points="572.5,-900 88.5,-900 88.5,-812 572.5,-812 572.5,-900"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="91.5,-876 91.5,-897 569.5,-897 569.5,-876 91.5,-876"/>
|
|
|
+<text text-anchor="start" x="259.5" y="-883.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Artifact Component</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="91.5,-853 91.5,-874 569.5,-874 569.5,-853 91.5,-853"/>
|
|
|
+<text text-anchor="start" x="259" y="-860.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="327" y="-860.8" font-family="monospace" font-weight="bold" font-size="14.00">CArtifact</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="91.5,-815 91.5,-851 569.5,-851 569.5,-815 91.5,-815"/>
|
|
|
+<text text-anchor="start" x="215" y="-836.8" font-family="Noto Serif" font-size="14.00">For combined, non-fused artifacts,</text>
|
|
|
+<text text-anchor="start" x="94.5" y="-821.8" font-family="Noto Serif" font-size="14.00">instances of components are attached to instance of combined artifact</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="88.5,-812 88.5,-900 572.5,-900 572.5,-812 88.5,-812"/>
|
|
|
+</g>
|
|
|
+<!-- Artifact Component->Artifact Instance -->
|
|
|
+<g id="edge15" class="edge">
|
|
|
+<title>Artifact Component->Artifact Instance</title>
|
|
|
+<path fill="none" stroke="black" d="M441.54,-811.91C491.86,-792.38 551.47,-769.25 602.89,-749.3"/>
|
|
|
+<polygon fill="black" stroke="black" points="604.34,-752.5 612.39,-745.61 601.8,-745.97 604.34,-752.5"/>
|
|
|
+</g>
|
|
|
+<!-- Army->Unit in Army -->
|
|
|
+<g id="edge11" class="edge">
|
|
|
+<title>Army->Unit in Army</title>
|
|
|
+<path fill="none" stroke="black" d="M998.1,-262.97C1033.53,-251.11 1072.25,-238.15 1108.68,-225.96"/>
|
|
|
+<polygon fill="black" stroke="black" points="1110.01,-229.21 1118.39,-222.72 1107.79,-222.57 1110.01,-229.21"/>
|
|
|
+</g>
|
|
|
+<!-- Army->Summon in Combat -->
|
|
|
+<g id="edge12" class="edge">
|
|
|
+<title>Army->Summon in Combat</title>
|
|
|
+<path fill="none" stroke="black" d="M884.48,-262.88C888.2,-252.18 892.23,-240.59 896.09,-229.48"/>
|
|
|
+<polygon fill="black" stroke="black" points="899.45,-230.47 899.43,-219.87 892.84,-228.17 899.45,-230.47"/>
|
|
|
+</g>
|
|
|
+<!-- Unit in Combat -->
|
|
|
+<g id="node20" class="node">
|
|
|
+<title>Unit in Combat</title>
|
|
|
+<polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1428,-88 1085,-88 1085,0 1428,0 1428,-88"/>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1088.5,-64 1088.5,-85 1425.5,-85 1425.5,-64 1088.5,-64"/>
|
|
|
+<text text-anchor="start" x="1203.5" y="-71.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Unit in Combat</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1088.5,-41 1088.5,-62 1425.5,-62 1425.5,-41 1088.5,-41"/>
|
|
|
+<text text-anchor="start" x="1198" y="-48.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
|
|
|
+<text text-anchor="start" x="1266" y="-48.8" font-family="monospace" font-weight="bold" font-size="14.00">CStack</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1088.5,-3 1088.5,-39 1425.5,-39 1425.5,-3 1088.5,-3"/>
|
|
|
+<text text-anchor="start" x="1091.5" y="-24.8" font-family="Noto Serif" font-size="14.00">Represents current state of a unit during combat,</text>
|
|
|
+<text text-anchor="start" x="1112" y="-9.8" font-family="Noto Serif" font-size="14.00">can be affected by spells or receive damage</text>
|
|
|
+<polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1085,0 1085,-88 1428,-88 1428,0 1085,0"/>
|
|
|
+</g>
|
|
|
+<!-- Unit in Army->Unit in Combat -->
|
|
|
+<g id="edge13" class="edge">
|
|
|
+<title>Unit in Army->Unit in Combat</title>
|
|
|
+<path fill="none" stroke="black" d="M1256.5,-123.69C1256.5,-115.33 1256.5,-106.64 1256.5,-98.22"/>
|
|
|
+<polygon fill="black" stroke="black" points="1260,-98.12 1256.5,-88.12 1253,-98.12 1260,-98.12"/>
|
|
|
+</g>
|
|
|
+</g>
|
|
|
+</svg>
|