aboutsummaryrefslogtreecommitdiff
path: root/public
diff options
context:
space:
mode:
authorstonedDiscord <stonedDiscord@users.noreply.github.com>2024-11-20 14:13:36 +0000
committerGitHub Action <actions@github.com>2024-11-20 14:13:36 +0000
commitd51b2c33ddb547e854558b990c1b24bda8b2548e (patch)
treec655995385882770511fa49856f4f5b809495411 /public
parent1ff2d427e4fc6af08744bb732d85183501a72587 (diff)
Prettified Code!
Diffstat (limited to 'public')
-rw-r--r--public/client.html1613
-rw-r--r--public/index.html267
2 files changed, 1167 insertions, 713 deletions
diff --git a/public/client.html b/public/client.html
index e4e2ad1..2d41290 100644
--- a/public/client.html
+++ b/public/client.html
@@ -1,29 +1,41 @@
-<!DOCTYPE html>
+<!doctype html>
<html lang="en">
+ <head>
+ <title>Attorney Online session</title>
+ <meta charset="utf-8" />
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
+ <meta
+ name="description"
+ content="An off-the-cuff courtroom drama simulator"
+ />
+ <meta name="author" content="stonedDiscord" />
+ <meta property="og:title" content="Attorney Online" />
+ <meta
+ property="og:description"
+ content="Attorney Online is an online version of the world-renowned courtroom drama simulator that allows you to create and play out cases in an off-the-cuff format."
+ />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="http://web.aceattorneyonline.com/" />
+ <meta
+ property="og:image"
+ content="https://repository-images.githubusercontent.com/78860508/89fcba80-aafd-11e9-80db-c5b10c01aba9"
+ />
-<head>
- <title>Attorney Online session</title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="An off-the-cuff courtroom drama simulator">
- <meta name="author" content="stonedDiscord">
- <meta property="og:title" content="Attorney Online">
- <meta property="og:description"
- content="Attorney Online is an online version of the world-renowned courtroom drama simulator that allows you to create and play out cases in an off-the-cuff format.">
- <meta property="og:type" content="website">
- <meta property="og:url" content="http://web.aceattorneyonline.com/">
- <meta property="og:image"
- content="https://repository-images.githubusercontent.com/78860508/89fcba80-aafd-11e9-80db-c5b10c01aba9">
+ <meta property="twitter:card" content="summary_large_image" />
+ <meta property="twitter:title" content="Attorney Online" />
+ <meta
+ property="twitter:description"
+ content="Attorney Online is an online version of the world-renowned courtroom drama simulator that allows you to create and play out cases in an off-the-cuff format."
+ />
+ <meta property="twitter:url" content="http://web.aceattorneyonline.com/" />
+ <meta
+ property="twitter:image"
+ content="https://repository-images.githubusercontent.com/78860508/89fcba80-aafd-11e9-80db-c5b10c01aba9"
+ />
- <meta property="twitter:card" content="summary_large_image">
- <meta property="twitter:title" content="Attorney Online">
- <meta property="twitter:description"
- content="Attorney Online is an online version of the world-renowned courtroom drama simulator that allows you to create and play out cases in an off-the-cuff format.">
- <meta property="twitter:url" content="http://web.aceattorneyonline.com/">
- <meta property="twitter:image"
- content="https://repository-images.githubusercontent.com/78860508/89fcba80-aafd-11e9-80db-c5b10c01aba9">
-
- <meta http-equiv="Content-Security-Policy" content="
+ <meta
+ http-equiv="Content-Security-Policy"
+ content="
script-src-elem 'self' 'unsafe-inline' https://hcaptcha.com https://*.hcaptcha.com;
style-src-elem 'self' 'unsafe-inline' https://golden-layout.com;
script-src 'self' 'unsafe-inline' 'unsafe-eval' https://hcaptcha.com https://*.hcaptcha.com;
@@ -31,613 +43,1000 @@
img-src 'self' data: file: *;
frame-src https://hcaptcha.com https://*.hcaptcha.com;
connect-src 'self' ws: file: * https://hcaptcha.com https://*.hcaptcha.com;
- media-src 'self' file: *;">
+ media-src 'self' file: *;"
+ />
- <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon">
- <link rel="apple-touch-icon" href="logo-new.png">
- <link rel="stylesheet" type="text/css" href="styles/client.css?v=1.0.3" id="client_stylesheet">
- <link rel="stylesheet" type="text/css" href="styles/default.css?v=1.0.1" id="client_theme">
- <link rel="stylesheet" type="text/css" href="styles/chatbox/aa.css?v=1.0.1" id="chatbox_theme">
- <link rel="stylesheet" type="text/css" href="styles/nameplates.css" id="nameplate_setting">
- <link rel="stylesheet" type="text/css" href="styles/nomod.css" id="mod_ui">
- <link rel="stylesheet" type="text/css" href="" id="effect_css">
- <link type="text/css" rel="stylesheet" href="golden/css/goldenlayout.css">
- <link type="text/css" rel="stylesheet"
- href="https://golden-layout.com/files/latest/css/goldenlayout-dark-theme.css">
- <style>
- #client_ooclog {
- text-align: left;
- }
+ <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
+ <link rel="apple-touch-icon" href="logo-new.png" />
+ <link
+ rel="stylesheet"
+ type="text/css"
+ href="styles/client.css?v=1.0.3"
+ id="client_stylesheet"
+ />
+ <link
+ rel="stylesheet"
+ type="text/css"
+ href="styles/default.css?v=1.0.1"
+ id="client_theme"
+ />
+ <link
+ rel="stylesheet"
+ type="text/css"
+ href="styles/chatbox/aa.css?v=1.0.1"
+ id="chatbox_theme"
+ />
+ <link
+ rel="stylesheet"
+ type="text/css"
+ href="styles/nameplates.css"
+ id="nameplate_setting"
+ />
+ <link
+ rel="stylesheet"
+ type="text/css"
+ href="styles/nomod.css"
+ id="mod_ui"
+ />
+ <link rel="stylesheet" type="text/css" href="" id="effect_css" />
+ <link type="text/css" rel="stylesheet" href="golden/css/goldenlayout.css" />
+ <link
+ type="text/css"
+ rel="stylesheet"
+ href="https://golden-layout.com/files/latest/css/goldenlayout-dark-theme.css"
+ />
+ <style>
+ #client_ooclog {
+ text-align: left;
+ }
- #client_ooclog a {
- color: white;
- }
- </style>
- <script src="lib/jdataview.min.js" async defer></script>
-</head>
+ #client_ooclog a {
+ color: white;
+ }
+ </style>
+ <script src="lib/jdataview.min.js" async defer></script>
+ </head>
-<body>
- <div id="client_waiting">
- <noscript>
- <p style="color: red;">webAO requires JavaScript to work</p>
- </noscript>
- <div id="client_loading">
- <h1 id="client_loadingtext">Loading</h1>
- </div>
- <div id="client_secondfactor" style="display: none">
- <center>
- <p>You seem to be new 👋</p>
- <form method="POST">
- <div class="h-captcha" data-sitekey="6cbe7d73-706d-4e4b-9147-8b9aebb83b5d" data-theme="dark" data-callback="hcallback"></div>
- <script src="https://js.hcaptcha.com/1/api.js" async defer></script>
- </form>
- </center>
- </div>
- <div id="client_charselect">
- <p>Choose your character</p>
- <button onclick="pickChar(-1)">Or spectate</button>
- <br><br>
- <input id="client_charactersearch" placeholder="Search" oninput="chartable_filter(event)">
- <br><br>
- <div id="client_chartable"></div>
- </div>
- <div id="client_error" class="error" style="display: none">
- <h1 id="client_errortext">You were disconnected from the server.</h1>
- <p style="color: #a00">Code:
- <span id="error_id">(none)</span>
- </p>
+ <body>
+ <div id="client_waiting">
+ <noscript>
+ <p style="color: red">webAO requires JavaScript to work</p>
+ </noscript>
+ <div id="client_loading">
+ <h1 id="client_loadingtext">Loading</h1>
+ </div>
+ <div id="client_secondfactor" style="display: none">
+ <center>
+ <p>You seem to be new 👋</p>
+ <form method="POST">
+ <div
+ class="h-captcha"
+ data-sitekey="6cbe7d73-706d-4e4b-9147-8b9aebb83b5d"
+ data-theme="dark"
+ data-callback="hcallback"
+ ></div>
+ <script src="https://js.hcaptcha.com/1/api.js" async defer></script>
+ </form>
+ </center>
+ </div>
+ <div id="client_charselect">
+ <p>Choose your character</p>
+ <button onclick="pickChar(-1)">Or spectate</button>
+ <br /><br />
+ <input
+ id="client_charactersearch"
+ placeholder="Search"
+ oninput="chartable_filter(event)"
+ />
+ <br /><br />
+ <div id="client_chartable"></div>
+ </div>
+ <div id="client_error" class="error" style="display: none">
+ <h1 id="client_errortext">You were disconnected from the server.</h1>
+ <p style="color: #a00">
+ Code:
+ <span id="error_id">(none)</span>
+ </p>
+ </div>
+ <p>
+ Having trouble?
+ <a href="https://discord.gg/9rYQVVQ">Join us on Discord</a>
+ </p>
+ <button id="client_reconnect" onclick="ReconnectButton()">
+ Reconnect
+ </button>
+ </div>
+ </body>
- </div>
- <p>Having trouble? <a href="https://discord.gg/9rYQVVQ">Join us on Discord</a></p>
- <button id="client_reconnect" onclick="ReconnectButton()">Reconnect</button>
- </div>
-</body>
+ <template id="client_wrapper">
+ <meta name="frame-title" lang="en" content="Game" />
+ <div id="client_icwrapper">
+ <div id="client_background">
+ <div id="client_gamewindow">
+ <div id="client_fullview">
+ <img id="client_court" />
+ <div id="client_stitch_court">
+ <img id="client_court_def" onerror="imgError(this);" />
+ <img id="client_court_deft" onerror="imgError(this);" />
+ <img id="client_court_wit" onerror="imgError(this);" />
+ <img id="client_court_prot" onerror="imgError(this);" />
+ <img id="client_court_pro" onerror="imgError(this);" />
+ </div>
+ <div
+ id="client_def_pair_char"
+ class="client_char"
+ alt="Paired character"
+ >
+ <img id="client_def_pair_img" onerror="charError(this);" />
+ </div>
+ <div id="client_def_char" class="client_char" alt="Character">
+ <img id="client_def_char_img" onerror="charError(this);" />
+ </div>
+ <div
+ id="client_wit_pair_char"
+ class="client_char"
+ alt="Paired character"
+ >
+ <img id="client_wit_pair_img" onerror="charError(this);" />
+ </div>
+ <div id="client_wit_char" class="client_char" alt="Character">
+ <img id="client_wit_char_img" onerror="charError(this);" />
+ </div>
+ <div
+ id="client_pro_pair_char"
+ class="client_char"
+ alt="Paired character"
+ >
+ <img id="client_pro_pair_img" onerror="charError(this);" />
+ </div>
+ <div id="client_pro_char" class="client_char" alt="Character">
+ <img id="client_pro_char_img" onerror="charError(this);" />
+ </div>
+ <img id="client_def_bench" class="client_bench" />
+ <img id="client_wit_bench" class="client_bench" />
+ <img id="client_pro_bench" class="client_bench" />
+ </div>
+ <div id="client_classicview">
+ <img id="client_court_classic" onerror="imgError(this);" />
+ <div
+ id="client_pair_char"
+ class="client_char"
+ alt="Paired character"
+ >
+ <img id="client_pair_img" onerror="charError(this);" />
+ </div>
+ <div id="client_char" class="client_char" alt="Character">
+ <img id="client_char_img" onerror="charError(this);" />
+ </div>
+ <img id="client_bench_classic" class="client_bench" />
+ </div>
+ <div
+ id="client_fg"
+ alt="Various overlay"
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="
+ ></div>
+ <img
+ id="client_evi"
+ src=""
+ alt="Character Evidence"
+ onerror="imgError(this);"
+ />
+ <img
+ id="client_testimony"
+ alt="Testimony overlay"
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="
+ onerror="imgError(this);"
+ />
+ <img
+ id="client_shout"
+ alt="Shout overlay"
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="
+ />
+ <div id="client_chatcontainer" style="font-size: 12px; opacity: 0">
+ <div id="client_chatdecoration"></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">&#9658;</div>
+ </div>
+ </div>
+ <div id="client_trackstatus">
+ <marquee id="client_trackstatustext">None</marquee>
+ </div>
+ <div id="client_clock">
+ <p id="client_clock_date"></p>
+ <p id="client_clock_time"></p>
+ <p id="client_clock_month"></p>
+ <p id="client_clock_weekday"></p>
+ </div>
+ </div>
+ </div>
+ <form onsubmit="return false">
+ <input
+ id="client_inputbox"
+ class="long"
+ type="text"
+ onkeypress="onEnter(event)"
+ placeholder="Say something&hellip;"
+ autocomplete="off"
+ />
+ </form>
+ <div id="client_bars">
+ <span id="client_defense_hp" class="health-box">
+ <div class="health-bar"></div>
+ </span>
+ <span id="client_prosecutor_hp" class="health-box">
+ <div class="health-bar"></div>
+ </span>
+ </div>
+ </div>
+ </template>
-<template id="client_wrapper">
- <meta name="frame-title" lang="en" content="Game">
- <div id="client_icwrapper">
- <div id="client_background">
- <div id="client_gamewindow">
- <div id="client_fullview">
- <img id="client_court">
- <div id="client_stitch_court">
- <img id="client_court_def" onerror="imgError(this);">
- <img id="client_court_deft" onerror="imgError(this);">
- <img id="client_court_wit" onerror="imgError(this);">
- <img id="client_court_prot" onerror="imgError(this);">
- <img id="client_court_pro" onerror="imgError(this);">
- </div>
- <div id="client_def_pair_char" class="client_char" alt="Paired character">
- <img id="client_def_pair_img" onerror="charError(this);">
- </div>
- <div id="client_def_char" class="client_char" alt="Character">
- <img id="client_def_char_img" onerror="charError(this);">
- </div>
- <div id="client_wit_pair_char" class="client_char" alt="Paired character">
- <img id="client_wit_pair_img" onerror="charError(this);">
- </div>
- <div id="client_wit_char" class="client_char" alt="Character">
- <img id="client_wit_char_img" onerror="charError(this);">
- </div>
- <div id="client_pro_pair_char" class="client_char" alt="Paired character">
- <img id="client_pro_pair_img" onerror="charError(this);">
- </div>
- <div id="client_pro_char" class="client_char" alt="Character">
- <img id="client_pro_char_img" onerror="charError(this);">
- </div>
- <img id="client_def_bench" class="client_bench">
- <img id="client_wit_bench" class="client_bench">
- <img id="client_pro_bench" class="client_bench">
- </div>
- <div id="client_classicview">
- <img id="client_court_classic" onerror="imgError(this);">
- <div id="client_pair_char" class="client_char" alt="Paired character">
- <img id="client_pair_img" onerror="charError(this);">
- </div>
- <div id="client_char" class="client_char" alt="Character">
- <img id="client_char_img" onerror="charError(this);">
- </div>
- <img id="client_bench_classic" class="client_bench">
- </div>
- <div id="client_fg" alt="Various overlay"
- src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=">
- </div>
- <img id="client_evi" src="" alt="Character Evidence" onerror="imgError(this);">
- <img id="client_testimony" alt="Testimony overlay"
- src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="
- onerror="imgError(this);">
- <img id="client_shout" alt="Shout overlay"
- src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=">
- <div id="client_chatcontainer" style="font-size: 12px; opacity: 0;">
- <div id="client_chatdecoration"></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">&#9658;</div>
- </div>
- </div>
- <div id="client_trackstatus">
- <marquee id="client_trackstatustext">None</marquee>
- </div>
- <div id="client_clock">
- <p id="client_clock_date"></p>
- <p id="client_clock_time"></p>
- <p id="client_clock_month"></p>
- <p id="client_clock_weekday"></p>
- </div>
- </div>
- </div>
- <form onsubmit="return false">
- <input id="client_inputbox" class="long" type="text" onkeypress="onEnter(event)"
- placeholder="Say something&hellip;" autocomplete="off">
- </form>
- <div id="client_bars">
- <span id="client_defense_hp" class="health-box">
- <div class="health-bar"></div>
- </span>
- <span id="client_prosecutor_hp" class="health-box">
- <div class="health-bar"></div>
- </span>
- </div>
- </div>
-</template>
+ <template id="icoptions">
+ <div id="client_iccontrols">
+ <meta name="frame-title" lang="en" content="miscellaneous" />
+ <div id="client_emo"></div>
+ <br />
+ <div id="character_options">
+ <div id="emote_options">
+ <button
+ id="button_1"
+ alt="Hold it!"
+ class="client_button"
+ onclick="toggleShout(1)"
+ >
+ Hold it!
+ </button>
+ <button
+ id="button_2"
+ alt="Objection!"
+ class="client_button"
+ onclick="toggleShout(2)"
+ >
+ Objection!
+ </button>
+ <button
+ id="button_3"
+ alt="Take That!"
+ class="client_button"
+ onclick="toggleShout(3)"
+ >
+ Take That!
+ </button>
+ <button
+ id="button_4"
+ alt="Custom"
+ class="client_button"
+ onclick="toggleShout(4)"
+ style="display: none"
+ >
+ Custom
+ </button>
+ <br />
+ <br />
+ <label for="textcolor">Text Color:</label>
+ <select id="textcolor" name="textcolor">
+ <option value="0">White</option>
+ <option value="1">Green</option>
+ <option value="2">Red</option>
+ <option value="3">Orange</option>
+ <option value="4">Blue</option>
+ </select>
+ <label for="sendsfx"> SFX: </label>
+ <input
+ type="checkbox"
+ id="sendsfx"
+ name="sendsfx"
+ value="sendsfx"
+ checked
+ />
+ <label for="sendpreanim"> Preanimation: </label>
+ <input
+ type="checkbox"
+ id="sendpreanim"
+ name="sendpreanim"
+ value="sendpreanim"
+ />
+ <br />
+ <br />
+ <button
+ id="button_flip"
+ alt="Flip"
+ class="client_button"
+ onclick="toggleEffect(this)"
+ style="display: none"
+ >
+ Flip
+ </button>
+ <button
+ id="button_flash"
+ alt="Flash"
+ class="client_button"
+ onclick="toggleEffect(this)"
+ >
+ Flash
+ </button>
+ <button
+ id="button_shake"
+ alt="Shake"
+ class="client_button"
+ onclick="toggleEffect(this)"
+ style="display: none"
+ >
+ Shake
+ </button>
+ </div>
+ <br />
+ <br />
+ <div id="character_options">
+ <label for="role_select">Role:</label>
+ <select
+ id="role_select"
+ name="role_select"
+ onchange="changeRoleOOC()"
+ >
+ <option value="">Default</option>
+ <option value="def">Defense</option>
+ <option value="pro">Prosecution</option>
+ <option value="jud">Judge</option>
+ <option value="wit">Witness</option>
+ <option value="hld">Helper Defense</option>
+ <option value="hlp">Helper Prosecution</option>
+ <option value="jur">Jury</option>
+ <option value="sea">Seance</option>
+ </select>
+ <br />
+ <br />
+ <button
+ id="char_change"
+ alt="Change"
+ class="client_button hover_button"
+ onclick="changeCharacter()"
+ >
+ Change Character
+ </button>
+ <button
+ id="char_random"
+ alt="Random"
+ class="client_button hover_button"
+ onclick="randomCharacterOOC()"
+ >
+ Random Character
+ </button>
+ <br />
+ <br />
+ <span id="pairing" style="display: none">
+ <button
+ id="button_toggle_pairing"
+ alt="Pairing"
+ class="client_button"
+ onclick="toggleElement('pairing_settings')"
+ >
+ Pairing
+ </button>
+ <span id="pairing_settings" style="display: none">
+ <label for="pair_select">Pairing partner:</label>
+ <select name="pair_select" id="pair_select">
+ <option value="-1">None</option>
+ </select>
+ <table
+ style="border: none; margin-left: auto; margin-right: auto"
+ >
+ <tr>
+ <td>
+ <p>Horizontal offset:</p>
+ </td>
+ <td>
+ <input
+ type="range"
+ name="pair_offset"
+ id="pair_offset"
+ min="-100"
+ max="100"
+ value="0"
+ />
+ </td>
+ </tr>
+ <tr id="y_offset" style="display: none">
+ <td>
+ <p>Vertical offset:</p>
+ </td>
+ <td>
+ <input
+ type="range"
+ name="pair_y_offset"
+ id="pair_y_offset"
+ min="-100"
+ max="100"
+ value="0"
+ />
+ </td>
+ </tr>
+ </table>
+ <input
+ id="pair_reset"
+ type="button"
+ value="Reset"
+ onclick="resetOffset()"
+ />
+ </span>
+ </span>
+ <br />
+ <br />
+ <span id="cccc" style="display: none">
+ <label for="ic_chat_name">Custom Showname:</label>
+ <input id="ic_chat_name" name="ic_chat_name" type="text" />
+ <br />
+ <label for="showname">Show others:</label>
+ <input
+ id="showname"
+ name="showname"
+ type="checkbox"
+ onclick="showname_click()"
+ checked
+ />
+ <br />
+ <br />
+ <label for="check_nonint">Noninterrupting Preanimation:</label>
+ <input type="checkbox" name="check_nonint" id="check_nonint" />
+ </span>
+ <br />
+ <br />
+ <span id="2.7" style="display: none">
+ <label for="check_loopsfx">Looping SFX:</label>
+ <input type="checkbox" name="check_loopsfx" id="check_loopsfx" />
+ </span>
+ <br />
+ <br />
+ <span id="2.8" style="display: none">
+ <label for="check_additive">Additive:</label>
+ <input type="checkbox" name="check_additive" id="check_additive" />
+ <br />
+ <br />
+ <label for="effect_select">Effect:</label>
+ <select id="effect_select" name="effect_select">
+ <option value="||">None</option>
+ <option value="realization||sfx-realization">Realization</option>
+ <option value="hearts||sfx-squee">Hearts</option>
+ <option value="reaction||sfx-reactionding">Reaction</option>
+ <option value="impact||sfx-fan">Impact</option>
+ <option value="rain-weak||sfx-rain">Weak Rain</option>
+ <option value="rain||sfx-rain">Rain</option>
+ <option value="rain-strong||sfx-rain">Strong Rain</option>
+ </select>
+ </span>
+ </div>
+ </div>
+ <fieldset style="margin: 10px">
+ <legend>Actions</legend>
+ <!-- Judge Commands -->
+ <span id="judge_action" style="display: none">
+ <span
+ id="menu_wt"
+ onclick="initWT()"
+ class="judge_button"
+ style="color: blue"
+ ><i>Witness<br />Testimony</i></span
+ >
-<template id="icoptions">
- <div id="client_iccontrols">
- <meta name="frame-title" lang="en" content="miscellaneous">
- <div id="client_emo">
- </div>
- <br>
- <div id="character_options">
- <div id="emote_options">
- <button id="button_1" alt="Hold it!" class="client_button" onclick="toggleShout(1)">Hold
- it!</button>
- <button id="button_2" alt="Objection!" class="client_button"
- onclick="toggleShout(2)">Objection!</button>
- <button id="button_3" alt="Take That!" class="client_button" onclick="toggleShout(3)">Take
- That!</button>
- <button id="button_4" alt="Custom" class="client_button" onclick="toggleShout(4)"
- style="display: none">
- Custom</button>
- <br>
- <br>
- <label for="textcolor">Text Color:</label>
- <select id="textcolor" name="textcolor">
- <option value="0">White</option>
- <option value="1">Green</option>
- <option value="2">Red</option>
- <option value="3">Orange</option>
- <option value="4">Blue</option>
- </select>
- <label for="sendsfx"> SFX: </label>
- <input type="checkbox" id="sendsfx" name="sendsfx" value="sendsfx" checked>
- <label for="sendpreanim"> Preanimation: </label>
- <input type="checkbox" id="sendpreanim" name="sendpreanim" value="sendpreanim">
- <br>
- <br>
- <button id="button_flip" alt="Flip" class="client_button" onclick="toggleEffect(this)"
- style="display: none">Flip</button>
- <button id="button_flash" alt="Flash" class="client_button"
- onclick="toggleEffect(this)">Flash</button>
- <button id="button_shake" alt="Shake" class="client_button" onclick="toggleEffect(this)"
- style="display: none">Shake</button>
- </div>
- <br>
- <br>
- <div id="character_options">
- <label for="role_select">Role:</label>
- <select id="role_select" name="role_select" onchange="changeRoleOOC()">
- <option value="">Default</option>
- <option value="def">Defense</option>
- <option value="pro">Prosecution</option>
- <option value="jud">Judge</option>
- <option value="wit">Witness</option>
- <option value="hld">Helper Defense</option>
- <option value="hlp">Helper Prosecution</option>
- <option value="jur">Jury</option>
- <option value="sea">Seance</option>
- </select>
- <br>
- <br>
- <button id="char_change" alt="Change" class="client_button hover_button"
- onclick="changeCharacter()">Change
- Character</button>
- <button id="char_random" alt="Random" class="client_button hover_button"
- onclick="randomCharacterOOC()">Random Character</button>
- <br>
- <br>
- <span id="pairing" style="display: none">
- <button id="button_toggle_pairing" alt="Pairing" class="client_button"
- onclick="toggleElement('pairing_settings')">Pairing</button>
- <span id="pairing_settings" style="display: none">
- <label for="pair_select">Pairing partner:</label>
- <select name="pair_select" id="pair_select">
- <option value="-1">None</option>
- </select>
- <table style="border: none;margin-left: auto;margin-right: auto;">
- <tr>
- <td>
- <p>Horizontal offset:</p>
- </td>
- <td><input type="range" name="pair_offset" id="pair_offset" min="-100" max="100"
- value="0"></td>
- </tr>
- <tr id="y_offset" style="display: none">
- <td>
- <p>Vertical offset:</p>
- </td>
- <td><input type="range" name="pair_y_offset" id="pair_y_offset" min="-100" max="100"
- value="0"></td>
- </tr>
- </table>
- <input id="pair_reset" type="button" value="Reset" onclick="resetOffset()">
- </span>
- </span>
- <br>
- <br>
- <span id="cccc" style="display: none">
- <label for="ic_chat_name">Custom Showname:</label>
- <input id="ic_chat_name" name="ic_chat_name" type="text">
- <br>
- <label for="showname">Show others:</label>
- <input id="showname" name="showname" type="checkbox" onclick="showname_click()" checked>
- <br>
- <br>
- <label for="check_nonint">Noninterrupting Preanimation:</label>
- <input type="checkbox" name="check_nonint" id="check_nonint">
- </span>
- <br>
- <br>
- <span id="2.7" style="display: none">
- <label for="check_loopsfx">Looping SFX:</label>
- <input type="checkbox" name="check_loopsfx" id="check_loopsfx">
- </span>
- <br>
- <br>
- <span id="2.8" style="display: none">
- <label for="check_additive">Additive:</label>
- <input type="checkbox" name="check_additive" id="check_additive">
- <br>
- <br>
- <label for="effect_select">Effect:</label>
- <select id="effect_select" name="effect_select">
- <option value="||">None</option>
- <option value="realization||sfx-realization">Realization</option>
- <option value="hearts||sfx-squee">Hearts</option>
- <option value="reaction||sfx-reactionding">Reaction</option>
- <option value="impact||sfx-fan">Impact</option>
- <option value="rain-weak||sfx-rain">Weak Rain</option>
- <option value="rain||sfx-rain">Rain</option>
- <option value="rain-strong||sfx-rain">Strong Rain</option>
- </select>
- </span>
- </div>
- </div>
- <fieldset style="margin:10px;">
- <legend>Actions</legend>
- <!-- Judge Commands -->
- <span id="judge_action" style="display:none">
- <span id="menu_wt" onclick="initWT()" class="judge_button"
- style="color: blue"><i>Witness<br>Testimony</i></span>
+ <span
+ id="menu_ce"
+ onclick="initCE()"
+ class="judge_button"
+ style="color: red"
+ ><i>Cross<br />Examination</i></span
+ >
- <span id="menu_ce" onclick="initCE()" class="judge_button"
- style="color: red"><i>Cross<br>Examination</i></span>
+ <span
+ id="menu_nguilty"
+ onclick="notguilty()"
+ class="judge_button"
+ style="
+ color: white;
+ font-family: serif;
+ text-shadow:
+ -1px 0 #000,
+ 0 1px #000,
+ 1px 0 #000,
+ 0 -1px #000;
+ font-size: 1.5em;
+ line-height: 0.75;
+ "
+ >Not<br />Guilty</span
+ >
- <span id="menu_nguilty" onclick="notguilty()" class="judge_button"
- style="color: white; font-family: serif; text-shadow: -1px 0 #000, 0 1px #000, 1px 0 #000, 0 -1px #000; font-size: 1.5em; line-height: 0.75;">Not<br>Guilty</span>
+ <span
+ id="menu_guilty"
+ onclick="guilty()"
+ class="judge_button"
+ style="color: black; font-family: serif; font-size: 1.5em"
+ >Guilty</span
+ >
- <span id="menu_guilty" onclick="guilty()" class="judge_button"
- style="color: black; font-family: serif; font-size: 1.5em;">Guilty</span>
+ <br />
+ <span style="display: inline-block; vertical-align: middle">
+ <span id="menu_rhpd" onclick="redHPD()" class="healthchange_button">
+ &#8863;
+ </span>
+ <span style="font-size: 1.25em">Defense</span>
+ <span id="menu_ahpd" onclick="addHPD()" class="healthchange_button">
+ &#8862;
+ </span>
+ </span>
+ <span style="display: inline-block; vertical-align: middle">
+ <span id="menu_ahpp" onclick="addHPP()" class="healthchange_button">
+ &#8862;
+ </span>
+ <span style="font-size: 1.25em">Prosecution</span>
+ <span id="menu_rhpp" onclick="redHPP()" class="healthchange_button">
+ &#8863;
+ </span>
+ </span>
+ </span>
+ <!-- No Commands -->
+ <span id="no_action"> No judge actions available for this role. </span>
+ <br />
+ <br />
+ <span id="muting">
+ <label for="mute_select" style="float: left"
+ >Mute a character:
+ </label>
+ <select
+ name="mute_select"
+ id="mute_select"
+ onchange="mutelist_click(event)"
+ ></select>
+ </span>
+ </fieldset>
+ </div>
+ </template>
- <br>
- <span style="display:inline-block; vertical-align: middle;">
- <span id="menu_rhpd" onclick="redHPD()" class="healthchange_button">
- &#8863;
- </span>
- <span style="font-size: 1.25em">Defense</span>
- <span id="menu_ahpd" onclick="addHPD()" class="healthchange_button">
- &#8862;
- </span>
- </span>
- <span style="display:inline-block; vertical-align: middle;">
- <span id="menu_ahpp" onclick="addHPP()" class="healthchange_button">
- &#8862;
- </span>
- <span style="font-size: 1.25em">Prosecution</span>
- <span id="menu_rhpp" onclick="redHPP()" class="healthchange_button">
- &#8863;
- </span>
- </span>
- </span>
- <!-- No Commands -->
- <span id="no_action">
- No judge actions available for this role.
- </span>
- <br>
- <br>
- <span id="muting">
- <label for="mute_select" style="float: left">Mute a character: </label>
- <select name="mute_select" id="mute_select" onchange="mutelist_click(event)"></select>
- </span>
- </fieldset>
- </div>
-</template>
+ <template id="mainmenu">
+ <meta name="frame-title" lang="en" content="Log" />
+ <div id="client_menu">
+ <div id="client_menu_buttons">
+ <div class="hrtext">Main Menu</div>
+ <span id="menu_1" onclick="toggleMenu(1)" class="menu_button active">
+ <b class="menu_icon">&#128205;</b>
+ <div class="menu_text">Areas</div>
+ </span>
+ <span id="menu_2" onclick="toggleMenu(2)" class="menu_button">
+ <b class="menu_icon">&#128188;</b>
+ <div class="menu_text">Evidence</div>
+ </span>
+ <span id="menu_3" onclick="toggleMenu(3)" class="menu_button">
+ <b class="menu_icon">&#128295;</b>
+ <div class="menu_text">Settings</div>
+ </span>
+ <span id="menu_4" onclick="toggleMenu(4)" class="menu_button">
+ <b class="menu_icon">&#10067;</b>
+ <div class="menu_text">About</div>
+ </span>
+ <span id="menu_cm" onclick="callMod()" class="menu_button">
+ <b class="menu_icon">&#128680;</b>
+ <div class="menu_text" style="color: #ce2727">Call Mod</div>
+ </span>
+ </div>
+ <div class="hrtext">
+ <span id="content_name">Content</span>
+ </div>
+ <!-- Areas section -->
+ <span class="menu_content active" id="content_1">
+ <meta name="frame-title" lang="en" content="Areas" />
+ <div id="areas"></div>
+ <br />
+ <fieldset style="text-align: left">
+ <legend>Current Area Background</legend>
+ <span>
+ <img
+ id="bg_preview"
+ src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="
+ alt="Background Preview"
+ onerror="imgError(this);"
+ />
+ </span>
+ <span style="display: inline-block">
+ <label for="bg_filename">Background:</label>
+ <br />
+ <select
+ id="bg_select"
+ name="bg_select"
+ onchange="updateBackgroundPreview()"
+ style="margin-top: 10px"
+ ></select>
+ <br />
+ <input
+ id="bg_filename"
+ name="bg_filename"
+ type="text"
+ style="margin-top: 10px"
+ />
+ <br />
+ <br />
+ <button
+ id="bg_change"
+ alt="Change"
+ class="client_button hover_button"
+ onclick="changeBackgroundOOC()"
+ >
+ Change
+ </button>
+ </span>
+ </fieldset>
+ <fieldset style="text-align: left; display: none">
+ <legend>Timers</legend>
+ <span id="client_timer0">00:00:00</span>
+ <span id="client_timer1">00:00:00</span>
+ <span id="client_timer2">00:00:00</span>
+ <span id="client_timer3">00:00:00</span>
+ <span id="client_timer4">00:00:00</span>
+ <span id="client_timer5">00:00:00</span>
+ <span id="client_timer6">00:00:00</span>
+ <span id="client_timer7">00:00:00</span>
+ <span id="client_timer8">00:00:00</span>
+ <span id="client_timer9">00:00:00</span>
+ <span id="client_timer10">00:00:00</span>
+ <span id="client_timer11">00:00:00</span>
+ <span id="client_timer12">00:00:00</span>
+ <span id="client_timer13">00:00:00</span>
+ <span id="client_timer14">00:00:00</span>
+ <span id="client_timer15">00:00:00</span>
+ <span id="client_timer16">00:00:00</span>
+ <span id="client_timer17">00:00:00</span>
+ <span id="client_timer18">00:00:00</span>
+ <span id="client_timer19">00:00:00</span>
+ <span id="client_timer20">00:00:00</span>
+ </fieldset>
+ </span>
-<template id="mainmenu">
- <meta name="frame-title" lang="en" content="Log">
- <div id="client_menu">
- <div id="client_menu_buttons">
- <div class="hrtext">Main Menu</div>
- <span id="menu_1" onclick="toggleMenu(1)" class="menu_button active">
- <b class="menu_icon">&#128205;</b>
- <div class="menu_text">Areas</div>
- </span>
- <span id="menu_2" onclick="toggleMenu(2)" class="menu_button">
- <b class="menu_icon">&#128188;</b>
- <div class="menu_text">Evidence</div>
- </span>
- <span id="menu_3" onclick="toggleMenu(3)" class="menu_button">
- <b class="menu_icon">&#128295;</b>
- <div class="menu_text">Settings</div>
- </span>
- <span id="menu_4" onclick="toggleMenu(4)" class="menu_button">
- <b class="menu_icon">&#10067;</b>
- <div class="menu_text">About</div>
- </span>
- <span id="menu_cm" onclick="callMod()" class="menu_button">
- <b class="menu_icon">&#128680;</b>
- <div class="menu_text" style="color: #ce2727;">Call Mod</div>
- </span>
- </div>
- <div class="hrtext">
- <span id="content_name">Content</span>
- </div>
- <!-- Areas section -->
- <span class="menu_content active" id="content_1">
- <meta name="frame-title" lang="en" content="Areas">
- <div id="areas"></div>
- <br>
- <fieldset style="text-align: left">
- <legend>Current Area Background</legend>
- <span>
- <img id="bg_preview"
- src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="
- alt="Background Preview" onerror="imgError(this);">
- </span>
- <span style="display:inline-block">
- <label for="bg_filename">Background:</label>
- <br>
- <select id="bg_select" name="bg_select" onchange="updateBackgroundPreview()"
- style="margin-top:10px"></select>
- <br>
- <input id="bg_filename" name="bg_filename" type="text" style="margin-top:10px">
- <br>
- <br>
- <button id="bg_change" alt="Change" class="client_button hover_button"
- onclick="changeBackgroundOOC()">Change</button>
- </span>
- </fieldset>
- <fieldset style="text-align: left; display: none">
- <legend>Timers</legend>
- <span id="client_timer0">00:00:00</span>
- <span id="client_timer1">00:00:00</span>
- <span id="client_timer2">00:00:00</span>
- <span id="client_timer3">00:00:00</span>
- <span id="client_timer4">00:00:00</span>
- <span id="client_timer5">00:00:00</span>
- <span id="client_timer6">00:00:00</span>
- <span id="client_timer7">00:00:00</span>
- <span id="client_timer8">00:00:00</span>
- <span id="client_timer9">00:00:00</span>
- <span id="client_timer10">00:00:00</span>
- <span id="client_timer11">00:00:00</span>
- <span id="client_timer12">00:00:00</span>
- <span id="client_timer13">00:00:00</span>
- <span id="client_timer14">00:00:00</span>
- <span id="client_timer15">00:00:00</span>
- <span id="client_timer16">00:00:00</span>
- <span id="client_timer17">00:00:00</span>
- <span id="client_timer18">00:00:00</span>
- <span id="client_timer19">00:00:00</span>
- <span id="client_timer20">00:00:00</span>
- </fieldset>
- </span>
+ <!-- Evidence section -->
+ <span class="menu_content" id="content_2">
+ <meta name="frame-title" lang="en" content="Evidence" />
+ <fieldset
+ style="text-align: left; display: flex; flex-direction: column"
+ >
+ <legend>Information</legend>
+ <hr />
+ <div style="display: flex">
+ <img
+ id="evi_preview"
+ class="evi_icon"
+ src=""
+ alt="Evidence Icon"
+ onerror="imgError(this);"
+ />
+ <div id="evi_options">
+ <input
+ id="evi_name"
+ name="evi_name"
+ type="text"
+ placeholder="Evidence name"
+ />
+ <br />
+ <label for="evi_filename">Icon:</label>
+ <select
+ id="evi_select"
+ name="evi_select"
+ onchange="updateEvidenceIcon()"
+ ></select>
+ <input
+ id="evi_filename"
+ name="evi_filename"
+ type="text"
+ placeholder="Custom filename"
+ />
+ </div>
+ </div>
+ <hr />
+ <div style="display: flex; padding-top: 5px">
+ <textarea
+ id="evi_desc"
+ name="evi_desc"
+ rows="2"
+ cols="20"
+ placeholder="Evidence description"
+ ></textarea>
+ </div>
+ <div style="display: block; text-align: center; padding-top: 20px">
+ <button
+ id="evi_add"
+ alt="Add Evidence"
+ class="client_button hover_button"
+ onclick="addEvidence()"
+ >
+ Add
+ </button>
+ <button
+ id="evi_edit"
+ alt="Edit Evidence"
+ class="client_button hover_button inactive"
+ onclick="editEvidence()"
+ >
+ Edit
+ </button>
+ <button
+ id="evi_cancel"
+ alt="Cancel Evidence"
+ class="client_button hover_button inactive"
+ onclick="cancelEvidence()"
+ >
+ Cancel
+ </button>
+ <button
+ id="evi_del"
+ alt="Remove Evidence"
+ class="client_button hover_button inactive"
+ onclick="deleteEvidence()"
+ >
+ Remove
+ </button>
+ </div>
+ </fieldset>
+ <br />
+ <div id="evidences"></div>
+ <br />
+ <button
+ id="button_present"
+ alt="Present"
+ class="client_button"
+ onclick="toggleEffect(this)"
+ >
+ Present
+ </button>
+ </span>
- <!-- Evidence section -->
- <span class="menu_content" id="content_2">
- <meta name="frame-title" lang="en" content="Evidence">
- <fieldset style="text-align: left; display: flex; flex-direction: column;">
- <legend>Information</legend>
- <hr>
- <div style="display: flex;">
- <img id="evi_preview" class="evi_icon" src="" alt="Evidence Icon" onerror="imgError(this);">
- <div id="evi_options">
- <input id="evi_name" name="evi_name" type="text" placeholder="Evidence name">
- <br>
- <label for="evi_filename">Icon:</label>
- <select id="evi_select" name="evi_select" onchange="updateEvidenceIcon()"></select>
- <input id="evi_filename" name="evi_filename" type="text" placeholder="Custom filename">
- </div>
- </div>
- <hr>
- <div style="display: flex; padding-top: 5px;">
- <textarea id="evi_desc" name="evi_desc" rows="2" cols="20"
- placeholder="Evidence description"></textarea>
- </div>
- <div style="display: block; text-align: center; padding-top: 20px;">
- <button id="evi_add" alt="Add Evidence" class="client_button hover_button"
- onclick="addEvidence()">Add</button>
- <button id="evi_edit" alt="Edit Evidence" class="client_button hover_button inactive"
- onclick="editEvidence()">Edit</button>
- <button id="evi_cancel" alt="Cancel Evidence" class="client_button hover_button inactive"
- onclick="cancelEvidence()">Cancel</button>
- <button id="evi_del" alt="Remove Evidence" class="client_button hover_button inactive"
- onclick="deleteEvidence()">Remove</button>
- </div>
- </fieldset>
- <br>
- <div id="evidences"></div>
- <br>
- <button id="button_present" alt="Present" class="client_button"
- onclick="toggleEffect(this)">Present</button>
- </span>
-
- <!-- Settings section -->
- <span class="menu_content" id="content_3">
- <meta name="frame-title" lang="en" content="Settings">
- <h2>Volume</h2>
- <p>Music</p>
- <input id="client_mvolume" class="long" type="range" min="0" max="1" value="1" step="0.01"
- onchange="changeMusicVolume()">
+ <!-- Settings section -->
+ <span class="menu_content" id="content_3">
+ <meta name="frame-title" lang="en" content="Settings" />
+ <h2>Volume</h2>
+ <p>Music</p>
+ <input
+ id="client_mvolume"
+ class="long"
+ type="range"
+ min="0"
+ max="1"
+ value="1"
+ step="0.01"
+ onchange="changeMusicVolume()"
+ />
- <p>SFX</p>
- <audio id="client_sfxaudio" onvolumechange="changeSFXVolume()" onerror="opusCheck(this)" controls></audio>
+ <p>SFX</p>
+ <audio
+ id="client_sfxaudio"
+ onvolumechange="changeSFXVolume()"
+ onerror="opusCheck(this)"
+ controls
+ ></audio>
- <p>Shouts</p>
- <audio id="client_shoutaudio" onvolumechange="changeShoutVolume()" onerror="opusCheck(this)"
- controls></audio>
+ <p>Shouts</p>
+ <audio
+ id="client_shoutaudio"
+ onvolumechange="changeShoutVolume()"
+ onerror="opusCheck(this)"
+ controls
+ ></audio>
- <p>Testimony/Guilty</p>
- <audio id="client_testimonyaudio" onvolumechange="changeTestimonyVolume()" onerror="opusCheck(this)"
- controls></audio>
+ <p>Testimony/Guilty</p>
+ <audio
+ id="client_testimonyaudio"
+ onvolumechange="changeTestimonyVolume()"
+ onerror="opusCheck(this)"
+ controls
+ ></audio>
- <p>Blip</p>
- <input id="client_bvolume" class="long" type="range" min="0" max="1" value="1" step="0.01"
- onchange="changeBlipVolume()">
- <br>
- <br>
- <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</option>
- <option value="trilogy">Trilogy</option>
- <option value="speen">April</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="dd">DD / SoJ</option>
- <option value="dgs">Chronicles</option>
- <option value="plvsaa">PL vs AA</option>
- <option value="trilogy">Trilogy</option>
- <option value="future">Future theme</option>
- <option value="legacy">old webAO</option>
- <option value="999">999</option>
- <option value="acww">Animal Crossing</option>
- <option value="dr1">DR 1</option>
- <option value="dr2">DR 2</option>
- <option value="drv3">DR 3</option>
- <option value="drae">DR: AE</option>
- <option value="ddlc">DDLC</option>
- <option value="homestuck">Homestuck</option>
- <option value="key">Key</option>
- <option value="n64zelda">N64 Zelda</option>
- <option value="papermario">Paper Mario</option>
- <option value="p3">Persona 3</option>
- <option value="p4">Persona 4</option>
- <option value="p5">Persona 5</option>
- <option value="sonic">Murder of Sonic</option>
- <option value="halla">VA-11 HALL-A</option>
- <option value="whentheycry">When They Cry Series</option>
- <option value="yakuza">Yakuza</option>
- <option value="yttd">YTTD</option>
- </select>
- <!--
+ <p>Blip</p>
+ <input
+ id="client_bvolume"
+ class="long"
+ type="range"
+ min="0"
+ max="1"
+ value="1"
+ step="0.01"
+ onchange="changeBlipVolume()"
+ />
+ <br />
+ <br />
+ <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</option>
+ <option value="trilogy">Trilogy</option>
+ <option value="speen">April</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="dd">DD / SoJ</option>
+ <option value="dgs">Chronicles</option>
+ <option value="plvsaa">PL vs AA</option>
+ <option value="trilogy">Trilogy</option>
+ <option value="future">Future theme</option>
+ <option value="legacy">old webAO</option>
+ <option value="999">999</option>
+ <option value="acww">Animal Crossing</option>
+ <option value="dr1">DR 1</option>
+ <option value="dr2">DR 2</option>
+ <option value="drv3">DR 3</option>
+ <option value="drae">DR: AE</option>
+ <option value="ddlc">DDLC</option>
+ <option value="homestuck">Homestuck</option>
+ <option value="key">Key</option>
+ <option value="n64zelda">N64 Zelda</option>
+ <option value="papermario">Paper Mario</option>
+ <option value="p3">Persona 3</option>
+ <option value="p4">Persona 4</option>
+ <option value="p5">Persona 5</option>
+ <option value="sonic">Murder of Sonic</option>
+ <option value="halla">VA-11 HALL-A</option>
+ <option value="whentheycry">When They Cry Series</option>
+ <option value="yakuza">Yakuza</option>
+ <option value="yttd">YTTD</option>
+ </select>
+ <!--
<br>
<br>
<button id="client_modcall" onclick="modcall_test()">Test modcall</button>
-->
- <br>
- <br>
- <p>Ini editing (experimental)</p>
- <label for="client_iniselect">Iniedit Character:</label>
- <select id="client_iniselect" name="client_iniselect" onchange="updateIniswap()"></select>
- <input id="client_ininame" name="client_ininame">
- <button id="client_inichange" onclick="iniedit()">Change</button>
- <br>
- <br>
- <p>Pan-tilt (experimental)</p>
- <label for="client_pantilt">Enable:</label>
- <input type="checkbox" id="client_pantilt" name="client_pantilt" onclick="switchPanTilt()">
- <br>
- <br>
- <p>16:9 viewport (experimental)</p>
- <label for="client_hdviewport">Enable:</label>
- <input type="checkbox" id="client_hdviewport" name="client_hdviewport" onclick="switchAspectRatio()">
- <br>
- <label for="client_hdviewport_offset">Offset chatbox:</label>
- <input type="checkbox" id="client_hdviewport_offset" id="client_hdviewport_offset"
- onclick="switchChatOffset()">
- <br>
- <br>
- <label for="client_callwords">Callwords:</label>
- <br>
- <textarea id="client_callwords" name="client_callwords" rows="4" cols="10"
- placeholder="Put 1 callword per line here" onchange="changeCallwords()"></textarea>
- <br>
- <br>
- <span style="color:blue">Changing these settings will save them as a cookie.<br>
- By doing so, you agree to it being saved.<br>
- If you don't agree, disable cookies for this site in your browser.</span>
- </span>
+ <br />
+ <br />
+ <p>Ini editing (experimental)</p>
+ <label for="client_iniselect">Iniedit Character:</label>
+ <select
+ id="client_iniselect"
+ name="client_iniselect"
+ onchange="updateIniswap()"
+ ></select>
+ <input id="client_ininame" name="client_ininame" />
+ <button id="client_inichange" onclick="iniedit()">Change</button>
+ <br />
+ <br />
+ <p>Pan-tilt (experimental)</p>
+ <label for="client_pantilt">Enable:</label>
+ <input
+ type="checkbox"
+ id="client_pantilt"
+ name="client_pantilt"
+ onclick="switchPanTilt()"
+ />
+ <br />
+ <br />
+ <p>16:9 viewport (experimental)</p>
+ <label for="client_hdviewport">Enable:</label>
+ <input
+ type="checkbox"
+ id="client_hdviewport"
+ name="client_hdviewport"
+ onclick="switchAspectRatio()"
+ />
+ <br />
+ <label for="client_hdviewport_offset">Offset chatbox:</label>
+ <input
+ type="checkbox"
+ id="client_hdviewport_offset"
+ id="client_hdviewport_offset"
+ onclick="switchChatOffset()"
+ />
+ <br />
+ <br />
+ <label for="client_callwords">Callwords:</label>
+ <br />
+ <textarea
+ id="client_callwords"
+ name="client_callwords"
+ rows="4"
+ cols="10"
+ placeholder="Put 1 callword per line here"
+ onchange="changeCallwords()"
+ ></textarea>
+ <br />
+ <br />
+ <span style="color: blue"
+ >Changing these settings will save them as a cookie.<br />
+ By doing so, you agree to it being saved.<br />
+ If you don't agree, disable cookies for this site in your
+ browser.</span
+ >
+ </span>
- <!-- About section -->
- <span class="menu_content" id="content_4">
- <meta name="frame-title" lang="en" content="About">
- <img id="about-logo" src="logo-new.png" alt="Attorney Online logo">
- <h1 style="line-height: .3em;">webAO</h1>
- <h3 id="client_version">version</h3>
- <p>Client created by
- <a href="https://github.com/stonedDiscord">@stonedDiscord</a> and fixed up by
- <a href="https://github.com/oldmud0">@oldmud0</a> and
- <a href="https://github.com/qubrick">Qubrick</a>.
- </p>
- <p><a href="https://github.com/AttorneyOnline/webAO">Follow development on our GitHub</a></p>
- <p>Special thanks to Aleks for the first webAO PoC.</p>
- <p><a href="styles/igiari/readme.txt">Igiari font by Caveras</a></p>
- </span>
- </div>
-</template>
+ <!-- About section -->
+ <span class="menu_content" id="content_4">
+ <meta name="frame-title" lang="en" content="About" />
+ <img id="about-logo" src="logo-new.png" alt="Attorney Online logo" />
+ <h1 style="line-height: 0.3em">webAO</h1>
+ <h3 id="client_version">version</h3>
+ <p>
+ Client created by
+ <a href="https://github.com/stonedDiscord">@stonedDiscord</a> and
+ fixed up by <a href="https://github.com/oldmud0">@oldmud0</a> and
+ <a href="https://github.com/qubrick">Qubrick</a>.
+ </p>
+ <p>
+ <a href="https://github.com/AttorneyOnline/webAO"
+ >Follow development on our GitHub</a
+ >
+ </p>
+ <p>Special thanks to Aleks for the first webAO PoC.</p>
+ <p><a href="styles/igiari/readme.txt">Igiari font by Caveras</a></p>
+ </span>
+ </div>
+ </template>
-<template id="log">
- <meta name="frame-title" lang="en" content="Log">
- <div id="client_log">
- <div class="hrtext">&#8595; log starts here &#8595;</div>
- </div>
-</template>
+ <template id="log">
+ <meta name="frame-title" lang="en" content="Log" />
+ <div id="client_log">
+ <div class="hrtext">&#8595; log starts here &#8595;</div>
+ </div>
+ </template>
-<template id="ooc">
- <meta name="frame-title" lang="en" content="Server">
- <div id="client_ooc" style="height: 100%; display: flex; flex-direction: column;">
- <div id="client_ooclog" style="flex: 1 auto" readonly></div>
- <span id="client_oocinput">
- <input id="OOC_name" name="OOC_name" type="text">
- <input id="client_oocinputbox" type="text" onkeypress="onOOCEnter(event)">
- </span>
- <span id="client_replaycontrols" style="display: none; white-space: nowrap;">
- <input id="client_replaygo" style="width: 25%;" type="button" onclick="onReplayGo(event)" value="GO">
- <input id="client_replaytimer" style="width: 25%;" type="number" value="2000">
- </span>
- </div>
-</template>
+ <template id="ooc">
+ <meta name="frame-title" lang="en" content="Server" />
+ <div
+ id="client_ooc"
+ style="height: 100%; display: flex; flex-direction: column"
+ >
+ <div id="client_ooclog" style="flex: 1 auto" readonly></div>
+ <span id="client_oocinput">
+ <input id="OOC_name" name="OOC_name" type="text" />
+ <input
+ id="client_oocinputbox"
+ type="text"
+ onkeypress="onOOCEnter(event)"
+ />
+ </span>
+ <span
+ id="client_replaycontrols"
+ style="display: none; white-space: nowrap"
+ >
+ <input
+ id="client_replaygo"
+ style="width: 25%"
+ type="button"
+ onclick="onReplayGo(event)"
+ value="GO"
+ />
+ <input
+ id="client_replaytimer"
+ style="width: 25%"
+ type="number"
+ value="2000"
+ />
+ </span>
+ </div>
+ </template>
-<template id="music">
- <meta name="frame-title" lang="en" content="Music">
- <input id="client_musicsearch" placeholder="Search" oninput="musiclist_filter(event)">
- <select id="client_musiclist" size="5" onchange="musiclist_click(event)">
- </select>
-</template>
+ <template id="music">
+ <meta name="frame-title" lang="en" content="Music" />
+ <input
+ id="client_musicsearch"
+ placeholder="Search"
+ oninput="musiclist_filter(event)"
+ />
+ <select
+ id="client_musiclist"
+ size="5"
+ onchange="musiclist_click(event)"
+ ></select>
+ </template>
-<template id="players">
- <meta name="frame-title" lang="en" content="Players">
- <table id="client_playerlist"></table>
-</template>
-
+ <template id="players">
+ <meta name="frame-title" lang="en" content="Players" />
+ <table id="client_playerlist"></table>
+ </template>
</html>
diff --git a/public/index.html b/public/index.html
index bc13032..aa6c65a 100644
--- a/public/index.html
+++ b/public/index.html
@@ -1,130 +1,185 @@
<html>
+ <head>
+ <title><%= htmlWebpackPlugin.options.title %></title>
+ <meta charset="utf-8" />
+ <meta
+ name="viewport"
+ content="width=device-width, initial-scale=1, shrink-to-fit=no"
+ />
+ <meta
+ name="description"
+ content="An off-the-cuff courtroom drama simulator"
+ />
+ <meta name="author" content="stonedDiscord" />
-<head>
- <title>
- <%= htmlWebpackPlugin.options.title %>
- </title>
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
- <meta name="description" content="An off-the-cuff courtroom drama simulator">
- <meta name="author" content="stonedDiscord">
+ <meta property="og:title" content="Attorney Online" />
+ <meta
+ property="og:description"
+ content="Attorney Online is an online version of the world-renowned courtroom drama simulator that allows you to create and play out cases in an off-the-cuff format."
+ />
+ <meta property="og:type" content="website" />
+ <meta property="og:url" content="http://web.aceattorneyonline.com/" />
+ <meta
+ property="og:image"
+ content="https://repository-images.githubusercontent.com/78860508/89fcba80-aafd-11e9-80db-c5b10c01aba9"
+ />
- <meta property="og:title" content="Attorney Online">
- <meta property="og:description"
- content="Attorney Online is an online version of the world-renowned courtroom drama simulator that allows you to create and play out cases in an off-the-cuff format.">
- <meta property="og:type" content="website">
- <meta property="og:url" content="http://web.aceattorneyonline.com/">
- <meta property="og:image"
- content="https://repository-images.githubusercontent.com/78860508/89fcba80-aafd-11e9-80db-c5b10c01aba9">
-
- <meta property="twitter:card" content="summary_large_image">
- <meta property="twitter:title" content="Attorney Online">
- <meta property="twitter:description"
- content="Attorney Online is an online version of the world-renowned courtroom drama simulator that allows you to create and play out cases in an off-the-cuff format.">
- <meta property="twitter:url" content="http://web.aceattorneyonline.com/">
- <meta property="twitter:image"
- content="https://repository-images.githubusercontent.com/78860508/89fcba80-aafd-11e9-80db-c5b10c01aba9">
-
- <meta http-equiv="Content-Security-Policy"
- content="default-src 'self' 'unsafe-inline' 'unsafe-eval' *.aceattorneyonline.com data:; frame-src http://servers.aceattorneyonline.com https://servers.aceattorneyonline.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; connect-src 'self' http://servers.aceattorneyonline.com https://servers.aceattorneyonline.com ws:;">
- <meta http-equiv="X-Content-Security-Policy"
- content="default-src 'self' 'unsafe-inline' 'unsafe-eval' *.aceattorneyonline.com data:; frame-src http://servers.aceattorneyonline.com https://servers.aceattorneyonline.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; connect-src 'self' http://servers.aceattorneyonline.com https://servers.aceattorneyonline.com ws:;">
- <meta http-equiv="X-WebKit-CSP"
- content="default-src 'self' 'unsafe-inline' 'unsafe-eval' *.aceattorneyonline.com data:; frame-src http://servers.aceattorneyonline.com https://servers.aceattorneyonline.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; connect-src 'self' http://servers.aceattorneyonline.com https://servers.aceattorneyonline.com ws:;">
+ <meta property="twitter:card" content="summary_large_image" />
+ <meta property="twitter:title" content="Attorney Online" />
+ <meta
+ property="twitter:description"
+ content="Attorney Online is an online version of the world-renowned courtroom drama simulator that allows you to create and play out cases in an off-the-cuff format."
+ />
+ <meta property="twitter:url" content="http://web.aceattorneyonline.com/" />
+ <meta
+ property="twitter:image"
+ content="https://repository-images.githubusercontent.com/78860508/89fcba80-aafd-11e9-80db-c5b10c01aba9"
+ />
+ <meta
+ http-equiv="Content-Security-Policy"
+ content="default-src 'self' 'unsafe-inline' 'unsafe-eval' *.aceattorneyonline.com data:; frame-src http://servers.aceattorneyonline.com https://servers.aceattorneyonline.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; connect-src 'self' http://servers.aceattorneyonline.com https://servers.aceattorneyonline.com ws:;"
+ />
+ <meta
+ http-equiv="X-Content-Security-Policy"
+ content="default-src 'self' 'unsafe-inline' 'unsafe-eval' *.aceattorneyonline.com data:; frame-src http://servers.aceattorneyonline.com https://servers.aceattorneyonline.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; connect-src 'self' http://servers.aceattorneyonline.com https://servers.aceattorneyonline.com ws:;"
+ />
+ <meta
+ http-equiv="X-WebKit-CSP"
+ content="default-src 'self' 'unsafe-inline' 'unsafe-eval' *.aceattorneyonline.com data:; frame-src http://servers.aceattorneyonline.com https://servers.aceattorneyonline.com; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; connect-src 'self' http://servers.aceattorneyonline.com https://servers.aceattorneyonline.com ws:;"
+ />
<!-- Mobile Specifc Meta -->
- <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
+ <meta
+ name="viewport"
+ content="width=device-width, initial-scale=1, maximum-scale=1"
+ />
<!-- Bootstrap Integration -->
- <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
- integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
+ <link
+ rel="stylesheet"
+ href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"
+ integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO"
+ crossorigin="anonymous"
+ />
- <link rel="preconnect" href="https://fonts.gstatic.com">
- <link href="https://fonts.googleapis.com/css?family=Oswald%7CRoboto+Condensed%7CPoiret+One&display=swap"
- rel="stylesheet">
+ <link rel="preconnect" href="https://fonts.gstatic.com" />
+ <link
+ href="https://fonts.googleapis.com/css?family=Oswald%7CRoboto+Condensed%7CPoiret+One&display=swap"
+ rel="stylesheet"
+ />
<!-- AOS -->
- <link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet">
-
+ <link href="https://unpkg.com/aos@2.3.1/dist/aos.css" rel="stylesheet" />
- <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
+ <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
<link rel="apple-touch-icon" href="logo-new.png" />
- <link rel="stylesheet" type="text/css" href="styles/master.css">
- <link rel="shortcut icon" href="favicon.ico" type="image/x-icon">
- <link rel="icon" href="favicon.ico">
- <link rel="manifest" href="manifest.json">
+ <link rel="stylesheet" type="text/css" href="styles/master.css" />
+ <link rel="shortcut icon" href="favicon.ico" type="image/x-icon" />
+ <link rel="icon" href="favicon.ico" />
+ <link rel="manifest" href="manifest.json" />
<script>
- // Check that service workers are supported
- if ('serviceWorker' in navigator) {
- // Use the window load event to keep the page load performant
- window.addEventListener('load', () => {
- navigator.serviceWorker.register('service-worker.js');
- });
- }
+ // Check that service workers are supported
+ if ("serviceWorker" in navigator) {
+ // Use the window load event to keep the page load performant
+ window.addEventListener("load", () => {
+ navigator.serviceWorker.register("service-worker.js");
+ });
+ }
</script>
-</head>
+ </head>
-<body>
- <nav class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark fixed-top">
- <div class="container">
- <div class="collapse navbar-collapse" id="navbarResponsive">
- <ul class="navbar-nav ml-auto">
- <li class="nav-item">
- <a class="nav-link" href="https://aceattorneyonline.com/index.html">HOME </a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="https://aceattorneyonline.com/download.html">DOWNLOAD </a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="https://aceattorneyonline.com/support.html">SUPPORT & FAQ </a>
- </li>
- <li class="nav-item">
- <a class="nav-link" href="https://discord.gg/wWvQ3pw">DISCORD </a>
- </li>
- </ul>
- </div>
+ <body>
+ <nav
+ class="navbar fixed-top navbar-expand-lg navbar-dark bg-dark fixed-top"
+ >
+ <div class="container">
+ <div class="collapse navbar-collapse" id="navbarResponsive">
+ <ul class="navbar-nav ml-auto">
+ <li class="nav-item">
+ <a
+ class="nav-link"
+ href="https://aceattorneyonline.com/index.html"
+ >HOME
+ </a>
+ </li>
+ <li class="nav-item">
+ <a
+ class="nav-link"
+ href="https://aceattorneyonline.com/download.html"
+ >DOWNLOAD
+ </a>
+ </li>
+ <li class="nav-item">
+ <a
+ class="nav-link"
+ href="https://aceattorneyonline.com/support.html"
+ >SUPPORT & FAQ
+ </a>
+ </li>
+ <li class="nav-item">
+ <a class="nav-link" href="https://discord.gg/wWvQ3pw">DISCORD </a>
+ </li>
+ </ul>
</div>
+ </div>
</nav>
<form id="serverlist_container" class="monocle-enriched">
- <h2>Server List</h2>
- <div id="ms_error" class="error" style="display: none;">
- <p>Could not connect to the master server.</p>
- <p>Showing saved list.</p>
+ <h2>Server List</h2>
+ <div id="ms_error" class="error" style="display: none">
+ <p>Could not connect to the master server.</p>
+ <p>Showing saved list.</p>
+ </div>
+ <noscript>
+ <div id="js_error" class="error">
+ <p>webAO requires JavaScript to work</p>
</div>
- <noscript>
- <div id="js_error" class="error">
- <p>webAO requires JavaScript to work</p>
- </div>
- </noscript>
- <ul class="serverlist">
- <li id="server-2" onmouseover="setServ(-2)">
- <p>Singleplayer (beta)</p>
- <a class="button" href="client.html?mode=replay">Try</a>
- </li>
- </ul>
- <ul class="serverlist" id="masterlist"></ul>
- <ul class="serverlist">
- <li id="server-1" onmouseover="setServ(-1)">
- <p>Localhost</p>
- <a class="button" href="client.html?mode=watch&connect=ws://127.0.0.1:50001">Watch</a>
- <a class="button" href="client.html?mode=join&connect=ws://127.0.0.1:50001">Join</a>
- </li>
- </ul>
- <div id="info_container">
- <p id="serverinfo">Masterserver version - ...</p>
- <p id="clientinfo">Client version - ...</p>
+ </noscript>
+ <ul class="serverlist">
+ <li id="server-2" onmouseover="setServ(-2)">
+ <p>Singleplayer (beta)</p>
+ <a class="button" href="client.html?mode=replay">Try</a>
+ </li>
+ </ul>
+ <ul class="serverlist" id="masterlist"></ul>
+ <ul class="serverlist">
+ <li id="server-1" onmouseover="setServ(-1)">
+ <p>Localhost</p>
+ <a
+ class="button"
+ href="client.html?mode=watch&connect=ws://127.0.0.1:50001"
+ >Watch</a
+ >
+ <a
+ class="button"
+ href="client.html?mode=join&connect=ws://127.0.0.1:50001"
+ >Join</a
+ >
+ </li>
+ </ul>
+ <div id="info_container">
+ <p id="serverinfo">Masterserver version - ...</p>
+ <p id="clientinfo">Client version - ...</p>
- <iframe id="masterchat" src="https://servers.aceattorneyonline.com/motd" frameborder="0"></iframe>
+ <iframe
+ id="masterchat"
+ src="https://servers.aceattorneyonline.com/motd"
+ frameborder="0"
+ ></iframe>
- <p>Having trouble? <a href="https://discord.gg/9rYQVVQ">Join us on Discord</a></p>
- <p><a href="https://servers.aceattorneyonline.com/privacy">Privacy Policy</a></p>
- </div>
- <div id="serverdescription_container">
- <p id="serverdescription_content">
- </p>
- </div>
+ <p>
+ Having trouble?
+ <a href="https://discord.gg/9rYQVVQ">Join us on Discord</a>
+ </p>
+ <p>
+ <a href="https://servers.aceattorneyonline.com/privacy"
+ >Privacy Policy</a
+ >
+ </p>
+ </div>
+ <div id="serverdescription_container">
+ <p id="serverdescription_content"></p>
+ </div>
</form>
-</body>
-
+ </body>
</html>