forked from AluminumAngel/gloom
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathGloomIA_Flowchart.drawio
137 lines (137 loc) · 21 KB
/
GloomIA_Flowchart.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
<mxfile host="app.diagrams.net" modified="2023-07-01T08:32:50.808Z" agent="Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:109.0) Gecko/20100101 Firefox/114.0" etag="-A_1yhKvUYDb7YQ8lDNJ" version="21.5.2" type="device">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="1434" dy="795" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="6H1x6LzymzNOAmOgsFud-10" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="WIyWlLk6GJQsqaUBKTNV-3" target="WIyWlLk6GJQsqaUBKTNV-6" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-3" value="Start" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;fillColor=#fa6800;fontColor=#000000;strokeColor=#C73500;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="147.14" y="280" width="110" height="40" as="geometry" />
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-4" value="No" style="rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;edgeStyle=orthogonalEdgeStyle;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="WIyWlLk6GJQsqaUBKTNV-6" target="HYlRVXP8fHBSpNL6v8k7-2" edge="1">
<mxGeometry x="0.0105" y="20" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-5" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="WIyWlLk6GJQsqaUBKTNV-6" target="WIyWlLk6GJQsqaUBKTNV-7" edge="1">
<mxGeometry y="10" relative="1" as="geometry">
<mxPoint as="offset" />
<mxPoint x="479" y="398" as="targetPoint" />
<Array as="points">
<mxPoint x="470" y="400" />
<mxPoint x="470" y="400" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-6" value="<div>Is the monster stunned or</div><div><div>given infinite movement, isn't there any accessible hex <br></div><div>where the monster can attack</div></div>" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="20" y="340" width="352.14" height="120" as="geometry" />
</mxCell>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-7" value="<font color="#ff8000">Monster does not move</font>" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;strokeColor=#ff8000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="521.97" y="380" width="180.05" height="40" as="geometry" />
</mxCell>
<mxCell id="6H1x6LzymzNOAmOgsFud-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="HYlRVXP8fHBSpNL6v8k7-2" target="HYlRVXP8fHBSpNL6v8k7-4" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HYlRVXP8fHBSpNL6v8k7-2" value="<div><b>FIND FOCUS</b><br></div><div><br></div><div>Of all characters the monster can attack, choose the one that : <br></div><div align="left"><ul><li>can be attacked with the fewest of trap hit, then</li><li>can be attacked with the fewest of hex travelled, then</li><li>is closest to the attacker<font size="1"><sup style="font-size: 13px;">f,g</sup></font>, then</li><li>who the lowest initiative</li></ul></div><div>In the event of a tie, the player chooses<br></div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="13.32" y="480" width="377.63" height="150" as="geometry" />
</mxCell>
<mxCell id="6H1x6LzymzNOAmOgsFud-2" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="HYlRVXP8fHBSpNL6v8k7-4" target="HYlRVXP8fHBSpNL6v8k7-6" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="612" y="623" />
<mxPoint x="612" y="640" />
<mxPoint x="202" y="640" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="HYlRVXP8fHBSpNL6v8k7-4" value="<div><b>OPTIMIZE LOCATION TO ATTACK FOCUS</b><br></div><div><br></div><div>Of all the hexagons where the monster can attack the focus, choose the one that :</div><div align="left"><ul><li>can be reached with fewest trap hit, then</li><li>can be reached this turn if possible, then</li><li>who doesn't put the monster at disadvantage, if possible<sup><font style="font-size: 13px;">j,g</font></sup></li></ul></div>" style="rounded=1;whiteSpace=wrap;html=1;fontSize=12;glass=0;strokeWidth=1;shadow=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="426.5" y="480" width="383.5" height="150" as="geometry" />
</mxCell>
<mxCell id="HYlRVXP8fHBSpNL6v8k7-6" value="<div>Single target attack <br></div><div style="font-size: 13px;">or (cannot reach the hex to attack focus)<sup><font style="font-size: 13px;">f</font></sup> ?</div>" style="rhombus;whiteSpace=wrap;html=1;shadow=0;fontFamily=Helvetica;fontSize=12;align=center;strokeWidth=1;spacing=6;spacingTop=-4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="32.14" y="660" width="340" height="120" as="geometry" />
</mxCell>
<mxCell id="6H1x6LzymzNOAmOgsFud-6" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="HYlRVXP8fHBSpNL6v8k7-8" target="HYlRVXP8fHBSpNL6v8k7-17" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="737" y="710" />
<mxPoint x="810" y="710" />
<mxPoint x="810" y="1041" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="HYlRVXP8fHBSpNL6v8k7-8" value="<div>From remaining hexagons, take the one that</div><div>require the fewest hex travelled</div><div><br></div><div><div align="center">In the event of a tie, the player chooses<br></div></div>" style="whiteSpace=wrap;html=1;shadow=0;strokeWidth=1;spacing=6;spacingTop=-4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="487" y="685" width="250" height="70" as="geometry" />
</mxCell>
<mxCell id="6H1x6LzymzNOAmOgsFud-11" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="HYlRVXP8fHBSpNL6v8k7-11" target="HYlRVXP8fHBSpNL6v8k7-14" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HYlRVXP8fHBSpNL6v8k7-11" value="<div><b>FIND BEST GROUP</b><br></div><div><br></div><div>Of all the character combinations that can be attacked from the above&nbsp;<span data-darkreader-inline-bgcolor="" style="background-color: initial; --darkreader-inline-bgcolor: initial;">location and contain focus, choose the one that:</span></div><div align="left"><ul><li>maximize the number of character hit, then</li><li>require the least of distance to attack, then</li><li>contain the highest rank of characters<sup><font style="font-size: 13px;">j,g</font></sup> : rank is determined by proximity to attacker<sup><font style="font-size: 13px;">g</font></sup> and initiative</li></ul></div>" style="whiteSpace=wrap;html=1;shadow=0;strokeWidth=1;spacing=6;spacingTop=-4;rounded=1" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="13.06" y="803" width="377" height="157" as="geometry" />
</mxCell>
<mxCell id="nwu6KK1hAaGZpG1vDYlY-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="HYlRVXP8fHBSpNL6v8k7-14" target="HYlRVXP8fHBSpNL6v8k7-17" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HYlRVXP8fHBSpNL6v8k7-14" value="<div><br></div><div><b>OPTIMIZE LOCATION TO ATTACK BEST GROUP</b><br></div><div><br></div><div><div>Of all the hexagons where the monster can attack the group, choose&nbsp;<span style="background-color: initial;">the one that :</span></div></div><div align="left"><ul><li>minimize the number of target at disadvantage, then</li><li>minimize the number of tile travelled</li></ul></div><blockquote><div align="left"><br></div><div align="center">In the event of a tie, the player chooses<br></div></blockquote>" style="whiteSpace=wrap;html=1;shadow=0;strokeWidth=1;spacing=6;spacingTop=-4;rounded=1" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="426.5" y="803" width="371" height="157" as="geometry" />
</mxCell>
<mxCell id="CAe6eDNZriENMiDo3nfh-1" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="HYlRVXP8fHBSpNL6v8k7-17" target="HYlRVXP8fHBSpNL6v8k7-24" edge="1">
<mxGeometry relative="1" as="geometry">
<Array as="points">
<mxPoint x="430" y="1041" />
<mxPoint x="430" y="1041" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="CAe6eDNZriENMiDo3nfh-2" value="No" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="CAe6eDNZriENMiDo3nfh-1" vertex="1" connectable="0">
<mxGeometry x="0.3583" y="2" relative="1" as="geometry">
<mxPoint x="20" y="8" as="offset" />
</mxGeometry>
</mxCell>
<mxCell id="HYlRVXP8fHBSpNL6v8k7-17" value="<div>Can the monster reach the</div><div>&nbsp;destination this turn ?</div>" style="rhombus;whiteSpace=wrap;html=1;shadow=0;strokeWidth=1;spacing=6;spacingTop=-4;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="439.88" y="985.66" width="338.75" height="111.12" as="geometry" />
</mxCell>
<mxCell id="HYlRVXP8fHBSpNL6v8k7-21" value="<font color="#ff8000">Monster move to this destination</font>" style="strokeWidth=2;html=1;shape=mxgraph.flowchart.terminator;whiteSpace=wrap;strokeColor=#ff8000;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="519.26" y="1116" width="180.05" height="40" as="geometry" />
</mxCell>
<mxCell id="6H1x6LzymzNOAmOgsFud-12" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="HYlRVXP8fHBSpNL6v8k7-24" target="HYlRVXP8fHBSpNL6v8k7-21" edge="1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="HYlRVXP8fHBSpNL6v8k7-24" value="<b>GET CLOSER</b><div>Of all the hexagons that the monster can reach and stop at, <br></div><div>choose the one that :</div><div align="left"><ul><li>create a path that minimize the number of trap triggered, then</li><li>minimize the distance to destination, then</li><li>minimize the distance traveleld this turn</li></ul></div><div>In the event of a tie, the player chooses<br></div>" style="whiteSpace=wrap;html=1;shadow=0;strokeWidth=1;spacing=6;spacingTop=-4;rounded=1" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="13.06" y="972.44" width="377.63" height="137.56" as="geometry" />
</mxCell>
<mxCell id="6H1x6LzymzNOAmOgsFud-4" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="HYlRVXP8fHBSpNL6v8k7-6" target="HYlRVXP8fHBSpNL6v8k7-8" edge="1">
<mxGeometry y="10" relative="1" as="geometry">
<mxPoint as="offset" />
<mxPoint x="519" y="393" as="targetPoint" />
<mxPoint x="389" y="393" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="6H1x6LzymzNOAmOgsFud-7" value="Yes" style="edgeStyle=orthogonalEdgeStyle;rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="HYlRVXP8fHBSpNL6v8k7-17" target="HYlRVXP8fHBSpNL6v8k7-21" edge="1">
<mxGeometry x="-0.3331" y="23" relative="1" as="geometry">
<mxPoint as="offset" />
<mxPoint x="552" y="715" as="targetPoint" />
<mxPoint x="389" y="715" as="sourcePoint" />
</mxGeometry>
</mxCell>
<mxCell id="6H1x6LzymzNOAmOgsFud-17" value="No" style="rounded=0;html=1;jettySize=auto;orthogonalLoop=1;fontSize=11;endArrow=block;endFill=0;endSize=8;strokeWidth=1;shadow=0;labelBackgroundColor=none;edgeStyle=orthogonalEdgeStyle;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="HYlRVXP8fHBSpNL6v8k7-6" target="HYlRVXP8fHBSpNL6v8k7-11" edge="1">
<mxGeometry x="0.0105" y="20" relative="1" as="geometry">
<mxPoint as="offset" />
<mxPoint x="201.28" y="773" as="sourcePoint" />
<mxPoint x="201.28" y="803" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="6H1x6LzymzNOAmOgsFud-19" value="<font style="font-size: 12px;"><br></font><div><font style="font-size: 12px;"><b>NAVIGATION</b></font></div><div align="left"><ul><li><font style="font-size: 12px;">Monster consider character as obstacle for movement,</font></li><li><font style="font-size: 12px;">Monster consider hazardous terrain as trap</font></li><li><font style="font-size: 12px;">When moving towards an hex, the monster always chooses the path with the fewest traps, then the shortest possible route.</font></li></ul></div><div><font style="font-size: 12px;"><b>Moving through</b></font><div><div align="left"><ul><li><font style="font-size: 12px;">Jumping and flying allow to move through obstacle</font></li><li><font style="font-size: 12px;">Teleporting allow to move through obstacle and wall line</font></li><li><font style="font-size: 12px;">Jumping, flying or teleporting allow to ignore trap</font></li><li><font style="font-size: 12px;">Movement cost 2 when entering difficult terrain and not jumping,&nbsp; not flying, not teleporting and not sliding</font></li><li><font style="font-size: 12px;">When entering icy hex, monster slide; it travel in a straight path at&nbsp; no cost until it leaves an icy hex, an ally or an obstacle</font></li><li><font style="font-size: 12px;">Flying, jumping and teleporting ignore ice</font></li></ul></div><div><div align="center"><font style="font-size: 12px;"><b>Stopping on</b></font></div><div align="left"><ul><li><font style="font-size: 12px;">Jumping and teleporting monster trigger trap</font></li><li><font style="font-size: 12px;">Flying allow to stop on obstacle but not on a character nor a monster<br></font></li><li style=""><font style="font-size: 12px;">Jumping and stopping on difficult terrain cost 2</font><font size="1"><sup style="font-size: 13px;">g</sup></font></li></ul></div></div></div></div>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#008000;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="420" y="10" width="400" height="360" as="geometry" />
</mxCell>
<mxCell id="6H1x6LzymzNOAmOgsFud-20" value="<div><font style="font-size: 12px;"><b>ATTACKING</b></font></div><div align="left"><ul><li><div><font style="font-size: 12px;">Monster will avoid disadvantage if not muddled</font></div></li><li><div><font style="font-size: 12px;">A monster that moves without attacking will move as if it had a single-target melee attack</font></div></li><li><div><font style="font-size: 12px;">LOS is between the corners of hexagons</font><font size="1"><sup style="font-size: 13px;">g</sup></font><font style="font-size: 12px;"> or between any point of the hexagons</font><font size="1"><sup style="font-size: 13px;">j,f</sup></font></div></li><li><font style="font-size: 12px;">Additional targets are attacked with a single-target attack</font></li><li><font style="font-size: 12px;">A single-target attack can occur between a location and a character if the monster can end its move at that location &amp; the location has LOS with the character &amp; the distance between the character and the location is less than the monster's range.</font></li><li><font style="font-size: 12px;">An aoe pattern can be applied if the monster has the range and&nbsp; &nbsp; LOS to any hex of the pattern that is neither an obstacle nor a wall</font></li><li><font style="font-size: 12px;">Once the pattern has been applied, the monster can hit any character for which it has LOS</font></li><li><font style="font-size: 12px;">LOS is only blocked by wall line</font></li></ul></div>" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;strokeColor=#ff0000;strokeWidth=3;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="10" y="10" width="410" height="270" as="geometry" />
</mxCell>
<mxCell id="6H1x6LzymzNOAmOgsFud-25" value="f, g, j : only in Frosthaven, Gloomhaven or JOTL " style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="13.32" y="1130" width="316.68" height="30" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>