diff options
| author | caleb.mabry.15@cnu.edu <caleb.mabry.15@cnu.edu> | 2022-03-10 23:21:38 -0500 |
|---|---|---|
| committer | caleb.mabry.15@cnu.edu <caleb.mabry.15@cnu.edu> | 2022-03-10 23:21:38 -0500 |
| commit | dc208478fd18a4e28c0083641bf405170859fc58 (patch) | |
| tree | 1fad0ecbaf5639d02908b5f9c9f31f1878ee446c /public | |
| parent | 6dd1b296c2dd1d7462dd8514dff43db59ac8dd19 (diff) | |
Magnum Opus pt1
Diffstat (limited to 'public')
| -rw-r--r-- | public/client.html | 613 | ||||
| -rw-r--r-- | public/index.html | 123 |
2 files changed, 736 insertions, 0 deletions
diff --git a/public/client.html b/public/client.html new file mode 100644 index 0000000..dc924fb --- /dev/null +++ b/public/client.html @@ -0,0 +1,613 @@ +<!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"> + + <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="script-src-elem 'self' 'unsafe-inline' https://ajax.googleapis.com; + script-src 'self' 'unsafe-inline' 'unsafe-eval' https://ajax.googleapis.com; + style-src-elem 'self' 'unsafe-inline' https://golden-layout.com; + style-src 'self' 'unsafe-inline' https://golden-layout.com; + img-src 'self' data: file: *; + connect-src 'self' ws: 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"> + <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" + href="https://golden-layout.com/files/latest/css/goldenlayout-dark-theme.css" /> + <script src="lib/jdataview.min.js"></script> + <script src="lib/gify.min.js"></script> + <script src="ui.b.js"></script> + <script src="client.b.js?v=1.0.2"></script> +</head> + +<body> + <div id="client_loading"> + <h1 id="client_loadingtext">Loading</h1> + <noscript><p style="color: red;">webAO requires JavaScript to work</p></noscript> + <p>Having trouble? <a href="https://discord.gg/9rYQVVQ">Join us on Discord</a></p> + <button class="client_reconnect" onclick="ReconnectButton()">Reconnect</button> + </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)"></input> + <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> + <button class="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" onerror="switchPanTilt(2);" onload="switchPanTilt(1);"> + <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_gif" onerror="charError(this);"> + <img id="client_def_pair_png" onerror="charError(this);"> + <img id="client_def_pair_apng" onerror="charError(this);"> + <img id="client_def_pair_webp" onerror="charError(this);"> + </div> + <div id="client_def_char" class="client_char" alt="Character"> + <img id="client_def_char_gif" onerror="charError(this);"> + <img id="client_def_char_png" onerror="charError(this);"> + <img id="client_def_char_apng" onerror="charError(this);"> + <img id="client_def_char_webp" onerror="charError(this);"> + </div> + <div id="client_wit_pair_char" class="client_char" alt="Paired character"> + <img id="client_wit_pair_gif" onerror="charError(this);"> + <img id="client_wit_pair_png" onerror="charError(this);"> + <img id="client_wit_pair_apng" onerror="charError(this);"> + <img id="client_wit_pair_webp" onerror="charError(this);"> + </div> + <div id="client_wit_char" class="client_char" alt="Character"> + <img id="client_wit_char_gif" onerror="charError(this);"> + <img id="client_wit_char_png" onerror="charError(this);"> + <img id="client_wit_char_apng" onerror="charError(this);"> + <img id="client_wit_char_webp" onerror="charError(this);"> + </div> + <div id="client_pro_pair_char" class="client_char" alt="Paired character"> + <img id="client_pro_pair_gif" onerror="charError(this);"> + <img id="client_pro_pair_png" onerror="charError(this);"> + <img id="client_pro_pair_apng" onerror="charError(this);"> + <img id="client_pro_pair_webp" onerror="charError(this);"> + </div> + <div id="client_pro_char" class="client_char" alt="Character"> + <img id="client_pro_char_gif" onerror="charError(this);"> + <img id="client_pro_char_png" onerror="charError(this);"> + <img id="client_pro_char_apng" onerror="charError(this);"> + <img id="client_pro_char_webp" 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_gif" onerror="charError(this);"> + <img id="client_pair_png" onerror="charError(this);"> + <img id="client_pair_apng" onerror="charError(this);"> + <img id="client_pair_webp" onerror="charError(this);"> + </div> + <div id="client_char" class="client_char" alt="Character"> + <img id="client_char_gif" onerror="charError(this);"> + <img id="client_char_png" onerror="charError(this);"> + <img id="client_char_apng" onerror="charError(this);"> + <img id="client_char_webp" onerror="charError(this);"> + </div> + <img id="client_bench_classic" class="client_bench"> + </div> + <img id="client_fg" alt="Various overlay" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="> + <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">►</div> + </div> + </div> + <div id="client_trackstatus" style="display: none;"><p id="client_trackstatustext">None</p></div> + </div> + </div> + <input id="client_inputbox" class="long" type="text" onkeypress="onEnter(event)" + placeholder="Say something…" autocomplete="off"> + <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 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="objection_button" onclick="toggleShout(1)">Hold it!</button> + <button id="button_2" alt="Objection!" class="objection_button" + onclick="toggleShout(2)">Objection!</button> + <button id="button_3" alt="Take That!" class="objection_button" onclick="toggleShout(3)">Take + That!</button> + <button id="button_4" alt="Custom" class="objection_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"> + <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()"> + <br> + <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()"> + <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> + </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_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> + + <br> + <span style="display:inline-block; vertical-align: middle;"> + <span id="menu_rhpd" onclick="redHPD()" class="healthchange_button"> + ⊟ + </span> + <span style="font-size: 1.25em">Defense</span> + <span id="menu_ahpd" onclick="addHPD()" class="healthchange_button"> + ⊞ + </span> + </span> + <span style="display:inline-block; vertical-align: middle;"> + <span id="menu_ahpp" onclick="addHPP()" class="healthchange_button"> + ⊞ + </span> + <span style="font-size: 1.25em">Prosecution</span> + <span id="menu_rhpp" onclick="redHPP()" class="healthchange_button"> + ⊟ + </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" size="15" style="float: left" + onchange="mutelist_click(event)"></select> + </span> + </fieldset> + </div> + </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">📍</b> + <div class="menu_text">Areas</div> + </span> + <span id="menu_2" onclick="toggleMenu(2)" class="menu_button"> + <b class="menu_icon">💼</b> + <div class="menu_text">Evidence</div> + </span> + <span id="menu_3" onclick="toggleMenu(3)" class="menu_button"> + <b class="menu_icon">🔧</b> + <div class="menu_text">Settings</div> + </span> + <span id="menu_4" onclick="toggleMenu(4)" class="menu_button"> + <b class="menu_icon">❓</b> + <div class="menu_text">About</div> + </span> + <span id="menu_cm" onclick="callMod()" class="menu_button"> + <b class="menu_icon">🚨</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> + + <!-- 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()" controls></audio> + + <p>Shouts</p> + <audio id="client_shoutaudio" onvolumechange="changeShoutVolume()" onerror="opusCheck()" controls></audio> + + <p>Testimony/Guilty</p> + <audio id="client_testimonyaudio" onvolumechange="changeTestimonyVolume()" onerror="opusCheck()" 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> + </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="chatplvsaa">PL vs AA</option> + <option value="trilogy">Trilogy</option> + <option value="chatfuture">Future theme</option> + <option value="legacy">old webAO</option> + <option value="chat999">999</option> + <option value="acww">Animal Crossing</option> + <option value="dr1">DR 1</option> + <option value="chatdr2">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="chatp3">Persona 3</option> + <option value="p4">Persona 4</option> + <option value="p5">Persona 5</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_ininame">Iniedit Character:</label> + <select type="text" id="client_ininame" name="client_ininame"></select> + <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:red">↓ Only touch these settings if you know what you are doing. ↓</span> + <br> + <br> + <label for="client_encoding">Client side chat encoding:</label> + <select id="client_encoding" name="client_encoding"> + <option value="none" selected>None</option> + <option value="unicode">Unicode</option> + <option value="utf16">UTF-16</option> + </select> + <br> + <br> + <label for="client_decoding">Client side chat decoding:</label> + <select id="client_decoding" name="client_decoding"> + <option value="none">None</option> + <option value="unicode" selected>Unicode</option> + <option value="utf16">UTF-16</option> + </select> + <br> + <br> + <label for="bg_command">Change background command:</label> + <input id="bg_command" name="bg_command" type="text" value="bg $1"> + <br> + <br> + <label for="randomchar_command">Random character command:</label> + <input id="randomchar_command" name="randomchar_command" type="text" value="randomchar"> + <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> + +<template id="log"> + <meta name="frame-title" lang="en" content="Log"> + <div id="client_log"> + <div class="hrtext">↓ log starts here ↓</div> + </div> +</template> + +<template id="ooc"> + <meta name="frame-title" lang="en" content="Server"> + <div style="height: 100%; display: flex; flex-direction: column;"> + <textarea id="client_ooclog" style="flex: 1 auto" readonly></textarea> + <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)"></input> + <select id="client_musiclist" size="5" onchange="musiclist_click(event)"> + </select> +</template> + +</html> diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..2242081 --- /dev/null +++ b/public/index.html @@ -0,0 +1,123 @@ +<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"> + + <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:; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; connect-src 'self' ws:;"> + <meta http-equiv="X-Content-Security-Policy" + content="default-src 'self' 'unsafe-inline' 'unsafe-eval' *.aceattorneyonline.com data:; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; connect-src 'self' ws:;"> + <meta http-equiv="X-WebKit-CSP" + content="default-src 'self' 'unsafe-inline' 'unsafe-eval' *.aceattorneyonline.com data:; style-src 'self' 'unsafe-inline' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; connect-src 'self' ws:;"> + + <meta name="viewport" content="width=700, initial-scale=1"> + <meta name="theme-color" content="#2c3d51"> + + <link href="https://fonts.googleapis.com/css?family=Poiret+One" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Oswald%7CRoboto+Condensed" rel="stylesheet"> + <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="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'); + }); + } + </script> + +</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/#">Home</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="https://aceattorneyonline.com/#about">About</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="https://aceattorneyonline.com/#download">Download</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="https://aceattorneyonline.com/#faq">FAQ</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="https://aceattorneyonline.com/help.html">Help</a> + </li> + <li class="nav-item"> + <a class="nav-link" target="_blank" href="https://discord.gg/wWvQ3pw">Discord</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="https://aceattorneyonline.com/blog">Blog</a> + </li> + <li class="nav-item"> + <a class="nav-link" href="http://web.aceattorneyonline.com/">Play Online</a> + </li> + </ul> + </div> + </div> + </nav> + <div id="serverlist_container"> + <h2>Server List</h2> + <div id="https_error" class="error" style="display: none;"> + <p>https is not supported</p> + <p>Please <a href="http://web.aceattorneyonline.com/">click here</a> to be redirected to the http version</p> + </div> + <div id="ms_error" class="error" style="display: none;"> + <p>Could not connect to the master server.</p> + <p>Please check your firewall.</p> + <p id="ms_error_code">A network error occurred</p> + </div> + <noscript> + <div id="js_error" class="error"> + <p>webAO requires JavaScript to work</p> + </div> + </noscript> + <ul class="serverlist" id="masterlist"> + <li id="server-2" class="available" onmouseover="setServ(-2)"> + <p>Singleplayer (beta)</p> + <a class="button" href="client.html?mode=replay">Try</a> + </li> + <li id="server-1" class="unavailable" onmouseover="setServ(-1)"> + <p>Localhost</p> + <a class="button" href="client.html?mode=watch&ip=127.0.0.1:50001">Watch</a> + <a class="button" href="client.html?mode=join&ip=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> + <textarea id="masterchat" readonly></textarea> + <p>Having trouble? <a href="https://discord.gg/9rYQVVQ">Join us on Discord</a></p> + </div> + </div> + <div id="serverdescription_container"> + <p id="serverdescription_content"> + </p> + </div> +</body> + +</html>
\ No newline at end of file |
