-
Notifications
You must be signed in to change notification settings - Fork 0
/
Character.drawio
202 lines (202 loc) · 20.2 KB
/
Character.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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
<mxfile host="app.diagrams.net" modified="2020-04-06T20:04:50.837Z" agent="5.0 (Windows)" etag="AoAOMj-EbcMLdWSBYgKk" version="12.9.5" type="github">
<diagram id="O-SDE2Yfm0KPrJIjMzby" name="Page-1">
<mxGraphModel dx="1888" dy="575" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="90OuRyl2dIqMDhaCZAeL-1" value="Experience Controller" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="80" y="180" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="90OuRyl2dIqMDhaCZAeL-2" value="Character Controller" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="210" y="180" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="90OuRyl2dIqMDhaCZAeL-3" value="countExperience()" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="80" y="240" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="90OuRyl2dIqMDhaCZAeL-5" value="saveExperience()" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="210" y="240" width="120" height="30" as="geometry" />
</mxCell>
<mxCell id="90OuRyl2dIqMDhaCZAeL-6" value="<b>long experience;<br>int level;</b><br>int strength;<br>int agility;<br>int intellect;<br>int maxHp;<br>int maxMp;<br><br>int evasionChancePercent;<br>int criticalChancePercent;<br><br>List&lt;Skill&gt; skills;" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="630" y="90" width="160" height="180" as="geometry" />
</mxCell>
<mxCell id="90OuRyl2dIqMDhaCZAeL-7" value="Character" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="675" y="69" width="70" height="20" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-1" value="&nbsp;Inventory Controller" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="340" y="180" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-2" value="getInventory()<br>updateInventory()<br>addInventory()" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="340" y="240" width="120" height="100" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-3" value="int capacity;<br>List&lt;Item&gt; items;<br>String charId;" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="630" y="291" width="160" height="59" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-4" value="Inventory" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="675" y="270" width="70" height="20" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-7" value="Enum rarity();<br>List&lt;Bonus&gt; bonuses;<br><br>int reqLvl;<br>int reqStr;<br>int reqAgl;<br>int reqInt;<br><br>Collection collection;" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="630" y="381" width="160" height="149" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-8" value="Item" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="690" y="360" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-9" value="Enum armorType();<br>int defence;<br>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="780" y="611" width="160" height="49" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-10" value="Armor" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="835" y="590" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-11" value="Enum weaponType();<br>int dmg;" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="950" y="611" width="160" height="49" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-12" value="Weapon" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="1000" y="590" width="60" height="20" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-13" value="HELM, <br>ARMOR, LEG_PROTECTION,<br>ARM_PROTECTION,<br>SHOES,<br>CLOAK,<br>GLOVES<br>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="630" y="611" width="130" height="109" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-14" value="Armor types (ENUM)" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="630" y="590" width="130" height="20" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-17" value="SWORD,<br>KNIFE,<br>AXE,<br>STAFF,<br>MACE,<br>BOW,&nbsp;<br>CROSSBOW" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="1130" y="611" width="130" height="119" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-18" value="Weapon types (ENUM)" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="1125" y="590" width="140" height="20" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-19" value="String collectionName;<br>List&lt;Bonus&gt; collectionBonuses;<br>List&lt;Item&gt; items;" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="1210" y="381" width="190" height="59" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-20" value="Collection" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="1270" y="360" width="70" height="20" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-21" value="GRAY,<br>GREEN,<br>BLUE,<br>SILVER,<br>GOLD,<br>PURPLE,<br>RED,<br>MYTHICAL,<br>LEGEND,<br>GODDLY" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="820" y="381" width="160" height="159" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-22" value="Rarity (ENUM)" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="855" y="360" width="90" height="20" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-23" value="String bonusName;<br>Rarity bonusRarity;<br>int dmgBoost;<br>int critChanceBoost;<br>int critDamageBoost;<br>int luckBoost;<br>int skill boost;&nbsp;" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="1000" y="381" width="190" height="119" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-24" value="Bonus" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="1070" y="360" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-25" value="String skillName;<br>String description;<br>List&lt;Bonus&gt; bonuses;" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="820" y="90" width="160" height="60" as="geometry" />
</mxCell>
<mxCell id="q5utwOKQCEjzr64VIf5K-26" value="Skill" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="880" y="69" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-1" value="&nbsp;Profession Controller" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-820" y="155" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-2" value="getProfession()<br>updateProfession()<br>addProfession()" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-820" y="215" width="120" height="100" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-3" value="Enum rarity();<br><div>String name; <br></div><div>Integer experience;</div><div>Integer level;</div><div>List&lt;Skill&gt; skills;<br></div>List&lt;Quest&gt; quests;&nbsp;" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="-830" y="356" width="160" height="109" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-4" value="Profession" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="-785" y="335" width="70" height="20" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-8" value="<font style="font-size: 55px">Story Service</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="-475" y="39" width="340" height="30" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-9" value="" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="30" y="20" width="10" height="860" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-10" value="<font style="font-size: 55px">Character Service</font>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="100" y="39" width="460" height="30" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-11" value="Shop Controller" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="80" y="460" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-12" value="addShop();<br>findShop();<br>getShop();<br>deleteShop();" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="80" y="520" width="120" height="80" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-13" value="List&lt;ShopItem&gt; items;<br><br>String name;<br>String location;<br>Enum shopType;" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="280" y="461" width="160" height="89" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-14" value="Shop" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="340" y="440" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-15" value="WEAPON,<br>ARMOR,<br>MAGIC,&nbsp;<br>ALCHEMY,<br>PET,<br>SKIN" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="280" y="612" width="130" height="109" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-16" value="ShopType (ENUM)" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="285" y="591" width="120" height="20" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-19" value="int buyPrice;<br>int sellPrice;<br>int quantity;" style="rounded=0;whiteSpace=wrap;html=1;align=left;" parent="1" vertex="1">
<mxGeometry x="460" y="461" width="160" height="64" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-20" value="ShopItem" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" parent="1" vertex="1">
<mxGeometry x="505" y="440" width="70" height="20" as="geometry" />
</mxCell>
<mxCell id="6CGBruiivTMrT4uVMw9e-21" value="" style="endArrow=diamond;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0.001;entryY=0.147;entryDx=0;entryDy=0;entryPerimeter=0;endFill=0;" parent="1" source="6CGBruiivTMrT4uVMw9e-19" target="q5utwOKQCEjzr64VIf5K-7" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="420" y="530" as="sourcePoint" />
<mxPoint x="470" y="480" as="targetPoint" />
<Array as="points">
<mxPoint x="580" y="403" />
</Array>
</mxGeometry>
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-1" value="<div>String name; <br></div><div>List&lt;StoryDay&gt; storyDays;</div><div> <br></div>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
<mxGeometry x="-240" y="141" width="160" height="109" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-2" value="Story" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" vertex="1" parent="1">
<mxGeometry x="-180" y="120" width="40" height="20" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-5" value="<div>String name; <br></div><div>String description;</div><div>Character character;<br></div><div>List&lt;Quest&gt; availableQuests;</div><div>List&lt;Quest&gt; currentQuests;</div><div>String storyNode;</div><div>List&lt;StoryDay&gt; parentStoryDays;</div><div>List&lt;StoryDay&gt; childStoryDays;</div><div><br></div><div><br></div>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
<mxGeometry x="-240" y="311" width="200" height="154" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-6" value="StoryDay" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" vertex="1" parent="1">
<mxGeometry x="-190" y="290" width="60" height="20" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-7" value="&nbsp;Story Controller" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-665" y="155" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-8" value="getStory()<br>updateStory()<br><div>CreateStory()</div><div>DeleteStory()<br></div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-665" y="215" width="120" height="100" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-9" value="&nbsp;StoryDay Controller" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-520" y="155" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-10" value="<div>createStory()</div><div>getStoryDayById()</div>updateStoryDay()<br><div>getAllStorieDays()</div><div>DeleteStoryDay()<br></div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-520" y="215" width="120" height="100" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-11" value="&nbsp;Shop Controller" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="180" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-12" value="getShop()<br>updateShop()<br>addShop()" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="480" y="240" width="120" height="100" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-13" value="&nbsp;Location Controller" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-390" y="155" width="120" height="60" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-14" value="<div>createStory()</div><div>getStoryDayById()</div>updateStoryDay()<br><div>getAllStorieDays()</div><div>DeleteStoryDay()<br></div>" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="-390" y="215" width="120" height="100" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-15" value="<div>String name;</div><div>String description;</div><div>List&lt;Shop&gt; shops;</div><div>List&lt;Quest&gt; quests;</div><div>List&lt;Event&gt; event;<br></div>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
<mxGeometry x="-430" y="356.5" width="160" height="109" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-16" value="Location" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" vertex="1" parent="1">
<mxGeometry x="-380" y="335.5" width="60" height="20" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-17" value="<div>String name; <br></div><div>String description;</div><div>GameCharacter assigner;</div><div>QuestRequirements requirements;<br></div><div>QuestReward reward;</div><div>List&lt;StoryDay&gt; days; <br></div><div><br></div><div><br></div><div><br></div><div><br></div>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
<mxGeometry x="-460" y="521" width="200" height="154" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-18" value="Quest" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" vertex="1" parent="1">
<mxGeometry x="-390" y="500" width="50" height="20" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-19" value="<div>String name; <br></div><div>String description;</div><div>GameCharacter assigner;</div><div>QuestRequirements requirements;<br></div><div>QuestReward reward;</div><div>List&lt;StoryDay&gt; days; <br></div><div><br></div><div><br></div><div><br></div><div><br></div>" style="rounded=0;whiteSpace=wrap;html=1;align=left;" vertex="1" parent="1">
<mxGeometry x="-460" y="711" width="200" height="154" as="geometry" />
</mxCell>
<mxCell id="YS-HC_lw_nhmeFUCJO6V-20" value="GameCharacter" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;" vertex="1" parent="1">
<mxGeometry x="-410" y="690" width="100" height="20" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>