40-inventory.otui

main 334 lines · 7.6 KB Raw
Alex Alex Commit Client Upload Part 1 19/10/2026 00:04
1InventoryItem < Item
2 $on:
3 image-source: /images/ui/item-blessed
4
5HeadSlot < InventoryItem
6 id: slot1
7 image-source: /images/game/slots/head
8 &position: {x=65535, y=1, z=0}
9 $on:
10 image-source: /images/game/slots/head-blessed
11
12BodySlot < InventoryItem
13 id: slot4
14 image-source: /images/game/slots/body
15 &position: {x=65535, y=4, z=0}
16 $on:
17 image-source: /images/game/slots/body-blessed
18
19LegSlot < InventoryItem
20 id: slot7
21 image-source: /images/game/slots/legs
22 &position: {x=65535, y=7, z=0}
23 $on:
24 image-source: /images/game/slots/legs-blessed
25
26FeetSlot < InventoryItem
27 id: slot8
28 image-source: /images/game/slots/feet
29 &position: {x=65535, y=8, z=0}
30 $on:
31 image-source: /images/game/slots/feet-blessed
32
33NeckSlot < InventoryItem
34 id: slot2
35 image-source: /images/game/slots/neck
36 &position: {x=65535, y=2, z=0}
37 $on:
38 image-source: /images/game/slots/neck-blessed
39
40LeftSlot < InventoryItem
41 id: slot6
42 image-source: /images/game/slots/left-hand
43 &position: {x=65535, y=6, z=0}
44 $on:
45 image-source: /images/game/slots/left-hand-blessed
46
47FingerSlot < InventoryItem
48 id: slot9
49 image-source: /images/game/slots/finger
50 &position: {x=65535, y=9, z=0}
51 $on:
52 image-source: /images/game/slots/finger-blessed
53
54BackSlot < InventoryItem
55 id: slot3
56 image-source: /images/game/slots/back
57 &position: {x=65535, y=3, z=0}
58 $on:
59 image-source: /images/game/slots/back-blessed
60
61RightSlot < InventoryItem
62 id: slot5
63 image-source: /images/game/slots/right-hand
64 &position: {x=65535, y=5, z=0}
65 $on:
66 image-source: /images/game/slots/right-hand-blessed
67
68AmmoSlot < InventoryItem
69 id: slot10
70 image-source: /images/game/slots/ammo
71 &position: {x=65535, y=10, z=0}
72 $on:
73 image-source: /images/game/slots/ammo-blessed
74
75PurseButton < UIButton
76 id: purseButton
77 size: 34 12
78 !tooltip: tr('Open purse')
79 icon-source: /images/game/slots/purse
80 icon-clip: 0 0 34 12
81
82 $on:
83 icon-clip: 0 12 34 12
84
85 $pressed:
86 icon-clip: 0 12 34 12
87
88CombatBox < UICheckBox
89 size: 20 20
90 image-clip: 0 0 20 20
91 margin-left: 4
92
93 $checked:
94 image-clip: 0 20 20 20
95
96
97InventoryButton < Button
98 height: 18
99 margin-top: 2
100 text-align: center
101 font: cipsoftFont
102 color: white
103 size: 45 18
104 text-offset: 2 2
105
106SoulCapLabel < GameLabel
107 text-align: center
108 color: #FFFFFF
109 font: cipsoftFont
110 margin-top: 4
111 text-offset: 0 3
112 width: 36
113 height: 20
114 icon-source: /images/game/slots/soulcap
115
116FightOffensiveBox < CombatBox
117 image-source: /images/game/combatmodes/fightoffensive
118FightBalancedBox < CombatBox
119 image-source: /images/game/combatmodes/fightbalanced
120FightDefensiveBox < CombatBox
121 image-source: /images/game/combatmodes/fightdefensive
122ChaseModeBox < CombatBox
123 image-source: /images/game/combatmodes/chasemode
124SafeFightBox < CombatBox
125 image-source: /images/game/combatmodes/safefight
126
127MountButton < CombatBox
128 image-source: /images/game/combatmodes/mount
129
130InventoryWindow < HeadlessMiniWindow
131 icon: /images/topbuttons/inventory
132 height: 178
133 id: inventoryWindow
134 @onClose: modules.game_inventory.onMiniWindowClose()
135 &save: true
136 &autoOpen: 3
137 &forceOpen: true
138
139 MiniWindowContents
140 anchors.left: parent.left
141 margin-top: 0
142
143 UIButton
144 id: minimizeButton
145 anchors.top: parent.top
146 anchors.left: parent.left
147 size: 14 14
148 image-source: /images/ui/miniwindow_buttons
149 image-clip: 0 0 14 14
150 margin-top: 3
151 margin-left: 4
152
153 $hover:
154 image-clip: 0 14 14 14
155
156 $pressed:
157 image-clip: 0 28 14 14
158
159 $on:
160 image-clip: 14 0 14 14
161
162 $on hover:
163 image-clip: 14 14 14 14
164
165 $on pressed:
166 image-clip: 14 28 14 14
167
168 @onClick: |
169 self:getParent():getParent().minimizeButton:onClick()
170
171 Panel
172 id: inventoryPanel
173 margin-right: 63
174 margin-top: 2
175 anchors.fill: parent
176
177 HeadSlot
178 anchors.top: parent.top
179 anchors.horizontalCenter: parent.horizontalCenter
180 margin-top: 3
181
182 BodySlot
183 anchors.top: prev.bottom
184 anchors.horizontalCenter: prev.horizontalCenter
185 margin-top: 3
186
187 LegSlot
188 anchors.top: prev.bottom
189 anchors.horizontalCenter: prev.horizontalCenter
190 margin-top: 3
191
192 FeetSlot
193 anchors.top: prev.bottom
194 anchors.horizontalCenter: prev.horizontalCenter
195 margin-top: 3
196
197 NeckSlot
198 anchors.top: slot1.top
199 anchors.right: slot1.left
200 margin-top: 13
201 margin-right: 5
202
203 LeftSlot
204 anchors.top: prev.bottom
205 anchors.horizontalCenter: prev.horizontalCenter
206 margin-top: 3
207
208 FingerSlot
209 anchors.top: prev.bottom
210 anchors.horizontalCenter: prev.horizontalCenter
211 margin-top: 3
212
213 BackSlot
214 anchors.top: slot1.top
215 anchors.left: slot1.right
216 margin-top: 13
217 margin-left: 5
218
219 RightSlot
220 anchors.top: prev.bottom
221 anchors.horizontalCenter: prev.horizontalCenter
222 margin-top: 3
223
224 AmmoSlot
225 anchors.top: prev.bottom
226 anchors.horizontalCenter: prev.horizontalCenter
227 margin-top: 3
228
229 SoulCapLabel
230 id: soulLabel
231 anchors.top: slot10.bottom
232 anchors.horizontalCenter: slot10.horizontalCenter
233
234 SoulCapLabel
235 id: capLabel
236 anchors.top: slot9.bottom
237 anchors.horizontalCenter: slot9.horizontalCenter
238
239 PurseButton
240 anchors.left: slot3.left
241 anchors.bottom: slot3.top
242 margin-bottom: 3
243
244 Panel
245 id: conditionPanel
246 layout:
247 type: horizontalBox
248 height: 22
249 padding: 2
250 anchors.top: slot8.bottom
251 anchors.left: slot6.left
252 anchors.right: slot5.right
253 margin-top: 4
254 border-width: 1
255 border-color: #00000077
256 background-color: #ffffff22
257
258 Panel
259 margin-top: 5
260 anchors.fill: parent
261 anchors.left: prev.right
262
263 FightOffensiveBox
264 id: fightOffensiveBox
265 anchors.left: parent.left
266 anchors.top: parent.top
267 margin-left: 8
268
269 ChaseModeBox
270 id: chaseModeBox
271 anchors.left: prev.right
272 anchors.top: parent.top
273
274 FightBalancedBox
275 id: fightBalancedBox
276 margin-top: 22
277 anchors.left: parent.left
278 anchors.top: parent.top
279 margin-left: 8
280
281 SafeFightBox
282 id: safeFightBox
283 margin-top: 22
284 anchors.left: prev.right
285 anchors.top: parent.top
286
287 FightDefensiveBox
288 id: fightDefensiveBox
289 margin-top: 44
290 anchors.left: parent.left
291 anchors.top: parent.top
292 margin-left: 8
293
294 MountButton
295 id: mountButton
296 margin-top: 44
297 anchors.left: prev.right
298 anchors.top: parent.top
299
300 Panel
301 id: buttonsPanel
302 margin-top: 4
303 margin-right: 5
304 anchors.fill: parent
305 anchors.top: prev.bottom
306 layout:
307 type: verticalBox
308
309 UIButton
310 id: buttonPvp
311 height: 20
312 icon: /images/game/combatmodes/pvp
313 icon-clip: 0 0 42 20
314
315 $on:
316 icon-clip: 0 20 42 20
317
318 InventoryButton
319 !text: tr('Stop')
320 @onClick: g_game.stop(); g_game.cancelAttackAndFollow()
321
322 InventoryButton
323 !text: tr('Options')
324 @onClick: modules.client_options.toggle()
325
326 InventoryButton
327 !text: tr('Hotkeys')
328 @onClick: modules.game_hotkeys.toggle()
329
330 InventoryButton
331 !text: tr('Logout')
332 @onClick: modules.game_interface.tryLogout()
333
334
Top