Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "use strict";
- console.log("agarplus_v2c0 ver.A414");
- var GamePresetConfig = {
- UseExChatApp: false,
- EnableTeamRankingChart: false
- };
- function trace(s) {
- console.log(s);
- }
- function GetQueryObject(key) {
- //if(location.href.indexOf('?') == -1) return {};
- //var queryStrs = location.href.split('?')[1];
- var queryStrs = location.search.replace('?', '');
- var queries = queryStrs.split('&');
- var obj = {};
- queries.forEach(q => {
- var qq = q.split('=');
- if(qq.length == 2) {
- var key = qq[0];
- var val = qq[1];
- obj[key] = val;
- }
- });
- return obj;
- }
- //var gConnectionProc = null;
- const CommunicationVersionKey2 = 'onxcnk_101';
- //console.log(`versionKey: ${CommunicationVersionKey2}`);
- function initialize_game_client() {
- 'use strict';
- const CommonTeamName = '';
- const AddTeamTagPrefixForPlayerName = true;
- const gUseChatApp = GamePresetConfig.UseExChatApp;
- var chatAppModel = gUseChatApp ? window.chatAppModel : null;
- var gconfig = {
- //client config
- commonTeamName: '',
- leaderboardCaption: 'leaderboard',
- teamRankingCaption: 'team ranks',
- enableTeamChatSeparation: false,
- enableTeamMapSeparation: false,
- enableTeamSkinSeparation: false,
- enableAllMapShownWhileSpectating: false,
- enableAllSkinShownWhileSpectating: false,
- showBotsAllwaysInMap: false,
- nameForUnnamedCell: 'an unnamed cell',
- enableTeamRankingBoard: false,
- showPlayerMassInLeaderBoard: false,
- //UseExtenedTeamSeparation : false
- allowChangesPlayerInfoWhilePlaying: false,
- //addTeamTagPrefixForPlayerName : true,
- //useTeamInputBox : true,
- teamInputUiType: 'none', //none/text/duel/combo
- duelTeamEntries: 'A,B',
- comboTeamEntries: 'A,B,C,D',
- showPlayerMassInMap: true,
- enablePartyCode: false,
- useCommonMapColorWhilePlaying: false,
- isolateBlankTagPlayers: false,
- addUserTokenToChatSenderName: false,
- addUserTokenToPlayerCellName : false,
- enableDualUnitOperation: false,
- enableDualSkinInput: false,
- showServerDebugStatusTexts: false,
- useExtendedChatSystem: false
- };
- var gconfig_ex = {
- ForceChatIconShow: GamePresetConfig.UseExChatApp,
- UseFallbackGameChat: true,
- UseNoSkinFallbackSkin: true,
- NoSkinFallBackSkinUrl: 'http://ixagar.net/skins/noskin5.png'
- };
- var gConfigChangedHandlerProc = null;
- var gDuelTeamInputIndex = 0;
- var gComboTeamInputIndex = 0;
- var gGameServerAddress = null;
- var gActiveTurnPlayerId = 0;
- var gtexts_common = {
- msg1: 'Need backup!',
- msg2: 'Need a teammate!',
- msg3: 'Pop him!',
- msg4: 'We need to run!',
- msg5: 'Tricksplit!',
- msg6: 'Lets bait! ',
- msg7: 'Split into me!',
- msg8: 'Feed me!',
- msg9: 'Tank the virus!',
- msg10: 'Roger that!'
- };
- var texts_en = {
- tabHome: 'Home',
- tabSettings: 'Settings',
- tabTemes: 'Themes',
- tabKeybinds: 'Keys',
- tabExtended: 'Ex',
- btPlay: 'Play',
- btSpectate: 'Spectate',
- stFastZoom: 'Fast Zoom',
- stHideMyName: 'Hide My Name',
- stHideNames: 'Hide Names',
- stHideBlobColors: 'Hide Cell Colors',
- stShowMass: 'Show Mass',
- stSkipStats: 'Skip Stats',
- stGridLocations: 'Grid Locations',
- stCursorLine: 'Cursor Line',
- stZoom: 'Zoom',
- stHidePellets: 'Hide Pellets',
- stGridLines: 'Gridlines',
- stSimpleDrawing: 'Simple Drawing',
- stScore: 'Score',
- stSte: 'STE',
- stBallTotal: '[n/16]',
- stMinimap: 'Minimap',
- stRainbowColor: 'Rainbow Color',
- stTransparentBlobs: 'Transparent Cells',
- stFps: 'FPS',
- stPacktIo: 'Packet I/O',
- stAutoHideMass: 'Auto Hide Mass',
- stAutoHideNames: 'Auto Hide Names',
- stTextShadows: 'Text Shadows',
- stAutoZoom: 'Auto Zoom',
- stSplitIndicators: 'Split Indicators',
- stCustomSkins: 'Custom Skins',
- stYinSkins: 'Yin Skins',
- stChatBox: 'Chatbox',
- stChatPopup: 'Chat Popup',
- stEnableMouseControl: 'Enable Mouse Control',
- stInvertMouseButtons: 'Invert Mouse Buttons',
- stChatBoxLocation: 'Chat Box Location',
- stSplitOrderMarker: 'Split Order Marker',
- stAimCrosshair: 'Aim Crosshair',
- stActiveTurnMarker: 'Active Turn Marker',
- stEmphasisCursorLine: 'Emphassis Cursor Line',
- tmBackground: 'Background',
- tmBorder: 'Border',
- tmPellet: 'Pellet',
- hkHotkeySetup: 'Hotkey Setup',
- hkInst0: 'Step 1: Click on the function item',
- hkInst1: 'Step 2: Press wanted hotkey to modify',
- hkInst2: 'Press [DEL] key to remove selected hotkey',
- hkInst3: 'Allowed hotkey combinations: [CTRL] + [ALT] + 0-9, a-z, [TAB], [ENTER]',
- hkHotkey: 'Hotkey',
- hkFunction: 'Function',
- hkMessage: 'Message',
- hkResetToDefault: 'Reset To Default',
- hkCancel: 'Cancel',
- hkSave: 'Save',
- hkStartNewGame: 'Start New Game',
- hkMacroW: 'Macro W',
- hkQuickSpace: 'Quick Space',
- hkDoubleSpace: 'Double Space',
- hkStopMovementToggle: 'Stop Movement(Toggle)',
- hkStopMovementTemporary: 'Stop Movement(Temporary)',
- hkOnOffSplitIndicator: 'On/Off Split Indicator',
- hkOnOffAutoZoom: 'On/Off Auto Zoom',
- hkShowAttackRangeTemporary: 'Show Attack Range(Temporary)',
- hkShowAttackRangeToggle: 'Show Attack Range(Toggle)',
- hkSpectateTeammate: 'Spectate Teammate',
- hkOnOffCustomSkin: 'On/Off Custom Skin',
- hkShowHideSkins: 'Show/Hide Skins',
- hkOnOffRainbowColor: 'On/Off Rainbow Color',
- hkOnOffTransparentCell: 'On/Off Transparent Cell',
- hkShowHideFpsCounter: 'Show/Hide FPS Counter',
- hkZoomLevel1: 'Zoom Level 1',
- hkZoomLevel2: 'Zoom Level 2',
- hkZoomLevel3: 'Zoom Level 3',
- hkZoomLevel4: 'Zoom Level 4',
- hkZoomLevel5: 'Zoom Level 5',
- hkShowHideNames: 'Show/Hide Names',
- hkShowHideOwnName: 'Show/Hide Own Names',
- hkShowHideColors: 'Show/Hide Colors',
- hkShowHideMass: 'Show/Hide Mass',
- hkOnOffSkipStats: 'On/Off Skip Stats',
- hkOnOffZoom: 'On/Off Zoom',
- hkShowHidePellets: 'Show/Hide Pellets',
- hkShowHideGridline: 'Show/Hide Gridline',
- hkResetBorder: 'Reset Border',
- hkOnOffSimpleDraw: 'On/Off Simple Draw',
- hkShowHideScore: 'Show/Hide Score',
- hkShowHideSte: 'Show/Hide STE',
- hkShowHideN16: 'Show/Hide [n/16]',
- hkOnOffAutoHideMass: 'On/Off Auto Hide Mass',
- hkOnOffAutoHideName: 'On/Off Auto Hide Name',
- hkShowHideTextShadow: 'Show/Hide Text Shadow',
- hkShowHideMinimap: 'Show/Hide Minimap',
- hkChatboxSendMessage: 'Chatbox Send Message',
- hkChatboxSendMessage1: 'Chatbox Send Message 1',
- hkChatboxSendMessage2: 'Chatbox Send Message 2',
- hkChatboxSendMessage3: 'Chatbox Send Message 3',
- hkChatboxSendMessage4: 'Chatbox Send Message 4',
- hkChatboxSendMessage5: 'Chatbox Send Message 5',
- hkChatboxSendMessage6: 'Chatbox Send Message 6',
- hkChatboxSendMessage7: 'Chatbox Send Message 7',
- hkChatboxSendMessage8: 'Chatbox Send Message 8',
- hkChatboxSendMessage9: 'Chatbox Send Message 9',
- hkChatboxSendMessage10: 'Chatbox Send Message 10',
- lnkServerFullList: 'Full List',
- lnkServerProgram: 'Server Program',
- lnkUserForum: 'User Forum'
- };
- var texts_jp = {
- tabHome: 'ホーム',
- tabSettings: 'è¨å®š',
- tabTemes: 'テーマ',
- tabKeybinds: 'ã‚ー',
- tabExtended: 'æ‹¡å¼µ',
- btPlay: 'Play',
- btSpectate: '観戦',
- stFastZoom: '高速ズーム',
- stHideMyName: '自分ã®åå‰ã‚’éš ã™',
- stHideNames: 'åå‰ã‚’éš ã™',
- stHideBlobColors: 'セルã®è‰²ã‚’éš ã™',
- stShowMass: '質é‡ã‚’表示',
- stSkipStats: 'Skip stats',
- stGridLocations: 'エリア座標を表示',
- stCursorLine: 'カーソルラインを表示',
- stZoom: 'ズーム',
- stHidePellets: 'ãƒšãƒ¬ãƒƒãƒˆã‚’éš ã™',
- stGridLines: 'グリッドライン',
- stSimpleDrawing: '簡易æç”»',
- stScore: 'スコア',
- stSte: 'STE',
- stBallTotal: '[n/16]',
- stMinimap: 'ミニマップ',
- stRainbowColor: '虹色表示',
- stTransparentBlobs: 'セルをé€éŽ',
- stFps: 'フレームレート',
- stPacktIo: 'Packet I/O',
- stAutoHideMass: '質é‡ã‚’自動ã§éš ã™',
- stAutoHideNames: 'åå‰ã‚’自動ã§éš ã™',
- stTextShadows: 'テã‚ストã®å½±ã‚’表示',
- stAutoZoom: '自動ズーム',
- stSplitIndicators: 'スプリットインジケータ',
- stCustomSkins: 'カスタムスã‚ン',
- stYinSkins: 'Yin Skins',
- stChatBox: 'ãƒãƒ£ãƒƒãƒˆãƒœãƒƒã‚¯ã‚¹',
- stChatPopup: 'ãƒãƒ£ãƒƒãƒˆãƒãƒƒãƒ—アップ',
- stEnableMouseControl: 'マウスボタンã«ã‚ˆã‚‹æ“作',
- stInvertMouseButtons: 'å·¦å³ãƒœã‚¿ãƒ³ã®æ©Ÿèƒ½ã‚’入れ替ãˆã‚‹',
- stChatBoxLocation: 'ãƒãƒ£ãƒƒãƒˆã‚’下ã«è¡¨ç¤º',
- stSplitOrderMarker: '分裂セルマーカー',
- stAimCrosshair: 'AIMクãƒã‚¹ãƒ˜ã‚¢',
- stActiveTurnMarker: 'アクティブターンマーカー',
- stEmphasisCursorLine: 'カーソルラインを強調',
- tmBackground: '背景色',
- tmBorder: 'æž è‰²',
- tmPellet: 'ペレットã®è‰²',
- hkHotkeySetup: 'Hotkey Setup',
- hkInst0: 'ステップ1: クリックã§æ©Ÿèƒ½ã‚’é¸æŠžã—ã¾ã™ã€‚',
- hkInst1: 'ステップ2: 割り当ã¦ãŸã„ã‚ーを押ã—ã¾ã™ã€‚',
- hkInst2: 'DELã‚ーã§é¸æŠžã•ã‚ŒãŸã‚ーã®å‰²ã‚Šå½“ã¦ã‚’解除ã—ã¾ã™ã€‚',
- hkInst3: '使用å¯èƒ½ãªã‚ーã®çµ„ã¿åˆã‚ã›: [CTRL] + [ALT] + 0-9, a-z, [TAB], [ENTER]',
- hkHotkey: 'ホットã‚ー',
- hkFunction: '機能',
- hkMessage: 'メッセージ',
- hkResetToDefault: 'åˆæœŸçŠ¶æ…‹ã«æˆ»ã™',
- hkCancel: 'ã‚ャンセル',
- hkSave: 'ä¿å˜',
- hkStartNewGame: 'ゲーム開始',
- hkMacroW: 'マクãƒW',
- hkQuickSpace: 'クイック分裂',
- hkDoubleSpace: 'ダブル分裂',
- hkStopMovementToggle: '移動åœæ¢ (トグル)',
- hkStopMovementTemporary: '押ã—ã¦ã„る間移動åœæ¢',
- hkOnOffSplitIndicator: 'スプリットインジケータをon/off',
- hkOnOffAutoZoom: '自動ズームをon/off',
- hkShowAttackRangeTemporary: '押ã—ã¦ã„る間アタックレンジを表示',
- hkShowAttackRangeToggle: 'アタックレンジを表示(トグル)',
- hkSpectateTeammate: 'ãƒãƒ¼ãƒ メイトをSpectate',
- hkOnOffCustomSkin: 'カスタムスã‚ンをon/off',
- hkShowHideSkins: 'スã‚ンを表示/éš ã™',
- hkOnOffRainbowColor: '虹色表示をon/off',
- hkOnOffTransparentCell: 'セルã®é€éŽã‚’on/off',
- hkShowHideFpsCounter: 'FPSカウンタを表示/éš ã™',
- hkZoomLevel1: 'ズームレベル1',
- hkZoomLevel2: 'ズームレベル2',
- hkZoomLevel3: 'ズームレベル3',
- hkZoomLevel4: 'ズームレベル4',
- hkZoomLevel5: 'ズームレベル5',
- hkShowHideNames: 'åå‰ã‚’表示/éš ã™',
- hkShowHideOwnName: '自分ã®åå‰ã‚’表示/éš ã™',
- hkShowHideColors: '色をon/off',
- hkShowHideMass: '質é‡ã‚’表示/éš ã™',
- hkOnOffSkipStats: 'Skip statsを表示/éš ã™',
- hkOnOffZoom: 'ズームをon/off',
- hkShowHidePellets: 'ペレットを表示/éš ã™',
- hkShowHideGridline: 'グリッドラインを表示/éš ã™',
- hkResetBorder: 'æž ã‚’ãƒªã‚»ãƒƒãƒˆ',
- hkOnOffSimpleDraw: '簡易æ画をon/off',
- hkShowHideScore: 'スコアを表示/éš ã™',
- hkShowHideSte: 'STEを表示/éš ã™',
- hkShowHideN16: '[n/16]を表示/éš ã™',
- hkOnOffAutoHideMass: '質é‡ã‚’自動ã§éš ã™æ©Ÿèƒ½ã‚’on/off',
- hkOnOffAutoHideName: 'åå‰ã‚’自動ã§éš ã™æ©Ÿèƒ½ã‚’on/off',
- hkShowHideTextShadow: 'テã‚ストã®å½±ã‚’表示/éš ã™',
- hkShowHideMinimap: 'マップを表示/éš ã™',
- hkChatboxSendMessage: 'ãƒãƒ£ãƒƒãƒˆã‚’入力',
- hkChatboxSendMessage1: 'ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸1',
- hkChatboxSendMessage2: 'ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸2',
- hkChatboxSendMessage3: 'ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸3',
- hkChatboxSendMessage4: 'ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸4',
- hkChatboxSendMessage5: 'ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸5',
- hkChatboxSendMessage6: 'ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸6',
- hkChatboxSendMessage7: 'ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸7',
- hkChatboxSendMessage8: 'ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸8',
- hkChatboxSendMessage9: 'ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸9',
- hkChatboxSendMessage10: 'ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸10',
- lnkServerFullList: '全サーãƒãƒªã‚¹ãƒˆ',
- lnkServerProgram: 'サーãƒãƒ—ãƒã‚°ãƒ©ãƒ ',
- lnkUserForum: 'ユーザフォーラム'
- };
- var gtexts = texts_en;
- var glang = localStorage.getItem('language');
- if(glang == 'jp') {
- gtexts = texts_jp;
- }
- function sform() {
- var args = Array.prototype.slice.call(arguments);
- var str = args[0];
- //console.log(str);
- for(var i = 1; i < args.length; i++) {
- str = str.replace('%o', args[i]);
- }
- return str;
- }
- class utils {
- //引数ãŒ1æ–‡å—以上ã®æ–‡å—列ã‹ã©ã†ã‹åˆ¤å®š
- static CheckValidString(s) {
- return (typeof (s) == 'string' || s instanceof String) && s != '';
- }
- static confirm(b) {
- if(!b) { debugger; }
- }
- static ByteArrayToDataView(ar) {
- var arbuf = new Uint8Array(ar.length);
- for(var i = 0; i < ar.length; i++) {
- arbuf[i] = ar;
- }
- return new DataView(arbuf);
- }
- static ByteArrayFromDataView(view) {
- var ar = [];
- var pos = 0;
- while(pos < view.byteLength) {
- ar[pos] = view.getUint8(pos);
- pos++;
- }
- return ar;
- }
- // static ArrayBufferToArray(arbuf){
- // var ar = [];
- // for(var i = 0; i < arbuf.length; i++){
- // ar[i] = arbuf[i];
- // }
- // return ar;
- // }
- static vmap(val, s0, s1, d0, d1) {
- return (val - s0) * (d1 - d0) / (s1 - s0) + d0;
- }
- static clamp(val, a, b) {
- return Math.min(a, (Math.max(val, b)));
- }
- static scale(val, s, d) {
- return val * d / s;
- }
- static makeColor(code) {
- //0xARGB
- var a = (code >> 12 & 0x0F) * 1.0 / 15;
- if(a == 0.0) a = 1.0;
- var r = parseInt((code >> 8 & 0x0F) * 255 / 15);
- var g = parseInt((code >> 4 & 0x0F) * 255 / 15);
- var b = parseInt((code >> 0 & 0x0F) * 255 / 15);
- return 'rgba(' + r + ',' + g + ',' + b + ',' + a + ')';
- }
- }
- class nums {
- static lerp(a, b, m) {
- return (1.0 - m) * a + m * b;
- //return a + m * (b - a);
- }
- static easyFilter(y, x, m) {
- return y * m + (1.0 - m) * x;
- }
- }
- if(window.webkitRequestFileSystem) {
- window.webkitRequestFileSystem(window.TEMPORARY, 1, () => { }, () => {
- window.connect('');
- });
- }
- function initializeUserId() {
- function generateUuid() {
- var uuid = "", i, random;
- for(i = 0; i < 32; i++) {
- random = Math.random() * 16 | 0;
- if(i == 8 || i == 12 || i == 16 || i == 20) {
- uuid += "-"
- }
- uuid += (i == 12 ? 4 : (i == 16 ? (random & 3 | 8) : random)).toString(16);
- }
- return uuid;
- }
- function generateShortUserId() {
- var chars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
- var id = "%";
- for(var i = 0; i < 4; i++) {
- var idx = parseInt(Math.random() * (chars.length - 1));
- id += chars[idx];
- }
- return id;
- }
- var uid = localStorage.getItem('LongTermUserId');
- if(!(uid && uid.length == 5)) {
- uid = generateShortUserId();
- localStorage.setItem('LongTermUserId', uid);
- console.log("uid: " + uid);
- }
- return uid;
- }
- var gUserId = initializeUserId();
- //サーãƒãƒ¼ã®åœ°åŸŸã®è¨å®šã‚’クリア
- //本家ã®ã‚µãƒ¼ãƒãƒ¼ã«æŽ¥ç¶šã—よã†ã¨ã—ã¦ãƒ—ライベートサーãƒãƒ¼ã‹ã‚‰é£›ã°ã•ã‚Œã‚‹ã®ã‚’抑æ¢
- localStorage.removeItem("location");
- // if(localStorage.getItem('partycode') == 'undefined'){
- // localStorage.setItem('partycode', '');
- // }
- //HTML調整?, 400
- //function AdjustHtml(){
- {
- //var _jquery = $;
- function vb(vc, vb) {
- var vd = $('<div class="minicolors" />'),
- ve = $.minicolors['defaults'];
- vc.attr('data-opacity');
- var vf;
- vc.data('minicolors-initialized') || (vb = $.extend(1, {}, ve, vb), vd.addClass('minicolors-theme-' + vb.theme)['toggleClass']('minicolors-with-opacity', vb.opacity)['toggleClass']('minicolors-no-data-uris', 1 !== vb.dataUris), void (0) !== vb.position && $.each(vb.position['split'](' '), function() {
- vd.addClass('minicolors-position-' + this)
- }), vf = 'rgb' === vb.format ? vb.opacity ? '25' : '20' : vb.keywords ? '11' : '7', vc.addClass('minicolors-input')['data']('minicolors-initialized', 0)['data']('minicolors-settings', vb)['prop']('size', vf)['wrap'](vd)['after']('<div class="minicolors-panel minicolors-slider-' + vb.control + '"><div class="minicolors-slider minicolors-sprite"><div class="minicolors-picker"></div></div><div class="minicolors-opacity-slider minicolors-sprite"><div class="minicolors-picker"></div></div><div class="minicolors-grid minicolors-sprite"><div class="minicolors-grid-inner"></div><div class="minicolors-picker"><div></div></div></div></div>'), vb.inline || (vc.after('<span class="minicolors-swatch minicolors-sprite"><span class="minicolors-swatch-color"></span></span>'), vc.next('.minicolors-swatch')['on']('click', function(va) {
- va.preventDefault();
- vc.focus()
- })), vc.parent()['find']('.minicolors-panel')['on']('selectstart', function() {
- return 0
- })['end'](), vb.inline && vc.parent()['addClass']('minicolors-inline'), vj(vc, 0), vc.data('minicolors-initialized', 1))
- }
- function vf(va) {
- var vb = va.parent();
- va.removeData('minicolors-initialized')['removeData']('minicolors-settings')['removeProp']('size')['removeClass']('minicolors-input');
- vb.before(va)['remove']()
- }
- function vg(va) {
- var vb = va.parent(),
- vd = vb.find('.minicolors-panel'),
- ve = va.data('minicolors-settings');
- !va.data('minicolors-initialized') || va.prop('disabled') || vb.hasClass('minicolors-inline') || vb.hasClass('minicolors-focus') || (vh(), vb.addClass('minicolors-focus'), vd.stop(1, 1)['fadeIn'](ve.showSpeed, function() {
- ve.show && ve.show['call'](va.get(0))
- }))
- }
- function vh() {
- $('.minicolors-focus')['each'](function() {
- var vb = $(this),
- vd = vb.find('.minicolors-input'),
- ve = vb.find('.minicolors-panel'),
- vf = vd.data('minicolors-settings');
- ve.fadeOut(vf.hideSpeed, function() {
- vf.hide && vf.hide['call'](vd.get(0));
- vb.removeClass('minicolors-focus')
- })
- })
- }
- function vd(va, vb, vd) {
- var vf = va.parents('.minicolors')['find']('.minicolors-input'),
- vi = vf.data('minicolors-settings'),
- vj = va.find('[class$=-picker]'),
- vg = va.offset()['left'],
- vh = va.offset()['top'],
- vk = Math.round(vb.pageX - vg),
- vl = Math.round(vb.pageY - vh);
- vd = vd ? vi.animationSpeed : 0;
- var vm, vn, vo, vp;
- vb.originalEvent['changedTouches'] && (vk = vb.originalEvent['changedTouches'][0]['pageX'] - vg, vl = vb.originalEvent['changedTouches'][0]['pageY'] - vh);
- 0 > vk && (vk = 0);
- 0 > vl && (vl = 0);
- vk > va.width() && (vk = va.width());
- vl > va.height() && (vl = va.height());
- va.parent()['is']('.minicolors-slider-wheel') && vj.parent()['is']('.minicolors-grid') && (vm = 75 - vk, vn = 75 - vl, vo = Math.sqrt(vm * vm + vn * vn), vp = Math.atan2(vn, vm), 0 > vp && (vp += 2 * Math.PI), 75 < vo && (vo = 75, vk = 75 - 75 * Math.cos(vp), vl = 75 - 75 * Math.sin(vp)), vk = Math.round(vk), vl = Math.round(vl));
- va.is('.minicolors-grid') ? vj.stop(1)['animate']({
- top: vl + 'px',
- left: vk + 'px'
- }, vd, vi.animationEasing, function() {
- ve(vf, va)
- }) : vj.stop(1)['animate']({
- top: vl + 'px'
- }, vd, vi.animationEasing, function() {
- ve(vf, va)
- })
- }
- function ve(va, vb) {
- function vd(va, vb) {
- var vc, vf;
- return va.length && vb ? (vc = va.offset()['left'], vf = va.offset()['top'], {
- x: vc - vb.offset()['left'] + va.outerWidth() / 2,
- y: vf - vb.offset()['top'] + va.outerHeight() / 2
- }) : null
- }
- var ve, vf, vi, vj, vg, vk;
- vj = va.val();
- var vh = va.attr('data-opacity');
- vg = va.parent();
- var vm = va.data('minicolors-settings'),
- vp = vg.find('.minicolors-swatch');
- vk = vg.find('.minicolors-grid');
- var vo = vg.find('.minicolors-slider'),
- vq = vg.find('.minicolors-opacity-slider');
- vi = vk.find('[class$=-picker]');
- var vr = vo.find('[class$=-picker]'),
- vs = vq.find('[class$=-picker]');
- vi = vd(vi, vk);
- vr = vd(vr, vo);
- vs = vd(vs, vq);
- if(vb.is('.minicolors-grid, .minicolors-slider, .minicolors-opacity-slider')) {
- switch(vm.control) {
- case 'wheel':
- vj = vk.width() / 2 - vi.x;
- vg = vk.height() / 2 - vi.y;
- vk = Math.sqrt(vj * vj + vg * vg);
- vj = Math.atan2(vg, vj);
- 0 > vj && (vj += 2 * Math.PI);
- 75 < vk && (vk = 75, vi.x = 69 - 75 * Math.cos(vj), vi.y = 69 - 75 * Math.sin(vj));
- vf = vl(vk / 0.75, 0, 100);
- ve = vl(180 * vj / Math.PI, 0, 360);
- vi = vl(100 - Math.floor(vr.y * (100 / vo.height())), 0, 100);
- vj = v_25({
- h: ve,
- s: vf,
- b: vi
- });
- vo.css('backgroundColor', v_25({
- h: ve,
- s: vf,
- b: 100
- }));
- break;
- case 'saturation':
- ve = vl(parseInt(vi.x * (360 / vk.width()), 10), 0, 360);
- vf = vl(100 - Math.floor(vr.y * (100 / vo.height())), 0, 100);
- vi = vl(100 - Math.floor(vi.y * (100 / vk.height())), 0, 100);
- vj = v_25({
- h: ve,
- s: vf,
- b: vi
- });
- vo.css('backgroundColor', v_25({
- h: ve,
- s: 100,
- b: vi
- }));
- vg.find('.minicolors-grid-inner')['css']('opacity', vf / 100);
- break;
- case 'brightness':
- ve = vl(parseInt(vi.x * (360 / vk.width()), 10), 0, 360);
- vf = vl(100 - Math.floor(vi.y * (100 / vk.height())), 0, 100);
- vi = vl(100 - Math.floor(vr.y * (100 / vo.height())), 0, 100);
- vj = v_25({
- h: ve,
- s: vf,
- b: vi
- });
- vo.css('backgroundColor', v_25({
- h: ve,
- s: vf,
- b: 100
- }));
- vg.find('.minicolors-grid-inner')['css']('opacity', 1 - vi / 100);
- break;
- default:
- ve = vl(360 - parseInt(vr.y * (360 / vo.height()), 10), 0, 360), vf = vl(Math.floor(vi.x * (100 / vk.width())), 0, 100), vi = vl(100 - Math.floor(vi.y * (100 / vk.height())), 0, 100), vj = v_25({
- h: ve,
- s: vf,
- b: vi
- }), vk.css('backgroundColor', v_25({
- h: ve,
- s: 100,
- b: 100
- }))
- }
- ;
- (vh = vm.opacity ? parseFloat(1 - vs.y / vq.height())['toFixed'](2) : 1, vm.opacity && va.attr('data-opacity', vh), 'rgb' === vm.format) ? (vo = vv(vj), vh = '' === va.attr('data-opacity') ? 1 : vl(parseFloat(va.attr('data-opacity'))['toFixed'](2), 0, 1), !isNaN(vh) && vm.opacity || (vh = 1), vf = 1 >= va.minicolors('rgbObject')['a'] && vo && vm.opacity ? 'rgba(' + vo.lb_r_strokeColor + ', ' + vo.g + ', ' + vo.b + ', ' + parseFloat(vh) + ')' : 'rgb(' + vo.lb_r_strokeColor + ', ' + vo.g + ', ' + vo.b + ')') : vf = vz(vj, vm.letterCase);
- va.val(vf)
- }
- ;
- vp.find('span')['css']({
- backgroundColor: vj,
- opacity: vh
- });
- vn(va, vf, vh);
- }
- function vj(vb, vd) {
- var vf, ve, vi, vj, vk, vg, vh, vt;
- vt = vb.parent();
- var vu = vb.data('minicolors-settings'),
- vv = vt.find('.minicolors-swatch'),
- vo = vt.find('.minicolors-grid'),
- vq = vt.find('.minicolors-slider'),
- vw = vt.find('.minicolors-opacity-slider'),
- vs = vo.find('[class$=-picker]'),
- vx = vq.find('[class$=-picker]'),
- vy = vw.find('[class$=-picker]');
- switch(v_21(vb.val()) ? (vf = v_23(vb.val()), vk = vl(parseFloat(v_22(vb.val()))['toFixed'](2), 0, 1), vk && vb.attr('data-opacity', vk)) : vf = vz(vr(vb.val(), 1), vu.letterCase), vf || (vf = vz(vp(vu.defaultValue, 1), vu.letterCase)), ve = v_26(vf), vj = vu.keywords ? $.map(vu.keywords['split'](','), function(vb) {
- return $.trim(vb.toLowerCase())
- }) : [], vg = '' !== vb.val() && -1 < $.inArray(vb.val()['toLowerCase'](), vj) ? vz(vb.val()) : v_21(vb.val()) ? vm(vb.val()) : vf, vd || vb.val(vg), vu.opacity && (vi = '' === vb.attr('data-opacity') ? 1 : vl(parseFloat(vb.attr('data-opacity'))['toFixed'](2), 0, 1), isNaN(vi) && (vi = 1), vb.attr('data-opacity', vi), vv.find('span')['css']('opacity', vi), vh = vl(vw.height() - vw.height() * vi, 0, vw.height()), vy.css('top', vh + 'px')), 'transparent' === vb.val()['toLowerCase']() && vv.find('span')['css']('opacity', 0), vv.find('span')['css']('backgroundColor', vf), vu.control) {
- case 'wheel':
- vh = vl(Math.ceil(0.75 * ve.s), 0, vo.height() / 2);
- vt = ve.h * Math.PI / 180;
- vj = vl(75 - Math.cos(vt) * vh, 0, vo.width());
- vh = vl(75 - Math.sin(vt) * vh, 0, vo.height());
- vs.css({
- top: vh + 'px',
- left: vj + 'px'
- });
- vh = 150 - ve.b / (100 / vo.height());
- '' === vf && (vh = 0);
- vx.css('top', vh + 'px');
- vq.css('backgroundColor', v_25({
- h: ve.h,
- s: ve.s,
- b: 100
- }));
- break;
- case 'saturation':
- vj = vl(5 * ve.h / 12, 0, 150);
- vh = vl(vo.height() - Math.ceil(ve.b / (100 / vo.height())), 0, vo.height());
- vs.css({
- top: vh + 'px',
- left: vj + 'px'
- });
- vh = vl(vq.height() - ve.s * (vq.height() / 100), 0, vq.height());
- vx.css('top', vh + 'px');
- vq.css('backgroundColor', v_25({
- h: ve.h,
- s: 100,
- b: ve.b
- }));
- vt.find('.minicolors-grid-inner')['css']('opacity', ve.s / 100);
- break;
- case 'brightness':
- vj = vl(5 * ve.h / 12, 0, 150);
- vh = vl(vo.height() - Math.ceil(ve.s / (100 / vo.height())), 0, vo.height());
- vs.css({
- top: vh + 'px',
- left: vj + 'px'
- });
- vh = vl(vq.height() - ve.b * (vq.height() / 100), 0, vq.height());
- vx.css('top', vh + 'px');
- vq.css('backgroundColor', v_25({
- h: ve.h,
- s: ve.s,
- b: 100
- }));
- vt.find('.minicolors-grid-inner')['css']('opacity', 1 - ve.b / 100);
- break;
- default:
- vj = vl(Math.ceil(ve.s / (100 / vo.width())), 0, vo.width()), vh = vl(vo.height() - Math.ceil(ve.b / (100 / vo.height())), 0, vo.height()), vs.css({
- top: vh + 'px',
- left: vj + 'px'
- }), vh = vl(vq.height() - ve.h / (360 / vq.height()), 0, vq.height()), vx.css('top', vh + 'px'), vo.css('backgroundColor', v_25({
- h: ve.h,
- s: 100,
- b: 100
- }))
- }
- ;
- vb.data('minicolors-initialized') && vn(vb, vg, vi)
- }
- function vn(va, vb, vd) {
- var ve = va.data('minicolors-settings'),
- vf = va.data('minicolors-lastChange');
- vf && vf.value === vb && vf.opacity === vd || (va.data('minicolors-lastChange', {
- value: vb,
- opacity: vd
- }), ve.change && (ve.changeDelay ? (clearTimeout(va.data('minicolors-changeTimeout')), va.data('minicolors-changeTimeout', setTimeout(function() {
- ve.change['call'](va.get(0), vb, vd)
- }, ve.changeDelay))) : ve.change['call'](va.get(0), vb, vd)), va.trigger('change')['trigger']('input'))
- }
- function vk(vb) {
- var vd = vr($(vb)['val'](), 1),
- vd = vv(vd);
- vb = $(vb)['attr']('data-opacity');
- return vd ? (void (0) !== vb && $.extend(vd, {
- a: parseFloat(vb)
- }), vd) : null
- }
- function vi(vb, vd) {
- var ve = vr($(vb)['val'](), 1),
- ve = vv(ve),
- vf = $(vb)['attr']('data-opacity');
- return ve ? (void (0) === vf && (vf = 1), vd ? 'rgba(' + ve.lb_r_strokeColor + ', ' + ve.g + ', ' + ve.b + ', ' + parseFloat(vf) + ')' : 'rgb(' + ve.lb_r_strokeColor + ', ' + ve.g + ', ' + ve.b + ')') : null
- }
- function vz(va, vb) {
- return 'uppercase' === vb ? va.toUpperCase() : va.toLowerCase()
- }
- function vr(va, vb) {
- return va = va.replace(/^#/g, ''), va.match(/^[A-F0-9]{3,6}/gi) ? 3 !== va.length && 6 !== va.length ? '' : (3 === va.length && vb && (va = va[0] + va[0] + va[1] + va[1] + va[2] + va[2]), '#' + va) : ''
- }
- function vm(va, vb) {
- var vd = va.replace(/[^\d,.]/g, '')['split'](',');
- return vd[0] = vl(parseInt(vd[0], 10), 0, 255), vd[1] = vl(parseInt(vd[1], 10), 0, 255), vd[2] = vl(parseInt(vd[2], 10), 0, 255), vd[3] && (vd[3] = vl(parseFloat(vd[3], 10), 0, 1)), vb ? {
- lb_r_strokeColor: vd[0],
- g: vd[1],
- b: vd[2],
- a: vd[3] ? vd[3] : null
- } : 'undefined' != typeof vd[3] && 1 >= vd[3] ? 'rgba(' + vd[0] + ', ' + vd[1] + ', ' + vd[2] + ', ' + vd[3] + ')' : 'rgb(' + vd[0] + ', ' + vd[1] + ', ' + vd[2] + ')'
- }
- function vp(va, vb) {
- return v_21(va) ? vm(va) : vr(va, vb)
- }
- function vl(va, vb, vd) {
- return vb > va && (va = vb), va > vd && (va = vd), va
- }
- function v_21(va) {
- return (va = va.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i)) && 4 === va.length ? 1 : 0
- }
- function v_22(va) {
- return (va = va.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+(\.\d{1,2})?|\.\d{1,2})[\s+]?/i)) && 6 === va.length ? va[4] : '1'
- }
- function v_23(va) {
- return va = va.match(/^rgba?[\s+]?\([\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?,[\s+]?(\d+)[\s+]?/i), va && 4 === va.length ? '#' + ('0' + parseInt(va[1], 10).toString(16))['slice'](-2) + ('0' + parseInt(va[2], 10).toString(16))['slice'](-2) + ('0' + parseInt(va[3], 10).toString(16))['slice'](-2) : ''
- }
- function v_24(vb) {
- var vd = [vb.lb_r_strokeColor.toString(16), vb.g.toString(16), vb.b.toString(16)];
- return $.each(vd, function(va, vb) {
- 1 === vb.length && (vd[va] = '0' + vb)
- }), '#' + vd.join('')
- }
- function v_25(va) {
- var vb = v_24,
- vd, ve, vf, vi = Math.round(va.h),
- vj = Math.round(255 * va.s / 100);
- va = Math.round(255 * va.b / 100);
- if(0 === vj) {
- vd = ve = vf = va
- } else {
- var vj = (255 - vj) * va / 255,
- vh = vi % 60 * (va - vj) / 60;
- 360 === vi && (vi = 0);
- 60 > vi ? (vd = va, vf = vj, ve = vj + vh) : 120 > vi ? (ve = va, vf = vj, vd = va - vh) : 180 > vi ? (ve = va, vd = vj, vf = vj + vh) : 240 > vi ? (vf = va, vd = vj, ve = va - vh) : 300 > vi ? (vf = va, ve = vj, vd = vj + vh) : 360 > vi ? (vd = va, ve = vj, vf = va - vh) : (vd = 0, ve = 0, vf = 0)
- }
- ;
- return vb({
- lb_r_strokeColor: Math.round(vd),
- g: Math.round(ve),
- b: Math.round(vf)
- })
- }
- function v_26(va) {
- va = vv(va);
- var vb = {
- h: 0,
- s: 0,
- b: 0
- },
- vd = Math.max(va.lb_r_strokeColor, va.g, va.b),
- ve = vd - Math.min(va.lb_r_strokeColor, va.g, va.b);
- va = (vb.b = vd, vb.s = 0 !== vd ? 255 * ve / vd : 0, 0 !== vb.s ? va.lb_r_strokeColor === vd ? vb.h = (va.g - va.b) / ve : va.g === vd ? vb.h = 2 + (va.b - va.lb_r_strokeColor) / ve : vb.h = 4 + (va.lb_r_strokeColor - va.g) / ve : vb.h = -1, vb.h *= 60, 0 > vb.h && (vb.h += 360), vb.s *= 100 / 255, vb.b *= 100 / 255, vb);
- return 0 === va.s && (va.h = 360), va
- }
- function vv(va) {
- return va = parseInt(-1 < va.indexOf('#') ? va.substring(1) : va, 16), {
- lb_r_strokeColor: va >> 16,
- g: (65280 & va) >> 8,
- b: 255 & va
- }
- }
- $.minicolors = {
- defaults: {
- animationSpeed: 50,
- animationEasing: 'swing',
- change: null,
- changeDelay: 0,
- control: 'hue',
- dataUris: 1,
- defaultValue: '',
- format: 'hex',
- hide: null,
- hideSpeed: 100,
- inline: 0,
- keywords: '',
- letterCase: 'lowercase',
- opacity: 0,
- position: 'bottom left',
- show: null,
- showSpeed: 100,
- theme: 'default'
- }
- };
- $.extend($.fn, {
- minicolors: function(vd, ve) {
- switch(vd) {
- case 'destroy':
- return $(this)['each'](function() {
- vf($(this))
- }), $(this);
- case 'hide':
- return vh(), $(this);
- case 'opacity':
- return void (0) === ve ? $(this)['attr']('data-opacity') : ($(this)['each'](function() {
- vj($(this)['attr']('data-opacity', ve))
- }), $(this));
- case 'rgbObject':
- return vk($(this), 'rgbaObject' === vd);
- case 'rgbString':
- ;
- case 'rgbaString':
- return vi($(this), 'rgbaString' === vd);
- case 'settings':
- return void (0) === ve ? $(this)['data']('minicolors-settings') : ($(this)['each'](function() {
- var vb = $(this)['data']('minicolors-settings') || {};
- vf($(this));
- $(this)['minicolors']($.extend(1, vb, ve))
- }), $(this));
- case 'show':
- return vg($(this)['eq'](0)), $(this);
- case 'value':
- return void (0) === ve ? $(this)['val']() : ($(this)['each'](function() {
- 'object' == typeof ve ? (ve.opacity && $(this)['attr']('data-opacity', vl(ve.opacity, 0, 1)), ve.color && $(this)['val'](ve.color)) : $(this)['val'](ve);
- vj($(this))
- }), $(this));
- default:
- return 'create' !== vd && (ve = vd), $(this)['each'](function() {
- vb($(this), ve)
- }), $(this)
- }
- }
- });
- $(document)['on']('mousedown.minicolors touchstart.minicolors', function(vb) {
- $(vb.target)['parents']()['add'](vb.target)['hasClass']('minicolors') || vh()
- })['on']('mousedown.minicolors touchstart.minicolors', '.minicolors-grid, .minicolors-slider, .minicolors-opacity-slider', function(vb) {
- var ve = $(this);
- vb.preventDefault();
- $(document)['data']('minicolors-target', ve);
- vd(ve, vb, 1)
- })['on']('mousemove.minicolors touchmove.minicolors', function(vb) {
- var ve = $(document)['data']('minicolors-target');
- ve && vd(ve, vb)
- })['on']('mouseup.minicolors touchend.minicolors', function() {
- $(this)['removeData']('minicolors-target')
- })['on']('mousedown.minicolors touchstart.minicolors', '.minicolors-swatch', function(vb) {
- var vd = $(this)['parent']()['find']('.minicolors-input');
- vb.preventDefault();
- vg(vd)
- })['on']('focus.minicolors', '.minicolors-input', function() {
- var vb = $(this);
- vb.data('minicolors-initialized') && vg(vb)
- })['on']('blur.minicolors', '.minicolors-input', function() {
- var vb = $(this),
- vd = vb.data('minicolors-settings'),
- ve, vf, vi, vj, vh;
- vb.data('minicolors-initialized') && (ve = vd.keywords ? $.map(vd.keywords['split'](','), function(vb) {
- return $.trim(vb.toLowerCase())
- }) : [], '' !== vb.val() && -1 < $.inArray(vb.val()['toLowerCase'](), ve) ? vh = vb.val() : (v_21(vb.val()) ? vi = vm(vb.val(), 1) : (vf = vr(vb.val(), 1), vi = vf ? vv(vf) : null), vh = null === vi ? vd.defaultValue : 'rgb' === vd.format ? vm(vd.opacity ? 'rgba(' + vi.lb_r_strokeColor + ',' + vi.g + ',' + vi.b + ',' + vb.attr('data-opacity') + ')' : 'rgb(' + vi.lb_r_strokeColor + ',' + vi.g + ',' + vi.b + ')') : v_24(vi)), vj = vd.opacity ? vb.attr('data-opacity') : 1, 'transparent' === vh.toLowerCase() && (vj = 0), vb.closest('.minicolors')['find']('.minicolors-swatch > span')['css']('opacity', vj), vb.val(vh), '' === vb.val() && vb.val(vp(vd.defaultValue, 1)), vb.val(vz(vb.val(), vd.letterCase)))
- })['on']('keydown.minicolors', '.minicolors-input', function(vb) {
- var vd = $(this);
- if(vd.data('minicolors-initialized')) {
- switch(vb.keyCode) {
- case 9:
- vh();
- break;
- case 13:
- ;
- case 27:
- vh(), vd.blur()
- }
- }
- })['on']('keyup.minicolors', '.minicolors-input', function() {
- var vb = $(this);
- vb.data('minicolors-initialized') && vj(vb, 1)
- })['on']('paste.minicolors', '.minicolors-input', function() {
- var vb = $(this);
- vb.data('minicolors-initialized') && setTimeout(function() {
- vj(vb, 1)
- }, 1)
- })
- }
- //var myApp = null;
- var gSelfMass = 100;
- var gSplitTimingTick = -1;
- var gSplitTimingDuration = 10;
- var conn2 = null;
- var gSiteArea = { x: 0.0, y: 0.0, scale: 1.0, scw: 1000, sch: 800, field_sz: 14142.0 };
- //var gTeamTagOverride = null;
- var gIsConnected = false;
- //var stopPositionX, stopPositionY;
- //var refPositionX, refPositionY;
- //var gZoomScaling = 1.0;
- //var gLocalPlayerIdPerConnection = 0; //接続ã™ã‚‹ã”ã¨ã«ä¹±æ•°ã§æ±ºã‚ã‚‹ID
- //var gPlayerSignature = '';
- //var gSelfPlayerId = -1;
- class TeamEntryInfo {
- constructor(teamId, teamName, color, section) { //tag, col_lb, col_map, col_name){
- //this.tag = tag;
- //this.col_lb = col_lb;
- //this.col_map = col_map;
- //this.col_name = col_name;
- this.teamId = teamId;
- this.teamName = teamName;
- //this.code = code;
- this.color = color;
- this.section = section;
- }
- }
- class TeamInfoManager {
- constructor() {
- this.teamInfos = {};
- //this.fallbackInfo = null;
- }
- addTeam(teamId, teamName, color, section) { //tag, col_lb, col_map, col_name){
- //if(teamName === '@DEFAULT'){
- // this.fallbackInfo = new TeamEntryInfo(teamId, teamName, color); //tag, col_lb, col_map, col_name);
- //}else {
- this.teamInfos[teamId] = new TeamEntryInfo(teamId, teamName, color, section);
- /*
- if (col_lb != '') {
- //tag, col_lb, col_map, col_name);
- } else {
- delete this.teamInfos[tag];
- }
- */
- }
- removeTeam(teamId) {
- delete this.teamInfos[teamId];
- }
- getPropOrDefault(teamId, propName, defaultValue) {
- //if(tag == '') tag = '@NOTAG';
- var info = this.teamInfos[teamId];
- if(!info) {
- info = this.fallbackInfo;
- }
- return info ? info[propName] : defaultValue;
- }
- getColor(teamId) {
- return this.getPropOrDefault(teamId, 'color', "#FFFFFF");
- }
- getTeamName(teamId) {
- return this.getPropOrDefault(teamId, 'teamName', '');
- }
- getTeamSection(teamId) {
- return this.getPropOrDefault(teamId, 'section', '');
- }
- }
- // getLeaderboardColor(tag){
- // return this.getPropOrDefault(tag, 'col_lb', "#FFFFFF");
- // }
- //
- // getMapColor(tag){
- // return this.getPropOrDefault(tag, 'col_map', "#FFFFFF");
- // }
- //
- // getNameColor(tag){
- // return this.getPropOrDefault(tag, 'col_name', "#FFFFFF");
- // }
- var teamManager = new TeamInfoManager();
- const ElementFallbackColor = { r: 128, g: 128, b: 128 };
- class PlayerEntryInfo {
- constructor(cid, name, team, skinUrl, isBot, teamId, token, skinUrl2) { //team, skinUrl, isBot, code){
- this.cid = cid;
- this.name = name;
- this.team = team;
- this.skinUrl = skinUrl;
- this.isBot = isBot;
- //this.color = ElementFallbackColor;
- //this.code = code;
- this.teamId = teamId;
- this.userToken = token;
- this.skinUrl2 = skinUrl2;
- }
- }
- class PlayerManager {
- constructor() {
- this.entries = {};
- this.selfClientId = -1;
- }
- addPlayer(cid, name, team, skinUrl, isBot, teamId, token, skinUrl2) { //team, skinUrl, isBot, code){
- var deadName = 'dead';
- if(!isBot && cid != this.selfClientId && gconfig_ex.UseNoSkinFallbackSkin && name != deadName){
- if(!skinUrl) skinUrl = gconfig_ex.NoSkinFallBackSkinUrl;
- if(!skinUrl2) skinUrl = gconfig_ex.NoSkinFallBackSkinUrl;
- }
- if(this.entries[cid]) {
- var e = this.entries[cid];
- e.cid = cid;
- e.name = name;
- e.team = team;
- e.skinUrl = skinUrl;
- e.isBot = isBot;
- e.teamId = teamId;
- e.userToken = token;
- e.skinUrl2 = skinUrl2;
- //e.code = code;
- } else {
- this.entries[cid] = new PlayerEntryInfo(cid, name, team, skinUrl, isBot, teamId, token, skinUrl2); //team, skinUrl, isBot, code);
- //console.log('teamId:' + teamId);
- }
- }
- checkIsTeammate(cid) {
- var a = this.entries[this.selfClientId];
- var b = this.entries[cid];
- if(gconfig.isolateBlankTagPlayers && a && a.team == '') {
- return cid == this.selfClientId; //空タグã¯è‡ªåˆ†ã®ã¿ãƒãƒ¼ãƒ
- }
- //return a && b && a.team == b.team && a.code == b.code;
- return a && b && a.teamId === b.teamId;
- }
- checkIsInEatableSection(cid) {
- var a = this.entries[this.selfClientId];
- var b = this.entries[cid];
- if(!a || !b) return false;
- var sectA = teamManager.getTeamSection(a.teamId);
- var sectB = teamManager.getTeamSection(b.teamId);
- return (sectA == '**' || sectB == '**' || sectA == sectB);
- }
- checkIsBot(cid) {
- var info = this.entries[cid];
- return info && info.isBot;
- }
- removePlayer(cid) {
- delete this.entries[cid];
- }
- getFullName(cid) {
- var info = this.entries[cid];
- if(!info) return '';
- if(info.isBot) return info.name;
- var fullName = AddTeamTagPrefixForPlayerName ? (info.team + info.name) : info.name;
- if(fullName == '') fullName = gconfig.nameForUnnamedCell;
- return fullName;
- //return info.isBot ? info.name : info.team + info.name;
- }
- getName(cid) {
- var info = this.entries[cid];
- return info ? info.name : '';
- }
- getTeam(cid) {
- var info = this.entries[cid];
- return info ? info.team : '';
- }
- getTeamId(cid) {
- var info = this.entries[cid];
- return info ? info.teamId : '';
- }
- getSkinUrl(cid) {
- var info = this.entries[cid];
- return info ? info.skinUrl : '';
- }
- getSkinUrl2(cid) {
- var info = this.entries[cid];
- return info ? info.skinUrl2 : '';
- }
- getUserToken(cid) {
- var info = this.entries[cid];
- return info ? info.userToken : '';
- }
- setSelfClientId(cid) {
- this.selfClientId = cid;
- }
- getSelfClientId() {
- return this.selfClientId;
- }
- }
- var playerManager = new PlayerManager();
- class PlayerCoreInfo {
- constructor(pid, cid, r, g, b, skinIndex) {
- this.pid = pid;
- this.cid = cid;
- this.color = { r, g, b};
- this.skinIndex = skinIndex;
- }
- }
- class PlayerCoreInfoManager {
- constructor() {
- this.entries = {};
- }
- setPlayerCoreInfo(pid, cid, _r, _g, _b, skinIndex) {
- var info = this.entries[pid];
- if(info) {
- info.color = { r: _r, g: _g, b: _b }
- info.cid = cid;
- info.skinIndex = skinIndex;
- } else {
- info = new PlayerCoreInfo(pid, cid, _r, _g, _b, skinIndex);
- this.entries[pid] = info;
- }
- }
- getPlayerColor(pid) {
- var info = this.entries[pid];
- return info ? info.color : ElementFallbackColor;
- }
- getSkinIndex(pid) {
- var info = this.entries[pid];
- return info ? info.skinIndex : 0;
- }
- getCid(pid) {
- var info = this.entries[pid];
- return info ? info.cid : 0;
- }
- }
- var playerCoreManager = new PlayerCoreInfoManager();
- var leaderBoardList = [];
- var gPlayerEntryData = {
- nick: '',
- team: '',
- skinUrl: ''
- };
- // function clearPlayerSelfEntryData(){
- // gPlayerEntryData = {
- // nick : '',
- // team : '',
- // skinUrl: ''
- // };
- // }
- var gIsPlaying = false;
- //var gIsSpectate = false;
- var gIsSpectate = true;
- //var FieldSize = 14142.13562373095;
- //var FieldSizeHalf = FieldSize / 2;
- // function setIsPlaying(val){
- // gIsPlaying = val;
- // console.log('gIsPlaying:' + gIsPlaying);
- // }
- //var extendedWebSocketDataHandlerProc = null;
- var testingVal = 29,
- //testingCount = 0,
- //testingInd = 0,
- spectateMode;
- var PRIVATE_SERVER_IP = '__';
- var i18n_lang = 'en';
- var i18n_dict = {
- en: {
- connecting: 'Connecting',
- connect_help: 'If you cannot connect to the servers, check if you have some anti virus or firewall blocking the connection.',
- play: 'Play',
- spectate: 'Spectate',
- login_and_play: 'Login and play',
- play_as_guest: 'Play as guest',
- share: 'Share',
- advertisement: 'Advertisement',
- privacy_policy: 'Privacy Policy',
- terms_of_service: 'Terms of Service',
- changelog: 'Changelog',
- instructions_mouse: 'Move your mouse to control your cell',
- instructions_space: 'Press <b>Space</b> to split',
- instructions_w: 'Press <b>W</b> to eject some mass',
- gamemode_ffa: 'FFA',
- gamemode_teams: 'Teams',
- gamemode_experimental: 'Experimental',
- region_select: ' -- Select a Region -- ',
- region_us_east: 'US East',
- region_us_west: 'US West',
- region_north_america: 'North America',
- region_south_america: 'South America',
- region_europe: 'Europe',
- region_turkey: 'Turkey',
- region_poland: 'Poland',
- region_east_asia: 'East Asia',
- region_russia: 'Russia',
- region_china: 'China',
- region_oceania: 'Oceania',
- region_australia: 'Australia',
- region_players: 'players',
- option_no_skins: 'No skins',
- option_no_names: 'No names',
- option_dark_theme: 'Dark theme',
- option_no_colors: 'No colors',
- option_show_mass: 'Show mass',
- leaderboard: 'Leaderboard',
- unnamed_cell: 'An unnamed cell',
- last_match_results: 'Last match results',
- score: 'Score',
- leaderboard_time: 'Leaderboard Time',
- mass_eaten: 'Mass Eaten',
- top_position: 'Top Position',
- position_1: 'First',
- position_2: 'Second',
- position_3: 'Third',
- position_4: 'Fourth',
- position_5: 'Fifth',
- position_6: 'Sixth',
- position_7: 'Seventh',
- position_8: 'Eighth',
- position_9: 'Ninth',
- position_10: 'Tenth',
- player_cells_eaten: 'Player Cells Eaten',
- survival_time: 'Survival Time',
- games_played: 'Games played',
- highest_mass: 'Highest mass',
- total_cells_eaten: 'Total cells eaten',
- total_mass_eaten: 'Total mass eaten',
- longest_survival: 'Longest survival',
- logout: 'Logout',
- stats: 'Stats',
- shop: 'Shop',
- party: 'Party',
- party_description: 'Play with your friends in the same map',
- create_party: 'Create',
- creating_party: 'Creating party...',
- join_party: 'Join',
- back_button: 'Back',
- joining_party: 'Joining party...',
- joined_party_instructions: 'You are now playing with this party:',
- party_join_error: 'There was a problem joining that party, please make sure the code is correct, or try creating another party',
- login_tooltip: 'Login with Facebook and get:<br/><br /><br />Start the game with more mass!<br />Level up to get even more starting mass!',
- create_party_instructions: 'Give this link to your friends:',
- join_party_instructions: 'Your friend should have given you a code, type it here:',
- "\x63\x6F\x6E\x74\x69\x6E\x75\x65": 'Continue',
- option_skip_stats: 'Skip stats',
- stats_food_eaten: 'food eaten',
- stats_highest_mass: 'highest mass',
- stats_time_alive: 'time alive',
- stats_leaderboard_time: 'leaderboard time',
- stats_cells_eaten: 'cells eaten',
- stats_top_position: 'top position',
- "": ''
- }
- };
- var i18n = i18n_dict[i18n_lang];
- var MOVING = true;
- //var myApp,
- var nodeList = [],
- chatRoom = null,
- minimap = null,
- socket = null,
- currentIP = '',
- //teamname = 'HKG',
- //defaultTeamname = 'HKG',
- //socketRetryInterval, isSocketReady = 0,
- //isChangeName = 0,
- //conn = null,
- //reconnectCount = 0,
- updateLBCount = 0,
- tmpTeamname = '';
- var defaultImage = new Image;
- defaultImage.src = 'data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhLS0gR2VuZXJhdG9yOiBBZG9iZSBJbGx1c3RyYXRvciAxNi4yLjEsIFNWRyBFeHBvcnQgUGx1Zy1JbiAuIFNWRyBWZXJzaW9uOiA2LjAwIEJ1aWxkIDApICAtLT4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IkxheWVyXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHg9IjBweCIgeT0iMHB4Ig0KCSB3aWR0aD0iNTEycHgiIGhlaWdodD0iNTEycHgiIHZpZXdCb3g9IjAgMCA1MTIgNTEyIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTIgNTEyOyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+DQo8Zz4NCgk8Zz4NCgkJPHBhdGggZD0iTTI1Niw0OEMxNDEuMSw0OCw0OCwxNDEuMSw0OCwyNTZzOTMuMSwyMDgsMjA4LDIwOGMxMTQuOSwwLDIwOC05My4xLDIwOC0yMDhTMzcwLjksNDgsMjU2LDQ4eiBNMjU2LDQ0Ni43DQoJCQljLTEwNS4xLDAtMTkwLjctODUuNS0xOTAuNy0xOTAuN2MwLTEwNS4xLDg1LjUtMTkwLjcsMTkwLjctMTkwLjdjMTA1LjEsMCwxOTAuNyw4NS41LDE5MC43LDE5MC43DQoJCQlDNDQ2LjcsMzYxLjEsMzYxLjEsNDQ2LjcsMjU2LDQ0Ni43eiIvPg0KCTwvZz4NCjwvZz4NCjxnPg0KCTxnPg0KCQk8cGF0aCBkPSJNMjU2LDk2Yy04OC40LDAtMTYwLDcxLjYtMTYwLDE2MGMwLDg4LjQsNzEuNiwxNjAsMTYwLDE2MGM4OC40LDAsMTYwLTcxLjYsMTYwLTE2MEM0MTYsMTY3LjYsMzQ0LjQsOTYsMjU2LDk2eiIvPg0KCTwvZz4NCjwvZz4NCjwvc3ZnPg0K';
- var customSkin = { "": defaultImage };
- var announcementTxt = '';
- var Action = {
- COPY: 'HKGAGARTOOLCOPY',
- IMAGE: 'HKGAGARTOOLIMAGE',
- FINISH: 'HKGAGARTOOLFINISH'
- };
- var isJoinedGame = 0,
- hotkeyConfig = {},
- hotkeyMapping = {},
- //teammateIdt = {},
- defaultHotkeyMapping = {},
- selectedHotkeyRow, chatCommand = {},
- isWindowFocus = 1,
- skinDownloadQueue = [],
- skinDownloadFail = {},
- toastQueue = [],
- defaultSkin = '';
- //gm;
- var defaultHotkeyMessageSend = {
- input_hk_send_msg1: gtexts_common.msg1,
- input_hk_send_msg2: gtexts_common.msg2,
- input_hk_send_msg3: gtexts_common.msg3,
- input_hk_send_msg4: gtexts_common.msg4,
- input_hk_send_msg5: gtexts_common.msg5,
- input_hk_send_msg6: gtexts_common.msg6,
- input_hk_send_msg7: gtexts_common.msg7,
- input_hk_send_msg8: gtexts_common.msg8,
- input_hk_send_msg9: gtexts_common.msg9,
- input_hk_send_msg10: gtexts_common.msg10,
- };
- //var defaultHotkeyMessageSend = {
- // input_hk_send_msg1: 'æ´è·ã‚’é ¼ã‚€!',
- // input_hk_send_msg2: '誰ã‹å‘³æ–¹ã«ãªã£ã¦!',
- // input_hk_send_msg3: 'ã‚„ã¤ã‚’ãƒãƒƒãƒ—ã—ã‚!',
- // input_hk_send_msg4: '逃ã’ã‚‹ãž!',
- // input_hk_send_msg5: 'æ¯ä½“å¼!',
- // input_hk_send_msg6: 'ã•ã‚餌ã よ! ',
- // input_hk_send_msg7: 'ã„ã‚Œã¦!',
- // input_hk_send_msg8: 'ãˆã•ãã‚Œ!',
- // input_hk_send_msg9: 'ãã“ã®æ£˜ã‚’æ’ƒã£ã¦ãã‚Œ!',
- // input_hk_send_msg10: '了解ã§ã™!'
- //};
- var hkgIcon = {}, selected_profile_index = 0;
- var skinUrlListNormal = [
- null, null,
- 'http://agar-network.com/skins/ring.png',
- 'http://agar-network.com/skins/circles.png',
- 'http://agar-network.com/skins/w.png',
- 'http://agar-network.com/skins/magatama.png',
- 'http://agar-network.com/skins/wolf.png',
- 'http://agar-network.com/skins/ring.png',
- 'http://agar-network.com/skins/ring.png',
- 'http://agar-network.com/skins/ring.png',
- 'http://agar-network.com/skins/ring.png',
- ];
- var skinUrlListIx = [
- null, null,
- 'http://agar-network.com/skins/ring.png',
- 'http://ixagar.net/skins/k461.png',
- 'http://ixagar.net/skins/k147.png',
- 'http://ixagar.net/skins/k124.png',
- 'http://ixagar.net/skins/k121.png',
- 'http://ixagar.net/skins/k684.png',
- 'http://ixagar.net/skins/k341.png',
- 'http://ixagar.net/skins/k134.png',
- 'http://ixagar.net/skins/k546.png',
- ];
- var isIx = location.hostname == 'ixagar.net';
- //console.log('isIx:' + isIx);
- var skinUrlList = isIx ? skinUrlListIx : skinUrlListNormal;
- var player_profile = function() {
- return [{
- name: 'Profile 1',
- team: CommonTeamName,
- skinurl: defaultSkin,
- partycode: ''
- }, {
- name: 'Profile 2',
- team: CommonTeamName,
- skinurl: skinUrlList[2],
- skinurl2: skinUrlList[2],
- partycode: ''
- }, {
- name: 'Profile 3',
- team: CommonTeamName,
- skinurl: skinUrlList[3],
- skinurl2: skinUrlList[3],
- partycode: ''
- }, {
- name: 'Profile 4',
- team: CommonTeamName,
- skinurl: skinUrlList[4],
- skinurl2: skinUrlList[4],
- partycode: ''
- }, {
- name: 'Profile 5',
- team: CommonTeamName,
- skinurl: skinUrlList[5],
- skinurl2: skinUrlList[5],
- partycode: ''
- }, {
- name: 'Profile 6',
- team: CommonTeamName,
- skinurl: skinUrlList[6],
- skinurl2: skinUrlList[6],
- partycode: ''
- }, {
- name: 'Profile 7',
- team: CommonTeamName,
- skinurl: skinUrlList[7],
- skinurl2: skinUrlList[7],
- partycode: ''
- }, {
- name: 'Profile 8',
- team: CommonTeamName,
- skinurl: skinUrlList[8],
- skinurl2: skinUrlList[8],
- partycode: ''
- }, {
- name: 'Profile 9',
- team: CommonTeamName,
- skinurl: skinUrlList[9],
- skinurl2: skinUrlList[9],
- partycode: ''
- }, {
- name: 'Profile 10',
- team: CommonTeamName,
- skinurl: skinUrlList[10],
- skinurl2: skinUrlList[10],
- partycode: ''
- }];
- }();
- var escapeHtml = function() {
- var va = {
- "\x22": '"',
- "\x26": '&',
- "\x3C": '<',
- "\x3E": '>'
- };
- return function(vb) {
- return vb.replace(/[\"&<>]/g, function(vb) {
- return va[vb]
- })
- }
- }();
- function getHotkeyById(va) {
- for(var vb in hotkeyMapping) {
- if(hotkeyMapping[vb] == va) {
- return vb
- }
- }
- ;
- return ''
- }
- function modifyUrlForLocalhostConnection(uri) {
- var parts = uri.split(":");
- var protocol = parts[0];
- var host = parts[1];
- var port = parts[2];
- /*
- regex(url, /^([^\:]\:\/\/)([^\:])\:([0-9]+));
- var protocol = $0;
- var host = $1;
- var port = $2;
- */
- if(location.search === "?localhost=1") {
- host = '//localhost';
- //var port = uri.split(":")[2];
- //uri = "ws://localhost:" + port;
- }
- if(port) {
- return protocol + ':' + host + ':' + port;
- } else {
- return protocol + ':' + host;
- }
- }
- function setIntervalEx(proc, ms) {
- function intervalProc() {
- proc();
- setTimeout(intervalProc, ms);
- }
- setTimeout(intervalProc, ms);
- }
- class DataFrameWriter {
- constructor() {
- this.bytes = [];
- }
- writeUint8(val) {
- this.bytes.push(val);
- }
- writeUint16(val) {
- this.bytes.push(val & 0xFF);
- this.bytes.push(val >> 8 & 0xFF);
- }
- writeUint32(val) {
- this.bytes.push(val & 0xFF);
- this.bytes.push(val >> 8 & 0xFF);
- this.bytes.push(val >> 16 & 0xFF);
- this.bytes.push(val >> 24 & 0xFF);
- }
- // writeString(str){
- // for(var i = 0; i < str.length; i++){
- // this.writeUint16(str.charCodeAt(i));
- // }
- // }
- writeStringEx(str) {
- this.writeUint16(str.length);
- for(var i = 0; i < str.length; i++) {
- this.writeUint16(str.charCodeAt(i));
- }
- }
- // writeCode(s){
- // this.writeUint8(s.charCodeAt(0));
- // }
- getBuffer() {
- return this.bytes;
- }
- getArrayBuffer() {
- return new Uint8Array(this.bytes).buffer;
- }
- // getArrayBuffer(){
- // return new Uint8Array(this.buf).buffer;
- // }
- /*
- getDataView(){
- var ar = getArrayBuffer();
- var view = new DataView(ar.length);
- for(var i = 0; i < len; i++){
- }
- }*/
- }
- class DataFrameReader {
- constructor(buf) {
- this.bytes = buf;
- this.pos = 0;
- }
- readUint8() {
- return this.bytes[this.pos++];
- }
- readUint16() {
- var a = this.readUint8();
- var b = this.readUint8();
- return a | b << 8;
- }
- readSint16() {
- var val = this.readUint16();
- if(val >= 32768) val -= 65536;
- return val;
- }
- readUint32() {
- var a = this.readUint8();
- var b = this.readUint8();
- var c = this.readUint8();
- var d = this.readUint8();
- return d << 24 | c << 16 | b << 8 | a;
- }
- readStringEx() {
- var len = this.readUint16();
- var str = '';
- for(var i = 0; i < len; i++) {
- str += String.fromCharCode(this.readUint16());
- }
- return str;
- }
- // readCode(){
- // var c = readUint8();
- // return String.fromCharCode(c);
- // }
- }
- class ConnectionHub_OgarMap {
- constructor() {
- }
- sendWebSocketData(bytes) {
- var socket = window.webSocket;
- if(socket && socket.readyState == 1) {
- socket.send(new Uint8Array(bytes).buffer);
- }
- }
- setChatListenerProc(proc) {
- this.chatListenerProc = proc;
- }
- setMapListenerProc(proc) {
- this.mapListenerProc = proc;
- }
- setStatsListenerProc(proc) {
- this.statsListenerProc = proc;
- }
- setLeaderboardListenerProc(proc) {
- this.leaderboardListenerProc = proc;
- }
- setTeamRanksListenerProc(proc) {
- this.teamRanksListenerProc = proc;
- }
- checkLatencyAsync(proc) {
- this.latencyCheckResponseProc = proc;
- var fb = new DataFrameWriter();
- fb.writeUint8(130);
- this.sendWebSocketData(fb.getBuffer());
- }
- sendChatMessage(player_id, sender, message) {
- if(utils.CheckValidString(message) && message.length < 80) {
- /*var messageOnExChat = gconfig.useExtendedChatSystem;
- if(!chatAppModel.isAvailable){
- if(
- }
- */
- var msgDist = 0;
- if(gUseChatApp && gconfig.useExtendedChatSystem){
- if(chatAppModel.isAvailable){
- msgDist = 2;
- }else{
- if(gconfig_ex.UseFallbackGameChat){
- msgDist = 1;
- }
- }
- }else{
- msgDist = 1;
- }
- if(msgDist == 2){
- chatAppModel.SendMessageOnGameChatSession(message);
- }else if(msgDist == 1){
- var fb = new DataFrameWriter();
- fb.writeUint8(128); //opcode
- fb.writeUint16(player_id)
- fb.writeStringEx(sender);
- fb.writeStringEx(message);
- this.sendWebSocketData(fb.getBuffer());
- }
- }
- }
- //xdec
- decodeMessage(view) {
- var ar = utils.ByteArrayFromDataView(view);
- var bb = new DataFrameReader(ar);
- var opcode = bb.readUint8();
- switch(opcode) {
- case 41:
- //ãƒŸãƒ‹ãƒžãƒƒãƒ—åº§æ¨™æƒ…å ±
- var mapData = {};
- var n = bb.readUint16();
- for(var i = 0; i < n; i++) {
- var _pid = bb.readUint16();
- var _px = bb.readSint16();
- var _py = bb.readSint16();
- var _mass = bb.readUint16();
- //utils.confirm(_px >= 0);
- //utils.confirm(_py >= 0);
- //this.mapListenerProc(id, px, py, mass, false);
- var data = {
- id: _pid,
- px: _px,
- py: _py,
- mass: _mass
- };
- mapData[_pid] = data;
- }
- this.mapListenerProc(mapData);
- break;
- case 42:
- //プレイヤå‚åŠ æƒ…å ±
- var n = bb.readUint16();
- for(var i = 0; i < n; i++) {
- var cid = bb.readUint16();
- var name = bb.readStringEx();
- var team = bb.readStringEx();
- var skinUrl = bb.readStringEx();
- var isBot = bb.readUint8();
- var teamId = bb.readUint16();
- var token = bb.readStringEx();
- var skinUrl2 = bb.readStringEx();
- //var code = bb.readStringEx();
- //this.skinListenerProc(id, name, team, skinUrl, isBot);
- playerManager.addPlayer(cid, name, team, skinUrl, isBot, teamId, token, skinUrl2); //team, skinUrl, isBot, code);
- }
- break;
- case 43:
- //プレイヤIDå—ä¿¡
- var cid = bb.readUint16();
- playerManager.setSelfClientId(cid);
- break;
- case 39:
- //プレイヤ色å—ä¿¡
- var num = bb.readUint16();
- for(var i = 0; i < num; i++) {
- var pid = bb.readUint16();
- var cid = bb.readUint16();
- var r = bb.readUint8();
- var g = bb.readUint8();
- var b = bb.readUint8();
- var skinIndex = bb.readUint8();
- playerCoreManager.setPlayerCoreInfo(pid, cid, r, g, b, skinIndex);
- }
- break;
- case 45:
- //ãƒ—ãƒ¬ã‚¤ãƒ¤é€€å‡ºæƒ…å ±
- var num = bb.readUint16();
- for(var i = 0; i < num; i++) {
- var cid = bb.readUint16();
- playerManager.removePlayer(cid);
- }
- break;
- // case 38:
- // //ãƒãƒ¼ãƒ è‰²æƒ…å ±
- // var num = bb.readUint16();
- // for(var i = 0; i < num; i++){
- // var tag = bb.readStringEx();
- // var col = bb.readStringEx();
- // //var lb = bb.readStringEx();
- // //var map = bb.readStringEx();
- // //var name = bb.readStringEx();
- // //console.log(`${tag} ${lb} ${map} ${name}`);
- // if(tag.startsWith('//')) continue;
- // teamManager.addTeam(tag, col, col, col); //lb, map, name);
- // }
- // break;
- case 47:
- //leaderboard, idã®ã¿
- var num = bb.readUint8();
- var lb = [];
- for(var i = 0; i < num; i++) {
- var _pid = bb.readUint16();
- var _score = bb.readUint32();
- lb.push({ pid: _pid, score: _score });
- }
- this.leaderboardListenerProc(lb);
- break;
- case 46:
- //var serverTotalMass = bb.readUint32();
- var num = bb.readUint8();
- var teamRanks = [];
- for(var i = 0; i < num; i++) {
- //var _tag = bb.readStringEx();
- var id = bb.readUint16();
- //var rate = bb.readFloat32();
- var rate = bb.readUint16() * 0.01; //0.0__100.0
- teamRanks.push({ id, rate }); //tag:_tag, rate:_rate});
- }
- this.teamRanksListenerProc(teamRanks);
- break;
- case 91:
- //サーãƒã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹
- var s = {};
- s.clients = bb.readUint16();
- s.players = bb.readUint16();
- s.bots = bb.readUint16();
- s.spectators = bb.readUint16();
- s.max_clients = bb.readUint16();
- s.gamemode = bb.readStringEx();
- s.start_time = bb.readUint32();
- this.statsListenerProc(s);
- break;
- case 128:
- //ãƒãƒ£ãƒƒãƒˆãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚’å—ä¿¡
- //console.log("chat message received");
- var cid = bb.readUint16();
- var sender = bb.readStringEx();
- var message = bb.readStringEx();
- this.chatListenerProc(cid, sender, message);
- break;
- /*
- case 129:
- //ä»–ã®ãƒ—レイヤã®åº§æ¨™æƒ…å ±ã‚’å—ä¿¡
- //deprecated
- var player_id = bb.readStringEx();
- var name = bb.readStringEx();
- var x = bb.readUint16();
- var y = bb.readUint16();
- var mass = bb.readUint16();
- var dead = bb.readUint8() == 1;
- //this.mapListenerProc(player_id, name, x, y, mass, dead);
- break;
- case 130:
- //ä»–ã®ãƒ—レイヤã®ã‚¹ã‚ンURLã‚’å—ä¿¡
- //var player_id = bb.readUint32();
- //var live_id = bb.readStringEx();
- var player_id = bb.readStringEx();
- var name = bb.readStringEx();
- var skin_url = bb.readStringEx();
- var respond_req = opcode == 130;
- //this.skinListenerProc(player_id, name, skin_url);
- break;
- case 132:
- //ä»–ã®ãƒ—レイヤã‹ã‚‰ã®ã‚¹ã‚ンè¦æ±‚
- this.skinRequestedProc();
- break;
- */
- case 133:
- //サーãƒã‹ã‚‰ã®ãƒ‡ãƒãƒƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸
- var message = bb.readStringEx();
- console.log(message);
- break;
- case 36:
- //ãƒãƒ¼ãƒ è‰²æƒ…å ±è¿½åŠ
- var num = bb.readUint16();
- for(var i = 0; i < num; i++) {
- var id = bb.readUint16();
- var teamName = bb.readStringEx();
- //var code = bb.readStringEx();
- var col = bb.readStringEx();
- //console.log(`${tag} ${lb} ${map} ${name}`);
- //if(tag.startsWith('//')) continue;
- var section = bb.readStringEx();
- teamManager.addTeam(id, teamName, col, section); //tag, col, col, col); //lb, map, name);
- }
- break;
- case 35:
- //ãƒãƒ¼ãƒ è‰²æƒ…å ±å‰Šé™¤
- var num = bb.readUint16();
- for(var i = 0; i < num; i++) {
- var id = bb.readUint16();
- teamManager.removeTeam(id);
- }
- break;
- case 200:
- //クライアントè¨å®šJSONå—ä¿¡
- var str = bb.readStringEx();
- var obj = JSON.parse(str);
- Object.keys(obj).forEach(k => {
- if(gconfig.hasOwnProperty(k)) {
- gconfig[k] = obj[k];
- }
- });
- gConfigChangedHandlerProc();
- break;
- case 201:
- //サーãƒèª¬æ˜Žãƒ†ã‚ストå—ä¿¡
- var str = bb.readStringEx();
- //ç¦æ¢ã‚¿ã‚°ã‚’divã«ç½®ãæ›ãˆã‚‹
- str = str.replace(/script>/g, 'div>').replace(/object>/g, 'div>').replace(/media>/g, 'div>');
- var badTags = ['script', 'object', 'media', 'iframe', 'embed'];
- badTags.forEach(tag => {
- var reg = new RegExp(`${tag}>/g`);
- str = str.replace(reg, 'div>');
- });
- //javascriptを実行ã™ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã‚’排除
- str = str.replace(/([Oo][Nn].*)\s?\=\s?\"(.*)\"/g, '__$1__ = "$2"');
- //console.log(str);
- $('#server_instruction_text').html(str); //str.replace(/\r?\n/g, '<br>'));
- break;
- //case 34:
- //break;
- case 131:
- if(this.latencyCheckResponseProc) {
- this.latencyCheckResponseProc();
- }
- break;
- case 202:
- //サーãƒãƒ‡ã‚£ã‚¹ãƒ—レイメッセージå—ä¿¡
- var str = bb.readStringEx();
- $('#server_message_box').html(str);
- break;
- case 29:
- // myApp.onDead();
- // console.log('29-onDead');
- // $("#overlays").show();
- // $("#stats").show();
- break;
- case 15:
- //active turn player id
- var pid = bb.readUint16();
- gActiveTurnPlayerId = pid;
- break;
- case 203:
- var str = bb.readStringEx();
- $("#server_debug_status_texts_box").html(str.replace(/\r\n/g, "<br />\r\n"));
- break;
- ;
- }
- }
- }
- var MapDrawingInterval = 33; //ms
- var MapDataInterval = 1000; //ms
- class MapNode {
- constructor(pid) {
- this.pid = pid;
- this.name = '';
- this.team = '';
- this.mass = 200;
- this.tick = 0;
- this.xpos = 0;
- this.ypos = 0;
- this.xpos1 = 0;
- this.ypos1 = 0;
- //this.frame = 0;
- //this.dead = false;
- this.first = true;
- this.active = true;
- }
- handleMapData(name, team, mass, xpos, ypos) {
- this.name = name;
- this.team = team;
- this.mass = mass;
- this.xpos1 = xpos;
- this.ypos1 = ypos;
- if(this.first) {
- this.xpos = xpos;
- this.ypos = ypos;
- this.first = false;
- }
- this.active = true;
- //this.tick = 0;
- //this.frame = 0;
- }
- updateInFrame() {
- //this.tick++;
- //this.frame++;
- var D = 0.96;
- this.xpos = nums.easyFilter(this.xpos, this.xpos1, D);
- this.ypos = nums.easyFilter(this.ypos, this.ypos1, D);
- }
- }
- class Minimap2 {
- constructor(sz) {
- this.mapNodesDict = {};
- $('body')['append']("<canvas id='minimapNode'>");
- $('body')['append']("<canvas id='minimap' >");
- var canvas = document.getElementById('minimap');
- var ctx = canvas.getContext('2d');
- canvas.width = sz;
- canvas.height = sz;
- ctx.scale(1, 1);
- ctx.strokeStyle = '#333';
- ctx.fillStyle = '#000000';
- ctx.globalAlpha = 0.5;
- ctx.lineWidth = 2;
- ctx.strokeRect(0, 0, canvas.width, canvas.height);
- ctx.fillRect(0, 0, canvas.width, canvas.height);
- ctx.textAlign = 'center';
- ctx.textBaseline = 'middle';
- ctx.globalAlpha = 0.2;
- ctx.font = '18px Verdana';
- ctx.fillStyle = '#FFFFFF';
- var width = canvas.width;
- var height = canvas.height;
- var csz = sz / 5 / 2;
- for(var i = 0; i < 25; i++) {
- var ix = parseInt(i / 5);
- var iy = i % 5;
- var label = String.fromCharCode('A'.charCodeAt(0) + iy) + (ix + 1);
- ctx.fillText(label, csz * (ix * 2 + 1), csz * (iy * 2 + 1));
- }
- var canvas2 = document.getElementById('minimapNode');
- ctx = canvas2.getContext('2d');
- canvas2.width = sz;
- canvas2.height = sz;
- ctx.globalAlpha = 1;
- ctx.scale(1, 1);
- ctx.textAlign = 'center';
- ctx.textBaseline = 'middle';
- ctx.font = 'bold 12px Ubuntu';
- this.hide();
- this.canvas = canvas;
- this.canvas2 = canvas2;
- this.ctx = ctx;
- this.playerActive = false;
- }
- start() {
- //var self = this;
- /*
- setIntervalEx(function(){
- self.drawNodes();
- self.updateNodesInFrame();
- }, MapDrawingInterval);
- */
- setIntervalEx(this.updateFrame.bind(this), MapDrawingInterval);
- //setIntervalEx(this.uploadSelfPosition.bind(this), MapDataInterval);
- /*
- function minimapDrawTimerProc() {
- self.drawNodes();
- self.updateNodesInFrame();
- setTimeout(minimapDrawTimerProc, MapDrawingInterval);
- }
- minimapDrawTimerProc();
- function uploadSelfPositionTimerProc() {
- self.uploadSelfPosition();
- setTimeout(uploadSelfPositionTimerProc, MapDataInterval); //1E3)
- }
- uploadSelfPositionTimerProc();
- */
- }
- updateFrame() {
- this.drawNodes();
- this.updateNodesInFrame();
- }
- updateNodesInFrame() {
- //var delKeys = [];
- for(var pid in this.mapNodesDict) {
- var node = this.mapNodesDict[pid];
- node.updateInFrame();
- // node.tick++;
- // node.frame++;
- // var D = 0.96;
- // node.xpos0 = nums.easyFilter(node.xpos0, node.xpos1, D);
- // node.ypos0 = nums.easyFilter(node.ypos0, node.ypos1, D);
- /*
- if(node.tick > 80) {
- node.dead = true;
- }
- if(node.dead){
- // //console.log('teammate connection broken');
- //var deleted =
- delete this.mapNodesDict[k];
- //console.log(deleted);
- //delKeys.push(k);
- }
- */
- }
- /*
- for(var i in delKeys){
- var key = delKeys[i];
- delete this.mapNodes[key];
- }*/
- //this.mapNodesDict = this.mapNodesDict.filter(function(x){ return !x.dead});
- }
- /*
- posToShortVal(a) {
- var D = 14142.0 / 2;
- return parseInt(utils.vmap(a, -D, D, 0, 65535));
- }
- posFromShortVal(a) {
- var D = 14142.0 / 2;
- return utils.vmap(a, 0, 65535, -D, D)
- }
- uploadSelfPosition() {
- var dying = this.playerActive && !gIsPlaying;
- this.playerActive = gIsPlaying;
- //if(dying) console.log('dying');
- if(this.playerActive || dying){
- //console.log(gPlayerSignature); //'up');
- var mass = gSelfMass;
- //var id = gLocalPlayerIdPerConnection;
- var id = gPlayerSignature;
- var name = myApp.getNameEx();
- var cx = getCurrentX();
- var cy = getCurrentY();
- if(cx != 0 && cy != 0) {
- var xpos = this.posToShortVal(cx);
- var ypos = this.posToShortVal(cy);
- //trace(getCurrentX() + ',' + getCurrentY());
- //trace(xpos + ',' + ypos);
- conn2.sendCoord(id, name, xpos, ypos, mass, dying);
- }
- //}
- }
- }
- */
- removeNode(pid) {
- this.mapNodeDict[pid];
- }
- updateNode(mapData) {
- function filterArrayElements(src, sub) {
- return src.filter(function(x) { return !sub.includes(x) });
- }
- var mapNodesDict = this.mapNodesDict;
- var prevIds = Object.getOwnPropertyNames(mapNodesDict);
- var nextIds = Object.getOwnPropertyNames(mapData);
- var addIds = filterArrayElements(nextIds, prevIds);
- var removeIds = filterArrayElements(prevIds, nextIds);
- addIds.forEach(function(pid) {
- if(!mapNodesDict[pid]) {
- mapNodesDict[pid] = new MapNode(pid);
- }
- //mapNodesDict[id].active = true;
- //console.log(`map data for ${id} generated`);
- });
- removeIds.forEach(function(pid) {
- if(mapNodesDict[pid]) {
- //mapNodeDict[id].Disactive();
- mapNodesDict[pid].active = false;
- }
- //delete mapNodesDict[id];
- //playerManager.removePlayer(id);
- //console.log(`map data for ${id} removed`);
- });
- nextIds.forEach(function(pid) {
- var d = mapData[pid];
- var cid = playerCoreManager.getCid(pid);
- var name = playerManager.getName(cid);
- var team = playerManager.getTeam(cid);
- var xpos = d.px;// - FieldSizeHalf;
- var ypos = d.py;// - FieldSizeHalf;
- var mass = d.mass;
- mapNodesDict[pid].handleMapData(name, team, mass, xpos, ypos);
- //console.log(`map pos for ${id}: ${xpos} ${ypos}`);
- });
- }
- /*
- updateNodeOne(id, _xpos, _ypos, mass, dead) {
- if(dead){
- if(this.mapNodesDict[id]){
- delete this.mapNodesDict[id];
- console.log('teammate died');
- return;
- }
- }
- //var newXpos = this.posFromShortVal(_xpos);
- //var newYpos = this.posFromShortVal(_ypos);
- var newXpos = _xpos - FieldSizeHalf;
- var newYpos = _ypos - FieldSizeHalf;
- if(!this.mapNodesDict[id] && !dead) {
- this.mapNodesDict[id] = new MapNode(id, '', '', newXpos, newYpos);
- }
- var node = this.mapNodesDict[id];
- var info = gPlayerInfoDict[id];
- if(info){
- node.name = info.name;
- node.team = info.team;
- }
- //node.name = name;
- //node.xpos0 = node.xpos1;
- //node.ypos0 = node.ypos1;
- node.xpos1 = newXpos;
- node.ypos1 = newYpos;
- node.mass = mass;
- node.tick = 0;
- node.frame = 0;
- node.dead = dead;
- }
- */
- drawNodes() {
- var ctx = this.ctx;
- var canvas2 = this.canvas2;
- ctx.save();
- ctx.clearRect(0, 0, canvas2.width, canvas2.height);
- //è¦–ç•Œé ˜åŸŸçŸ©å½¢è¡¨ç¤º
- {
- var D = gSiteArea.field_sz;
- var px = utils.scale(gSiteArea.x, D, canvas2.width);
- var py = utils.scale(gSiteArea.y, D, canvas2.height);
- var xd = gSiteArea.scw / gSiteArea.scale;
- var yd = gSiteArea.sch / gSiteArea.scale;
- var xdr = utils.scale(xd, D, canvas2.width) / 2;
- var ydr = utils.scale(yd, D, canvas2.height) / 2;
- ctx.fillStyle = utils.makeColor(0x1FFF);
- ctx.beginPath();
- ctx.rect(px - xdr, py - ydr, xdr * 2, ydr * 2);
- ctx.fill();
- }
- for(var i in this.mapNodesDict) {
- var node = this.mapNodesDict[i];
- if(!node.active) continue;
- var cid = playerCoreManager.getCid(node.pid);
- var isTeammate = playerManager.checkIsTeammate(cid)
- var isBot = playerManager.checkIsBot(cid);
- var shown = !gconfig.enableTeamMapSeparation;
- shown |= gconfig.enableTeamMapSeparation && isTeammate && !isBot;
- shown |= gconfig.enableAllMapShownWhileSpectating && gIsSpectate;
- shown |= gconfig.showBotsAllwaysInMap && isBot;
- if(!shown) continue;
- var mass = node.mass;
- //if(mass == 0) continue;
- var isSelf = playerManager.getSelfClientId() == cid; //node.id;
- var fullName = playerManager.getFullName(cid); //node.id); // node.team + node.name;
- if(isBot || isSelf) fullName = '';
- //var col = utils.makeColor(0xF00);
- //var col = 'rgba(160, 160, 160, 0.8)';
- //var txt_col = 'rgba(192, 192, 192, 1)';
- //var col = 'rgba(255, 255, 255, 0.8)';
- //var txt_col = 'rgba(255, 255, 255, 1)';
- //var col = utils.makeColor(0xCFFF);
- //var txt_col = utils.makeColor(0xCFFF);
- var teamId = playerManager.getTeamId(cid); ///node.id);
- var col = teamManager.getColor(teamId);
- if(gIsPlaying && gconfig.useCommonMapColorWhilePlaying && !isBot) {
- col = "#FFFFFF";
- }
- var txt_col = col;
- // if(fullName.startsWith('ã€å…ˆè¼©ã€‘')) {
- // col = 'rgba(0,160,255,0.8)';
- // txt_col = 'rgba(160, 192, 255, 1)';
- // }
- // if(fullName.startsWith('ã€æ•µã€‘')) {
- // col = 'rgba(255,0,128,0.8)';
- // txt_col = 'rgba(255, 160, 192, 1)';
- // }
- var D = gSiteArea.field_sz;// / 2; // 14142.0 / 2;
- var sc = D / 14142;
- var radius = Math.sqrt(mass * 100) * 0.011 / sc;
- if(radius < 3) radius = 3;
- if(!gconfig.showPlayerMassInMap) radius = 4;
- var frameMax = parseInt(MapDataInterval / MapDrawingInterval);
- //var xpos = utils.vmap(node.frame, 0, frameMax, node.xpos0, node.xpos1);
- //var ypos = utils.vmap(node.frame, 0, frameMax, node.ypos0, node.ypos1);
- var xpos = node.xpos;
- var ypos = node.ypos;
- var px = utils.vmap(xpos, 0, D, 0, canvas2.width);
- var py = utils.vmap(ypos, 0, D, 0, canvas2.height);
- ctx.font = '12px メイリオ, arial';
- ctx.font
- ctx.fillStyle = col;
- ctx.globalAlpha = 0.8;
- ctx.beginPath();
- ctx.arc(px, py, radius, 0, 2 * Math.PI, false);
- ctx.strokeStyle = 'rgba(51,51,51,0.5)';
- ctx.lineWidth = 1;
- ctx.fill();
- ctx.stroke();
- ctx.fillStyle = txt_col;
- //ctx.globalAlpha = 1.0;
- ctx.fillText(fullName, px, py - 10);
- if(isSelf) {
- //ring
- ctx.strokeStyle = "#FFFF00";
- ctx.lineWidth = 1;
- ctx.beginPath();
- ctx.arc(px, py, radius + 4, 0, 2 * Math.PI, false);
- ctx.stroke();
- //cross line
- var w = canvas2.width;
- var h = canvas2.height;
- ctx.strokeStyle = utils.makeColor(0x4888);
- ctx.beginPath();
- ctx.moveTo(px, 0);
- ctx.lineTo(px, h);
- ctx.stroke();
- ctx.beginPath();
- ctx.moveTo(0, py);
- ctx.lineTo(w, py);
- ctx.stroke();
- }
- }
- ctx.restore();
- }
- hide() {
- $('#minimap')['hide']();
- $('#minimapNode')['hide']()
- }
- show() {
- $('#minimap')['show']();
- $('#minimapNode')['show']()
- }
- setDeadPosition(va) {
- //vn = va ? va : {}
- }
- }
- conn2 = new ConnectionHub_OgarMap();
- //ãƒãƒ£ãƒƒãƒˆè¡¨ç¤º, 150
- function ChatRoom() {
- this.container = '';
- this.isShow = 1;
- this.lastMsg = '';
- this.width = 340;
- this.height = 350;
- var va = this,
- vb = 0;
- this.createChatBox = function() {
- $(this.container)['append']("<div id='chatroom'></div>");
- $('#overlays2')['append']("<div id='chatboxArea2'><input id='input_box2' type='text'></input></div>");
- this.hide();
- $('#chatboxArea2')['hide']();
- $('#chatroom')['mouseup'](function() {
- va.resize()
- })
- };
- va.resize = function() {
- ($('#chatroom')['width']() != this.width || $('#chatroom')['height']() != this.height) && $('#chatroom')['perfectScrollbar'] && $('#chatroom')['perfectScrollbar']('update')
- };
- this.setContainer = function(va) {
- this.container = va
- };
- //メッセージをé€ä¿¡
- this.sendMessage = function(str) {
- var cid = playerManager.getSelfClientId();
- conn2.sendChatMessage(cid, myApp.getNameEx(), str);
- };
- /*
- this.decodeMessage = function(view) {
- //console.log("chat message received");
- var ar = Utils.ByteArrayFromDataView(view);
- var bb = new DataFrameReader(ar);
- bb.readUint8(); //opcode
- var sender = bb.readStringEx();
- var message = bb.readStringEx();
- this.receiveMessage(sender, message);
- };
- */
- this.enter = function() {
- this.isFocus() ? (this.sendMessage($('#input_box2')['val']()), $('#input_box2')['val'](''), $('#input_box2')['blur'](), $('#chatboxArea2')['hide']()) : this.focus()
- };
- this.popup = function(va) {
- myApp.isEnableChatpopup && !this.isShow && ($['toast'] ? $['toast'](va) : toastQueue.push(va))
- };
- this.popupInfo = function(va) {
- this.popup({
- text: escapeHtml(va),
- showHideTransition: 'slide',
- icon: 'info',
- bgColor: 'rgba(10, 10, 10, 0.8)',
- allowToastClose: 0,
- hideAfter: 15E3,
- stack: 10
- })
- };
- this.popupWarning = function(va) {
- this.popup({
- text: escapeHtml(va),
- showHideTransition: 'slide',
- icon: 'warning',
- bgColor: 'rgba(10, 10, 10, 0.8)',
- allowToastClose: 0,
- hideAfter: 15E3,
- stack: 10
- })
- };
- this.popupChat = function(va, vb) {
- var vh = escapeHtml(va),
- vd = this.replaceHKGIcon(escapeHtml(vb));
- 'è³å’²è•—蜷・[slick]' == va && (vh = this.replaceHKGIcon(vh));
- this.popup({
- heading: '<span class="toast_sender">' + vh + ': </span>',
- text: '<span class="toast_chatmsg">' + vd + '</span>',
- showHideTransition: 'fade',
- bgColor: 'rgba(10, 10, 10, 0.8)',
- allowToastClose: 0,
- hideAfter: 15E3,
- stack: 10
- })
- };
- this.showSystemMessage = function(va) {
- this.showSystemMessageImpl(va);
- this.popupInfo(va)
- };
- this.showSystemWarning = function(va) {
- this.showSystemMessageImpl(va);
- this.popupWarning(va)
- };
- this.showSystemMessageImpl = function(va) {
- myApp.showSystemMessage() && ($('#chatroom')['append']($('<div/>')['append']($("<span class='system'/>")['text'](this.getTimeStr() + va))), this.scrollDown())
- };
- this.clearMessages = function(){
- $('#chatroom').html('');
- }
- this.getTimeStr = function() {
- var va = new Date,
- vb = va.getMinutes(),
- vb = 10 > vb ? '0' + vb : vb;
- return va.getHours() + ':' + vb + ' '
- };
- //メッセージをå—ä¿¡ã—ãŸã¨ãã®ãƒãƒ³ãƒ‰ãƒ©
- this.receiveMessage = function(cid, sender_name, message) {
- //console.log('chat_ ' + player_id);
- if(gconfig.enableTeamChatSeparation && !playerManager.checkIsTeammate(cid) && cid !== 0) return;
- var sender_name2 = playerManager.getFullName(cid);
- if(gconfig.addUserTokenToChatSenderName) {
- var userToken = playerManager.getUserToken(cid);
- sender_name2 = `${sender_name2} (${userToken})`;
- }
- this.receiveMessageCore(sender_name2, message)
- };
- this.receiveMessageCore = function(name, message) {
- var vh = $('<div/>'),
- vd = $("<span class='time'>")['text'](this.getTimeStr()),
- ve = $("<span class='sender'>")['text'](name + ' : ');
- 'è³å’²è•—蜷・[slick]' == name && ve.html(this.replaceHKGIcon(ve.html()));
- vh.append(vd);
- vh.append(ve);
- vd = $("<span class='msg'>")['text'](message);
- vd.html(this.replaceHKGIcon(vd.html()));
- vh.append(vd);
- $('#chatroom')['append'](vh);
- this.scrollDown();
- this.popupChat(name, message);
- }
- /*
- //メッセージをå—ä¿¡ã—ãŸã¨ãã®ãƒãƒ³ãƒ‰ãƒ©
- this.receiveMessage = function(cid, sender_name, message) {
- //console.log('chat_ ' + player_id);
- if(gconfig.enableTeamChatSeparation && !playerManager.checkIsTeammate(cid) && cid !== 0) return;
- var sender_name2 = playerManager.getFullName(cid);
- if(gconfig.addUserTokenToChatSenderName) {
- var userToken = playerManager.getUserToken(cid);
- sender_name2 = `${sender_name2} (${userToken})`;
- }
- var vh = $('<div/>'),
- vd = $("<span class='time'>")['text'](this.getTimeStr()),
- ve = $("<span class='sender'>")['text'](sender_name2 + ' : ');
- 'è³å’²è•—蜷・[slick]' == sender_name2 && ve.html(this.replaceHKGIcon(ve.html()));
- vh.append(vd);
- vh.append(ve);
- vd = $("<span class='msg'>")['text'](message);
- vd.html(this.replaceHKGIcon(vd.html()));
- vh.append(vd);
- $('#chatroom')['append'](vh);
- this.scrollDown();
- this.popupChat(sender_name2, message)
- };
- */
- this.replaceHKGIcon = function(va) {
- for(var vb in hkgIcon) {
- va = va.replace(new RegExp(escapeRegex(vb), 'g'), '<img alt="$1" src="' + hkgIcon[vb] + '">')
- };
- for(var vh = $('img[alt="$1"]'), vd = 0; vd < vh.length; vd++) {
- for(vb in hkgIcon) {
- if(vh[vd]['src'] == hkgIcon[vb]) {
- $(vh[vd])['attr']('alt', vb);
- break
- }
- }
- };
- return va
- };
- this.scrollDown = function() {
- $('#chatroom')['perfectScrollbar'] && ($('#chatroom')['scrollTop']($('#chatroom')['prop']('scrollHeight')), $('#chatroom')['perfectScrollbar']('update'))
- };
- this.show = function() {
- $('#chatroom')['show']();
- this.isShow = 1;
- this.scrollDown()
- };
- this.hide = function() {
- $('#chatroom')['hide']();
- this.isShow = 0
- };
- this.isFocus = function() {
- return $('#input_box2')['is'](':focus')
- };
- this.focus = function() {
- $('#chatboxArea2')['show']();
- $('#input_box2')['focus']()
- };
- this.createScrollBar = function() {
- $('#chatroom')['perfectScrollbar']({
- minScrollbarLength: 50,
- suppressScrollX: 0
- })
- }
- }
- //アプリケーション本体, 1200
- function MyApp() {
- //console.log("SAO_160518_A100");
- function onNicknameChanged() {
- $('#nick')['val'](myApp.getName());
- if(nodeList[0][1] == myApp.getName()) {
- return 0
- };
- nodeList[0][1] = myApp.getName();
- setLocalStorage('nick', $('#nick')['val']());
- player_profile[selected_profile_index]['name'] = myApp.getName();
- storePlayerProfile();
- return 1
- }
- function onTreamNameChanged() {
- var teamName = myApp.getTeamName();
- $('#team_name')['val'](teamName);
- if(tmpTeamname == teamName) {
- return 0
- };
- nodeList[0][15] = teamName;
- setLocalStorage('opt_teamname', teamName);
- player_profile[selected_profile_index]['team'] = teamName;
- storePlayerProfile();
- return 1;
- }
- function onPartyCodeChanged() {
- var token = $('.partyToken').val();
- setLocalStorage('partycode', token);
- player_profile[selected_profile_index]['partycode'] = token;
- storePlayerProfile();
- }
- function loadCurrentProfile() {
- setLocalStorage('selected_profile', selected_profile_index);
- tmpTeamname = myApp.getTeamName();
- $('#nick')['val'](player_profile[selected_profile_index]['name']);
- $('#team_name')['val'](player_profile[selected_profile_index]['team']);
- $('#skin_url')['val'](player_profile[selected_profile_index]['skinurl'])['trigger']('change');
- $('#skin_url2')['val'](player_profile[selected_profile_index]['skinurl2'])['trigger']('change');
- var code = player_profile[selected_profile_index]['partycode'];
- $('.partyToken').val(code);
- onTreamNameChanged() ? (nodeList[0][1] = myApp.getName(), setLocalStorage('nick', myApp.getName())) : onNicknameChanged()
- onPartyCodeChanged();
- }
- function storePlayerProfile() {
- setLocalStorage('player_profile', player_profile)
- }
- this.version = 'v_2.0.0';
- var vh = 0.88;
- this.getZoomSpeed = function() {
- return vh
- };
- this.getZoomLimit = function() {
- return 0.05
- };
- this.isEnableHideFood = this.isEnableGridline = this.isEnableBorder = this.isEnableMapGrid = this.isEnableCursorLine = this.isEnableZoom = this.isStopMovement = this.isShowBallTotal = this.isShowSTE = this.isShowScroll = 0;
- this.isEnableShowAllMass = 1;
- this.isEnableSimpleDrawing = 0;
- this.isEnableAutoStart = 1;
- this.isEnableMouseW = 0;
- this.isEnableLockZoom = this.isEnableCustomSkin = 1;
- this.isEnableAttackRange = 0;
- this.isEnableTeammateIndicator = 1;
- this.isEnableChatpopup = 0;
- this.attackRangeRadius = 655;
- this.cellColor = '';
- this.cellColorAry = 'red #76FF03 blue yellow #8207ff #2196F3 '['split'](' ');
- this.doubleSpace = this.quickSpace = this.autoW = 0;
- this.doubleSpaceCount = this.quickSpaceCount = 0;
- this.lockZoomG;
- this.teammateIndicatorPosition = 40;
- this.teammateIndicatorSize = 50;
- this.teammateIndicatorShowSize = 200;
- this.teammateIndicator;
- this.specTeammate;
- this.isSpecTeammate = 0;
- this.massTextSize = 0.8;
- this.isSpectating = 0;
- this.isSameColorFood = 1;
- this.isEnableSplitInd = this.isShowTextStrokeLine = this.isAutoHideName = this.isAutoHideMass = this.isShowFPS = this.isTransparentCell = 0;
- //this.isEnableOtherSkinSupport = 1;
- this.isEnableOtherSkinSupport = 0;
- this.isShowPacketIO = this.isEnableShareFb = this.isEnableSound = this.isHideSelfName = this.testing = 0;
- this.isHideSelfName = 0;
- this.isEnableMouseControl = 0;
- this.swapMouseButtonsLR = 0;
- this.showChatAtBottom = 0;
- //this.showCenterCrosshair = 0;
- this.showSplitOrderMarker = 0;
- this.showCursorCrosshair = 0;
- this.showActiveTurnMarker = 0;
- this.emphasisCursorLine = 0;
- //init
- this.init = function() {
- //$('body')['append']("<canvas id='canvas'>");
- //$('body')['append']('<link id="favicon" rel="icon" type="image/png">');
- //$('body')['append']("<div id = 'overlays2'></div>");
- //$('#overlays2')['append']("<div id = 'div_lb'><div class='header' id='lb_caption'>" + 'leaderboard' + "</div></div>");
- //$('#div_lb')['append']("<div id='lb_detail'></div>");
- //$('#overlays2')['append']("<div id = 'div_lb2'><div class='header'>" + 'team ranks' + "</div></div>");
- //$('#div_lb2')['append']("<div id='lb_detail2'></div>");
- //$('#overlays2')['append']("<div id = 'div_score'></div>");
- //$('#overlays2')['append']("<div id = 'pinfo'></div>");
- var va = document.getElementById('canvas');
- va.getContext('2d');
- va.mozOpaque = 1;
- if(navigator.userAgent.indexOf('Firefox') >= 0){
- //firefoxã§ã¯canvasãŒé€éŽã›ãšãƒ†ãƒ¼ãƒžã®èƒŒæ™¯è‰²ãŒåæ˜ ã•ã‚Œãªã„å•é¡ŒãŒã‚ã‚‹ãŸã‚ã€mozOpaqueを指定ã—ãªã„
- va.mozOpaque = 0;
- }
- window.setLocalStorage = function(va, vb) {
- 'string' == typeof vb ? localStorage.setItem(va, vb) : localStorage.setItem(va, JSON.stringify(vb))
- };
- window.getLocalStorage = function(va) {
- return localStorage.getItem(va)
- };
- getLocalStorage('selected_profile') && (selected_profile_index = getLocalStorage('selected_profile'));
- getLocalStorage('player_profile') ?
- player_profile = JSON.parse(getLocalStorage('player_profile')) :
- (getLocalStorage('nick') && (player_profile[selected_profile_index]['name'] = getLocalStorage('nick')),
- getLocalStorage('opt_teamname') && (player_profile[selected_profile_index]['team'] = getLocalStorage('opt_teamname')),
- getLocalStorage('skin_url') && (player_profile[selected_profile_index]['skinurl'] = getLocalStorage('skin_url')),
- getLocalStorage('skin_url2') && (player_profile[selected_profile_index]['skinurl2'] = getLocalStorage('skin_url2')),
- getLocalStorage('partycode') && (player_profile[selected_profile_index]['partycode'] = getLocalStorage('partycode'))
- );
- for(va = 0; va < player_profile.length; va++) {
- window.postMessage({
- action: Action.IMAGE,
- data: player_profile[va]['skinurl']
- }, '*')
- };
- $('body')['attr']('oncontextmenu', 'return false;');
- $('#overlays2')['append']("<div id='teammate_menu'></div>");
- $('#teammate_menu')['hide']();
- $('#teammate_menu')['click'](function(va) {
- va.stopPropagation()
- });
- $('#overlays2')['click'](function() {
- $('#teammate_menu')['hide']()
- });
- nodeList[0] = ['me', getLocalStorage('nick'), null, null, 'yellow'];
- nodeList[1] = ['top1', '', null, null, 'white'];
- nodeList[0][8] = Date.now();
- nodeList[1][8] = Date.now();
- //ãƒãƒ£ãƒƒãƒˆåˆæœŸåŒ–
- chatRoom = new ChatRoom;
- chatRoom.setContainer('#overlays2');
- chatRoom.createChatBox();
- $('#btn_connect')['click'](function() {
- $('#btn_connect')['text']('Connecting');
- $('#connect_error_div')['hide']()
- });
- if(gUseChatApp){
- chatAppModel.gameChatMessageReceiverProc = chatRoom.receiveMessageCore.bind(chatRoom);
- }
- //マップåˆæœŸåŒ–
- minimap = new Minimap2(200);
- var va = document.createElement('canvas'),
- vb = va.getContext('2d');
- vb.beginPath();
- vb.lineWidth = 10;
- vb.moveTo(0, 0);
- vb.lineTo(100, 0);
- vb.lineTo(50, 50);
- vb.closePath();
- vb.strokeStyle = 'white';
- vb.fillStyle = 'white';
- vb.stroke();
- vb.fill();
- this.teammateIndicator = va;
- };
- this.newGame = function() {
- //$('#nick')['prop']('disabled', 1);
- $('.btn-spectate')['prop']('disabled', 1);
- isJoinedGame = 1;
- myApp.isStopMovement = 0;
- myApp.isSpectating = 0;
- myApp.cellColor = '';
- myApp.newGameImpl();
- spectateMode = 0;
- nodeList[1][2] = null;
- nodeList[1][3] = null
- };
- this.afterGameLogicLoaded = function() {
- myApp.setupOption();
- myApp.setupHotKey();
- myApp.restoreSetting();
- myApp.setUpHotKeyConfigPage();
- myApp.replaceTos();
- myApp.setupHints();
- myApp.checkVersion();
- myApp.downloadSkin();
- $('#btn_info')['click'](function() {
- myApp.showAnnouncement()
- });
- $('#game_info')['click'](function() {
- myApp.copyGameInfo()
- });
- $('#nick')['change'](function() {
- onNicknameChanged()
- });
- $('#team_name')['change'](function() {
- onTreamNameChanged()
- })['focus'](function() {
- tmpTeamname = myApp.getTeamName()
- });
- $('.partyToken').change(() => {
- onPartyCodeChanged();
- });
- //$("skin_url").change
- $('#skin_url')['change'](function() {
- var va = getLocalStorage('skin_url'),
- vb = myApp.getCustomSkinUrl();
- $('#skin_url')['val'](vb);
- va != vb && (va = /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/i, 'DEFAULT' == vb || va.test(vb) ? (setLocalStorage('skin_url', vb), nodeList[0][5] = vb, player_profile[selected_profile_index]['skinurl'] = myApp.getCustomSkinUrl(), storePlayerProfile(), customSkin[vb] ? myApp.changePreviewImage(customSkin[vb]['src']) : skinDownloadQueue.push(vb)) : (console.log('Not valid URL'), $('#skin_url')['val']('')))
- });
- $('#skin_url2')['change'](function() {
- var va = getLocalStorage('skin_url2'),
- vb = myApp.getCustomSkinUrl2();
- $('#skin_url2')['val'](vb);
- va != vb && (va = /^(?:(?:https?|ftp):\/\/)(?:\S+(?::\S*)?@)?(?:(?!10(?:\.\d{1,3}){3})(?!127(?:\.\d{1,3}){3})(?!169\.254(?:\.\d{1,3}){2})(?!192\.168(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]+-?)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/[^\s]*)?$/i, 'DEFAULT' == vb || va.test(vb) ? (setLocalStorage('skin_url2', vb), nodeList[0][5] = vb, player_profile[selected_profile_index]['skinurl2'] = myApp.getCustomSkinUrl2(), storePlayerProfile(), customSkin[vb] ? myApp.changePreviewImage2(customSkin[vb]['src']) : skinDownloadQueue.push(vb)) : (console.log('Not valid URL'), $('#skin_url2')['val']('')))
- });
- $('.nav2.arrow-left')['click'](function() {
- selected_profile_index = (player_profile.length + selected_profile_index - 1) % player_profile.length;
- loadCurrentProfile()
- });
- $('.nav2.arrow-right')['click'](function() {
- selected_profile_index = (selected_profile_index + 1) % player_profile.length;
- loadCurrentProfile()
- });
- storePlayerProfile()
- };
- this.spectate = function(va) {
- //conn.joinRoom(myApp.getRoom());
- va && 0 != va.length || (myApp.isSpectating = 1)
- };
- this.newGameImpl = function() {
- //trace('newGameImpl');
- var va = 1,
- vb = getCell();
- vb && 0 != vb.length || (va = 0);
- //va ? (nodeList[0][6] = vb[0]['color'], conn.joinRoom(myApp.getRoom())) : setTimeout(myApp.newGameImpl, 100)
- gIsPlaying = true;
- gIsSpectate = false;
- };
- this.onDead = function() {
- //trace('onDead');
- isJoinedGame = 0;
- $('.btn-spectate')['prop']('disabled', 0);
- //$('#nick')['prop']('disabled', 0);
- $('.nav')['show']();
- //conn.leaveRoom(myApp.getRoom());
- gIsPlaying = false;
- };
- this.afterGameLoaded = function() {
- myApp.isSpectating = 0;
- updateLBCount = -1;
- $('#nick')['prop']('disabled', 0);
- $('#current_ip')['text']('Server: ' + myApp.getCurrentIP());
- $('#ip_info')['text']('Server: ' + myApp.getCurrentIP());
- $('#region_info')['text']('Region: ' + $('#region option:selected')['text']()['split'](' ')[0]);
- $('#gamemode_info')['text']('Mode: ' + $('#gamemode option:selected')['text']());
- $('#party_code_info')['text']('Party: ' + myApp.getCurrentPartyCode());
- $('#btn_connect')['text']('Connect');
- moveTo(null, null);
- myApp.specTeammate = null;
- myApp.isStopMovement = 0;
- minimap.setDeadPosition(null);
- //conn.joinRoom(myApp.getRoom())
- };
- //room signatureã‚’å–å¾—
- //team name + server ip or
- //team name + party code
- this.getRoom = function() {
- //return 'N/A' == myApp.getCurrentPartyCode() ? myApp.getTeamName() + myApp.getCurrentIP() : myApp.getTeamName() + myApp.getCurrentPartyCode()
- return myApp.getTeamName();
- };
- this.restoreSetting = function() {
- if(getLocalStorage('opt_teamname') == null && getLocalStorage('nick') == null) {
- //åˆå›žèµ·å‹•æ™‚,åå‰/ãƒãƒ¼ãƒ åã®ãƒªã‚½ãƒ¼ã‚¹ãŒãªã„å ´åˆ, Profile1ã‚’è¨å®š
- var pp = player_profile[0];
- setLocalStorage('opt_teamname', pp.team);
- setLocalStorage('nick', pp.name);
- setLocalStorage('skin_url', pp.skinurl);
- setLocalStorage('skin_url2', pp.skinurl);
- setLocalStorage('partycode', pp.partycode);
- }
- getLocalStorage('opt_teamname') && $('#team_name')['val'](getLocalStorage('opt_teamname'));
- getLocalStorage('nick') && '' != getLocalStorage('nick')['trim']() ? $('#nick')['val'](getLocalStorage('nick', myApp.getName())) : ($('#nick')['val'](myApp.getName()), setLocalStorage('nick', myApp.getName()));
- getLocalStorage('partycode') && $('.partyToken').val(getLocalStorage('partycode'));
- nodeList[0][1] = myApp.getName();
- nodeList[0][15] = myApp.getTeamName();
- getLocalStorage('opt_zoom_speed') && (vh = getLocalStorage('opt_zoom_speed'), $('#opt_zoom_speed')['val'](vh), $('#txt_zoom_speed')['text'](vh));
- var va = getLocalStorage('skin_url');
- va && '' != va || (setLocalStorage('skin_url', defaultSkin), va = defaultSkin);
- va && '' != va && ($('#skin_url')['val'](getLocalStorage('skin_url')), nodeList[0][5] = va, customSkin[va] ? myApp.changePreviewImage(customSkin[va]['src']) : skinDownloadQueue.push(getLocalStorage('skin_url')));
- va = getLocalStorage('skin_url2');
- va && '' != va || (setLocalStorage('skin_url2', defaultSkin), va = defaultSkin);
- va && '' != va && ($('#skin_url2')['val'](getLocalStorage('skin_url2')), nodeList[0][5] = va, customSkin[va] ? myApp.changePreviewImage2(customSkin[va]['src']) : skinDownloadQueue.push(getLocalStorage('skin_url2')));
- if(getLocalStorage('hotkeyMapping')) {
- hotkeyMapping = JSON.parse(getLocalStorage('hotkeyMapping'))
- } else {
- for(var cfg in hotkeyConfig) {
- hotkeyConfig[cfg]['defaultHotkey'] && '' != hotkeyConfig[cfg]['defaultHotkey'] && (hotkeyMapping[hotkeyConfig[cfg]['defaultHotkey']] = cfg)
- };
- setLocalStorage('hotkeyMapping', hotkeyMapping)
- };
- getLocalStorage('chatCommand') ? chatCommand = JSON.parse(getLocalStorage('chatCommand')) : (chatCommand = defaultHotkeyMessageSend, setLocalStorage('chatCommand', chatCommand))
- };
- this.replaceTos = function() {
- $('.tosBox')['remove']()
- };
- this.setupOption = function() {
- var optNum0 = 13;
- var optNum1 = 12;
- var options = {
- opt_hzoom: {
- text: gtexts.stFastZoom,
- "\x64\x65\x66\x61\x75\x6C\x74": 0,
- handler: function(va) {
- if(va) {
- setLocalStorage('opt_zoom_speed', vh = 0.82);
- } else {
- setLocalStorage('opt_zoom_speed', vh = 0.94);
- }
- }
- },
- opt_self_name: {
- text: gtexts.stHideMyName,
- "\x64\x65\x66\x61\x75\x6C\x74": 0,
- handler: function(va) {
- myApp.isHideSelfName = va
- }
- },
- opt_name: {
- text: gtexts.stHideNames,
- handler: function(va) {
- setNames(!va)
- }
- },
- opt_color: {
- text: gtexts.stHideBlobColors,
- handler: function(va) {
- setColors(va)
- }
- },
- opt_mass: {
- text: gtexts.stShowMass,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- setShowMass(va)
- }
- },
- opt_stats: {
- text: gtexts.stSkipStats,
- disabled: 1,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- setSkipStats(va)
- }
- },
- opt_mapgrid: {
- text: gtexts.stGridLocations,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- myApp.isEnableMapGrid = va
- }
- },
- opt_cursorline: {
- text: gtexts.stCursorLine,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- myApp.isEnableCursorLine = va
- }
- },
- opt_zoom: {
- text: gtexts.stZoom,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- myApp.isEnableZoom = va
- }
- },
- opt_food: {
- text: gtexts.stHidePellets,
- handler: function(va) {
- myApp.isEnableHideFood = va
- }
- },
- opt_gridline: {
- text: gtexts.stGridLines,
- handler: function(va) {
- myApp.isEnableGridline = va
- }
- },
- opt_simple_drawing: {
- text: gtexts.stSimpleDrawing,
- "\x64\x65\x66\x61\x75\x6C\x74": 0,
- handler: function(va) {
- myApp.isEnableSimpleDrawing = va
- }
- },
- opt_score: {
- text: gtexts.stScore,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- myApp.isShowScroll = va
- }
- },
- opt_ste: {
- text: gtexts.stSte,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- myApp.isShowSTE = va
- }
- },
- opt_ball_total: {
- text: gtexts.stBallTotal,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- myApp.isShowBallTotal = va
- }
- },
- opt_minimap: {
- text: gtexts.stMinimap,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- va ? minimap.show() : minimap.hide()
- }
- },
- //opt_mousew: {
- // text: 'マウスã§é¤Œ',
- // disabled: 1,
- // handler: function (va) {
- // myApp.isEnableMouseW = va
- // }
- //},
- opt_same_food_color: {
- text: gtexts.stRainbowColor,
- handler: function(va) {
- myApp.isSameColorFood = !va
- }
- },
- opt_transparent_cell: {
- text: gtexts.stTransparentBlobs,
- handler: function(va) {
- myApp.isTransparentCell = va
- }
- },
- opt_fps: {
- text: gtexts.stFps,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- myApp.isShowFPS = va
- }
- },
- opt_packetIO: {
- text: gtexts.stPacktIo,
- disabled: 1,
- handler: function(va) {
- myApp.isShowPacketIO = va
- }
- },
- opt_auto_hide_mass: {
- text: gtexts.stAutoHideMass,
- "\x64\x65\x66\x61\x75\x6C\x74": 0,
- handler: function(va) {
- myApp.isAutoHideMass = va
- }
- },
- opt_auto_hide_name: {
- text: gtexts.stAutoHideNames,
- "\x64\x65\x66\x61\x75\x6C\x74": 0,
- handler: function(va) {
- myApp.isAutoHideName = va
- }
- },
- opt_show_text_stroke_line: {
- text: gtexts.stTextShadows,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- myApp.isShowTextStrokeLine = va
- }
- },
- opt_lock_zoom: {
- text: gtexts.stAutoZoom,
- handler: function(va) {
- myApp.isEnableLockZoom = !va
- }
- },
- opt_split_ind: {
- text: gtexts.stSplitIndicators,
- "\x64\x65\x66\x61\x75\x6C\x74": 0,
- handler: function(va) {
- myApp.isEnableSplitInd = va
- }
- },
- opt_custom_skin: {
- text: gtexts.stCustomSkins,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- myApp.isEnableCustomSkin = va
- }
- },
- opt_other_skin: {
- text: gtexts.stYinSkins,
- disabled: 1,
- handler: function(va) {
- myApp.isEnableOtherSkinSupport = va
- }
- },
- opt_chatbox: {
- text: gtexts.stChatBox,
- disabled: 0,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- va ? chatRoom.show() : chatRoom.hide()
- }
- },
- opt_chatpopup: {
- text: gtexts.stChatPopup,
- disabled: 1,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(va) {
- myApp.isEnableChatpopup = va
- }
- },
- opt_mousecontrol: {
- text: gtexts.stEnableMouseControl,
- "\x64\x65\x66\x61\x75\x6C\x74": 1,
- handler: function(s) {
- myApp.isEnableMouseControl = s;
- }
- },
- opt_mouse_button_swap: {
- text: gtexts.stInvertMouseButtons,
- handler: function(s) {
- myApp.swapMouseButtonsLR = s;
- }
- },
- opt_chatbox_location: {
- text: gtexts.stChatBoxLocation,
- handler: function(s) {
- myApp.showChatAtBottom = s;
- }
- },
- opt_split_order_marker: {
- text: gtexts.stSplitOrderMarker,
- "\x64\x65\x66\x61\x75\x6C\x74": 0,
- handler: function(s) {
- myApp.showSplitOrderMarker = s;
- }
- },
- opt_show_cursor_crosshair: {
- text: gtexts.stAimCrosshair,
- //disabled: 1,
- "\x64\x65\x66\x61\x75\x6C\x74": 0,
- handler: function(s) {
- myApp.showCursorCrosshair = s;
- }
- },
- opt_active_turn_marker: {
- text: gtexts.stActiveTurnMarker,
- "\x64\x65\x66\x61\x75\x6C\x74": 0,
- handler: function(s) {
- myApp.showActiveTurnMarker = s;
- }
- },
- opt_emphasis_cursor_line: {
- text: gtexts.stEmphasisCursorLine,
- "\x64\x65\x66\x61\x75\x6C\x74": 0,
- handler: function(s) {
- myApp.emphasisCursorLine = s;
- }
- },
- };
- window.setYinSkinSupport = function(vb) {
- options.opt_other_skin['handler'](vb);
- setLocalStorage('opt_other_skin', vb)
- };
- var configs = [],
- vf;
- for(vf in options) {
- //options[vf]['disabled'] || configs.push('<input id="' + vf + '" type="checkbox"> ' + options[vf]['text'] + '<br>')
- if(!options[vf]['disabled']){
- //configs.push('<input id="' + vf + '" type="checkbox"> ' + options[vf]['text'] + '<br>');
- configs.push('<div><input id="' + vf + '" type="checkbox"> ' + options[vf]['text'] + '</div>');
- }
- };
- var cfg0 = configs.splice(0, optNum0);
- for(var i = 0; i < cfg0.length; i++) {
- $('.firstSettings')['append'](cfg0[i])
- };
- var cfg1 = configs.splice(0, optNum1);
- for(i = 0; i < cfg1.length; i++) {
- $('.secondSettings')['append'](cfg1[i])
- };
- var cfg2 = configs; //['splice'](0, 1);
- for(i = 0; i < cfg2.length; i++) {
- $('.extraSettings')['append'](cfg2[i])
- };
- $('input:checkbox')['change'](function() {
- var vb = $(this)['prop']('checked'),
- ve = $(this)['prop']('id');
- setLocalStorage(ve, vb);
- options[ve] && options[ve]['handler'](vb)
- });
- for(vf in options) {
- getLocalStorage(vf) ? 'true' == getLocalStorage(vf) && ('opt_other_skin' == vf ? setYinSkinSupport(1) : $('#' + vf)['click']()) : options[vf]['default'] && $('#' + vf)['click']()
- };
- /*
- $('.zoomSpeed')['append']('Zoom Speed: <span id="txt_zoom_speed">0.97</span></div><input oninput="$(#txt_zoom_speed).text(this.value);" style="width:100%;" type="range" id="opt_zoom_speed" name="opt_zoom_speed" min="0.88" max="0.99" step="0.01" value="0.9">');
- $('#opt_zoom_speed')['change'](function () {
- vh = $('#opt_zoom_speed')['val']();
- setLocalStorage('opt_zoom_speed', vh)
- })*/
- };
- this.scoreInfo = function(va) {
- if(!va || !va.length) {
- return ''
- };
- var vb = '';
- myApp.isShowSTE && (vb += ' STE: ' + this.getSTE(va));
- myApp.isShowBallTotal && (vb += ' [' + va.length + '/16]');
- return vb
- };
- this.scoreTxt = function(va) {
- return myApp.isShowScroll ? va : ''
- };
- this.isShowScoreInfo = function() {
- return myApp.isShowScroll || myApp.isShowSTE || myApp.isShowBallTotal
- };
- this.showSystemMessage = function() {
- return 0
- };
- this.getSTE = function(va) {
- for(var vb = 0, vf = 0; vf < va.length; vf++) {
- va[vf] && va[vf]['I'] && va[vf]['I']['lb_w_text'] && va[vf]['I']['lb_w_text'] > vb && (vb = va[vf]['I']['lb_w_text'])
- };
- return ~~(0.375 * vb)
- };
- this.createGameInfoBox = function() {
- //$('.gameinfo')['prepend']("<div id='game_info' class='agario-panel'><p id='ip_info'></p><p id='region_info'></p><p id='gamemode_info'></p><p id='party_code_info'></p><p id='lb_info'></p></div>");
- //$('#game_info')['append']('<button id ="btn_copy_gameinfo" class="btn btn-warning btn-hotkeys" type="button">Copy</button>')
- };
- this.updateLBInfo = function() {
- var va = '',
- vb = myApp.getLeaderBoard();
- if(vb) {
- for(var vf = 0; vf < vb.length; vf++) {
- va += '<div>' + (vf + 1) + '. ' + escapeHtml(vb[vf]) + '</div>'
- }
- };
- $('#lb_info')['html'](va)
- };
- this.isPrivateServer = function() {
- return PRIVATE_SERVER_IP == currentIP
- };
- this.getCurrentIP = function() {
- return this.isPrivateServer() ? '----------' : currentIP.substring(5, currentIP.length)
- };
- this.getRegion = function() {
- return $('#region option:selected')['text']()['split'](' ')[0]
- };
- this.getGameMode = function() {
- return this.isPrivateServer() ? '----------' : $('#gamemode option:selected')['text']()
- };
- this.getTeamName = function() {
- return ('' == $('#team_name')['val']() ? '' : $('#team_name')['val']())['trim']()
- };
- this.getCustomSkinUrl = function() {
- var va = ($('#skin_url')['val']() + '')['trim']();
- return '' == va ? '' : va
- };
- this.getCustomSkinUrl2 = function() {
- var va = ($('#skin_url2')['val']() + '')['trim']();
- return '' == va ? '' : va
- };
- this.getCurrentPartyCode = function() {
- return $('.partyToken')['val']()
- };
- this.showMessage = function(va, vb) {
- 0 == $('#message_dialog')['length'] && myApp.createMessageDialog();
- $('#message_dialog_title')['text'](va);
- $('#message_dialog_content')['html'](vb);
- $('#message_dialog')['modal']({
- show: 'true'
- })
- };
- this.getName = function() {
- var name = $('#nick')['val']()['trim'](); -1 != name.indexOf() && (name = '');
- return /*this.getTeamName() + */'' == name ? '' : name
- };
- this.getNameEx = function() {
- return this.getTeamName() + this.getName();
- }
- this.getLeaderBoard = function() {
- var va = [],
- entries = getLB();
- if(entries) {
- for(var vf = 0; vf < entries.length; vf++) {
- va[va.length] = '' == entries[vf].name ? 'An unnamed cell' : escapeHtml(entries[vf].name)
- }
- };
- return va
- };
- this.setupHotKey = function() {
- hotkeyConfig = {
- hk_start_new_game: {
- defaultHotkey: 'N',
- name: gtexts.hkStartNewGame,
- keyDown: function() {
- //var team = document.getElementById('team_name').value;
- //setNick(myApp.getName(), myApp.getTeamName())
- setNickA();
- },
- type: 'NORMAL'
- },
- hk_cheatw: {
- defaultHotkey: 'E',
- name: gtexts.hkMacroW,
- keyDown: function() {
- myApp.autoW = 1;
- handleQuickW()
- },
- keyUp: function() {
- myApp.autoW = 0
- },
- type: 'NORMAL'
- },
- hk_quick_space: {
- defaultHotkey: 'T',
- name: gtexts.hkQuickSpace,
- keyDown: function() {
- myApp.quickSpace || (myApp.quickSpace = 1, quickSpace())
- },
- keyUp: function() {
- myApp.quickSpace = 0
- },
- type: 'NORMAL'
- },
- hk_double_space: {
- defaultHotkey: 'G',
- name: gtexts.hkDoubleSpace,
- keyDown: function() {
- myApp.doubleSpace || (myApp.doubleSpace = 1, doubleSpace())
- //trace("double Space");
- },
- keyUp: function() {
- myApp.doubleSpace = 0
- },
- type: 'NORMAL'
- },
- hk_stop_movement_toggle: {
- defaultHotkey: 'ALT_S',
- name: gtexts.hkStopMovementToggle,
- keyDown: function() {
- myApp.isStopMovement = !myApp.isStopMovement;
- myApp.specTeammate = null
- //trace("isStopMovement:" + myApp.isStopMovement);
- MOVING = !MOVING;
- },
- type: 'NORMAL'
- },
- hk_stop_movement: {
- defaultHotkey: 'S',
- name: gtexts.hkStopMovementTemporary,
- keyDown: function() {
- myApp.isStopMovement = 1;
- myApp.specTeammate = null;
- moveTo(null, null)
- //trace("isStopMovement:" + myApp.isStopMovement);
- MOVING = false;
- },
- keyUp: function() {
- myApp.isStopMovement = 0
- //trace("isStopMovement:" + myApp.isStopMovement);
- MOVING = true;
- },
- type: 'NORMAL'
- },
- hk_split_ind: {
- defaultHotkey: 'I',
- name: gtexts.hkOnOffSplitIndicator,
- keyDown: function() {
- $('#opt_split_ind')['click']()
- },
- type: 'NORMAL'
- },
- hk_lock_zoom: {
- defaultHotkey: 'L',
- name: gtexts.hkOnOffAutoZoom,
- keyDown: function() {
- $('#opt_lock_zoom')['click']()
- },
- type: 'NORMAL'
- },
- hk_attack_range: {
- defaultHotkey: 'A',
- name: gtexts.hkShowAttackRangeTemporary,
- keyDown: function() {
- myApp.isEnableAttackRange = 1
- },
- keyUp: function() {
- myApp.isEnableAttackRange = 0
- },
- type: 'NORMAL'
- },
- hk_attack_range_toggle: {
- defaultHotkey: 'ALT_A',
- name: gtexts.hkShowAttackRangeToggle,
- keyDown: function() {
- myApp.isEnableAttackRange = !myApp.isEnableAttackRange
- },
- type: 'NORMAL'
- },
- hk_spec_teammate: {
- defaultHotkey: 'V',
- name: gtexts.hkSpectateTeammate,
- keyDown: function() { },
- type: 'NORMAL'
- },
- hk_custom_skin: {
- defaultHotkey: '',
- name: gtexts.hkOnOffCustomSkin,
- keyDown: function() {
- $('#opt_custom_skin')['click']()
- },
- type: 'NORMAL'
- },
- hk_skin: {
- defaultHotkey: '',
- name: gtexts.hkShowHideSkins,
- keyDown: function() {
- $('#opt_skin')['click']()
- },
- type: 'NORMAL'
- },
- hk_same_food_color: {
- defaultHotkey: '',
- name: gtexts.hkOnOffRainbowColor,
- keyDown: function() {
- $('#opt_same_food_color')['click']()
- },
- type: 'NORMAL'
- },
- hk_transparent_cell: {
- defaultHotkey: '',
- name: gtexts.hkOnOffTransparentCell,
- keyDown: function() {
- $('#opt_transparent_cell')['click']()
- },
- type: 'NORMAL'
- },
- hk_fps: {
- defaultHotkey: '',
- name: gtexts.hkShowHideFpsCounter,
- keyDown: function() {
- $('#opt_fps')['click']()
- },
- type: 'NORMAL'
- },
- hk_zoom_a: {
- defaultHotkey: '1',
- name: gtexts.hkZoomLevel1,
- keyDown: function() {
- myApp.isEnableLockZoom || hotkeyConfig.hk_lock_zoom['keyDown']();
- setZoomLevel(0.75)
- },
- type: 'NORMAL'
- },
- hk_zoom_b: {
- defaultHotkey: '2',
- name: gtexts.hkZoomLevel2,
- keyDown: function() {
- myApp.isEnableLockZoom || hotkeyConfig.hk_lock_zoom['keyDown']();
- setZoomLevel(0.3)
- },
- type: 'NORMAL'
- },
- hk_zoom_c: {
- defaultHotkey: '3',
- name: gtexts.hkZoomLevel3,
- keyDown: function() {
- myApp.isEnableLockZoom || hotkeyConfig.hk_lock_zoom['keyDown']();
- setZoomLevel(0.15)
- },
- type: 'NORMAL'
- },
- hk_zoom_d: {
- defaultHotkey: '4',
- name: gtexts.hkZoomLevel4,
- keyDown: function() {
- myApp.isEnableLockZoom || hotkeyConfig.hk_lock_zoom['keyDown']();
- setZoomLevel(0.08)
- },
- type: 'NORMAL'
- },
- hk_zoom_e: {
- defaultHotkey: '5',
- name: gtexts.hkZoomLevel5,
- keyDown: function() {
- myApp.isEnableLockZoom || hotkeyConfig.hk_lock_zoom['keyDown']();
- setZoomLevel(0.05)
- },
- type: 'NORMAL'
- },
- hk_name: {
- defaultHotkey: 'ALT_N',
- name: gtexts.hkShowHideNames,
- keyDown: function() {
- $('#opt_name')['click']()
- },
- type: 'NORMAL'
- },
- hk_self_name: {
- defaultHotkey: '',
- name: gtexts.hkShowHideOwnName,
- keyDown: function() {
- $('#opt_self_name')['click']()
- },
- type: 'NORMAL'
- },
- hk_color: {
- defaultHotkey: '',
- name: gtexts.hkShowHideColors,
- keyDown: function() {
- $('#opt_color')['click']()
- },
- type: 'NORMAL'
- },
- hk_mass: {
- defaultHotkey: '',
- name: gtexts.hkShowHideMass,
- keyDown: function() {
- $('#opt_mass')['click']()
- },
- type: 'NORMAL'
- },
- hk_stat: {
- defaultHotkey: '',
- name: gtexts.hkOnOffSkipStats,
- keyDown: function() {
- $('#opt_stats')['click']()
- },
- type: 'NORMAL'
- },
- hk_zoom: {
- defaultHotkey: 'ALT_Z',
- name: gtexts.hkOnOffZoom,
- keyDown: function() {
- $('#opt_zoom')['click']()
- },
- type: 'NORMAL'
- },
- hk_food: {
- defaultHotkey: 'F',
- name: gtexts.hkShowHidePellets,
- keyDown: function() {
- $('#opt_food')['click']()
- },
- type: 'NORMAL'
- },
- hk_gridline: {
- defaultHotkey: 'ALT_G',
- name: gtexts.hkShowHideGridline,
- keyDown: function() {
- $('#opt_gridline')['click']()
- },
- type: 'NORMAL'
- },
- hk_border: {
- defaultHotkey: 'B',
- name: gtexts.hkResetBorder,
- keyDown: function() { },
- type: 'NORMAL'
- },
- hk_simple_draw: {
- defaultHotkey: '',
- name: gtexts.hkOnOffSimpleDraw,
- keyDown: function() {
- $('#opt_simple_drawing')['click']()
- },
- type: 'NORMAL'
- },
- hk_score: {
- defaultHotkey: '',
- name: gtexts.hkShowHideScore,
- keyDown: function() {
- $('#opt_score')['click']()
- },
- type: 'NORMAL'
- },
- hk_ste: {
- defaultHotkey: '',
- name: gtexts.hkShowHideSte,
- keyDown: function() {
- $('#opt_ste')['click']()
- },
- type: 'NORMAL'
- },
- hk_n16: {
- defaultHotkey: '',
- name: gtexts.hkShowHideN16,
- keyDown: function() {
- $('#opt_ball_total')['click']()
- },
- type: 'NORMAL'
- },
- hk_auto_hide_mass: {
- defaultHotkey: '',
- name: gtexts.hkOnOffAutoHideMass,
- keyDown: function() {
- $('#opt_auto_hide_mass')['click']()
- },
- type: 'NORMAL'
- },
- hk_auto_hide_name: {
- defaultHotkey: '',
- name: gtexts.hkOnOffAutoHideName,
- keyDown: function() {
- $('#opt_auto_hide_name')['click']()
- },
- type: 'NORMAL'
- },
- hk_show_text_stroke_line: {
- defaultHotkey: '',
- name: gtexts.hkShowHideTextShadow,
- keyDown: function() {
- $('#opt_show_text_stroke_line')['click']()
- },
- type: 'NORMAL'
- },
- hk_minimap: {
- defaultHotkey: 'ALT_M',
- name: gtexts.hkShowHideMinimap,
- keyDown: function() {
- $('#opt_minimap')['click']()
- },
- type: 'NORMAL'
- },
- //hk_mousew: {
- // defaultHotkey: '',
- // name: 'マウスã§ã®wã‚’on/off',
- // keyDown: function () {
- // $('#opt_mousew')['click']()
- // },
- // type: 'NORMAL'
- //},
- hk_send_msg: {
- defaultHotkey: 'ENTER',
- name: gtexts.hkChatboxSendMessage,
- keyDown: function() {
- chatRoom.enter()
- },
- type: 'NORMAL'
- },
- hk_send_msg1: {
- defaultHotkey: 'ALT_1',
- name: gtexts.hkChatboxSendMessage1,
- keyDown: function() {
- console.log('CHAT MESSAGE');
- chatRoom.sendMessage(chatCommand.input_hk_send_msg1)
- },
- type: 'TEXT'
- },
- hk_send_msg2: {
- defaultHotkey: 'ALT_2',
- name: gtexts.hkChatboxSendMessage2,
- keyDown: function() {
- chatRoom.sendMessage(chatCommand.input_hk_send_msg2)
- },
- type: 'TEXT'
- },
- hk_send_msg3: {
- defaultHotkey: 'ALT_3',
- name: gtexts.hkChatboxSendMessage3,
- keyDown: function() {
- chatRoom.sendMessage(chatCommand.input_hk_send_msg3)
- },
- type: 'TEXT'
- },
- hk_send_msg4: {
- defaultHotkey: 'ALT_4',
- name: gtexts.hkChatboxSendMessage4,
- keyDown: function() {
- chatRoom.sendMessage(chatCommand.input_hk_send_msg4)
- },
- type: 'TEXT'
- },
- hk_send_msg5: {
- defaultHotkey: 'ALT_5',
- name: gtexts.hkChatboxSendMessage5,
- keyDown: function() {
- chatRoom.sendMessage(chatCommand.input_hk_send_msg5)
- },
- type: 'TEXT'
- },
- hk_send_msg6: {
- defaultHotkey: 'ALT_6',
- name: gtexts.hkChatboxSendMessage6,
- keyDown: function() {
- chatRoom.sendMessage(chatCommand.input_hk_send_msg6)
- },
- type: 'TEXT'
- },
- hk_send_msg7: {
- defaultHotkey: 'ALT_7',
- name: gtexts.hkChatboxSendMessage7,
- keyDown: function() {
- chatRoom.sendMessage(chatCommand.input_hk_send_msg7)
- },
- type: 'TEXT'
- },
- hk_send_msg8: {
- defaultHotkey: 'ALT_8',
- name: gtexts.hkChatboxSendMessage8,
- keyDown: function() {
- chatRoom.sendMessage(chatCommand.input_hk_send_msg8)
- },
- type: 'TEXT'
- },
- hk_send_msg9: {
- defaultHotkey: 'ALT_9',
- name: gtexts.hkChatboxSendMessage9,
- keyDown: function() {
- chatRoom.sendMessage(chatCommand.input_hk_send_msg9)
- },
- type: 'TEXT'
- },
- hk_send_msg10: {
- defaultHotkey: 'ALT_0',
- name: gtexts.hkChatboxSendMessage10,
- keyDown: function() {
- chatRoom.sendMessage(chatCommand.input_hk_send_msg10)
- },
- type: 'TEXT'
- }
- }
- };
- //this.setupMouseConfig = function() {
- // mouseConfig = {
- // mk_enable_mouse_control: {
- // }
- // }
- //}
- this.createMessageDialog = function() {
- var va, vb;
- vb = $("<div class='modal-footer'>");
- vb.append("<button type='button' class='btn btn-default' data-dismiss='modal'>OK</button>");
- va = $("<div class='modal-content'/>");
- va.append($("<div class='modal-header'/>")['append']("<button type='button' class='close' data-dismiss='modal'>×</button><h4 id='message_dialog_title' class='modal-title'></h4>"));
- va.append($("<div id='message_dialog_content' class='modal-body'>"));
- va.append(vb);
- va = $("<div id='message_dialog' class='modal fade' role='dialog'/>")['append']("<div class='modal-dialog'/>")['append'](va);
- $('body')['append'](va);
- $('#message_dialog')['modal']({
- backdrop: 'static',
- keyboard: 0
- });
- $(document)['on']('shown.bs.modal', '#message_dialog', function() {
- var va = $('#message_dialog>.modal-content')['outerHeight'](),
- vb = $(document)['outerHeight']();
- va > vb ? $('#message_dialog')['css']('overflow', 'auto') : $('#message_dialog')['css']('margin-top', vb / 2 - va / 2 - 40)
- });
- $(document)['on']('hide.bs.modal', '#message_dialog', function() { })
- };
- this.setUpHotKeyConfigPage = function() {
- //$('.left-side > div:nth-child(2)')['after']('<div class="agario-panel agario-side-panel agarioProfilePanel level" style="display: block !important;text-align:center"><button type="button" class="btn btn-success btn-hotkey" data-toggle="modal" data-target="#hotkeys_setting">Hotkeys</button></div>');
- var va, vb;
- vb = $('<div class="modal-footer" style="background: #222;">');
- vb.append("<button onclick='resetDefaultHotkey();' type='button' class='btn btn-blue' style='float:left;'>" + gtexts.hkResetToDefault + "</button>");
- vb.append("<button type='button' class='btn btn-red' data-dismiss='modal'>" + gtexts.hkCancel + "</button>");
- vb.append("<button id='btn_save_hotkey' onclick='saveHotkeys();' type='button' class='btn btn-green' data-dismiss='modal'>" + gtexts.hkSave + "</button>");
- va = $("<div class='modal-content' style='background: #222;'/>");
- va.append($("<div class='modal-header'/>")['append']("<button type='button' class='close' data-dismiss='modal'>×</button><h4 class='modal-title'>" + gtexts.hkHotkeySetup + "</h4>"));
- va.append($("<div id='hotkey_modal_body' class='modal-body'>")['append'](myApp.getHotkeyDivHtml()));
- va.append(vb);
- va = $("<div id='hotkeys_setting' class='modal fade' role='dialog'/>")['append']("<div class='modal-dialog'/>")['append'](va);
- $('body')['append'](va);
- $(document)['on']('hide.bs.modal', '#hotkeys_setting', function() {
- selectedHotkeyRow && selectedHotkeyRow.removeClass('table-row-selected');
- selectedHotkeyRow = null;
- myApp.refreshHotkeySettingPage()
- });
- $('#hotkey_table .row')['not']('.header')['click'](function() {
- selectedHotkeyRow && selectedHotkeyRow.removeClass('table-row-selected');
- selectedHotkeyRow = $(this);
- selectedHotkeyRow.addClass('table-row-selected')
- })
- };
- window.saveHotkeys = function() {
- var va = $('.hotkey');
- hotkeyMapping = {};
- for(var vb = 0; vb < va.length; vb++) {
- hotkeyMapping[$(va[vb])['text']()] = $(va[vb])['attr']('data-hotkeyid')
- };
- setLocalStorage('hotkeyMapping', hotkeyMapping);
- for(var vf in chatCommand) {
- chatCommand[vf] = $('#' + vf)['val']()
- };
- setLocalStorage('chatCommand', chatCommand)
- };
- this.copyGameInfo = function() {
- var va;
- va = 'Current IP = ' + myApp.getCurrentIP();
- va += '\nRegion : ' + $('#region option:selected')['text']()['split'](' ')[0];
- va += '\nGame mode : ' + $('#gamemode option:selected')['text']();
- va += '\nParty Code : ' + myApp.getCurrentPartyCode();
- var vb = myApp.getLeaderBoard();
- if(vb && 0 != vb.length) {
- for(var vf = 0; vf < vb.length; vf++) {
- va += '\n' + (vf + 1) + '. ' + vb[vf]
- }
- };
- copyToClipboard(va)
- };
- window.resetDefaultHotkey = function() {
- var va;
- va = hotkeyMapping;
- defaultHotkeyMapping = {};
- for(var vb in hotkeyConfig) {
- hotkeyConfig[vb]['defaultHotkey'] && '' != hotkeyConfig[vb]['defaultHotkey'] && (defaultHotkeyMapping[hotkeyConfig[vb]['defaultHotkey']] = vb)
- };
- hotkeyMapping = defaultHotkeyMapping;
- myApp.refreshHotkeySettingPage();
- hotkeyMapping = va;
- defaultHotkeyMapping = null;
- for(var vf in defaultHotkeyMessageSend) {
- $('#' + vf)['val'](defaultHotkeyMessageSend[vf])
- }
- };
- this.refreshHotkeySettingPage = function() {
- for(var va = $('.hotkey'), vb = 0; vb < va.length; vb++) {
- $(va[vb])['text'](' ')
- };
- for(var vf in hotkeyMapping) {
- $('[data-hotkeyid=' + hotkeyMapping[vf] + ']')['text'](vf)
- };
- for(var vg in chatCommand) {
- $('#' + vg)['val'](chatCommand[vg])
- }
- };
- this.getHotkeyDivHtml = function() {
- var va = '',
- vb = $("<div id='hotkey_setting'></div>"),
- vf = $("<div id='hotkey_table' class='table'></div>"),
- vg = $("<div class='row header'></div>");
- vg.append($("<div class='cell' style='width:170px;'>" + gtexts.hkHotkey + "</div>"));
- vg.append($("<div class='cell' style='width:222px;'>" + gtexts.hkFunction + "</div>"));
- vg.append($("<div class='cell'>" + gtexts.hkMessage + "</div>"));
- vf.append(vg);
- var vg = null,
- vh;
- for(vh in hotkeyConfig) {
- vg = $("<div class='row'></div>"), vg.append($("<div data-hotkeyId='" + vh + "' class='cell hotkey'>" + getHotkeyById(vh) + '</div>')), vg.append($("<div class='cell'>" + hotkeyConfig[vh]['name'] + '</div>')), 'TEXT' == hotkeyConfig[vh]['type'] ? vg.append($("<div class='cell'><input id='input_" + vh + "' maxlength='200' style='width:100%;color:black;' type='text' value='" + chatCommand['input_' + vh] + "'></input></div>")) : vg.append($("<div class='cell'> / </div>")), vf.append(vg)
- };
- vb.append(vf);
- va += $(`<p>${gtexts.hkInst0}</p>`)[0]['outerHTML'];
- va += $(`<p>${gtexts.hkInst1}</p>`)[0]['outerHTML'];
- va += $(`<p>${gtexts.hkInst2}</p>`)[0]['outerHTML'];
- va += $(`<p>${gtexts.hkInst3}</p>`)[0]['outerHTML'];
- va += $('<br></br>')[0]['outerHTML'];
- va += vb[0]['outerHTML'];
- return $('<div/>')['append'](va)['html']()
- };
- this.checkVersion = function() {
- var va = getLocalStorage('lastestVersion');
- va && va == myApp.version || (myApp.applyNewUpdate(), setLocalStorage('lastestVersion', myApp.version))
- };
- this.showAnnouncement = function() { };
- this.applyNewUpdate = function() { };
- this.setupHints = function() { };
- this.setupHintsImpl = function(va, vb) {
- va.addClass('hint--bottom hint--rounded');
- va.attr('data-hint', vb)
- };
- this.ajax = function(va, vb, vf, vg) {
- vg = null;
- var vh;
- try {
- vh = new XMLHttpRequest
- } catch(l) {
- try {
- vh = new ActiveXObject('Msxml2.XMLHTTP')
- } catch(L) {
- try {
- vh = new ActiveXObject('Microsoft.XMLHTTP')
- } catch(B) {
- return alert('Your browser does not support Ajax.'), 0
- }
- }
- };
- vh.onreadystatechange = function() {
- 4 == vh.readyState && vf(vh)
- };
- vh.open(vb, va, 1);
- vh.send(vg);
- return vh
- };
- this.getSkinImage = function(va) {
- if(!va || '' == va) {
- return null
- };
- if(customSkin[va]) {
- return customSkin[va]
- }; -1 == skinDownloadQueue.indexOf(va) && skinDownloadQueue.push(va);
- return null
- };
- this.downloadSkin = function() {
- if(0 != skinDownloadQueue.length) {
- var va = skinDownloadQueue.shift();
- customSkin[va] || (skinDownloadFail[va] && 5 < skinDownloadFail[va] ? myApp.getCustomSkinUrl() === va && $('#skin_url')['val']('')['trigger']('change') : window.postMessage({
- action: Action.IMAGE,
- data: va
- }, '*'))
- customSkin[va] || (skinDownloadFail[va] && 5 < skinDownloadFail[va] ? myApp.getCustomSkinUrl2() === va && $('#skin_url2')['val']('')['trigger']('change') : window.postMessage({
- action: Action.IMAGE,
- data: va
- }, '*'))
- };
- setTimeout(myApp.downloadSkin, 2E3)
- };
- this.changePreviewImage = function(va) {
- $('#preview-img')['fadeOut'](315, function() {
- $(this)['attr']('src', va)['bind']('onreadystatechange load', function() {
- this.complete && $(this)['fadeIn'](315)
- })
- })
- }
- this.changePreviewImage2 = function(va) {
- $('#preview-img2')['fadeOut'](315, function() {
- $(this)['attr']('src', va)['bind']('onreadystatechange load', function() {
- this.complete && $(this)['fadeIn'](315)
- })
- })
- }
- }
- var myApp = new MyApp();
- myApp.init();
- var playerDetailsByIdentifier = {},
- playerDetailsByNick = {},
- announcementSent = 0;
- //全体エントリ, 2000
- function loadGameCore(_win, _jquery) {
- /*
- var gameobject_index = 0;
- function next_go_index(obj){
- gameobject_index++;
- console.log('gameobject_index:' + gameobject_index);
- obj.go_index = gameobject_index;
- }*/
- //GameObject
- function GameObject(_idx, _x, _y, _size, _col, _name, pID, cID, cellType) {
- this.id = _idx;
- this.o = this.x = _x;
- this.p = this.y = _y;
- this.n = this.size = _size;
- this.prevSize = _size;
- this.color = _col;
- this.a = [];
- this.go_Q();
- this.setGameObjectName(_name)
- //gameobject_index++;
- //this.go_index = gameobject_index;
- //next_go_index(this);
- this.debug_val = -1;
- this.can_split = false;
- this.pID = pID;
- this.cID = cID;
- this.cellType = cellType;
- }
- GameObject.prototype = {
- id: 0, //index?
- a: null,
- name: null,
- k: null,
- I: null,
- x: 0,
- y: 0,
- size: 0,
- o: 0,
- p: 0,
- n: 0,
- go_C_x: 0, //x
- go_C_y: 0, //y
- m: 0,
- T: 0,
- K: 0,
- W: 0,
- A: 0,
- f: 0, //isVirus?
- j: 0,
- L: 1,
- go_S_frameTick: 0, //frameTick
- V: null,
- go_index: 0,
- debug_val: -1,
- can_split: false,
- pID: -1,
- cID: -1,
- cellType: -1,
- go_R_remove: function() {
- //remove?
- var va;
- for(va = 0; va < gameObjects.length; va++) {
- if(gameObjects[va] == this) {
- gameObjects.splice(va, 1);
- break
- }
- };
- delete v_74[this.id];
- va = selfOwnedCells.indexOf(this); -1 != va && (v_8d = 1, selfOwnedCells.splice(va, 1));
- va = selfNodeIdList.indexOf(this.id); -1 != va && selfNodeIdList.splice(va, 1);
- this.A = 1
- },
- go_i: function() {
- //getTextSize
- return Math.max(~~(0.32 * this.size), 24)
- //return Math.max(~~(0.35 * this.size), 24)
- //return Math.max(~~(0.4 * this.size), 24);
- },
- getTextColor: function() {
- if(this.f) {
- return "#FFFFFF";//棘
- }
- //var name = this.name;
- //var textCol = "#FFFFFF";
- //if(name.startsWith('ã€å…ˆè¼©ã€‘')) textCol = "#88CCFF";
- //if(name.startsWith('ã€å…ˆè¼©ã€‘')) textCol = "#F0F0FF";
- //if(name.startsWith('ã€å…ˆè¼©ã€‘')) textCol = "#FFFFFF";
- //if(name.startsWith('ã€æ•µã€‘')) textCol = "#FF6666";
- //if(name.startsWith('ã€æ•µã€‘')) textCol = "#FF8866";
- //return textCol;
- var teamId = playerManager.getTeamId(this.cID);
- return teamManager.getColor(teamId);
- },
- setGameObjectName: function(name) {
- //makeNameLabel
- //var textCol = "#888888";
- //if(name.startsWith('ã€å…ˆè¼©ã€‘')) textCol = "#6666FF";
- //if(name.startsWith('ã€æ•µã€‘')) textCol = "#FF4444";
- //var edgeCol = "#FFFFFF";
- //var edgeCol = "#000000";
- var vb = name.match(/\u0001([\u0002-\uffff]|[\u0002-\uffff]\uffff)$/g),
- vd = 0;
- vb && (vd = vb[0]['split']('')[1], 1 < vd.length && (this.img = vd.charCodeAt(0) + 65534));
- if(this.name = name) {
- var textCol = this.getTextColor();
- null == this.k ? (this.k = new DrawingLabel(this.go_i(), textCol, 1, "#000000"), this.k['v'] = Math.ceil(10 * v_88_zoom) / 10) : this.k.G(this.go_i()), this.k.lb_u_setText(this.name)
- }
- },
- go_Q: function() {
- for(var va = this.go_B() ; this.a['length'] > va;) {
- var vb = ~~(Math.random() * this.a['length']);
- this.a['splice'](vb, 1)
- };
- for(0 == this.a['length'] && 0 < va && this.a['push'](new VWWWW(this, this.x, this.y, this.size, Math.random() - 0.5)) ; this.a['length'] < va;) {
- vb = ~~(Math.random() * this.a['length']), vb = this.a[vb], this.a['push'](new VWWWW(this, vb.x, vb.y, vb.g, vb.b))
- }
- },
- go_B: function() {
- var va = 10;
- 20 > this.size && (va = 0);
- this.f && (va = 30);
- var vb = this.size;
- this.f || (vb *= v_88_zoom);
- vb *= v_ba;
- this.T & 32 && (vb *= 0.25);
- return ~~Math.max(vb, va)
- },
- go_da: function() {
- this.go_Q();
- for(var va = this.a, vb = va.length, vd = 0; vd < vb; ++vd) {
- var ve = va[(vd - 1 + vb) % vb]['b'],
- vf = va[(vd + 1) % vb]['b'];
- va[vd]['b'] += (Math.random() - 0.5) * (this.j ? 3 : 1);
- va[vd]['b'] *= 0.7;
- 10 < va[vd]['b'] && (va[vd]['b'] = 10); -10 > va[vd]['b'] && (va[vd]['b'] = -10);
- va[vd]['b'] = (ve + vf + 8 * va[vd]['b']) / 10
- };
- for(var vi = this, vj = this.f ? 0 : (this.id / 1E3 + v_7d / 1E4) % (2 * Math.PI), vd = 0; vd < vb; ++vd) {
- var vh = va[vd]['g'],
- ve = va[(vd - 1 + vb) % vb]['g'],
- vf = va[(vd + 1) % vb]['g'];
- if(15 < this.size && null != v_6e && 20 < this.size * v_88_zoom && 0 < this.id) {
- var vg = 0,
- vk = va[vd]['x'],
- vl = va[vd]['y'];
- v_6e.ea(vk - 5, vl - 5, 10, 10, function(va) {
- va.P != vi && 25 > (vk - va.x) * (vk - va.x) + (vl - va.y) * (vl - va.y) && (vg = 1)
- });
- !vg && (va[vd]['x'] < fieldLeft || va[vd]['y'] < fieldTop || va[vd]['x'] > fieldRight || va[vd]['y'] > fieldBottom) && (vg = 1);
- vg && (0 < va[vd]['b'] && (va[vd]['b'] = 0), --va[vd]['b'])
- };
- vh += va[vd]['b'];
- 0 > vh && (vh = 0);
- vh = this.j ? (19 * vh + this.size) / 20 : (12 * vh + this.size) / 13;
- va[vd]['g'] = (ve + vf + 8 * vh) / 10;
- ve = 2 * Math.PI / vb;
- vf = this.a[vd]['g'];
- this.f && 0 == vd % 2 && (vf += 5);
- va[vd]['x'] = this.x + Math.cos(ve * vd + vj) * vf;
- va[vd]['y'] = this.y + Math.sin(ve * vd + vj) * vf
- }
- },
- go_J: function() {
- if(0 >= this.id) {
- return 1
- };
- var d;
- d = (v_7d - this.K) / 220;
- d = 0 > d ? 0 : 1 < d ? 1 : d;
- var vb = 0 > d ? 0 : 1 < d ? 1 : d;
- this.go_i();
- if(this.A && 1 <= vb) {
- var vd = v_76.indexOf(this); -1 != vd && v_76.splice(vd, 1)
- };
- this.x = d * (this.go_C_x - this.o) + this.o;
- this.y = d * (this.go_C_y - this.p) + this.p;
- this.size = vb * (this.m - this.n) + this.n;
- return vb
- },
- go_H: function() {
- return 0 >= this.id ? 1 : this.x + this.size + 40 < v_70_fieldPosX - _screenWidth / 2 / v_88_zoom || this.y + this.size + 40 < v_71_fieldPosY - _screenHeight / 2 / v_88_zoom || this.x - this.size - 40 > v_70_fieldPosX + _screenWidth / 2 / v_88_zoom || this.y - this.size - 40 > v_71_fieldPosY + _screenHeight / 2 / v_88_zoom ? 0 : 1
- },
- drawGameObject: function(ctx) {
- //if(this.x > gSiteArea.field_sz || this.y > gSiteArea.field_sz) return;
- //draw
- if(this.go_H()) {
- var vb = myApp.isEnableSimpleDrawing;
- if(15 > this.size) {
- myApp.isEnableHideFood || (myApp.isSameColorFood ? v_af.push({
- x: this.x,
- y: this.y,
- size: this.size
- }) : (ctx.beginPath(), ctx.fillStyle = this.color, ctx.arc(this.x, this.y, this.size + 5, 0, 2 * Math.PI, 0), ctx.fill()))
- } else {
- ++this.go_S_frameTick;
- var vd = 0 < this.id && !this.f && !this.j && 0.4 > v_88_zoom;
- 5 > this.go_B() && 0 < this.id && (vd = 1);
- if(this.L && !vd) {
- for(var ve = 0; ve < this.a['length']; ve++) {
- this.a[ve]['g'] = this.size
- }
- }
- ;
- this.L = vd;
- ctx.save();
- this.W = v_7d;
- ve = this.go_J();
- this.A && (ctx.globalAlpha *= 1 - ve);
- ctx.lineWidth = 10;
- ctx.lineCap = 'round';
- ctx.lineJoin = this.f ? 'miter' : 'round';
- var ve = !this.f && 0 < this.id && 15 <= this.size && !this.j ? 1 : 0,
- vf = 0,
- _skin = null,
- _va;
- _va = this.name + this.color;
- _va = _va in playerDetailsByIdentifier ? playerDetailsByIdentifier[_va] : void (0);
- if(ve) {
- myApp.isTransparentCell && (ctx.globalAlpha = 0.8);
- var isInEatableSection = playerManager.checkIsInEatableSection(this.cID);
- if(!isInEatableSection && this.cellType == 0 && gIsPlaying) {
- ctx.globalAlpha = 0.3;
- }
- for(var vj = 0; vj < selfNodeIdList.length; vj++) {
- this.id === selfNodeIdList[vj] && (vf = 1)
- }
- ;
- if(vf) {
- //myApp.isEnableCursorLine && (ctx.save(), ctx.strokeStyle = this.can_split ? '#0066FF' : '#E3F2FD', ctx.lineWidth = this.can_split ? 12 : 4, ctx.lineCap = 'round', ctx.lineJoin = 'round', ctx.globalAlpha = 0.8, ctx.beginPath(), ctx.moveTo(this.x, this.y), ctx.lineTo(refPositionX, refPositionY), ctx.stroke(), ctx.restore());
- myApp.isEnableAttackRange && (ctx.beginPath(), ctx.strokeStyle = v_8f ? 'white' : 'black', ctx.arc(this.x, this.y, this.size + myApp.attackRangeRadius, 0, 2 * Math.PI, 0), ctx.stroke(), ctx.closePath());
- myApp.isEnableCustomSkin && (_skin = myApp.getSkinImage(nodeList[0][5]));
- }
- };
- v_8c ? (ctx.fillStyle = '#FFFFFF', ctx.strokeStyle = '#AAAAAA') : (ctx.fillStyle = this.color, ctx.strokeStyle = this.color);
- vb && this.f && (ctx.fillStyle = '#6e6e6e', ctx.globalAlpha = 0.8, ctx.lineWidth = 10, ctx.strokeStyle = '#FFFFFF');
- if(vb || vd) {
- ctx.beginPath(), ctx.arc(this.x, this.y, this.size + 5, 0, 2 * Math.PI, 0), myApp.isEnableSplitInd && ve && !vf && (this.name || 38 < this.size) && (this.cellType == 0) && extraCellsPosSizes.push({
- x: this.x,
- y: this.y,
- size: this.size
- })
- } else {
- this.go_da();
- ctx.beginPath();
- var label = this.go_B();
- ctx.moveTo(this.a[0]['x'], this.a[0]['y']);
- for(ve = 1; ve <= label; ++ve) {
- vj = ve % label, ctx.lineTo(this.a[vj]['x'], this.a[vj]['y'])
- }
- };
- ctx.closePath();
- // ve = this.name['toLowerCase']();
- // vj = this.img ? 'http://upload.happyfor.me/getimg.php?id=' + this.img + '&_t=' + Math.random() : 'skins/' + ve + '.png';
- // _skin || this.j || !v_8a && !myApp.isEnableOtherSkinSupport || ':teams' == v_94 ? label = null : (label = this.V, null == label ? label = null : ':' == label[0] ? (v_bf.hasOwnProperty(label) || (v_bf[label] = new Image, v_bf[label]['src'] = label.slice(1)), label = 0 != v_bf[label]['width'] && v_bf[label]['complete'] ? v_bf[label] : null) : label = null, label || (-1 != v_bd.indexOf(ve) && v_8a || this.img ? ($['hasOwnProperty'](ve) || ($[ve] = new Image, $[ve]['src'] = vj), label = 0 != $[ve]['width'] && $[ve]['complete'] ? $[ve] : null) : label = null));
- // vj = label;
- // vd || !vb || !this.f || ctx.stroke();
- //ctx.stroke();
- ctx.fill();
- var __skin__;
- //var _va0 = this.pID;
- //__skin__ = (_va0 && gPlayerInfoDict[_va0]) ? gPlayerInfoDict[_va0].skinUrl : null; //OgarMap
- if(this.cellType == 0 && this.cID > 0) {
- var skinIndex = playerCoreManager.getSkinIndex(this.pID);
- if(skinIndex == 0) {
- __skin__ = playerManager.getSkinUrl(this.cID);
- } else if(skinIndex == 1) {
- __skin__ = playerManager.getSkinUrl2(this.cID);
- }
- }
- // if(skinIndex >= 1){
- // //todo: 2スã‚ン実装
- // __skin__ = null;
- // }
- var shown = !gconfig.enableTeamSkinSeparation;
- shown |= gconfig.enableTeamSkinSeparation && playerManager.checkIsTeammate(this.cID);
- shown |= gconfig.enableAllSkinShownWhileSpectating && gIsSpectate;
- if(!shown) {
- __skin__ = null;
- }
- if(!myApp.isEnableCustomSkin) {
- __skin__ = null;
- }
- if(myApp.isEnableCustomSkin &&
- //(label = null, _skin = 0, _va && (_skin = _va.url),
- (label = null, _skin = 0, __skin__ && (_skin = __skin__), //gPlayerInfoDict[_va0]),
- _skin && (v_bc.hasOwnProperty(_skin) ||
- (_va = new Image, _va.src = _skin, v_bc[_skin] = _va),
- v_bc[_skin]['width'] && v_bc[_skin]['complete'] && (label = v_bc[_skin])), vj = label, null != vj)) {
- var vk = Math.min(vj.width, vj.height),
- vl = (vj.width - vk) / 2,
- vm = (vj.height - vk) / 2,
- v_53 = this.size + 5;
- null != vj && (ctx.save(), ctx.clip(), ctx.drawImage(vj, vl, vm, vk, vk, this.x - v_53, this.y - v_53, 2 * v_53, 2 * v_53), ctx.restore());
- }
- if(this.cellType == 0 && selfOwnedCells.indexOf(this) >= 0) {
- if(myApp.showSplitOrderMarker) {
- //ctx.save();
- ctx.globalAlpha = 0.6;
- ctx.strokeStyle = this.can_split ? 'rgba(0, 255, 0, 1)' : 'rgba(255, 255, 255, 1)';
- var lw = this.size * 0.16;
- ctx.lineWidth = lw;
- ctx.beginPath();
- ctx.arc(this.x, this.y, this.size - lw / 2, 0, TWO_PI, 0);
- ctx.stroke();
- }
- if(gconfig.enableDualUnitOperation && myApp.showActiveTurnMarker) {
- ctx.globalAlpha = 0.8;
- //selfOwnedCells.forEach(cell => {
- var isActive = this.pID == gActiveTurnPlayerId;
- ctx.strokeStyle = isActive ? '#F0F' : '#FFF'; //'rgba(0, 128, 255, 1'
- var lw = this.size * 0.10;
- ctx.lineWidth = lw;
- ctx.beginPath();
- ctx.arc(this.x, this.y, this.size - lw / 2, 0, TWO_PI, 0);
- ctx.stroke();
- //});
- }
- }
- vb || ((v_8c || 15 < this.size) && !vd && (ctx.strokeStyle = '#000000', ctx.globalAlpha *= 0.1, ctx.stroke()), ctx.globalAlpha = 1);
- label = -1 != selfOwnedCells.indexOf(this);
- vd = ~~this.y;
- vb = this.f || 315 < this.size || 18 < this.size * v_88_zoom;
- if(!(vf && myApp.isHideSelfName || myApp.isAutoHideName && !vb) && 0 != this.id && (v_8b || label) && this.name && this.k && (null == vj || -1 == v_be.indexOf(ve))) {
- vj = this.k;
- //var team = '';
- //var pID = this.pID;
- // var info = gPlayerInfoDict[pID];
- // if(info){
- // team = info.team;
- // }
- //var team = playerManager.getTeam(this.cID);
- var fullName = playerManager.getFullName(this.cID);
- if(gconfig.addUserTokenToPlayerCellName) {
- var token = playerManager.getUserToken(this.cID);
- var isBot = playerManager.checkIsBot(this.cID);
- if(!isBot) {
- fullName += `(${token})`;
- }
- }
- vj.lb_u_setText(fullName); //team + this.name);
- vj.G(this.go_i() / 0.9);
- ve = 0 >= this.id ? 1 : Math.ceil(10 * v_88_zoom) / 10;
- vj.U(ve);
- var vj = vj.lb_F_render(),
- vn = ~~(vj.width / ve),
- vo = ~~(vj.height / ve);
- ctx.drawImage(vj, ~~this.x - ~~(vn / 2), vd - ~~(vo / 2), vn, vo);
- vd += vj.height / 2 / ve + 4
- }
- ;
- var mass = (this.size * this.size / 100);
- //this.debug_val = this.id;
- var textCol = this.getTextColor();
- //var textCol = teamManager.getNameColor(team);
- myApp.isAutoHideMass && !vb || !myApp.isEnableShowAllMass ||
- 0 < this.id && v_90 && 38 < this.size && (this.cellType == 0 || this.cellType == 2) &&
- (null == this.I && (this.I = new DrawingLabel(this.go_i() / 2, textCol, 1, '#000000')),
- label = this.I, label.G(this.go_i() / 0.8),
- label.lb_u_setText(~~(this.size * this.size / 100)),
- //label.lb_u_setText(~~this.id), //debug
- //label.lb_u_setText(~~this.pID), //debug
- ve = Math.ceil(10 * v_88_zoom) / 10, label.U(ve), vj = label.lb_F_render(), vn = ~~(vj.width / ve), vo = ~~(vj.height / ve),
- ctx.drawImage(vj, ~~this.x - ~~(vn / 2), vd - ~~(vo / 2.7), vn, vo));
- ctx.restore();
- if(this.I) this.I.setFillColor(textCol);
- if(this.k) {
- this.k.setFillColor(textCol);
- //var fullName = playerManager.getFullName(this.cID);
- //this.k.lb_u_setText(fullName);
- }
- }
- }
- //var textCol = this.getTextColor();
- //if (this.I) this.I.lb_M_fillColor = textCol;
- //if (this.k)this.k.lb_M_fillColor = textCol;
- }
- };
- //DrawingLabel
- function DrawingLabel(va, col, vd, ve) {
- va && (this.lb_q_size = va); //size?
- col && (this.lb_M_fillColor = col); //fillColor
- this.O = !!vd;
- ve && (this.lb_r_strokeColor = ve) //strokeColor
- }
- DrawingLabel.prototype = {
- lb_w_text: '',
- lb_M_fillColor: '#000000',
- O: 0,
- lb_r_strokeColor: '#000000',
- lb_q_size: 16,
- l: null,
- N: null,
- h: 0,
- v: 1,
- G: function(va) {
- 5 < Math.abs(va - this.lb_q_size) && this.lb_q_size != va && (this.lb_q_size = va, this.h = 1)
- },
- U: function(va) {
- this.v != va && (this.v = va, this.h = 1)
- },
- setStrokeColor: function(va) {
- this.lb_r_strokeColor != va && (this.lb_r_strokeColor = va, this.h = 1)
- },
- setFillColor: function(col) {
- if(col != this.lb_M_fillColor) {
- this.lb_M_fillColor = col;
- this.h = 1;
- }
- },
- lb_u_setText: function(va) {
- //setText?
- var vb;
- !isNaN(va) && !isNaN(this.lb_w_text) && 0 != this.lb_w_text && 0 != va && this.lb_w_text != va && 0.012 > Math.abs((va - this.lb_w_text) / this.lb_w_text) && (vb = this.lb_w_text, this.lb_w_text = va);
- va != this.lb_w_text && (this.lb_w_text = va, this.h = 1);
- vb && (this.lb_w_text = vb)
- },
- lb_F_render: function() {
- null == this.l && (this.l = document.createElement('canvas'), this.N = this.l['getContext']('2d'));
- if(this.h) {
- this.h = 0;
- var canvas = this.l,
- ctx = this.N,
- text = this.lb_w_text,
- ve = this.v,
- size = this.lb_q_size,
- //vi = 'bold ' + vf + 'px Ubuntu';
- //vi = 'bold ' + size + 'px メイリオ';
- vi = 'bolder ' + (size * 0.8) + 'px メイリオ, arial';
- ctx.font = vi;
- var vj = ~~(0.2 * size);
- //var vj = ~~(0.2 * size);
- canvas.width = (ctx.measureText(text)['width'] + 6) * ve;
- canvas.height = (size + vj) * ve;
- ctx.font = vi;
- ctx.scale(ve, ve);
- ctx.globalAlpha = 1;
- //ctx.globalAlpha = 0.8;
- ctx.fillStyle = this.lb_M_fillColor;
- //ctx.fillStyle = '#FF00FF';
- myApp.isShowTextStrokeLine && (ctx.lineWidth = Math.max(size * 0.12, 5), ctx.strokeStyle = this.lb_r_strokeColor, this.O && ctx.strokeText(text, 3, size - vj / 2));
- ctx.fillText(text, 3, size - vj / 2); //draw label
- };
- return this.l
- }
- };
- function VWWWW(va, vb, vd, ve, vf) {
- this.P = va;
- this.x = vb;
- this.y = vd;
- this.g = ve;
- this.b = vf
- }
- VWWWW.prototype = {
- P: null,
- x: 0,
- y: 0,
- g: 0,
- b: 0
- };
- function vf() {
- v_96 = 1;
- vj();
- setInterval(vj, 18E4);
- v_6b = v_6a = document.getElementById('canvas');
- document.getElementById('overlays2')['onmousemove'] = function(v_4f) {
- clientMouseX = v_4f.clientX;
- clientMouseY = v_4f.clientY;
- onClientMousePositionChanged()
- //trace("mx:" + clientMouseX);
- //trace("my:" + clientMouseY);
- };
- ctx = v_6b.getContext('2d');
- //console.log(navigator.userAgent);
- function vg(e) {
- //var delta = e.deltaY ? -(e.deltaY) : e.wheelDelta ? e.wheelDelta : -(e.detail);
- if(myApp.isEnableZoom){
- var delta = e.wheelDelta / -120 || e.detail / 3 || 0;
- //console.log('delta:' + delta);
- v_a1_zoomLevel *= Math.pow(myApp.getZoomSpeed(), delta); //e.wheelDelta / -120 || e.detail || 0);
- myApp.getZoomLimit() > v_a1_zoomLevel && (v_a1_zoomLevel = myApp.getZoomLimit());
- v_a1_zoomLevel > 1 / v_88_zoom && (v_a1_zoomLevel = 1 / v_88_zoom);
- }
- }
- if(navigator.userAgent.indexOf('Firefox') >= 0){
- //console.log('isFirefox: true');
- document.body.addEventListener('DOMMouseScroll', vg, false);
- }else{
- document.body.onmousewheel = vg;
- }
- //document.body['onmousewheel'] = vg;
- //$(document).on('mousewheel DOMMouseScroll', vg);
- //var mouse_wheel_event_name = 'DOMMouseScroll';//onwheel' in document
- //if('onwheel' in document) mouse_wheel_event_name = 'wheel';
- //document.body.addEventListener(mouse_wheel_event_name, vg, false);
- var keySpace = 32;
- var keyQ = 81;
- var keyW = 87;
- var holdSpace = 0;
- var holdQ = 0;
- var holdW = 0;
- _win.onkeydown = function(e) {
- var key = e.keyCode;
- //keySpace != e.keyCode || chatRoom.isFocus() || v_4f || (_MOVE(), v_58(17), v_4f = 1);
- if(key == keySpace && !chatRoom.isFocus() && !holdSpace) {
- _MOVE();
- SendPlayerAction(17);
- holdSpace = 1;
- if(selfOwnedCells.length < 16) {
- gSplitTimingTick = gSplitTimingDuration;
- }
- }
- //keyQ != e.keyCode || vd || (v_58(18), vd = 1);
- if(key == keyQ && !holdQ) {
- SendPlayerAction(18);
- holdQ = 1;
- }
- //keyW != e.keyCode || chatRoom.isFocus() || v_50 || (_MOVE(), v_58(21), v_50 = 1);
- if(key == keyW && !chatRoom.isFocus() && !holdW) {
- //MOVING = true;
- if(MOVING) {
- _MOVE();
- SendPlayerAction(21);
- } else {
- //é™æ¢ä¸ã®é¤Œã ã—
- MOVING = true;
- _MOVE(true);
- SendPlayerAction(21);
- // setTimeout(function () {
- // SendPlayerAction(21);
- // MOVING = false;
- // }, 1);
- }
- holdW = 1;
- //trace("w");
- }
- /*
- if (key == keyW && !chatRoom.isFocus() && !holdW) {
- _MOVE();
- SendPlayerAction(21);
- holdW = 1;
- }
- */
- isJoinedGame && !$('#overlays')['is'](':visible') || spectateMode ? 27 == e.keyCode && (e.preventDefault(), vi(300)) : 27 == e.keyCode && (e.preventDefault(), $('.btn-play')['trigger']('click'))
- };
- _win.onkeyup = function(e) {
- var key = e.keyCode;
- //keySpace == e.keyCode && (v_4f = 0);
- if(key == keySpace) holdSpace = 0;
- //keyQ == e.keyCode && (v_50 = 0);
- if(key == keyQ) holdQ = 0;
- //keyW == e.keyCode && vd && (v_58(19), vd = 0)
- if(key == keyW && holdW) {
- SendPlayerAction(19);
- holdW = 0;
- }
- };
- _win.onblur = function() {
- SendPlayerAction(19);
- holdW = holdQ = holdSpace = 0
- };
- _win.onresize = windowOnResize;
- _win.requestAnimationFrame(animationFrameFuncRoot);
- //setInterval(_MOVE, 42);
- function moveProc() {
- _MOVE();
- setTimeout(moveProc, 42);
- }
- setTimeout(moveProc, 42);
- v_89 && _jquery('#region')['val'](v_89);
- vr();
- vk(_jquery('#region')['val']());
- 0 == v_a4 && v_89 && vl();
- vi(0);
- windowOnResize();
- _win.location['hash'] && 6 <= _win.location['hash']['length'] && v_62(_win.location['hash'])
- }
- function CreatePlayerEntryData(_action) {
- var id = null;
- 0 < v_68.playerCells()['length'] && (id = v_68.playerCells()[0], id = id.name + id.color);
- var vd = _jquery('#skin_url')['val']();
- if(-1 != vd.indexOf('!!')) {
- try {
- atob(vd.slice(2))
- } catch(ve) { }
- };
- return {
- displayName: _jquery('#nick')['val'](),
- action: _action,
- socketRoom: myApp.getRoom(),
- identifier: id,
- url: myApp.getCustomSkinUrl(),
- nick: _jquery('#nick')['val'](),
- team: _jquery('#team_name')['val'](),
- token: myApp.getCurrentPartyCode()
- }
- }
- /*
- function EnterPlayer() {
- if(!announcementSent) {
- if(0 < v_68.playerCells()['length']) {
- announcementSent = 1;
- if(!UseOgarMapImpl) {
- var data = CreatePlayerEntryData('join');
- playerDetailsByIdentifier[data.identifier] = data;
- playerDetailsByNick[data.nick] = data;
- conn.emit('playerEntered', data);
- } else {
- var cell = v_68.playerCells()[0];
- gPlayerSignature = cell.name + cell.color; //cell.id + cell.name;
- skinProvider.sendSkinInfo();
- skinProvider.requestBroadcastSkins();
- }
- } else {
- setTimeout(EnterPlayer, 100)
- }
- }
- }
- */
- function onClientMousePositionChanged() {
- //フィールド上ã§ã®ã‚«ãƒ¼ã‚½ãƒ«åº§æ¨™
- refPositionX = (clientMouseX - _screenWidth / 2) / v_88_zoom + v_70_fieldPosX;
- refPositionY = (clientMouseY - _screenHeight / 2) / v_88_zoom + v_71_fieldPosY;
- /*
- if (myApp.isStopMovement) {
- refPositionX = stopPositionX;
- refPositionY = stopPositionY;
- //trace("refPositionX:" + refPositionX);
- } else {
- }
- */
- //trace("LR:" + fieldLeft + "," + fieldRight);
- //trace("refPositionX:" + refPositionX);
- }
- function vj() {
- null == v_b2 && (v_b2 = {}, _jquery('#region')['children']()['each'](function() {
- var v_4f = _jquery(this),
- va = v_4f.val();
- va && (v_b2[va] = v_4f.text())
- }));
- //http://m.gar.io/infoã‹ã‚‰æƒ…å ±å–å¾—
- //vb.get('http://m.agar.io/info', function(v_4f) {
- // var va = {},
- // vd;
- // for(vd in v_4f.regions) {
- // var ve = vd.split(':')[0];
- // va[ve] = va[ve] || 0;
- // va[ve] += v_4f.regions[vd]['numPlayers']
- // };
- // for(vd in va) {
- // vb('#region option[value="' + vd + '"]')['text'](v_b2[vd] + ' (' + va[vd] + ' players)')
- // }
- //}, 'json')
- }
- function vn() {
- _jquery('#overlays')['hide']();
- _jquery('#stats')['hide']();
- v_c6 = v_a3 = 0;
- vr()
- }
- function vk(v_4f) {
- 'gathering' == _jquery('#region')['val']() ? connect(PRIVATE_SERVER_IP, '') : v_4f && v_4f != v_89 && (_jquery('#region')['val']() != v_4f && _jquery('#region')['val'](v_4f), v_89 = _win.localStorage['location'] = v_4f, _jquery('.region-message')['hide'](), _jquery('.region-message.' + v_4f)['show'](), _jquery('.btn-needs-server')['prop']('disabled', 0), v_96 && vl())
- }
- function vi(v_4f) {
- v_a3 || v_c6 || (game_playername_sending = null, 1E3 > v_4f && (v_a2 = 1), v_a3 = 1, _jquery('#mainPanel')['show'](), _jquery('#overlays')['show']())
- }
- function vz(v_4f) {
- _jquery('#helloContainer')['attr']('data-gamemode', v_4f);
- v_94 = v_4f;
- _jquery('#gamemode')['val'](v_4f)
- }
- function vr() {
- _jquery('#region')['val']() ? _win.localStorage['location'] = _jquery('#region')['val']() : _win.localStorage['location'] && _jquery('#region')['val'](_win.localStorage['location']);
- _jquery('#region')['val']() ? _jquery('#locationKnown')['append'](_jquery('#region')) : _jquery('#locationUnknown')['append'](_jquery('#region'))
- }
- function vm(v_4f) {
- return _win.i18n[v_4f] || _win.i18n_dict['en'][v_4f] || v_4f
- }
- function vp() {
- var v_4f = ++v_a4;
- console.log('Find ' + v_89 + v_94);
- _jquery.ajax('http://m.agar.io/findServer', {
- error: function() {
- setTimeout(vp, 1E3)
- },
- success: function(va) {
- '' != v_a6 && va.ip != v_a6 ? vp() : v_4f == v_a4 && (va.alert && alert(va.alert), connectToGameServer('ws://' + va.ip, va.token))
- },
- dataType: 'json',
- method: 'POST',
- cache: 0,
- crossDomain: 1,
- data: (v_89 + v_94 || '?') + '\n154669603'
- })
- }
- function vl() {
- v_96 && v_89 && (_jquery('#connecting')['show'](), vp())
- }
- function disconnectGameServer() {
- var ws = window.webSocket;
- if(ws) {
- ws.onopen = null;
- ws.onmessage = null;
- ws.onclose = null;
- ws.close();
- window.webSocket = null;
- }
- }
- function connectToGameServer(v_4f, va) {
- currentIP = v_4f;
- if(webSocket) {
- webSocket.onopen = null;
- webSocket.onmessage = null;
- webSocket.onclose = null;
- try {
- webSocket.close()
- } catch(vb) { };
- webSocket = null
- };
- v_a5.ip && (v_4f = 'ws://' + v_a5.ip);
- if(null != v_b3) {
- var vd = v_b3;
- v_b3 = function() {
- vd(va)
- }
- };
- /*
- if(v_69) {
- var ve = v_4f.split(':');
- v_4f = ve[0] + 's://ip-' + ve[1]['replace'](/\./g, '-')['replace'](/\//g, '') + '.tech.agar.io:' + (+ve[2] + 2E3)
- };
- */
- selfNodeIdList = [];
- selfOwnedCells = [];
- v_74 = {};
- gameObjects = [];
- v_76 = [];
- leaderBoardList = [];
- v_b9 = v_95 = null;
- highest_score = 0;
- v_9f = 0;
- $('#server_message_box').html('');
- //console.log('connecting to game server,' + v_4f);
- console.log('connecting to game server');// + v_4f);
- var m = v_4f.match('ws://(.*):(.*)');
- //var host = m[1];
- //var port = m[2];
- window.GameServerHost = m[1];
- window.GameServerPort = parseInt(m[2]);
- //console.log(window.GameServerHost + ',' + window.GameServerPort);
- webSocket = new WebSocket(v_4f);
- window.webSocket = webSocket;
- webSocket.binaryType = 'arraybuffer';
- webSocket.onopen = function() {
- //gLocalPlayerIdPerConnection = Math.floor(Math.random() * 65535);
- //trace("local_id:" + gLocalPlayerIdPerConnection);
- //var msg;
- console.log('socket opened');
- chatRoom.clearMessages();
- // selfNodeIdList = [];
- // selfOwnedCells = [];
- // v_74 = {};
- // gameObjects = [];
- // v_76 = [];
- // leaderBoardList = [];
- // v_b9 = v_95 = null;
- // highest_score = 0;
- // v_9f = 0;
- /*
- msg = CreateDataView(5);
- msg.setUint8(0, 254);
- msg.setUint32(1, 5, 1);
- SendDataFrame(msg);
- msg = CreateDataView(5);
- msg.setUint8(0, 255);
- msg.setUint32(1, 154669603, 1);
- SendDataFrame(msg);
- */
- /*
- {
- //init, old
- var fb = new DataFrameWriter();
- fb.writeUint8(255);
- fb.writeStringEx(CommunicationVersionKey2);
- SendDataFrame(new Uint8Array(fb.getArrayBuffer()));
- fb = new DataFrameWriter();
- fb.writeUint8(253);
- fb.writeStringEx(gUserId);
- SendDataFrame(new Uint8Array(fb.getArrayBuffer()));
- //clearPlayerSelfEntryData();
- }
- */
- {
- //init, new
- var fb = new DataFrameWriter();
- fb.writeUint8(252);
- fb.writeStringEx(CommunicationVersionKey2);
- fb.writeStringEx(gUserId);
- SendDataFrame(new Uint8Array(fb.getArrayBuffer()));
- }
- gGameServerAddress = v_4f;
- gIsConnected = true;
- gIsPlaying = false;
- //clearNickEntryCash();
- //setNickB();
- //UserToken周り,プラベ鯖ã§ã¯UserTokenを扱ã£ã¦ã„ãªã„ãŸã‚エラー?
- //.lengthãŒå®šç¾©ã•ã‚Œã¦ã„ãªã„ã¨ã„ã†ã‚¨ãƒ©ãƒ¼ãŒå‡ºã‚‹ã®ã‚’回é¿
- //v_4f = CreateDataView(1 + va.length);
- //v_4f.setUint8(0, 80);
- //for (var vb = 0; vb < va.length; ++vb) {
- // v_4f.setUint8(vb + 1, va.charCodeAt(vb))
- //};
- //SendDataFrame(v_4f);
- //v_59();
- //4 < va.length && 6 >= va.length ? v_63('/#' + va) : v_63('/');
- //if (void (0) !== window.userToken) {
- // for (var vb = [8, 1, 18, userToken.length + 25, 1, 8, 10, 82, userToken.length + 20, 1, 10, 13, 8, 5, 18, 5, 49, 46, 52, 46, 57, 24, 0, 32, 0, 16, 2, 26, userToken.length, 1], vd = 0; vd <= userToken.length - 1; vd++) {
- // vb.push(userToken.charCodeAt(vd))
- // };
- // v_4f = new DataView(new ArrayBuffer(1 + vb.length));
- // v_4f.setUint8(0, 102);
- // for (vd = 0; vd < vb.length; vd++) {
- // v_4f.setUint8(1 + vd, vb[vd])
- // };
- // webSocket.send(v_4f.buffer)
- //} else {
- // setTimeout(function () {
- // for (var v_4f = [8, 1, 18, userToken.length + 25, 1, 8, 10, 82, userToken.length + 20, 1, 10, 13, 8, 5, 18, 5, 49, 46, 52, 46, 57, 24, 0, 32, 0, 16, 2, 26, userToken.length, 1], va = 0; va <= userToken.length - 1; va++) {
- // v_4f.push(userToken.charCodeAt(va))
- // };
- // var vb = new DataView(new ArrayBuffer(1 + v_4f.length));
- // vb.setUint8(0, 102);
- // for (va = 0; va < v_4f.length; va++) {
- // vb.setUint8(1 + va, v_4f[va])
- // };
- // webSocket.send(vb.buffer)
- // }, 5E3)
- //}
- };
- webSocket.onmessage = onMessage;
- webSocket.onclose = onClose;
- webSocket.onerror = function() {
- console.log('socket error')
- }
- }
- function CreateDataView(n) {
- return new DataView(new ArrayBuffer(n))
- }
- function SendDataFrame(msg) {
- frameSendQueueCount++;
- webSocket.send(msg.buffer)
- //ws.send(msg.buffer);
- }
- function onClose(e) {
- v_9f && (v_b4 = 500);
- console.log('socket closed,' + e.reason);
- setTimeout(vl, v_b4);
- v_b4 *= 2
- var msg = e.reason;
- if(msg && msg.startsWith('serverMaxConnections')){
- $('#server_instruction_text').html('Server is full house. Please access after a while.</br>満員ã§ã™ã€‚ã—ã°ã‚‰ã時間をãŠã„ã¦ã‹ã‚‰ã‚¢ã‚¯ã‚»ã‚¹ã—ã¦ãã ã•ã„。');
- }
- }
- function onMessage(v_4f) {
- var view = new DataView(v_4f.data);
- decodeMessage(view)
- conn2.decodeMessage(view);
- }
- function decodeMessage(msg) {
- function getString() {
- for(var vd = ''; ;) {
- var v_51 = msg.getUint16(vb, 1);
- vb += 2;
- if(0 == v_51) {
- break
- };
- vd += String.fromCharCode(v_51)
- };
- return vd
- }
- v_ab++;
- var vb = 0;
- 240 == msg.getUint8(vb) && (vb += 5);
- var opcode = msg.getUint8(vb++);
- if(opcode != 16) {
- //console.log('opcode: ' + opcode);
- }
- switch(opcode) {
- case 16:
- updateBlobInfo(msg, vb);
- break;
- //case 14:
- // updateBlobInfo2(msg, vb);
- // break;
- case 17:
- stopPositionX = msg.getFloat32(vb, 1);
- //utils.confirm(!isNaN(stopPositionX));
- vb += 4;
- stopPositionY = msg.getFloat32(vb, 1);
- var vb = vb + 4,
- num = msg.getFloat32(vb, 1);
- v_aa = num;
- myApp.isEnableLockZoom || (v_93 = num);
- vb += 4;
- //gSiteArea.x = stopPositionX;
- //gSiteArea.y = stopPositionY;
- //gSiteArea.zoom = num;
- break;
- case 18:
- //console.log('gIsPlaying:' + gIsPlaying);
- selfNodeIdList = [];
- selfOwnedCells = [];
- v_74 = {};
- gameObjects = [];
- break;
- case 20:
- selfOwnedCells = [];
- selfNodeIdList = [];
- break;
- case 21:
- v_98 = msg.getInt16(vb, 1);
- vb += 2;
- v_99 = msg.getInt16(vb, 1);
- vb += 2;
- v_97 || (v_97 = 1, v_9a = v_98, v_9b = v_99);
- break;
- case 32:
- selfNodeIdList.push(msg.getUint32(vb, 1));
- vb += 4;
- break;
- case 49:
- if(null != v_95) {
- break
- };
- num = msg.getUint32(vb, 1);
- vb += 4;
- leaderBoardList = [];
- for(var i = 0; i < num; ++i) {
- var _id = msg.getUint32(vb, 1),
- vb = vb + 4;
- leaderBoardList.push({
- id: _id,
- name: getString()
- })
- };
- break;
- case 50:
- v_95 = [];
- num = msg.getUint32(vb, 1);
- vb += 4;
- for(i = 0; i < num; ++i) {
- v_95.push(msg.getFloat32(vb, 1)), vb += 4
- };
- vq_updateLeaderboard_for_team();
- break;
- // case 64:
- // var num = msg.getFloat64(vb, 1),
- // vb = vb + 8,
- // i = msg.getFloat64(vb, 1),
- // vb = vb + 8,
- // _id = msg.getFloat64(vb, 1),
- // vb = vb + 8,
- // vi = msg.getFloat64(vb, 1),
- // vb = vb + 8;
- // //v_55(vf - vd, vi - ve) ? (fieldLeft = vd, fieldTop = ve, fieldRight = vf, fieldBottom = vi) : (v_55(vd, v_84) && (0.01 < vf - v_86 || -0.01 > vf - v_86) && (fieldLeft = vd, fieldRight = vd + 14142.135623730952), (0.01 < vd - v_84 || -0.01 > vd - v_84) && v_55(vf, v_86) && (fieldRight = vf, fieldLeft = vf - 14142.135623730952), (0.01 < ve - v_85 || -0.01 > ve - v_85) && v_55(vi, v_87) && (fieldBottom = vi, fieldTop = vi - 14142.135623730952), v_55(ve, v_85) && (0.01 < vi - v_87 || -0.01 > vi - v_87) && (fieldTop = ve, fieldBottom = ve + 14142.135623730952), vd < fieldLeft && (fieldLeft = vd, fieldRight = vd + 14142.135623730952), vf > fieldRight && (fieldRight = vf, fieldLeft = vf - 14142.135623730952), ve < fieldTop && (fieldTop = ve, fieldBottom = ve + 14142.135623730952), vi > fieldBottom && (fieldBottom = vi, fieldTop = vi - 14142.135623730952), v_84 = vd, v_85 = ve, v_87 = vi, v_86 = vf);
- // fieldLeft = 0;
- // fieldTop = 0;
- // fieldRight = 14142.13562373095;
- // fieldBottom = 14142.13562373095;
- // myApp.afterGameLoaded();
- // break;
- case 65:
- var num = msg.getFloat32(vb, 1),
- vb = vb + 4,
- i = msg.getFloat32(vb, 1),
- vb = vb + 4,
- _id = msg.getFloat32(vb, 1),
- vb = vb + 4,
- vi = msg.getFloat32(vb, 1),
- vb = vb + 4;
- //fieldLeft = 0;
- //fieldTop = 0;
- //fieldRight = 14142.13562373095;
- //fieldBottom = 14142.13562373095;
- fieldLeft = num;
- fieldTop = i;
- fieldRight = _id;
- fieldBottom = vi;
- gSiteArea.field_sz = fieldRight;
- //サーãƒå´ã§spectate時ã«top, bottomãŒãŠã‹ã—ã„ãƒã‚°?ãŒã‚ã‚Šã€ãれを回é¿
- //fieldTop = fieldLeft;
- //fieldBottom = fieldRight;
- myApp.afterGameLoaded();
- break;
- case 81:
- var vj = msg.getUint32(vb, 1),
- vb = vb + 4,
- vh = msg.getUint32(vb, 1),
- vb = vb + 4,
- vk = msg.getUint32(vb, 1),
- vb = vb + 4;
- setTimeout(function() {
- v_5e({
- d: vj,
- e: vh,
- c: vk
- })
- }, 1200);
- break;
- // case 128:
- // chatRoom.decodeMessage(msg);
- // break;
- }
- }
- function updateBlobInfo(data, pos) {
- //blobæƒ…å ±æ›´æ–°ï¼Ÿ
- function getStringU() {
- for(var vb = ''; ;) {
- var ve = data.getUint16(pos, 1);
- pos += 2;
- if(0 == ve) {
- break
- };
- vb += String.fromCharCode(ve)
- };
- return vb
- }
- function getStringB() {
- for(var vb = ''; ;) {
- var vd = data.getUint8(pos++);
- if(0 == vd) {
- break
- };
- vb += String.fromCharCode(vd)
- };
- return vb
- }
- function getRandomColor() {
- var colorRGB = [0xFF, (Math.random() * 100) >> 0, (Math.random() * 256) >> 0];
- colorRGB.sort(function() {
- return 0.5 - Math.random();
- });
- return {
- r: colorRGB[0],
- g: colorRGB[1],
- b: colorRGB[2]
- };
- };
- v_a0 = v_7d = Date.now();
- v_9f || (v_9f = 1, vc_resendNickname());
- v_8d = 0;
- var vf = data.getUint16(pos, 1);
- pos += 2;
- for(var vj = 0; vj < vf; ++vj) {
- var killer = v_74[data.getUint32(pos, 1)],
- node = v_74[data.getUint32(pos + 4, 1)];
- //console.log('destoy node:' + node.id);
- pos += 8;
- //if(killer) {
- killer && node && (node.go_R_remove(), node.o = node.x, node.p = node.y, node.n = node.size, node.go_C_x = killer.x, node.go_C_y = killer.y, node.m = node.size, node.K = v_7d, v_64(killer, node))
- //}else{
- // console.log('no killer');
- // node && (node.go_R_remove(), node.o = node.x, node.p = node.y, node.n = node.size, node.go_C_x = node.x, node.go_C_y = node.y, node.m = node.size, node.K = v_7d) //, v_64(killer, node))
- //}
- };
- for(vj = 0; ;) {
- vf = data.getUint32(pos, 1);
- pos += 4;
- if(0 == vf) {
- break
- };
- ++vj;
- var vk, vh = data.getInt32(pos, 1);
- pos += 4;
- node = data.getInt32(pos, 1);
- pos += 4;
- vk = data.getInt16(pos, 1);
- pos += 2;
- // var obj = data.getUint8(pos++),
- // vl = data.getUint8(pos++),
- // vm = data.getUint8(pos++),
- // vl = vx(obj << 16 | vl << 8 | vm),
- //vm = data.getUint8(pos++),
- var obj;
- var vm = 0,
- v_53 = !!(vm & 1),
- vn = !!(vm & 16),
- vo = null;
- var pID = data.getUint16(pos, 1);
- pos += 2;
- //var pID = 0;
- //var cID = data.getUint16(pos, 1);
- //pos += 2;
- var cID = 0;
- if(pID > 0) {
- cID = playerCoreManager.getCid(pID);
- }
- var cellType = data.getUint8(pos++);
- vm = (cellType == 2) ? 1 : 0;
- v_53 = !!(vm & 1);
- vn = !!(vm & 16);
- var col = playerCoreManager.getPlayerColor(pID); //cID);
- if(cellType == 1) {
- //pellet
- col = getRandomColor();
- }
- vl = vx(col.r << 16 | col.g << 8 | col.b);
- if(cellType == 2) {
- //virtus
- vl = vx(0x00FF00);
- }
- /*
- vm & 2 && (pos += 4 + data.getUint32(pos, 1));
- vm & 4 && (vo = getStringB());
- var _name = getStringU(),
- obj = null;
- */
- var _name = playerManager.getFullName(cID);
- if(cellType != 0) _name = '';
- var obj = null;
- v_74.hasOwnProperty(vf) ? (obj = v_74[vf], obj.go_J(), obj.o = obj.x, obj.p = obj.y, obj.n = obj.size, obj.color = vl) : (obj = new GameObject(vf, vh, node, vk, vl, _name, pID, cID, cellType), gameObjects.push(obj), v_74[vf] = obj, obj.ia = vh, obj.ja = node);
- /*
- if(obj.size <= obj.prevSize * 0.9){
- next_go_index(obj);
- }
- obj.prevSize = obj.size;
- */
- obj.f = v_53;
- obj.j = vn;
- obj.go_C_x = vh;
- obj.go_C_y = node;
- obj.m = vk;
- obj.K = v_7d;
- obj.T = vm;
- //utils.confirm(obj != null);
- //obj.pID = pID;
- vo && (obj.V = vo);
- _name && obj.setGameObjectName(_name);
- // if(obj.cID == playerManager.selfClientId){
- // //debugger;
- // var x = 100;
- // }
- if(selfNodeIdList.indexOf(vf) != -1 && selfOwnedCells.indexOf(obj) == -1){
- //console.log('add self cell');
- selfOwnedCells.push(obj);
- if(selfOwnedCells.length == 1){
- v_70_fieldPosX = obj.x;
- v_71_fieldPosY = obj.y;
- onWindowLoadedJQ();
- document.getElementById('overlays')['style']['display'] = 'none';
- v_c3 = [];
- v_c4 = 0;
- v_c5 = selfOwnedCells[0]['color'];
- v_c7 = 1;
- v_c8 = Date.now();
- v_cc = v_cb = v_ca = 0;
- }
- }
- //utils.confirm(!isNaN(v_70_fieldPosX));
- };
- killer = data.getUint32(pos, 1);
- pos += 4;
- for(vj = 0; vj < killer; vj++) {
- vf = data.getUint32(pos, 1), pos += 4, obj = v_74[vf], null != obj && obj.go_R_remove()
- };
- v_8d && 0 == selfOwnedCells.length && (myApp.onDead(), 1) && (v_c9 = Date.now(), v_c7 = 0, v_a3 || v_c6 || (v_cd ? (v_67(), v_c6 = 1, _jquery('#overlays')['show'](), _jquery('#stats')['show']()) : vi(1500)))
- }
- function vc_resendNickname() {
- v_a6 = '';
- _jquery('#connecting')['hide']();
- SendGameNickName();
- v_b3 && (v_b3(), v_b3 = null);
- null != v_b5 && clearTimeout(v_b5);
- v_b5 = setTimeout(function() {
- _win.ga && (++v_b6, _win.ga('set', 'dimension2', v_b6))
- }, 1E4)
- }
- function SendAimPoint(px, py) {
- if(!IsDocumentReady()) return;
- if(!(gIsPlaying || gIsSpectate)) return;
- var msg = CreateDataView(13);
- msg.setUint8(0, 16);
- msg.setInt32(1, px, 1);
- msg.setInt32(5, py, 1);
- msg.setUint32(9, 0, 1);
- SendDataFrame(msg);
- }
- function SendAimCursor() {
- SendAimPoint(refPositionX, refPositionY);
- }
- function SendAimCenter() {
- SendAimPoint(stopPositionX, stopPositionY);
- }
- function _MOVE(forceAim) {
- try {
- if(forceAim == null) {
- forceAim = false;
- }
- //trace("_MOVE");
- /*
- if (!myApp.isStopMovement && IsDocumentReady()) {
- //trace("Moving");
- //var px = clientMouseX - _screenCenterX / 2;
- //var py = clientMouseY - _screenCenterY / 2;
- //var isNear = px * px + py * py < 64;
- //var diffX = Math.abs(bPositionX - refPositionX);
- //var diffY = Math.abs(bPositionY - refPositionY);
- //var th = 0.01;
- //var xNear = Math.abs(bPositionX - refPositionX) < 0.01;
- //var yNear = Math.abs(bPositionY - refPositionY) < 0.01;
- //&&, ||
- // (64 > px * px + py * py) || (0.01 > Math.abs(bPositionX - refPositionX) && 0.01 > Math.abs(bPositionY - refPositionY))
- // || (bPositionX = refPositionX, bPositionY = refPositionY,
- // px = v_22(13), px.setUint8(0, 16), px.setInt32(1, refPositionX, 1), px.setInt32(5, refPositionY, 1), px.setUint32(9, 0, 1), v_23(px))
- //if(isNear){
- // (diffX < th && diffY < th)){
- //var msg = "";
- //var A = 64 > px * px + py * py;
- //var go_B = (0.01 > Math.abs(bPositionX - refPositionX) && (0.01 > Math.abs(bPositionY - refPositionY)));
- //if(A || go_B){
- bPositionX = refPositionX;
- bPositionY = refPositionY;
- var msg  = v_22(13);
- msg.setUint8(0, 16);
- msg.setInt32(1, refPositionX, 1);
- msg.setInt32(5, refPositionY, 1);
- msg.setUint32(9, 0, 1);
- v_23(msg);
- //};
- }
- */
- //SendAimCursor();
- if(MOVING || forceAim) {
- //SendAimPoint(refPositionX, refPositionY);
- SendAimCursor();
- } else {
- //SendAimPoint(stopPositionX, stopPositionY);
- SendAimCenter();
- }
- /*
- //var moving = !myApp.isStopMovement;
- var moving = MOVING;
- var px = refPositionX;
- var py = refPositionY;
- if (!MOVING) {
- px = stopPositionX;
- py = stopPositionY;
- }
- */
- /*
- bPositionX = px;
- bPositionY = py;
- } else {
- px = bPositionX;
- py = bPositionY;
- }
- */
- //SendAimPoint(px, py);
- //}
- //trace("moving:" + moving);
- //}
- } catch(e) {
- console.log(e);
- }
- }
- function v_55(v_4f, va) {
- return 0.01 > v_4f - va && -0.01 < v_4f - va
- }
- var nickEntryCash = null;
- function clearNickEntryCash() {
- nickEntryCash = null;
- }
- _win.clearNickEntryCash = clearNickEntryCash;
- function sendGameNickNameCore() {
- if(gIsPlaying && !gconfig.allowChangesPlayerInfoWhilePlaying) return;
- var c = nickEntryCash;
- var e = gPlayerEntryData;
- var same = (c && c.name == e.name && c.team == e.team && c.skinUrl == e.skinUrl && c.code == e.code && c.skinUrl2 == e.skinUrl2);
- if(!same) {
- var fb = new DataFrameWriter();
- fb.writeUint8(30);
- fb.writeStringEx(e.name);
- fb.writeStringEx(e.team);
- fb.writeStringEx(e.skinUrl);
- fb.writeStringEx(e.code);
- fb.writeStringEx(e.skinUrl2);
- SendDataFrame(new Uint8Array(fb.getBuffer()));
- //chatAppModel.ShowVersion();
- if(gUseChatApp){
- var profile_index = localStorage.getItem('selected_profile');
- chatAppModel.SetUserEntryInfo(e.name, e.team, e.code, e.skinUrl, profile_index);
- }
- nickEntryCash = e;
- }
- }
- function SendGameNickName() {
- if(IsDocumentReady() && v_9f && null != game_playername_sending) {
- if(false) {
- //ノーマル
- var msg = CreateDataView(1 + 2 * game_playername_sending.length);
- msg.setUint8(0, 0);
- for(var va = 0; va < game_playername_sending.length; ++va) {
- msg.setUint16(1 + 2 * va, game_playername_sending.charCodeAt(va), 1)
- }
- ;
- SendDataFrame(msg);
- game_playername_sending = null
- } else {
- //æ‹¡å¼µ
- sendGameNickNameCore();
- }
- }
- }
- function SendGameStart() {
- if(IsDocumentReady()) {
- var fb = new DataFrameWriter();
- fb.writeUint8(31);
- SendDataFrame(new Uint8Array(fb.getBuffer()));
- }
- }
- function IsDocumentReady() {
- return null != webSocket && webSocket.readyState == webSocket.OPEN
- }
- //var prevSplitTimeStampMs = 0;
- //var prevSplitMx = -1;
- //var prevSplitMy = -1;
- function SendPlayerAction(op) {
- if(IsDocumentReady()) {
- /*
- if(op == 17){
- //dualagarã§ã€åˆ†è£‚時ã«è¦–点ãŒå‹•ã„ã¦ãƒã‚±ãƒ‘ンãŒæŠ˜ã‚Œã‚‹å•é¡Œã‚’回é¿
- //2連打分裂を検出ã—ãŸã¨ãã«ä»¥å‰ã®AIM点をé€ã‚‹
- //-->サーãƒå´ã§å¯¾å‡¦
- //分裂ã®é–“ã§ã‚»ãƒ«ãŒç§»å‹•ã—ã¦ã—ã¾ã£ã¦ã„ã‚‹ã®ã§ãƒ€ãƒ¡
- var ms = Date.now();
- var dur = ms - prevSplitTimeStampMs;
- if(dur < 180){
- console.log(`double split, ${dur}`);
- if(prevSplitMx != -1){
- SendAimPoint(prevSplitMx, prevSplitMy);
- }
- }
- prevSplitTimeStampMs = ms;
- prevSplitMx = refPositionX;
- prevSplitMy = refPositionY;
- }
- */
- var msg = CreateDataView(1);
- msg.setUint8(0, op);
- SendDataFrame(msg)
- }
- }
- function v_59() {
- if(IsDocumentReady() && null != window.userToken) {
- var msg = CreateDataView(2 + userToken.length);
- msg.setUint8(0, 82);
- msg.setUint8(1, 1);
- for(var vb = 0; vb < window.userToken['length']; ++vb) {
- msg.setUint8(vb + 2, window.userToken['charCodeAt'](vb))
- };
- SendDataFrame(msg)
- }
- }
- function windowOnResize() {
- _screenWidth = 1 * _win.innerWidth;
- _screenHeight = 1 * _win.innerHeight;
- v_6a.width = v_6b.width = _screenWidth;
- v_6a.height = v_6b.height = _screenHeight;
- var v_4f = _jquery('#helloContainer');
- v_4f.css('transform', 'none');
- var vd = v_4f.height(),
- ve = _win.innerHeight;
- vd > ve / 1.1 ? v_4f.css('transform', 'translate(-50%, -50%) scale(' + ve / vd / 1.1 + ')') : v_4f.css('transform', 'translate(-50%, -50%)');
- updateFrame()
- }
- function v_5b() {
- return 1 * Math.max(_screenHeight / 1080, _screenWidth / 1920) * v_a1_zoomLevel
- }
- function vt() {
- if(0 != selfOwnedCells.length) {
- if(myApp.isEnableLockZoom) {
- va = v_5b()
- } else {
- for(var va = 0, i = 0; i < selfOwnedCells.length; i++) {
- va += selfOwnedCells[i]['size']
- };
- va = Math.pow(Math.min(64 / va, 1), 0.4) * v_5b()
- };
- v_88_zoom = (9 * v_88_zoom + va) / 10
- }
- }
- function updateFrame() {
- var va, vb = Date.now();
- ++v_7c;
- v_7d = vb;
- if(0 < selfOwnedCells.length) {
- vt();
- for(var vd = va = 0, vf = 0; vf < selfOwnedCells.length; vf++) {
- selfOwnedCells[vf].go_J(), va += selfOwnedCells[vf]['x'] / selfOwnedCells.length, vd += selfOwnedCells[vf]['y'] / selfOwnedCells.length
- };
- stopPositionX = va;
- stopPositionY = vd;
- v_93 = v_88_zoom;
- //myApp.testing ? (v_70_fieldPosX = (testingVal * v_70_fieldPosX + stopPositionX) / (testingVal + 1), v_71_fieldPosY = (testingVal * v_71_fieldPosY + stopPositionY) / (testingVal + 1), console.log(testingVal + 1)) : (v_70_fieldPosX = (v_70_fieldPosX + va) / 2, v_71_fieldPosY = (v_71_fieldPosY + vd) / 2)
- if(myApp.testing){
- v_70_fieldPosX = (testingVal * v_70_fieldPosX + stopPositionX) / (testingVal + 1);
- v_71_fieldPosY = (testingVal * v_71_fieldPosY + stopPositionY) / (testingVal + 1);
- console.log(testingVal + 1);
- }else{
- //v_70_fieldPosX = (v_70_fieldPosX + va) / 2;
- //v_71_fieldPosY = (v_71_fieldPosY + vd) / 2;
- var K = 0.92;
- v_70_fieldPosX = nums.easyFilter(v_70_fieldPosX, va, K);
- v_71_fieldPosY = nums.easyFilter(v_71_fieldPosY, vd, K);
- }
- } else {
- v_70_fieldPosX = (29 * v_70_fieldPosX + stopPositionX) / 30, v_71_fieldPosY = (29 * v_71_fieldPosY + stopPositionY) / 30, v_88_zoom = (9 * v_88_zoom + v_93 * v_5b()) / 10
- //utils.confirm(!isNaN(v_70_fieldPosX));
- };
- //console.log('len:' + selfOwnedCells.length);
- //セルã®åˆ†è£‚å¯èƒ½åˆ¤å®š
- var sortedCells = selfOwnedCells.slice(0); //concat();
- sortedCells.sort(function(a, b) {
- return a.id - b.id;
- });
- var num_splitable = Math.min(8, (8 - sortedCells.length / 2) * 2);
- for(var i = 0; i < sortedCells.length; i++) {
- var cell = sortedCells[i];
- cell.can_split = i < num_splitable && (cell.size * cell.size * 0.01 >= 36);
- }
- v_6e = null;
- onClientMousePositionChanged();
- v_9e || ctx.clearRect(0, 0, _screenWidth, _screenHeight);
- v_9e ? (ctx.fillStyle = v_8f ? '#111111' : '#F2FBFF', ctx.globalAlpha = 0.05, ctx.fillRect(0, 0, _screenWidth, _screenHeight), ctx.globalAlpha = 1) : v_5c();
- gameObjects.sort(function(va, player) {
- return va.size == player.size ? va.id - player.id : va.size - player.size
- });
- gSiteArea.x = v_70_fieldPosX;
- gSiteArea.y = v_71_fieldPosY;
- gSiteArea.scale = v_88_zoom;
- gSiteArea.scw = _screenWidth;
- gSiteArea.sch = _screenHeight;
- gSiteArea.field_sz = fieldRight;
- ctx.save();
- ctx.translate(_screenWidth / 2, _screenHeight / 2);
- ctx.scale(v_88_zoom, v_88_zoom);
- ctx.translate(-v_70_fieldPosX, -v_71_fieldPosY);
- va = [fieldLeft, fieldTop, fieldRight, fieldBottom];
- v_60(va, ctx);
- myApp.isEnableMapGrid && v_61(va, ctx);
- // ctx.lineWidth = 8;
- // ctx.strokeStyle = "#888";
- // ctx.strokeRect(0, 0, fieldRight, fieldBottom);
- for(vf = 0; vf < v_76.length; vf++) {
- v_76[vf].drawGameObject(ctx)
- };
- for(vf = 0; vf < gameObjects.length; vf++) {
- gameObjects[vf].drawGameObject(ctx); //draw player object
- };
- if(0 < v_af.length) {
- ctx.fillStyle = $('#pelletColor')['minicolors']('value');
- ctx.beginPath();
- for(va = 0; va < v_af.length; va++) {
- vd = v_af[va], ctx.moveTo(vd.x, vd.y), ctx.arc(vd.x, vd.y, vd.size + 5, 0, TWO_PI, 0)
- };
- ctx.fill();
- v_af = []
- };
- if(selfOwnedCells.length && myApp.isEnableSplitInd) {
- ctx.globalAlpha = 0.7;
- vd = ~~Math.min(5 / v_88_zoom, 50);
- ctx.lineWidth = vd;
- vf = [];
- for(va = 0; va < selfOwnedCells.length; va++) {
- vf.push({
- x: selfOwnedCells[va]['x'],
- y: selfOwnedCells[va]['y'],
- size: selfOwnedCells[va]['size']
- })
- };
- vf.sort(function(va, v_4f) {
- return va.size - v_4f.size
- });
- for(va = 0; va < extraCellsPosSizes.length; va++) {
- for(var vi = extraCellsPosSizes[va]['size'] * extraCellsPosSizes[va]['size'], vj = 0; vj < vf.length; vj++) {
- var vh = vf[vj]['size'] * vf[vj]['size'],
- vg = Math.sqrt(Math.pow(vf[vj]['x'] - extraCellsPosSizes[va]['x'], 2) + Math.pow(vf[vj]['y'] - extraCellsPosSizes[va]['y'], 2)),
- vk = vf[vj]['size'] + 655,
- vl = extraCellsPosSizes[va]['size'] + 655;
- if(4 >= vf.length && 0.375 * vh * 0.37 > vi && 2 * vk - 10 > vg) {
- extraCellsPosSizes[va]['type'] = 4;
- break
- };
- if(8 >= vf.length && 0.37 * vh > vi && vk > vg) {
- extraCellsPosSizes[va]['type'] = 2;
- break
- };
- if(0.73 * vh > vi && vk > vg) {
- extraCellsPosSizes[va]['type'] = 1;
- break
- };
- if(0.37 * vi > vh && vl > vg) {
- extraCellsPosSizes[va]['type'] = -2;
- break
- };
- if(0.73 * vi > vh && vl > vg) {
- extraCellsPosSizes[va]['type'] = -1;
- break
- }
- }
- };
- for(vf = 0; vf < splitIndicatorColors.length; vf++) {
- ctx.strokeStyle = splitIndicatorColors[vf]['color'];
- ctx.beginPath();
- for(va = 0; va < extraCellsPosSizes.length; va++) {
- extraCellsPosSizes[va]['type'] && extraCellsPosSizes[va]['type'] == splitIndicatorColors[vf]['type'] && (vi = extraCellsPosSizes[va]['size'] + vd + 8 + 2 / v_88_zoom, ctx.moveTo(extraCellsPosSizes[va]['x'] + vi, extraCellsPosSizes[va]['y']), ctx.arc(extraCellsPosSizes[va]['x'], extraCellsPosSizes[va]['y'], vi, 0, TWO_PI, 0))
- };
- ctx.stroke()
- }
- };
- //分裂セルマーカー
- //if (true) {
- /*
- if(myApp.showSplitOrderMarker) {
- //ctx.save();
- ctx.globalAlpha = 0.6;
- for(var i = 0; i < selfOwnedCells.length; i++) {
- var cell = selfOwnedCells[i];
- ctx.strokeStyle = cell.can_split ? 'rgba(0, 255, 0, 1)' : 'rgba(255, 255, 255, 1)';
- //ctx.strokeStyle = cell.can_split ? 'rgba(0, 96, 255, 1)' : 'rgba(255, 255, 255, 1)';
- //if(cell.can_split){
- //var alpha = Math.max(1.0 - i / 5.0, 0.0);
- //var vd = ~~(Math.min(5 / v_88, 50) * 1.8);
- //var vd = ~~(5 / v_88 * 1.8);
- //ctx.lineWidth = vd;
- //var vi = cell.size + vd + 8 + 2 / v_88;
- var lw = cell.size * 0.16;
- //var lw = cell.size * 0.13;
- //var lw = cell.size * 0.08;
- ctx.lineWidth = lw;
- ctx.beginPath();
- //ctx.moveTo(cell.x + vi, cell.y);
- ctx.arc(cell.x, cell.y, cell.size - lw / 2, 0, TWO_PI, 0);
- ctx.stroke();
- //}
- }
- //ctx.restore();
- }
- */
- //if(myApp.showActiveTurnMarker) {
- // ctx.globalAlpha = 0.75;
- // selfOwnedCells.forEach(cell => {
- // var isActive = cell.pID == gActiveTurnPlayerId;
- // ctx.strokeStyle = isActive ? '#F0F' : '#FFF'; //'rgba(0, 128, 255, 1'
- // var lw = cell.size * 0.10;
- // ctx.lineWidth = lw;
- // ctx.beginPath();
- // ctx.arc(cell.x, cell.y, cell.size - lw / 2, 0, TWO_PI, 0);
- // ctx.stroke();
- // });
- //}
- extraCellsPosSizes = [];
- //v_97 = 1;
- //if (v_97) {
- // カーソルライン
- if(myApp.isEnableCursorLine) {
- //v_9a = (3 * v_9a + v_98) / 4;
- //v_9b = (3 * v_9b + v_99) / 4;
- var px = refPositionX;
- var py = refPositionY;
- //ctx.save();
- ctx.strokeStyle = '#FFAAAA';
- ctx.lineCap = 'round';
- ctx.lineJoin = 'round';
- //var mode = 1;
- if(!myApp.emphasisCursorLine){
- //narrow
- ctx.globalAlpha = 0.6;
- ctx.lineWidth = 4;
- ctx.strokeStyle = "rgba(255, 255, 255, 0.8)";// ""#CCCCCC";
- }else{
- //thick
- ctx.globalAlpha = 0.8;
- ctx.lineWidth = 10;
- //ctx.strokeStyle = "#0F0";
- ctx.strokeStyle = "#08F"; //"rgba(, 128, 255, 0.8)";// ""#CCCCCC";
- }
- ctx.beginPath();
- for(vf = 0; vf < selfOwnedCells.length; vf++) {
- var cell = selfOwnedCells[vf];
- var isActive = cell.pID == gActiveTurnPlayerId;
- if(isActive) {
- ctx.moveTo(cell.x, cell.y), ctx.lineTo(refPositionX, refPositionY);
- }
- }
- ctx.stroke();
- //ctx.restore()
- }
- if(gSplitTimingTick > 0) {
- gSplitTimingTick--;
- }
- //AIMクãƒã‚¹ãƒ˜ã‚¢
- if(myApp.showCursorCrosshair) {
- var px = refPositionX;
- var py = refPositionY;
- ctx.strokeStyle = (gSplitTimingTick > 0) ? '#FF8800' : '#00FF00';
- ctx.lineCap = 'round';
- ctx.lineJoin = 'round';
- ctx.lineWidth = 8;
- ctx.globalAlpha = 0.6;
- ctx.beginPath();
- var R1 = 120;
- var R2 = 200;
- ctx.arc(px, py, R1, 0, TWO_PI, 0);
- ctx.moveTo(px - R2, py); ctx.lineTo(px + R2, py);
- ctx.moveTo(px, py - R2); ctx.lineTo(px, py + R2);
- ctx.stroke();
- }
- ctx.restore();
- //ä¸å¿ƒç·š
- if(myApp.showCursorCrosshair) {
- var scx = _screenWidth / 2;
- var scy = _screenHeight / 2;
- ctx.save();
- ctx.lineWidth = 1;
- ctx.globalAlpha = 0.2;
- ctx.strokeStyle = "#999999"; //rgba(192, 192, 192, 0.4)";// ""#CCCCCC";
- ctx.beginPath();
- ctx.moveTo(scx, 0); ctx.lineTo(scx, scy * 2);
- ctx.moveTo(0, scy); ctx.lineTo(scx * 2, scy);
- ctx.stroke();
- ctx.restore();
- }
- ':teams' == v_94 && v_b9 && v_b9.width && ctx.drawImage(v_b9, _screenWidth - v_b9.width - 10, 10);
- highest_score = Math.max(highest_score, calcCurrentScore());
- vb = Date.now() - vb;
- vb > 1E3 / 60 ? v_ba -= 0.01 : vb < 1E3 / 65 && (v_ba += 0.01);
- 0.4 > v_ba && (v_ba = 0.4);
- 1 < v_ba && (v_ba = 1);
- vb = v_7d - v_7e;
- !IsDocumentReady() || v_a3 || v_c6 ? (v_a2 += vb / 2E3, 1 < v_a2 && (v_a2 = 1)) : (v_a2 -= vb / 300, 0 > v_a2 && (v_a2 = 0));
- v_7e = v_7d
- gSelfMass = calcCurrentScore() / 100;
- //v53 = null;
- //delete v53;
- }
- function v_5c() {
- if(myApp.isEnableGridline) {
- ctx.save();
- ctx.strokeStyle = v_8f ? '#AAAAAA' : '#000000';
- ctx.globalAlpha = 0.2 * v_88_zoom;
- ctx.beginPath();
- for(var va = _screenWidth / v_88_zoom, vb = _screenHeight / v_88_zoom, vd = (-v_70_fieldPosX + va / 2) % 50; vd < va; vd += 50) {
- ctx.moveTo(vd * v_88_zoom - 0.5, 0), ctx.lineTo(vd * v_88_zoom - 0.5, vb * v_88_zoom)
- };
- for(vd = (-v_71_fieldPosY + vb / 2) % 50; vd < vb; vd += 50) {
- ctx.moveTo(0, vd * v_88_zoom - 0.5), ctx.lineTo(va * v_88_zoom, vd * v_88_zoom - 0.5)
- };
- ctx.stroke();
- ctx.restore()
- }
- }
- function calcCurrentScore() {
- for(var va = 0, i = 0; i < selfOwnedCells.length; i++) {
- va += selfOwnedCells[i]['m'] * selfOwnedCells[i]['m']
- };
- //console.log(selfOwnedCells.length);
- return va;
- }
- function vq_updateLeaderboard_for_team() {
- v_b9 = null;
- if(null != v_95 || 0 != leaderBoardList.length) {
- if(null != v_95 || v_8b) {
- v_b9 = document.createElement('canvas');
- var ctx = v_b9.getContext('2d'),
- vb = 60,
- vb = null == v_95 ? vb + 24 * leaderBoardList.length : vb + 180,
- vd = Math.min(200, 0.3 * _screenWidth) / 200;
- v_b9.width = 200 * vd;
- v_b9.height = vb * vd;
- ctx.scale(vd, vd);
- ctx.globalAlpha = 0.4;
- ctx.fillStyle = '#000000';
- ctx.fillRect(0, 0, 200, vb);
- ctx.globalAlpha = 1;
- ctx.fillStyle = '#FFFFFF';
- vd = vm('leaderboard');
- ctx.font = '30px Ubuntu';
- ctx.fillText(vd, 100 - ctx.measureText(vd)['width'] / 2, 40);
- if(null == v_95) {
- for(ctx.font = '20px Ubuntu', vb = 0; vb < leaderBoardList.length; ++vb) {
- vd = leaderBoardList[vb]['name'] || vm('unnamed_cell'), v_8b || (vd = vm('unnamed_cell')), -1 != selfNodeIdList.indexOf(leaderBoardList[vb]['id']) ? (selfOwnedCells[0]['name'] && (vd = selfOwnedCells[0]['name']), ctx.fillStyle = '#FFAAAA') : ctx.fillStyle = '#FFFFFF', vd = vb + 1 + '. ' + vd, ctx.fillText(vd, 100 - ctx.measureText(vd)['width'] / 2, 70 + 24 * vb)
- }
- } else {
- for(vb = vd = 0; vb < v_95.length; ++vb) {
- var ve = vd + v_95[vb] * Math.PI * 2;
- ctx.fillStyle = lb_colors[vb + 1];
- ctx.beginPath();
- ctx.moveTo(100, 140);
- ctx.arc(100, 140, 80, vd, ve, 0);
- ctx.fill();
- vd = ve
- }
- }
- }
- }
- }
- //setIntervalEx(vq_updateLeaderboard, 1000);
- function vx(va) {
- for(va = va.toString(16) ; 6 > va.length;) {
- va = '0' + va
- };
- return '#' + va
- }
- function v_5d(va) {
- for(var vb = va.length, vd, ve; 0 < vb;) {
- ve = Math.floor(Math.random() * vb), vb--, vd = va[vb], va[vb] = va[ve], va[ve] = vd
- }
- }
- function v_5e(v_4f, vd) {
- console.log(v_4f);
- console.log('b: ' + vd);
- var ve = '1' == _jquery('#helloContainer')['attr']('data-has-account-data');
- _jquery('#helloContainer')['attr']('data-has-account-data', '1');
- if(null == vd && _win.localStorage[v_c1]) {
- var vf = JSON.parse(_win.localStorage[v_c1]);
- vf.xp = v_4f.e;
- vf.xpNeeded = v_4f.c;
- vf.level = v_4f.d;
- _win.localStorage[v_c1] = JSON.stringify(vf)
- };
- if(ve) {
- var vi = +_jquery('.agario-exp-bar .progress-bar-text')['first']()['text']()['split']('/')[0],
- ve = +_jquery('.agario-exp-bar .progress-bar-text')['first']()['text']()['split']('/')[1]['split'](' ')[0],
- vf = _jquery('.agario-profile-panel .progress-bar-star')['first']()['text']();
- if(vf != v_4f.d) {
- v_5e({
- e: ve,
- c: ve,
- d: vf
- }, function() {
- _jquery('.agario-profile-panel .progress-bar-star')['text'](v_4f.d);
- _jquery('.agario-exp-bar .progress-bar')['css']('width', '100%');
- _jquery('.progress-bar-star')['addClass']('animated tada')['one']('webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend', function() {
- _jquery('.progress-bar-star')['removeClass']('animated tada')
- });
- setTimeout(function() {
- _jquery('.agario-exp-bar .progress-bar-text')['text'](v_4f.c + '/' + v_4f.c + ' XP');
- v_5e({
- e: 0,
- c: v_4f.c,
- d: v_4f.d
- }, function() {
- v_5e(v_4f, vd)
- })
- }, 1E3)
- })
- } else {
- var vj = Date.now(),
- vh = function() {
- var ve;
- ve = (Date.now() - vj) / 1E3;
- ve = 0 > ve ? 0 : 1 < ve ? 1 : ve;
- ve = ve * ve * (3 - 2 * ve);
- _jquery('.agario-exp-bar .progress-bar-text')['text'](~~(vi + (v_4f.e - vi) * ve) + '/' + v_4f.c + ' XP');
- _jquery('.agario-exp-bar .progress-bar')['css']('width', (88 * (vi + (v_4f.e - vi) * ve) / v_4f.c)['toFixed'](2) + '%');
- 1 > ve ? _win.requestAnimationFrame(vh) : vd && vd()
- };
- _win.requestAnimationFrame(vh)
- }
- } else {
- _jquery('.agario-profile-panel .progress-bar-star')['text'](v_4f.d), _jquery('.agario-exp-bar .progress-bar-text')['text'](v_4f.e + '/' + v_4f.c + ' XP'), _jquery('.agario-exp-bar .progress-bar')['css']('width', (88 * v_4f.e / v_4f.c)['toFixed'](2) + '%'), vd && vd()
- }
- }
- function v_5f(v_4f) {
- 'connected' == v_4f.status && (window.userToken = v_4f.authResponse['accessToken'], v_59(), _win.FB['api']('/me/picture?width=180&height=180', function(v_4f) {
- _win.localStorage['fbPictureCache'] = v_4f.data['url'];
- _jquery('.agario-profile-picture')['attr']('src', v_4f.data['url'])
- }), _jquery('#helloContainer')['attr']('data-logged-in', '1'))
- }
- function v_60(va, vb) {
- vb.save();
- vb.beginPath();
- vb.strokeStyle = $('#borderColor')['minicolors']('value');
- var vd = vb.lineWidth = 40;
- vb.strokeRect(va[0] - vd / 2, va[1] - vd / 2, va[2] - va[0] + vd, va[3] - va[1] + vd);
- vb.restore()
- }
- function v_61(va, vb) {
- var vd = Math.round(va[0]) + 40,
- ve = Math.round(va[1]) + 40,
- vf = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'['split'](''),
- vi = (Math.round(va[2]) - 40 - vd) / 5,
- vj = (Math.round(va[3]) - 40 - ve) / 5;
- vb.save();
- vb.beginPath();
- vb.lineWidth = 20;
- vb.textAlign = 'center';
- vb.textBaseline = 'middle';
- vb.font = 0.6 * vi + 'px Ubuntu';
- vb.fillStyle = '#1A1A1A';
- for(var vh = 0; 5 > vh; vh++) {
- for(var vg = 0; 5 > vg; vg++) {
- vb.fillText(vf[vh] + (vg + 1), vd + vi * vg + vi / 2, ve + vj * vh + vj / 2)
- }
- };
- vb.lineWidth = 100;
- vb.strokeStyle = '#1A1A1A';
- for(vh = 0; 5 > vh; vh++) {
- for(vg = 0; 5 > vg; vg++) {
- vb.strokeRect(vd + vi * vg, ve + vj * vh, vi, vj)
- }
- };
- vb.stroke();
- vb.restore()
- }
- function v_62(v_4f) {
- //vz(':party');
- //_jquery('#helloContainer')['attr']('data-party-state', '4');
- //v_4f = decodeURIComponent(v_4f)['replace'](/.*#/gim, '');
- //v_63('#' + _win.encodeURIComponent(v_4f));
- //_jquery.ajax('http://m.agar.io/getToken', {
- // error: function() {
- // _jquery('#helloContainer')['attr']('data-party-state', '6');
- // _jquery('#connect_error_div')['show']()
- // },
- // success: function(vd) {
- // vd = vd.split('\n');
- // _jquery('.partyToken')['val'](_win.encodeURIComponent(v_4f));
- // _jquery('#helloContainer')['attr']('data-party-state', '5');
- // vz(':party');
- // connectToGameServer('ws://' + vd[0], v_4f);
- // isJoinedGame = 0
- // },
- // dataType: 'text',
- // method: 'POST',
- // cache: 0,
- // crossDomain: 1,
- // data: v_4f
- //});
- //$('.btn-spectate')['prop']('disabled', 0)
- }
- function v_63(vb) {
- _win.history && _win.history['replaceState'] && _win.history['replaceState']({}, _win.document['title'], vb)
- }
- function v_64(va, vb) {
- var vd = -1 != selfNodeIdList.indexOf(va.id),
- ve = -1 != selfNodeIdList.indexOf(vb.id),
- vf = 30 > vb.size;
- vd && vf && ++v_c4;
- vf || !vd || ve || ++v_cb
- }
- function v_65(va) {
- va = ~~va;
- var vb = (va % 60).toString();
- va = (~~(va / 60)).toString();
- 2 > vb.length && (vb = '0' + vb);
- return va + ':' + vb
- }
- function v_66() {
- if(null == leaderBoardList) {
- return 0
- };
- for(var va = 0; va < leaderBoardList.length; ++va) {
- if(-1 != selfNodeIdList.indexOf(leaderBoardList[va]['id'])) {
- return va + 1
- }
- };
- return 0
- }
- function v_67() {
- _jquery('.stats-food-eaten')['text'](v_c4);
- _jquery('.stats-time-alive')['text'](v_65((v_c9 - v_c8) / 1E3));
- _jquery('.stats-leaderboard-time')['text'](v_65(v_ca));
- _jquery('.stats-highest-mass')['text'](~~(highest_score / 100));
- _jquery('.stats-cells-eaten')['text'](v_cb);
- _jquery('.stats-top-position')['text'](0 == v_cc ? ':(' : v_cc);
- var va = document.getElementById('statsGraph');
- if(va) {
- var vd = va.getContext('2d'),
- ve = va.width,
- va = va.height;
- vd.clearRect(0, 0, ve, va);
- if(2 < v_c3.length) {
- for(var vf = 200, vi = 0; vi < v_c3.length; vi++) {
- vf = Math.max(v_c3[vi], vf)
- };
- vd.lineWidth = 3;
- vd.lineCap = 'round';
- vd.lineJoin = 'round';
- vd.strokeStyle = v_c5;
- vd.fillStyle = v_c5;
- vd.beginPath();
- vd.moveTo(0, va - v_c3[0] / vf * (va - 10) + 10);
- for(vi = 1; vi < v_c3.length; vi += Math.max(~~(v_c3.length / ve), 1)) {
- for(var vj = vi / (v_c3.length - 1) * ve, vh = [], vg = -20; 20 >= vg; ++vg) {
- 0 > vi + vg || vi + vg >= v_c3.length || vh.push(v_c3[vi + vg])
- };
- vh = vh.reduce(function(va, vb) {
- return va + vb
- }) / vh.length / vf;
- vd.lineTo(vj, va - vh * (va - 10) + 10)
- };
- vd.stroke();
- vd.globalAlpha = 0.5;
- vd.lineTo(ve, va);
- vd.lineTo(0, va);
- vd.fill();
- vd.globalAlpha = 1
- }
- }
- }
- var v_68 = {
- context: function() {
- return g_context
- },
- playerCellIds: function() {
- return g_playerCellIds
- },
- playerCells: function() {
- return selfOwnedCells
- },
- cellsById: function() {
- return g_cellsById
- },
- cells: function() {
- return g_cells
- }
- };
- /*
- if(!UseOgarMapImpl) {
- //ä»–ã®ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼æƒ…å ±ã‚’å—ã‘å–ã‚‹ãƒãƒ³ãƒ‰ãƒ©
- socket.on('playerUpdated', function(data) {
- //actionãŒupdateã§ãªã„å ´åˆå†é€ä¿¡
- ('join' == data.action || 'spectate' == data.action) && 0 < v_68.playerCells()['length'] && conn.emit('playerUpdated', CreatePlayerEntryData('update'));
- //辞書ã«ãƒ—ãƒ¬ã‚¤ãƒ¤ãƒ¼æƒ…å ±ã‚’æ ¼ç´
- data.identifier && (playerDetailsByIdentifier[data.identifier] = data, playerDetailsByNick[data.nick] = data)
- });
- } else {
- }
- */
- //移動?
- _win.moveTo = function(va, vb) {
- //va && vb && (myApp.isStopMovement = 1)
- };
- _win.setPosition = function(va, vb) {
- if(IsDocumentReady()) {
- var vd = CreateDataView(13);
- vd.setUint8(0, 16);
- vd.setInt32(1, va, 1);
- vd.setInt32(5, vb, 1);
- vd.setUint32(9, 0, 1);
- SendDataFrame(vd)
- }
- };
- window.handleQuickW = function() {
- if(myApp.autoW) {
- var va = CreateDataView(1);
- va.setUint8(0, 21);
- SendDataFrame(va);
- setTimeout(handleQuickW, 142)
- }
- };
- if(!_win.agarioNoInit) {
- /*
- var v_69 = 'https:' == _win.location['protocol'];
- if(v_69 && -1 == _win.location['search']['indexOf']('fb')) {
- _win.location['href'] = 'http://agar.io/'
- } else
- */
- {
- var v_6a, ctx, v_6b, _screenWidth, _screenHeight, v_6e = null,
- webSocket = null,
- v_70_fieldPosX = 0,
- v_71_fieldPosY = 0,
- selfNodeIdList = [],
- selfOwnedCells = [],
- v_74 = {},
- gameObjects = [],
- v_76 = [],
- //leaderBoardList = [],
- clientMouseX = 0,
- clientMouseY = 0,
- refPositionX = -1,
- refPositionY = -1,
- v_7c = 0,
- v_7d = 0,
- v_7e = 0,
- game_playername_sending = null,
- fieldLeft = -7071.067811865476,
- fieldTop = -7071.06781186547,
- fieldRight = 7071.067811865476,
- fieldBottom = 7071.067811865476,
- //fieldLeft = 0,
- //fieldTop = 0,
- //fieldRight = 14142.13562373095,
- //fieldBottom = 14142.13562373095,
- v_84 = 0,
- v_85 = 0,
- v_86 = 0,
- v_87 = 0,
- v_88_zoom = 1,
- v_89 = null,
- v_8a = 1,
- v_8b = 1,
- v_8c = 0,
- v_8d = 0,
- highest_score = 0,
- v_8f = 1,
- v_90 = 0,
- stopPositionX = v_70_fieldPosX = ~~((fieldLeft + fieldRight) / 2),
- stopPositionY = v_71_fieldPosY = ~~((fieldTop + fieldBottom) / 2),
- v_93 = 1,
- v_94 = '',
- v_95 = null,
- v_96 = 0,
- v_97 = 0,
- v_98 = 0,
- v_99 = 0,
- v_9a = 0,
- v_9b = 0,
- v_9c = 0,
- lb_colors = ['#333333', '#FF3333', '#33FF33', '#3333FF'],
- v_9e = 0,
- v_9f = 0,
- v_a0 = 0,
- v_a1_zoomLevel = 1,
- v_a2 = 1,
- v_a3 = 0,
- v_a4 = 0,
- v_a5 = {},
- v_a6 = '',
- v_a7 = 0,
- extraCellsPosSizes = [],
- TWO_PI = 2 * Math.PI,
- v_aa = 0,
- v_ab = 0,
- frameSendQueueCount = 0,
- v_ad = 0,
- v_ae = 0,
- v_af = [],
- splitIndicatorColors = [{
- type: 1,
- color: '#d3d3d3'
- }, {
- type: 2,
- color: '#76FF03'
- }, {
- type: 4,
- color: '#2196F3'
- }, {
- type: -1,
- color: '#FF9800'
- }, {
- type: -2,
- color: '#FD0000'
- }, {
- type: -4,
- color: 'white'
- }];
- //stopPositionX = v_70_fieldPosX = ~~((fieldLeft + fieldRight) / 2);
- //stopPositionY = v_71_fieldPosY = ~~((fieldTop + fieldBottom) / 2);
- //refPositionX = -1;
- //refPositionY = -1;
- setInterval(function() {
- v_ad = v_ab;
- v_ab = 0;
- v_ae = frameSendQueueCount;
- frameSendQueueCount = 0
- }, 1E3);
- (function() {
- var vb = _win.location['search'];
- '?' == vb.charAt(0) && (vb = vb.slice(1));
- for(var vb = vb.split('&'), vd = 0; vd < vb.length; vd++) {
- var ve = vb[vd]['split']('=');
- v_a5[ve[0]] = ve[1]
- }
- })();
- var v_b1 = document.createElement('canvas');
- if('undefined' == typeof console || 'undefined' == typeof DataView || 'undefined' == typeof WebSocket || null == v_b1 || null == v_b1.getContext || null == _win.localStorage) {
- alert('You browser does not support this game, we recommend you to use Firefox to play this')
- } else {
- var v_b2 = null;
- _win.setNick = function(_name, _team, _skinUrl, _code, _skinUrl2) {
- //_win.ga && _win.ga('send', 'event', 'Nick', _name.toLowerCase());
- vn();
- game_playername_sending = _team + _name;
- gPlayerEntryData = {
- name: _name,
- team: _team,
- skinUrl: _skinUrl,
- code: _code,
- skinUrl2: _skinUrl2
- };
- //game_playername_sending = _name;
- SendGameNickName();
- SendGameStart();
- highest_score = 0;
- myApp.newGame();
- setLocalStorage('nick', _name);
- announcementSent = 0;
- //EnterPlayer()
- };
- function getInputTeamTag() {
- var uiType = gconfig.teamInputUiType;
- if(uiType == 'none') {
- return '';
- } else if(uiType == 'text') {
- return $('#team_name').val();
- } else if(uiType == 'duel') {
- var teams = gconfig.duelTeamEntries.split(',');
- return teams[gDuelTeamInputIndex] || '-';
- //var teamB = teams[1] || '-';
- //gTeamTagOverride =
- //return ( == 0) ? teamA : teamB; // "ã€ç´…】" : "ã€ç™½ã€‘";
- } else if(uiType == 'combo') {
- //var teams = gconfig.duelTeamEntries.split(',');
- //return teams[gComboTeamInputIndex] || '-';
- var val = $('#team_combo_box').val();
- localStorage.setItem('teamComboBoxVal', val);
- return val;
- }
- return ''; //gTeamTagOverride || '';
- }
- _win.setNickA = function() {
- if(!gIsConnected) return;
- var team = getInputTeamTag();
- var name = $('#nick').val();
- var skinUrl = $('#skin_url').val();
- var skinUrl2 = $('#skin_url2').val();
- var code = $('.partyToken').val();
- if(!gconfig.enablePartyCode) code = '';
- setNick(name, team, skinUrl, code, skinUrl2);
- }
- _win.setNickB = function() {
- if(!gIsConnected) return;
- var team = getInputTeamTag();
- var name = $('#nick').val();
- var skinUrl = $('#skin_url').val();
- var skinUrl2 = $('#skin_url2').val();
- var code = $('.partyToken').val();
- if(!gconfig.enablePartyCode) code = '';
- gPlayerEntryData = {
- name: name,
- team: team,
- skinUrl: skinUrl,
- code: code,
- skinUrl2: skinUrl2
- };
- sendGameNickNameCore();
- }
- _win.setRegion = vk;
- _win.setSkins = function(va) {
- v_8a = va
- };
- _win.setNames = function(va) {
- v_8b = va
- };
- _win.setDarkTheme = function(va) {
- v_8f = va
- };
- _win.setColors = function(va) {
- v_8c = va
- };
- _win.setShowMass = function(va) {
- v_90 = va
- };
- _win.connectIP = function(va) {
- var vd = va.trim();
- _jquery('#opt_connect_ip')['val'](vd);
- vd || ':party' != _jquery('#gamemode option:selected')['val']() ? 0 != vd.length && 6 >= vd.length ? v_62(va) : (console.log('connecting IP = ' + va), v_a6 = va, vl()) : createParty()
- };
- _win.getCurrentX = function() {
- return selfOwnedCells.length ? v_70_fieldPosX - (fieldRight - 7071.067811865476) : ''
- };
- _win.getCurrentY = function() {
- return selfOwnedCells.length ? v_71_fieldPosY - (fieldBottom - 7071.067811865476) : ''
- };
- _win.getTop1X = function() {
- return stopPositionX
- };
- _win.getTop1Y = function() {
- return stopPositionY
- };
- _win.getLengthX = function() {
- return 14142.135623730952
- };
- _win.getLengthY = function() {
- return 14142.135623730952
- };
- _win.getLB = function() {
- return leaderBoardList
- };
- _win.getSelfIDs = function() {
- return selfNodeIdList
- };
- _win.getCell = function() {
- return selfOwnedCells
- };
- _win.getHighestScore = function() {
- return highest_score
- };
- _win.quickSpace = function() {
- 0 != selfOwnedCells.length && (SendPlayerAction(17), setTimeout(function() {
- SendPlayerAction(17)
- }, 40), setTimeout(function() {
- SendPlayerAction(17)
- }, 80), setTimeout(function() {
- SendPlayerAction(17)
- }, 120), setTimeout(function() {
- SendPlayerAction(17)
- }, 160))
- };
- _win.doubleSpace = function() {
- setTimeout(function() {
- SendPlayerAction(17)
- }, 50);
- setTimeout(function() {
- SendPlayerAction(17)
- }, 100)
- };
- _win.getFPS = function() {
- return v_a7
- };
- _win.getPacketIO = function() {
- return [v_ad, v_ae]
- };
- _win.spectate = function() {
- if(!gIsConnected) return;
- isJoinedGame = 0;
- spectateMode = 1;
- gIsSpectate = true;
- game_playername_sending = null;
- SendPlayerAction(1);
- vn();
- myApp.spectate(selfOwnedCells);
- //var va = CreatePlayerEntryData('spectate');
- //conn.emit('playerEntered', va);
- //skinProvider.requestBroadcastSkins();
- };
- _win.setGameMode = function(va) {
- va != v_94 && (':party' == v_94 && _jquery('#helloContainer')['attr']('data-party-state', '0'), vz(va), ':party' != va && vl())
- };
- _win.setZoomLevel = function(va) {
- v_a1_zoomLevel = va
- };
- _win.isFreeSpec = function() {
- return myApp.isSpectating && 0.25 === v_aa
- };
- _win.setAcid = function(va) {
- v_9e = va
- };
- null != _win.localStorage && (null == _win.localStorage['AB9'] && (_win.localStorage['AB9'] = 0 + ~~(100 * Math.random())), v_9c = +_win.localStorage['AB9'], _win.ABGroup = v_9c);
- var v_b3 = null;
- _win.connect = connectToGameServer;
- _win.disconnect = disconnectGameServer;
- //gConnectionProc = connectToGameServer;
- var v_b4 = 500,
- v_b5 = null,
- v_b6 = 0,
- bPositionX = -1,
- bPositionY = -1,
- v_b9 = null,
- v_ba = 1,
- animationFrameFuncRoot = function() {
- Date.now();
- var vb = 0,
- vd = Date.now();
- return function() {
- try {
- _win.requestAnimationFrame(animationFrameFuncRoot);
- var ve = Date.now();
- myApp.isShowFPS && (1E3 < vb ? (vd = ve, vb = 0, v_a7 = v_7c, v_7c = 0) : vb = ve - vd);
- (!IsDocumentReady() || 240 > Date.now() - v_a0) && updateFrame();
- v_c2()
- } catch(e) {
- console.log(e);
- }
- }
- }(),
- v_bc = {},
- v_bd = 'poland;usa;china;russia;canada;australia;spain;brazil;germany;ukraine;france;sweden;chaplin;north korea;south korea;japan;united kingdom;earth;greece;latvia;lithuania;estonia;finland;norway;cia;maldivas;austria;nigeria;reddit;yaranaika;confederate;9gag;indiana;4chan;italy;bulgaria;tumblr;2ch.hk;hong kong;portugal;jamaica;german empire;mexico;sanik;switzerland;croatia;chile;indonesia;bangladesh;thailand;iran;iraq;peru;moon;botswana;bosnia;netherlands;european union;taiwan;pakistan;hungary;satanist;qing dynasty;matriarchy;patriarchy;feminism;ireland;texas;facepunch;prodota;cambodia;steam;piccolo;ea;india;kc;denmark;quebec;ayy lmao;sealand;bait;tsarist russia;origin;vinesauce;stalin;belgium;luxembourg;stussy;prussia;8ch;argentina;scotland;sir;romania;belarus;wojak;doge;nasa;byzantium;imperial japan;french kingdom;somalia;turkey;mars;pokerface;8;irs;receita federal;facebook;putin;merkel;tsipras;obama;kim jong-un;dilma;hollande;berlusconi;cameron;clinton;hillary;venezuela;blatter;chavez;cuba;fidel;merkel;palin;queen;boris;bush;trump'['split'](';'),
- v_be = '8;nasa;putin;merkel;tsipras;obama;kim jong-un;dilma;hollande;berlusconi;cameron;clinton;hillary;blatter;chavez;fidel;merkel;palin;queen;boris;bush;trump'['split'](';'),
- v_bf = {};
- Date.now || (Date.now = function() {
- return (new Date)['getTime']()
- });
- (function() {
- for(var vb = ['ms', 'moz', 'webkit', 'o'], vd = 0; vd < vb.length && !_win.requestAnimationFrame; ++vd) {
- _win.requestAnimationFrame = _win[vb[vd] + 'RequestAnimationFrame'], _win.cancelAnimationFrame = _win[vb[vd] + 'CancelAnimationFrame'] || _win[vb[vd] + 'CancelRequestAnimationFrame']
- };
- _win.requestAnimationFrame || (_win.requestAnimationFrame = function(va) {
- return setTimeout(va, 1E3 / 60)
- }, _win.cancelAnimationFrame = function(va) {
- clearTimeout(va)
- })
- })();
- var onWindowLoadedJQ = function() {
- var va = new GameObject(0, 0, 0, 32, '#ED1C24', ''),
- canvas = document.createElement('canvas');
- canvas.width = 32;
- canvas.height = 32;
- var ctx = canvas.getContext('2d');
- return function() {
- 0 < selfOwnedCells.length && (va.color = selfOwnedCells[0]['color'], va.setGameObjectName(selfOwnedCells[0]['name']));
- ctx.clearRect(0, 0, 32, 32);
- ctx.save();
- ctx.translate(16, 16);
- ctx.scale(0.4, 0.4);
- va.drawGameObject(ctx);
- ctx.restore();
- var fvc = document.getElementById('favicon'),
- ve = fvc.cloneNode(1);
- fvc.parentNode['replaceChild'](ve, fvc)
- }
- }();
- _jquery(function() {
- onWindowLoadedJQ()
- });
- var v_c1 = 'loginCache3';
- _jquery(function() {
- if(+_win.localStorage['wannaLogin']) {
- if(_win.localStorage[v_c1]) {
- var vd = _win.localStorage[v_c1];
- 'string' == typeof vd && (vd = JSON.parse(vd));
- Date.now() + 18E5 > vd.expires ? _jquery('#helloContainer')['attr']('data-logged-in', '0') : (_win.localStorage[v_c1] = JSON.stringify(vd), _jquery('.agario-profile-name')['text'](vd.name), v_59(), v_5e({
- e: vd.xp,
- c: vd.xpNeeded,
- d: vd.level
- }), _jquery('#helloContainer')['attr']('data-logged-in', '1'))
- };
- _win.localStorage['fbPictureCache'] && _jquery('.agario-profile-picture')['attr']('src', _win.localStorage['fbPictureCache'])
- }
- });
- _win.facebookLogin = function() {
- _win.localStorage['wannaLogin'] = 1
- };
- _win.fbAsyncInit = function() {
- function vb() {
- _win.localStorage['wannaLogin'] = 1;
- null == _win.FB ? alert('You seem to have something blocking Facebook on your browser, please check for any extensions') : _win.FB['login'](function(va) {
- console.log(va);
- v_5f(va)
- }, {
- scope: 'public_profile, email'
- })
- }
- _win.FB['init']({
- appId: '677505792353827',
- cookie: 1,
- xfbml: 1,
- status: 1,
- version: 'v_2.2'
- });
- _win.FB['Event']['subscribe']('auth.statusChange', function(vd) {
- +_win.localStorage['wannaLogin'] && ('connected' == vd.status ? v_5f(vd) : vb())
- });
- _win.facebookLogin = vb
- };
- _win.logout = function() {
- _jquery('#helloContainer')['attr']('data-logged-in', '0');
- _jquery('#helloContainer')['attr']('data-has-account-data', '0');
- delete _win.localStorage['wannaLogin'];
- delete _win.localStorage[v_c1];
- delete _win.localStorage['fbPictureCache'];
- vl();
- $('.btn-spectate')['prop']('disabled', 0)
- };
- var v_c2 = function() {
- function va(vb, vd, ve, vf, vi) {
- var vj = vd.getContext('2d'),
- v_4f = vd.width;
- vd = vd.height;
- vb.color = vi;
- vb.setGameObjectName(ve);
- vb.size = vf;
- vj.save();
- vj.translate(v_4f / 2, vd / 2);
- vb.drawGameObject(vj);
- vj.restore()
- }
- for(var vd = new GameObject(-1, 0, 0, 32, '#5bc0de', ''), ve = new GameObject(-1, 0, 0, 32, '#5bc0de', ''), vf = '#0791ff #5a07ff #ff07fe #ffa507 #ff0774 #077fff #3aff07 #ff07ed #07a8ff #ff076e #3fff07 #ff0734 #07ff20 #ff07a2 #ff8207 #07ff0e'['split'](' '), vi = [], vj = 0; vj < vf.length; ++vj) {
- var angle = vj / vf.length * 12,
- dist = 30 * Math.sqrt(vj / vf.length);
- vi.push(new GameObject(-1, Math.cos(angle) * dist, Math.sin(angle) * dist, 10, vf[vj], ''))
- };
- v_5d(vi);
- var vk = document.createElement('canvas');
- vk.getContext('2d');
- vk.width = vk.height = 70;
- va(ve, vk, '', 26, '#ebc0de');
- return function() {
- _jquery('.cell-spinner')['filter'](':visible')['each'](function() {
- var ve = _jquery(this),
- vf = Date.now(),
- vi = this.width,
- vj = this.height,
- vg = this.getContext('2d');
- vg.clearRect(0, 0, vi, vj);
- vg.save();
- vg.translate(vi / 2, vj / 2);
- for(var vh = 0; 10 > vh; ++vh) {
- vg.drawImage(vk, (0.1 * vf + 80 * vh) % (vi + 140) - vi / 2 - 70 - 35, vj / 2 * Math.sin((0.001 * vf + vh) % Math.PI * 2) - 35, 70, 70)
- };
- vg.restore();
- (ve = ve.attr('data-itr')) && (ve = vm(ve));
- va(vd, this, ve || '', +_jquery(this)['attr']('data-size'), '#5bc0de')
- });
- _jquery('#statsPellets')['filter'](':visible')['each'](function() {
- _jquery(this);
- var vd = this.width,
- ve = this.height;
- this.getContext('2d')['clearRect'](0, 0, vd, ve);
- for(vd = 0; vd < vi.length; vd++) {
- va(vi[vd], this, '', vi[vd]['size'], vi[vd]['color'])
- }
- })
- }
- }();
- _win.createParty = function() {
- vz(':party');
- v_b3 = function(vd) {
- v_63('/#' + _win.encodeURIComponent(vd));
- _jquery('.partyToken')['val'](_win.encodeURIComponent(vd));
- _jquery('#helloContainer')['attr']('data-party-state', '1')
- };
- vl();
- isJoinedGame = 0;
- $('.btn-spectate')['prop']('disabled', 0)
- };
- _win.joinParty = v_62;
- _win.cancelParty = function() {
- v_63('/');
- _jquery('#helloContainer')['attr']('data-party-state', '0');
- vz('');
- vl()
- };
- var v_c3 = [],
- v_c4 = 0,
- v_c5 = '#000000',
- v_c6 = 0,
- v_c7 = 0,
- v_c8 = 0,
- v_c9 = 0,
- v_ca = 0,
- v_cb = 0,
- v_cc = 0,
- v_cd = 1;
- setInterval(function() {
- v_c7 && v_c3.push(calcCurrentScore() / 100)
- }, 1E3 / 60);
- setInterval(function() {
- var va = v_66();
- 0 != va && (++v_ca, 0 == v_cc && (v_cc = va), v_cc = Math.min(v_cc, va))
- }, 1E3);
- _win.closeStats = function() {
- v_c6 = 0;
- _jquery('#stats')['hide']();
- vi(0)
- };
- _win.setSkipStats = function(va) {
- v_cd = !va
- };
- _jquery(function() {
- _jquery(vf)
- })
- }
- }
- }
- };
- loadGameCore(window, window.jQuery);
- myApp.afterGameLogicLoaded();
- conn2.setChatListenerProc(chatRoom.receiveMessage.bind(chatRoom));
- conn2.setMapListenerProc(minimap.updateNode.bind(minimap));
- class TeamRankingChart{
- constructor(){
- var canvas = document.getElementById('lb_canvas_chart');
- this.ctx = canvas.getContext('2d');
- this.sz = 150;
- var _canvas = $('#lb_canvas_chart');
- _canvas.attr('width', this.sz);
- _canvas.attr('height', this.sz);
- _canvas.css('opacity', 0.8);
- // _canvas.css('background-color', 'rgba(255,255,255,0.5)');
- }
- normAngleToChartAngle(norm_angle){
- var pi = Math.PI;
- return -pi * 0.5 + norm_angle * pi * 2;
- }
- update(ranks){
- var ctx = this.ctx;
- //ctx.fillStyle = 'red';
- //ctx.fillRect(10, 20, 50, 50);
- var cp = this.sz / 2;
- var r = this.sz / 2;
- var hr = r / 2;
- var pi = Math.PI;
- var fontSize = 16;
- ctx.font = fontSize + "px メイリオ, arial";
- ctx.fillStyle = '#CCC';
- ctx.beginPath();
- ctx.arc(cp, cp, r, 0, pi * 2, false);
- ctx.fill();
- //var pi2 = pi * 2;
- var angle = 0.0;
- for(var rank of ranks){
- var teamId = rank.id;
- var rate = rank.rate * 0.01;
- //var rate = 0.2;
- var col = teamManager.getColor(teamId);
- var teamName = teamManager.getTeamName(teamId);
- //ctx.strokeStyle = 'blue';
- ctx.fillStyle = col;
- ctx.beginPath();
- var a0 = this.normAngleToChartAngle(angle);
- var a1 = this.normAngleToChartAngle(angle + rate);
- ctx.moveTo(cp, cp);
- ctx.lineTo(cp + Math.cos(a0) * r, cp + Math.sin(a0) * r);
- ctx.arc(cp, cp, r, a0, a1, false);
- ctx.lineTo(cp, cp);
- ctx.stroke();
- ctx.fill();
- if(rate > 0.05){
- var a2 = (a0 + a1) / 2;
- var tw = ctx.measureText(teamName).width;
- ctx.fillStyle = 'black';
- ctx.fillText(teamName, cp + Math.cos(a2) * hr - tw/2, cp + Math.sin(a2) * hr + fontSize/4);
- }
- angle += rate;
- }
- //ctx.strokeStyle = 'black';
- ctx.beginPath();
- ctx.arc(cp, cp, r, 0, pi * 2, false);
- ctx.stroke();
- }
- }
- var teamRankingChart = new TeamRankingChart();
- function updateTeamRankView(ranks) {
- //var num = Math.min(ranks.length, 5);
- var num = ranks.length;
- var block = '';
- for(var i = 0; i < num; i++) {
- var teamId = ranks[i].id;
- //var rate = Math.round(ranks[i].rate * 10) * 0.1;
- var teamName = teamManager.getTeamName(teamId);
- var col = teamManager.getColor(teamId);
- //var tag = ranks[i].tag;
- var rate = parseInt(ranks[i].rate * 10.0) / 10.0;
- //var col = teamManager.getLeaderboardColor(tag);
- //if(tag == '@BOT') tag= 'BOT';
- block += `<div style="color:${col}">${i + 1}.${teamName} -- ${rate}%</div>`;
- }
- $('#lb_detail2').html(block);
- if(GamePresetConfig.EnableTeamRankingChart){
- teamRankingChart.update(ranks);
- }
- }
- conn2.setTeamRanksListenerProc(updateTeamRankView);
- //300
- function initialize_misc() {
- $(document)['keydown'](function(va) {
- if('input' != va.target['tagName']['toLowerCase']() && 'textarea' != va.target['tagName']['toLowerCase']() || 13 == va.keyCode) {
- var vb = '';
- isValidHotKey(va) && (vb = getPressedKey(va));
- 18 == va.keyCode && va.preventDefault();
- if(selectedHotkeyRow) {
- if(46 == va.keyCode) {
- va.preventDefault(), selectedHotkeyRow.find('.hotkey')['text'](vb)
- } else {
- if('' != vb) {
- va.preventDefault();
- for(var vf = $('.hotkey'), vg = 0; vg < vf.length; vg++) {
- if($(vf[vg])['text']() == vb) {
- return
- }
- }
- ;
- selectedHotkeyRow.find('.hotkey')['text'](vb);
- selectedHotkeyRow.removeClass('table-row-selected');
- selectedHotkeyRow = null
- }
- }
- }
- ;
- '' != vb && hotkeyMapping[vb] && (va.preventDefault(), hotkeyConfig[hotkeyMapping[vb]] && hotkeyConfig[hotkeyMapping[vb]]['keyDown'] && hotkeyConfig[hotkeyMapping[vb]]['keyDown']())
- }
- });
- $(document)['keyup'](function(va) {
- if('input' != va.target['tagName']['toLowerCase']() && 'textarea' != va.target['tagName']['toLowerCase']() || 13 == va.keyCode) {
- var vb = '';
- isValidHotKey(va) && (vb = getPressedKey(va));
- '' != vb && hotkeyMapping[vb] && (va.preventDefault(), hotkeyConfig[hotkeyMapping[vb]] && hotkeyConfig[hotkeyMapping[vb]]['keyUp'] && hotkeyConfig[hotkeyMapping[vb]]['keyUp']())
- }
- });
- $('#overlays2')['mousedown'](function(va) {
- 0 === va.button ? !myApp.isEnableMouseW || 'input' == va.target['tagName']['toLowerCase']() && 'textarea' == va.target['tagName']['toLowerCase']() || (myApp.autoW = 1, handleQuickW(), va.preventDefault()) : 2 === va.button && $('#opt_chatbox__INVALID_TAG_FOR_DISABLE_STATEMENT__')['click']()
- });
- $('#overlays2')['mouseup'](function(va) {
- 0 === va.button && myApp.isEnableMouseW && 'input' != va.target['tagName']['toLowerCase']() && 'textarea' != va.target['tagName']['toLowerCase']() && (myApp.autoW = 0, va.preventDefault())
- });
- function isValidHotKey(va) {
- return 48 <= va.keyCode && 57 >= va.keyCode || 65 <= va.keyCode && 90 >= va.keyCode || 9 == va.keyCode || 13 == va.keyCode ? 1 : 0
- }
- function getPressedKey(va) {
- var vb = '';
- va.ctrlKey && (vb += 'CTRL_');
- va.altKey && (vb += 'ALT_');
- return vb = 9 == va.keyCode ? vb + 'TAB' : 13 == va.keyCode ? vb + 'ENTER' : vb + String.fromCharCode(va.keyCode)
- }
- function copyToClipboard(va) {
- window.postMessage({
- action: Action.COPY,
- data: va
- }, '*')
- }
- window.onbeforeunload = function() {
- if(gIsPlaying) return 'You are leaving Agar.io.';
- //return 'You are leaving Agar.io.'
- };
- function escapeRegex(va) {
- return va.replace(/[\-\[\]{}()*+?.,\\\^$|#\s]/g, '\$&')
- }
- var disconnectTimeout;
- $(window)['focus'](function() {
- isWindowFocus = 1;
- disconnectTimeout && clearTimeout(disconnectTimeout)
- })['blur'](function() {
- isWindowFocus = 0
- });
- jQuery.cachedScript = function(va, vb) {
- vb = $['extend'](vb || {}, {
- dataType: 'script',
- cache: 1,
- url: va
- });
- return jQuery.ajax(vb)
- };
- minimap.start();
- /*
- function drawMinimapNodes() {
- minimap.uploadSelfPosition();
- setTimeout(drawMinimapNodes, 1000); //1E3)
- }
- if(UseOgarMapImpl){
- }else{
- drawMinimapNodes();
- }
- */
- updateGameInfoDiv();
- function updateGameInfoDiv() {
- $('#overlays')['is'](':visible') && myApp.updateLBInfo();
- setTimeout(updateGameInfoDiv, 1E3)
- }
- clearOldNodesData();
- function clearOldNodesData() {
- for(var va = 1; va < nodeList.length; va++) {
- var vb = nodeList[va][8];
- vb && 5E3 < Date.now() - vb && (2 > va ? (nodeList[va][2] = null, nodeList[va][3] = null) : nodeList[va][0] = 'del')
- }
- ;
- setTimeout(clearOldNodesData, 5E3)
- }
- //updateLbDiv();
- var leaderboardTeamColors = {
- 'ã€å…ˆè¼©ã€‘': '#FFFFFF',
- 'ã€æ•µã€‘': '#FF88AA',
- 'ã€ç•°ä¸–界】': '#CC66FF',
- '〖ÆǤ〗': '#FF0000',
- '〖ҬƓӃ〗': '#FFF0F5',
- '▽ŇⒼ▲': '#00EE00',
- '♠♥♦♣': '#FFEC8B',
- 'ζΘŤΓ☀': '#91c5ff',
- 'ã€Î½Î¹Ï】': '#FFFF00',
- 'ã€é¾™å¤©ã€‘': '#EE00EE',
- 'ã€é”‹èŠ’】': '#D1EEEE',
- '▕龑â–': '#9400D3',
- 'â¤.+[☣☠]': '#7FFF00',
- '安逸☢': '#8B008B',
- 'å›é€¸â˜¢': '#8B008B',
- 'ã€â™•ã€‘': '#00FF00',
- 'ã€â™›ã€‘': '#00FF00',
- 'ã€âœ¯ã€‘': '#00FF00',
- 'ჯH.F.Lჯ': '#00FF00',
- 'ჯ閃éˆçµæ‰‹': '#00FF00',
- 'ã€åŒ¿åÅ】': '#941AE6',
- 'Rstar': '#B23AEE',
- 'æ°·': '#6A5ACD',
- 'ѤӖ*': '#6A5ACD',
- '✖抱æ‰': '#801288',
- '++': '#FF00FF',
- '★★': '#FFD700',
- 'â—â—': '#FF2200',
- '☆☆': '#FFFF00',
- '☣.+☠': '#FF0000',
- '○〇âƒâã…‡x2': '#4444FF',
- '・・': '#00FF00',
- 'â—Žâ—Ž': '#00FFFF',
- '??': '#FF6600',
- 'â–,â—†': '#FF0000',
- 'â–¡â–¡,ã…ã…': '#CCCCCC',
- '🔰': '#AAFFAA',
- 'ヴãƒï½': '#FFD700',
- '高登,HKG': '#FF6666',
- 'RTHK': '#FF6666',
- 'ç¿ å¦‚bb': '#FF6666',
- '貓肉çƒ': '#FF6666',
- 'ã€çƒŽã€‘': '#56ffff',
- 'ǺǤℂ✿': '#FF1493',
- '✿': '#FF1493',
- '푸,린딩': '#FF1493',
- 'í•œêµ': '#FF1493',
- '연연,맹합': '#FF1493',
- 'Ü̸̶ا١̸ּ': '#FF1493',
- '11ì¼,11TV': '#FF1493',
- 'S8': '#00FF00',
- 'V{OÔố}Z': '#66FF66',
- '{TV}ắ{IUT}': '#66FF66',
- '[vbt][ui]{aệ}': '#66FF66',
- 'GS': '#66FF66',
- 'å°è‡º,TW,æ¹¾ç£': '#EE7621',
- 'AUS': '#98d98e',
- 'å°‘ã—ã ã‚‹ã„ã•': '#ce12ce',
- '★': '#eeee11',
- 'SG': '#FF6600',
- };
- /*
- function updateLbDiv() {
- if($('#div_lb')['is'](':visible')) {
- var lbs = getLB(),
- vb = getSelfIDs(),
- vf = '';
- if(lbs) {
- for(var i = 0; i < lbs.length; i++) {
- for(var vh = 0, vd = 0; vd < vb.length; vd++) {
- if(vb[vd] == lbs[i]['id']) {
- vh = 1;
- break
- }
- }
- ;
- //vd = lbs[i]['name'] ? escapeHtml(lbs[i]['name']) : 'An unnamed cell';
- var pID = lbs[i].id;
- var info = gPlayerInfoDict[pID];
- vd = '';
- if(info){
- vd = info.team + info.name;
- }
- if(vd == ''){
- vd = 'An unnamed cell';
- }
- //var team = info ? info.team : '';
- //var name = info ? info.name : '';
- //vd = team + name;
- if(EnableLeaderboardTeamColoring){
- var col = "#FFFFFF";
- var name = vd;
- for(var key in leaderboardTeamColors){
- if(name.startsWith(key)){
- col = leaderboardTeamColors[key];
- }
- }
- //var col = 'red';
- //vf = vh ? vf + "<div class='self'>" :
- vf = vf + '<div style="color:' + col + '">';
- }else{
- vf = vh ? vf + "<div class='self'>" : vf + '<div>';
- }
- vf += i + 1 + '. ' + vd + '</div>'
- }
- }
- ;
- document.getElementById('lb_detail')['innerHTML'] = vf
- }
- ;
- //setTimeout(updateLbDiv, 1E3)
- }
- */
- function updateLbDiv2(lbs) {
- var block = '';
- leaderBoardList = [];
- for(var i = 0; i < lbs.length; i++) {
- var pid = lbs[i].pid;
- var score = lbs[i].score;
- //var info = gPlayerInfoDict[id];
- //var txt = info ? (info.team + info.name) : '#ERR';
- var cid = playerCoreManager.getCid(pid);
- var fullName = playerManager.getFullName(cid);
- leaderBoardList.push({
- cid: cid,
- name: fullName
- })
- }
- for(var i = 0; i < lbs.length; i++) {
- var pid = lbs[i].pid;
- var score = lbs[i].score;
- //var info = gPlayerInfoDict[id];
- //var txt = info ? (info.team + info.name) : '#ERR';
- var cid = playerCoreManager.getCid(pid);
- var txt = playerManager.getFullName(cid);
- //block += '<div>' + (i + 1) + '.' + txt + '</div>';
- //block += sform('<div>%o.%o</div>', i + 1, txt);
- //var team = playerManager.getTeam(id);
- //var col = teamManager.getColor(team);
- txt = txt.replace(/\<.*?\>/g, '');
- var teamId = playerManager.getTeamId(cid);
- var team = teamManager.getTeamName(teamId);
- var col = teamManager.getColor(teamId);
- if(gconfig.showPlayerMassInLeaderBoard) {
- block += `<div style="color:${col}">${i + 1}.${txt} -- ${score}</div>`;
- } else {
- block += `<div style="color:${col}">${i + 1}.${txt}</div>`;
- }
- }
- $('#lb_detail').html(block);
- }
- function formatString() {
- var str = arguments[0];
- var args = arguments.slice(1, arguments.length);
- //var pos = 0;
- for(var i = 0; i < args.length; i++) {
- //pos = str.indexOf('%o', pos);
- //str.
- str = str.replace('%o', args[i]);
- }
- }
- conn2.setLeaderboardListenerProc(updateLbDiv2);
- updateScoreDiv();
- function updateScoreDiv() {
- var score = getHighestScore(),
- cell = getCell(),
- vf = [];
- 0 != score && (myApp.isShowScroll && vf.push('Score: ' + ~~(score / 100)), cell && 0 < cell.length && (myApp.isShowSTE && (score = myApp.getSTE(cell), vf.push('STE: ' + score)), myApp.isShowBallTotal && vf.push('[' + cell.length + '/16]')));
- myApp.isShowFPS && (cell = getFPS(), 50 >= cell ? cell += 8 : 45 >= cell ? cell += 10 : 40 >= cell && (cell += 15), vf.push('FPS: ' + cell));
- isFreeSpec() && myApp.specTeammate && myApp.isStopMovement && nodeList[myApp.specTeammate] && vf.push('SPEC: ' + nodeList[myApp.specTeammate][1]);
- myApp.testing && vf.push('*** TESTING ***');
- 0 < vf.length ? ($('#div_score')['is'](':visible') || $('#div_score')['show'](), document.getElementById('div_score')['innerHTML'] = vf.join(' ')['trim']()) : $('#div_score')['hide']();
- setTimeout(updateScoreDiv, 500)
- }
- //$['cachedScript']('https://cdnjs.cloudflare.com/ajax/libs/jquery.perfect-scrollbar/0.6.8/js/min/perfect-scrollbar.jquery.min.js')['done'](function (va, vb) {
- $['cachedScript']('lib/perfect-scrollbar.jquery.min.js')['done'](function(va, vb) {
- chatRoom.createScrollBar()
- });
- //$['cachedScript']('http://extension.agarplus.io/jquery.toast.min.js')['done'](function (va, vb) {
- $['cachedScript']('lib/jquery.toast.min.js')['done'](function(va, vb) {
- for(var vf; vf = toastQueue.shift() ;) {
- chatRoom.popup(vf)
- }
- });
- $('#gamemode')['parent']()['append']('<div id="testing_div"> <div id="lbl_testing" style="height:20px;">Testing : </div><input value="' + testingVal + '" type="text" id="testing" class="form-control" placeholder="Testing data"></div>');
- $('#testing')['change'](function() {
- testingVal = Number($('#testing')['val']());
- console.log('testingVal=' + testingVal)
- });
- $('#testing_div')['hide']();
- $('.agario-profile-picture')['hide']();
- $('.agario-profile-name-container')['hide']();
- $('.agario-profile-panel')['click'](function() {
- $('.agario-profile-picture')['is'](':visible') ? ($('.agario-profile-picture')['hide'](), $('.agario-profile-name-container')['hide']()) : ($('.agario-profile-picture')['show'](), $('.agario-profile-name-container')['show']())
- });
- var handleResource = function(a, b) {
- q
- if(!a || !b) {
- console.log(' ** null in download object url, return;')
- } else {
- if(!customSkin[a]) {
- var img = new Image;
- img.onload = function() {
- customSkin[a] = this;
- myApp.getCustomSkinUrl() == a && myApp.changePreviewImage(this.src)
- };
- img.onerror = function() {
- window.URL['revokeObjectURL'](b);
- skinDownloadFail[a] = skinDownloadFail[a] ? skinDownloadFail[a] + 1 : 1;
- console.log('Load image error')
- };
- img.src = b
- }
- }
- };
- $('#backgroundColor')['minicolors']({
- defaultValue: getLocalStorage('backgroundColor') || '#000000',
- change: function(va, vb) {
- setLocalStorage('backgroundColor', va);
- $('body')['css']('background-color', va);
- //console.log('bgcol:' + va);
- }
- });
- $('body')['css']('background-color', getLocalStorage('backgroundColor') || '#000000');
- $('#borderColor')['minicolors']({
- defaultValue: getLocalStorage('borderColor') || '#ffffff',
- change: function(va, vb) {
- setLocalStorage('borderColor', va)
- }
- });
- $('#pelletColor')['minicolors']({
- defaultValue: getLocalStorage('pelletColor') || '#0849d4',
- change: function(va, vb) {
- setLocalStorage('pelletColor', va);
- $('.sender')['css']('color', va);
- $('.toast_sender')['css']('color', va);
- $('#div_lb .header')['css']('color', va)
- }
- });
- $('.sender')['css']('color', getLocalStorage('pelletColor') || '#0849d4');
- $('.toast_sender')['css']('color', getLocalStorage('pelletColor') || '#0849d4');
- $('#div_lb .header')['css']('color', getLocalStorage('pelletColor') || '#0849d4');
- }
- initialize_misc();
- //マウスæ“作補助機能ã®ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—, 400
- function initialize_mouse_support() {
- "use strict";
- //デãƒãƒƒã‚°è¡¨ç¤º
- function trace(s) {
- console.log(s);
- }
- //å³ã‚¯ãƒªãƒƒã‚¯ã«ã‚ˆã‚‹ã‚³ãƒ³ãƒ†ã‚ストメニュー表示を抑æ¢
- function setup_prevent_contextmenu() {
- $(document).on("contextmenu", function(event) {
- event.preventDefault();
- });
- }
- //仮想ã‚ーイベントを生æˆ
- function raise_virtual_key_event(char, is_press) {
- var type = is_press ? "keydown" : "keyup";
- var code = char.charCodeAt(0);
- $("body").trigger($.Event(type, { keyCode: code }));
- }
- //仮想ã‚ーストãƒãƒ¼ã‚¯ã‚’生æˆ
- function raise_virtual_key_stroke(char) {
- raise_virtual_key_event(char, true);
- raise_virtual_key_event(char, false);
- }
- //マウスã«ã‚ˆã‚‹æ“作
- function setup_mouse_handlers() {
- //マウスボタン定数
- var MouseButtonLeft = 1;
- var MouseButtonMiddle = 2;
- var MouseButtonRight = 3;
- //トリガ発行後ã€å‘¨æœŸçš„ã«ä¸€å®šå›žæ•°ã‚ーを連打ã™ã‚‹ã‚¯ãƒ©ã‚¹
- class FixedCountKeyRepeater {
- constructor(target_key, interval_ms, num_fires) {
- this.target_key = target_key;
- this.interval_ms = interval_ms;
- this.num_fires = num_fires;
- }
- trigger() {
- var count = 0;
- var self = this;
- var ti = setInterval(function() {
- raise_virtual_key_stroke(self.target_key);
- if(++count >= self.num_fires) {
- clearInterval(ti);
- }
- }, this.interval_ms);
- }
- }
- //åˆå›žãƒ‡ã‚£ãƒ¬ã‚¤ã¨å‘¨æœŸã‚’è¨å®šã—ã€ç¶™ç¶šçš„ã«ã‚ーを連打ã™ã‚‹ã‚¯ãƒ©ã‚¹
- class SlowStartKeyRepeater {
- constructor(target_key, first_delay_ms, interval_ms) {
- this.target_key = target_key;
- this.first_delay_ms = first_delay_ms;
- this.interval_ms = interval_ms;
- this.timer0 = null;
- this.timer1 = null;
- }
- start() {
- var self = this;
- var fire = function() {
- raise_virtual_key_stroke(self.target_key);
- }
- this.timer0 = setTimeout(function() {
- self.timer1 = setInterval(fire, self.interval_ms);
- }, this.first_delay_ms);
- fire();
- }
- stop() {
- if(this.timer0 !== null) {
- clearTimeout(this.timer0);
- this.timer0 = null;
- }
- if(this.timer1 !== null) {
- clearInterval(this.timer1);
- this.timer1 = null;
- }
- }
- }
- function is_overlays_visible() {
- return $("#overlays").css("display") === "block";
- }
- //æ“作を行ã†ãƒœã‚¿ãƒ³ã®å‰²ã‚Šå½“ã¦
- var btSplit = MouseButtonLeft;
- var btFeed = MouseButtonRight;
- var btQuickSplit = MouseButtonMiddle;
- /*
- if(SwapMouseButtonsLR) {
- btSplit = MouseButtonRight;
- btFeed = MouseButtonLeft;
- }
- */
- //if(MouseSupportEnabled) {
- //餌,ã‚ー連打機能インスタンス
- var krFeeding = new SlowStartKeyRepeater('W', 250, 5); //ã‚ー,åˆæœŸãƒ‡ã‚£ãƒ¬ã‚¤[ms],周期[ms]
- //16分裂,ã‚ー連打機能インスタンス
- var krQuickSplit = new FixedCountKeyRepeater(' ', 30, 10); //ã‚ー,周期[ms],回数
- var Feed_flg = 0;
- $(document).mousedown(function(ev) {
- if(is_overlays_visible()) return;
- var enabled = myApp.isEnableMouseControl;
- if(!enabled) return;
- //ボタン割り当ã¦æ›´æ–°
- var swapLR = myApp.swapMouseButtonsLR;
- btSplit = MouseButtonLeft;
- btFeed = MouseButtonRight;
- if(swapLR) {
- btSplit = MouseButtonRight;
- btFeed = MouseButtonLeft;
- }
- var bt = ev.which;
- if(bt == btSplit) {
- //分裂
- raise_virtual_key_stroke(" ");
- } else if(bt == btFeed) {
- //餌
- if(!Feed_flg) {
- krFeeding.start();
- Feed_flg = 1;
- }
- //ev.preventDefault();
- var selection = window.getSelection();
- selection.collapse(document.body, 0);
- } else if(bt == btQuickSplit) {
- //16分裂
- //krQuickSplit.trigger();
- window.quickSpace();
- }
- /*
- if(bt == MouseButtonRight) {
- //å³ã‚¯ãƒªãƒƒã‚¯æ™‚ã«,ãƒãƒ£ãƒƒãƒˆè¡¨ç¤ºãŒon/offã™ã‚‹ã®ã‚’常ã«è¡¨ç¤ºã§å›ºå®š
- $("#chatbox, #chatroom").css("display", "block");
- }*/
- });
- $(document).mouseup(function(ev) {
- var bt = ev.which;
- if(bt == btFeed) {
- krFeeding.stop();
- Feed_flg = 0;
- }
- ev.preventDefault();
- });
- $(document).on("dragend", function(e) {
- krFeeding.stop();
- });
- $(document).on("dragstart", function(e) {
- setTimeout(function() {
- var selection = window.getSelection();
- selection.collapse(document.body, 0);
- }, 10);
- });
- //}
- }
- //ç”»é¢ä¸å¿ƒã«ã‚¯ãƒã‚¹ãƒ˜ã‚¢ã‚’表示
- function setup_center_crosshair() {
- //ゲーム画é¢ã®æç”»ãŒä¹±ã‚Œã‚‹ãƒã‚°ãŒã‚ã‚‹ãŸã‚ç¾åœ¨æœªä½¿ç”¨
- var update_crosshair_canvas = function() {
- var canvas = $("#frontCanvas").get(0);
- canvas.width = window.innerWidth;
- canvas.height = window.innerHeight;
- var ctx = canvas.getContext('2d');
- var cx = canvas.width / 2;
- var cy = canvas.height / 2;
- var d = 100;
- ctx.strokeStyle = "#888";
- ctx.beginPath();
- ctx.moveTo(cx, cy - d);
- ctx.lineTo(cx, cy + d);
- ctx.moveTo(cx - d, cy);
- ctx.lineTo(cx + d, cy);
- ctx.closePath();
- ctx.stroke();
- };
- if(ShowCenterCrosshair) {
- $("body").append('<canvas id="frontCanvas" style="zposition: absolute; z-index:222; top : 0; pointer-events:none"/>');
- $("#frontCanvas").css("-webkit-user-select", "none");
- window.onresize = update_crosshair_canvas;
- update_crosshair_canvas();
- }
- }
- //ãƒãƒ£ãƒƒãƒˆãƒœãƒƒã‚¯ã‚¹ã‚’左上ã«å°ã•ã表示
- function update_chatbox_leftsmall() {
- //function update_chatroom_view() {
- var croom = $("#chatroom");
- croom.css("display", "block");
- croom.css("width", "150px");
- croom.css("height", "150px");
- croom.css("top", "50px");
- croom.css("left", "15px");
- //var span = $("#chatroom span");
- //span.css("font-size", "12px");
- //}
- //update_chatroom_view();
- //window.onresize = update_chatroom_view;
- //setInterval(update_chatroom_view, 1000);
- }
- //ãƒãƒ£ãƒƒãƒˆãƒœãƒƒã‚¯ã‚¹ã‚’下ã«æ¨ªé•·ã«è¡¨ç¤º
- function update_chatbox_bottom_horizontal() {
- //var croom = $("#chatbox, #chatroom");
- //croom.css("width", "750px");
- //croom.css("height", "100px");
- //function update_chatroom_view() {
- var cr_width = 750;
- var cr_height = 100;
- var chatroom = $("#chatbox, #chatroom");
- chatroom.css("width", cr_width + "px");
- chatroom.css("height", cr_height + "px");
- chatroom.css("display", "block");
- chatroom.css("min-height", "10px");
- chatroom.css("left", (window.innerWidth - cr_width) / 2);
- chatroom.css("top", window.innerHeight - cr_height - 25);
- //var span = $("#chatroom span");
- //span.css("font-size", "12px");
- //}
- //window.onresize = update_chatroom_view;
- //update_chatroom_view();
- //setInterval(update_chatroom_view, 100);
- }
- //ãƒãƒ£ãƒƒãƒˆãƒœãƒƒã‚¯ã‚¹ã®è¡¨ç¤ºã‚’調整
- function setup_chatbox_customized() {
- /*
- if(ChatDisplayMode === "Normal") {
- } else if(ChatDisplayMode === "LeftSmall") {
- setup_chatbox_leftsmall();
- } else if(ChatDisplayMode === "BottomHorizontal") {
- setup_chatbox_bottom_horizontal();
- }
- */
- //myApp.showChatAtBottom = false;
- var isBottom = myApp.showChatAtBottom;
- function arrange_chatroom_view() {
- if(isBottom) {
- update_chatbox_bottom_horizontal();
- } else {
- update_chatbox_leftsmall();
- }
- }
- setInterval(function() {
- if(myApp.showChatAtBottom !== isBottom) {
- isBottom = myApp.showChatAtBottom;
- arrange_chatroom_view();
- }
- }, 100);
- $(window).resize(function() {
- arrange_chatroom_view();
- //trace("resized");
- });
- arrange_chatroom_view();
- }
- //ダブルクリック時ã®ãƒžãƒƒãƒ—ã®é¸æŠžã‚’抑æ¢
- function setup_disable_user_select() {
- setInterval(function() {
- $("#minimap, #minimapNode").css("-webkit-user-select", "none");
- }, 1000);
- }
- //プライベートサーãƒãƒ¼ã«æŽ¥ç¶š
- function connect_to_private_server() {
- //setNickA();
- //var uri = modifyUrlForLocalhostConnection(gGameServerAddress);
- //connect(uri);
- connect(gGameServerAddress);
- }
- //ã‚ーボードã«ã‚ˆã‚‹æ“作
- function setup_key_handlers() {
- $(document).on('keydown', function(e) {
- var keyTab = 9;
- var keyF9 = 120;
- //var keyF2 = 113;
- var keyF4 = 115;
- //var keyF7 = 118;
- if(e.keyCode === keyF9) {
- //プライベートサーãƒãƒ¼ã«æŽ¥ç¶š
- //連打ã¯ã‚„ã‚ã¾ã—ょã†
- if(gIsPlaying) {
- myApp.onDead();
- }
- disconnect();
- setTimeout(() => {
- //setTimeout(() => {
- $("#overlays").show();
- connect_to_private_server();
- //}, 500);
- }, 3000);
- }
- // if(e.keyCode == keyF4) {
- // var fb = new DataFrameWriter();
- // fb.writeUint8(32);
- // conn2.sendWebSocketData(fb.getArrayBuffer());
- // }
- if(e.keyCode == keyTab) {
- var fb = new DataFrameWriter();
- fb.writeUint8(22);
- conn2.sendWebSocketData(fb.getArrayBuffer());
- e.preventDefault();
- return false;
- }
- });
- }
- //メインパãƒãƒ«,プãƒãƒ•ã‚¡ã‚¤ãƒ«ãƒ‘ãƒãƒ«ã®èª¿æ•´
- function setup_panel_customize() {
- //パーティートークン生æˆãƒœã‚¿ãƒ³ã‚’プライベートサーãƒãƒ¼æŽ¥ç¶šãƒœã‚¿ãƒ³ã«å¤‰æ›´
- //{
- // $(".createParty").remove();
- // $(".agarioProfilePanel").append("<button id='btConnect'></button>");
- // var bt = $("#btConnect");
- // bt.addClass("btn btn-primary");
- // bt.css("margin-bottom", "5px");
- // bt.css("font-family", "メイリオ");
- // bt.css("letter-spacing", "0px");
- // bt.css("height", "35px");
- // bt.text("プライベートサーãƒãƒ¼ã«æŽ¥ç¶š");
- // bt.on("click", function() {
- // connect_to_private_server();
- // });
- //}
- //$(".createParty").remove();
- //$(".btConnect").remove();
- //$(".agarioProfilePanel").css("padding-bottom", "45px");
- //リージョンをéžé¸æŠžã«ã™ã‚‹
- //$("#gamemode").val(":party");
- //サーãƒ,ゲームモードã®é¸æŠžã‚»ãƒ¬ã‚¯ã‚¿ã‚’削除
- //$("#region").remove();
- //$("#gamemode").remove();
- //Joinボタンを削除
- //$(".joinParty").remove();
- //ç”»é¢çœŸã‚“ä¸ã®åºƒå‘Šã‚’削除
- //$(".adsbygoogle").remove();
- //コードを入力
- //$(".partyToken").val(FixedPartyCode);
- //$(".btn-login").remove();
- //$(".btn-spectate").css("width", "100%");
- }
- //スã‚ンãŒãƒ—レビュー表示ã•ã‚Œãªã„å•é¡Œã®å¯¾ç–
- function setup_skin_preview_fix() {
- //オリジンãŒAgar.io以外ã®å ´åˆã«å•é¡ŒãŒãŠã“ã‚‹(?)
- //XMLHttpRequestを使ã‚ãšã€ç›´æŽ¥URL指定ã§è¡¨ç¤ºã™ã‚‹ã‚ˆã†ã«èª¿æ•´
- function update_skin_preview() {
- var ref_img = localStorage.getItem("skin_url");
- var img = $("#preview-img")[0];
- if(img.src !== ref_img) {
- img.src = ref_img;
- }
- }
- function update_skin_preview2() {
- var ref_img2 = localStorage.getItem("skin_url2");
- var img2 = $("#preview-img2")[0];
- if(img2.src !== ref_img2) {
- img2.src = ref_img2;
- }
- }
- //$(window).bind("storage", function(e) {
- // trace(e.originalEvent.key, e.originalEvent.newValue);
- // update_skin_preview();
- // //console.log(e.)
- //});
- //setInterval(function() {
- // update_skin_preview();
- //}, 200);
- //$("#profile-pic div.nav2").on("click", function() {
- // update_skin_preview();
- //});
- $("#skin_url").on("change", function() {
- update_skin_preview();
- });
- $("#skin_url2").on("change", function() {
- update_skin_preview2();
- });
- update_skin_preview();
- update_skin_preview2();
- }
- //function setup_remote_console() {
- // function openRemoteConsoleWindow() {
- // //trace('open remote console');
- // window.GameServerAddress = modifyUrlForLocalhostConnection(GameServerAddress);
- // window.open('remote_console.html', 'remote console', 'width=600, height=600, menubar=no, toolbar=no, scrollbars=no');
- // }
- // $(window).on('keydown', function(e) {
- // var key = e.keyCode;
- // var kF10 = 121;
- // //var kEnter = 13;
- // if(e.shiftKey && key == kF10 && RemoteConsoleEnabled) {
- // openRemoteConsoleWindow();
- // }
- // });
- //}
- function setup_players_count_view() {
- /*
- function XMLHttpRequestCreate(){
- try{
- return new XMLHttpRequest();
- }catch(e){}
- try{
- return new ActiveXObject('MSXML2.XMLHTTP.6.0');
- }catch(e){}
- try{
- return new ActiveXObject('MSXML2.XMLHTTP.3.0');
- }catch(e){}
- try{
- return new ActiveXObject('MSXML2.XMLHTTP');
- }catch(e){}
- return null;
- }
- var xhr = XMLHttpRequestCreate();
- xhr.onreadystatechange = function (){
- switch(xhr.readyState){
- case 4:
- if(xhr.status != 0){
- if((200 <= xhr.status && xhr.status < 300) || (xhr.status == 304)){
- var Data = JSON.parse(xhr.responseText);
- document.getElementById('pinfo')['innerHTML'] = "<center>"+Data.current_players + "/" + Data.max_players + " (play=" + Data.alive + " + spec=" + Data.spectators + ") " + "</center>";
- }
- }
- break;
- }
- };
- setInterval(function(){
- var uri = modifyUrlForLocalhostConnection(StatusServerAddress);
- xhr.open('POST', uri);
- /*
- if( window.location.search == "?localhost=1" ){
- var port = Status_Server.split(":",2)[1];
- xhr.open("POST" ,"http://localhost:" + port);
- }else{
- xhr.open("POST" ,"http://" + Status_Server);
- }
- xhr.send();
- }, 3000);
- */
- conn2.setStatsListenerProc(function(s) {
- var text = `<center> ${s.clients} / ${s.max_clients} (play:${s.players}, spec:${s.spectators}), bot:${s.bots} </center>`;
- //document.getElementById('pinfo')['innerHTML'] = "<center>"+s.current_players + "/" + s.max_players + " (play=" + s.alive + " + spec=" + s.spectators + ") " + "</center>";
- $('#pinfo').html(text);
- });
- }
- //trace("agar.io mouse support tool, v1_160512_A127");
- setup_prevent_contextmenu();
- setup_mouse_handlers();
- setup_key_handlers();
- setup_disable_user_select();
- setup_chatbox_customized();
- //setup_center_crosshair();
- setup_panel_customize();
- //connect_to_private_server();
- setup_skin_preview_fix();
- //document.title = WebPageTitle;
- //setup_remote_console();
- setup_players_count_view();
- }
- initialize_mouse_support();
- function initialize_team_buttons() {
- var bt0 = $('#btTeam1');
- var bt1 = $('#btTeam2');
- function activateDuelTeamButton(idx) {
- if(idx == 0) {
- bt0.addClass('active');
- bt1.removeClass('active');
- } else {
- bt1.addClass('active');
- bt0.removeClass('active');
- }
- gDuelTeamInputIndex = idx;
- //setNickB();
- }
- bt0.on('click', function(e) {
- activateDuelTeamButton(0);
- return false;
- });
- bt1.on('click', function(e) {
- activateDuelTeamButton(1);
- return false;
- });
- var rr = Math.random();
- var idx = rr < 0.5 ? 0 : 1;
- activateDuelTeamButton(idx);
- //setTimeout(setNickB, 500);
- //setNickB();
- }
- gConfigChangedHandlerProc = () => {
- $('#lb_caption').html(gconfig.leaderboardCaption);
- $('#lb_caption2').html(gconfig.teamRankingCaption);
- var uiNickContainer = $('#nickContainer');
- var uiTeamNameContainer = $('#teamNameContainer');
- var uiDivTeamText = $('#divTeamText');
- var uiDivTeamButtons = $('#divTeamButtons');
- var uiDivTeamCombo = $('#divTeamCombo');
- //var uiTeamName = $('team_name');
- //var uiBtTeam1 = $('btTeam1');
- //var uiBtTeam2 = $('btTeam2');
- var teamUiType = gconfig.teamInputUiType;
- if(teamUiType == 'none') {
- uiTeamNameContainer.hide();
- uiNickContainer.css('width', '100%');
- uiNickContainer.css('float', 'left');
- } else {
- uiTeamNameContainer.show();
- uiNickContainer.css('width', '69%');
- uiNickContainer.css('float', 'right');
- }
- if(teamUiType == 'text') {
- uiDivTeamText.show();
- uiDivTeamButtons.hide();
- uiDivTeamCombo.hide();
- } else if(teamUiType == 'duel') {
- uiDivTeamText.hide();
- uiDivTeamButtons.show();
- uiDivTeamCombo.hide();
- var teams = gconfig.duelTeamEntries.split(',');
- $('#btTeam1').html((teams[0] || '-').replace(/[ã€ã€‘]/g, ''));
- $('#btTeam2').html((teams[1] || '-').replace(/[ã€ã€‘]/g, ''));
- } else if(teamUiType == 'combo') {
- uiDivTeamText.hide();
- uiDivTeamButtons.hide();
- uiDivTeamCombo.show();
- var teams = gconfig.comboTeamEntries.split(',');
- $('#team_combo_box > option').remove();
- for(var team of teams) {
- $('#team_combo_box').append($('<option>').html(team).val(team));
- }
- var refVal = localStorage.getItem('teamComboBoxVal');
- if(teams.indexOf(refVal) == -1) {
- refVal = teams[0];
- }
- $('#team_combo_box').val(refVal);
- }
- if(gconfig.enablePartyCode) {
- $('.partyToken').show();
- } else {
- $('.partyToken').hide();
- $(".partyToken").val("");
- }
- if(gconfig.enableTeamRankingBoard) {
- $('#div_lb2').show();
- } else {
- $('#div_lb2').hide();
- }
- if(gconfig.enableDualSkinInput) {
- $('#preview-img-area2').show();
- $('#skin_url2').show();
- // $('#opt_active_turn_marker').show();
- } else {
- $('#preview-img-area2').hide();
- $('#skin_url2').hide();
- // $('#opt_active_turn_marker').hide();
- }
- if(gconfig.showServerDebugStatusTexts) {
- $("#server_debug_status_texts_box").show();
- } else {
- $("#server_debug_status_texts_box").hide();
- }
- if(gconfig.useExtendedChatSystem || gconfig_ex.ForceChatIconShow){
- $("#ex_chat_icon").show();
- $("#ex_chat_badge").css('opacity', 1);
- }else{
- $("#ex_chat_icon").hide();
- $("#ex_chat_badge").css('opacity', 0);
- }
- if(GamePresetConfig.EnableTeamRankingChart){
- $("#lb_canvas_chart").show();
- }else{
- $("#lb_canvas_chart").hide();
- }
- window.clearNickEntryCash();
- window.setNickB();
- }
- //if(gconfig.teamInputUiType == 'duel'){
- initialize_team_buttons();
- //}
- // if(ShowExternalServerLinks){
- // $('#ex_server_links').show();
- // }
- //setTimeout(() =>{
- // window.clearNickEntryCash();
- // window.setNickB();
- // console.log('name set');
- //}, 2000);
- function adjustTexts() {
- $('#theme_bg_color').text(gtexts.tmBackground);
- $('#theme_border_color').text(gtexts.tmBorder);
- $('#theme_pellet_color').text(gtexts.tmPellet);
- $('#tab_home').html(gtexts.tabHome);
- $('#tab_settings').html(gtexts.tabSettings);
- $('#tab_theme').html(gtexts.tabTemes);
- $('#tab_hotkeys').html(gtexts.tabKeybinds);
- $('#tab_extended').html(gtexts.tabExtended);
- $('.btn-play').text(gtexts.btPlay);
- $('.btn-spectate').text(gtexts.btSpectate);
- $('#full_list_link').html(gtexts.lnkServerFullList);
- $('#server_program').html(gtexts.lnkServerProgram);
- $('#link_user_form').html(gtexts.lnkUserForum);
- var sz = (glang == 'en') ? '13px' : '14px';
- $('.nav-tabs > li > a').css('font-size', sz);
- }
- adjustTexts();
- function setupLatencyChecker() {
- setIntervalEx(() => {
- if(!gIsConnected) return;
- var startTime = new Date();
- conn2.checkLatencyAsync(() => {
- var endTime = new Date();
- var dur = Math.floor(endTime - startTime);
- //console.log();
- $('#latency_box').html(`latency: ${dur} ms`);
- });
- }, 1000);
- }
- setupLatencyChecker();
- //SetupConnection();
- }
Add Comment
Please, Sign In to add comment