Bonus_System_Nodes.svg 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474
  1. <?xml version="1.0" encoding="UTF-8" standalone="no"?>
  2. <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
  3. "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
  4. <!-- Generated by graphviz version 2.43.0 (0)
  5. -->
  6. <!-- Title: mygraph Pages: 1 -->
  7. <svg width="1625pt" height="1440pt"
  8. viewBox="0.00 0.00 1624.50 1440.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  9. <g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 1436)">
  10. <title>mygraph</title>
  11. <polygon fill="white" stroke="transparent" points="-4,4 -4,-1436 1620.5,-1436 1620.5,4 -4,4"/>
  12. <!-- Global -->
  13. <g id="node1" class="node">
  14. <title>Global</title>
  15. <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"/>
  16. <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"/>
  17. <text text-anchor="start" x="1183" y="-1415.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Global</text>
  18. <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"/>
  19. <text text-anchor="start" x="1110.5" y="-1392.3" font-family="Noto Serif" font-size="14.00">Propagator: </text>
  20. <text text-anchor="start" x="1194.5" y="-1392.3" font-family="monospace" font-weight="bold" font-size="14.00">GLOBAL_EFFECT</text>
  21. <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"/>
  22. <text text-anchor="start" x="1131" y="-1369.3" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  23. <text text-anchor="start" x="1199" y="-1369.3" font-family="monospace" font-weight="bold" font-size="14.00">CGameState</text>
  24. <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"/>
  25. <text text-anchor="start" x="1135" y="-1345.3" font-family="Noto Serif" font-size="14.00">Global node to which</text>
  26. <text text-anchor="start" x="1105" y="-1330.3" font-family="Noto Serif" font-size="14.00">all map entities are connected</text>
  27. <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"/>
  28. <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>
  29. <text text-anchor="start" x="1109" y="-1292.3" font-family="Noto Serif" font-size="14.00">are not attached to any node</text>
  30. <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"/>
  31. </g>
  32. <!-- Team -->
  33. <g id="node2" class="node">
  34. <title>Team</title>
  35. <polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1256,-1247 1001,-1247 1001,-1121 1256,-1121 1256,-1247"/>
  36. <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"/>
  37. <text text-anchor="start" x="1109" y="-1230.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Team</text>
  38. <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"/>
  39. <text text-anchor="start" x="1025" y="-1207.8" font-family="Noto Serif" font-size="14.00">Propagator: </text>
  40. <text text-anchor="start" x="1109" y="-1207.8" font-family="monospace" font-weight="bold" font-size="14.00">TEAM_PROPAGATOR</text>
  41. <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"/>
  42. <text text-anchor="start" x="1057.5" y="-1184.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  43. <text text-anchor="start" x="1125.5" y="-1184.8" font-family="monospace" font-weight="bold" font-size="14.00">TeamState</text>
  44. <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"/>
  45. <text text-anchor="start" x="1077.5" y="-1160.8" font-family="Noto Serif" font-size="14.00">Per&#45;team node.</text>
  46. <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>
  47. <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>
  48. <polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1001,-1121 1001,-1247 1256,-1247 1256,-1121 1001,-1121"/>
  49. </g>
  50. <!-- Global&#45;&gt;Team -->
  51. <g id="edge1" class="edge">
  52. <title>Global&#45;&gt;Team</title>
  53. <path fill="none" stroke="black" d="M1172.97,-1282.77C1169,-1274.04 1164.95,-1265.14 1160.99,-1256.43"/>
  54. <polygon fill="black" stroke="black" points="1164.07,-1254.74 1156.74,-1247.09 1157.69,-1257.64 1164.07,-1254.74"/>
  55. </g>
  56. <!-- Neutral Army -->
  57. <g id="node9" class="node">
  58. <title>Neutral Army</title>
  59. <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"/>
  60. <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"/>
  61. <text text-anchor="start" x="1427" y="-597.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Neutral Army</text>
  62. <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"/>
  63. <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>
  64. <text text-anchor="start" x="1342.5" y="-558.3" font-family="Noto Serif" font-size="14.00">Wandering monsters, Banks, Events, etc</text>
  65. <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"/>
  66. </g>
  67. <!-- Global&#45;&gt;Neutral Army -->
  68. <g id="edge2" class="edge">
  69. <title>Global&#45;&gt;Neutral Army</title>
  70. <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"/>
  71. <polygon fill="black" stroke="black" points="1468,-624.63 1467.25,-614.07 1461.24,-622.8 1468,-624.63"/>
  72. </g>
  73. <!-- Player -->
  74. <g id="node3" class="node">
  75. <title>Player</title>
  76. <polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1173,-1085 936,-1085 936,-959 1173,-959 1173,-1085"/>
  77. <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"/>
  78. <text text-anchor="start" x="1031.5" y="-1068.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Player</text>
  79. <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"/>
  80. <text text-anchor="start" x="942.5" y="-1045.8" font-family="Noto Serif" font-size="14.00">Propagator: </text>
  81. <text text-anchor="start" x="1026.5" y="-1045.8" font-family="monospace" font-weight="bold" font-size="14.00">PLAYER_PROPAGATOR</text>
  82. <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"/>
  83. <text text-anchor="start" x="971" y="-1022.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  84. <text text-anchor="start" x="1039" y="-1022.8" font-family="monospace" font-weight="bold" font-size="14.00">CPlayerState</text>
  85. <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"/>
  86. <text text-anchor="start" x="999" y="-998.8" font-family="Noto Serif" font-size="14.00">Per&#45;player team.</text>
  87. <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>
  88. <text text-anchor="start" x="988" y="-968.8" font-family="Noto Serif" font-size="14.00">belong to such node</text>
  89. <polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="936,-959 936,-1085 1173,-1085 1173,-959 936,-959"/>
  90. </g>
  91. <!-- Team&#45;&gt;Player -->
  92. <g id="edge3" class="edge">
  93. <title>Team&#45;&gt;Player</title>
  94. <path fill="none" stroke="black" d="M1099.68,-1120.68C1095.67,-1112.02 1091.53,-1103.07 1087.46,-1094.26"/>
  95. <polygon fill="black" stroke="black" points="1090.62,-1092.76 1083.24,-1085.15 1084.26,-1095.69 1090.62,-1092.76"/>
  96. </g>
  97. <!-- Wandering Hero -->
  98. <g id="node8" class="node">
  99. <title>Wandering Hero</title>
  100. <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"/>
  101. <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"/>
  102. <text text-anchor="start" x="607.5" y="-597.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Wandering Hero</text>
  103. <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"/>
  104. <text text-anchor="start" x="592.5" y="-573.3" font-family="Noto Serif" font-size="14.00">Hero that is currently</text>
  105. <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>
  106. <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"/>
  107. </g>
  108. <!-- Player&#45;&gt;Wandering Hero -->
  109. <g id="edge5" class="edge">
  110. <title>Player&#45;&gt;Wandering Hero</title>
  111. <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"/>
  112. <polygon fill="black" stroke="black" points="795.1,-612.55 784.53,-613.24 793.22,-619.29 795.1,-612.55"/>
  113. </g>
  114. <!-- Owned Army -->
  115. <g id="node10" class="node">
  116. <title>Owned Army</title>
  117. <polygon fill="#808080" fill-opacity="0.501961" stroke="transparent" points="199,-614 0,-614 0,-549 199,-549 199,-614"/>
  118. <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"/>
  119. <text text-anchor="start" x="53" y="-597.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Owned Army</text>
  120. <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"/>
  121. <text text-anchor="start" x="16.5" y="-573.3" font-family="Noto Serif" font-size="14.00">Army owned by a player.</text>
  122. <text text-anchor="start" x="6.5" y="-558.3" font-family="Noto Serif" font-size="14.00">Mines, Garrisons, Dwellings</text>
  123. <polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="0,-549 0,-614 199,-614 199,-549 0,-549"/>
  124. </g>
  125. <!-- Player&#45;&gt;Owned Army -->
  126. <g id="edge6" class="edge">
  127. <title>Player&#45;&gt;Owned Army</title>
  128. <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"/>
  129. <polygon fill="black" stroke="black" points="83.85,-624.7 84.55,-614.13 77.41,-621.95 83.85,-624.7"/>
  130. </g>
  131. <!-- Town and visiting hero -->
  132. <g id="node14" class="node">
  133. <title>Town and visiting hero</title>
  134. <polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1398,-923 1011,-923 1011,-789 1398,-789 1398,-923"/>
  135. <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"/>
  136. <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>
  137. <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"/>
  138. <text text-anchor="start" x="1063.5" y="-883.8" font-family="Noto Serif" font-size="14.00">Propagator: </text>
  139. <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>
  140. <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"/>
  141. <text text-anchor="start" x="1088" y="-860.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  142. <text text-anchor="start" x="1156" y="-860.8" font-family="monospace" font-weight="bold" font-size="14.00">CTownAndVisitingHero</text>
  143. <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"/>
  144. <text text-anchor="start" x="1105.5" y="-836.8" font-family="Noto Serif" font-size="14.00">Helper node that exists solely</text>
  145. <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>
  146. <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"/>
  147. <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>
  148. <polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1011,-789 1011,-923 1398,-923 1398,-789 1011,-789"/>
  149. </g>
  150. <!-- Player&#45;&gt;Town and visiting hero -->
  151. <g id="edge4" class="edge">
  152. <title>Player&#45;&gt;Town and visiting hero</title>
  153. <path fill="none" stroke="black" d="M1111.21,-959C1119.65,-949.77 1128.43,-940.17 1137.07,-930.73"/>
  154. <polygon fill="black" stroke="black" points="1139.79,-932.93 1143.96,-923.19 1134.63,-928.21 1139.79,-932.93"/>
  155. </g>
  156. <!-- Hero -->
  157. <g id="node4" class="node">
  158. <title>Hero</title>
  159. <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"/>
  160. <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"/>
  161. <text text-anchor="start" x="851.5" y="-496.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Hero</text>
  162. <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"/>
  163. <text text-anchor="start" x="810.5" y="-473.8" font-family="Noto Serif" font-size="14.00">Propagator: </text>
  164. <text text-anchor="start" x="894.5" y="-473.8" font-family="monospace" font-weight="bold" font-size="14.00">HERO</text>
  165. <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"/>
  166. <text text-anchor="start" x="777.5" y="-450.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  167. <text text-anchor="start" x="845.5" y="-450.8" font-family="monospace" font-weight="bold" font-size="14.00">CGHeroInstance</text>
  168. <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"/>
  169. <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>
  170. <text text-anchor="start" x="722" y="-411.8" font-family="Noto Serif" font-size="14.00">Bonuses from specialty and secondary skills</text>
  171. <text text-anchor="start" x="758" y="-396.8" font-family="Noto Serif" font-size="14.00">are attached directly to this node</text>
  172. <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"/>
  173. </g>
  174. <!-- Army -->
  175. <g id="node18" class="node">
  176. <title>Army</title>
  177. <polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1071,-351 668,-351 668,-263 1071,-263 1071,-351"/>
  178. <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"/>
  179. <text text-anchor="start" x="850" y="-334.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Army</text>
  180. <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"/>
  181. <text text-anchor="start" x="778" y="-311.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  182. <text text-anchor="start" x="846" y="-311.8" font-family="monospace" font-weight="bold" font-size="14.00">CArmedInstance</text>
  183. <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"/>
  184. <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>
  185. <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>
  186. <polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="668,-263 668,-351 1071,-351 1071,-263 668,-263"/>
  187. </g>
  188. <!-- Hero&#45;&gt;Army -->
  189. <g id="edge26" class="edge">
  190. <title>Hero&#45;&gt;Army</title>
  191. <path fill="none" stroke="black" d="M869.5,-386.74C869.5,-378.34 869.5,-369.78 869.5,-361.55"/>
  192. <polygon fill="black" stroke="black" points="873,-361.33 869.5,-351.33 866,-361.33 873,-361.33"/>
  193. </g>
  194. <!-- Combat -->
  195. <g id="node5" class="node">
  196. <title>Combat</title>
  197. <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"/>
  198. <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"/>
  199. <text text-anchor="start" x="408" y="-488.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Combat</text>
  200. <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"/>
  201. <text text-anchor="start" x="348" y="-465.8" font-family="Noto Serif" font-size="14.00">Propagator: </text>
  202. <text text-anchor="start" x="432" y="-465.8" font-family="monospace" font-weight="bold" font-size="14.00">BATTLE_WIDE</text>
  203. <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"/>
  204. <text text-anchor="start" x="360" y="-442.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  205. <text text-anchor="start" x="428" y="-442.8" font-family="monospace" font-weight="bold" font-size="14.00">BattleInfo</text>
  206. <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"/>
  207. <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>
  208. <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>
  209. <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"/>
  210. </g>
  211. <!-- Combat&#45;&gt;Army -->
  212. <g id="edge10" class="edge">
  213. <title>Combat&#45;&gt;Army</title>
  214. <path fill="none" stroke="black" d="M603.3,-394.49C644.28,-381.17 687.74,-367.05 727.4,-354.17"/>
  215. <polygon fill="black" stroke="black" points="728.7,-357.42 737.13,-351.01 726.53,-350.77 728.7,-357.42"/>
  216. </g>
  217. <!-- Visiting Hero -->
  218. <g id="node6" class="node">
  219. <title>Visiting Hero</title>
  220. <polygon fill="#808080" fill-opacity="0.501961" stroke="transparent" points="1012,-614 803,-614 803,-549 1012,-549 1012,-614"/>
  221. <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"/>
  222. <text text-anchor="start" x="861" y="-597.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Visiting Hero</text>
  223. <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"/>
  224. <text text-anchor="start" x="834" y="-573.3" font-family="Noto Serif" font-size="14.00">Hero that is currently</text>
  225. <text text-anchor="start" x="809.5" y="-558.3" font-family="Noto Serif" font-size="14.00">visiting owned or allied town</text>
  226. <polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="803,-549 803,-614 1012,-614 1012,-549 803,-549"/>
  227. </g>
  228. <!-- Visiting Hero&#45;&gt;Hero -->
  229. <g id="edge23" class="edge">
  230. <title>Visiting Hero&#45;&gt;Hero</title>
  231. <path fill="none" stroke="black" d="M898.2,-548.82C895.88,-540.9 893.29,-532.08 890.65,-523.07"/>
  232. <polygon fill="black" stroke="black" points="893.94,-521.86 887.77,-513.25 887.22,-523.83 893.94,-521.86"/>
  233. </g>
  234. <!-- Garrisoned Hero -->
  235. <g id="node7" class="node">
  236. <title>Garrisoned Hero</title>
  237. <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"/>
  238. <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"/>
  239. <text text-anchor="start" x="1095.5" y="-597.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Garrisoned Hero</text>
  240. <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"/>
  241. <text text-anchor="start" x="1081.5" y="-573.3" font-family="Noto Serif" font-size="14.00">Hero that is currently</text>
  242. <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>
  243. <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"/>
  244. </g>
  245. <!-- Garrisoned Hero&#45;&gt;Hero -->
  246. <g id="edge24" class="edge">
  247. <title>Garrisoned Hero&#45;&gt;Hero</title>
  248. <path fill="none" stroke="black" d="M1085.9,-548.99C1064.64,-539.36 1040.41,-528.39 1016.05,-517.36"/>
  249. <polygon fill="black" stroke="black" points="1017.26,-514.06 1006.71,-513.13 1014.37,-520.44 1017.26,-514.06"/>
  250. </g>
  251. <!-- Wandering Hero&#45;&gt;Hero -->
  252. <g id="edge25" class="edge">
  253. <title>Wandering Hero&#45;&gt;Hero</title>
  254. <path fill="none" stroke="black" d="M715.9,-548.99C730.39,-539.74 746.83,-529.26 763.42,-518.67"/>
  255. <polygon fill="black" stroke="black" points="765.56,-521.46 772.11,-513.13 761.8,-515.56 765.56,-521.46"/>
  256. </g>
  257. <!-- Neutral Army&#45;&gt;Army -->
  258. <g id="edge21" class="edge">
  259. <title>Neutral Army&#45;&gt;Army</title>
  260. <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"/>
  261. <polygon fill="black" stroke="black" points="1081.48,-347.49 1071.04,-349.32 1080.34,-354.4 1081.48,-347.49"/>
  262. </g>
  263. <!-- Owned Army&#45;&gt;Army -->
  264. <g id="edge22" class="edge">
  265. <title>Owned Army&#45;&gt;Army</title>
  266. <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"/>
  267. <polygon fill="black" stroke="black" points="658.02,-315.42 667.87,-311.52 657.74,-308.42 658.02,-315.42"/>
  268. </g>
  269. <!-- Town -->
  270. <g id="node11" class="node">
  271. <title>Town</title>
  272. <polygon fill="#808080" fill-opacity="0.501961" stroke="transparent" points="1388,-753 1049,-753 1049,-650 1388,-650 1388,-753"/>
  273. <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"/>
  274. <text text-anchor="start" x="1199.5" y="-736.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Town</text>
  275. <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"/>
  276. <text text-anchor="start" x="1127" y="-713.3" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  277. <text text-anchor="start" x="1195" y="-713.3" font-family="monospace" font-weight="bold" font-size="14.00">CGTownInstance</text>
  278. <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"/>
  279. <text text-anchor="start" x="1128" y="-689.3" font-family="Noto Serif" font-size="14.00">Represents a town on map.</text>
  280. <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>
  281. <text text-anchor="start" x="1123" y="-659.3" font-family="Noto Serif" font-size="14.00">(or propagate them upward)</text>
  282. <polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1049,-650 1049,-753 1388,-753 1388,-650 1049,-650"/>
  283. </g>
  284. <!-- Town&#45;&gt;Garrisoned Hero -->
  285. <g id="edge19" class="edge">
  286. <title>Town&#45;&gt;Garrisoned Hero</title>
  287. <path fill="none" stroke="black" d="M1191.42,-649.77C1186.67,-640.87 1181.78,-631.72 1177.2,-623.14"/>
  288. <polygon fill="black" stroke="black" points="1180.16,-621.27 1172.37,-614.09 1173.99,-624.56 1180.16,-621.27"/>
  289. </g>
  290. <!-- Town&#45;&gt;Army -->
  291. <g id="edge20" class="edge">
  292. <title>Town&#45;&gt;Army</title>
  293. <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"/>
  294. <polygon fill="black" stroke="black" points="1039.37,-351.29 1028.78,-351.04 1036.9,-357.84 1039.37,-351.29"/>
  295. </g>
  296. <!-- Artifact Instance -->
  297. <g id="node12" class="node">
  298. <title>Artifact Instance</title>
  299. <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"/>
  300. <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"/>
  301. <text text-anchor="start" x="663" y="-729.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Artifact Instance</text>
  302. <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"/>
  303. <text text-anchor="start" x="652" y="-706.3" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  304. <text text-anchor="start" x="720" y="-706.3" font-family="monospace" font-weight="bold" font-size="14.00">CArtifact</text>
  305. <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"/>
  306. <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>
  307. <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>
  308. <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"/>
  309. </g>
  310. <!-- Artifact Instance&#45;&gt;Hero -->
  311. <g id="edge16" class="edge">
  312. <title>Artifact Instance&#45;&gt;Hero</title>
  313. <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"/>
  314. <polygon fill="black" stroke="black" points="669.69,-516.3 678.46,-510.36 667.9,-509.53 669.69,-516.3"/>
  315. </g>
  316. <!-- Boat -->
  317. <g id="node13" class="node">
  318. <title>Boat</title>
  319. <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"/>
  320. <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"/>
  321. <text text-anchor="start" x="372.5" y="-729.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Boat</text>
  322. <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"/>
  323. <text text-anchor="start" x="330" y="-706.3" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  324. <text text-anchor="start" x="398" y="-706.3" font-family="monospace" font-weight="bold" font-size="14.00">CGBoat</text>
  325. <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"/>
  326. <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>
  327. <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>
  328. <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"/>
  329. </g>
  330. <!-- Boat&#45;&gt;Hero -->
  331. <g id="edge9" class="edge">
  332. <title>Boat&#45;&gt;Hero</title>
  333. <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"/>
  334. <polygon fill="black" stroke="black" points="669.71,-516.41 678.5,-510.49 667.94,-509.64 669.71,-516.41"/>
  335. </g>
  336. <!-- Town and visiting hero&#45;&gt;Visiting Hero -->
  337. <g id="edge8" class="edge">
  338. <title>Town and visiting hero&#45;&gt;Visiting Hero</title>
  339. <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"/>
  340. <polygon fill="black" stroke="black" points="968.65,-617.55 958.61,-614.18 964.36,-623.08 968.65,-617.55"/>
  341. </g>
  342. <!-- Town and visiting hero&#45;&gt;Town -->
  343. <g id="edge7" class="edge">
  344. <title>Town and visiting hero&#45;&gt;Town</title>
  345. <path fill="none" stroke="black" d="M1210.56,-789C1211.34,-780.53 1212.13,-771.89 1212.9,-763.5"/>
  346. <polygon fill="black" stroke="black" points="1216.4,-763.71 1213.82,-753.43 1209.42,-763.07 1216.4,-763.71"/>
  347. </g>
  348. <!-- Creature Type -->
  349. <g id="node15" class="node">
  350. <title>Creature Type</title>
  351. <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"/>
  352. <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"/>
  353. <text text-anchor="start" x="1228" y="-326.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Creature Type</text>
  354. <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"/>
  355. <text text-anchor="start" x="1208" y="-303.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  356. <text text-anchor="start" x="1276" y="-303.8" font-family="monospace" font-weight="bold" font-size="14.00">CCreature</text>
  357. <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"/>
  358. <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>
  359. <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"/>
  360. </g>
  361. <!-- Unit in Army -->
  362. <g id="node19" class="node">
  363. <title>Unit in Army</title>
  364. <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"/>
  365. <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"/>
  366. <text text-anchor="start" x="1210" y="-210.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Unit in Army</text>
  367. <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"/>
  368. <text text-anchor="start" x="1164.5" y="-187.3" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  369. <text text-anchor="start" x="1232.5" y="-187.3" font-family="monospace" font-weight="bold" font-size="14.00">CStackInstance</text>
  370. <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"/>
  371. <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>
  372. <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>
  373. <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>
  374. <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"/>
  375. </g>
  376. <!-- Creature Type&#45;&gt;Unit in Army -->
  377. <g id="edge18" class="edge">
  378. <title>Creature Type&#45;&gt;Unit in Army</title>
  379. <path fill="none" stroke="black" d="M1273.15,-270.27C1271.32,-259.96 1269.27,-248.42 1267.25,-237.05"/>
  380. <polygon fill="black" stroke="black" points="1270.69,-236.37 1265.49,-227.14 1263.8,-237.6 1270.69,-236.37"/>
  381. </g>
  382. <!-- Summon in Combat -->
  383. <g id="node21" class="node">
  384. <title>Summon in Combat</title>
  385. <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"/>
  386. <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"/>
  387. <text text-anchor="start" x="846" y="-203.3" font-family="Noto Serif" font-weight="bold" font-size="14.00">Summon in Combat</text>
  388. <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"/>
  389. <text text-anchor="start" x="856" y="-180.3" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  390. <text text-anchor="start" x="924" y="-180.3" font-family="monospace" font-weight="bold" font-size="14.00">CStack</text>
  391. <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"/>
  392. <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>
  393. <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>
  394. <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"/>
  395. </g>
  396. <!-- Creature Type&#45;&gt;Summon in Combat -->
  397. <g id="edge17" class="edge">
  398. <title>Creature Type&#45;&gt;Summon in Combat</title>
  399. <path fill="none" stroke="black" d="M1179.28,-270.44C1137.99,-255.79 1089.59,-238.62 1045.55,-223"/>
  400. <polygon fill="black" stroke="black" points="1046.53,-219.63 1035.93,-219.58 1044.18,-226.23 1046.53,-219.63"/>
  401. </g>
  402. <!-- Artifact Type -->
  403. <g id="node16" class="node">
  404. <title>Artifact Type</title>
  405. <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"/>
  406. <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"/>
  407. <text text-anchor="start" x="724.5" y="-875.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Artifact Type</text>
  408. <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"/>
  409. <text text-anchor="start" x="701" y="-852.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  410. <text text-anchor="start" x="769" y="-852.8" font-family="monospace" font-weight="bold" font-size="14.00">CArtifact</text>
  411. <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"/>
  412. <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>
  413. <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"/>
  414. </g>
  415. <!-- Artifact Type&#45;&gt;Artifact Instance -->
  416. <g id="edge14" class="edge">
  417. <title>Artifact Type&#45;&gt;Artifact Instance</title>
  418. <path fill="none" stroke="black" d="M761.01,-819.25C754.91,-800.25 747.28,-776.52 740.51,-755.43"/>
  419. <polygon fill="black" stroke="black" points="743.75,-754.08 737.36,-745.63 737.09,-756.23 743.75,-754.08"/>
  420. </g>
  421. <!-- Artifact Component -->
  422. <g id="node17" class="node">
  423. <title>Artifact Component</title>
  424. <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"/>
  425. <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"/>
  426. <text text-anchor="start" x="259.5" y="-883.8" font-family="Noto Serif" font-weight="bold" font-size="14.00">Artifact Component</text>
  427. <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"/>
  428. <text text-anchor="start" x="259" y="-860.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  429. <text text-anchor="start" x="327" y="-860.8" font-family="monospace" font-weight="bold" font-size="14.00">CArtifact</text>
  430. <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"/>
  431. <text text-anchor="start" x="215" y="-836.8" font-family="Noto Serif" font-size="14.00">For combined, non&#45;fused artifacts,</text>
  432. <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>
  433. <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"/>
  434. </g>
  435. <!-- Artifact Component&#45;&gt;Artifact Instance -->
  436. <g id="edge15" class="edge">
  437. <title>Artifact Component&#45;&gt;Artifact Instance</title>
  438. <path fill="none" stroke="black" d="M441.54,-811.91C491.86,-792.38 551.47,-769.25 602.89,-749.3"/>
  439. <polygon fill="black" stroke="black" points="604.34,-752.5 612.39,-745.61 601.8,-745.97 604.34,-752.5"/>
  440. </g>
  441. <!-- Army&#45;&gt;Unit in Army -->
  442. <g id="edge11" class="edge">
  443. <title>Army&#45;&gt;Unit in Army</title>
  444. <path fill="none" stroke="black" d="M998.1,-262.97C1033.53,-251.11 1072.25,-238.15 1108.68,-225.96"/>
  445. <polygon fill="black" stroke="black" points="1110.01,-229.21 1118.39,-222.72 1107.79,-222.57 1110.01,-229.21"/>
  446. </g>
  447. <!-- Army&#45;&gt;Summon in Combat -->
  448. <g id="edge12" class="edge">
  449. <title>Army&#45;&gt;Summon in Combat</title>
  450. <path fill="none" stroke="black" d="M884.48,-262.88C888.2,-252.18 892.23,-240.59 896.09,-229.48"/>
  451. <polygon fill="black" stroke="black" points="899.45,-230.47 899.43,-219.87 892.84,-228.17 899.45,-230.47"/>
  452. </g>
  453. <!-- Unit in Combat -->
  454. <g id="node20" class="node">
  455. <title>Unit in Combat</title>
  456. <polygon fill="#602000" fill-opacity="0.501961" stroke="transparent" points="1428,-88 1085,-88 1085,0 1428,0 1428,-88"/>
  457. <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"/>
  458. <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>
  459. <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"/>
  460. <text text-anchor="start" x="1198" y="-48.8" font-family="Noto Serif" font-size="14.00">C++ Class: </text>
  461. <text text-anchor="start" x="1266" y="-48.8" font-family="monospace" font-weight="bold" font-size="14.00">CStack</text>
  462. <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"/>
  463. <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>
  464. <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>
  465. <polygon fill="none" stroke="#000000" stroke-opacity="0.501961" points="1085,0 1085,-88 1428,-88 1428,0 1085,0"/>
  466. </g>
  467. <!-- Unit in Army&#45;&gt;Unit in Combat -->
  468. <g id="edge13" class="edge">
  469. <title>Unit in Army&#45;&gt;Unit in Combat</title>
  470. <path fill="none" stroke="black" d="M1256.5,-123.69C1256.5,-115.33 1256.5,-106.64 1256.5,-98.22"/>
  471. <polygon fill="black" stroke="black" points="1260,-98.12 1256.5,-88.12 1253,-98.12 1260,-98.12"/>
  472. </g>
  473. </g>
  474. </svg>