mirror of
https://github.com/OTCv8/otclientv8.git
synced 2025-10-20 06:33:26 +02:00
OTCv8 3.0 rev 2
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
Font
|
||||
name: cipsoftFont
|
||||
texture: cipsoftFont
|
||||
height: 8
|
||||
glyph-size: 8 8
|
||||
space-width: 2
|
||||
Font
|
||||
name: cipsoftFont
|
||||
texture: cipsoftFont
|
||||
height: 8
|
||||
glyph-size: 8 8
|
||||
space-width: 2
|
||||
|
BIN
data/images/shaders/brazil.png
Normal file
BIN
data/images/shaders/brazil.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 925 KiB |
BIN
data/images/shaders/gold.png
Normal file
BIN
data/images/shaders/gold.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 834 KiB |
BIN
data/images/shaders/rainbow.png
Normal file
BIN
data/images/shaders/rainbow.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 180 KiB |
BIN
data/images/shaders/stars.png
Normal file
BIN
data/images/shaders/stars.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 125 KiB |
BIN
data/images/shaders/sweden.png
Normal file
BIN
data/images/shaders/sweden.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 93 KiB |
11
data/shaders/map_default_fragment.frag
Normal file
11
data/shaders/map_default_fragment.frag
Normal file
@@ -0,0 +1,11 @@
|
||||
|
||||
varying vec2 v_TexCoord;
|
||||
uniform vec4 u_Color;
|
||||
uniform sampler2D u_Tex0;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = texture2D(u_Tex0, v_TexCoord) * u_Color;
|
||||
if(gl_FragColor.a < 0.01)
|
||||
discard;
|
||||
}
|
14
data/shaders/map_default_vertex.frag
Normal file
14
data/shaders/map_default_vertex.frag
Normal file
@@ -0,0 +1,14 @@
|
||||
|
||||
attribute vec2 a_Vertex;
|
||||
attribute vec2 a_TexCoord;
|
||||
|
||||
uniform mat3 u_TransformMatrix;
|
||||
uniform mat3 u_ProjectionMatrix;
|
||||
uniform mat3 u_TextureMatrix;
|
||||
varying vec2 v_TexCoord;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0);
|
||||
v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
|
||||
}
|
15
data/shaders/map_rainbow_fragment.frag
Normal file
15
data/shaders/map_rainbow_fragment.frag
Normal file
@@ -0,0 +1,15 @@
|
||||
|
||||
varying vec2 v_TexCoord;
|
||||
varying vec2 v_TexCoord2;
|
||||
|
||||
uniform vec4 u_Color;
|
||||
uniform sampler2D u_Tex0;
|
||||
uniform sampler2D u_Tex1;
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = texture2D(u_Tex0, v_TexCoord) * u_Color;
|
||||
gl_FragColor += texture2D(u_Tex1, v_TexCoord2);
|
||||
if(gl_FragColor.a < 0.01)
|
||||
discard;
|
||||
}
|
33
data/shaders/map_rainbow_vertex.frag
Normal file
33
data/shaders/map_rainbow_vertex.frag
Normal file
@@ -0,0 +1,33 @@
|
||||
attribute vec2 a_TexCoord;
|
||||
attribute vec2 a_Vertex;
|
||||
|
||||
varying vec2 v_TexCoord;
|
||||
varying vec2 v_TexCoord2;
|
||||
|
||||
uniform mat3 u_TextureMatrix;
|
||||
uniform mat3 u_TransformMatrix;
|
||||
uniform mat3 u_ProjectionMatrix;
|
||||
|
||||
uniform vec2 u_Offset;
|
||||
uniform vec2 u_Center;
|
||||
uniform float u_Time;
|
||||
|
||||
vec2 effectTextureSize = vec2(466.0, 342.0);
|
||||
vec2 direction = vec2(1.0,0.2);
|
||||
float speed = 200.0;
|
||||
|
||||
vec2 rotate(vec2 v, float a) {
|
||||
float s = sin(a);
|
||||
float c = cos(a);
|
||||
mat2 m = mat2(c, -s, s, c);
|
||||
return m * v;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0);
|
||||
v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
|
||||
|
||||
v_TexCoord2 = ((a_Vertex + direction * u_Time * speed) / effectTextureSize);
|
||||
}
|
||||
|
16
data/shaders/outfit_rainbow_fragment.frag
Normal file
16
data/shaders/outfit_rainbow_fragment.frag
Normal file
@@ -0,0 +1,16 @@
|
||||
uniform mat4 u_Color;
|
||||
varying vec2 v_TexCoord;
|
||||
varying vec2 v_TexCoord2;
|
||||
varying vec2 v_TexCoord3;
|
||||
uniform sampler2D u_Tex0;
|
||||
uniform sampler2D u_Tex1;
|
||||
void main()
|
||||
{
|
||||
gl_FragColor = texture2D(u_Tex0, v_TexCoord);
|
||||
vec4 texcolor = texture2D(u_Tex0, v_TexCoord2);
|
||||
vec4 effectColor = texture2D(u_Tex1, v_TexCoord3);
|
||||
if(texcolor.a > 0.1) {
|
||||
gl_FragColor *= effectColor;
|
||||
}
|
||||
if(gl_FragColor.a < 0.01) discard;
|
||||
}
|
47
data/shaders/outfit_rainbow_vertex.frag
Normal file
47
data/shaders/outfit_rainbow_vertex.frag
Normal file
@@ -0,0 +1,47 @@
|
||||
attribute vec2 a_TexCoord;
|
||||
uniform mat3 u_TextureMatrix;
|
||||
varying vec2 v_TexCoord;
|
||||
varying vec2 v_TexCoord2;
|
||||
varying vec2 v_TexCoord3;
|
||||
attribute vec2 a_Vertex;
|
||||
uniform mat3 u_TransformMatrix;
|
||||
uniform mat3 u_ProjectionMatrix;
|
||||
uniform vec2 u_Offset;
|
||||
uniform vec2 u_Center;
|
||||
uniform float u_Time;
|
||||
|
||||
vec2 effectTextureSize = vec2(466.0, 342.0);
|
||||
vec2 direction = vec2(1.0,0.2);
|
||||
float speed = 200.0;
|
||||
|
||||
vec2 rotate(vec2 v, float a) {
|
||||
float s = sin(a);
|
||||
float c = cos(a);
|
||||
mat2 m = mat2(c, -s, s, c);
|
||||
return m * v;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
vec2 offset = direction * speed * u_Time;
|
||||
gl_Position = vec4((u_ProjectionMatrix * u_TransformMatrix * vec3(a_Vertex.xy, 1.0)).xy, 1.0, 1.0);
|
||||
v_TexCoord = (u_TextureMatrix * vec3(a_TexCoord,1.0)).xy;
|
||||
v_TexCoord2 = (u_TextureMatrix * vec3(a_TexCoord + u_Offset,1.0)).xy;
|
||||
|
||||
vec2 vertex = a_Vertex;
|
||||
if(vertex.x < u_Center.x) {
|
||||
vertex.x = effectTextureSize.x / 10.0;
|
||||
}
|
||||
if(vertex.x > u_Center.x) {
|
||||
vertex.x = effectTextureSize.x - effectTextureSize.x / 10.0;
|
||||
}
|
||||
if(vertex.y < u_Center.y) {
|
||||
vertex.y = effectTextureSize.y / 10.0;
|
||||
}
|
||||
if(vertex.y > u_Center.y) {
|
||||
vertex.y = effectTextureSize.y - effectTextureSize.y / 10.0;
|
||||
}
|
||||
|
||||
v_TexCoord3 = ((vertex + direction * u_Time * speed) / effectTextureSize);
|
||||
}
|
||||
|
@@ -1,60 +1,60 @@
|
||||
SmallScrollBar < UIScrollBar
|
||||
orientation: vertical
|
||||
margin-bottom: 1
|
||||
step: 20
|
||||
width: 8
|
||||
image-source: /images/ui/scrollbar
|
||||
image-clip: 39 0 13 65
|
||||
image-border: 1
|
||||
pixels-scroll: true
|
||||
|
||||
UIButton
|
||||
id: decrementButton
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
image-source: /images/ui/scrollbar
|
||||
image-clip: 0 0 13 13
|
||||
image-color: #ffffffff
|
||||
size: 8 8
|
||||
$hover:
|
||||
image-clip: 13 0 13 13
|
||||
$pressed:
|
||||
image-clip: 26 0 13 13
|
||||
$disabled:
|
||||
image-color: #ffffff66
|
||||
|
||||
UIButton
|
||||
id: incrementButton
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
size: 8 8
|
||||
image-source: /images/ui/scrollbar
|
||||
image-clip: 0 13 13 13
|
||||
image-color: #ffffffff
|
||||
$hover:
|
||||
image-clip: 13 13 13 13
|
||||
$pressed:
|
||||
image-clip: 26 13 13 13
|
||||
$disabled:
|
||||
image-color: #ffffff66
|
||||
|
||||
UIButton
|
||||
id: sliderButton
|
||||
anchors.centerIn: parent
|
||||
size: 8 11
|
||||
image-source: /images/ui/scrollbar
|
||||
image-clip: 0 26 13 13
|
||||
image-border: 2
|
||||
image-color: #ffffffff
|
||||
$hover:
|
||||
image-clip: 13 26 13 13
|
||||
$pressed:
|
||||
image-clip: 26 26 13 13
|
||||
$disabled:
|
||||
image-color: #ffffff66
|
||||
|
||||
Label
|
||||
id: valueLabel
|
||||
anchors.fill: parent
|
||||
color: white
|
||||
SmallScrollBar < UIScrollBar
|
||||
orientation: vertical
|
||||
margin-bottom: 1
|
||||
step: 20
|
||||
width: 8
|
||||
image-source: /images/ui/scrollbar
|
||||
image-clip: 39 0 13 65
|
||||
image-border: 1
|
||||
pixels-scroll: true
|
||||
|
||||
UIButton
|
||||
id: decrementButton
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
image-source: /images/ui/scrollbar
|
||||
image-clip: 0 0 13 13
|
||||
image-color: #ffffffff
|
||||
size: 8 8
|
||||
$hover:
|
||||
image-clip: 13 0 13 13
|
||||
$pressed:
|
||||
image-clip: 26 0 13 13
|
||||
$disabled:
|
||||
image-color: #ffffff66
|
||||
|
||||
UIButton
|
||||
id: incrementButton
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
size: 8 8
|
||||
image-source: /images/ui/scrollbar
|
||||
image-clip: 0 13 13 13
|
||||
image-color: #ffffffff
|
||||
$hover:
|
||||
image-clip: 13 13 13 13
|
||||
$pressed:
|
||||
image-clip: 26 13 13 13
|
||||
$disabled:
|
||||
image-color: #ffffff66
|
||||
|
||||
UIButton
|
||||
id: sliderButton
|
||||
anchors.centerIn: parent
|
||||
size: 8 11
|
||||
image-source: /images/ui/scrollbar
|
||||
image-clip: 0 26 13 13
|
||||
image-border: 2
|
||||
image-color: #ffffffff
|
||||
$hover:
|
||||
image-clip: 13 26 13 13
|
||||
$pressed:
|
||||
image-clip: 26 26 13 13
|
||||
$disabled:
|
||||
image-color: #ffffff66
|
||||
|
||||
Label
|
||||
id: valueLabel
|
||||
anchors.fill: parent
|
||||
color: white
|
||||
text-align: center
|
@@ -1,186 +1,186 @@
|
||||
ConsoleLabel < UITextEdit
|
||||
font: verdana-11px-antialised
|
||||
height: 14
|
||||
color: yellow
|
||||
margin-left: 2
|
||||
text-wrap: true
|
||||
text-auto-resize: true
|
||||
selection-color: #111416
|
||||
selection-background-color: #999999
|
||||
change-cursor-image: false
|
||||
cursor-visible: false
|
||||
editable: false
|
||||
draggable: true
|
||||
selectable: false
|
||||
focusable: false
|
||||
|
||||
ConsolePhantomLabel < UILabel
|
||||
font: verdana-11px-antialised
|
||||
height: 14
|
||||
color: yellow
|
||||
text-wrap: true
|
||||
text-auto-resize: true
|
||||
selection-color: #111416
|
||||
selection-background-color: #999999
|
||||
|
||||
ConsoleTabBar < MoveableTabBar
|
||||
height: 28
|
||||
|
||||
ConsoleTabBarPanel < MoveableTabBarPanel
|
||||
id: consoleTab
|
||||
|
||||
ScrollablePanel
|
||||
id: consoleBuffer
|
||||
anchors.fill: parent
|
||||
margin-right: 12
|
||||
vertical-scrollbar: consoleScrollBar
|
||||
layout:
|
||||
type: verticalBox
|
||||
align-bottom: true
|
||||
border-width: 1
|
||||
border-color: #202327
|
||||
background: #00000066
|
||||
inverted-scroll: true
|
||||
padding: 1
|
||||
|
||||
VerticalScrollBar
|
||||
id: consoleScrollBar
|
||||
anchors.top: parent.top
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
step: 14
|
||||
pixels-scroll: true
|
||||
|
||||
ConsoleTabBarButton < MoveableTabBarButton
|
||||
height: 28
|
||||
padding: 15
|
||||
|
||||
ConsolePanel < Panel
|
||||
image-source: /images/ui/panel_bottom
|
||||
image-border: 4
|
||||
|
||||
$first:
|
||||
anchors.fill: parent
|
||||
|
||||
$!first:
|
||||
anchors.top: prev.bottom
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
|
||||
CheckBox
|
||||
id: toggleChat
|
||||
!tooltip: tr('Disable chat mode, allow to walk using ASDW')
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
margin-left: 13
|
||||
margin-top: 8
|
||||
@onCheckChange: toggleChat()
|
||||
|
||||
TabButton
|
||||
id: prevChannelButton
|
||||
icon: /images/game/console/leftarrow
|
||||
anchors.left: toggleChat.right
|
||||
anchors.top: parent.top
|
||||
margin-left: 3
|
||||
margin-top: 6
|
||||
|
||||
ConsoleTabBar
|
||||
id: consoleTabBar
|
||||
anchors.left: prev.right
|
||||
anchors.top: parent.top
|
||||
anchors.right: next.left
|
||||
margin-left: 5
|
||||
margin-top: 3
|
||||
margin-right: 5
|
||||
tab-spacing: 2
|
||||
movable: true
|
||||
|
||||
TabButton
|
||||
id: nextChannelButton
|
||||
icon: /images/game/console/rightarrow
|
||||
anchors.right: next.left
|
||||
anchors.top: parent.top
|
||||
margin-right: 5
|
||||
margin-top: 6
|
||||
|
||||
TabButton
|
||||
id: closeChannelButton
|
||||
!tooltip: tr('Close this channel') .. ' (Ctrl+E)'
|
||||
icon: /images/game/console/closechannel
|
||||
anchors.right: next.left
|
||||
anchors.top: parent.top
|
||||
enabled: false
|
||||
margin-right: 5
|
||||
margin-top: 6
|
||||
@onClick: removeCurrentTab()
|
||||
|
||||
TabButton
|
||||
id: clearChannelButton
|
||||
!tooltip: tr('Clear current message window')
|
||||
icon: /images/game/console/clearchannel
|
||||
anchors.right: next.left
|
||||
anchors.top: parent.top
|
||||
margin-right: 5
|
||||
margin-top: 6
|
||||
@onClick: |
|
||||
local consoleTabBar = self:getParent():getChildById('consoleTabBar')
|
||||
clearChannel(consoleTabBar)
|
||||
|
||||
TabButton
|
||||
id: channelsButton
|
||||
!tooltip: tr('Open new channel') .. ' (Ctrl+O)'
|
||||
icon: /images/game/console/channels
|
||||
anchors.right: next.left
|
||||
anchors.top: parent.top
|
||||
margin-right: 5
|
||||
margin-top: 6
|
||||
@onClick: g_game.requestChannels()
|
||||
|
||||
TabButton
|
||||
id: ignoreButton
|
||||
!tooltip: tr('Ignore players')
|
||||
icon: /images/game/console/ignore
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
margin-right: 5
|
||||
margin-top: 6
|
||||
@onClick: onClickIgnoreButton()
|
||||
|
||||
Panel
|
||||
id: consoleContentPanel
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: consoleTextEdit.top
|
||||
margin-left: 6
|
||||
margin-right: 6
|
||||
margin-bottom: 4
|
||||
margin-top: 4
|
||||
padding: 1
|
||||
focusable: false
|
||||
phantom: true
|
||||
|
||||
TabButton
|
||||
id: sayModeButton
|
||||
icon: /images/game/console/say
|
||||
!tooltip: tr('Adjust volume')
|
||||
&sayMode: 2
|
||||
size: 20 20
|
||||
anchors.left: parent.left
|
||||
anchors.bottom: parent.bottom
|
||||
margin-left: 6
|
||||
margin-bottom: 6
|
||||
@onClick: sayModeChange()
|
||||
|
||||
TextEdit
|
||||
id: consoleTextEdit
|
||||
anchors.left: sayModeButton.right
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
margin-right: 6
|
||||
margin-left: 6
|
||||
margin-bottom: 6
|
||||
shift-navigation: true
|
||||
max-length: 255
|
||||
text-auto-submit: true
|
||||
ConsoleLabel < UITextEdit
|
||||
font: verdana-11px-antialised
|
||||
height: 14
|
||||
color: yellow
|
||||
margin-left: 2
|
||||
text-wrap: true
|
||||
text-auto-resize: true
|
||||
selection-color: #111416
|
||||
selection-background-color: #999999
|
||||
change-cursor-image: false
|
||||
cursor-visible: false
|
||||
editable: false
|
||||
draggable: true
|
||||
selectable: false
|
||||
focusable: false
|
||||
|
||||
ConsolePhantomLabel < UILabel
|
||||
font: verdana-11px-antialised
|
||||
height: 14
|
||||
color: yellow
|
||||
text-wrap: true
|
||||
text-auto-resize: true
|
||||
selection-color: #111416
|
||||
selection-background-color: #999999
|
||||
|
||||
ConsoleTabBar < MoveableTabBar
|
||||
height: 28
|
||||
|
||||
ConsoleTabBarPanel < MoveableTabBarPanel
|
||||
id: consoleTab
|
||||
|
||||
ScrollablePanel
|
||||
id: consoleBuffer
|
||||
anchors.fill: parent
|
||||
margin-right: 12
|
||||
vertical-scrollbar: consoleScrollBar
|
||||
layout:
|
||||
type: verticalBox
|
||||
align-bottom: true
|
||||
border-width: 1
|
||||
border-color: #202327
|
||||
background: #00000066
|
||||
inverted-scroll: true
|
||||
padding: 1
|
||||
|
||||
VerticalScrollBar
|
||||
id: consoleScrollBar
|
||||
anchors.top: parent.top
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
step: 14
|
||||
pixels-scroll: true
|
||||
|
||||
ConsoleTabBarButton < MoveableTabBarButton
|
||||
height: 28
|
||||
padding: 15
|
||||
|
||||
ConsolePanel < Panel
|
||||
image-source: /images/ui/panel_bottom
|
||||
image-border: 4
|
||||
|
||||
$first:
|
||||
anchors.fill: parent
|
||||
|
||||
$!first:
|
||||
anchors.top: prev.bottom
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
|
||||
CheckBox
|
||||
id: toggleChat
|
||||
!tooltip: tr('Disable chat mode, allow to walk using ASDW')
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
margin-left: 13
|
||||
margin-top: 8
|
||||
@onCheckChange: toggleChat()
|
||||
|
||||
TabButton
|
||||
id: prevChannelButton
|
||||
icon: /images/game/console/leftarrow
|
||||
anchors.left: toggleChat.right
|
||||
anchors.top: parent.top
|
||||
margin-left: 3
|
||||
margin-top: 6
|
||||
|
||||
ConsoleTabBar
|
||||
id: consoleTabBar
|
||||
anchors.left: prev.right
|
||||
anchors.top: parent.top
|
||||
anchors.right: next.left
|
||||
margin-left: 5
|
||||
margin-top: 3
|
||||
margin-right: 5
|
||||
tab-spacing: 2
|
||||
movable: true
|
||||
|
||||
TabButton
|
||||
id: nextChannelButton
|
||||
icon: /images/game/console/rightarrow
|
||||
anchors.right: next.left
|
||||
anchors.top: parent.top
|
||||
margin-right: 5
|
||||
margin-top: 6
|
||||
|
||||
TabButton
|
||||
id: closeChannelButton
|
||||
!tooltip: tr('Close this channel') .. ' (Ctrl+E)'
|
||||
icon: /images/game/console/closechannel
|
||||
anchors.right: next.left
|
||||
anchors.top: parent.top
|
||||
enabled: false
|
||||
margin-right: 5
|
||||
margin-top: 6
|
||||
@onClick: removeCurrentTab()
|
||||
|
||||
TabButton
|
||||
id: clearChannelButton
|
||||
!tooltip: tr('Clear current message window')
|
||||
icon: /images/game/console/clearchannel
|
||||
anchors.right: next.left
|
||||
anchors.top: parent.top
|
||||
margin-right: 5
|
||||
margin-top: 6
|
||||
@onClick: |
|
||||
local consoleTabBar = self:getParent():getChildById('consoleTabBar')
|
||||
clearChannel(consoleTabBar)
|
||||
|
||||
TabButton
|
||||
id: channelsButton
|
||||
!tooltip: tr('Open new channel') .. ' (Ctrl+O)'
|
||||
icon: /images/game/console/channels
|
||||
anchors.right: next.left
|
||||
anchors.top: parent.top
|
||||
margin-right: 5
|
||||
margin-top: 6
|
||||
@onClick: g_game.requestChannels()
|
||||
|
||||
TabButton
|
||||
id: ignoreButton
|
||||
!tooltip: tr('Ignore players')
|
||||
icon: /images/game/console/ignore
|
||||
anchors.right: parent.right
|
||||
anchors.top: parent.top
|
||||
margin-right: 5
|
||||
margin-top: 6
|
||||
@onClick: onClickIgnoreButton()
|
||||
|
||||
Panel
|
||||
id: consoleContentPanel
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: consoleTextEdit.top
|
||||
margin-left: 6
|
||||
margin-right: 6
|
||||
margin-bottom: 4
|
||||
margin-top: 4
|
||||
padding: 1
|
||||
focusable: false
|
||||
phantom: true
|
||||
|
||||
TabButton
|
||||
id: sayModeButton
|
||||
icon: /images/game/console/say
|
||||
!tooltip: tr('Adjust volume')
|
||||
&sayMode: 2
|
||||
size: 20 20
|
||||
anchors.left: parent.left
|
||||
anchors.bottom: parent.bottom
|
||||
margin-left: 6
|
||||
margin-bottom: 6
|
||||
@onClick: sayModeChange()
|
||||
|
||||
TextEdit
|
||||
id: consoleTextEdit
|
||||
anchors.left: sayModeButton.right
|
||||
anchors.right: parent.right
|
||||
anchors.bottom: parent.bottom
|
||||
margin-right: 6
|
||||
margin-left: 6
|
||||
margin-bottom: 6
|
||||
shift-navigation: true
|
||||
max-length: 255
|
||||
text-auto-submit: true
|
||||
|
@@ -1,74 +1,74 @@
|
||||
PageButton < Button
|
||||
size: 30 18
|
||||
margin: 1
|
||||
|
||||
|
||||
ContainerWindow < MiniWindow
|
||||
height: 150
|
||||
&save: true
|
||||
&containerWindow: true
|
||||
|
||||
UIItem
|
||||
id: containerItemWidget
|
||||
virtual: true
|
||||
size: 16 16
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
margin-top: 1
|
||||
margin-left: 3
|
||||
|
||||
UIButton
|
||||
id: upButton
|
||||
anchors.top: lockButton.top
|
||||
anchors.right: lockButton.left
|
||||
margin-right: 3
|
||||
size: 14 14
|
||||
image-source: /images/ui/miniwindow_buttons
|
||||
image-clip: 42 0 14 14
|
||||
|
||||
$hover:
|
||||
image-clip: 42 14 14 14
|
||||
|
||||
$pressed:
|
||||
image-clip: 42 28 14 14
|
||||
|
||||
Panel
|
||||
id: pagePanel
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.top: miniwindowTopBar.bottom
|
||||
margin: 1 3 0 3
|
||||
background: #00000066
|
||||
height: 20
|
||||
|
||||
$on:
|
||||
visible: true
|
||||
|
||||
$!on:
|
||||
visible: false
|
||||
|
||||
Label
|
||||
id: pageLabel
|
||||
anchors.top: parent.top
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
margin-top: 2
|
||||
text-auto-resize: true
|
||||
|
||||
PageButton
|
||||
id: prevPageButton
|
||||
text: <
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
|
||||
PageButton
|
||||
id: nextPageButton
|
||||
text: >
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
|
||||
MiniWindowContents
|
||||
padding-right: 0
|
||||
layout:
|
||||
type: grid
|
||||
cell-size: 34 34
|
||||
flow: true
|
||||
PageButton < Button
|
||||
size: 30 18
|
||||
margin: 1
|
||||
|
||||
|
||||
ContainerWindow < MiniWindow
|
||||
height: 150
|
||||
&save: true
|
||||
&containerWindow: true
|
||||
|
||||
UIItem
|
||||
id: containerItemWidget
|
||||
virtual: true
|
||||
size: 16 16
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
margin-top: 1
|
||||
margin-left: 3
|
||||
|
||||
UIButton
|
||||
id: upButton
|
||||
anchors.top: lockButton.top
|
||||
anchors.right: lockButton.left
|
||||
margin-right: 3
|
||||
size: 14 14
|
||||
image-source: /images/ui/miniwindow_buttons
|
||||
image-clip: 42 0 14 14
|
||||
|
||||
$hover:
|
||||
image-clip: 42 14 14 14
|
||||
|
||||
$pressed:
|
||||
image-clip: 42 28 14 14
|
||||
|
||||
Panel
|
||||
id: pagePanel
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
anchors.top: miniwindowTopBar.bottom
|
||||
margin: 1 3 0 3
|
||||
background: #00000066
|
||||
height: 20
|
||||
|
||||
$on:
|
||||
visible: true
|
||||
|
||||
$!on:
|
||||
visible: false
|
||||
|
||||
Label
|
||||
id: pageLabel
|
||||
anchors.top: parent.top
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
margin-top: 2
|
||||
text-auto-resize: true
|
||||
|
||||
PageButton
|
||||
id: prevPageButton
|
||||
text: <
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
|
||||
PageButton
|
||||
id: nextPageButton
|
||||
text: >
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
|
||||
MiniWindowContents
|
||||
padding-right: 0
|
||||
layout:
|
||||
type: grid
|
||||
cell-size: 34 34
|
||||
flow: true
|
||||
|
@@ -1,3 +1,3 @@
|
||||
EnterGameWindow < StaticMainWindow
|
||||
!text: tr('Enter Game')
|
||||
EnterGameWindow < StaticMainWindow
|
||||
!text: tr('Enter Game')
|
||||
size: 260 354
|
@@ -1,2 +1,2 @@
|
||||
GameButtonsWindow < MiniWindow
|
||||
height: 26
|
||||
GameButtonsWindow < MiniWindow
|
||||
height: 26
|
||||
|
@@ -1,147 +1,147 @@
|
||||
ExperienceBar < ProgressBar
|
||||
id: experienceBar
|
||||
background-color: #B6E866
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
margin: 1
|
||||
margin-top: 3
|
||||
|
||||
SoulLabel < GameLabel
|
||||
id: soulLabel
|
||||
text-align: right
|
||||
color: white
|
||||
font: verdana-11px-rounded
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.horizontalCenter
|
||||
margin-top: 5
|
||||
margin-right: 3
|
||||
on: true
|
||||
|
||||
$!on:
|
||||
visible: false
|
||||
margin-top: 0
|
||||
height: 0
|
||||
|
||||
CapLabel < GameLabel
|
||||
id: capLabel
|
||||
color: white
|
||||
font: verdana-11px-rounded
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.horizontalCenter
|
||||
margin-top: 5
|
||||
margin-left: 3
|
||||
on: true
|
||||
|
||||
$!on:
|
||||
visible: false
|
||||
margin-top: 0
|
||||
height: 0
|
||||
|
||||
ConditionWidget < UIWidget
|
||||
size: 18 18
|
||||
|
||||
$!first:
|
||||
margin-left: 2
|
||||
|
||||
HealthOverlay < UIWidget
|
||||
id: healthOverlay
|
||||
anchors.fill: parent
|
||||
phantom: true
|
||||
|
||||
HealthBar
|
||||
id: topHealthBar
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.horizontalCenter
|
||||
phantom: true
|
||||
|
||||
ManaBar
|
||||
id: topManaBar
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.horizontalCenter
|
||||
phantom: true
|
||||
|
||||
UIProgressBar
|
||||
id: healthCircle
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
image-source: /images/game/circle/left_empty
|
||||
margin-right: 169
|
||||
margin-bottom: 16
|
||||
opacity: 0.5
|
||||
phantom: true
|
||||
|
||||
UIProgressBar
|
||||
id: healthCircleFront
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
image-source: /images/game/circle/left_full
|
||||
margin-right: 169
|
||||
margin-bottom: 16
|
||||
opacity: 0.5
|
||||
phantom: true
|
||||
|
||||
UIProgressBar
|
||||
id: manaCircle
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
image-source: /images/game/circle/right_empty
|
||||
image-auto-resize: true
|
||||
margin-left: 130
|
||||
margin-bottom: 16
|
||||
opacity: 0.5
|
||||
phantom: true
|
||||
|
||||
UIProgressBar
|
||||
id: manaCircleFront
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
image-source: /images/game/circle/right_full
|
||||
margin-left: 130
|
||||
margin-bottom: 16
|
||||
opacity: 0.4
|
||||
image-color: #0000FFFF
|
||||
phantom: true
|
||||
|
||||
HealthInfoWindow < MiniWindow
|
||||
icon: /images/topbuttons/healthinfo
|
||||
!text: tr('Health Info')
|
||||
height: 123
|
||||
|
||||
MiniWindowContents
|
||||
HealthBar
|
||||
id: healthBar
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
margin: 2
|
||||
margin-top: 1
|
||||
|
||||
ManaBar
|
||||
id: manaBar
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
margin: 2
|
||||
|
||||
ExperienceBar
|
||||
Panel
|
||||
id: conditionPanel
|
||||
layout:
|
||||
type: horizontalBox
|
||||
height: 22
|
||||
margin-top: 4
|
||||
padding: 2
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
border-width: 1
|
||||
border-color: #00000077
|
||||
background-color: #ffffff11
|
||||
SoulLabel
|
||||
CapLabel
|
||||
|
||||
ExperienceBar < ProgressBar
|
||||
id: experienceBar
|
||||
background-color: #B6E866
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
margin: 1
|
||||
margin-top: 3
|
||||
|
||||
SoulLabel < GameLabel
|
||||
id: soulLabel
|
||||
text-align: right
|
||||
color: white
|
||||
font: verdana-11px-rounded
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.horizontalCenter
|
||||
margin-top: 5
|
||||
margin-right: 3
|
||||
on: true
|
||||
|
||||
$!on:
|
||||
visible: false
|
||||
margin-top: 0
|
||||
height: 0
|
||||
|
||||
CapLabel < GameLabel
|
||||
id: capLabel
|
||||
color: white
|
||||
font: verdana-11px-rounded
|
||||
anchors.bottom: parent.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.horizontalCenter
|
||||
margin-top: 5
|
||||
margin-left: 3
|
||||
on: true
|
||||
|
||||
$!on:
|
||||
visible: false
|
||||
margin-top: 0
|
||||
height: 0
|
||||
|
||||
ConditionWidget < UIWidget
|
||||
size: 18 18
|
||||
|
||||
$!first:
|
||||
margin-left: 2
|
||||
|
||||
HealthOverlay < UIWidget
|
||||
id: healthOverlay
|
||||
anchors.fill: parent
|
||||
phantom: true
|
||||
|
||||
HealthBar
|
||||
id: topHealthBar
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.horizontalCenter
|
||||
phantom: true
|
||||
|
||||
ManaBar
|
||||
id: topManaBar
|
||||
anchors.top: parent.top
|
||||
anchors.right: parent.right
|
||||
anchors.left: parent.horizontalCenter
|
||||
phantom: true
|
||||
|
||||
UIProgressBar
|
||||
id: healthCircle
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
image-source: /images/game/circle/left_empty
|
||||
margin-right: 169
|
||||
margin-bottom: 16
|
||||
opacity: 0.5
|
||||
phantom: true
|
||||
|
||||
UIProgressBar
|
||||
id: healthCircleFront
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
image-source: /images/game/circle/left_full
|
||||
margin-right: 169
|
||||
margin-bottom: 16
|
||||
opacity: 0.5
|
||||
phantom: true
|
||||
|
||||
UIProgressBar
|
||||
id: manaCircle
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
image-source: /images/game/circle/right_empty
|
||||
image-auto-resize: true
|
||||
margin-left: 130
|
||||
margin-bottom: 16
|
||||
opacity: 0.5
|
||||
phantom: true
|
||||
|
||||
UIProgressBar
|
||||
id: manaCircleFront
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
anchors.verticalCenter: parent.verticalCenter
|
||||
image-source: /images/game/circle/right_full
|
||||
margin-left: 130
|
||||
margin-bottom: 16
|
||||
opacity: 0.4
|
||||
image-color: #0000FFFF
|
||||
phantom: true
|
||||
|
||||
HealthInfoWindow < MiniWindow
|
||||
icon: /images/topbuttons/healthinfo
|
||||
!text: tr('Health Info')
|
||||
height: 123
|
||||
|
||||
MiniWindowContents
|
||||
HealthBar
|
||||
id: healthBar
|
||||
anchors.top: parent.top
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
margin: 2
|
||||
margin-top: 1
|
||||
|
||||
ManaBar
|
||||
id: manaBar
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
margin: 2
|
||||
|
||||
ExperienceBar
|
||||
Panel
|
||||
id: conditionPanel
|
||||
layout:
|
||||
type: horizontalBox
|
||||
height: 22
|
||||
margin-top: 4
|
||||
padding: 2
|
||||
anchors.top: prev.bottom
|
||||
anchors.left: parent.left
|
||||
anchors.right: parent.right
|
||||
border-width: 1
|
||||
border-color: #00000077
|
||||
background-color: #ffffff11
|
||||
SoulLabel
|
||||
CapLabel
|
||||
|
||||
|
@@ -1,299 +1,299 @@
|
||||
InventoryItem < Item
|
||||
$on:
|
||||
image-source: /images/ui/item-blessed
|
||||
|
||||
HeadSlot < InventoryItem
|
||||
id: slot1
|
||||
image-source: /images/game/slots/head
|
||||
&position: {x=65535, y=1, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/head-blessed
|
||||
|
||||
BodySlot < InventoryItem
|
||||
id: slot4
|
||||
image-source: /images/game/slots/body
|
||||
&position: {x=65535, y=4, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/body-blessed
|
||||
|
||||
LegSlot < InventoryItem
|
||||
id: slot7
|
||||
image-source: /images/game/slots/legs
|
||||
&position: {x=65535, y=7, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/legs-blessed
|
||||
|
||||
FeetSlot < InventoryItem
|
||||
id: slot8
|
||||
image-source: /images/game/slots/feet
|
||||
&position: {x=65535, y=8, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/feet-blessed
|
||||
|
||||
NeckSlot < InventoryItem
|
||||
id: slot2
|
||||
image-source: /images/game/slots/neck
|
||||
&position: {x=65535, y=2, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/neck-blessed
|
||||
|
||||
LeftSlot < InventoryItem
|
||||
id: slot6
|
||||
image-source: /images/game/slots/left-hand
|
||||
&position: {x=65535, y=6, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/left-hand-blessed
|
||||
|
||||
FingerSlot < InventoryItem
|
||||
id: slot9
|
||||
image-source: /images/game/slots/finger
|
||||
&position: {x=65535, y=9, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/finger-blessed
|
||||
|
||||
BackSlot < InventoryItem
|
||||
id: slot3
|
||||
image-source: /images/game/slots/back
|
||||
&position: {x=65535, y=3, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/back-blessed
|
||||
|
||||
RightSlot < InventoryItem
|
||||
id: slot5
|
||||
image-source: /images/game/slots/right-hand
|
||||
&position: {x=65535, y=5, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/right-hand-blessed
|
||||
|
||||
AmmoSlot < InventoryItem
|
||||
id: slot10
|
||||
image-source: /images/game/slots/ammo
|
||||
&position: {x=65535, y=10, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/ammo-blessed
|
||||
|
||||
PurseButton < UIButton
|
||||
id: purseButton
|
||||
size: 34 12
|
||||
!tooltip: tr('Open purse')
|
||||
icon-source: /images/game/slots/purse
|
||||
icon-clip: 0 0 34 12
|
||||
|
||||
$on:
|
||||
icon-clip: 0 12 34 12
|
||||
|
||||
$pressed:
|
||||
icon-clip: 0 12 34 12
|
||||
|
||||
CombatBox < UICheckBox
|
||||
size: 20 20
|
||||
image-clip: 0 0 20 20
|
||||
margin-left: 4
|
||||
|
||||
$checked:
|
||||
image-clip: 0 20 20 20
|
||||
|
||||
|
||||
InventoryButton < Button
|
||||
font: verdana-11px-antialised
|
||||
height: 18
|
||||
margin-top: 2
|
||||
text-align: center
|
||||
|
||||
SoulCapLabel < GameLabel
|
||||
text-align: center
|
||||
color: #FFFFFF
|
||||
font: cipsoftFont
|
||||
margin-top: 4
|
||||
text-offset: 0 3
|
||||
width: 36
|
||||
height: 20
|
||||
icon-source: /images/game/slots/soulcap
|
||||
|
||||
FightOffensiveBox < CombatBox
|
||||
image-source: /images/game/combatmodes/fightoffensive
|
||||
FightBalancedBox < CombatBox
|
||||
image-source: /images/game/combatmodes/fightbalanced
|
||||
FightDefensiveBox < CombatBox
|
||||
image-source: /images/game/combatmodes/fightdefensive
|
||||
ChaseModeBox < CombatBox
|
||||
image-source: /images/game/combatmodes/chasemode
|
||||
SafeFightBox < CombatBox
|
||||
image-source: /images/game/combatmodes/safefight
|
||||
|
||||
MountButton < CombatBox
|
||||
image-source: /images/game/combatmodes/mount
|
||||
|
||||
InventoryWindow < MiniWindow
|
||||
icon: /images/topbuttons/inventory
|
||||
height: 200
|
||||
id: inventoryWindow
|
||||
@onClose: modules.game_inventory.onMiniWindowClose()
|
||||
&save: true
|
||||
&autoOpen: 3
|
||||
|
||||
MiniWindowContents
|
||||
anchors.left: parent.left
|
||||
|
||||
Panel
|
||||
id: inventoryPanel
|
||||
margin-right: 63
|
||||
margin-top: 2
|
||||
anchors.fill: parent
|
||||
|
||||
HeadSlot
|
||||
anchors.top: parent.top
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
BodySlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
LegSlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
FeetSlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
NeckSlot
|
||||
anchors.top: slot1.top
|
||||
anchors.right: slot1.left
|
||||
margin-top: 13
|
||||
margin-right: 5
|
||||
|
||||
LeftSlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
FingerSlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
BackSlot
|
||||
anchors.top: slot1.top
|
||||
anchors.left: slot1.right
|
||||
margin-top: 13
|
||||
margin-left: 5
|
||||
|
||||
RightSlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
AmmoSlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
SoulCapLabel
|
||||
id: soulLabel
|
||||
anchors.top: slot10.bottom
|
||||
anchors.horizontalCenter: slot10.horizontalCenter
|
||||
|
||||
SoulCapLabel
|
||||
id: capLabel
|
||||
anchors.top: slot9.bottom
|
||||
anchors.horizontalCenter: slot9.horizontalCenter
|
||||
|
||||
PurseButton
|
||||
anchors.left: slot3.left
|
||||
anchors.bottom: slot3.top
|
||||
margin-bottom: 3
|
||||
|
||||
Panel
|
||||
id: conditionPanel
|
||||
layout:
|
||||
type: horizontalBox
|
||||
height: 22
|
||||
padding: 2
|
||||
anchors.top: slot8.bottom
|
||||
anchors.left: slot6.left
|
||||
anchors.right: slot5.right
|
||||
margin-top: 4
|
||||
border-width: 1
|
||||
border-color: #00000077
|
||||
background-color: #ffffff22
|
||||
|
||||
Panel
|
||||
margin-top: 5
|
||||
anchors.fill: parent
|
||||
anchors.left: prev.right
|
||||
|
||||
FightOffensiveBox
|
||||
id: fightOffensiveBox
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
margin-left: 8
|
||||
|
||||
ChaseModeBox
|
||||
id: chaseModeBox
|
||||
anchors.left: prev.right
|
||||
anchors.top: parent.top
|
||||
|
||||
FightBalancedBox
|
||||
id: fightBalancedBox
|
||||
margin-top: 22
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
margin-left: 8
|
||||
|
||||
SafeFightBox
|
||||
id: safeFightBox
|
||||
margin-top: 22
|
||||
anchors.left: prev.right
|
||||
anchors.top: parent.top
|
||||
|
||||
FightDefensiveBox
|
||||
id: fightDefensiveBox
|
||||
margin-top: 44
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
margin-left: 8
|
||||
|
||||
MountButton
|
||||
id: mountButton
|
||||
margin-top: 44
|
||||
anchors.left: prev.right
|
||||
anchors.top: parent.top
|
||||
|
||||
Panel
|
||||
id: buttonsPanel
|
||||
margin-top: 4
|
||||
margin-right: 5
|
||||
anchors.fill: parent
|
||||
anchors.top: prev.bottom
|
||||
layout:
|
||||
type: verticalBox
|
||||
|
||||
UIButton
|
||||
id: buttonPvp
|
||||
height: 20
|
||||
icon: /images/game/combatmodes/pvp
|
||||
icon-clip: 0 0 42 20
|
||||
|
||||
$on:
|
||||
icon-clip: 0 20 42 20
|
||||
|
||||
InventoryButton
|
||||
!text: tr('Stop')
|
||||
@onClick: g_game.stop(); g_game.cancelAttackAndFollow()
|
||||
|
||||
InventoryButton
|
||||
!text: tr('Options')
|
||||
@onClick: modules.client_options.toggle()
|
||||
|
||||
InventoryButton
|
||||
!text: tr('Hotkeys')
|
||||
@onClick: modules.game_hotkeys.toggle()
|
||||
|
||||
InventoryButton
|
||||
!text: tr('Logout')
|
||||
@onClick: modules.game_interface.tryLogout()
|
||||
InventoryItem < Item
|
||||
$on:
|
||||
image-source: /images/ui/item-blessed
|
||||
|
||||
HeadSlot < InventoryItem
|
||||
id: slot1
|
||||
image-source: /images/game/slots/head
|
||||
&position: {x=65535, y=1, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/head-blessed
|
||||
|
||||
BodySlot < InventoryItem
|
||||
id: slot4
|
||||
image-source: /images/game/slots/body
|
||||
&position: {x=65535, y=4, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/body-blessed
|
||||
|
||||
LegSlot < InventoryItem
|
||||
id: slot7
|
||||
image-source: /images/game/slots/legs
|
||||
&position: {x=65535, y=7, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/legs-blessed
|
||||
|
||||
FeetSlot < InventoryItem
|
||||
id: slot8
|
||||
image-source: /images/game/slots/feet
|
||||
&position: {x=65535, y=8, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/feet-blessed
|
||||
|
||||
NeckSlot < InventoryItem
|
||||
id: slot2
|
||||
image-source: /images/game/slots/neck
|
||||
&position: {x=65535, y=2, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/neck-blessed
|
||||
|
||||
LeftSlot < InventoryItem
|
||||
id: slot6
|
||||
image-source: /images/game/slots/left-hand
|
||||
&position: {x=65535, y=6, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/left-hand-blessed
|
||||
|
||||
FingerSlot < InventoryItem
|
||||
id: slot9
|
||||
image-source: /images/game/slots/finger
|
||||
&position: {x=65535, y=9, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/finger-blessed
|
||||
|
||||
BackSlot < InventoryItem
|
||||
id: slot3
|
||||
image-source: /images/game/slots/back
|
||||
&position: {x=65535, y=3, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/back-blessed
|
||||
|
||||
RightSlot < InventoryItem
|
||||
id: slot5
|
||||
image-source: /images/game/slots/right-hand
|
||||
&position: {x=65535, y=5, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/right-hand-blessed
|
||||
|
||||
AmmoSlot < InventoryItem
|
||||
id: slot10
|
||||
image-source: /images/game/slots/ammo
|
||||
&position: {x=65535, y=10, z=0}
|
||||
$on:
|
||||
image-source: /images/game/slots/ammo-blessed
|
||||
|
||||
PurseButton < UIButton
|
||||
id: purseButton
|
||||
size: 34 12
|
||||
!tooltip: tr('Open purse')
|
||||
icon-source: /images/game/slots/purse
|
||||
icon-clip: 0 0 34 12
|
||||
|
||||
$on:
|
||||
icon-clip: 0 12 34 12
|
||||
|
||||
$pressed:
|
||||
icon-clip: 0 12 34 12
|
||||
|
||||
CombatBox < UICheckBox
|
||||
size: 20 20
|
||||
image-clip: 0 0 20 20
|
||||
margin-left: 4
|
||||
|
||||
$checked:
|
||||
image-clip: 0 20 20 20
|
||||
|
||||
|
||||
InventoryButton < Button
|
||||
font: verdana-11px-antialised
|
||||
height: 18
|
||||
margin-top: 2
|
||||
text-align: center
|
||||
|
||||
SoulCapLabel < GameLabel
|
||||
text-align: center
|
||||
color: #FFFFFF
|
||||
font: cipsoftFont
|
||||
margin-top: 4
|
||||
text-offset: 0 3
|
||||
width: 36
|
||||
height: 20
|
||||
icon-source: /images/game/slots/soulcap
|
||||
|
||||
FightOffensiveBox < CombatBox
|
||||
image-source: /images/game/combatmodes/fightoffensive
|
||||
FightBalancedBox < CombatBox
|
||||
image-source: /images/game/combatmodes/fightbalanced
|
||||
FightDefensiveBox < CombatBox
|
||||
image-source: /images/game/combatmodes/fightdefensive
|
||||
ChaseModeBox < CombatBox
|
||||
image-source: /images/game/combatmodes/chasemode
|
||||
SafeFightBox < CombatBox
|
||||
image-source: /images/game/combatmodes/safefight
|
||||
|
||||
MountButton < CombatBox
|
||||
image-source: /images/game/combatmodes/mount
|
||||
|
||||
InventoryWindow < MiniWindow
|
||||
icon: /images/topbuttons/inventory
|
||||
height: 200
|
||||
id: inventoryWindow
|
||||
@onClose: modules.game_inventory.onMiniWindowClose()
|
||||
&save: true
|
||||
&autoOpen: 3
|
||||
|
||||
MiniWindowContents
|
||||
anchors.left: parent.left
|
||||
|
||||
Panel
|
||||
id: inventoryPanel
|
||||
margin-right: 63
|
||||
margin-top: 2
|
||||
anchors.fill: parent
|
||||
|
||||
HeadSlot
|
||||
anchors.top: parent.top
|
||||
anchors.horizontalCenter: parent.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
BodySlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
LegSlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
FeetSlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
NeckSlot
|
||||
anchors.top: slot1.top
|
||||
anchors.right: slot1.left
|
||||
margin-top: 13
|
||||
margin-right: 5
|
||||
|
||||
LeftSlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
FingerSlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
BackSlot
|
||||
anchors.top: slot1.top
|
||||
anchors.left: slot1.right
|
||||
margin-top: 13
|
||||
margin-left: 5
|
||||
|
||||
RightSlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
AmmoSlot
|
||||
anchors.top: prev.bottom
|
||||
anchors.horizontalCenter: prev.horizontalCenter
|
||||
margin-top: 3
|
||||
|
||||
SoulCapLabel
|
||||
id: soulLabel
|
||||
anchors.top: slot10.bottom
|
||||
anchors.horizontalCenter: slot10.horizontalCenter
|
||||
|
||||
SoulCapLabel
|
||||
id: capLabel
|
||||
anchors.top: slot9.bottom
|
||||
anchors.horizontalCenter: slot9.horizontalCenter
|
||||
|
||||
PurseButton
|
||||
anchors.left: slot3.left
|
||||
anchors.bottom: slot3.top
|
||||
margin-bottom: 3
|
||||
|
||||
Panel
|
||||
id: conditionPanel
|
||||
layout:
|
||||
type: horizontalBox
|
||||
height: 22
|
||||
padding: 2
|
||||
anchors.top: slot8.bottom
|
||||
anchors.left: slot6.left
|
||||
anchors.right: slot5.right
|
||||
margin-top: 4
|
||||
border-width: 1
|
||||
border-color: #00000077
|
||||
background-color: #ffffff22
|
||||
|
||||
Panel
|
||||
margin-top: 5
|
||||
anchors.fill: parent
|
||||
anchors.left: prev.right
|
||||
|
||||
FightOffensiveBox
|
||||
id: fightOffensiveBox
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
margin-left: 8
|
||||
|
||||
ChaseModeBox
|
||||
id: chaseModeBox
|
||||
anchors.left: prev.right
|
||||
anchors.top: parent.top
|
||||
|
||||
FightBalancedBox
|
||||
id: fightBalancedBox
|
||||
margin-top: 22
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
margin-left: 8
|
||||
|
||||
SafeFightBox
|
||||
id: safeFightBox
|
||||
margin-top: 22
|
||||
anchors.left: prev.right
|
||||
anchors.top: parent.top
|
||||
|
||||
FightDefensiveBox
|
||||
id: fightDefensiveBox
|
||||
margin-top: 44
|
||||
anchors.left: parent.left
|
||||
anchors.top: parent.top
|
||||
margin-left: 8
|
||||
|
||||
MountButton
|
||||
id: mountButton
|
||||
margin-top: 44
|
||||
anchors.left: prev.right
|
||||
anchors.top: parent.top
|
||||
|
||||
Panel
|
||||
id: buttonsPanel
|
||||
margin-top: 4
|
||||
margin-right: 5
|
||||
anchors.fill: parent
|
||||
anchors.top: prev.bottom
|
||||
layout:
|
||||
type: verticalBox
|
||||
|
||||
UIButton
|
||||
id: buttonPvp
|
||||
height: 20
|
||||
icon: /images/game/combatmodes/pvp
|
||||
icon-clip: 0 0 42 20
|
||||
|
||||
$on:
|
||||
icon-clip: 0 20 42 20
|
||||
|
||||
InventoryButton
|
||||
!text: tr('Stop')
|
||||
@onClick: g_game.stop(); g_game.cancelAttackAndFollow()
|
||||
|
||||
InventoryButton
|
||||
!text: tr('Options')
|
||||
@onClick: modules.client_options.toggle()
|
||||
|
||||
InventoryButton
|
||||
!text: tr('Hotkeys')
|
||||
@onClick: modules.game_hotkeys.toggle()
|
||||
|
||||
InventoryButton
|
||||
!text: tr('Logout')
|
||||
@onClick: modules.game_interface.tryLogout()
|
||||
|
Reference in New Issue
Block a user