aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--webAO/client.html5
-rw-r--r--webAO/client.js54
-rw-r--r--webAO/styles/chatbox/aa.css150
-rw-r--r--webAO/styles/chatbox/chatboxes.js9
-rw-r--r--webAO/styles/chatbox/chatdd.css48
-rw-r--r--webAO/styles/chatbox/chatwaiting_triology.svg1
-rw-r--r--webAO/styles/chatbox/dgs.css54
-rw-r--r--webAO/styles/chatbox/dgs_chat_bg.pngbin0 -> 1763 bytes
-rw-r--r--webAO/styles/chatbox/drae.css48
-rw-r--r--webAO/styles/chatbox/legacy.css49
-rw-r--r--webAO/styles/chatbox/triology.css139
-rw-r--r--webAO/styles/chatbox/yttd.css113
-rw-r--r--webAO/styles/classic.css143
-rw-r--r--webAO/styles/cyber.css58
-rw-r--r--webAO/styles/default.css39
-rw-r--r--webAO/styles/soj.css48
16 files changed, 651 insertions, 307 deletions
diff --git a/webAO/client.html b/webAO/client.html
index 74d374b..15495e6 100644
--- a/webAO/client.html
+++ b/webAO/client.html
@@ -30,6 +30,7 @@
<link rel="stylesheet" type="text/css" href="styles/client.css?v=1.0.0" id="client_stylesheet">
<link rel="stylesheet" type="text/css" href="styles/default.css?v=1.0.0" id="client_theme">
+ <link rel="stylesheet" type="text/css" href="styles/chatbox/aa.css?v=1.0.0" id="chatbox_theme">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link type="text/css" rel="stylesheet" href="golden/css/goldenlayout.css" />
<link type="text/css" rel="stylesheet"
@@ -76,7 +77,9 @@
<img id="client_evi" src="" alt="Character Evidence" onerror="imgError(this);">
<img id="client_shout" alt="Shout overlay" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=">
<div id="client_chatcontainer">
- <div id="client_name"></div>
+ <div id="client_name">
+ <p id="client_inner_name"></p>
+ </div>
<div id="client_chat">
<p id="client_inner_chat"></p>
<div id="client_chatwaiting">&#9654;</div>
diff --git a/webAO/client.js b/webAO/client.js
index 9be4529..c44ed74 100644
--- a/webAO/client.js
+++ b/webAO/client.js
@@ -14,6 +14,8 @@ import background_arr from "./backgrounds.js";
import evidence_arr from "./evidence.js";
import sfx_arr from "./sounds.js";
+import chatbox_arr from "./styles/chatbox/chatboxes.js";
+
import { EventEmitter } from "events";
import { version } from '../package.json';
@@ -502,12 +504,14 @@ class Client extends EventEmitter {
let msg_nameplate = args[3];
let msg_blips = "male";
+ let char_chatbox = "default";
let char_muted = false;
try {
msg_nameplate = this.chars[char_id].showname;
msg_blips = this.chars[char_id].gender;
- char_muted = this.chars[char_id].muted;
+ char_chatbox = this.chars[char_id].chat;
+ char_muted = this.chars[char_id].muted;
if(this.chars[char_id].name !== char_name) {
console.info(this.chars[char_id].name + " is iniediting to " + char_name);
@@ -527,6 +531,7 @@ class Client extends EventEmitter {
deskmod: safe_tags(args[1]).toLowerCase(),
preanim: safe_tags(args[2]).toLowerCase(), // get preanim
nameplate: msg_nameplate, // TODO: there's a new feature that let's people choose the name that's displayed
+ chatbox: char_chatbox,
name: char_name,
sprite: safe_tags(args[4]).toLowerCase(),
content: prepChat(args[5]), // Escape HTML tags
@@ -664,7 +669,8 @@ class Client extends EventEmitter {
name: chargs[0],
showname: chargs[0],
side: "def",
- gender: "male"
+ gender: "male",
+ chat: "aa"
};
cini.options = Object.assign(default_options, cini.options);
@@ -679,6 +685,8 @@ class Client extends EventEmitter {
showname: safe_tags(cini.options.showname),
desc: safe_tags(chargs[1]),
gender: safe_tags(cini.options.gender).toLowerCase(),
+ side: safe_tags(cini.options.side).toLowerCase(),
+ chat: safe_tags(cini.options.chat).toLowerCase(),
evidence: chargs[3],
icon: icon,
inifile: cini,
@@ -1542,13 +1550,12 @@ async changeBackground(position) {
const pairSprite = document.getElementById("client_pair_char");
const chatContainerBox = document.getElementById("client_chatcontainer");
- const nameBox = document.getElementById("client_name");
- const chatBox = document.getElementById("client_chat");
+ const nameBoxInner = document.getElementById("client_inner_name");
const chatBoxInner = document.getElementById("client_inner_chat");
//Clear out the last message
chatBoxInner.innerText = this.textnow;
- nameBox.innerText = this.chatmsg.nameplate;
+ nameBoxInner.innerText = this.chatmsg.nameplate;
if (this.lastChar !== this.chatmsg.name) {
charSprite.style.display = "none";
@@ -1586,8 +1593,6 @@ async changeBackground(position) {
const shout = this.shouts[this.chatmsg.objection];
if (shout) {
// Hide message box
- nameBox.style.display = "none";
- chatBox.style.display = "none";
chatContainerBox.style.display = "none";
shoutSprite.src = client.resources[shout]["src"];
shoutSprite.style.display = "block";
@@ -1619,8 +1624,6 @@ async changeBackground(position) {
case 1:
// play preanim
// Hide message box
- nameBox.style.display = "none";
- chatBox.style.display = "none";
chatContainerBox.style.display = "none";
// If preanim existed then determine the length
gifLength = await this.getAnimLength(`${AO_HOST}characters/${encodeURI(this.chatmsg.name.toLowerCase())}/${encodeURI(this.chatmsg.preanim)}.gif`);
@@ -1638,6 +1641,14 @@ async changeBackground(position) {
this.changeBackground(chatmsg.side);
+ const chatbox_theme = document.getElementById("chatbox_theme");
+ if (chatbox_arr.includes(chatmsg.chatbox)) {
+ chatbox_theme.href = "styles/chatbox/" + chatmsg.chatbox + ".css";
+ } else {
+ chatbox_theme.href = "styles/chatbox/aa.css";
+ }
+ resizeChatbox();
+
// Flip the character
if (this.chatmsg.flip === 1) {
charSprite.style.transform = "scaleX(-1)";
@@ -1701,8 +1712,7 @@ async changeBackground(position) {
this.updater = setTimeout(() => this.tick(), UPDATE_INTERVAL);
}
- const nameBox = document.getElementById("client_name");
- const chatBox = document.getElementById("client_chat");
+ const gamewindow = document.getElementById("client_gamewindow");
const waitingBox = document.getElementById("client_chatwaiting");
const charSprite = document.getElementById("client_char");
const pairSprite = document.getElementById("client_pair_char");
@@ -1716,7 +1726,7 @@ async changeBackground(position) {
if (this.chatmsg.flash === 2) {
// Shake screen
this.playSFX(AO_HOST + "sounds/general/sfx-stab.wav");
- document.getElementById("client_gamewindow").style.animation = "shake 0.2s 1";
+ gamewindow.style.animation = "shake 0.2s 1";
} else if (this.chatmsg.flash === 1) {
// Flash screen
this.playSFX(AO_HOST + "sounds/general/sfx-realization.wav");
@@ -1769,16 +1779,13 @@ async changeBackground(position) {
}
}
- document.getElementById("client_chatcontainer").style.display = "block";
+ resizeChatbox();
- nameBox.style.display = "block";
- nameBox.style.fontSize = (nameBox.offsetHeight * 0.7) + "px";
+ const chatContainerBox = document.getElementById("client_chatcontainer");
+ chatContainerBox.style.display = "block";
chatBoxInner.className = "text_" + this.colors[this.chatmsg.color];
- chatBox.style.display = "block";
- chatBox.style.fontSize = (chatBox.offsetHeight * 0.25) + "px";
-
this.chatmsg.startspeaking = false;
if (this.chatmsg.preanimdelay === 0) {
@@ -2432,6 +2439,17 @@ export function getIndexFromSelect(select_box, value) {
window.getIndexFromSelect = getIndexFromSelect;
/**
+ * Set the font size for the chatbox
+ */
+export function resizeChatbox() {
+ const chatContainerBox = document.getElementById("client_chatcontainer");
+ const gameHeight = document.getElementById("client_background").offsetHeight;
+
+ chatContainerBox.style.fontSize = (gameHeight * 0.05) + "px";
+}
+window.resizeChatbox = resizeChatbox;
+
+/**
* Update evidence icon.
*/
export function updateEvidenceIcon() {
diff --git a/webAO/styles/chatbox/aa.css b/webAO/styles/chatbox/aa.css
new file mode 100644
index 0000000..2d1f530
--- /dev/null
+++ b/webAO/styles/chatbox/aa.css
@@ -0,0 +1,150 @@
+@font-face {
+ font-family: 'ace_attorneyregular';
+ src: url('ace-attorney.woff2') format('woff2'),
+ url('ace-attorney.woff') format('woff');
+ font-weight: normal;
+ font-style: normal;
+}
+
+.text_white {
+ color: #fff;
+}
+
+.text_blue {
+ color: #6bc6f7;
+}
+
+.text_green {
+ color: #00f700;
+}
+
+.text_red {
+ color: #f00;
+}
+
+.text_orange {
+ color: #f77339;
+}
+
+.text_yellow {
+ color: #ff0;
+}
+
+.text_pink {
+ color: #ffc0cb;
+}
+
+.text_cyan {
+ color: #0ff;
+}
+
+.text_rainbow {
+ background-color: #fff;
+ background-image: repeating-linear-gradient(to right,
+ red 0% 8%, orange 8% 16%, yellow 16% 24%, green 24% 32%, blue 32% 40%,
+ red 40% 48%, orange 48% 56%, yellow 56% 64%, green 64% 72%, blue 72% 80%,
+ red 80% 88%, orange 88% 96%, yellow 96% 100%);
+ background-size: 40% 40%;
+ background-clip: text;
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ animation: rainbow 4s linear infinite;
+}
+
+@keyframes rainbow {
+ 0% {
+ background-position: 0 0;
+ }
+
+ 100% {
+ background-position: 400% 0;
+ }
+}
+
+#client_chatcontainer {
+ display: block;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ height: 40%;
+ width: 100%;
+ filter: none;
+ font-family: "Ace Attorney", "ace_attorneyregular", "MS PGothic", "MS UI Gothic", "MS Sans Serif", "Hiragino Maru Gothic Pro", "Mitra Mono", "Mukti Narrow", "Meera", "Khmer OS", "FreeSans", "Gargi", sans-serif;
+}
+
+#client_name {
+ display: block;
+ position: absolute;
+ left: 0;
+ top: 0;
+ height: 13%;
+ min-width: 3.25em;
+ background: rgba(56, 56, 163, 0.5);
+ box-shadow: 0.075em 0.075em rgba(0, 56, 163, 0.5) inset;
+ padding: 0 2%;
+ border-color: rgba(255, 255, 255, 0.5);
+ border-style: ridge groove groove ridge;
+ border-width: 0.2em;
+ border-radius: 0.2em;
+ z-index: 1;
+}
+
+#client_name p {
+ text-justify: distribute;
+ letter-spacing: 0.075em;
+ margin: 1px;
+ font-weight: bold;
+}
+
+#client_chat {
+ display: block;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ width: 98%;
+ width: calc(100% - 0.275em);
+ height: 78%;
+ margin: auto;
+ border-color: rgba(255, 255, 255, 0.5);
+ border-style: ridge groove groove ridge;
+ border-width: 0.15em;
+ border-radius: 0.3em;
+ background-color: rgba(0, 0, 16, 0.5);
+ font-size: 2em;
+ word-break: keep-all;
+ overflow-wrap: break-word;
+ text-align: left;
+ overflow: hidden;
+ scroll-behavior: smooth;
+}
+
+#client_chat p {
+ padding: 1% 3.13%;
+ margin: 1px;
+ line-height: 97%;
+ letter-spacing: 0.05em;
+ word-spacing: 0.3em;
+}
+
+#client_chatwaiting {
+ display: block;
+ position: absolute;
+ right: 2%;
+ bottom: 15%;
+ line-height: 0.5;
+ animation: idling 0.4s linear infinite;
+}
+
+@keyframes idling {
+ 0% {
+ right: 0;
+ }
+
+ 50% {
+ right: 2%;
+ }
+
+ 100% {
+ right: 0;
+ }
+} \ No newline at end of file
diff --git a/webAO/styles/chatbox/chatboxes.js b/webAO/styles/chatbox/chatboxes.js
new file mode 100644
index 0000000..01deaa1
--- /dev/null
+++ b/webAO/styles/chatbox/chatboxes.js
@@ -0,0 +1,9 @@
+export default [
+ "aa",
+ "chatdd",
+ "dgs",
+ "drae",
+ "legacy",
+ "triology",
+ "yttd"
+]; \ No newline at end of file
diff --git a/webAO/styles/chatbox/chatdd.css b/webAO/styles/chatbox/chatdd.css
new file mode 100644
index 0000000..233cdc3
--- /dev/null
+++ b/webAO/styles/chatbox/chatdd.css
@@ -0,0 +1,48 @@
+#client_chatcontainer {
+ position: absolute;
+ bottom: 0;
+ height: 27%;
+ width: 100%;
+ font-family: sans-serif;
+ background-image: url("../images/chatbox.svg");
+ background-size: cover;
+ background-repeat: no-repeat;
+}
+
+#client_name {
+ display: block;
+ top: 4%;
+ padding: 0 10px;
+ height: 22%;
+ position: absolute;
+}
+
+#client_chat {
+ font-size: 1em;
+ display: block;
+ width: 100%;
+ margin: auto;
+ height: 90%;
+ top: 20%;
+ position: absolute;
+ word-break: keep-all;
+ word-wrap: break-word;
+ overflow-wrap: break-word;
+ text-align: left;
+ overflow: hidden;
+ scroll-behavior: smooth;
+}
+
+#client_chat p {
+ margin: 4px;
+ padding: 5px 3%;
+}
+
+#client_chatwaiting {
+ display: block;
+ right: 1em;
+ bottom: 0.6em;
+ width: 1em;
+ position: absolute;
+ animation: idling 1s linear infinite;
+} \ No newline at end of file
diff --git a/webAO/styles/chatbox/chatwaiting_triology.svg b/webAO/styles/chatbox/chatwaiting_triology.svg
new file mode 100644
index 0000000..6ce23eb
--- /dev/null
+++ b/webAO/styles/chatbox/chatwaiting_triology.svg
@@ -0,0 +1 @@
+<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60" viewBox="0 0 15.9 15.9"><defs/><g fill="#ffd660" stroke="#b58a18" stroke-linecap="round" stroke-linejoin="round" stroke-width=".3"><path d="M.1.1H4L9.3 8 4 15.7H0L5.3 8z"/><path d="M6.6.1h4L15.7 8l-5.1 7.8h-4L12 8z"/></g></svg> \ No newline at end of file
diff --git a/webAO/styles/chatbox/dgs.css b/webAO/styles/chatbox/dgs.css
new file mode 100644
index 0000000..4adba28
--- /dev/null
+++ b/webAO/styles/chatbox/dgs.css
@@ -0,0 +1,54 @@
+@font-face {
+ font-family: 'Cabin Condensed';
+ font-style: normal;
+ font-weight: 400;
+ font-display: swap;
+ src: local('Cabin Condensed'), local('CabinCondensed-Regular'), url(https://fonts.gstatic.com/s/cabincondensed/v13/nwpMtK6mNhBK2err_hqkYhHRqmwqZ-LY.woff2) format('woff2');
+}
+
+#client_chatcontainer {
+ font-family: 'Cabin Condensed', sans-serif;
+}
+
+#client_name {
+ display: block;
+ padding: 0px 6px;
+ height: 5%;
+ border: 1px solid #a59252;
+ background-image: linear-gradient(#635529, #8c7d42);
+ left: 2%;
+ top: 65%;
+ border-radius: 3px;
+ position: absolute;
+ z-index: 1;
+}
+
+#client_chat {
+ font-size: 1em;
+ display: block;
+ width: 100%;
+ margin: auto;
+ height: 30%;
+ border-image-source: url("dgs_chat_bg.png");
+ border-image-slice: 12;
+ border-image-width: 12px;
+ border-width: 12px;
+ background-color: #101821;
+ top: 70%;
+ position: absolute;
+ word-break: keep-all;
+ word-wrap: break-word;
+ overflow-wrap: break-word;
+ text-align: left;
+ overflow: hidden;
+ scroll-behavior: smooth;
+}
+
+#client_chat p {
+ margin: 6px;
+ padding: 6px 20px;
+}
+
+#client_chatwaiting {
+ display: none;
+} \ No newline at end of file
diff --git a/webAO/styles/chatbox/dgs_chat_bg.png b/webAO/styles/chatbox/dgs_chat_bg.png
new file mode 100644
index 0000000..90e408a
--- /dev/null
+++ b/webAO/styles/chatbox/dgs_chat_bg.png
Binary files differ
diff --git a/webAO/styles/chatbox/drae.css b/webAO/styles/chatbox/drae.css
new file mode 100644
index 0000000..c8e2293
--- /dev/null
+++ b/webAO/styles/chatbox/drae.css
@@ -0,0 +1,48 @@
+#client_chatcontainer {
+ font-family: sans-serif;
+}
+
+#client_name {
+ display: block;
+ padding: 0 0.45em;
+ height: 5.2%;
+ width: 40%;
+ text-align: left;
+ letter-spacing: 0.075em;
+ font-weight: bold;
+ background: rgba(255, 0, 187, 0.9);
+ left: 0;
+ bottom: 31.25%;
+ position: absolute;
+ z-index: 1;
+}
+
+#client_chat {
+ font-size: 1em;
+ display: block;
+ width: 100%;
+ margin: auto;
+ height: 31.25%;
+ border-top: 2px solid #ff00ab;
+ border-bottom: 2px solid #e9019e;
+ background-image: linear-gradient(rgba(33,18,28,0.75),rgba(45,18,36,0.75));
+ bottom: 0;
+ position: absolute;
+ word-break: keep-all;
+ overflow-wrap: break-word;
+ text-align: left;
+ overflow: hidden;
+ scroll-behavior: smooth;
+}
+
+#client_chat p {
+ padding: 1% 3.13%;
+ margin: 1px;
+ line-height: 97%;
+ letter-spacing: 0.05em;
+ word-spacing: 0.3em;
+}
+
+#client_chatwaiting {
+ display: none;
+} \ No newline at end of file
diff --git a/webAO/styles/chatbox/legacy.css b/webAO/styles/chatbox/legacy.css
new file mode 100644
index 0000000..3a23ca0
--- /dev/null
+++ b/webAO/styles/chatbox/legacy.css
@@ -0,0 +1,49 @@
+#client_chatcontainer {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ height: 40%;
+ width: 100%;
+}
+
+#client_name {
+ display: block;
+ position: absolute;
+ top: 0;
+ left: 0;
+ height: 16%;
+ border: 1px solid rgba(255, 255, 255, 0.7);
+ border-radius: 3px;
+ background: rgba(73, 0, 254, 0.5);
+ padding: 0px 6px;
+ z-index: 1;
+}
+
+#client_chat {
+ position: absolute;
+ display: block;
+ bottom: 0;
+ left: 0;
+ width: 98%;
+ width: calc(100% - 4px);
+ height: 80%;
+ border: 2px solid rgba(255, 255, 255, 0.7);
+ border-radius: 4px;
+ background-color: rgba(0, 0, 0, 0.5);
+ margin: auto;
+ font-size: 1em;
+ word-break: keep-all;
+ word-wrap: break-word;
+ overflow-wrap: break-word;
+ text-align: left;
+ overflow: hidden;
+ scroll-behavior: smooth;
+}
+
+#client_chat p {
+ margin: 4px;
+}
+
+#client_chatwaiting {
+ display: none;
+} \ No newline at end of file
diff --git a/webAO/styles/chatbox/triology.css b/webAO/styles/chatbox/triology.css
new file mode 100644
index 0000000..5139481
--- /dev/null
+++ b/webAO/styles/chatbox/triology.css
@@ -0,0 +1,139 @@
+.text_white {
+ color: #fff;
+}
+
+.text_green {
+ color: #00c900;
+}
+
+.text_red {
+ color: #ff1700;
+}
+
+.text_orange {
+ color: #ffa500;
+}
+
+.text_blue {
+ color: #67b7ed;
+}
+
+.text_yellow {
+ color: #ff0;
+}
+
+.text_pink {
+ color: #ffc0cb;
+}
+
+.text_cyan {
+ color: #0ff;
+}
+
+.text_rainbow {
+ background-color: #fff;
+ background-image: repeating-linear-gradient(to right,
+ red 0% 8%, orange 8% 16%, yellow 16% 24%, green 24% 32%, blue 32% 40%,
+ red 40% 48%, orange 48% 56%, yellow 56% 64%, green 64% 72%, blue 72% 80%,
+ red 80% 88%, orange 88% 96%, yellow 96% 100%);
+ background-size: 40% 40%;
+ background-clip: text;
+ -webkit-background-clip: text;
+ -webkit-text-fill-color: transparent;
+ animation: rainbow 4s linear infinite;
+}
+
+@keyframes rainbow_alt {
+
+ 0%,
+ 100% {
+ background-position: 0 0;
+ }
+
+ 50% {
+ background-position: 400% 0;
+ }
+}
+
+@keyframes rainbow {
+ 0% {
+ background-position: 0 0;
+ }
+
+ 100% {
+ background-position: 400% 0;
+ }
+}
+
+#client_chatcontainer {
+ position: absolute;
+ bottom: 0;
+ height: 30%;
+ width: 100%;
+ font-family: "FOTK-Yoon Mincho 740", serif;
+}
+
+#client_name {
+ display: block;
+ background-color: #2989bd;
+ top: 0;
+ left: 10%;
+ padding: 0 10px;
+ height: 20%;
+ min-width: 15%;
+ border: 1px white;
+ border-style: solid none solid none;
+ position: absolute;
+ z-index: 1;
+}
+
+#client_chat {
+ font-size: 1em;
+ display: block;
+ width: 100%;
+ margin: auto;
+ height: 90%;
+ top: 10%;
+ position: absolute;
+ word-break: keep-all;
+ word-wrap: break-word;
+ overflow-wrap: break-word;
+ text-align: left;
+ overflow: hidden;
+ scroll-behavior: smooth;
+ background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAL0lEQVQImWOQ98nYzGsVupnXKnSzvE8GCmaASWBTgF8S3VhkNgOySnRTiJdENxYAYC1Ff2vnYrkAAAAASUVORK5CYII=) repeat;
+ border: 1px white;
+ border-style: solid none solid none;
+}
+
+#client_chat p {
+ margin: 4px;
+ padding: 2% 5%;
+}
+
+#client_chatwaiting {
+ display: block;
+ color: transparent;
+ right: 0.6em;
+ bottom: 0.6em;
+ width: 1em;
+ height: 1em;
+ background-image: url("chatwaiting_triology.svg");
+ background-size: contain;
+ position: absolute;
+ animation: idling 0.5s ease infinite;
+}
+
+@keyframes idling {
+ 0% {
+ right: 0.6em;
+ }
+
+ 25% {
+ right: 0.7em;
+ }
+
+ 100% {
+ right: 0.6em;
+ }
+} \ No newline at end of file
diff --git a/webAO/styles/chatbox/yttd.css b/webAO/styles/chatbox/yttd.css
new file mode 100644
index 0000000..8eddeb0
--- /dev/null
+++ b/webAO/styles/chatbox/yttd.css
@@ -0,0 +1,113 @@
+
+#client_chatcontainer {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ height: 50%;
+ width: 100%;
+ filter: none;
+ font-family: "DejaVu Sans Mono", "BIZ UDGothic", "Consolas", sans-serif;
+ text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
+}
+
+.text_white {
+ color: #fff;
+}
+
+.text_blue {
+ color: #93bbe6;
+}
+
+.text_green {
+ color: #6ab057;
+}
+
+.text_red {
+ color: #e1522a;
+}
+
+.text_orange {
+ color: #cf714c;
+}
+
+.text_yellow {
+ color: #fef9ad;
+}
+
+.text_pink {
+ color: #ffc0cb;
+}
+
+.text_cyan {
+ color: #0ff;
+}
+
+
+
+#client_name {
+ display: block;
+ top: 0;
+ left: 0;
+ height: 27%;
+ height: calc(30% - 6px);
+ min-width: 10%;
+ background-color: rgba(0, 0, 0, 0.5);
+ border-style: double;
+ border-color: #ffa500;
+ position: absolute;
+ z-index: 1;
+}
+
+#client_name p{
+ margin: 0;
+ padding: 2% 3%;
+ color: #fef9ad;
+}
+
+#client_chat {
+ display: block;
+ position: absolute;
+ bottom: 0;
+ width: 99%;
+ width: calc(100% - 6px);
+ margin: auto;
+ height: 70%;
+ height: calc(70% - 6px);
+ border-style: double;
+ border-color: #ffa500;
+ background-color: rgba(0, 0, 0, 0.5);
+ overflow-wrap: break-word;
+ text-align: left;
+ overflow: hidden;
+ scroll-behavior: smooth;
+}
+
+#client_chat p {
+ padding: 1% 3.13%;
+ margin: 1px;
+ font-size: 1.3em;
+}
+
+#client_chatwaiting {
+ display: block;
+ position: absolute;
+ transform: rotate(90deg);
+ left: 50%;
+ bottom: 0px;
+ line-height: 0.5;
+ animation: idling 1s linear infinite;
+}
+
+@keyframes idling {
+ 0% {
+ bottom: 2px;
+ }
+
+ 50% {
+ bottom: 0px;
+ }
+
+ 100% {
+ bottom: 2px;
+ }
+} \ No newline at end of file
diff --git a/webAO/styles/classic.css b/webAO/styles/classic.css
index c87d76d..ffd7b28 100644
--- a/webAO/styles/classic.css
+++ b/webAO/styles/classic.css
@@ -15,149 +15,6 @@ img {
image-rendering: pixelated;
}
-.text_white {
- color: #fff;
-}
-
-.text_blue {
- color: #6bc6f7;
-}
-
-.text_green {
- color: #00f700;
-}
-
-.text_red {
- color: #f00;
-}
-
-.text_orange {
- color: #f77339;
-}
-
-.text_yellow {
- color: #ff0;
-}
-
-.text_pink {
- color: #ffc0cb;
-}
-
-.text_cyan {
- color: #0ff;
-}
-
-.text_rainbow {
- background-color: #fff;
- background-image: repeating-linear-gradient(to right,
- red 0% 8%, orange 8% 16%, yellow 16% 24%, green 24% 32%, blue 32% 40%,
- red 40% 48%, orange 48% 56%, yellow 56% 64%, green 64% 72%, blue 72% 80%,
- red 80% 88%, orange 88% 96%, yellow 96% 100%);
- background-size: 40% 40%;
- background-clip: text;
- -webkit-background-clip: text;
- -webkit-text-fill-color: transparent;
- animation: rainbow 4s linear infinite;
-}
-
-@keyframes rainbow_alt {
-
- 0%,
- 100% {
- background-position: 0 0;
- }
-
- 50% {
- background-position: 400% 0;
- }
-}
-
-@keyframes rainbow {
- 0% {
- background-position: 0 0;
- }
-
- 100% {
- background-position: 400% 0;
- }
-}
-
-#client_chatcontainer {
- filter: none;
-}
-
-#client_name {
- display: none;
- padding: 0 0.45em;
- height: 5.2%;
- min-width: 3.25em;
- text-justify: distribute;
- letter-spacing: 0.075em;
- font-weight: bold;
- background: rgba(56, 56, 163, 0.5);
- box-shadow: 0.075em 0.075em rgba(0, 56, 163, 0.5) inset;
- left: 0;
- top: 60.4%;
- border-color: rgba(255, 255, 255, 0.5);
- border-style: ridge groove groove ridge;
- border-width: 0.2em;
- border-radius: 0.2em;
- position: absolute;
- z-index: 1;
-}
-
-#client_chat {
- font-size: 1em;
- display: none;
- width: 98.4375%;
- width: calc(100% - 0.275em);
- margin: auto;
- height: 31.25%;
- border-color: rgba(255, 255, 255, 0.5);
- border-style: ridge groove groove ridge;
- border-width: 0.15em;
- border-radius: 0.3em;
- background-color: rgba(0, 0, 16, 0.5);
- top: 66.5%;
- position: absolute;
- word-break: keep-all;
- overflow-wrap: break-word;
- text-align: left;
- overflow: hidden;
- scroll-behavior: smooth;
-}
-
-#client_chat p {
- padding: 1% 3.13%;
- margin: 1px;
- line-height: 97%;
- letter-spacing: 0.05em;
- word-spacing: 0.3em;
-}
-
-#client_chatwaiting {
- display: block;
- right: -6px;
- bottom: 0.2em;
- width: 1em;
- position: absolute;
- animation: idling 0.4s linear infinite;
-}
-
-@keyframes idling {
- 0% {
- right: -4px;
- }
-
- 50% {
- right: -8px;
- }
-
- 100% {
- right: -4px;
- }
-}
-
#evi_name {
background-color: #393939;
color: #ffad18;
diff --git a/webAO/styles/cyber.css b/webAO/styles/cyber.css
index 644e143..9d239e2 100644
--- a/webAO/styles/cyber.css
+++ b/webAO/styles/cyber.css
@@ -74,67 +74,9 @@ img {
}
}
-#client_chatcontainer {
- filter: none;
-}
-
@keyframes bg-scrolling {
0% { background-position: 0 0; }
100% { background-position: 5px 5px; }
- }
-
-#client_name {
- display: none;
- padding: 0 0.45em;
- height: 5.2%;
- min-width: 3.25em;
- text-justify: distribute;
- letter-spacing: 0.075em;
- background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAFElEQVQImWNgYGDYjAVTV/A/w2YAfxQSe53wkNkAAAAASUVORK5CYII=) repeat;
- animation: bg-scrolling 0.2s infinite linear;
- left: 0;
- top: 60.4%;
- border-color: green;
- border-width: 0.2em;
- border-style: solid;
- position: absolute;
- z-index: 1;
-}
-
-#client_chat {
- font-size: 1em;
- display: none;
- width: 98.4375%;
- width: calc(100% - 0.275em);
- margin: auto;
- height: 31.25%;
- border-color: green;
- border-style: solid;
- border-width: 0.15em;
- background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAFElEQVQImWNgYGDYjAVTV/A/w2YAfxQSe53wkNkAAAAASUVORK5CYII=) repeat;
- animation: bg-scrolling 0.2s infinite linear;
- top: 66.5%;
- position: absolute;
- word-break: keep-all;
- overflow-wrap: break-word;
- text-align: left;
- overflow: hidden;
- scroll-behavior: smooth;
-}
-
-#client_chat p {
- padding: 1% 3.13%;
- margin: 1px;
- line-height: 97%;
-}
-
-#client_chatwaiting {
- display: block;
- right: -6px;
- bottom: 0.24em;
- width: 1em;
- position: absolute;
- animation: idling 0.4s linear infinite;
}
@keyframes idling {
diff --git a/webAO/styles/default.css b/webAO/styles/default.css
index 94e8677..9db682a 100644
--- a/webAO/styles/default.css
+++ b/webAO/styles/default.css
@@ -77,45 +77,6 @@ img {
}
}
-#client_name {
- display: none;
- padding: 0px 6px;
- height: 7%;
- border: 1px solid rgba(255, 255, 255, 0.7);
- background: rgba(73, 0, 254, 0.5);
- top: 63%;
- border-radius: 3px;
- position: absolute;
-}
-
-#client_chat {
- font-size: 1em;
- display: none;
- width: 98%;
- width: calc(100% - 4px);
- margin: auto;
- height: 30%;
- border: 2px solid rgba(255, 255, 255, 0.7);
- background-color: rgba(0, 0, 0, 0.5);
- top: 70%;
- border-radius: 4px;
- position: absolute;
- word-break: keep-all;
- word-wrap: break-word;
- overflow-wrap: break-word;
- text-align: left;
- overflow: hidden;
- scroll-behavior: smooth;
-}
-
-#client_chat p {
- margin: 4px;
-}
-
-#client_chatwaiting {
- display: none;
-}
-
.client_button {
margin: 1px;
padding: 2px 15px;
diff --git a/webAO/styles/soj.css b/webAO/styles/soj.css
index b81508a..186d1f4 100644
--- a/webAO/styles/soj.css
+++ b/webAO/styles/soj.css
@@ -69,54 +69,6 @@ body {
}
}
-#client_chatcontainer {
- position: absolute;
- top: 73%;
- height: 27%;
- width: 100%;
- background-image: url("../images/chatbox.svg");
- background-size: cover;
- background-repeat: no-repeat;
-}
-
-#client_name {
- display: none;
- top: 4%;
- padding: 0 10px;
- height: 22%;
- position: absolute;
-}
-
-#client_chat {
- font-size: 1em;
- display: none;
- width: 100%;
- margin: auto;
- height: 90%;
- top: 20%;
- position: absolute;
- word-break: keep-all;
- word-wrap: break-word;
- overflow-wrap: break-word;
- text-align: left;
- overflow: hidden;
- scroll-behavior: smooth;
-}
-
-#client_chat p {
- margin: 4px;
- padding: 5px 3%;
-}
-
-#client_chatwaiting {
- display: block;
- right: 1em;
- bottom: 0.6em;
- width: 1em;
- position: absolute;
- animation: idling 1s linear infinite;
-}
-
@keyframes idling {
0% {
right: 0.4em;