aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstonedDiscord <stoned@derpymail.org>2020-04-19 15:43:44 +0200
committerGitHub <noreply@github.com>2020-04-19 15:43:44 +0200
commit729f4144d7b3a489d8c17d3ec2d7c8f32411f696 (patch)
tree04a61f8c3289b23ed55ba0e23bd47e8a127dbe17
parent0dc565de5fbc94dfe1745a44c879ee6a9f801049 (diff)
parent182ee7354419bf6ce472817d1124932e82b43f98 (diff)
Merge pull request #58 from AttorneyOnline/chatboxstyle
Chatboxstyle
-rw-r--r--webAO/client.html23
-rw-r--r--webAO/client.js73
-rw-r--r--webAO/styles/chatbox/aa.css150
-rw-r--r--webAO/styles/chatbox/chatboxes.js13
-rw-r--r--webAO/styles/chatbox/chatdd.css48
-rw-r--r--webAO/styles/chatbox/chatplvsaa.css63
-rw-r--r--webAO/styles/chatbox/chatwaiting_triology.svg1
-rw-r--r--webAO/styles/chatbox/dgs.css64
-rw-r--r--webAO/styles/chatbox/dgs_chat_bg.pngbin0 -> 1763 bytes
-rw-r--r--webAO/styles/chatbox/dr1.css64
-rw-r--r--webAO/styles/chatbox/drae.css65
-rw-r--r--webAO/styles/chatbox/drv3.css63
-rw-r--r--webAO/styles/chatbox/drv3chatbox.pngbin0 -> 36885 bytes
-rw-r--r--webAO/styles/chatbox/legacy.css49
-rw-r--r--webAO/styles/chatbox/p4.css65
-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/client.css10
-rw-r--r--webAO/styles/cyber.css58
-rw-r--r--webAO/styles/default.css39
-rw-r--r--webAO/styles/soj.css129
22 files changed, 982 insertions, 390 deletions
diff --git a/webAO/client.html b/webAO/client.html
index 8e604a1..5ec6519 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"
@@ -77,7 +78,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>
@@ -329,13 +332,29 @@
onchange="changeBlipVolume()">
<br>
<br>
- <label for="client_themeselect">Theme:</label>
+ <label for="client_themeselect">Menu theme:</label>
<select id="client_themeselect" name="client_themeselect" onchange="reloadTheme()">
<option value="default" selected>Default</option>
<option value="classic">Classic</option>
<option value="soj">DD / SoJ</option>
<option value="cyber">Cyber (WIP)</option>
</select>
+ <br>
+ <br>
+ <label for="client_chatboxselect">Chatbox theme:</label>
+ <select id="client_chatboxselect" name="client_chatboxselect" onchange="setChatbox(this.value)">
+ <option value="dynamic" selected>Use characters</option>
+ <option value="aa">AA</option>
+ <option value="chatdd">DD / SoJ</option>
+ <option value="dgs">DGS</option>
+ <option value="triology">Triology</option>
+ <option value="chatplvsaa">PL vs AA</option>
+ <option value="p4">Persona 4</option>
+ <option value="dr1">DR 1</option>
+ <option value="drv3">DR 3</option>
+ <option value="drae">DR: AE</option>
+ <option value="yttd">YTTD</option>
+ </select>
<!--
<br>
<br>
diff --git a/webAO/client.js b/webAO/client.js
index b5c8c2f..54458e5 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';
@@ -393,6 +395,11 @@ class Client extends EventEmitter {
document.querySelector('#client_themeselect [value="' + cookietheme + '"]').selected = true;
reloadTheme();
+ var cookiechatbox = getCookie("chatbox") || "dynamic";
+
+ document.querySelector('#client_chatboxselect [value="' + cookiechatbox + '"]').selected = true;
+ setChatbox(cookiechatbox);
+
document.getElementById("client_musicaudio").volume = getCookie("musicVolume") || 1;
changeMusicVolume();
document.getElementById("client_svolume").value = getCookie("sfxVolume") || 1;
@@ -502,12 +509,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 +536,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 +674,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 +690,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 +1555,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 +1598,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 +1629,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 +1646,9 @@ async changeBackground(position) {
this.changeBackground(chatmsg.side);
+ setChatbox(chatmsg.chatbox);
+ 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) {
@@ -2450,6 +2457,36 @@ export function getIndexFromSelect(select_box, value) {
window.getIndexFromSelect = getIndexFromSelect;
/**
+ * Set the style of the chatbox
+ */
+export function setChatbox(style) {
+ const chatbox_theme = document.getElementById("chatbox_theme");
+ const selected_theme = document.getElementById("client_chatboxselect").value;
+ setCookie("chatbox", selected_theme);
+ if(selected_theme === "dynamic") {
+ if (chatbox_arr.includes(style)) {
+ chatbox_theme.href = "styles/chatbox/" + style + ".css";
+ } else {
+ chatbox_theme.href = "styles/chatbox/aa.css";
+ }
+ } else {
+ chatbox_theme.href = "styles/chatbox/" + selected_theme + ".css";
+ }
+}
+window.setChatbox = setChatbox;
+
+/**
+ * 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..d683ecb
--- /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_inner_name {
+ text-justify: distribute;
+ letter-spacing: 0.075em;
+ margin: 0;
+ 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..8be936a
--- /dev/null
+++ b/webAO/styles/chatbox/chatboxes.js
@@ -0,0 +1,13 @@
+export default [
+ "aa",
+ "chatdd",
+ "dgs",
+ "dr1",
+ "drv3",
+ "drae",
+ "legacy",
+ "p4",
+ "chatplvsaa",
+ "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..b97fa2c
--- /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_inner_name {
+ 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/chatplvsaa.css b/webAO/styles/chatbox/chatplvsaa.css
new file mode 100644
index 0000000..3774b34
--- /dev/null
+++ b/webAO/styles/chatbox/chatplvsaa.css
@@ -0,0 +1,63 @@
+@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;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ height: 35%;
+ width: 100%;
+}
+
+#client_name {
+ display: block;
+ left: 1%;
+ top: 0;
+ height: 20%;
+ min-width: 15%;
+ padding: 0px 6px;
+ border: 2px ridge #b1822d;
+ border-radius: 0.4em;
+ background: #783500;
+ position: absolute;
+ z-index: 1;
+}
+
+#client_inner_name {
+ margin: 1px;
+}
+
+#client_chat {
+ font-size: 1em;
+ display: block;
+ width: 99%;
+ width: calc(100% - 4px);
+ margin: auto;
+ height: 80%;
+ border: 2px ridge #d9a63b;
+ border-radius: 0.5em;
+ background-color: rgba(148,96,0,0.6);
+ bottom: 0;
+ 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/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..38c2c1f
--- /dev/null
+++ b/webAO/styles/chatbox/dgs.css
@@ -0,0 +1,64 @@
+@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;
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ height: 35%;
+ width: 100%;
+}
+
+#client_name {
+ display: block;
+ padding: 0px 6px;
+ height: 20%;
+ min-width: 10%;
+ border: 1px solid #a59252;
+ background-image: linear-gradient(#635529, #8c7d42);
+ left: 2%;
+ top: 0;
+ border-radius: 3px;
+ position: absolute;
+ z-index: 1;
+}
+
+#client_inner_name {
+ margin: 1px;
+}
+
+#client_chat {
+ font-size: 1em;
+ display: block;
+ width: 100%;
+ margin: auto;
+ height: 80%;
+ border-image-source: url("dgs_chat_bg.png");
+ border-image-slice: 12;
+ border-image-width: 12px;
+ border-width: 12px;
+ background-color: #101821;
+ bottom: 0;
+ 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/dr1.css b/webAO/styles/chatbox/dr1.css
new file mode 100644
index 0000000..8b7686e
--- /dev/null
+++ b/webAO/styles/chatbox/dr1.css
@@ -0,0 +1,64 @@
+#client_chatcontainer {
+ position: absolute;
+ width: 100%;
+ height: 30%;
+ bottom: 0;
+ left: 0;
+ font-family: sans-serif;
+}
+
+#client_name {
+ display: block;
+ padding: 0 0.45em;
+ height: 20%;
+ width: 90%;
+ text-align: left;
+ letter-spacing: 0.075em;
+ color: black;
+ font-style: italic;
+ border-radius: 0 2em 0 0;
+ background: #fb9800;
+ background: linear-gradient(45deg,
+ #f8c007, #fae06e 40%,
+ #fec001 40% 42%, #fadf69 42% 44%,
+ #fb9800 44%);
+ left: 0;
+ top: 0;
+ position: absolute;
+ z-index: 1;
+}
+
+#client_inner_name {
+ padding: 0 2%;
+ margin: 1px;
+}
+
+#client_chat {
+ font-size: 1em;
+ display: block;
+ width: 100%;
+ margin: auto;
+ height: 80%;
+ border-radius: 0 3em 3em 0;
+ background: rgba(48,48,48,0.6);
+ bottom: 0;
+ left: 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/drae.css b/webAO/styles/chatbox/drae.css
new file mode 100644
index 0000000..02ebd7c
--- /dev/null
+++ b/webAO/styles/chatbox/drae.css
@@ -0,0 +1,65 @@
+#client_chatcontainer {
+ position: absolute;
+ width: 100%;
+ height: 30%;
+ bottom: 0;
+ left: 0;
+ font-family: sans-serif;
+}
+
+#client_name {
+ display: block;
+ padding: 0 0.45em;
+ height: 24%;
+ width: 50%;
+ text-align: left;
+ letter-spacing: 0.075em;
+ font-weight: bold;
+ background: #ff00bb;
+ background: linear-gradient(225deg, transparent 10%,
+ rgba(255,75,206,0.9) 10% 15%, rgba(255, 0, 187, 0.9) 15% 16%,
+ rgba(255,75,206,0.9) 16% 20%, rgba(255, 0, 187, 0.9) 20% 22%,
+ rgba(255,75,206,0.9) 22% 25%, rgba(255, 0, 187, 0.9) 25% 28%,
+ rgba(255,75,206,0.9) 28% 30%, rgba(255, 0, 187, 0.9) 30% 32%,
+ rgba(255,75,206,0.9) 32% 33%, rgba(255, 0, 187, 0.9) 33%);
+ left: 0;
+ top: 0;
+ position: absolute;
+ z-index: 1;
+}
+
+#client_inner_name {
+ padding: 1% 3.13%;
+ margin: 1px;
+}
+
+#client_chat {
+ font-size: 1em;
+ display: block;
+ width: 100%;
+ margin: auto;
+ height: 75%;
+ 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;
+ left: 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/drv3.css b/webAO/styles/chatbox/drv3.css
new file mode 100644
index 0000000..b0bf605
--- /dev/null
+++ b/webAO/styles/chatbox/drv3.css
@@ -0,0 +1,63 @@
+#client_chatcontainer {
+ position: absolute;
+ width: 100%;
+ height: 30%;
+ bottom: 0;
+ left: 0;
+ font-family: sans-serif;
+}
+
+#client_name {
+ display: block;
+ transform: skew(15deg);
+ padding: 0 0.45em;
+ height: 20%;
+ width: 20%;
+ text-align: left;
+ letter-spacing: 0.075em;
+ background: #0e0a02;
+ border-left: 0.6em solid #fdd300;
+ left: 1%;
+ top: 0;
+ position: absolute;
+ z-index: 1;
+}
+
+#client_inner_name {
+ transform: skew(-15deg);
+ padding: 0 2%;
+ margin: 1px;
+}
+
+#client_chat {
+ transform: skew(15deg);
+ font-size: 1em;
+ display: block;
+ width: 89%;
+ margin: auto;
+ height: 80%;
+ border-left: 0.6em solid #fdd300;
+ border-right: 0.6em solid #fdd300;
+ background: #030303;
+ bottom: 0;
+ left: 4%;
+ position: absolute;
+ word-break: keep-all;
+ overflow-wrap: break-word;
+ text-align: left;
+ overflow: hidden;
+ scroll-behavior: smooth;
+}
+
+#client_chat p {
+ transform: skew(-15deg);
+ padding: 3% 5%;
+ 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/drv3chatbox.png b/webAO/styles/chatbox/drv3chatbox.png
new file mode 100644
index 0000000..ecf5e1f
--- /dev/null
+++ b/webAO/styles/chatbox/drv3chatbox.png
Binary files differ
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/p4.css b/webAO/styles/chatbox/p4.css
new file mode 100644
index 0000000..dc9fdb7
--- /dev/null
+++ b/webAO/styles/chatbox/p4.css
@@ -0,0 +1,65 @@
+#client_chatcontainer {
+ position: absolute;
+ width: 100%;
+ height: 30%;
+ bottom: 0;
+ left: 0;
+ font-family: Arial, sans-serif;
+}
+
+#client_name {
+ transform: rotate(4deg);
+ display: block;
+ padding: 0 0.45em;
+ height: 30%;
+ width: 70%;
+ text-align: left;
+ letter-spacing: 0.075em;
+ font-weight: bold;
+ color: #512f15;
+ background: #fe9e18;
+ background: linear-gradient(to right,#feab21, #fc7c00);
+ border-top: 0.2em solid #ffeb24;
+ left: 4%;
+ top: 0;
+ position: absolute;
+}
+
+#client_inner_name {
+ transform: rotate(-4deg);
+ position: absolute;
+ padding: 1% 3.13%;
+ margin: 1px;
+ left: -1%;
+}
+
+#client_chat {
+ font-size: 1em;
+ display: block;
+ width: 95%;
+ margin: auto;
+ height: 80%;
+ border-right: 0.2em solid #fc7b00;
+ border-radius: 0.1em;
+ background: linear-gradient(to right,#615338,#917e56 50%,#615338 100%);
+ bottom: 2%;
+ left: 2.5%;
+ position: absolute;
+ word-break: keep-all;
+ overflow-wrap: break-word;
+ text-align: left;
+ overflow: hidden;
+ z-index: 1;
+}
+
+#client_chat p {
+ padding: 1.5% 4%;
+ 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/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..e2f8e4f
--- /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;
+ position: absolute;
+ 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;
+ padding: 0 2%;
+ z-index: 1;
+}
+
+#client_inner_name {
+ line-height: 1em;
+ 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 b8ab269..985c04f 100644
--- a/webAO/styles/classic.css
+++ b/webAO/styles/classic.css
@@ -15,73 +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;
- }
-}
-
hr {
height: 6px;
width: 100%;
@@ -90,82 +23,6 @@ hr {
margin: 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/client.css b/webAO/styles/client.css
index fa020ef..9a1afd8 100644
--- a/webAO/styles/client.css
+++ b/webAO/styles/client.css
@@ -215,6 +215,13 @@
transition-property: height, opacity;
}
+#client_chatcontainer {
+ position: absolute;
+ width: 100%;
+ bottom: 0;
+ left: 0;
+}
+
#client_shout {
display: block;
position: absolute;
@@ -301,7 +308,8 @@
#client_musiclist {
width: 99%;
- height: 100%;
+ height: 95%;
+ height: calc(95% - 16px);
background-color: #222;
color: #fff;
}
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..afc555a 100644
--- a/webAO/styles/soj.css
+++ b/webAO/styles/soj.css
@@ -2,135 +2,6 @@ body {
font-family: sans-serif;
}
-.text_white {
- color: #fff;
-}
-
-.text_green {
- color: #0f0;
-}
-
-.text_red {
- color: #f00;
-}
-
-.text_orange {
- color: #ffa500;
-}
-
-.text_blue {
- color: #4596ff;
-}
-
-.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;
- 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;
- }
-
- 50% {
- right: 0.8em;
- }
-
- 100% {
- right: 0.4em;
- }
-}
-
#evi_name {
background-color: #242e25;
}