Added a different focus banner fro typing in chat. Fixed player name changes not being updated min-game

main
unfa 2021-09-26 02:18:51 +02:00
parent e35849899a
commit dc80e15129
8 changed files with 440 additions and 139 deletions

View File

@ -9,7 +9,7 @@
id="svg5"
inkscape:version="1.1 (c4e8f9ed74, 2021-05-24)"
sodipodi:docname="Busy.svg"
inkscape:export-filename="/data/Projects/Games/Liblast/Game/Assets/Effects/Busy.png"
inkscape:export-filename="/data/Projects/Games/Liblast/Game/Assets/Effects/Typing.png"
inkscape:export-xdpi="182.1837"
inkscape:export-ydpi="182.1837"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
@ -31,22 +31,39 @@
fit-margin-left="0"
fit-margin-right="0"
fit-margin-bottom="0"
inkscape:zoom="2.8284272"
inkscape:cx="76.013977"
inkscape:cy="126.92566"
inkscape:zoom="2.0000001"
inkscape:cx="20.499999"
inkscape:cy="76.499998"
inkscape:window-width="1920"
inkscape:window-height="1051"
inkscape:window-x="1920"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="layer1" />
inkscape:current-layer="layer2" />
<defs
id="defs2" />
id="defs2">
<marker
style="overflow:visible;"
id="Arrow1Mend"
refX="0.0"
refY="0.0"
orient="auto"
inkscape:stockid="Arrow1Mend"
inkscape:isstock="true">
<path
transform="scale(0.4) rotate(180) translate(10,0)"
style="fill-rule:evenodd;fill:context-stroke;stroke:context-stroke;stroke-width:1.0pt;"
d="M 0.0,0.0 L 5.0,-5.0 L -12.5,0.0 L 5.0,5.0 L 0.0,0.0 z "
id="path12222" />
</marker>
</defs>
<g
inkscape:label="Layer 1"
inkscape:label="Incative"
inkscape:groupmode="layer"
id="layer1"
transform="translate(-25.239306,-69.836283)">
transform="translate(-25.239306,-69.836283)"
style="display:none"
sodipodi:insensitive="true">
<rect
style="fill:#1a1a1a;stroke:#4d4d4d;stroke-width:0;stroke-linecap:round;paint-order:markers stroke fill"
id="rect846"
@ -113,123 +130,354 @@
transform="matrix(0.26458333,0,0,0.26458333,0.01122486,20.073233)" />
</g>
</g>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:11.4357;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
x="-85.426476"
y="382.01416"
id="text2332"
transform="matrix(0.27812455,-0.0283178,0.0282635,0.27865895,43.053522,-18.465249)"><tspan
sodipodi:role="line"
id="tspan2330"
x="-85.426476"
y="382.01416"
style="font-weight:bold;stroke:#000000;stroke-width:11.4357;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">Z</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:8.09743;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
x="-85.426476"
y="382.01416"
id="text4342"
transform="matrix(0.39278517,-0.0399922,0.0399155,0.39353989,54.73357,-64.216116)"><tspan
sodipodi:role="line"
id="tspan4340"
x="-85.426476"
y="382.01416"
style="font-weight:bold;stroke:#000000;stroke-width:8.09743;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">Z</tspan></text>
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:7.55906;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
id="path4378"
cx="-37.236206"
cy="348.5336"
transform="matrix(0.15624209,-0.0158163,0.0158163,0.15624209,42.807606,29.014818)"
rx="102.22083"
ry="75.96608" />
<g
id="g4978"
transform="translate(26.483624,-81.133982)">
<g
id="g4354"
transform="matrix(1.0511794,-0.10702792,0.10682266,1.0531992,-17.421238,-8.1814737)"
style="stroke:#000000;stroke-width:3.0257;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:11.4357;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
id="g4490"
style="stroke:#ffffff;stroke-width:1.89106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
transform="matrix(1.0511794,-0.10702792,0.10682266,1.0531992,9.062386,-89.315456)">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:7.14732;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
x="-85.426476"
y="382.01416"
id="text4480"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"><tspan
sodipodi:role="line"
id="tspan4478"
x="-85.426476"
y="382.01416"
id="text2332"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"><tspan
sodipodi:role="line"
id="tspan2330"
x="-85.426476"
y="382.01416"
style="font-weight:bold;stroke:#000000;stroke-width:11.4357;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">Z</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:8.09743;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
style="font-weight:bold;stroke:#ffffff;stroke-width:7.14732;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill">Z</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:5.06089;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
x="-85.426476"
y="382.01416"
id="text4484"
transform="matrix(0.3736614,0,0,0.3736614,40.606422,27.958017)"><tspan
sodipodi:role="line"
id="tspan4482"
x="-85.426476"
y="382.01416"
id="text4342"
transform="matrix(0.3736614,0,0,0.3736614,40.606422,27.958017)"><tspan
sodipodi:role="line"
id="tspan4340"
x="-85.426476"
y="382.01416"
style="font-weight:bold;stroke:#000000;stroke-width:8.09743;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">Z</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:5.50795;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
style="font-weight:bold;stroke:#ffffff;stroke-width:5.06089;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill">Z</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:3.44247;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
x="-85.426476"
y="382.01416"
id="text4488"
transform="matrix(0.54933213,0,0,0.54933213,63.985676,-38.633129)"><tspan
sodipodi:role="line"
id="tspan4486"
x="-85.426476"
y="382.01416"
id="text4346"
transform="matrix(0.54933213,0,0,0.54933213,63.985676,-38.633129)"><tspan
sodipodi:role="line"
id="tspan4344"
x="-85.426476"
y="382.01416"
style="font-weight:bold;stroke:#000000;stroke-width:5.50795;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">Z</tspan></text>
</g>
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:7.55906;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
id="path4378"
cx="-37.236206"
cy="348.5336"
transform="matrix(0.15624209,-0.0158163,0.0158163,0.15624209,16.323982,110.1488)"
rx="102.22083"
ry="75.96608" />
<g
id="g4490"
style="stroke:#ffffff;stroke-width:1.89106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
transform="matrix(1.0511794,-0.10702792,0.10682266,1.0531992,-17.421238,-8.1814737)">
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:7.14732;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
x="-85.426476"
y="382.01416"
id="text4480"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"><tspan
sodipodi:role="line"
id="tspan4478"
x="-85.426476"
y="382.01416"
style="font-weight:bold;stroke:#ffffff;stroke-width:7.14732;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill">Z</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:5.06089;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
x="-85.426476"
y="382.01416"
id="text4484"
transform="matrix(0.3736614,0,0,0.3736614,40.606422,27.958017)"><tspan
sodipodi:role="line"
id="tspan4482"
x="-85.426476"
y="382.01416"
style="font-weight:bold;stroke:#ffffff;stroke-width:5.06089;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill">Z</tspan></text>
<text
xml:space="preserve"
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#ffffff;stroke-width:3.44247;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
x="-85.426476"
y="382.01416"
id="text4488"
transform="matrix(0.54933213,0,0,0.54933213,63.985676,-38.633129)"><tspan
sodipodi:role="line"
id="tspan4486"
x="-85.426476"
y="382.01416"
style="font-weight:bold;stroke:#ffffff;stroke-width:3.44247;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill">Z</tspan></text>
</g>
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:28.5424;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
id="ellipse4800"
cx="-37.236206"
cy="348.5336"
transform="matrix(0.04197888,-0.00412883,0.00424949,0.0407868,23.549345,162.94028)"
rx="102.22083"
ry="75.96608" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:45.6509;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
id="ellipse4802"
cx="-37.236206"
cy="348.5336"
transform="matrix(0.02650169,-0.00255661,0.00268275,0.02525559,21.684179,172.89382)"
rx="102.22083"
ry="75.96608" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:79.0643;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
id="ellipse4804"
cx="-37.236206"
cy="348.5336"
transform="matrix(0.01553516,-0.00145399,0.00157261,0.01436327,19.348644,179.55458)"
rx="102.22083"
ry="75.96608" />
style="font-weight:bold;stroke:#ffffff;stroke-width:3.44247;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill">Z</tspan></text>
</g>
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:28.5424;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
id="ellipse4800"
cx="-37.236206"
cy="348.5336"
transform="matrix(0.04197888,-0.00412883,0.00424949,0.0407868,50.032969,81.806298)"
rx="102.22083"
ry="75.96608" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:45.6509;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
id="ellipse4802"
cx="-37.236206"
cy="348.5336"
transform="matrix(0.02650169,-0.00255661,0.00268275,0.02525559,48.167803,91.759838)"
rx="102.22083"
ry="75.96608" />
<ellipse
style="fill:#ffffff;stroke:#000000;stroke-width:79.0643;stroke-linecap:round;stroke-linejoin:round;paint-order:markers stroke fill"
id="ellipse4804"
cx="-37.236206"
cy="348.5336"
transform="matrix(0.01553516,-0.00145399,0.00157261,0.01436327,45.832268,98.420598)"
rx="102.22083"
ry="75.96608" />
</g>
<g
inkscape:groupmode="layer"
id="layer2"
inkscape:label="Typing"
transform="translate(-25.239306,-69.836283)">
<text
xml:space="preserve"
style="display:inline;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:5.50795;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
x="-85.426476"
y="382.01416"
id="text4346"
transform="matrix(0.57744662,-0.05879388,0.05868112,0.57855617,97.924578,-139.27771)"><tspan
sodipodi:role="line"
id="tspan4344"
x="-85.426476"
y="382.01416"
style="font-weight:bold;fill:#ff0000;stroke:none;stroke-width:5.50795;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">AFK</tspan></text>
<text
xml:space="preserve"
style="display:inline;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:5.50795;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
x="-85.426476"
y="382.01416"
id="text10354"
transform="matrix(0.57744662,-0.05879388,0.05868112,0.57855617,191.8554,-85.429197)"><tspan
sodipodi:role="line"
id="tspan10352"
x="-85.426476"
y="382.01416"
style="font-weight:bold;fill:#ff0000;stroke:none;stroke-width:5.50795;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">Lag</tspan></text>
<path
id="rect12094"
style="display:inline;fill:#ffffff;stroke:#000000;stroke-width:6.29291;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;paint-order:markers stroke fill"
d="m 436.58203,461.88867 v 49.32813 h -60.60547 v 67.48047 h 60.60547 73.41406 V 511.2168 461.88867 Z"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.83628)" />
<path
style="display:inline;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;marker-end:url(#Arrow1Mend)"
d="m 482.53054,505.40318 v 42.37886 h -46.36185"
id="path12211"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.83628)" />
<text
xml:space="preserve"
style="display:inline;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:5.50795;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
x="-85.426476"
y="382.01416"
id="text12600"
transform="matrix(0.57744662,-0.05879388,0.05868112,0.57855617,210.10385,-9.4490471)"><tspan
sodipodi:role="line"
id="tspan12598"
x="-85.426476"
y="382.01416"
style="font-weight:bold;fill:#ff0000;stroke:none;stroke-width:5.50795;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">Chat</tspan></text>
<g
id="g6346"
transform="translate(21.719798,2.7297926)"
style="display:inline">
<ellipse
style="fill:#000000;stroke:none;stroke-width:12.0945;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
id="path5631"
cx="217.16217"
cy="229.55093"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"
rx="46.740421"
ry="28.887169" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:12.0945;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
id="path5633"
cx="283.56961"
cy="211.65584"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"
rx="49.41362"
ry="24.70681" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:12.0945;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
id="path5635"
cx="224.92134"
cy="198.7343"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"
rx="31.246658"
ry="15.623329" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:12.0945;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
id="path5637"
cx="330.17172"
cy="253.50018"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"
rx="68.117523"
ry="22.705841" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:12.0945;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
id="path5639"
cx="255.68695"
cy="251.11713"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"
rx="48.218082"
ry="29.800415" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:12.0945;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
id="path5641"
cx="313.8475"
cy="232.84682"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"
rx="48.923065"
ry="24.461533" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:12.0945;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
id="path5643"
cx="309.87683"
cy="195.01982"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"
rx="68.558006"
ry="22.852669" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:12.0945;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
id="path5645"
cx="348.1474"
cy="223.02937"
transform="matrix(0.26458333,0,0,0.26458333,27.602114,69.743758)"
rx="55.951981"
ry="27.97599" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:12.0945;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
id="path5647"
cx="361.02084"
cy="206.80559"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"
rx="26.230331"
ry="13.115166" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:12.0945;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
id="path5649"
cx="247.04356"
cy="191.75652"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"
rx="24.298691"
ry="8.0995636" />
<path
id="path5090"
style="fill:#ffffff;stroke:#000000;stroke-width:6.29291;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill"
transform="matrix(0.31617222,-0.06563396,-0.10444832,0.2430944,42.52738,142.34038)"
d="m 208.5957,23.630859 -10.94531,55.41211 h 7.16992 l -5.82617,31.320311 h 5.91992 l -3.93359,24.11328 h -7.88281 l -2.7793,31.16406 23.17578,-31.16406 h -7.75391 l 20.66993,-30.85937 H 211.15234 L 232.9668,70.080078 h -17.63477 l 29.83985,-46.449219 z" />
<ellipse
style="fill:#ffffff;stroke:none;stroke-width:6.29291;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;paint-order:markers stroke fill"
id="path6037"
cx="267.9502"
cy="240.37277"
transform="matrix(0.26458333,0,0,0.26458333,22.644826,70.768191)"
rx="45.225464"
ry="28.75219" />
<ellipse
style="fill:#ffffff;stroke:none;stroke-width:6.29291;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;paint-order:markers stroke fill"
id="path6039"
cx="322.2392"
cy="228.57848"
transform="matrix(0.26458333,0,0,0.26458333,22.644826,70.768191)"
rx="38.786072"
ry="29.983635" />
<ellipse
style="fill:#ffffff;stroke:none;stroke-width:5.85265;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;paint-order:markers stroke fill"
id="path6041"
cx="347.88861"
cy="227.99757"
transform="matrix(0.38050133,0,0,0.21269985,-18.042816,86.097044)"
rx="37.787537"
ry="31.142097" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:6.22408;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;paint-order:markers stroke fill"
id="ellipse6159"
cx="267.9502"
cy="240.37277"
transform="matrix(0.26750929,0,0,0.26750929,18.032432,68.660701)"
rx="45.225464"
ry="28.75219" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:6.7386;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;paint-order:markers stroke fill"
id="ellipse6161"
cx="347.88861"
cy="227.99757"
transform="matrix(0.33047538,0,0,0.18473539,1.4477238,90.782612)"
rx="37.787537"
ry="31.142097" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:5.61811;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;paint-order:markers stroke fill"
id="ellipse6163"
cx="322.2392"
cy="228.57848"
transform="matrix(0.29636256,0,0,0.29636256,10.206804,61.260695)"
rx="38.786072"
ry="29.983635" />
<ellipse
style="fill:#ffffff;stroke:none;stroke-width:4.59434;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;paint-order:markers stroke fill"
id="ellipse6287"
cx="322.2392"
cy="228.57848"
transform="matrix(0.44315784,0,0,0.29636256,-37.096389,60.278928)"
rx="38.786072"
ry="29.983635" />
<ellipse
style="fill:#000000;stroke:none;stroke-width:3.95769;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:10;stroke-dasharray:none;paint-order:markers stroke fill"
id="ellipse6307"
cx="322.2392"
cy="228.57848"
transform="matrix(0.5263824,0,0,0.33623535,-64.457529,48.485077)"
rx="38.786072"
ry="29.983635" />
</g>
<text
xml:space="preserve"
style="display:inline;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:11.4357;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
x="-85.426476"
y="382.01416"
id="text13176"
transform="matrix(0.27812455,-0.0283178,0.0282635,0.27865895,43.053522,-18.465248)"><tspan
sodipodi:role="line"
id="tspan13174"
x="-85.426476"
y="382.01416"
style="font-weight:bold;stroke:#000000;stroke-width:11.4357;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">Z</tspan></text>
<text
xml:space="preserve"
style="display:inline;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:40px;line-height:1.25;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:8.09743;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none"
x="-85.426476"
y="382.01416"
id="text13180"
transform="matrix(0.39278518,-0.0399922,0.0399155,0.3935399,54.733569,-64.216117)"><tspan
sodipodi:role="line"
id="tspan13178"
x="-85.426476"
y="382.01416"
style="font-weight:bold;stroke:#000000;stroke-width:8.09743;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none">Z</tspan></text>
<path
id="ellipse13182"
style="display:inline;fill:#ffffff;stroke:#000000;stroke-width:4.4866;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:16;stroke-dasharray:none;paint-order:markers stroke fill"
d="M 71.255859,8.5175781 C 67.749402,8.4142065 64.219067,8.5409901 60.705078,8.8964844 27.366963,12.271343 2.374392,35.091788 4.8828125,59.867188 7.3914931,84.641904 36.449852,101.98983 69.787109,98.615234 76.91129,97.890319 83.883453,96.233901 90.380859,93.722656 113.98318,94.506809 101.45726,118.84539 85.132754,129.8774 110.23286,118.65113 123.46695,97.467169 104.33203,86.476562 119.14178,76.459138 127.05336,62.020911 125.60938,47.646484 123.40581,25.87632 100.48764,9.3776118 71.255859,8.5175781 Z"
transform="matrix(0.26458333,0,0,0.26458333,25.239306,69.836283)"
sodipodi:nodetypes="ccccccccc" />
<g
id="g13196"
style="display:inline;stroke:#ffffff;stroke-width:1.89106;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;paint-order:markers stroke fill"
transform="matrix(1.0511794,-0.10702792,0.10682266,1.0531992,9.062386,-89.315455)" />
<text
xml:space="preserve"
style="font-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.00563"
x="63.899078"
y="58.153423"
id="text17950"
transform="matrix(0.26310118,-0.05276657,0,0.26310118,10.177018,78.923528)"><tspan
sodipodi:role="line"
id="tspan17948"
x="63.899078"
y="58.153423"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-family:'Liberation Sans';-inkscape-font-specification:'Liberation Sans';stroke-width:1.00563">%$^#!</tspan></text>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 25 KiB

View File

@ -9,6 +9,9 @@ extends CharacterBody3D
@onready var crosshair = hud.get_node("Crosshair")
@onready var vignette = hud.get_node("Vignette")
@onready var banner_busy = preload("res://Assets/Effects/Busy.png")
@onready var banner_chat = preload("res://Assets/Effects/Typing.png")
@onready var head = $Head
@onready var camera = $Head/Camera
@onready var tween = $Head/Camera/Tween
@ -117,11 +120,16 @@ var last_viewed_banner = null
func view_banner(show:bool):
focus_banner_show = show
@rpc(nosync, reliable, auth) func focus_banner(show:bool):
@rpc(nosync, reliable, auth) func focus_banner(show:bool, type:=0 ):
if show:
$FocusBanner.show()
else:
$FocusBanner.hide()
match type:
0: $FocusBanner.mesh.surface_get_material(0).set("albedo_texture", banner_busy)
1: $FocusBanner.mesh.surface_get_material(0).set("albedo_texture", banner_chat)
@rpc(auth, nosync,unreliable) func update_movement(player_transform, head_rotation, lin_velocity, jetpack):
global_transform = player_transform

BIN
Game/Assets/Effects/Typing.png (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -0,0 +1,35 @@
[remap]
importer="texture"
type="StreamTexture2D"
uid="uid://b1bf2ni3gggce"
path="res://.godot/imported/Typing.png-cfa6ed9a5a612bb50eac93e4420acb28.stex"
metadata={
"vram_texture": false
}
[deps]
source_file="res://Assets/Effects/Typing.png"
dest_files=["res://.godot/imported/Typing.png-cfa6ed9a5a612bb50eac93e4420acb28.stex"]
[params]
compress/mode=0
compress/lossy_quality=0.7
compress/hdr_compression=1
compress/bptc_ldr=0
compress/normal_map=0
compress/channel_pack=0
compress/streamed=false
mipmaps/generate=false
mipmaps/limit=-1
roughness/mode=0
roughness/src_normal=""
process/fix_alpha_border=true
process/premult_alpha=false
process/normal_map_invert_y=false
process/HDR_as_SRGB=false
process/size_limit=0
detect_3d/compress_to=1
svg/scale=1.0

View File

@ -7,21 +7,20 @@ extends Control
@onready var chat_label = $VBoxContainer/Typing/Label
enum ChatState {INACTIVE, TYPING_ALL, TYPING_TEAM}
enum GameFocus {MENU, GAME, CHAT, AWAY} # copied from Main.gd TODO: delete this
var state = ChatState.INACTIVE :
set(new_state):
state = new_state
match new_state:
0: #ChatState.INACTIVE:
ChatState.INACTIVE:
chat_typing.hide()
chat_editor.release_focus()
1: #ChatState.TYPING_ALL:
ChatState.TYPING_ALL:
chat_label.text = "all: "
chat_typing.show()
chat_editor.grab_focus()
chat_editor.text = ''
2: #ChatState.TYPING_TEAM:
ChatState.TYPING_TEAM:
chat_label.text = "team: "
chat_typing.show()
chat_editor.grab_focus()
@ -34,25 +33,25 @@ func _ready():
func _input(_event) -> void:
if state == ChatState.INACTIVE:
if Input.is_action_just_pressed("say_all"):
main.focus = 2 #main.GameFocus.CHAT
state = 1 #ChatState.TYPING_ALL
main.focus = main.GameFocus.CHAT
state = ChatState.TYPING_ALL
get_tree().get_root().set_input_as_handled()
if Input.is_action_just_pressed("say_team"):
main.focus = 2 #main.GameFocus.CHAT
state = 2 #ChatState.TYPING_TEAM
main.focus = main.GameFocus.CHAT
state = ChatState.TYPING_TEAM
get_tree().get_root().set_input_as_handled()
elif Input.is_action_just_pressed("say_cancel"):
main.focus = 1 #main.GameFocus.GAME
state = 0 #ChatState.INACTIVE
main.focus = main.GameFocus.GAME
state = ChatState.INACTIVE
func _unhandled_input(_event) -> void:
if state != 0: #ChatState.INACTIVE:
if state != ChatState.INACTIVE:
get_tree().get_root().set_input_as_handled()
# doesn't work over network due to missing RPC implementation in Godot 4
@rpc func chat_message(sender_pid: int, recipient_team, message: String) -> void:
@rpc(sync, any, reliable) func chat_message(sender_pid: int, recipient_team, message: String) -> void:
var sender_info = main.player_list.get(sender_pid)
chat_history.append_text('\n' + '[b][color=' + sender_info.color.to_html() +']' + str(sender_info.name) + '[/color][/b] : [i]' + message + '[/i]')
@ -65,5 +64,5 @@ func _on_Editor_text_submitted(new_text):
var new_message = [sender_id, 0, new_text]
rpc(&'chat_message',sender_id, 0, new_text)
chat_editor.text = ''
state = 0 #ChatState.INACTIVE
main.focus = 0 #main.GameFocus.GAME
state = ChatState.INACTIVE
main.focus = main.GameFocus.GAME

View File

@ -3,3 +3,8 @@ extends "res://Assets/UI/Menu.gd"
func change_player_color(data):
if Main:
Main.change_player_color(data)
func change_player_name(data):
if Main:
Main.change_player_name(data)

View File

@ -31,4 +31,5 @@ offset_top = 70.0
offset_right = 155.0
offset_bottom = 99.0
[connection signal="data_changed" from="UsernameLineEdit" to="." method="change_player_name"]
[connection signal="data_changed" from="PlayerColor" to="." method="change_player_color"]

View File

@ -146,7 +146,7 @@ var focus:GameFocus:
hud.hide()
if local_player:
local_player.input_active = false
local_player.rpc(&"focus_banner", true)
local_player.rpc(&"focus_banner", true, 0)
1: # GAME
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
gui.hide()
@ -157,11 +157,11 @@ var focus:GameFocus:
2: # CHAT
if local_player:
local_player.input_active = false
local_player.rpc(&"focus_banner", true)
local_player.rpc(&"focus_banner", true, 1)
3: #AWAY
if local_player:
local_player.input_active = true
local_player.rpc(&"focus_banner", true)
local_player.rpc(&"focus_banner", true, 2)
focus = new_focus
@ -442,9 +442,11 @@ func _ready() -> void:
start_dedicated_server()
func change_player_color(color):
_on_ColorPickerButton_color_changed(color)
func _on_ColorPickerButton_color_changed(color):
if get_tree().multiplayer.has_multiplayer_peer():
player_list.players[get_tree().multiplayer.get_unique_id()].color = color
push_local_player_info()
func change_player_name(player_name):
if get_tree().multiplayer.has_multiplayer_peer():
player_list.players[get_tree().multiplayer.get_unique_id()].name = player_name
push_local_player_info()